summaryrefslogtreecommitdiff
path: root/asm/code_8000748C.s
blob: 6e1bc61558a77860a7a882d294afe14c21423331 (plain)
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
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global func_8000748C
func_8000748C:
/* 8000748C 000030EC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80007490 000030F0  7C 08 02 A6 */	mflr r0
/* 80007494 000030F4  38 60 00 20 */	li r3, 0x20
/* 80007498 000030F8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8000749C 000030FC  48 1D 35 95 */	bl func_801DAA30
/* 800074A0 00003100  2C 03 00 00 */	cmpwi r3, 0
/* 800074A4 00003104  41 82 00 08 */	beq lbl_800074AC
/* 800074A8 00003108  48 00 00 F1 */	bl func_80007598
lbl_800074AC:
/* 800074AC 0000310C  90 6D 96 58 */	stw r3, lbl_8063E918-_SDA_BASE_(r13)
/* 800074B0 00003110  80 01 00 14 */	lwz r0, 0x14(r1)
/* 800074B4 00003114  7C 08 03 A6 */	mtlr r0
/* 800074B8 00003118  38 21 00 10 */	addi r1, r1, 0x10
/* 800074BC 0000311C  4E 80 00 20 */	blr

.global func_800074C0
func_800074C0:
/* 800074C0 00003120  80 6D 96 58 */	lwz r3, lbl_8063E918-_SDA_BASE_(r13)
/* 800074C4 00003124  2C 03 00 00 */	cmpwi r3, 0
/* 800074C8 00003128  4D 82 00 20 */	beqlr
/* 800074CC 0000312C  48 00 01 80 */	b lbl_8000764C
/* 800074D0 00003130  4E 80 00 20 */	blr

.global func_800074D4
func_800074D4:
/* 800074D4 00003134  80 6D 96 58 */	lwz r3, lbl_8063E918-_SDA_BASE_(r13)
/* 800074D8 00003138  2C 03 00 00 */	cmpwi r3, 0
/* 800074DC 0000313C  4D 82 00 20 */	beqlr
/* 800074E0 00003140  48 00 02 E0 */	b lbl_800077C0
/* 800074E4 00003144  4E 80 00 20 */	blr

.global func_800074E8
func_800074E8:
/* 800074E8 00003148  80 6D 96 58 */	lwz r3, lbl_8063E918-_SDA_BASE_(r13)
/* 800074EC 0000314C  2C 03 00 00 */	cmpwi r3, 0
/* 800074F0 00003150  4D 82 00 20 */	beqlr
/* 800074F4 00003154  38 00 00 01 */	li r0, 1
/* 800074F8 00003158  98 03 00 00 */	stb r0, 0(r3)
/* 800074FC 0000315C  4E 80 00 20 */	blr

.global func_80007500
func_80007500:
/* 80007500 00003160  80 6D 96 58 */	lwz r3, lbl_8063E918-_SDA_BASE_(r13)
/* 80007504 00003164  2C 03 00 00 */	cmpwi r3, 0
/* 80007508 00003168  4D 82 00 20 */	beqlr
/* 8000750C 0000316C  38 00 00 00 */	li r0, 0
/* 80007510 00003170  38 80 00 01 */	li r4, 1
/* 80007514 00003174  98 03 00 00 */	stb r0, 0(r3)
/* 80007518 00003178  80 6D 96 58 */	lwz r3, lbl_8063E918-_SDA_BASE_(r13)
/* 8000751C 0000317C  48 00 03 74 */	b func_80007890
/* 80007520 00003180  4E 80 00 20 */	blr

.global func_80007524
func_80007524:
/* 80007524 00003184  80 AD 96 58 */	lwz r5, lbl_8063E918-_SDA_BASE_(r13)
/* 80007528 00003188  2C 05 00 00 */	cmpwi r5, 0
/* 8000752C 0000318C  4D 82 00 20 */	beqlr
/* 80007530 00003190  38 00 00 01 */	li r0, 1
/* 80007534 00003194  2C 04 00 00 */	cmpwi r4, 0
/* 80007538 00003198  7C 00 18 30 */	slw r0, r0, r3
/* 8000753C 0000319C  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 80007540 000031A0  41 82 00 14 */	beq lbl_80007554
/* 80007544 000031A4  A0 05 00 0C */	lhz r0, 0xc(r5)
/* 80007548 000031A8  7C 00 1B 78 */	or r0, r0, r3
/* 8000754C 000031AC  B0 05 00 0C */	sth r0, 0xc(r5)
/* 80007550 000031B0  4E 80 00 20 */	blr
lbl_80007554:
/* 80007554 000031B4  A0 05 00 0C */	lhz r0, 0xc(r5)
/* 80007558 000031B8  7C 00 18 78 */	andc r0, r0, r3
/* 8000755C 000031BC  B0 05 00 0C */	sth r0, 0xc(r5)
/* 80007560 000031C0  4E 80 00 20 */	blr

.global func_80007564
func_80007564:
/* 80007564 000031C4  80 8D 96 58 */	lwz r4, lbl_8063E918-_SDA_BASE_(r13)
/* 80007568 000031C8  2C 04 00 00 */	cmpwi r4, 0
/* 8000756C 000031CC  4D 82 00 20 */	beqlr
/* 80007570 000031D0  98 64 00 01 */	stb r3, 1(r4)
/* 80007574 000031D4  4E 80 00 20 */	blr

.global func_80007578
func_80007578:
/* 80007578 000031D8  80 8D 96 58 */	lwz r4, lbl_8063E918-_SDA_BASE_(r13)
/* 8000757C 000031DC  38 00 00 00 */	li r0, 0
/* 80007580 000031E0  2C 04 00 00 */	cmpwi r4, 0
/* 80007584 000031E4  41 82 00 0C */	beq lbl_80007590
/* 80007588 000031E8  80 04 00 10 */	lwz r0, 0x10(r4)
/* 8000758C 000031EC  90 64 00 10 */	stw r3, 0x10(r4)
lbl_80007590:
/* 80007590 000031F0  7C 03 03 78 */	mr r3, r0
/* 80007594 000031F4  4E 80 00 20 */	blr

.global func_80007598
func_80007598:
/* 80007598 000031F8  C0 02 80 20 */	lfs f0, lbl_80640620-_SDA2_BASE_(r2)
/* 8000759C 000031FC  38 00 00 01 */	li r0, 1
/* 800075A0 00003200  38 80 00 00 */	li r4, 0
/* 800075A4 00003204  98 03 00 00 */	stb r0, 0(r3)
/* 800075A8 00003208  98 83 00 02 */	stb r4, 2(r3)
/* 800075AC 0000320C  B0 83 00 04 */	sth r4, 4(r3)
/* 800075B0 00003210  98 83 00 06 */	stb r4, 6(r3)
/* 800075B4 00003214  B0 03 00 0C */	sth r0, 0xc(r3)
/* 800075B8 00003218  98 03 00 01 */	stb r0, 1(r3)
/* 800075BC 0000321C  90 03 00 10 */	stw r0, 0x10(r3)
/* 800075C0 00003220  D0 03 00 14 */	stfs f0, 0x14(r3)
/* 800075C4 00003224  D0 03 00 18 */	stfs f0, 0x18(r3)
/* 800075C8 00003228  D0 03 00 1C */	stfs f0, 0x1c(r3)
/* 800075CC 0000322C  4E 80 00 20 */	blr

.global func_800075D0
func_800075D0:
/* 800075D0 00003230  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 800075D4 00003234  7C 08 02 A6 */	mflr r0
/* 800075D8 00003238  90 01 00 14 */	stw r0, 0x14(r1)
/* 800075DC 0000323C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 800075E0 00003240  7C 7F 1B 78 */	mr r31, r3
/* 800075E4 00003244  48 00 22 39 */	bl func_8000981C
/* 800075E8 00003248  2C 03 00 00 */	cmpwi r3, 0
/* 800075EC 0000324C  40 82 00 40 */	bne lbl_8000762C
/* 800075F0 00003250  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 800075F4 00003254  2C 03 00 00 */	cmpwi r3, 0
/* 800075F8 00003258  41 82 00 10 */	beq lbl_80007608
/* 800075FC 0000325C  88 03 00 14 */	lbz r0, 0x14(r3)
/* 80007600 00003260  2C 00 00 00 */	cmpwi r0, 0
/* 80007604 00003264  40 82 00 28 */	bne lbl_8000762C
lbl_80007608:
/* 80007608 00003268  80 0D 96 44 */	lwz r0, lbl_8063E904-_SDA_BASE_(r13)
/* 8000760C 0000326C  2C 00 00 00 */	cmpwi r0, 0
/* 80007610 00003270  40 82 00 1C */	bne lbl_8000762C
/* 80007614 00003274  48 15 B5 5D */	bl func_80162B70
/* 80007618 00003278  2C 03 00 01 */	cmpwi r3, 1
/* 8000761C 0000327C  40 82 00 18 */	bne lbl_80007634
/* 80007620 00003280  88 1F 00 06 */	lbz r0, 6(r31)
/* 80007624 00003284  2C 00 00 00 */	cmpwi r0, 0
/* 80007628 00003288  40 82 00 0C */	bne lbl_80007634
lbl_8000762C:
/* 8000762C 0000328C  38 60 00 00 */	li r3, 0
/* 80007630 00003290  48 00 00 08 */	b lbl_80007638
lbl_80007634:
/* 80007634 00003294  38 60 00 01 */	li r3, 1
lbl_80007638:
/* 80007638 00003298  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8000763C 0000329C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80007640 000032A0  7C 08 03 A6 */	mtlr r0
/* 80007644 000032A4  38 21 00 10 */	addi r1, r1, 0x10
/* 80007648 000032A8  4E 80 00 20 */	blr
lbl_8000764C:
/* 8000764C 000032AC  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80007650 000032B0  7C 08 02 A6 */	mflr r0
/* 80007654 000032B4  90 01 00 34 */	stw r0, 0x34(r1)
/* 80007658 000032B8  39 61 00 30 */	addi r11, r1, 0x30
/* 8000765C 000032BC  48 1B FA C9 */	bl _savegpr_26
/* 80007660 000032C0  7C 7E 1B 78 */	mr r30, r3
/* 80007664 000032C4  3B 60 00 00 */	li r27, 0
/* 80007668 000032C8  3B E0 00 00 */	li r31, 0
/* 8000766C 000032CC  3B 40 00 00 */	li r26, 0
/* 80007670 000032D0  3B A0 00 01 */	li r29, 1
lbl_80007674:
/* 80007674 000032D4  A0 1E 00 0C */	lhz r0, 0xc(r30)
/* 80007678 000032D8  7F BC D0 30 */	slw r28, r29, r26
/* 8000767C 000032DC  7C 00 E0 39 */	and. r0, r0, r28
/* 80007680 000032E0  41 82 00 34 */	beq lbl_800076B4
/* 80007684 000032E4  7F 43 D3 78 */	mr r3, r26
/* 80007688 000032E8  38 81 00 08 */	addi r4, r1, 8
/* 8000768C 000032EC  48 2A 16 ED */	bl func_802A8D78
/* 80007690 000032F0  38 03 00 01 */	addi r0, r3, 1
/* 80007694 000032F4  7C 00 00 34 */	cntlzw r0, r0
/* 80007698 000032F8  54 00 D9 7F */	rlwinm. r0, r0, 0x1b, 5, 0x1f
/* 8000769C 000032FC  41 82 00 08 */	beq lbl_800076A4
/* 800076A0 00003300  3B 60 00 01 */	li r27, 1
lbl_800076A4:
/* 800076A4 00003304  2C 00 00 00 */	cmpwi r0, 0
/* 800076A8 00003308  40 82 00 0C */	bne lbl_800076B4
/* 800076AC 0000330C  7F E0 E3 78 */	or r0, r31, r28
/* 800076B0 00003310  54 1F 04 3E */	clrlwi r31, r0, 0x10
lbl_800076B4:
/* 800076B4 00003314  3B 5A 00 01 */	addi r26, r26, 1
/* 800076B8 00003318  2C 1A 00 04 */	cmpwi r26, 4
/* 800076BC 0000331C  41 80 FF B8 */	blt lbl_80007674
/* 800076C0 00003320  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 800076C4 00003324  3B 40 00 01 */	li r26, 1
/* 800076C8 00003328  2C 03 00 00 */	cmpwi r3, 0
/* 800076CC 0000332C  41 82 00 3C */	beq lbl_80007708
/* 800076D0 00003330  88 1E 00 01 */	lbz r0, 1(r30)
/* 800076D4 00003334  2C 00 00 00 */	cmpwi r0, 0
/* 800076D8 00003338  41 82 00 30 */	beq lbl_80007708
/* 800076DC 0000333C  48 21 F1 61 */	bl func_8022683C
/* 800076E0 00003340  3C 80 80 3E */	lis r4, lbl_803E22D8@ha
/* 800076E4 00003344  38 84 22 D8 */	addi r4, r4, lbl_803E22D8@l
/* 800076E8 00003348  48 00 00 14 */	b lbl_800076FC
lbl_800076EC:
/* 800076EC 0000334C  7C 03 00 40 */	cmplw r3, r0
/* 800076F0 00003350  40 82 00 08 */	bne lbl_800076F8
/* 800076F4 00003354  3B 40 00 00 */	li r26, 0
lbl_800076F8:
/* 800076F8 00003358  38 84 00 02 */	addi r4, r4, 2
lbl_800076FC:
/* 800076FC 0000335C  A8 04 00 00 */	lha r0, 0(r4)
/* 80007700 00003360  2C 00 00 00 */	cmpwi r0, 0
/* 80007704 00003364  40 80 FF E8 */	bge lbl_800076EC
lbl_80007708:
/* 80007708 00003368  88 1E 00 00 */	lbz r0, 0(r30)
/* 8000770C 0000336C  2C 00 00 00 */	cmpwi r0, 0
/* 80007710 00003370  41 82 00 7C */	beq lbl_8000778C
/* 80007714 00003374  2C 1A 00 00 */	cmpwi r26, 0
/* 80007718 00003378  41 82 00 74 */	beq lbl_8000778C
/* 8000771C 0000337C  48 00 21 1D */	bl func_80009838
/* 80007720 00003380  2C 03 00 00 */	cmpwi r3, 0
/* 80007724 00003384  40 82 00 68 */	bne lbl_8000778C
/* 80007728 00003388  7F C3 F3 78 */	mr r3, r30
/* 8000772C 0000338C  4B FF FE A5 */	bl func_800075D0
/* 80007730 00003390  2C 03 00 00 */	cmpwi r3, 0
/* 80007734 00003394  41 82 00 58 */	beq lbl_8000778C
/* 80007738 00003398  2C 1B 00 00 */	cmpwi r27, 0
/* 8000773C 0000339C  41 82 00 2C */	beq lbl_80007768
/* 80007740 000033A0  A0 7E 00 04 */	lhz r3, 4(r30)
/* 80007744 000033A4  38 63 00 01 */	addi r3, r3, 1
/* 80007748 000033A8  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 8000774C 000033AC  B0 7E 00 04 */	sth r3, 4(r30)
/* 80007750 000033B0  28 00 00 04 */	cmplwi r0, 4
/* 80007754 000033B4  41 80 00 14 */	blt lbl_80007768
/* 80007758 000033B8  38 00 00 04 */	li r0, 4
/* 8000775C 000033BC  7F C3 F3 78 */	mr r3, r30
/* 80007760 000033C0  B0 1E 00 04 */	sth r0, 4(r30)
/* 80007764 000033C4  48 00 00 69 */	bl func_800077CC
lbl_80007768:
/* 80007768 000033C8  A0 1E 00 0C */	lhz r0, 0xc(r30)
/* 8000776C 000033CC  7C 1F 00 40 */	cmplw r31, r0
/* 80007770 000033D0  40 82 00 30 */	bne lbl_800077A0
/* 80007774 000033D4  7F C3 F3 78 */	mr r3, r30
/* 80007778 000033D8  38 80 00 01 */	li r4, 1
/* 8000777C 000033DC  48 00 01 15 */	bl func_80007890
/* 80007780 000033E0  38 00 00 00 */	li r0, 0
/* 80007784 000033E4  B0 1E 00 04 */	sth r0, 4(r30)
/* 80007788 000033E8  48 00 00 18 */	b lbl_800077A0
lbl_8000778C:
/* 8000778C 000033EC  7F C3 F3 78 */	mr r3, r30
/* 80007790 000033F0  38 80 00 00 */	li r4, 0
/* 80007794 000033F4  48 00 00 FD */	bl func_80007890
/* 80007798 000033F8  38 00 00 00 */	li r0, 0
/* 8000779C 000033FC  B0 1E 00 04 */	sth r0, 4(r30)
lbl_800077A0:
/* 800077A0 00003400  38 00 00 00 */	li r0, 0
/* 800077A4 00003404  39 61 00 30 */	addi r11, r1, 0x30
/* 800077A8 00003408  98 1E 00 06 */	stb r0, 6(r30)
/* 800077AC 0000340C  48 1B F9 C5 */	bl _restgpr_26
/* 800077B0 00003410  80 01 00 34 */	lwz r0, 0x34(r1)
/* 800077B4 00003414  7C 08 03 A6 */	mtlr r0
/* 800077B8 00003418  38 21 00 30 */	addi r1, r1, 0x30
/* 800077BC 0000341C  4E 80 00 20 */	blr
lbl_800077C0:
/* 800077C0 00003420  38 00 00 01 */	li r0, 1
/* 800077C4 00003424  98 03 00 06 */	stb r0, 6(r3)
/* 800077C8 00003428  4E 80 00 20 */	blr

.global func_800077CC
func_800077CC:
/* 800077CC 0000342C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 800077D0 00003430  7C 08 02 A6 */	mflr r0
/* 800077D4 00003434  90 01 00 14 */	stw r0, 0x14(r1)
/* 800077D8 00003438  93 E1 00 0C */	stw r31, 0xc(r1)
/* 800077DC 0000343C  7C 7F 1B 78 */	mr r31, r3
/* 800077E0 00003440  88 03 00 02 */	lbz r0, 2(r3)
/* 800077E4 00003444  2C 00 00 00 */	cmpwi r0, 0
/* 800077E8 00003448  40 82 00 94 */	bne lbl_8000787C
/* 800077EC 0000344C  80 8D A3 D8 */	lwz r4, lbl_8063F698-_SDA_BASE_(r13)
/* 800077F0 00003450  38 60 00 00 */	li r3, 0
/* 800077F4 00003454  88 04 00 82 */	lbz r0, 0x82(r4)
/* 800077F8 00003458  2C 00 00 00 */	cmpwi r0, 0
/* 800077FC 0000345C  40 82 00 10 */	bne lbl_8000780C
/* 80007800 00003460  88 04 00 83 */	lbz r0, 0x83(r4)
/* 80007804 00003464  2C 00 00 00 */	cmpwi r0, 0
/* 80007808 00003468  41 82 00 08 */	beq lbl_80007810
lbl_8000780C:
/* 8000780C 0000346C  38 60 00 01 */	li r3, 1
lbl_80007810:
/* 80007810 00003470  2C 03 00 00 */	cmpwi r3, 0
/* 80007814 00003474  40 82 00 68 */	bne lbl_8000787C
/* 80007818 00003478  38 60 52 88 */	li r3, 0x5288
/* 8000781C 0000347C  48 04 EC 91 */	bl func_800564AC
/* 80007820 00003480  48 00 40 31 */	bl func_8000B850
/* 80007824 00003484  D0 3F 00 14 */	stfs f1, 0x14(r31)
/* 80007828 00003488  48 00 40 31 */	bl func_8000B858
/* 8000782C 0000348C  D0 3F 00 18 */	stfs f1, 0x18(r31)
/* 80007830 00003490  48 00 20 25 */	bl func_80009854
/* 80007834 00003494  2C 03 00 00 */	cmpwi r3, 0
/* 80007838 00003498  41 82 00 3C */	beq lbl_80007874
/* 8000783C 0000349C  80 1F 00 10 */	lwz r0, 0x10(r31)
/* 80007840 000034A0  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 80007844 000034A4  41 82 00 0C */	beq lbl_80007850
/* 80007848 000034A8  C0 22 80 24 */	lfs f1, lbl_80640624-_SDA2_BASE_(r2)
/* 8000784C 000034AC  48 00 3F 39 */	bl func_8000B784
lbl_80007850:
/* 80007850 000034B0  80 1F 00 10 */	lwz r0, 0x10(r31)
/* 80007854 000034B4  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 80007858 000034B8  41 82 00 0C */	beq lbl_80007864
/* 8000785C 000034BC  C0 22 80 24 */	lfs f1, lbl_80640624-_SDA2_BASE_(r2)
/* 80007860 000034C0  48 00 3F AD */	bl func_8000B80C
lbl_80007864:
/* 80007864 000034C4  4B FF F7 F9 */	bl func_8000705C
/* 80007868 000034C8  80 6D A3 D8 */	lwz r3, lbl_8063F698-_SDA_BASE_(r13)
/* 8000786C 000034CC  38 00 00 01 */	li r0, 1
/* 80007870 000034D0  98 03 00 83 */	stb r0, 0x83(r3)
lbl_80007874:
/* 80007874 000034D4  38 00 00 01 */	li r0, 1
/* 80007878 000034D8  98 1F 00 02 */	stb r0, 2(r31)
lbl_8000787C:
/* 8000787C 000034DC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80007880 000034E0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80007884 000034E4  7C 08 03 A6 */	mtlr r0
/* 80007888 000034E8  38 21 00 10 */	addi r1, r1, 0x10
/* 8000788C 000034EC  4E 80 00 20 */	blr

.global func_80007890
func_80007890:
/* 80007890 000034F0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80007894 000034F4  7C 08 02 A6 */	mflr r0
/* 80007898 000034F8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8000789C 000034FC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 800078A0 00003500  7C 9F 23 78 */	mr r31, r4
/* 800078A4 00003504  93 C1 00 08 */	stw r30, 8(r1)
/* 800078A8 00003508  7C 7E 1B 78 */	mr r30, r3
/* 800078AC 0000350C  88 03 00 02 */	lbz r0, 2(r3)
/* 800078B0 00003510  2C 00 00 00 */	cmpwi r0, 0
/* 800078B4 00003514  41 82 00 54 */	beq lbl_80007908
/* 800078B8 00003518  80 03 00 10 */	lwz r0, 0x10(r3)
/* 800078BC 0000351C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 800078C0 00003520  41 82 00 0C */	beq lbl_800078CC
/* 800078C4 00003524  C0 23 00 14 */	lfs f1, 0x14(r3)
/* 800078C8 00003528  48 00 3E BD */	bl func_8000B784
lbl_800078CC:
/* 800078CC 0000352C  80 1E 00 10 */	lwz r0, 0x10(r30)
/* 800078D0 00003530  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 800078D4 00003534  41 82 00 0C */	beq lbl_800078E0
/* 800078D8 00003538  C0 3E 00 18 */	lfs f1, 0x18(r30)
/* 800078DC 0000353C  48 00 3F 31 */	bl func_8000B80C
lbl_800078E0:
/* 800078E0 00003540  2C 1F 00 00 */	cmpwi r31, 0
/* 800078E4 00003544  41 82 00 14 */	beq lbl_800078F8
/* 800078E8 00003548  80 6D A3 D8 */	lwz r3, lbl_8063F698-_SDA_BASE_(r13)
/* 800078EC 0000354C  38 00 00 00 */	li r0, 0
/* 800078F0 00003550  98 03 00 83 */	stb r0, 0x83(r3)
/* 800078F4 00003554  4B FF F7 7D */	bl func_80007070
lbl_800078F8:
/* 800078F8 00003558  38 60 00 00 */	li r3, 0
/* 800078FC 0000355C  48 04 EB B1 */	bl func_800564AC
/* 80007900 00003560  38 00 00 00 */	li r0, 0
/* 80007904 00003564  98 1E 00 02 */	stb r0, 2(r30)
lbl_80007908:
/* 80007908 00003568  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8000790C 0000356C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80007910 00003570  83 C1 00 08 */	lwz r30, 8(r1)
/* 80007914 00003574  7C 08 03 A6 */	mtlr r0
/* 80007918 00003578  38 21 00 10 */	addi r1, r1, 0x10
/* 8000791C 0000357C  4E 80 00 20 */	blr

.global func_80007920
func_80007920:
/* 80007920 00003580  38 A0 00 01 */	li r5, 1
/* 80007924 00003584  38 6D 96 50 */	addi r3, r13, lbl_8063E910-_SDA_BASE_
/* 80007928 00003588  38 80 00 04 */	li r4, 4
/* 8000792C 0000358C  38 00 00 00 */	li r0, 0
/* 80007930 00003590  98 AD 96 50 */	stb r5, lbl_8063E910-_SDA_BASE_(r13)
/* 80007934 00003594  B0 83 00 02 */	sth r4, 2(r3)
/* 80007938 00003598  98 03 00 04 */	stb r0, 4(r3)
/* 8000793C 0000359C  4E 80 00 20 */	blr