1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_80228970
func_80228970:
/* 80228970 002245D0 54 64 00 1E */ rlwinm r4, r3, 0, 0, 0xf
/* 80228974 002245D4 38 60 00 02 */ li r3, 2
/* 80228978 002245D8 3C 04 FA 6A */ addis r0, r4, 0xfa6a
/* 8022897C 002245DC 28 00 00 00 */ cmplwi r0, 0
/* 80228980 002245E0 4C 82 00 20 */ bnelr
/* 80228984 002245E4 38 60 00 01 */ li r3, 1
/* 80228988 002245E8 4E 80 00 20 */ blr
.global func_8022898C
func_8022898C:
/* 8022898C 002245EC 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80228990 002245F0 7C 08 02 A6 */ mflr r0
/* 80228994 002245F4 90 01 00 44 */ stw r0, 0x44(r1)
/* 80228998 002245F8 39 61 00 40 */ addi r11, r1, 0x40
/* 8022899C 002245FC 4B F9 E7 89 */ bl _savegpr_26
/* 802289A0 00224600 7C 7A 1B 78 */ mr r26, r3
/* 802289A4 00224604 7C 9B 23 78 */ mr r27, r4
/* 802289A8 00224608 7C BC 2B 78 */ mr r28, r5
/* 802289AC 0022460C 7C DD 33 78 */ mr r29, r6
/* 802289B0 00224610 7C FE 3B 78 */ mr r30, r7
/* 802289B4 00224614 4B FF FF BD */ bl func_80228970
/* 802289B8 00224618 2C 03 00 01 */ cmpwi r3, 1
/* 802289BC 0022461C 40 82 00 10 */ bne lbl_802289CC
/* 802289C0 00224620 80 6D A3 80 */ lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 802289C4 00224624 83 E3 00 20 */ lwz r31, 0x20(r3)
/* 802289C8 00224628 48 00 00 10 */ b lbl_802289D8
lbl_802289CC:
/* 802289CC 0022462C 80 6D A3 80 */ lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 802289D0 00224630 4B FF DF 41 */ bl func_80226910
/* 802289D4 00224634 7C 7F 1B 78 */ mr r31, r3
lbl_802289D8:
/* 802289D8 00224638 2C 1F 00 00 */ cmpwi r31, 0
/* 802289DC 0022463C 40 82 00 0C */ bne lbl_802289E8
/* 802289E0 00224640 38 60 00 00 */ li r3, 0
/* 802289E4 00224644 48 00 00 58 */ b lbl_80228A3C
lbl_802289E8:
/* 802289E8 00224648 38 00 00 01 */ li r0, 1
/* 802289EC 0022464C 93 61 00 0C */ stw r27, 0xc(r1)
/* 802289F0 00224650 7F E3 FB 78 */ mr r3, r31
/* 802289F4 00224654 7F 44 D3 78 */ mr r4, r26
/* 802289F8 00224658 B0 01 00 08 */ sth r0, 8(r1)
/* 802289FC 0022465C 38 A1 00 08 */ addi r5, r1, 8
/* 80228A00 00224660 38 C0 00 04 */ li r6, 4
/* 80228A04 00224664 38 E0 00 00 */ li r7, 0
/* 80228A08 00224668 B0 01 00 10 */ sth r0, 0x10(r1)
/* 80228A0C 0022466C 93 81 00 14 */ stw r28, 0x14(r1)
/* 80228A10 00224670 B0 01 00 18 */ sth r0, 0x18(r1)
/* 80228A14 00224674 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 80228A18 00224678 B0 01 00 20 */ sth r0, 0x20(r1)
/* 80228A1C 0022467C 93 C1 00 24 */ stw r30, 0x24(r1)
/* 80228A20 00224680 48 00 1C 85 */ bl func_8022A6A4
/* 80228A24 00224684 7C 7E 1B 78 */ mr r30, r3
/* 80228A28 00224688 7F E3 FB 78 */ mr r3, r31
/* 80228A2C 0022468C 7F C4 F3 78 */ mr r4, r30
/* 80228A30 00224690 48 00 45 89 */ bl func_8022CFB8
/* 80228A34 00224694 90 6D A3 98 */ stw r3, lbl_8063F658-_SDA_BASE_(r13)
/* 80228A38 00224698 7F C3 F3 78 */ mr r3, r30
lbl_80228A3C:
/* 80228A3C 0022469C 39 61 00 40 */ addi r11, r1, 0x40
/* 80228A40 002246A0 4B F9 E7 31 */ bl _restgpr_26
/* 80228A44 002246A4 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80228A48 002246A8 7C 08 03 A6 */ mtlr r0
/* 80228A4C 002246AC 38 21 00 40 */ addi r1, r1, 0x40
/* 80228A50 002246B0 4E 80 00 20 */ blr
.global func_80228A54
func_80228A54:
/* 80228A54 002246B4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80228A58 002246B8 7C 08 02 A6 */ mflr r0
/* 80228A5C 002246BC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80228A60 002246C0 39 61 00 20 */ addi r11, r1, 0x20
/* 80228A64 002246C4 4B F9 E6 C5 */ bl _savegpr_27
/* 80228A68 002246C8 7C 7B 1B 78 */ mr r27, r3
/* 80228A6C 002246CC 80 6D A3 80 */ lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 80228A70 002246D0 7C 9C 23 78 */ mr r28, r4
/* 80228A74 002246D4 7C BD 2B 78 */ mr r29, r5
/* 80228A78 002246D8 7C DE 33 78 */ mr r30, r6
/* 80228A7C 002246DC 7C FF 3B 78 */ mr r31, r7
/* 80228A80 002246E0 4B FF DE 91 */ bl func_80226910
/* 80228A84 002246E4 2C 03 00 00 */ cmpwi r3, 0
/* 80228A88 002246E8 40 82 00 0C */ bne lbl_80228A94
/* 80228A8C 002246EC 38 60 00 00 */ li r3, 0
/* 80228A90 002246F0 48 00 00 44 */ b lbl_80228AD4
lbl_80228A94:
/* 80228A94 002246F4 80 03 09 40 */ lwz r0, 0x940(r3)
/* 80228A98 002246F8 2C 00 00 00 */ cmpwi r0, 0
/* 80228A9C 002246FC 40 82 00 0C */ bne lbl_80228AA8
/* 80228AA0 00224700 38 60 00 00 */ li r3, 0
/* 80228AA4 00224704 48 00 00 30 */ b lbl_80228AD4
lbl_80228AA8:
/* 80228AA8 00224708 7F 64 DB 78 */ mr r4, r27
/* 80228AAC 0022470C 48 00 45 81 */ bl func_8022D02C
/* 80228AB0 00224710 2C 03 00 00 */ cmpwi r3, 0
/* 80228AB4 00224714 40 82 00 0C */ bne lbl_80228AC0
/* 80228AB8 00224718 38 60 00 00 */ li r3, 0
/* 80228ABC 0022471C 48 00 00 18 */ b lbl_80228AD4
lbl_80228AC0:
/* 80228AC0 00224720 7F 84 E3 78 */ mr r4, r28
/* 80228AC4 00224724 7F A5 EB 78 */ mr r5, r29
/* 80228AC8 00224728 7F C6 F3 78 */ mr r6, r30
/* 80228ACC 0022472C 7F E7 FB 78 */ mr r7, r31
/* 80228AD0 00224730 4B FF FE BD */ bl func_8022898C
lbl_80228AD4:
/* 80228AD4 00224734 39 61 00 20 */ addi r11, r1, 0x20
/* 80228AD8 00224738 4B F9 E6 9D */ bl _restgpr_27
/* 80228ADC 0022473C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80228AE0 00224740 7C 08 03 A6 */ mtlr r0
/* 80228AE4 00224744 38 21 00 20 */ addi r1, r1, 0x20
/* 80228AE8 00224748 4E 80 00 20 */ blr
.global func_80228AEC
func_80228AEC:
/* 80228AEC 0022474C 38 A0 00 01 */ li r5, 1
/* 80228AF0 00224750 38 6D A3 90 */ addi r3, r13, lbl_8063F650-_SDA_BASE_
/* 80228AF4 00224754 38 80 00 04 */ li r4, 4
/* 80228AF8 00224758 38 00 00 00 */ li r0, 0
/* 80228AFC 0022475C 98 AD A3 90 */ stb r5, lbl_8063F650-_SDA_BASE_(r13)
/* 80228B00 00224760 B0 83 00 02 */ sth r4, 2(r3)
/* 80228B04 00224764 98 03 00 04 */ stb r0, 4(r3)
/* 80228B08 00224768 4E 80 00 20 */ blr
|