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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_80262B00
func_80262B00:
/* 80262B00 0025E760 4B FF 8B E8 */ b lbl_8025B6E8
.global func_80262B04
func_80262B04:
/* 80262B04 0025E764 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80262B08 0025E768 7C 08 02 A6 */ mflr r0
/* 80262B0C 0025E76C 3C 60 80 26 */ lis r3, lbl_80262B48@ha
/* 80262B10 0025E770 90 01 00 14 */ stw r0, 0x14(r1)
/* 80262B14 0025E774 38 63 2B 48 */ addi r3, r3, lbl_80262B48@l
/* 80262B18 0025E778 4B FF 8C 09 */ bl func_8025B720
/* 80262B1C 0025E77C 3C 80 80 26 */ lis r4, lbl_80262BDC@ha
/* 80262B20 0025E780 38 60 00 04 */ li r3, 4
/* 80262B24 0025E784 38 84 2B DC */ addi r4, r4, lbl_80262BDC@l
/* 80262B28 0025E788 4B FF 8B C5 */ bl func_8025B6EC
/* 80262B2C 0025E78C 3C 60 80 26 */ lis r3, lbl_80262D68@ha
/* 80262B30 0025E790 38 63 2D 68 */ addi r3, r3, lbl_80262D68@l
/* 80262B34 0025E794 4B FF 8C BD */ bl func_8025B7F0
/* 80262B38 0025E798 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80262B3C 0025E79C 7C 08 03 A6 */ mtlr r0
/* 80262B40 0025E7A0 38 21 00 10 */ addi r1, r1, 0x10
/* 80262B44 0025E7A4 4E 80 00 20 */ blr
lbl_80262B48:
/* 80262B48 0025E7A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80262B4C 0025E7AC 7C 08 02 A6 */ mflr r0
/* 80262B50 0025E7B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80262B54 0025E7B4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80262B58 0025E7B8 7C 9F 23 78 */ mr r31, r4
/* 80262B5C 0025E7BC 4B FF B4 75 */ bl func_8025DFD0
/* 80262B60 0025E7C0 4B FF B7 AD */ bl func_8025E30C
/* 80262B64 0025E7C4 80 9F 00 00 */ lwz r4, 0(r31)
/* 80262B68 0025E7C8 7C 7F 1B 78 */ mr r31, r3
/* 80262B6C 0025E7CC 4B FF C2 5D */ bl func_8025EDC8
/* 80262B70 0025E7D0 A0 7F 0F 00 */ lhz r3, 0xf00(r31)
/* 80262B74 0025E7D4 2C 03 00 00 */ cmpwi r3, 0
/* 80262B78 0025E7D8 41 82 00 0C */ beq lbl_80262B84
/* 80262B7C 0025E7DC 38 03 FF FF */ addi r0, r3, -1
/* 80262B80 0025E7E0 B0 1F 0F 00 */ sth r0, 0xf00(r31)
lbl_80262B84:
/* 80262B84 0025E7E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80262B88 0025E7E8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80262B8C 0025E7EC 7C 08 03 A6 */ mtlr r0
/* 80262B90 0025E7F0 38 21 00 10 */ addi r1, r1, 0x10
/* 80262B94 0025E7F4 4E 80 00 20 */ blr
.global func_80262B98
func_80262B98:
/* 80262B98 0025E7F8 3C 80 80 50 */ lis r4, lbl_80503AF8@ha
/* 80262B9C 0025E7FC 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80262BA0 0025E800 38 84 3A F8 */ addi r4, r4, lbl_80503AF8@l
/* 80262BA4 0025E804 38 60 00 00 */ li r3, 0
/* 80262BA8 0025E808 7C 64 01 AE */ stbx r3, r4, r0
/* 80262BAC 0025E80C 4E 80 00 20 */ blr
.global func_80262BB0
func_80262BB0:
/* 80262BB0 0025E810 3C 80 80 50 */ lis r4, lbl_80503AF8@ha
/* 80262BB4 0025E814 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80262BB8 0025E818 38 84 3A F8 */ addi r4, r4, lbl_80503AF8@l
/* 80262BBC 0025E81C 38 60 00 01 */ li r3, 1
/* 80262BC0 0025E820 7C 64 01 AE */ stbx r3, r4, r0
/* 80262BC4 0025E824 4E 80 00 20 */ blr
.global func_80262BC8
func_80262BC8:
/* 80262BC8 0025E828 3C 80 80 50 */ lis r4, lbl_80503AF8@ha
/* 80262BCC 0025E82C 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80262BD0 0025E830 38 84 3A F8 */ addi r4, r4, lbl_80503AF8@l
/* 80262BD4 0025E834 7C 64 00 AE */ lbzx r3, r4, r0
/* 80262BD8 0025E838 4E 80 00 20 */ blr
lbl_80262BDC:
/* 80262BDC 0025E83C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80262BE0 0025E840 7C 08 02 A6 */ mflr r0
/* 80262BE4 0025E844 90 01 00 24 */ stw r0, 0x24(r1)
/* 80262BE8 0025E848 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80262BEC 0025E84C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80262BF0 0025E850 7C 7E 1B 78 */ mr r30, r3
/* 80262BF4 0025E854 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 80262BF8 0025E858 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80262BFC 0025E85C 7C 9D 23 78 */ mr r29, r4
/* 80262C00 0025E860 4B FF FF B1 */ bl func_80262BB0
/* 80262C04 0025E864 2C 1E 00 04 */ cmpwi r30, 4
/* 80262C08 0025E868 41 82 00 20 */ beq lbl_80262C28
/* 80262C0C 0025E86C 40 80 00 10 */ bge lbl_80262C1C
/* 80262C10 0025E870 2C 1E 00 03 */ cmpwi r30, 3
/* 80262C14 0025E874 40 80 01 00 */ bge lbl_80262D14
/* 80262C18 0025E878 48 00 01 34 */ b lbl_80262D4C
lbl_80262C1C:
/* 80262C1C 0025E87C 2C 1E 00 06 */ cmpwi r30, 6
/* 80262C20 0025E880 40 80 01 2C */ bge lbl_80262D4C
/* 80262C24 0025E884 48 00 00 60 */ b lbl_80262C84
lbl_80262C28:
/* 80262C28 0025E888 83 DD 00 10 */ lwz r30, 0x10(r29)
/* 80262C2C 0025E88C 38 00 00 01 */ li r0, 1
/* 80262C30 0025E890 7C 1F F0 30 */ slw r31, r0, r30
/* 80262C34 0025E894 4B FF B3 9D */ bl func_8025DFD0
/* 80262C38 0025E898 4B FF B6 D5 */ bl func_8025E30C
/* 80262C3C 0025E89C A0 03 0F 08 */ lhz r0, 0xf08(r3)
/* 80262C40 0025E8A0 7F E0 00 39 */ and. r0, r31, r0
/* 80262C44 0025E8A4 40 82 01 08 */ bne lbl_80262D4C
/* 80262C48 0025E8A8 4B FF B3 89 */ bl func_8025DFD0
/* 80262C4C 0025E8AC 4B FF B6 C1 */ bl func_8025E30C
/* 80262C50 0025E8B0 A0 03 0F 08 */ lhz r0, 0xf08(r3)
/* 80262C54 0025E8B4 7C 00 FB 78 */ or r0, r0, r31
/* 80262C58 0025E8B8 B0 03 0F 08 */ sth r0, 0xf08(r3)
/* 80262C5C 0025E8BC 4B FF B3 75 */ bl func_8025DFD0
/* 80262C60 0025E8C0 4B FF B6 AD */ bl func_8025E30C
/* 80262C64 0025E8C4 57 C0 07 3E */ clrlwi r0, r30, 0x1c
/* 80262C68 0025E8C8 38 9D 00 18 */ addi r4, r29, 0x18
/* 80262C6C 0025E8CC 1C 00 00 06 */ mulli r0, r0, 6
/* 80262C70 0025E8D0 38 A0 00 06 */ li r5, 6
/* 80262C74 0025E8D4 7C 63 02 14 */ add r3, r3, r0
/* 80262C78 0025E8D8 38 63 0F 0C */ addi r3, r3, 0xf0c
/* 80262C7C 0025E8DC 4B DA 13 85 */ bl memcpy
/* 80262C80 0025E8E0 48 00 00 CC */ b lbl_80262D4C
lbl_80262C84:
/* 80262C84 0025E8E4 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 80262C88 0025E8E8 38 60 00 01 */ li r3, 1
/* 80262C8C 0025E8EC 7C 7F 00 30 */ slw r31, r3, r0
/* 80262C90 0025E8F0 4B FF B3 41 */ bl func_8025DFD0
/* 80262C94 0025E8F4 4B FF B6 79 */ bl func_8025E30C
/* 80262C98 0025E8F8 A0 03 0F 08 */ lhz r0, 0xf08(r3)
/* 80262C9C 0025E8FC 7F E0 00 39 */ and. r0, r31, r0
/* 80262CA0 0025E900 41 82 00 AC */ beq lbl_80262D4C
/* 80262CA4 0025E904 3C 60 00 01 */ lis r3, 0x0000C003@ha
/* 80262CA8 0025E908 80 9D 00 14 */ lwz r4, 0x14(r29)
/* 80262CAC 0025E90C 38 03 C0 03 */ addi r0, r3, 0x0000C003@l
/* 80262CB0 0025E910 7C 04 00 00 */ cmpw r4, r0
/* 80262CB4 0025E914 40 80 00 18 */ bge lbl_80262CCC
/* 80262CB8 0025E918 38 03 80 01 */ addi r0, r3, -32767
/* 80262CBC 0025E91C 7C 04 00 00 */ cmpw r4, r0
/* 80262CC0 0025E920 41 82 00 3C */ beq lbl_80262CFC
/* 80262CC4 0025E924 41 80 00 38 */ blt lbl_80262CFC
/* 80262CC8 0025E928 48 00 00 34 */ b lbl_80262CFC
lbl_80262CCC:
/* 80262CCC 0025E92C 38 03 F0 03 */ addi r0, r3, -4093
/* 80262CD0 0025E930 7C 04 00 00 */ cmpw r4, r0
/* 80262CD4 0025E934 40 80 00 28 */ bge lbl_80262CFC
/* 80262CD8 0025E938 38 03 F0 01 */ addi r0, r3, -4095
/* 80262CDC 0025E93C 7C 04 00 00 */ cmpw r4, r0
/* 80262CE0 0025E940 40 80 00 08 */ bge lbl_80262CE8
/* 80262CE4 0025E944 48 00 00 18 */ b lbl_80262CFC
lbl_80262CE8:
/* 80262CE8 0025E948 3B E0 00 00 */ li r31, 0
/* 80262CEC 0025E94C 4B FF B2 E5 */ bl func_8025DFD0
/* 80262CF0 0025E950 4B FF B6 1D */ bl func_8025E30C
/* 80262CF4 0025E954 B3 E3 0F 08 */ sth r31, 0xf08(r3)
/* 80262CF8 0025E958 48 00 00 54 */ b lbl_80262D4C
lbl_80262CFC:
/* 80262CFC 0025E95C 4B FF B2 D5 */ bl func_8025DFD0
/* 80262D00 0025E960 4B FF B6 0D */ bl func_8025E30C
/* 80262D04 0025E964 A0 03 0F 08 */ lhz r0, 0xf08(r3)
/* 80262D08 0025E968 7C 00 F8 78 */ andc r0, r0, r31
/* 80262D0C 0025E96C B0 03 0F 08 */ sth r0, 0xf08(r3)
/* 80262D10 0025E970 48 00 00 3C */ b lbl_80262D4C
lbl_80262D14:
/* 80262D14 0025E974 83 FD 00 18 */ lwz r31, 0x18(r29)
/* 80262D18 0025E978 83 DD 00 10 */ lwz r30, 0x10(r29)
/* 80262D1C 0025E97C 2C 1F 00 00 */ cmpwi r31, 0
/* 80262D20 0025E980 83 BD 00 14 */ lwz r29, 0x14(r29)
/* 80262D24 0025E984 41 82 00 28 */ beq lbl_80262D4C
/* 80262D28 0025E988 28 1F 00 50 */ cmplwi r31, 0x50
/* 80262D2C 0025E98C 41 81 00 20 */ bgt lbl_80262D4C
/* 80262D30 0025E990 4B FF B2 A1 */ bl func_8025DFD0
/* 80262D34 0025E994 4B FF B5 D9 */ bl func_8025E30C
/* 80262D38 0025E998 7F A4 EB 78 */ mr r4, r29
/* 80262D3C 0025E99C 57 E5 04 3E */ clrlwi r5, r31, 0x10
/* 80262D40 0025E9A0 57 C6 06 3E */ clrlwi r6, r30, 0x18
/* 80262D44 0025E9A4 38 E0 00 00 */ li r7, 0
/* 80262D48 0025E9A8 4B FF BF 21 */ bl func_8025EC68
lbl_80262D4C:
/* 80262D4C 0025E9AC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80262D50 0025E9B0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80262D54 0025E9B4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80262D58 0025E9B8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80262D5C 0025E9BC 7C 08 03 A6 */ mtlr r0
/* 80262D60 0025E9C0 38 21 00 20 */ addi r1, r1, 0x20
/* 80262D64 0025E9C4 4E 80 00 20 */ blr
lbl_80262D68:
/* 80262D68 0025E9C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80262D6C 0025E9CC 7C 08 02 A6 */ mflr r0
/* 80262D70 0025E9D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80262D74 0025E9D4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80262D78 0025E9D8 93 C1 00 08 */ stw r30, 8(r1)
/* 80262D7C 0025E9DC 4B FF B2 55 */ bl func_8025DFD0
/* 80262D80 0025E9E0 4B FF B5 8D */ bl func_8025E30C
/* 80262D84 0025E9E4 80 03 10 0C */ lwz r0, 0x100c(r3)
/* 80262D88 0025E9E8 2C 00 00 01 */ cmpwi r0, 1
/* 80262D8C 0025E9EC 40 81 00 CC */ ble lbl_80262E58
/* 80262D90 0025E9F0 4B FF B2 41 */ bl func_8025DFD0
/* 80262D94 0025E9F4 4B FF B5 79 */ bl func_8025E30C
/* 80262D98 0025E9F8 80 83 10 08 */ lwz r4, 0x1008(r3)
/* 80262D9C 0025E9FC 38 04 00 01 */ addi r0, r4, 1
/* 80262DA0 0025EA00 90 03 10 08 */ stw r0, 0x1008(r3)
/* 80262DA4 0025EA04 4B FF B2 2D */ bl func_8025DFD0
/* 80262DA8 0025EA08 4B FF B5 65 */ bl func_8025E30C
/* 80262DAC 0025EA0C 83 E3 10 0C */ lwz r31, 0x100c(r3)
/* 80262DB0 0025EA10 4B FF B2 21 */ bl func_8025DFD0
/* 80262DB4 0025EA14 4B FF B5 59 */ bl func_8025E30C
/* 80262DB8 0025EA18 80 03 10 08 */ lwz r0, 0x1008(r3)
/* 80262DBC 0025EA1C 7C 00 F8 00 */ cmpw r0, r31
/* 80262DC0 0025EA20 41 80 00 14 */ blt lbl_80262DD4
/* 80262DC4 0025EA24 3B E0 00 00 */ li r31, 0
/* 80262DC8 0025EA28 4B FF B2 09 */ bl func_8025DFD0
/* 80262DCC 0025EA2C 4B FF B5 41 */ bl func_8025E30C
/* 80262DD0 0025EA30 93 E3 10 08 */ stw r31, 0x1008(r3)
lbl_80262DD4:
/* 80262DD4 0025EA34 3F E0 00 01 */ lis r31, 0x00008000@ha
/* 80262DD8 0025EA38 38 7F 80 00 */ addi r3, r31, 0x00008000@l
/* 80262DDC 0025EA3C 4B FF B6 99 */ bl func_8025E474
/* 80262DE0 0025EA40 3C A0 80 00 */ lis r5, 0x800000F8@ha
/* 80262DE4 0025EA44 3C 80 10 62 */ lis r4, 0x10624DD3@ha
/* 80262DE8 0025EA48 80 A5 00 F8 */ lwz r5, 0x800000F8@l(r5)
/* 80262DEC 0025EA4C 38 C4 4D D3 */ addi r6, r4, 0x10624DD3@l
/* 80262DF0 0025EA50 38 00 00 0A */ li r0, 0xa
/* 80262DF4 0025EA54 38 80 00 00 */ li r4, 0
/* 80262DF8 0025EA58 54 A5 F0 BE */ srwi r5, r5, 2
/* 80262DFC 0025EA5C 7C 7E 1B 78 */ mr r30, r3
/* 80262E00 0025EA60 7C A6 28 16 */ mulhwu r5, r6, r5
/* 80262E04 0025EA64 7C 64 01 D6 */ mullw r3, r4, r0
/* 80262E08 0025EA68 54 A4 D1 BE */ srwi r4, r5, 6
/* 80262E0C 0025EA6C 7C 04 00 16 */ mulhwu r0, r4, r0
/* 80262E10 0025EA70 1C 84 00 0A */ mulli r4, r4, 0xa
/* 80262E14 0025EA74 7C 60 1A 14 */ add r3, r0, r3
/* 80262E18 0025EA78 48 00 F8 ED */ bl OSSleepTicks
/* 80262E1C 0025EA7C 7F C3 F3 78 */ mr r3, r30
/* 80262E20 0025EA80 38 9F 80 00 */ addi r4, r31, -32768
/* 80262E24 0025EA84 48 00 78 E9 */ bl DCZeroRange
/* 80262E28 0025EA88 7F C3 F3 78 */ mr r3, r30
/* 80262E2C 0025EA8C 4B FF B6 A5 */ bl func_8025E4D0
/* 80262E30 0025EA90 4B FF B1 A1 */ bl func_8025DFD0
/* 80262E34 0025EA94 4B FF B4 D9 */ bl func_8025E30C
/* 80262E38 0025EA98 80 03 10 08 */ lwz r0, 0x1008(r3)
/* 80262E3C 0025EA9C 1F E0 00 70 */ mulli r31, r0, 0x70
/* 80262E40 0025EAA0 4B FF B1 91 */ bl func_8025DFD0
/* 80262E44 0025EAA4 4B FF B4 C9 */ bl func_8025E30C
/* 80262E48 0025EAA8 80 03 10 10 */ lwz r0, 0x1010(r3)
/* 80262E4C 0025EAAC 38 80 00 70 */ li r4, 0x70
/* 80262E50 0025EAB0 7C 60 FA 14 */ add r3, r0, r31
/* 80262E54 0025EAB4 4B FF 89 E5 */ bl func_8025B838
lbl_80262E58:
/* 80262E58 0025EAB8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80262E5C 0025EABC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80262E60 0025EAC0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80262E64 0025EAC4 7C 08 03 A6 */ mtlr r0
/* 80262E68 0025EAC8 38 21 00 10 */ addi r1, r1, 0x10
/* 80262E6C 0025EACC 4E 80 00 20 */ blr
.global func_80262E70
func_80262E70:
/* 80262E70 0025EAD0 38 A0 00 01 */ li r5, 1
/* 80262E74 0025EAD4 38 6D A7 38 */ addi r3, r13, lbl_8063F9F8-_SDA_BASE_
/* 80262E78 0025EAD8 38 80 00 04 */ li r4, 4
/* 80262E7C 0025EADC 38 00 00 00 */ li r0, 0
/* 80262E80 0025EAE0 98 AD A7 38 */ stb r5, lbl_8063F9F8-_SDA_BASE_(r13)
/* 80262E84 0025EAE4 B0 83 00 02 */ sth r4, 2(r3)
/* 80262E88 0025EAE8 98 03 00 04 */ stb r0, 4(r3)
/* 80262E8C 0025EAEC 4E 80 00 20 */ blr
|