phase12: match func_800475CC (711 bodies / 720 regions)

This commit is contained in:
Christopher Williams
2026-09-25 07:33:23 -04:00
parent 7bdd3a3657
commit 8499caa2c2
3 changed files with 840 additions and 811 deletions
+810 -811
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -241,6 +241,7 @@
0x800460AC 0x800460D4 src/func_800460AC.c
0x80047468 0x800474B0 src/func_80047468.c gp=-D_80121BFC
0x800474B0 0x80047508 src/func_800474B0.c
0x800475CC 0x80047640 src/func_800475CC.c
0x80047984 0x80047A14 src/func_80047984.c
0x80048128 0x80048180 src/func_80048128.c gp=-D_80121BFC
0x80048180 0x8004820C src/func_80048180.c gp=-D_80121BFC
1 # Code-region registry: one C region per matched function.
241 0x800460AC
242 0x80047468
243 0x800474B0
244 0x800475CC
245 0x80047984
246 0x80048128
247 0x80048180
+29
View File
@@ -0,0 +1,29 @@
/*
* func_800475CC — 116 bytes at 0x800475CC..0x80047640
*
* Copies two unsigned halfwords from the pair referenced at a1+0x0C and one
* unsigned halfword from the pair referenced at a1+0x10 into a three-halfword
* stack temporary. The three values are sign-extended into consecutive output
* words at a2, and the function returns whether the second value is not -32768.
*
* The repeated a1+0x0C expressions are intentional: the target reloads the first
* pair pointer for its two fields. The local halfword array supplies the 8-byte
* frame and the target's raw stack stores without inventing a larger record type.
*
* LIMITS: the pair and output meanings are not inferred. The input pointer
* offsets 0x0C/0x10, field widths, stack offsets, sign extensions, sentinel
* comparison, and return are byte evidence.
*/
int func_800475CC(void *unused, void *a1, int *a2)
{
unsigned short t[3];
t[0] = *(unsigned short *)(*(unsigned char **)((char *)a1 + 12));
t[1] = *(unsigned short *)(*(unsigned char **)((char *)a1 + 12) + 2);
t[2] = *(unsigned short *)(*(unsigned char **)((char *)a1 + 16));
a2[0] = (short)t[0];
a2[1] = (short)t[1];
a2[2] = (short)t[2];
return (short)t[1] != -32768;
}