REDIVIVUS

Proposals / #850

Type byte-address inputs of the two-stage RLE lookup helpers

applied · by Commit-Will · submitted 2026-11-02, applied 2026-11-02

Ghidra v1809 · 383dd74

Each independently inspected helper captures two integer arguments as byte lookup-table addresses and computes table1[table2[sourceByte]]. Table numbers follow their exact unchanged upstream API identities, not execution order. The clipped helper additionally uses incoming EDX as its byte-output address. Correct all five integer address representations and generic names coherently; preserve existing byte-buffer/scalar inputs, chosen names, void results, fastcall arity/storage and RET16/RET28. Table inputs are captured in EDI/ESI before reused stack locations become scratch. No sibling inference or allocation extent assumed.

Changes 10, applied together

  1. Retype variable win 0x006072f0 Stack[0xc]

    typeint32_t→uint8_t *
  2. Rename variable win 0x006072f0 Stack[0xc]

    namenParam1→pLookupTable1
  3. Retype variable win 0x006072f0 Stack[0x10]

    typeint32_t→uint8_t *
  4. Rename variable win 0x006072f0 Stack[0x10]

    namenParam2→pLookupTable2
  5. Retype variable win 0x00607480 EDX

    typeint32_t→uint8_t *
  6. Rename variable win 0x00607480 EDX

    namenParam1→pDstBuffer
  7. Retype variable win 0x00607480 Stack[0x18]

    typeint32_t→uint8_t *
  8. Rename variable win 0x00607480 Stack[0x18]

    namenParam5→pLookupTable1
  9. Retype variable win 0x00607480 Stack[0x1c]

    typeint32_t→uint8_t *
  10. Rename variable win 0x00607480 Stack[0x1c]

    namenParam6→pLookupTable2