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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global VFiPFCODE_CP932_OEM2Unicode
VFiPFCODE_CP932_OEM2Unicode:
/* 80319C00 00315860 88 A3 00 00 */ lbz r5, 0(r3)
/* 80319C04 00315864 88 63 00 01 */ lbz r3, 1(r3)
/* 80319C08 00315868 28 05 00 80 */ cmplwi r5, 0x80
/* 80319C0C 0031586C 40 80 00 14 */ bge lbl_80319C20
/* 80319C10 00315870 B0 A4 00 00 */ sth r5, 0(r4)
/* 80319C14 00315874 38 60 00 01 */ li r3, 1
/* 80319C18 00315878 38 80 00 02 */ li r4, 2
/* 80319C1C 0031587C 4B FE B5 78 */ b VFiPFCODE_Combine_Width
lbl_80319C20:
/* 80319C20 00315880 28 05 00 A1 */ cmplwi r5, 0xa1
/* 80319C24 00315884 41 80 00 24 */ blt lbl_80319C48
/* 80319C28 00315888 28 05 00 DF */ cmplwi r5, 0xdf
/* 80319C2C 0031588C 41 81 00 1C */ bgt lbl_80319C48
/* 80319C30 00315890 3C 65 00 01 */ addis r3, r5, 1
/* 80319C34 00315894 38 03 FE C0 */ addi r0, r3, -320
/* 80319C38 00315898 B0 04 00 00 */ sth r0, 0(r4)
/* 80319C3C 0031589C 38 60 00 01 */ li r3, 1
/* 80319C40 003158A0 38 80 00 02 */ li r4, 2
/* 80319C44 003158A4 4B FE B5 50 */ b VFiPFCODE_Combine_Width
lbl_80319C48:
/* 80319C48 003158A8 28 05 00 80 */ cmplwi r5, 0x80
/* 80319C4C 003158AC 41 82 00 4C */ beq lbl_80319C98
/* 80319C50 003158B0 28 05 00 85 */ cmplwi r5, 0x85
/* 80319C54 003158B4 41 82 00 44 */ beq lbl_80319C98
/* 80319C58 003158B8 28 05 00 86 */ cmplwi r5, 0x86
/* 80319C5C 003158BC 41 82 00 3C */ beq lbl_80319C98
/* 80319C60 003158C0 28 05 00 A0 */ cmplwi r5, 0xa0
/* 80319C64 003158C4 41 82 00 34 */ beq lbl_80319C98
/* 80319C68 003158C8 28 05 00 EB */ cmplwi r5, 0xeb
/* 80319C6C 003158CC 41 82 00 2C */ beq lbl_80319C98
/* 80319C70 003158D0 28 05 00 EC */ cmplwi r5, 0xec
/* 80319C74 003158D4 41 82 00 24 */ beq lbl_80319C98
/* 80319C78 003158D8 28 05 00 EF */ cmplwi r5, 0xef
/* 80319C7C 003158DC 41 80 00 0C */ blt lbl_80319C88
/* 80319C80 003158E0 28 05 00 F9 */ cmplwi r5, 0xf9
/* 80319C84 003158E4 40 81 00 14 */ ble lbl_80319C98
lbl_80319C88:
/* 80319C88 003158E8 28 05 00 FD */ cmplwi r5, 0xfd
/* 80319C8C 003158EC 41 80 00 20 */ blt lbl_80319CAC
/* 80319C90 003158F0 28 05 00 FF */ cmplwi r5, 0xff
/* 80319C94 003158F4 40 82 00 18 */ bne lbl_80319CAC
lbl_80319C98:
/* 80319C98 003158F8 38 00 00 5F */ li r0, 0x5f
/* 80319C9C 003158FC 38 60 00 01 */ li r3, 1
/* 80319CA0 00315900 B0 04 00 00 */ sth r0, 0(r4)
/* 80319CA4 00315904 38 80 00 02 */ li r4, 2
/* 80319CA8 00315908 4B FE B4 EC */ b VFiPFCODE_Combine_Width
lbl_80319CAC:
/* 80319CAC 0031590C 28 03 00 FD */ cmplwi r3, 0xfd
/* 80319CB0 00315910 41 80 00 18 */ blt lbl_80319CC8
/* 80319CB4 00315914 38 00 00 5F */ li r0, 0x5f
/* 80319CB8 00315918 38 60 00 01 */ li r3, 1
/* 80319CBC 0031591C B0 04 00 00 */ sth r0, 0(r4)
/* 80319CC0 00315920 38 80 00 02 */ li r4, 2
/* 80319CC4 00315924 4B FE B4 D0 */ b VFiPFCODE_Combine_Width
lbl_80319CC8:
/* 80319CC8 00315928 28 05 00 81 */ cmplwi r5, 0x81
/* 80319CCC 0031592C 41 80 00 14 */ blt lbl_80319CE0
/* 80319CD0 00315930 28 05 00 84 */ cmplwi r5, 0x84
/* 80319CD4 00315934 41 81 00 0C */ bgt lbl_80319CE0
/* 80319CD8 00315938 38 05 FF 7F */ addi r0, r5, -129
/* 80319CDC 0031593C 48 00 00 78 */ b lbl_80319D54
lbl_80319CE0:
/* 80319CE0 00315940 28 05 00 87 */ cmplwi r5, 0x87
/* 80319CE4 00315944 41 80 00 14 */ blt lbl_80319CF8
/* 80319CE8 00315948 28 05 00 9F */ cmplwi r5, 0x9f
/* 80319CEC 0031594C 41 81 00 0C */ bgt lbl_80319CF8
/* 80319CF0 00315950 38 05 FF 7D */ addi r0, r5, -131
/* 80319CF4 00315954 48 00 00 60 */ b lbl_80319D54
lbl_80319CF8:
/* 80319CF8 00315958 28 05 00 E0 */ cmplwi r5, 0xe0
/* 80319CFC 0031595C 41 80 00 14 */ blt lbl_80319D10
/* 80319D00 00315960 28 05 00 EA */ cmplwi r5, 0xea
/* 80319D04 00315964 41 81 00 0C */ bgt lbl_80319D10
/* 80319D08 00315968 38 05 FF 3D */ addi r0, r5, -195
/* 80319D0C 0031596C 48 00 00 48 */ b lbl_80319D54
lbl_80319D10:
/* 80319D10 00315970 28 05 00 ED */ cmplwi r5, 0xed
/* 80319D14 00315974 41 80 00 14 */ blt lbl_80319D28
/* 80319D18 00315978 28 05 00 EE */ cmplwi r5, 0xee
/* 80319D1C 0031597C 41 81 00 0C */ bgt lbl_80319D28
/* 80319D20 00315980 38 05 FF 3B */ addi r0, r5, -197
/* 80319D24 00315984 48 00 00 30 */ b lbl_80319D54
lbl_80319D28:
/* 80319D28 00315988 28 05 00 FA */ cmplwi r5, 0xfa
/* 80319D2C 0031598C 41 80 00 14 */ blt lbl_80319D40
/* 80319D30 00315990 28 05 00 FC */ cmplwi r5, 0xfc
/* 80319D34 00315994 41 81 00 0C */ bgt lbl_80319D40
/* 80319D38 00315998 38 05 FF 30 */ addi r0, r5, -208
/* 80319D3C 0031599C 48 00 00 18 */ b lbl_80319D54
lbl_80319D40:
/* 80319D40 003159A0 38 00 00 5F */ li r0, 0x5f
/* 80319D44 003159A4 38 60 00 01 */ li r3, 1
/* 80319D48 003159A8 B0 04 00 00 */ sth r0, 0(r4)
/* 80319D4C 003159AC 38 80 00 02 */ li r4, 2
/* 80319D50 003159B0 4B FE B4 44 */ b VFiPFCODE_Combine_Width
lbl_80319D54:
/* 80319D54 003159B4 34 63 FF C0 */ addic. r3, r3, -64
/* 80319D58 003159B8 41 80 00 0C */ blt lbl_80319D64
/* 80319D5C 003159BC 2C 03 00 BD */ cmpwi r3, 0xbd
/* 80319D60 003159C0 41 80 00 18 */ blt lbl_80319D78
lbl_80319D64:
/* 80319D64 003159C4 38 00 00 5F */ li r0, 0x5f
/* 80319D68 003159C8 38 60 00 01 */ li r3, 1
/* 80319D6C 003159CC B0 04 00 00 */ sth r0, 0(r4)
/* 80319D70 003159D0 38 80 00 02 */ li r4, 2
/* 80319D74 003159D4 4B FE B4 20 */ b VFiPFCODE_Combine_Width
lbl_80319D78:
/* 80319D78 003159D8 1C 00 01 7A */ mulli r0, r0, 0x17a
/* 80319D7C 003159DC 3C A0 80 40 */ lis r5, lbl_803FE2C0@ha
/* 80319D80 003159E0 54 63 08 3C */ slwi r3, r3, 1
/* 80319D84 003159E4 38 A5 E2 C0 */ addi r5, r5, lbl_803FE2C0@l
/* 80319D88 003159E8 7C 05 02 14 */ add r0, r5, r0
/* 80319D8C 003159EC 7C 03 02 2E */ lhzx r0, r3, r0
/* 80319D90 003159F0 2C 00 00 00 */ cmpwi r0, 0
/* 80319D94 003159F4 B0 04 00 00 */ sth r0, 0(r4)
/* 80319D98 003159F8 40 82 00 18 */ bne lbl_80319DB0
/* 80319D9C 003159FC 38 00 00 5F */ li r0, 0x5f
/* 80319DA0 00315A00 38 60 00 01 */ li r3, 1
/* 80319DA4 00315A04 B0 04 00 00 */ sth r0, 0(r4)
/* 80319DA8 00315A08 38 80 00 02 */ li r4, 2
/* 80319DAC 00315A0C 4B FE B3 E8 */ b VFiPFCODE_Combine_Width
lbl_80319DB0:
/* 80319DB0 00315A10 38 60 00 02 */ li r3, 2
/* 80319DB4 00315A14 38 80 00 02 */ li r4, 2
/* 80319DB8 00315A18 4B FE B3 DC */ b VFiPFCODE_Combine_Width
.global VFiPFCODE_CP932_Unicode2OEM
VFiPFCODE_CP932_Unicode2OEM:
/* 80319DBC 00315A1C A0 03 00 00 */ lhz r0, 0(r3)
/* 80319DC0 00315A20 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 80319DC4 00315A24 7C 03 46 70 */ srawi r3, r0, 8
/* 80319DC8 00315A28 28 05 00 80 */ cmplwi r5, 0x80
/* 80319DCC 00315A2C 40 80 00 24 */ bge lbl_80319DF0
/* 80319DD0 00315A30 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80319DD4 00315A34 40 82 00 1C */ bne lbl_80319DF0
/* 80319DD8 00315A38 38 00 00 00 */ li r0, 0
/* 80319DDC 00315A3C 98 A4 00 00 */ stb r5, 0(r4)
/* 80319DE0 00315A40 38 60 00 01 */ li r3, 1
/* 80319DE4 00315A44 98 04 00 01 */ stb r0, 1(r4)
/* 80319DE8 00315A48 38 80 00 02 */ li r4, 2
/* 80319DEC 00315A4C 4B FE B3 A8 */ b VFiPFCODE_Combine_Width
lbl_80319DF0:
/* 80319DF0 00315A50 54 60 44 2E */ rlwinm r0, r3, 8, 0x10, 0x17
/* 80319DF4 00315A54 7C 00 2A 14 */ add r0, r0, r5
/* 80319DF8 00315A58 54 09 04 3E */ clrlwi r9, r0, 0x10
/* 80319DFC 00315A5C 28 09 FF 61 */ cmplwi r9, 0xff61
/* 80319E00 00315A60 41 80 00 2C */ blt lbl_80319E2C
/* 80319E04 00315A64 28 09 FF 9F */ cmplwi r9, 0xff9f
/* 80319E08 00315A68 41 81 00 24 */ bgt lbl_80319E2C
/* 80319E0C 00315A6C 3C 69 FF FF */ addis r3, r9, 0xffff
/* 80319E10 00315A70 38 00 00 00 */ li r0, 0
/* 80319E14 00315A74 38 63 01 40 */ addi r3, r3, 0x140
/* 80319E18 00315A78 98 04 00 01 */ stb r0, 1(r4)
/* 80319E1C 00315A7C 98 64 00 00 */ stb r3, 0(r4)
/* 80319E20 00315A80 38 60 00 01 */ li r3, 1
/* 80319E24 00315A84 38 80 00 02 */ li r4, 2
/* 80319E28 00315A88 4B FE B3 6C */ b VFiPFCODE_Combine_Width
lbl_80319E2C:
/* 80319E2C 00315A8C 28 09 00 5F */ cmplwi r9, 0x5f
/* 80319E30 00315A90 40 82 00 18 */ bne lbl_80319E48
/* 80319E34 00315A94 38 00 00 5F */ li r0, 0x5f
/* 80319E38 00315A98 38 60 00 01 */ li r3, 1
/* 80319E3C 00315A9C 98 04 00 00 */ stb r0, 0(r4)
/* 80319E40 00315AA0 38 80 00 02 */ li r4, 2
/* 80319E44 00315AA4 4B FE B3 50 */ b VFiPFCODE_Combine_Width
lbl_80319E48:
/* 80319E48 00315AA8 3C A0 80 40 */ lis r5, lbl_803FE2C0@ha
/* 80319E4C 00315AAC 38 C0 00 00 */ li r6, 0
/* 80319E50 00315AB0 38 A5 E2 C0 */ addi r5, r5, lbl_803FE2C0@l
/* 80319E54 00315AB4 38 00 00 15 */ li r0, 0x15
lbl_80319E58:
/* 80319E58 00315AB8 7C A8 2B 78 */ mr r8, r5
/* 80319E5C 00315ABC 38 E0 00 00 */ li r7, 0
/* 80319E60 00315AC0 7C 09 03 A6 */ mtctr r0
lbl_80319E64:
/* 80319E64 00315AC4 A0 68 00 00 */ lhz r3, 0(r8)
/* 80319E68 00315AC8 7C 03 48 40 */ cmplw r3, r9
/* 80319E6C 00315ACC 41 82 00 90 */ beq lbl_80319EFC
/* 80319E70 00315AD0 A0 68 00 02 */ lhz r3, 2(r8)
/* 80319E74 00315AD4 38 E7 00 01 */ addi r7, r7, 1
/* 80319E78 00315AD8 7C 03 48 40 */ cmplw r3, r9
/* 80319E7C 00315ADC 41 82 00 80 */ beq lbl_80319EFC
/* 80319E80 00315AE0 A0 68 00 04 */ lhz r3, 4(r8)
/* 80319E84 00315AE4 38 E7 00 01 */ addi r7, r7, 1
/* 80319E88 00315AE8 7C 03 48 40 */ cmplw r3, r9
/* 80319E8C 00315AEC 41 82 00 70 */ beq lbl_80319EFC
/* 80319E90 00315AF0 A0 68 00 06 */ lhz r3, 6(r8)
/* 80319E94 00315AF4 38 E7 00 01 */ addi r7, r7, 1
/* 80319E98 00315AF8 7C 03 48 40 */ cmplw r3, r9
/* 80319E9C 00315AFC 41 82 00 60 */ beq lbl_80319EFC
/* 80319EA0 00315B00 A0 68 00 08 */ lhz r3, 8(r8)
/* 80319EA4 00315B04 38 E7 00 01 */ addi r7, r7, 1
/* 80319EA8 00315B08 7C 03 48 40 */ cmplw r3, r9
/* 80319EAC 00315B0C 41 82 00 50 */ beq lbl_80319EFC
/* 80319EB0 00315B10 A0 68 00 0A */ lhz r3, 0xa(r8)
/* 80319EB4 00315B14 38 E7 00 01 */ addi r7, r7, 1
/* 80319EB8 00315B18 7C 03 48 40 */ cmplw r3, r9
/* 80319EBC 00315B1C 41 82 00 40 */ beq lbl_80319EFC
/* 80319EC0 00315B20 A0 68 00 0C */ lhz r3, 0xc(r8)
/* 80319EC4 00315B24 38 E7 00 01 */ addi r7, r7, 1
/* 80319EC8 00315B28 7C 03 48 40 */ cmplw r3, r9
/* 80319ECC 00315B2C 41 82 00 30 */ beq lbl_80319EFC
/* 80319ED0 00315B30 A0 68 00 0E */ lhz r3, 0xe(r8)
/* 80319ED4 00315B34 38 E7 00 01 */ addi r7, r7, 1
/* 80319ED8 00315B38 7C 03 48 40 */ cmplw r3, r9
/* 80319EDC 00315B3C 41 82 00 20 */ beq lbl_80319EFC
/* 80319EE0 00315B40 A0 68 00 10 */ lhz r3, 0x10(r8)
/* 80319EE4 00315B44 38 E7 00 01 */ addi r7, r7, 1
/* 80319EE8 00315B48 7C 03 48 40 */ cmplw r3, r9
/* 80319EEC 00315B4C 41 82 00 10 */ beq lbl_80319EFC
/* 80319EF0 00315B50 38 E7 00 01 */ addi r7, r7, 1
/* 80319EF4 00315B54 39 08 00 12 */ addi r8, r8, 0x12
/* 80319EF8 00315B58 42 00 FF 6C */ bdnz lbl_80319E64
lbl_80319EFC:
/* 80319EFC 00315B5C 2C 07 00 BD */ cmpwi r7, 0xbd
/* 80319F00 00315B60 41 80 00 14 */ blt lbl_80319F14
/* 80319F04 00315B64 38 C6 00 01 */ addi r6, r6, 1
/* 80319F08 00315B68 38 A5 01 7A */ addi r5, r5, 0x17a
/* 80319F0C 00315B6C 2C 06 00 2D */ cmpwi r6, 0x2d
/* 80319F10 00315B70 41 80 FF 48 */ blt lbl_80319E58
lbl_80319F14:
/* 80319F14 00315B74 2C 07 00 BD */ cmpwi r7, 0xbd
/* 80319F18 00315B78 40 82 00 18 */ bne lbl_80319F30
/* 80319F1C 00315B7C 38 00 00 5F */ li r0, 0x5f
/* 80319F20 00315B80 38 60 00 01 */ li r3, 1
/* 80319F24 00315B84 98 04 00 00 */ stb r0, 0(r4)
/* 80319F28 00315B88 38 80 00 02 */ li r4, 2
/* 80319F2C 00315B8C 4B FE B2 68 */ b VFiPFCODE_Combine_Width
lbl_80319F30:
/* 80319F30 00315B90 2C 06 00 00 */ cmpwi r6, 0
/* 80319F34 00315B94 41 80 00 24 */ blt lbl_80319F58
/* 80319F38 00315B98 2C 06 00 03 */ cmpwi r6, 3
/* 80319F3C 00315B9C 41 81 00 1C */ bgt lbl_80319F58
/* 80319F40 00315BA0 38 66 00 81 */ addi r3, r6, 0x81
/* 80319F44 00315BA4 38 07 00 40 */ addi r0, r7, 0x40
/* 80319F48 00315BA8 54 63 40 2E */ slwi r3, r3, 8
/* 80319F4C 00315BAC 7C 60 03 78 */ or r0, r3, r0
/* 80319F50 00315BB0 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 80319F54 00315BB4 48 00 00 B8 */ b lbl_8031A00C
lbl_80319F58:
/* 80319F58 00315BB8 2C 06 00 04 */ cmpwi r6, 4
/* 80319F5C 00315BBC 41 80 00 24 */ blt lbl_80319F80
/* 80319F60 00315BC0 2C 06 00 1C */ cmpwi r6, 0x1c
/* 80319F64 00315BC4 41 81 00 1C */ bgt lbl_80319F80
/* 80319F68 00315BC8 38 66 00 83 */ addi r3, r6, 0x83
/* 80319F6C 00315BCC 38 07 00 40 */ addi r0, r7, 0x40
/* 80319F70 00315BD0 54 63 40 2E */ slwi r3, r3, 8
/* 80319F74 00315BD4 7C 60 03 78 */ or r0, r3, r0
/* 80319F78 00315BD8 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 80319F7C 00315BDC 48 00 00 90 */ b lbl_8031A00C
lbl_80319F80:
/* 80319F80 00315BE0 2C 06 00 1D */ cmpwi r6, 0x1d
/* 80319F84 00315BE4 41 80 00 24 */ blt lbl_80319FA8
/* 80319F88 00315BE8 2C 06 00 27 */ cmpwi r6, 0x27
/* 80319F8C 00315BEC 41 81 00 1C */ bgt lbl_80319FA8
/* 80319F90 00315BF0 38 66 00 C3 */ addi r3, r6, 0xc3
/* 80319F94 00315BF4 38 07 00 40 */ addi r0, r7, 0x40
/* 80319F98 00315BF8 54 63 40 2E */ slwi r3, r3, 8
/* 80319F9C 00315BFC 7C 60 03 78 */ or r0, r3, r0
/* 80319FA0 00315C00 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 80319FA4 00315C04 48 00 00 68 */ b lbl_8031A00C
lbl_80319FA8:
/* 80319FA8 00315C08 2C 06 00 28 */ cmpwi r6, 0x28
/* 80319FAC 00315C0C 41 80 00 24 */ blt lbl_80319FD0
/* 80319FB0 00315C10 2C 06 00 29 */ cmpwi r6, 0x29
/* 80319FB4 00315C14 41 81 00 1C */ bgt lbl_80319FD0
/* 80319FB8 00315C18 38 66 00 C5 */ addi r3, r6, 0xc5
/* 80319FBC 00315C1C 38 07 00 40 */ addi r0, r7, 0x40
/* 80319FC0 00315C20 54 63 40 2E */ slwi r3, r3, 8
/* 80319FC4 00315C24 7C 60 03 78 */ or r0, r3, r0
/* 80319FC8 00315C28 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 80319FCC 00315C2C 48 00 00 40 */ b lbl_8031A00C
lbl_80319FD0:
/* 80319FD0 00315C30 2C 06 00 2A */ cmpwi r6, 0x2a
/* 80319FD4 00315C34 41 80 00 24 */ blt lbl_80319FF8
/* 80319FD8 00315C38 2C 06 00 2C */ cmpwi r6, 0x2c
/* 80319FDC 00315C3C 41 81 00 1C */ bgt lbl_80319FF8
/* 80319FE0 00315C40 38 66 00 D0 */ addi r3, r6, 0xd0
/* 80319FE4 00315C44 38 07 00 40 */ addi r0, r7, 0x40
/* 80319FE8 00315C48 54 63 40 2E */ slwi r3, r3, 8
/* 80319FEC 00315C4C 7C 60 03 78 */ or r0, r3, r0
/* 80319FF0 00315C50 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 80319FF4 00315C54 48 00 00 18 */ b lbl_8031A00C
lbl_80319FF8:
/* 80319FF8 00315C58 38 00 00 5F */ li r0, 0x5f
/* 80319FFC 00315C5C 38 60 00 01 */ li r3, 1
/* 8031A000 00315C60 98 04 00 00 */ stb r0, 0(r4)
/* 8031A004 00315C64 38 80 00 02 */ li r4, 2
/* 8031A008 00315C68 4B FE B1 8C */ b VFiPFCODE_Combine_Width
lbl_8031A00C:
/* 8031A00C 00315C6C 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f
/* 8031A010 00315C70 98 64 00 01 */ stb r3, 1(r4)
/* 8031A014 00315C74 38 60 00 02 */ li r3, 2
/* 8031A018 00315C78 98 04 00 00 */ stb r0, 0(r4)
/* 8031A01C 00315C7C 38 80 00 02 */ li r4, 2
/* 8031A020 00315C80 4B FE B1 74 */ b VFiPFCODE_Combine_Width
.global VFiPFCODE_CP932_OEMCharWidth
VFiPFCODE_CP932_OEMCharWidth:
/* 8031A024 00315C84 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031A028 00315C88 7C 08 02 A6 */ mflr r0
/* 8031A02C 00315C8C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8031A030 00315C90 38 81 00 0C */ addi r4, r1, 0xc
/* 8031A034 00315C94 4B FF FB CD */ bl VFiPFCODE_CP932_OEM2Unicode
/* 8031A038 00315C98 38 81 00 0A */ addi r4, r1, 0xa
/* 8031A03C 00315C9C 38 A1 00 08 */ addi r5, r1, 8
/* 8031A040 00315CA0 4B FE B1 61 */ bl VFiPFCODE_Divide_Width
/* 8031A044 00315CA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031A048 00315CA8 A8 61 00 0A */ lha r3, 0xa(r1)
/* 8031A04C 00315CAC 7C 08 03 A6 */ mtlr r0
/* 8031A050 00315CB0 38 21 00 10 */ addi r1, r1, 0x10
/* 8031A054 00315CB4 4E 80 00 20 */ blr
.global VFiPFCODE_CP932_isOEMMBchar
VFiPFCODE_CP932_isOEMMBchar:
/* 8031A058 00315CB8 2C 04 00 02 */ cmpwi r4, 2
/* 8031A05C 00315CBC 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8031A060 00315CC0 41 82 00 40 */ beq lbl_8031A0A0
/* 8031A064 00315CC4 40 80 00 68 */ bge lbl_8031A0CC
/* 8031A068 00315CC8 2C 04 00 01 */ cmpwi r4, 1
/* 8031A06C 00315CCC 40 80 00 08 */ bge lbl_8031A074
/* 8031A070 00315CD0 48 00 00 5C */ b lbl_8031A0CC
lbl_8031A074:
/* 8031A074 00315CD4 28 00 00 81 */ cmplwi r0, 0x81
/* 8031A078 00315CD8 38 60 00 00 */ li r3, 0
/* 8031A07C 00315CDC 41 80 00 0C */ blt lbl_8031A088
/* 8031A080 00315CE0 28 00 00 9F */ cmplwi r0, 0x9f
/* 8031A084 00315CE4 40 81 00 14 */ ble lbl_8031A098
lbl_8031A088:
/* 8031A088 00315CE8 28 00 00 E0 */ cmplwi r0, 0xe0
/* 8031A08C 00315CEC 4D 80 00 20 */ bltlr
/* 8031A090 00315CF0 28 00 00 FC */ cmplwi r0, 0xfc
/* 8031A094 00315CF4 4D 81 00 20 */ bgtlr
lbl_8031A098:
/* 8031A098 00315CF8 38 60 00 01 */ li r3, 1
/* 8031A09C 00315CFC 4E 80 00 20 */ blr
lbl_8031A0A0:
/* 8031A0A0 00315D00 28 00 00 40 */ cmplwi r0, 0x40
/* 8031A0A4 00315D04 38 60 00 00 */ li r3, 0
/* 8031A0A8 00315D08 41 80 00 0C */ blt lbl_8031A0B4
/* 8031A0AC 00315D0C 28 00 00 7E */ cmplwi r0, 0x7e
/* 8031A0B0 00315D10 40 81 00 14 */ ble lbl_8031A0C4
lbl_8031A0B4:
/* 8031A0B4 00315D14 28 00 00 80 */ cmplwi r0, 0x80
/* 8031A0B8 00315D18 4D 80 00 20 */ bltlr
/* 8031A0BC 00315D1C 28 00 00 FC */ cmplwi r0, 0xfc
/* 8031A0C0 00315D20 4D 81 00 20 */ bgtlr
lbl_8031A0C4:
/* 8031A0C4 00315D24 38 60 00 01 */ li r3, 1
/* 8031A0C8 00315D28 4E 80 00 20 */ blr
lbl_8031A0CC:
/* 8031A0CC 00315D2C 38 60 00 00 */ li r3, 0
/* 8031A0D0 00315D30 4E 80 00 20 */ blr
.global VFiPFCODE_CP932_UnicodeCharWidth
VFiPFCODE_CP932_UnicodeCharWidth:
/* 8031A0D4 00315D34 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031A0D8 00315D38 7C 08 02 A6 */ mflr r0
/* 8031A0DC 00315D3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8031A0E0 00315D40 38 81 00 0C */ addi r4, r1, 0xc
/* 8031A0E4 00315D44 4B FF FC D9 */ bl VFiPFCODE_CP932_Unicode2OEM
/* 8031A0E8 00315D48 38 81 00 0A */ addi r4, r1, 0xa
/* 8031A0EC 00315D4C 38 A1 00 08 */ addi r5, r1, 8
/* 8031A0F0 00315D50 4B FE B0 B1 */ bl VFiPFCODE_Divide_Width
/* 8031A0F4 00315D54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031A0F8 00315D58 A8 61 00 08 */ lha r3, 8(r1)
/* 8031A0FC 00315D5C 7C 08 03 A6 */ mtlr r0
/* 8031A100 00315D60 38 21 00 10 */ addi r1, r1, 0x10
/* 8031A104 00315D64 4E 80 00 20 */ blr
.global VFiPFCODE_CP932_isUnicodeMBchar
VFiPFCODE_CP932_isUnicodeMBchar:
/* 8031A108 00315D68 38 60 00 00 */ li r3, 0
/* 8031A10C 00315D6C 4E 80 00 20 */ blr
|