phase12: match func_801029A0 (700 bodies / 709 regions)
This commit is contained in:
+829
-830
File diff suppressed because it is too large
Load Diff
@@ -653,6 +653,7 @@
|
||||
0x80101C7C 0x80101CAC src/func_80101C7C.c cc1=-fno-delayed-branch
|
||||
0x80101CAC 0x80101CDC src/func_80101CAC.c
|
||||
0x801027CC 0x801027F8 src/func_801027CC.c
|
||||
0x801029A0 0x80102A00 src/func_801029A0.c
|
||||
0x80102A00 0x80102A80 src/func_80102A00.c maspsx=regread
|
||||
0x80102A80 0x80102B04 src/func_80102A80.c maspsx=epilogue
|
||||
0x80102B10 0x80102B2C src/func_80102B10.c maspsx=off
|
||||
|
||||
|
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* func_801029A0 — 96 bytes at 0x801029A0..0x80102A00
|
||||
*
|
||||
* Clears four absolute-global words, calls func_801092C0 with zero and the value
|
||||
* loaded from D_801461D8, then clears the following global, the halfword at
|
||||
* 0x801461BC, and the final global word.
|
||||
*
|
||||
* The repeated `lui at`/absolute displacement stores are intentional: direct
|
||||
* address-named globals force a fresh absolute materialization for each statement,
|
||||
* matching the target's initializer rather than a strength-reduced base pointer.
|
||||
* The call deliberately has two arguments; the first loaded global is the second
|
||||
* argument and remains live in a1 across the zero stores.
|
||||
*
|
||||
* LIMITS: the global meanings and the callee's behavior are not inferred. The
|
||||
* addresses, store widths/order, two-argument call dataflow, frame, and return are
|
||||
* byte evidence from the USA executable.
|
||||
*/
|
||||
|
||||
extern int D_801461D8;
|
||||
extern int D_801461D4;
|
||||
extern int D_801461D0;
|
||||
extern int D_801461CC;
|
||||
extern int D_801461C0;
|
||||
extern int D_8014619C;
|
||||
extern int D_801461A8;
|
||||
extern void func_801092C0(int, int);
|
||||
|
||||
void func_801029A0(void)
|
||||
{
|
||||
D_801461D4 = 0;
|
||||
D_801461D0 = 0;
|
||||
D_801461CC = 0;
|
||||
D_801461C0 = 0;
|
||||
func_801092C0(0, D_801461D8);
|
||||
D_8014619C = 0;
|
||||
*(short *)0x801461BC = 0;
|
||||
D_801461A8 = 0;
|
||||
}
|
||||
Reference in New Issue
Block a user