Sawyer Elevation — Function Naming & Reimplementation

Rename opaque functions and reimplement them as C code with linker validation.

Updated Feb 2, 2026
One-click install
npx skills add https://github.com/AJBats/saturn-daytona-usa-re --skill sawyer-elevation-function-naming-reimplementation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Sawyer Elevation — Function Naming & Reimplementation
Source: https://github.com/AJBats/saturn-daytona-usa-re/tree/main/.claude/skills/sawyer-elevation
Command: npx skills add https://github.com/AJBats/saturn-daytona-usa-re --skill sawyer-elevation-function-naming-reimplementation

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill addresses the challenge of reverse-engineering complex software by providing a structured methodology to rename and reimplement functions, making the codebase understandable and maintainable.

Core Features & Use Cases

  • Function Renaming: Renames functions from generic identifiers (e.g., FUN_XXXXXXXX) to human-readable names based on their behavior.
  • Level Elevation: Progresses code representation from byte-perfect assembly (L2) to readable assembly (L3) and finally to C reimplementations (L4).
  • Use Case: When reverse-engineering a game, this Skill helps you systematically identify what each piece of code does, rename it appropriately, and eventually rewrite it in C for easier modification and analysis.

Quick Start

Use the Sawyer Elevation skill to rename the function FUN_060423CC to cdb_wait_scdq following the documented procedures.

Frequently Asked Questions about Sawyer Elevation — Function Naming & Reimplementation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I rename functions when reverse engineering compiled software?

To rename functions during reverse engineering, you can use a systematic methodology to change generic identifiers like FUN_XXXXXXXX into human-readable names based on observed behavior, making the codebase understandable and maintainable.

What is the best way to reimplement assembly code in C?

The best way to reimplement assembly in C is through a level elevation process, progressing code representation from byte-perfect assembly to readable assembly, and finally to C reimplementations for easier modification.

How do I validate reimplemented C code against an original binary?

To validate reimplemented C code against an original binary, enforce strict naming conventions and use linker-based validation to ensure byte-identical matches and functional correctness across retail, free, and shifted builds.

Can I consolidate translation units when reverse engineering a game?

Yes, you can consolidate translation units when reverse engineering a game by following a structured methodology to systematically identify code behavior, rename functions, and rewrite them in C for analysis.

Why does my reimplemented function fail to match the original binary?

Your reimplemented function might fail to match the original binary if strict naming conventions were not applied or if linker-based validation was bypassed, preventing a byte-identical match across different builds.