<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="52">
  <CheatEntries>
    <CheatEntry>
      <ID>39</ID>
      <Description>"━━━━━━━━ Ridge Racer™ Unbounded ━━━━━━━━"</Description>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>3746</ID>
      <Description>"━━━━━━━━ 🖥️ COMPACT VIEW ━━━━━━━━"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
// Script Created By mgr.inz.Player On CE Forums
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 NoCheckbox="1">
      <ID>1337187108</ID>
      <Description>""</Description>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>40</ID>
      <Description>"━━━━━━━━ 🧍 PLAYER ━━━━━━━━"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>21</ID>
          <Description>"Always 1st"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{
==============================================
         Header Changer by SeryogaSK
  ----------------------------------------------
	Process				: RRU.exe
	Game Title 			: Ridge Racer™ Unbounded
	Game Version		: 1.13
	Author				: SeryogaSK
  ----------------------------------------------
   Warning: Online use may trigger anti-cheat!
  ==============================================
}

[ENABLE]

aobscanmodule(ply_alfirstin,RRU.exe,8B 48 04 03 D7 39 51 10 7E ** 8B CE E8 ** ** ** ** 84 C0) // should be unique
alloc(newmem,$1000,ply_alfirstin)

label(code)
label(return)

newmem:

code:
  mov ecx,[eax+04]
  add edx,edi
  mov [ecx+10],#1
  cmp [ecx+10],edx
  jmp return

ply_alfirstin:
  jmp newmem
  nop 3
return:
registersymbol(ply_alfirstin)

[DISABLE]

ply_alfirstin:
  db 8B 48 04 03 D7 39 51 10

unregistersymbol(ply_alfirstin)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: RRU.exe+1153DB

RRU.exe+1153C1: 7E 0F              - jle RRU.exe+1153D2
RRU.exe+1153C3: 0F B7 D2           - movzx edx,dx
RRU.exe+1153C6: 85 D1              - test ecx,edx
RRU.exe+1153C8: 74 01              - je RRU.exe+1153CB
RRU.exe+1153CA: 47                 - inc edi
RRU.exe+1153CB: D1 C1              - rol ecx,1
RRU.exe+1153CD: 83 E8 01           - sub eax,01
RRU.exe+1153D0: 75 F4              - jne RRU.exe+1153C6
RRU.exe+1153D2: 8B 96 B8 00 00 00  - mov edx,[esi+000000B8]
RRU.exe+1153D8: 8B 46 68           - mov eax,[esi+68]
// ---------- INJECTING HERE ----------
RRU.exe+1153DB: 8B 48 04           - mov ecx,[eax+04]
// ---------- DONE INJECTING  ----------
RRU.exe+1153DE: 03 D7              - add edx,edi
RRU.exe+1153E0: 39 51 10           - cmp [ecx+10],edx
RRU.exe+1153E3: 7E 3D              - jle RRU.exe+115422
RRU.exe+1153E5: 8B CE              - mov ecx,esi
RRU.exe+1153E7: E8 D4 05 00 00     - call RRU.exe+1159C0
RRU.exe+1153EC: 84 C0              - test al,al
RRU.exe+1153EE: 74 32              - je RRU.exe+115422
RRU.exe+1153F0: 3B BE B0 00 00 00  - cmp edi,[esi+000000B0]
RRU.exe+1153F6: 7D 2A              - jnl RRU.exe+115422
RRU.exe+1153F8: 8B 55 08           - mov edx,[ebp+08]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>25</ID>
          <Description>"Boost"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{
==============================================
         Header Changer by SeryogaSK
  ----------------------------------------------
	Process				: RRU.exe
	Game Title 			: Ridge Racer™ Unbounded
	Game Version		: 1.13
	Author				: SeryogaSK
  ----------------------------------------------
   Warning: Online use may trigger anti-cheat!
  ==============================================
}

[ENABLE]

aobscanmodule(ply_boostin,RRU.exe,D8 58 10 DF E0 F6 C4 41 7A ** B8 01 00 00 00) // should be unique
alloc(newmem,$1000,ply_boostin)

label(code)
label(return)

newmem:
cmp [edx+80],0 //Player
//cmp [eax+230],0 //Player
jne code
mov dword ptr [eax+10],(float)1
fcomp dword ptr [eax+10]
  fnstsw ax
  jmp return
code: //Enemy
mov [eax+10],(float)0
  fcomp dword ptr [eax+10]
  fnstsw ax
  jmp return

ply_boostin:
  jmp newmem
return:
registersymbol(ply_boostin)

[DISABLE]

ply_boostin:
  db D8 58 10 DF E0

unregistersymbol(ply_boostin)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: RRU.exe+5608F3

RRU.exe+5608C6: 80 78 10 00           - cmp byte ptr [eax+10],00
RRU.exe+5608CA: 75 37                 - jne RRU.exe+560903
RRU.exe+5608CC: 83 B9 28 01 00 00 00  - cmp dword ptr [ecx+00000128],00
RRU.exe+5608D3: 75 2E                 - jne RRU.exe+560903
RRU.exe+5608D5: 8B 91 44 01 00 00     - mov edx,[ecx+00000144]
RRU.exe+5608DB: 80 BA 84 00 00 00 00  - cmp byte ptr [edx+00000084],00
RRU.exe+5608E2: 75 1F                 - jne RRU.exe+560903
RRU.exe+5608E4: 8B 81 78 01 00 00     - mov eax,[ecx+00000178]
RRU.exe+5608EA: 8B 89 B4 00 00 00     - mov ecx,[ecx+000000B4]
RRU.exe+5608F0: D9 41 10              - fld dword ptr [ecx+10]
// ---------- INJECTING HERE ----------
RRU.exe+5608F3: D8 58 10              - fcomp dword ptr [eax+10]
// ---------- DONE INJECTING  ----------
RRU.exe+5608F6: DF E0                 - fnstsw ax
RRU.exe+5608F8: F6 C4 41              - test ah,41
RRU.exe+5608FB: 7A 06                 - jp RRU.exe+560903
RRU.exe+5608FD: B8 01 00 00 00        - mov eax,00000001
RRU.exe+560902: C3                    - ret 
RRU.exe+560903: 33 C0                 - xor eax,eax
RRU.exe+560905: C3                    - ret 
RRU.exe+560906: CC                    - int 3 
RRU.exe+560907: CC                    - int 3 
RRU.exe+560908: CC                    - int 3 
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry NoCheckbox="1">
          <ID>35</ID>
          <Description>""</Description>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>11</ID>
          <Description>"Frag Points"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{
==============================================
         Header Changer by SeryogaSK
  ----------------------------------------------
	Process				: RRU.exe
	Game Title 			: Ridge Racer™ Unbounded
	Game Version		: 1.13
	Author				: SeryogaSK
  ----------------------------------------------
   Warning: Online use may trigger anti-cheat!
  ==============================================
}
[ENABLE]

aobscanmodule(ply_killpoints,RRU.exe,FF 43 10 8B 4E 70 8B 14 B9 8B 5A 14 6A 00) // should be unique
alloc(newmem,$1000,ply_killpoints)
alloc(frag_killz,8)
registersymbol(frag_killz)

label(code)
label(return)

newmem:
mov [frag_killz],ebx
//add [ebx+10],#2
code:
  inc [ebx+10]
  mov ecx,[esi+70]
  jmp return

ply_killpoints:
  jmp newmem
  nop
return:
registersymbol(ply_killpoints,frag_killz)

[DISABLE]

ply_killpoints:
  db FF 43 10 8B 4E 70

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: RRU.exe+55834F

RRU.exe+558331: FF 43 10        - inc [ebx+10]
RRU.exe+558334: 57              - push edi
RRU.exe+558335: 8D 4E 60        - lea ecx,[esi+60]
RRU.exe+558338: E8 23 43 02 00  - call RRU.exe+57C660
RRU.exe+55833D: 8B 56 70        - mov edx,[esi+70]
RRU.exe+558340: 8B 04 BA        - mov eax,[edx+edi*4]
RRU.exe+558343: 8B 58 04        - mov ebx,[eax+04]
RRU.exe+558346: 6A 00           - push 00
RRU.exe+558348: 8B CB           - mov ecx,ebx
RRU.exe+55834A: E8 A1 57 D4 FF  - call RRU.exe+29DAF0
// ---------- INJECTING HERE ----------
RRU.exe+55834F: FF 43 10        - inc [ebx+10]
// ---------- DONE INJECTING  ----------
RRU.exe+558352: 8B 4E 70        - mov ecx,[esi+70]
RRU.exe+558355: 8B 14 B9        - mov edx,[ecx+edi*4]
RRU.exe+558358: 8B 5A 14        - mov ebx,[edx+14]
RRU.exe+55835B: 6A 00           - push 00
RRU.exe+55835D: 8B CB           - mov ecx,ebx
RRU.exe+55835F: E8 8C 57 D4 FF  - call RRU.exe+29DAF0
RRU.exe+558364: 8B 45 08        - mov eax,[ebp+08]
RRU.exe+558367: 8A 4D F8        - mov cl,[ebp-08]
RRU.exe+55836A: 6A 00           - push 00
RRU.exe+55836C: 6A 00           - push 00
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry NoCheckbox="1">
              <ID>19</ID>
              <Description>"├─ do 1 Kill for see Value"</Description>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>18</ID>
              <Description>"└─ Kills"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>frag_killz</Address>
              <Offsets>
                <Offset>10</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>15</ID>
          <Description>"Frag Timer"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{
==============================================
         Header Changer by SeryogaSK
  ----------------------------------------------
	Process				: RRU.exe
	Game Title 			: Ridge Racer™ Unbounded
	Game Version		: 1.13
	Author				: SeryogaSK
  ----------------------------------------------
   Warning: Online use may trigger anti-cheat!
  ==============================================
}
[ENABLE]

aobscanmodule(ply_kiltimers,RRU.exe,29 7B 10 29 BE CC 00 00 00) // should be unique
alloc(newmem,$1000,ply_kiltimers)
alloc(frag_timerz,8)
registersymbol(frag_timerz)

label(code)
label(return)

newmem:
mov [frag_timerz],ebx

code:
  sub [ebx+10],edi
  sub [esi+000000CC],edi
  jmp return

ply_kiltimers:
  jmp newmem
  nop 4
return:
registersymbol(ply_kiltimers,frag_timerz)

[DISABLE]

ply_kiltimers:
  db 29 7B 10 29 BE CC 00 00 00

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: RRU.exe+5566D0

RRU.exe+5566B1: 8B 3A                 - mov edi,[edx]
RRU.exe+5566B3: 85 C0                 - test eax,eax
RRU.exe+5566B5: 7E 0A                 - jle RRU.exe+5566C1
RRU.exe+5566B7: 2B C7                 - sub eax,edi
RRU.exe+5566B9: 89 86 F4 00 00 00     - mov [esi+000000F4],eax
RRU.exe+5566BF: EB 18                 - jmp RRU.exe+5566D9
RRU.exe+5566C1: 8B 9E D8 00 00 00     - mov ebx,[esi+000000D8]
RRU.exe+5566C7: 6A 00                 - push 00
RRU.exe+5566C9: 8B CB                 - mov ecx,ebx
RRU.exe+5566CB: E8 20 74 D4 FF        - call RRU.exe+29DAF0
// ---------- INJECTING HERE ----------
RRU.exe+5566D0: 29 7B 10              - sub [ebx+10],edi
// ---------- DONE INJECTING  ----------
RRU.exe+5566D3: 29 BE CC 00 00 00     - sub [esi+000000CC],edi
RRU.exe+5566D9: 8B 86 D8 00 00 00     - mov eax,[esi+000000D8]
RRU.exe+5566DF: 29 BE D0 00 00 00     - sub [esi+000000D0],edi
RRU.exe+5566E5: 83 78 10 00           - cmp dword ptr [eax+10],00
RRU.exe+5566E9: 7F 42                 - jg RRU.exe+55672D
RRU.exe+5566EB: 8B BE E0 00 00 00     - mov edi,[esi+000000E0]
RRU.exe+5566F1: 6A 00                 - push 00
RRU.exe+5566F3: 8B CF                 - mov ecx,edi
RRU.exe+5566F5: E8 F6 73 D4 FF        - call RRU.exe+29DAF0
RRU.exe+5566FA: C7 47 10 03 00 00 00  - mov [edi+10],00000003
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>17</ID>
              <Description>"└─ Timer"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>frag_timerz</Address>
              <Offsets>
                <Offset>10</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry NoCheckbox="1">
          <ID>1337187110</ID>
          <Description>""</Description>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>30</ID>
          <Description>"Drift Points"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{
==============================================
         Header Changer by SeryogaSK
  ----------------------------------------------
	Process				: RRU.exe
	Game Title 			: Ridge Racer™ Unbounded
	Game Version		: 1.13
	Author				: SeryogaSK
  ----------------------------------------------
   Warning: Online use may trigger anti-cheat!
  ==============================================
}
[ENABLE]

aobscanmodule(ply_drfitpoints,RRU.exe,01 5F 10 8B BE E8 00 00 00 6A 00 8B CF) // should be unique
alloc(newmem,$1000,ply_drfitpoints)
alloc(drift_pointz,8)
registersymbol(drift_pointz)

label(code)
label(return)

newmem:
mov [drift_pointz],edi

code:
  add [edi+10],ebx
  mov edi,[esi+000000E8]
  jmp return

ply_drfitpoints:
  jmp newmem
  nop 4
return:
registersymbol(ply_drfitpoints,drift_pointz)

[DISABLE]

ply_drfitpoints:
  db 01 5F 10 8B BE E8 00 00 00

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: RRU.exe+552FF0

RRU.exe+552FC6: 0F 8E 8C 00 00 00  - jng RRU.exe+553058
RRU.exe+552FCC: 8D 64 24 00        - lea esp,[esp+00]
RRU.exe+552FD0: 8B 86 A0 00 00 00  - mov eax,[esi+000000A0]
RRU.exe+552FD6: 8B 48 10           - mov ecx,[eax+10]
RRU.exe+552FD9: 8B BE E0 00 00 00  - mov edi,[esi+000000E0]
RRU.exe+552FDF: 29 4E 78           - sub [esi+78],ecx
RRU.exe+552FE2: 6A 00              - push 00
RRU.exe+552FE4: 8B CF              - mov ecx,edi
RRU.exe+552FE6: E8 05 AB D4 FF     - call RRU.exe+29DAF0
RRU.exe+552FEB: BB 01 00 00 00     - mov ebx,00000001
// ---------- INJECTING HERE ----------
RRU.exe+552FF0: 01 5F 10           - add [edi+10],ebx
// ---------- DONE INJECTING  ----------
RRU.exe+552FF3: 8B BE E8 00 00 00  - mov edi,[esi+000000E8]
RRU.exe+552FF9: 6A 00              - push 00
RRU.exe+552FFB: 8B CF              - mov ecx,edi
RRU.exe+552FFD: E8 EE AA D4 FF     - call RRU.exe+29DAF0
RRU.exe+553002: 01 5F 10           - add [edi+10],ebx
RRU.exe+553005: D9 86 C8 00 00 00  - fld dword ptr [esi+000000C8]
RRU.exe+55300B: D8 46 70           - fadd dword ptr [esi+70]
RRU.exe+55300E: D9 5E 70           - fstp dword ptr [esi+70]
RRU.exe+553011: 8B 96 A0 00 00 00  - mov edx,[esi+000000A0]
RRU.exe+553017: 8B 46 78           - mov eax,[esi+78]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry NoCheckbox="1">
              <ID>1337187109</ID>
              <Description>"├─ do Point for see Value"</Description>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>31</ID>
              <Description>"└─ Points"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>drift_pointz</Address>
              <Offsets>
                <Offset>10</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>27</ID>
          <Description>"Drift Timer"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{
==============================================
         Header Changer by SeryogaSK
  ----------------------------------------------
	Process				: RRU.exe
	Game Title 			: Ridge Racer™ Unbounded
	Game Version		: 1.13
	Author				: SeryogaSK
  ----------------------------------------------
   Warning: Online use may trigger anti-cheat!
  ==============================================
}
[ENABLE]

aobscanmodule(ply_drifttimerz,RRU.exe,29 5F 10 01 5E 64 8B 46 64 8B 8E C0 00 00 00) // should be unique
alloc(newmem,$1000,ply_drifttimerz)
alloc(drift_timer,8)
registersymbol(drift_timer)

label(code)
label(return)

newmem:
mov [drift_timer],edi

code:
  sub [edi+10],ebx
  add [esi+64],ebx
  jmp return

ply_drifttimerz:
  jmp newmem
  nop
return:
registersymbol(ply_drifttimerz,drift_timer)

[DISABLE]

ply_drifttimerz:
  db 29 5F 10 01 5E 64

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: RRU.exe+552F26

RRU.exe+552F06: 80 79 10 00        - cmp byte ptr [ecx+10],00
RRU.exe+552F0A: 0F 85 7A 01 00 00  - jne RRU.exe+55308A
RRU.exe+552F10: 8B 55 08           - mov edx,[ebp+08]
RRU.exe+552F13: 53                 - push ebx
RRU.exe+552F14: 8B 1A              - mov ebx,[edx]
RRU.exe+552F16: 57                 - push edi
RRU.exe+552F17: 8B BE D8 00 00 00  - mov edi,[esi+000000D8]
RRU.exe+552F1D: 6A 00              - push 00
RRU.exe+552F1F: 8B CF              - mov ecx,edi
RRU.exe+552F21: E8 CA AB D4 FF     - call RRU.exe+29DAF0
// ---------- INJECTING HERE ----------
RRU.exe+552F26: 29 5F 10           - sub [edi+10],ebx
// ---------- DONE INJECTING  ----------
RRU.exe+552F29: 01 5E 64           - add [esi+64],ebx
RRU.exe+552F2C: 8B 46 64           - mov eax,[esi+64]
RRU.exe+552F2F: 8B 8E C0 00 00 00  - mov ecx,[esi+000000C0]
RRU.exe+552F35: 3B 41 10           - cmp eax,[ecx+10]
RRU.exe+552F38: 7E 4B              - jle RRU.exe+552F85
RRU.exe+552F3A: 01 9E C4 00 00 00  - add [esi+000000C4],ebx
RRU.exe+552F40: 8B 8E C4 00 00 00  - mov ecx,[esi+000000C4]
RRU.exe+552F46: 8B 86 B8 00 00 00  - mov eax,[esi+000000B8]
RRU.exe+552F4C: 3B 48 10           - cmp ecx,[eax+10]
RRU.exe+552F4F: 7E 34              - jle RRU.exe+552F85
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>28</ID>
              <Description>"└─ Timer"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>drift_timer</Address>
              <Offsets>
                <Offset>10</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry NoCheckbox="1">
          <ID>36</ID>
          <Description>""</Description>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>32</ID>
          <Description>"Attack Timer"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{
==============================================
         Header Changer by SeryogaSK
  ----------------------------------------------
	Process				: RRU.exe
	Game Title 			: Ridge Racer™ Unbounded
	Game Version		: 1.13
	Author				: SeryogaSK
  ----------------------------------------------
   Warning: Online use may trigger anti-cheat!
  ==============================================
}
[ENABLE]

aobscanmodule(ply_timerattacks,RRU.exe,8B 8E A4 00 00 00 29 9E 98 00 00 00 2B 48 10) // should be unique
alloc(newmem,$1000,ply_timerattacks)
alloc(ply_atktimer,8)
registersymbol(ply_atktimer)

label(code)
label(return)

newmem:
mov [ply_atktimer],eax

code:
  mov ecx,[esi+000000A4]
  sub [esi+00000098],ebx
  sub ecx,[eax+10]
  jmp return

ply_timerattacks:
  jmp newmem
  nop A
return:
registersymbol(ply_timerattacks,ply_atktimer)

[DISABLE]

ply_timerattacks:
  db 8B 8E A4 00 00 00 29 9E 98 00 00 00 2B 48 10

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: RRU.exe+55428C

RRU.exe+554274: 53                    - push ebx
RRU.exe+554275: 8B 1A                 - mov ebx,[edx]
RRU.exe+554277: 57                    - push edi
RRU.exe+554278: 7F 0F                 - jg RRU.exe+554289
RRU.exe+55427A: 8B 7E 68              - mov edi,[esi+68]
RRU.exe+55427D: 6A 00                 - push 00
RRU.exe+55427F: 8B CF                 - mov ecx,edi
RRU.exe+554281: E8 6A 98 D4 FF        - call RRU.exe+29DAF0
RRU.exe+554286: 01 5F 10              - add [edi+10],ebx
RRU.exe+554289: 8B 46 68              - mov eax,[esi+68]
// ---------- INJECTING HERE ----------
RRU.exe+55428C: 8B 8E A4 00 00 00     - mov ecx,[esi+000000A4]
// ---------- DONE INJECTING  ----------
RRU.exe+554292: 29 9E 98 00 00 00     - sub [esi+00000098],ebx
RRU.exe+554298: 2B 48 10              - sub ecx,[eax+10]
RRU.exe+55429B: 89 4D 08              - mov [ebp+08],ecx
RRU.exe+55429E: 79 65                 - jns RRU.exe+554305
RRU.exe+5542A0: 8D 55 08              - lea edx,[ebp+08]
RRU.exe+5542A3: 8D BE 88 00 00 00     - lea edi,[esi+00000088]
RRU.exe+5542A9: 52                    - push edx
RRU.exe+5542AA: 8B CF                 - mov ecx,edi
RRU.exe+5542AC: C7 45 08 02 00 00 00  - mov [ebp+08],00000002
RRU.exe+5542B3: E8 18 23 BC FF        - call RRU.exe+1165D0
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>33</ID>
              <Description>"└─ Timer"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>ply_atktimer</Address>
              <Offsets>
                <Offset>10</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry NoCheckbox="1">
          <ID>37</ID>
          <Description>""</Description>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>3757</ID>
      <Description>"━━━━━━━━ 🔧 DEBUG ━━━━━━━━━"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>20</ID>
          <Description>"1st backup"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{
  ==============================================
         Header Changer by SeryogaSK
  ----------------------------------------------
	Process				: RRU.exe
	Game Title 			: Ridge Racer™ Unbounded
	Game Version		: 1.13
	Author				: SeryogaSK
  ----------------------------------------------
   Warning: Online use may trigger anti-cheat!
  ==============================================
}
[ENABLE]

aobscanmodule(ply_firstalways,RRU.exe,39 51 10 7E ** 8B CE E8 ** ** ** ** 84 C0 74 ** 3B BE B0 00 00 00) // should be unique
alloc(newmem,$1000,ply_firstalways)

label(code)
label(return)

newmem:
mov [ecx+10],#1
code:
  cmp [ecx+10],edx
  jle RRU.exe+115422
  jmp return

ply_firstalways:
  jmp newmem
return:
registersymbol(ply_firstalways)

[DISABLE]

ply_firstalways:
  db 39 51 10 7E 3D

unregistersymbol(ply_firstalways)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: RRU.exe+1153E0

RRU.exe+1153C6: 85 D1              - test ecx,edx
RRU.exe+1153C8: 74 01              - je RRU.exe+1153CB
RRU.exe+1153CA: 47                 - inc edi
RRU.exe+1153CB: D1 C1              - rol ecx,1
RRU.exe+1153CD: 83 E8 01           - sub eax,01
RRU.exe+1153D0: 75 F4              - jne RRU.exe+1153C6
RRU.exe+1153D2: 8B 96 B8 00 00 00  - mov edx,[esi+000000B8]
RRU.exe+1153D8: 8B 46 68           - mov eax,[esi+68]
RRU.exe+1153DB: 8B 48 04           - mov ecx,[eax+04]
RRU.exe+1153DE: 03 D7              - add edx,edi
// ---------- INJECTING HERE ----------
RRU.exe+1153E0: 39 51 10           - cmp [ecx+10],edx
// ---------- DONE INJECTING  ----------
RRU.exe+1153E3: 7E 3D              - jle RRU.exe+115422
RRU.exe+1153E5: 8B CE              - mov ecx,esi
RRU.exe+1153E7: E8 D4 05 00 00     - call RRU.exe+1159C0
RRU.exe+1153EC: 84 C0              - test al,al
RRU.exe+1153EE: 74 32              - je RRU.exe+115422
RRU.exe+1153F0: 3B BE B0 00 00 00  - cmp edi,[esi+000000B0]
RRU.exe+1153F6: 7D 2A              - jnl RRU.exe+115422
RRU.exe+1153F8: 8B 55 08           - mov edx,[ebp+08]
RRU.exe+1153FB: 8B 02              - mov eax,[edx]
RRU.exe+1153FD: 01 86 BC 00 00 00  - add [esi+000000BC],eax
}
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry NoCheckbox="1">
      <ID>34</ID>
      <Description>""</Description>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry NoCheckbox="1">
      <ID>1337187105</ID>
      <Description>"━━━━━━━━ 📡 Links ━━━━━━━━"</Description>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry NoScriptTag="1">
          <ID>1337187106</ID>
          <Description>"├─ YouTube"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
[ENABLE]
shellExecute("https://www.youtube.com/@SeryogaSK");
createThread(function();sleep(100);memrec.Active=false;end);
[DISABLE]

</AssemblerScript>
        </CheatEntry>
        <CheatEntry NoScriptTag="1">
          <ID>1337187107</ID>
          <Description>"└─ OCT PROFILE"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end
--if not monopipe then if LaunchMonoDataCollector() == 0 then error(MessageDialog('Failed to Launch Mono Data Collector', mtError, mbClose)) end end
{$asm}
[ENABLE]
{$lua}
shellExecute("https://opencheattables.com/memberlist.php?mode=viewprofile&amp;u=6096");
createThread(function();sleep(100);memrec.Active=false;end);
{$asm}
[DISABLE]

</AssemblerScript>
        </CheatEntry>
        <CheatEntry NoCheckbox="1">
          <ID>3755</ID>
          <Description>"━━━━━━━━ 📜 Last Update ━━━━━━━━"</Description>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry NoCheckbox="1">
              <ID>3756</ID>
              <Description>"└─ 15.08.2026"</Description>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <CheatCodes>
    <CodeEntry>
      <Description>Change of push RRU.exe+84FF78</Description>
      <AddressString>RRU.exe+560AAC</AddressString>
      <Before>
        <Byte>E8</Byte>
        <Byte>E4</Byte>
        <Byte>16</Byte>
        <Byte>AA</Byte>
        <Byte>FF</Byte>
      </Before>
      <Actual>
        <Byte>68</Byte>
        <Byte>78</Byte>
        <Byte>FF</Byte>
        <Byte>C4</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>8D</Byte>
        <Byte>4D</Byte>
        <Byte>FA</Byte>
        <Byte>E8</Byte>
        <Byte>47</Byte>
      </After>
    </CodeEntry>
  </CheatCodes>
  <UserdefinedSymbols/>
  <Comments>RRU.exe+22FD5E - 8B 87 94010000        - mov eax,[edi+00000194]
</Comments>
  <LuaScript>-- Cheat Table Decorator
function decorateSSKTable()
  local mainForm = getMainForm()

  -- Main Form Styling
  mainForm.Caption = 'Ridge Racer™ Unbounded (Steam) - Enhanced Table [by SeryogaSK]'
  getAutoAttachList().add("RRU.exe")
end

-- Execute when table loads
decorateSSKTable()

</LuaScript>
</CheatTable>
