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.