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
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global VFiPFSTR_SetCodeMode
VFiPFSTR_SetCodeMode:
/* 803052D8 00300F38 90 83 00 0C */ stw r4, 0xc(r3)
/* 803052DC 00300F3C 4E 80 00 20 */ blr
.global VFiPFSTR_GetCodeMode
VFiPFSTR_GetCodeMode:
/* 803052E0 00300F40 80 63 00 0C */ lwz r3, 0xc(r3)
/* 803052E4 00300F44 4E 80 00 20 */ blr
.global VFiPFSTR_SetLocalStr
VFiPFSTR_SetLocalStr:
/* 803052E8 00300F48 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803052EC 00300F4C 28 00 00 01 */ cmplwi r0, 1
/* 803052F0 00300F50 41 82 00 0C */ beq lbl_803052FC
/* 803052F4 00300F54 2C 04 00 00 */ cmpwi r4, 0
/* 803052F8 00300F58 40 82 00 10 */ bne lbl_80305308
lbl_803052FC:
/* 803052FC 00300F5C 80 03 00 00 */ lwz r0, 0(r3)
/* 80305300 00300F60 90 03 00 08 */ stw r0, 8(r3)
/* 80305304 00300F64 4E 80 00 20 */ blr
lbl_80305308:
/* 80305308 00300F68 90 83 00 08 */ stw r4, 8(r3)
/* 8030530C 00300F6C 4E 80 00 20 */ blr
.global VFiPFSTR_GetStrPos
VFiPFSTR_GetStrPos:
/* 80305310 00300F70 28 04 00 01 */ cmplwi r4, 1
/* 80305314 00300F74 40 82 00 0C */ bne lbl_80305320
/* 80305318 00300F78 80 63 00 00 */ lwz r3, 0(r3)
/* 8030531C 00300F7C 4E 80 00 20 */ blr
lbl_80305320:
/* 80305320 00300F80 28 04 00 02 */ cmplwi r4, 2
/* 80305324 00300F84 40 82 00 0C */ bne lbl_80305330
/* 80305328 00300F88 80 63 00 04 */ lwz r3, 4(r3)
/* 8030532C 00300F8C 4E 80 00 20 */ blr
lbl_80305330:
/* 80305330 00300F90 80 63 00 08 */ lwz r3, 8(r3)
/* 80305334 00300F94 4E 80 00 20 */ blr
.global VFiPFSTR_MoveStrPos
VFiPFSTR_MoveStrPos:
/* 80305338 00300F98 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8030533C 00300F9C 7C 08 02 A6 */ mflr r0
/* 80305340 00300FA0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80305344 00300FA4 39 61 00 20 */ addi r11, r1, 0x20
/* 80305348 00300FA8 4B EC 1D DD */ bl _savegpr_26
/* 8030534C 00300FAC 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80305350 00300FB0 7C 7F 1B 78 */ mr r31, r3
/* 80305354 00300FB4 7C 9A 23 78 */ mr r26, r4
/* 80305358 00300FB8 3B 80 00 00 */ li r28, 0
/* 8030535C 00300FBC 28 00 00 01 */ cmplwi r0, 1
/* 80305360 00300FC0 40 82 00 50 */ bne lbl_803053B0
/* 80305364 00300FC4 3F C0 80 58 */ lis r30, lbl_8057F5C8@ha
/* 80305368 00300FC8 83 A3 00 00 */ lwz r29, 0(r3)
/* 8030536C 00300FCC 3B DE F5 C8 */ addi r30, r30, lbl_8057F5C8@l
/* 80305370 00300FD0 48 00 00 34 */ b lbl_803053A4
lbl_80305374:
/* 80305374 00300FD4 88 1D 00 00 */ lbz r0, 0(r29)
/* 80305378 00300FD8 38 80 00 01 */ li r4, 1
/* 8030537C 00300FDC 81 9E 00 30 */ lwz r12, 0x30(r30)
/* 80305380 00300FE0 7C 03 07 74 */ extsb r3, r0
/* 80305384 00300FE4 7D 89 03 A6 */ mtctr r12
/* 80305388 00300FE8 4E 80 04 21 */ bctrl
/* 8030538C 00300FEC 2C 03 00 00 */ cmpwi r3, 0
/* 80305390 00300FF0 41 82 00 0C */ beq lbl_8030539C
/* 80305394 00300FF4 38 1C 00 01 */ addi r0, r28, 1
/* 80305398 00300FF8 7C 1C 07 34 */ extsh r28, r0
lbl_8030539C:
/* 8030539C 00300FFC 3B 9C 00 01 */ addi r28, r28, 1
/* 803053A0 00301000 3B 5A FF FF */ addi r26, r26, -1
lbl_803053A4:
/* 803053A4 00301004 7F 40 07 35 */ extsh. r0, r26
/* 803053A8 00301008 40 82 FF CC */ bne lbl_80305374
/* 803053AC 0030100C 48 00 00 48 */ b lbl_803053F4
lbl_803053B0:
/* 803053B0 00301010 3F C0 80 58 */ lis r30, lbl_8057F5C8@ha
/* 803053B4 00301014 83 63 00 00 */ lwz r27, 0(r3)
/* 803053B8 00301018 3B DE F5 C8 */ addi r30, r30, lbl_8057F5C8@l
/* 803053BC 0030101C 3B A0 00 00 */ li r29, 0
/* 803053C0 00301020 48 00 00 28 */ b lbl_803053E8
lbl_803053C4:
/* 803053C4 00301024 81 9E 00 34 */ lwz r12, 0x34(r30)
/* 803053C8 00301028 7F 63 DB 78 */ mr r3, r27
/* 803053CC 0030102C 7D 89 03 A6 */ mtctr r12
/* 803053D0 00301030 4E 80 04 21 */ bctrl
/* 803053D4 00301034 54 64 08 3C */ slwi r4, r3, 1
/* 803053D8 00301038 7C 60 07 34 */ extsh r0, r3
/* 803053DC 0030103C 7F 7B 22 14 */ add r27, r27, r4
/* 803053E0 00301040 3B BD 00 01 */ addi r29, r29, 1
/* 803053E4 00301044 7F 9C 02 14 */ add r28, r28, r0
lbl_803053E8:
/* 803053E8 00301048 7F A0 07 34 */ extsh r0, r29
/* 803053EC 0030104C 7C 00 D0 00 */ cmpw r0, r26
/* 803053F0 00301050 41 80 FF D4 */ blt lbl_803053C4
lbl_803053F4:
/* 803053F4 00301054 80 7F 00 00 */ lwz r3, 0(r31)
/* 803053F8 00301058 7F 80 07 34 */ extsh r0, r28
/* 803053FC 0030105C 39 61 00 20 */ addi r11, r1, 0x20
/* 80305400 00301060 7C 03 02 14 */ add r0, r3, r0
/* 80305404 00301064 90 1F 00 00 */ stw r0, 0(r31)
/* 80305408 00301068 4B EC 1D 69 */ bl _restgpr_26
/* 8030540C 0030106C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80305410 00301070 7C 08 03 A6 */ mtlr r0
/* 80305414 00301074 38 21 00 20 */ addi r1, r1, 0x20
/* 80305418 00301078 4E 80 00 20 */ blr
.global VFiPFSTR_InitStr
VFiPFSTR_InitStr:
/* 8030541C 0030107C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80305420 00301080 7C 08 02 A6 */ mflr r0
/* 80305424 00301084 2C 03 00 00 */ cmpwi r3, 0
/* 80305428 00301088 90 01 00 24 */ stw r0, 0x24(r1)
/* 8030542C 0030108C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80305430 00301090 7C BF 2B 78 */ mr r31, r5
/* 80305434 00301094 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80305438 00301098 7C 9E 23 78 */ mr r30, r4
/* 8030543C 0030109C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80305440 003010A0 7C 7D 1B 78 */ mr r29, r3
/* 80305444 003010A4 41 82 00 0C */ beq lbl_80305450
/* 80305448 003010A8 2C 04 00 00 */ cmpwi r4, 0
/* 8030544C 003010AC 40 82 00 0C */ bne lbl_80305458
lbl_80305450:
/* 80305450 003010B0 38 60 00 0A */ li r3, 0xa
/* 80305454 003010B4 48 00 00 58 */ b lbl_803054AC
lbl_80305458:
/* 80305458 003010B8 28 05 00 01 */ cmplwi r5, 1
/* 8030545C 003010BC 40 82 00 1C */ bne lbl_80305478
/* 80305460 003010C0 90 83 00 00 */ stw r4, 0(r3)
/* 80305464 003010C4 7F C3 F3 78 */ mr r3, r30
/* 80305468 003010C8 4B FF FC 65 */ bl VFipf_strlen
/* 8030546C 003010CC 7C 1E 1A 14 */ add r0, r30, r3
/* 80305470 003010D0 90 1D 00 04 */ stw r0, 4(r29)
/* 80305474 003010D4 48 00 00 30 */ b lbl_803054A4
lbl_80305478:
/* 80305478 003010D8 28 05 00 02 */ cmplwi r5, 2
/* 8030547C 003010DC 40 82 00 20 */ bne lbl_8030549C
/* 80305480 003010E0 90 83 00 00 */ stw r4, 0(r3)
/* 80305484 003010E4 7F C3 F3 78 */ mr r3, r30
/* 80305488 003010E8 48 00 03 D9 */ bl VFipf_w_strlen
/* 8030548C 003010EC 54 60 08 3C */ slwi r0, r3, 1
/* 80305490 003010F0 7C 1E 02 14 */ add r0, r30, r0
/* 80305494 003010F4 90 1D 00 04 */ stw r0, 4(r29)
/* 80305498 003010F8 48 00 00 0C */ b lbl_803054A4
lbl_8030549C:
/* 8030549C 003010FC 38 60 00 0A */ li r3, 0xa
/* 803054A0 00301100 48 00 00 0C */ b lbl_803054AC
lbl_803054A4:
/* 803054A4 00301104 93 FD 00 0C */ stw r31, 0xc(r29)
/* 803054A8 00301108 38 60 00 00 */ li r3, 0
lbl_803054AC:
/* 803054AC 0030110C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803054B0 00301110 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803054B4 00301114 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803054B8 00301118 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803054BC 0030111C 7C 08 03 A6 */ mtlr r0
/* 803054C0 00301120 38 21 00 20 */ addi r1, r1, 0x20
/* 803054C4 00301124 4E 80 00 20 */ blr
.global VFiPFSTR_StrLen
VFiPFSTR_StrLen:
/* 803054C8 00301128 80 83 00 00 */ lwz r4, 0(r3)
/* 803054CC 0030112C 80 03 00 04 */ lwz r0, 4(r3)
/* 803054D0 00301130 7C 04 00 50 */ subf r0, r4, r0
/* 803054D4 00301134 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803054D8 00301138 4E 80 00 20 */ blr
.global VFiPFSTR_StrNumChar
VFiPFSTR_StrNumChar:
/* 803054DC 0030113C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803054E0 00301140 7C 08 02 A6 */ mflr r0
/* 803054E4 00301144 28 04 00 01 */ cmplwi r4, 1
/* 803054E8 00301148 90 01 00 24 */ stw r0, 0x24(r1)
/* 803054EC 0030114C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803054F0 00301150 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803054F4 00301154 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803054F8 00301158 40 82 00 0C */ bne lbl_80305504
/* 803054FC 0030115C 83 C3 00 00 */ lwz r30, 0(r3)
/* 80305500 00301160 48 00 00 08 */ b lbl_80305508
lbl_80305504:
/* 80305504 00301164 83 C3 00 04 */ lwz r30, 4(r3)
lbl_80305508:
/* 80305508 00301168 80 03 00 0C */ lwz r0, 0xc(r3)
/* 8030550C 0030116C 28 00 00 01 */ cmplwi r0, 1
/* 80305510 00301170 40 82 00 4C */ bne lbl_8030555C
/* 80305514 00301174 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha
/* 80305518 00301178 3B A0 00 00 */ li r29, 0
/* 8030551C 0030117C 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l
/* 80305520 00301180 48 00 00 2C */ b lbl_8030554C
lbl_80305524:
/* 80305524 00301184 81 9F 00 30 */ lwz r12, 0x30(r31)
/* 80305528 00301188 7C 63 07 74 */ extsb r3, r3
/* 8030552C 0030118C 38 80 00 01 */ li r4, 1
/* 80305530 00301190 7D 89 03 A6 */ mtctr r12
/* 80305534 00301194 4E 80 04 21 */ bctrl
/* 80305538 00301198 2C 03 00 00 */ cmpwi r3, 0
/* 8030553C 0030119C 41 82 00 08 */ beq lbl_80305544
/* 80305540 003011A0 3B DE 00 01 */ addi r30, r30, 1
lbl_80305544:
/* 80305544 003011A4 3B DE 00 01 */ addi r30, r30, 1
/* 80305548 003011A8 3B BD 00 01 */ addi r29, r29, 1
lbl_8030554C:
/* 8030554C 003011AC 88 7E 00 00 */ lbz r3, 0(r30)
/* 80305550 003011B0 7C 60 07 75 */ extsb. r0, r3
/* 80305554 003011B4 40 82 FF D0 */ bne lbl_80305524
/* 80305558 003011B8 48 00 00 44 */ b lbl_8030559C
lbl_8030555C:
/* 8030555C 003011BC 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha
/* 80305560 003011C0 3B A0 00 00 */ li r29, 0
/* 80305564 003011C4 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l
/* 80305568 003011C8 48 00 00 1C */ b lbl_80305584
lbl_8030556C:
/* 8030556C 003011CC 81 9F 00 34 */ lwz r12, 0x34(r31)
/* 80305570 003011D0 7F C3 F3 78 */ mr r3, r30
/* 80305574 003011D4 7D 89 03 A6 */ mtctr r12
/* 80305578 003011D8 4E 80 04 21 */ bctrl
/* 8030557C 003011DC 7F DE 1A 14 */ add r30, r30, r3
/* 80305580 003011E0 3B BD 00 01 */ addi r29, r29, 1
lbl_80305584:
/* 80305584 003011E4 88 1E 00 00 */ lbz r0, 0(r30)
/* 80305588 003011E8 7C 00 07 75 */ extsb. r0, r0
/* 8030558C 003011EC 40 82 FF E0 */ bne lbl_8030556C
/* 80305590 003011F0 88 1E 00 01 */ lbz r0, 1(r30)
/* 80305594 003011F4 7C 00 07 75 */ extsb. r0, r0
/* 80305598 003011F8 40 82 FF D4 */ bne lbl_8030556C
lbl_8030559C:
/* 8030559C 003011FC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803055A0 00301200 7F A3 EB 78 */ mr r3, r29
/* 803055A4 00301204 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803055A8 00301208 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803055AC 0030120C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803055B0 00301210 7C 08 03 A6 */ mtlr r0
/* 803055B4 00301214 38 21 00 20 */ addi r1, r1, 0x20
/* 803055B8 00301218 4E 80 00 20 */ blr
.global VFiPFSTR_StrCmp
VFiPFSTR_StrCmp:
/* 803055BC 0030121C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803055C0 00301220 7C 08 02 A6 */ mflr r0
/* 803055C4 00301224 90 01 00 24 */ stw r0, 0x24(r1)
/* 803055C8 00301228 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803055CC 0030122C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803055D0 00301230 28 00 00 01 */ cmplwi r0, 1
/* 803055D4 00301234 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803055D8 00301238 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803055DC 0030123C 7C 9D 23 78 */ mr r29, r4
/* 803055E0 00301240 40 82 00 10 */ bne lbl_803055F0
/* 803055E4 00301244 80 63 00 00 */ lwz r3, 0(r3)
/* 803055E8 00301248 4B FF FB 29 */ bl VFipf_strcmp
/* 803055EC 0030124C 48 00 00 58 */ b lbl_80305644
lbl_803055F0:
/* 803055F0 00301250 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha
/* 803055F4 00301254 83 C3 00 00 */ lwz r30, 0(r3)
/* 803055F8 00301258 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l
lbl_803055FC:
/* 803055FC 0030125C 81 9F 00 24 */ lwz r12, 0x24(r31)
/* 80305600 00301260 7F A3 EB 78 */ mr r3, r29
/* 80305604 00301264 38 81 00 08 */ addi r4, r1, 8
/* 80305608 00301268 7D 89 03 A6 */ mtctr r12
/* 8030560C 0030126C 4E 80 04 21 */ bctrl
/* 80305610 00301270 A0 1E 00 00 */ lhz r0, 0(r30)
/* 80305614 00301274 3B BD 00 01 */ addi r29, r29, 1
/* 80305618 00301278 A0 61 00 08 */ lhz r3, 8(r1)
/* 8030561C 0030127C 3B DE 00 02 */ addi r30, r30, 2
/* 80305620 00301280 7C 00 18 40 */ cmplw r0, r3
/* 80305624 00301284 40 82 00 18 */ bne lbl_8030563C
/* 80305628 00301288 A0 1E FF FE */ lhz r0, -2(r30)
/* 8030562C 0030128C 2C 00 00 00 */ cmpwi r0, 0
/* 80305630 00301290 41 82 00 0C */ beq lbl_8030563C
/* 80305634 00301294 2C 03 00 00 */ cmpwi r3, 0
/* 80305638 00301298 40 82 FF C4 */ bne lbl_803055FC
lbl_8030563C:
/* 8030563C 0030129C A0 1E FF FE */ lhz r0, -2(r30)
/* 80305640 003012A0 7C 63 00 50 */ subf r3, r3, r0
lbl_80305644:
/* 80305644 003012A4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80305648 003012A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8030564C 003012AC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80305650 003012B0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80305654 003012B4 7C 08 03 A6 */ mtlr r0
/* 80305658 003012B8 38 21 00 20 */ addi r1, r1, 0x20
/* 8030565C 003012BC 4E 80 00 20 */ blr
.global VFiPFSTR_StrNCmp
VFiPFSTR_StrNCmp:
/* 80305660 003012C0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80305664 003012C4 7C 08 02 A6 */ mflr r0
/* 80305668 003012C8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8030566C 003012CC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80305670 003012D0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80305674 003012D4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80305678 003012D8 7C FD 3B 78 */ mr r29, r7
/* 8030567C 003012DC 93 81 00 10 */ stw r28, 0x10(r1)
/* 80305680 003012E0 7C 9C 23 78 */ mr r28, r4
/* 80305684 003012E4 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80305688 003012E8 28 00 00 01 */ cmplwi r0, 1
/* 8030568C 003012EC 41 82 00 0C */ beq lbl_80305698
/* 80305690 003012F0 28 05 00 03 */ cmplwi r5, 3
/* 80305694 003012F4 40 82 00 44 */ bne lbl_803056D8
lbl_80305698:
/* 80305698 003012F8 28 05 00 01 */ cmplwi r5, 1
/* 8030569C 003012FC 40 82 00 10 */ bne lbl_803056AC
/* 803056A0 00301300 80 03 00 00 */ lwz r0, 0(r3)
/* 803056A4 00301304 7C 60 32 14 */ add r3, r0, r6
/* 803056A8 00301308 48 00 00 20 */ b lbl_803056C8
lbl_803056AC:
/* 803056AC 0030130C 28 05 00 02 */ cmplwi r5, 2
/* 803056B0 00301310 40 82 00 10 */ bne lbl_803056C0
/* 803056B4 00301314 80 03 00 04 */ lwz r0, 4(r3)
/* 803056B8 00301318 7C 60 32 14 */ add r3, r0, r6
/* 803056BC 0030131C 48 00 00 0C */ b lbl_803056C8
lbl_803056C0:
/* 803056C0 00301320 80 03 00 08 */ lwz r0, 8(r3)
/* 803056C4 00301324 7C 60 32 14 */ add r3, r0, r6
lbl_803056C8:
/* 803056C8 00301328 7F 84 E3 78 */ mr r4, r28
/* 803056CC 0030132C 7F A5 EB 78 */ mr r5, r29
/* 803056D0 00301330 4B FF FA 79 */ bl VFipf_strncmp
/* 803056D4 00301334 48 00 00 84 */ b lbl_80305758
lbl_803056D8:
/* 803056D8 00301338 28 05 00 01 */ cmplwi r5, 1
/* 803056DC 0030133C 40 82 00 14 */ bne lbl_803056F0
/* 803056E0 00301340 80 63 00 00 */ lwz r3, 0(r3)
/* 803056E4 00301344 54 C0 08 3C */ slwi r0, r6, 1
/* 803056E8 00301348 7F C3 02 14 */ add r30, r3, r0
/* 803056EC 0030134C 48 00 00 10 */ b lbl_803056FC
lbl_803056F0:
/* 803056F0 00301350 80 63 00 04 */ lwz r3, 4(r3)
/* 803056F4 00301354 54 C0 08 3C */ slwi r0, r6, 1
/* 803056F8 00301358 7F C3 02 14 */ add r30, r3, r0
lbl_803056FC:
/* 803056FC 0030135C 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha
/* 80305700 00301360 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l
lbl_80305704:
/* 80305704 00301364 81 9F 00 24 */ lwz r12, 0x24(r31)
/* 80305708 00301368 7F 83 E3 78 */ mr r3, r28
/* 8030570C 0030136C 38 81 00 08 */ addi r4, r1, 8
/* 80305710 00301370 7D 89 03 A6 */ mtctr r12
/* 80305714 00301374 4E 80 04 21 */ bctrl
/* 80305718 00301378 A0 1E 00 00 */ lhz r0, 0(r30)
/* 8030571C 0030137C 3B 9C 00 01 */ addi r28, r28, 1
/* 80305720 00301380 A0 61 00 08 */ lhz r3, 8(r1)
/* 80305724 00301384 3B BD FF FF */ addi r29, r29, -1
/* 80305728 00301388 3B DE 00 02 */ addi r30, r30, 2
/* 8030572C 0030138C 7C 00 18 40 */ cmplw r0, r3
/* 80305730 00301390 40 82 00 20 */ bne lbl_80305750
/* 80305734 00301394 57 A0 04 3F */ clrlwi. r0, r29, 0x10
/* 80305738 00301398 41 82 00 18 */ beq lbl_80305750
/* 8030573C 0030139C A0 1E FF FE */ lhz r0, -2(r30)
/* 80305740 003013A0 2C 00 00 00 */ cmpwi r0, 0
/* 80305744 003013A4 41 82 00 0C */ beq lbl_80305750
/* 80305748 003013A8 2C 03 00 00 */ cmpwi r3, 0
/* 8030574C 003013AC 40 82 FF B8 */ bne lbl_80305704
lbl_80305750:
/* 80305750 003013B0 A0 1E FF FE */ lhz r0, -2(r30)
/* 80305754 003013B4 7C 63 00 50 */ subf r3, r3, r0
lbl_80305758:
/* 80305758 003013B8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8030575C 003013BC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80305760 003013C0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80305764 003013C4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80305768 003013C8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8030576C 003013CC 7C 08 03 A6 */ mtlr r0
/* 80305770 003013D0 38 21 00 20 */ addi r1, r1, 0x20
/* 80305774 003013D4 4E 80 00 20 */ blr
.global VFiPFSTR_ToUpperNStr
VFiPFSTR_ToUpperNStr:
/* 80305778 003013D8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8030577C 003013DC 7C 08 02 A6 */ mflr r0
/* 80305780 003013E0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80305784 003013E4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80305788 003013E8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8030578C 003013EC 7C BE 2B 78 */ mr r30, r5
/* 80305790 003013F0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80305794 003013F4 7C 9D 23 78 */ mr r29, r4
/* 80305798 003013F8 80 03 00 0C */ lwz r0, 0xc(r3)
/* 8030579C 003013FC 28 00 00 01 */ cmplwi r0, 1
/* 803057A0 00301400 40 82 00 3C */ bne lbl_803057DC
/* 803057A4 00301404 83 E3 00 00 */ lwz r31, 0(r3)
/* 803057A8 00301408 48 00 00 1C */ b lbl_803057C4
lbl_803057AC:
/* 803057AC 0030140C 7C 63 07 74 */ extsb r3, r3
/* 803057B0 00301410 4B FF F6 E5 */ bl VFipf_toupper
/* 803057B4 00301414 98 7E 00 00 */ stb r3, 0(r30)
/* 803057B8 00301418 3B DE 00 01 */ addi r30, r30, 1
/* 803057BC 0030141C 3B FF 00 01 */ addi r31, r31, 1
/* 803057C0 00301420 3B BD FF FF */ addi r29, r29, -1
lbl_803057C4:
/* 803057C4 00301424 57 A0 04 3F */ clrlwi. r0, r29, 0x10
/* 803057C8 00301428 41 82 00 74 */ beq lbl_8030583C
/* 803057CC 0030142C 88 7F 00 00 */ lbz r3, 0(r31)
/* 803057D0 00301430 7C 60 07 75 */ extsb. r0, r3
/* 803057D4 00301434 40 82 FF D8 */ bne lbl_803057AC
/* 803057D8 00301438 48 00 00 64 */ b lbl_8030583C
lbl_803057DC:
/* 803057DC 0030143C 80 83 00 00 */ lwz r4, 0(r3)
/* 803057E0 00301440 48 00 00 40 */ b lbl_80305820
lbl_803057E4:
/* 803057E4 00301444 28 03 00 61 */ cmplwi r3, 0x61
/* 803057E8 00301448 38 00 00 00 */ li r0, 0
/* 803057EC 0030144C 41 80 00 10 */ blt lbl_803057FC
/* 803057F0 00301450 28 03 00 7A */ cmplwi r3, 0x7a
/* 803057F4 00301454 41 81 00 08 */ bgt lbl_803057FC
/* 803057F8 00301458 38 00 00 01 */ li r0, 1
lbl_803057FC:
/* 803057FC 0030145C 2C 00 00 00 */ cmpwi r0, 0
/* 80305800 00301460 41 82 00 08 */ beq lbl_80305808
/* 80305804 00301464 38 63 FF E0 */ addi r3, r3, -32
lbl_80305808:
/* 80305808 00301468 98 7E 00 00 */ stb r3, 0(r30)
/* 8030580C 0030146C 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f
/* 80305810 00301470 38 84 00 02 */ addi r4, r4, 2
/* 80305814 00301474 3B BD FF FF */ addi r29, r29, -1
/* 80305818 00301478 98 1E 00 01 */ stb r0, 1(r30)
/* 8030581C 0030147C 3B DE 00 02 */ addi r30, r30, 2
lbl_80305820:
/* 80305820 00301480 57 A0 04 3F */ clrlwi. r0, r29, 0x10
/* 80305824 00301484 41 82 00 10 */ beq lbl_80305834
/* 80305828 00301488 A0 64 00 00 */ lhz r3, 0(r4)
/* 8030582C 0030148C 2C 03 00 00 */ cmpwi r3, 0
/* 80305830 00301490 40 82 FF B4 */ bne lbl_803057E4
lbl_80305834:
/* 80305834 00301494 38 00 00 00 */ li r0, 0
/* 80305838 00301498 98 1E 00 00 */ stb r0, 0(r30)
lbl_8030583C:
/* 8030583C 0030149C 38 00 00 00 */ li r0, 0
/* 80305840 003014A0 98 1E 00 00 */ stb r0, 0(r30)
/* 80305844 003014A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80305848 003014A8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8030584C 003014AC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80305850 003014B0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80305854 003014B4 7C 08 03 A6 */ mtlr r0
/* 80305858 003014B8 38 21 00 20 */ addi r1, r1, 0x20
/* 8030585C 003014BC 4E 80 00 20 */ blr
|