phase12: match func_8007759C (705 bodies / 714 regions)
This commit is contained in:
+838
-839
File diff suppressed because it is too large
Load Diff
@@ -370,6 +370,7 @@
|
||||
0x800734A4 0x800734DC src/func_800734A4.c
|
||||
0x80073F78 0x8007405C src/func_80073F78.c
|
||||
0x80074C00 0x80074C74 src/func_80074C00.c
|
||||
0x8007759C 0x800775E4 src/func_8007759C.c
|
||||
0x80077D04 0x80077D7C src/func_80077D04.c
|
||||
0x8007A2AC 0x8007A324 src/func_8007A2AC.c
|
||||
0x8007A404 0x8007A428 src/func_8007A404.c
|
||||
|
||||
|
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* func_8007759C — 72 bytes at 0x8007759C..0x800775E4
|
||||
*
|
||||
* Reads an index byte at input+41 and a sub-index byte at input+59, then calls
|
||||
* func_80010750 with the indexed table entry at D_80122544 + index*96 + 12,
|
||||
* input+56, and sub-index+1.
|
||||
*
|
||||
* The table symbol is gp-marked because the target loads its pointer value from
|
||||
* a gp-relative word before applying the 96-byte stride. The byte loads, +56
|
||||
* pointer argument, +1 sub-index, +12 table displacement, and call argument order
|
||||
* are byte evidence.
|
||||
*
|
||||
* LIMITS: the input record and table entry meanings are not inferred. The gp table
|
||||
* address, byte offsets 41/59, stride 96, displacement 12, pointer offset 56,
|
||||
* increment, call target, and frame are byte evidence.
|
||||
*/
|
||||
|
||||
extern int *D_80122544;
|
||||
extern void func_80010750(int *, void *, int);
|
||||
|
||||
void func_8007759C(unsigned char *a0)
|
||||
{
|
||||
int index = a0[41];
|
||||
int sub = a0[59] + 1;
|
||||
|
||||
func_80010750((int *)((char *)D_80122544 + index * 96 + 12), a0 + 56, sub);
|
||||
}
|
||||
Reference in New Issue
Block a user