# EXE-wide duplicate function groups (generated by tools/dup_report.py) # sig: .run/sig.resident.jsonl sha1=6218cf30f9722fa4784733a73945a370ea10810c (296 funcs, 122 with nins>=8) # Match the representative once -> share the body to the duplicates (h_exact = guaranteed # byte-match; h_norm = same source, re-point any single address constant). ## h_exact (byte-identical) — nins>=8: 6 groups, 6 redundant (collapsible) | score | nins | count | representative | duplicates | |---|---|---|---|---| | 62 | 31 | 2 | FUN_800d2e6c (0x800d2e6c) | 0x800d3120 | | 28 | 14 | 2 | FUN_800d065c (0x800d065c) | 0x800d0694 | | 18 | 9 | 2 | FUN_800d2dfc (0x800d2dfc) | 0x800d2f8c | | 18 | 9 | 2 | FUN_800d2ee8 (0x800d2ee8) | 0x800d319c | | 16 | 8 | 2 | FUN_800cefb0 (0x800cefb0) | 0x800cf398 | | 16 | 8 | 2 | FUN_800d3328 (0x800d3328) | 0x800d3398 | ## h_norm (structural) — nins>=8: 9 groups, 15 redundant (collapsible) | score | nins | count | representative | duplicates | |---|---|---|---|---| | 75 | 15 | 5 | FUN_800d2f0c (0x800d2f0c) | 0x800d2fb0 0x800d30c8 0x800d31c0 0x800d31fc | | 62 | 31 | 2 | FUN_800d2e6c (0x800d2e6c) | 0x800d3120 | | 52 | 26 | 2 | FUN_800d21c4 (0x800d21c4) | 0x800d222c | | 40 | 8 | 5 | FUN_800cefb0 (0x800cefb0) | 0x800cf398 0x800d30a8 0x800d3328 0x800d3398 | | 30 | 15 | 2 | FUN_800d3238 (0x800d3238) | 0x800d3348 | | 28 | 14 | 2 | FUN_800d065c (0x800d065c) | 0x800d0694 | | 22 | 11 | 2 | FUN_800d1028 (0x800d1028) | 0x800d109c | | 18 | 9 | 2 | FUN_800d2dfc (0x800d2dfc) | 0x800d2f8c | | 18 | 9 | 2 | FUN_800d2ee8 (0x800d2ee8) | 0x800d319c |