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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global __ct__Q34nw4r2ut7ResFontFv
__ct__Q34nw4r2ut7ResFontFv:
/* 8036453C 0036019C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80364540 003601A0 7C 08 02 A6 */ mflr r0
/* 80364544 003601A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80364548 003601A8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8036454C 003601AC 7C 7F 1B 78 */ mr r31, r3
/* 80364550 003601B0 4B FF FA 1D */ bl __ct__Q44nw4r2ut6detail11ResFontBaseFv
/* 80364554 003601B4 3C 80 80 45 */ lis r4, lbl_8044C8B0@ha
/* 80364558 003601B8 7F E3 FB 78 */ mr r3, r31
/* 8036455C 003601BC 38 84 C8 B0 */ addi r4, r4, lbl_8044C8B0@l
/* 80364560 003601C0 90 9F 00 00 */ stw r4, 0(r31)
/* 80364564 003601C4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80364568 003601C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036456C 003601CC 7C 08 03 A6 */ mtlr r0
/* 80364570 003601D0 38 21 00 10 */ addi r1, r1, 0x10
/* 80364574 003601D4 4E 80 00 20 */ blr
.global __dt__Q34nw4r2ut7ResFontFv
__dt__Q34nw4r2ut7ResFontFv:
/* 80364578 003601D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036457C 003601DC 7C 08 02 A6 */ mflr r0
/* 80364580 003601E0 2C 03 00 00 */ cmpwi r3, 0
/* 80364584 003601E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80364588 003601E8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8036458C 003601EC 7C 9F 23 78 */ mr r31, r4
/* 80364590 003601F0 93 C1 00 08 */ stw r30, 8(r1)
/* 80364594 003601F4 7C 7E 1B 78 */ mr r30, r3
/* 80364598 003601F8 41 82 00 1C */ beq lbl_803645B4
/* 8036459C 003601FC 38 80 00 00 */ li r4, 0
/* 803645A0 00360200 4B FF FA 11 */ bl __dt__Q44nw4r2ut6detail11ResFontBaseFv
/* 803645A4 00360204 2C 1F 00 00 */ cmpwi r31, 0
/* 803645A8 00360208 40 81 00 0C */ ble lbl_803645B4
/* 803645AC 0036020C 7F C3 F3 78 */ mr r3, r30
/* 803645B0 00360210 4B E7 65 09 */ bl __dl__FPv
lbl_803645B4:
/* 803645B4 00360214 7F C3 F3 78 */ mr r3, r30
/* 803645B8 00360218 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803645BC 0036021C 83 C1 00 08 */ lwz r30, 8(r1)
/* 803645C0 00360220 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803645C4 00360224 7C 08 03 A6 */ mtlr r0
/* 803645C8 00360228 38 21 00 10 */ addi r1, r1, 0x10
/* 803645CC 0036022C 4E 80 00 20 */ blr
.global SetResource__Q34nw4r2ut7ResFontFPv
SetResource__Q34nw4r2ut7ResFontFPv:
/* 803645D0 00360230 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803645D4 00360234 7C 08 02 A6 */ mflr r0
/* 803645D8 00360238 38 A0 00 00 */ li r5, 0
/* 803645DC 0036023C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803645E0 00360240 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803645E4 00360244 7C 9F 23 78 */ mr r31, r4
/* 803645E8 00360248 93 C1 00 08 */ stw r30, 8(r1)
/* 803645EC 0036024C 7C 7E 1B 78 */ mr r30, r3
/* 803645F0 00360250 80 03 00 10 */ lwz r0, 0x10(r3)
/* 803645F4 00360254 2C 00 00 00 */ cmpwi r0, 0
/* 803645F8 00360258 41 82 00 0C */ beq lbl_80364604
/* 803645FC 0036025C 38 60 00 00 */ li r3, 0
/* 80364600 00360260 48 00 00 FC */ b lbl_803646FC
lbl_80364604:
/* 80364604 00360264 80 64 00 00 */ lwz r3, 0(r4)
/* 80364608 00360268 3C 03 AD BA */ addis r0, r3, 0xadba
/* 8036460C 0036026C 28 00 4E 55 */ cmplwi r0, 0x4e55
/* 80364610 00360270 40 82 00 44 */ bne lbl_80364654
/* 80364614 00360274 A0 04 00 0C */ lhz r0, 0xc(r4)
/* 80364618 00360278 A0 64 00 0E */ lhz r3, 0xe(r4)
/* 8036461C 0036027C 7C 84 02 14 */ add r4, r4, r0
/* 80364620 00360280 7C 69 03 A6 */ mtctr r3
/* 80364624 00360284 2C 03 00 00 */ cmpwi r3, 0
/* 80364628 00360288 40 81 00 94 */ ble lbl_803646BC
lbl_8036462C:
/* 8036462C 0036028C 80 64 00 00 */ lwz r3, 0(r4)
/* 80364630 00360290 3C 03 B9 B7 */ addis r0, r3, 0xb9b7
/* 80364634 00360294 28 00 4E 46 */ cmplwi r0, 0x4e46
/* 80364638 00360298 40 82 00 0C */ bne lbl_80364644
/* 8036463C 0036029C 38 A4 00 08 */ addi r5, r4, 8
/* 80364640 003602A0 48 00 00 7C */ b lbl_803646BC
lbl_80364644:
/* 80364644 003602A4 80 04 00 04 */ lwz r0, 4(r4)
/* 80364648 003602A8 7C 84 02 14 */ add r4, r4, r0
/* 8036464C 003602AC 42 00 FF E0 */ bdnz lbl_8036462C
/* 80364650 003602B0 48 00 00 6C */ b lbl_803646BC
lbl_80364654:
/* 80364654 003602B4 A0 04 00 06 */ lhz r0, 6(r4)
/* 80364658 003602B8 28 00 01 04 */ cmplwi r0, 0x104
/* 8036465C 003602BC 40 82 00 2C */ bne lbl_80364688
/* 80364660 003602C0 3C 80 52 46 */ lis r4, 0x52464E54@ha
/* 80364664 003602C4 7F E3 FB 78 */ mr r3, r31
/* 80364668 003602C8 38 84 4E 54 */ addi r4, r4, 0x52464E54@l
/* 8036466C 003602CC 38 A0 01 04 */ li r5, 0x104
/* 80364670 003602D0 38 C0 00 02 */ li r6, 2
/* 80364674 003602D4 4B FF E6 31 */ bl IsValidBinaryFile__Q24nw4r2utFPCQ34nw4r2ut16BinaryFileHeaderUlUsUs
/* 80364678 003602D8 2C 03 00 00 */ cmpwi r3, 0
/* 8036467C 003602DC 40 82 00 34 */ bne lbl_803646B0
/* 80364680 003602E0 38 60 00 00 */ li r3, 0
/* 80364684 003602E4 48 00 00 78 */ b lbl_803646FC
lbl_80364688:
/* 80364688 003602E8 3C 80 52 46 */ lis r4, 0x52464E54@ha
/* 8036468C 003602EC 7F E3 FB 78 */ mr r3, r31
/* 80364690 003602F0 38 84 4E 54 */ addi r4, r4, 0x52464E54@l
/* 80364694 003602F4 38 A0 01 02 */ li r5, 0x102
/* 80364698 003602F8 38 C0 00 02 */ li r6, 2
/* 8036469C 003602FC 4B FF E6 09 */ bl IsValidBinaryFile__Q24nw4r2utFPCQ34nw4r2ut16BinaryFileHeaderUlUsUs
/* 803646A0 00360300 2C 03 00 00 */ cmpwi r3, 0
/* 803646A4 00360304 40 82 00 0C */ bne lbl_803646B0
/* 803646A8 00360308 38 60 00 00 */ li r3, 0
/* 803646AC 0036030C 48 00 00 50 */ b lbl_803646FC
lbl_803646B0:
/* 803646B0 00360310 7F E3 FB 78 */ mr r3, r31
/* 803646B4 00360314 48 00 00 61 */ bl Rebuild__Q34nw4r2ut7ResFontFPQ34nw4r2ut16BinaryFileHeader
/* 803646B8 00360318 7C 65 1B 78 */ mr r5, r3
lbl_803646BC:
/* 803646BC 0036031C 2C 05 00 00 */ cmpwi r5, 0
/* 803646C0 00360320 40 82 00 0C */ bne lbl_803646CC
/* 803646C4 00360324 38 60 00 00 */ li r3, 0
/* 803646C8 00360328 48 00 00 34 */ b lbl_803646FC
lbl_803646CC:
/* 803646CC 0036032C 7F C3 F3 78 */ mr r3, r30
/* 803646D0 00360330 7F E4 FB 78 */ mr r4, r31
/* 803646D4 00360334 4B FF F9 1D */ bl SetResourceBuffer__Q44nw4r2ut6detail11ResFontBaseFPvPQ34nw4r2ut15FontInformation
/* 803646D8 00360338 81 9E 00 00 */ lwz r12, 0(r30)
/* 803646DC 0036033C 7F C3 F3 78 */ mr r3, r30
/* 803646E0 00360340 81 8C 00 54 */ lwz r12, 0x54(r12)
/* 803646E4 00360344 7D 89 03 A6 */ mtctr r12
/* 803646E8 00360348 4E 80 04 21 */ bctrl
/* 803646EC 0036034C 7C 64 1B 78 */ mr r4, r3
/* 803646F0 00360350 7F C3 F3 78 */ mr r3, r30
/* 803646F4 00360354 4B FF F7 91 */ bl InitReaderFunc__Q34nw4r2ut4FontFQ34nw4r2ut12FontEncoding
/* 803646F8 00360358 38 60 00 01 */ li r3, 1
lbl_803646FC:
/* 803646FC 0036035C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80364700 00360360 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80364704 00360364 83 C1 00 08 */ lwz r30, 8(r1)
/* 80364708 00360368 7C 08 03 A6 */ mtlr r0
/* 8036470C 0036036C 38 21 00 10 */ addi r1, r1, 0x10
/* 80364710 00360370 4E 80 00 20 */ blr
.global Rebuild__Q34nw4r2ut7ResFontFPQ34nw4r2ut16BinaryFileHeader
Rebuild__Q34nw4r2ut7ResFontFPQ34nw4r2ut16BinaryFileHeader:
/* 80364714 00360374 A0 03 00 0C */ lhz r0, 0xc(r3)
/* 80364718 00360378 3C 80 46 49 */ lis r4, 0x46494E46@ha
/* 8036471C 0036037C 39 64 4E 46 */ addi r11, r4, 0x46494E46@l
/* 80364720 00360380 38 A0 00 00 */ li r5, 0
/* 80364724 00360384 7C 83 02 14 */ add r4, r3, r0
/* 80364728 00360388 38 C0 00 00 */ li r6, 0
/* 8036472C 0036038C 3D 00 54 47 */ lis r8, 0x5447
/* 80364730 00360390 3D 40 43 57 */ lis r10, 0x4357
/* 80364734 00360394 3D 20 43 4D */ lis r9, 0x434d
/* 80364738 00360398 3C E0 47 4C */ lis r7, 0x474c
/* 8036473C 0036039C 48 00 00 E4 */ b lbl_80364820
lbl_80364740:
/* 80364740 003603A0 81 84 00 00 */ lwz r12, 0(r4)
/* 80364744 003603A4 7C 0C 58 00 */ cmpw r12, r11
/* 80364748 003603A8 41 82 00 48 */ beq lbl_80364790
/* 8036474C 003603AC 40 80 00 24 */ bge lbl_80364770
/* 80364750 003603B0 38 0A 44 48 */ addi r0, r10, 0x4448
/* 80364754 003603B4 7C 0C 00 00 */ cmpw r12, r0
/* 80364758 003603B8 41 82 00 84 */ beq lbl_803647DC
/* 8036475C 003603BC 40 80 00 B0 */ bge lbl_8036480C
/* 80364760 003603C0 38 09 41 50 */ addi r0, r9, 0x4150
/* 80364764 003603C4 7C 0C 00 00 */ cmpw r12, r0
/* 80364768 003603C8 41 82 00 8C */ beq lbl_803647F4
/* 8036476C 003603CC 48 00 00 A0 */ b lbl_8036480C
lbl_80364770:
/* 80364770 003603D0 38 08 4C 50 */ addi r0, r8, 0x4c50
/* 80364774 003603D4 7C 0C 00 00 */ cmpw r12, r0
/* 80364778 003603D8 41 82 00 54 */ beq lbl_803647CC
/* 8036477C 003603DC 40 80 00 90 */ bge lbl_8036480C
/* 80364780 003603E0 38 07 47 52 */ addi r0, r7, 0x4752
/* 80364784 003603E4 7C 0C 00 00 */ cmpw r12, r0
/* 80364788 003603E8 41 82 00 8C */ beq lbl_80364814
/* 8036478C 003603EC 48 00 00 80 */ b lbl_8036480C
lbl_80364790:
/* 80364790 003603F0 80 04 00 10 */ lwz r0, 0x10(r4)
/* 80364794 003603F4 38 A4 00 08 */ addi r5, r4, 8
/* 80364798 003603F8 7C 03 02 14 */ add r0, r3, r0
/* 8036479C 003603FC 90 04 00 10 */ stw r0, 0x10(r4)
/* 803647A0 00360400 80 04 00 14 */ lwz r0, 0x14(r4)
/* 803647A4 00360404 2C 00 00 00 */ cmpwi r0, 0
/* 803647A8 00360408 41 82 00 0C */ beq lbl_803647B4
/* 803647AC 0036040C 7C 03 02 14 */ add r0, r3, r0
/* 803647B0 00360410 90 05 00 0C */ stw r0, 0xc(r5)
lbl_803647B4:
/* 803647B4 00360414 80 05 00 10 */ lwz r0, 0x10(r5)
/* 803647B8 00360418 2C 00 00 00 */ cmpwi r0, 0
/* 803647BC 0036041C 41 82 00 58 */ beq lbl_80364814
/* 803647C0 00360420 7C 03 02 14 */ add r0, r3, r0
/* 803647C4 00360424 90 05 00 10 */ stw r0, 0x10(r5)
/* 803647C8 00360428 48 00 00 4C */ b lbl_80364814
lbl_803647CC:
/* 803647CC 0036042C 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 803647D0 00360430 7C 03 02 14 */ add r0, r3, r0
/* 803647D4 00360434 90 04 00 1C */ stw r0, 0x1c(r4)
/* 803647D8 00360438 48 00 00 3C */ b lbl_80364814
lbl_803647DC:
/* 803647DC 0036043C 80 04 00 0C */ lwz r0, 0xc(r4)
/* 803647E0 00360440 2C 00 00 00 */ cmpwi r0, 0
/* 803647E4 00360444 41 82 00 30 */ beq lbl_80364814
/* 803647E8 00360448 7C 03 02 14 */ add r0, r3, r0
/* 803647EC 0036044C 90 04 00 0C */ stw r0, 0xc(r4)
/* 803647F0 00360450 48 00 00 24 */ b lbl_80364814
lbl_803647F4:
/* 803647F4 00360454 80 04 00 10 */ lwz r0, 0x10(r4)
/* 803647F8 00360458 2C 00 00 00 */ cmpwi r0, 0
/* 803647FC 0036045C 41 82 00 18 */ beq lbl_80364814
/* 80364800 00360460 7C 03 02 14 */ add r0, r3, r0
/* 80364804 00360464 90 04 00 10 */ stw r0, 0x10(r4)
/* 80364808 00360468 48 00 00 0C */ b lbl_80364814
lbl_8036480C:
/* 8036480C 0036046C 38 60 00 00 */ li r3, 0
/* 80364810 00360470 4E 80 00 20 */ blr
lbl_80364814:
/* 80364814 00360474 80 04 00 04 */ lwz r0, 4(r4)
/* 80364818 00360478 38 C6 00 01 */ addi r6, r6, 1
/* 8036481C 0036047C 7C 84 02 14 */ add r4, r4, r0
lbl_80364820:
/* 80364820 00360480 A0 03 00 0E */ lhz r0, 0xe(r3)
/* 80364824 00360484 7C 06 00 00 */ cmpw r6, r0
/* 80364828 00360488 41 80 FF 18 */ blt lbl_80364740
/* 8036482C 0036048C 3C 80 52 46 */ lis r4, 0x52464E55@ha
/* 80364830 00360490 38 04 4E 55 */ addi r0, r4, 0x52464E55@l
/* 80364834 00360494 90 03 00 00 */ stw r0, 0(r3)
/* 80364838 00360498 7C A3 2B 78 */ mr r3, r5
/* 8036483C 0036049C 4E 80 00 20 */ blr
|