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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global DWC_SetCommonKeyValueString
DWC_SetCommonKeyValueString:
/* 8031EDEC 0031AA4C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031EDF0 0031AA50 7C 08 02 A6 */ mflr r0
/* 8031EDF4 0031AA54 7C C6 07 74 */ extsb r6, r6
/* 8031EDF8 0031AA58 7C 89 23 78 */ mr r9, r4
/* 8031EDFC 0031AA5C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8031EE00 0031AA60 7C 67 1B 78 */ mr r7, r3
/* 8031EE04 0031AA64 7C C8 33 78 */ mr r8, r6
/* 8031EE08 0031AA68 38 80 10 00 */ li r4, 0x1000
/* 8031EE0C 0031AA6C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8031EE10 0031AA70 7C BF 2B 78 */ mr r31, r5
/* 8031EE14 0031AA74 3C A0 80 44 */ lis r5, lbl_80446C70@ha
/* 8031EE18 0031AA78 7F E3 FB 78 */ mr r3, r31
/* 8031EE1C 0031AA7C 38 A5 6C 70 */ addi r5, r5, lbl_80446C70@l
/* 8031EE20 0031AA80 4C C6 31 82 */ crclr 6
/* 8031EE24 0031AA84 4B EA DC 01 */ bl snprintf
/* 8031EE28 0031AA88 7F E3 FB 78 */ mr r3, r31
/* 8031EE2C 0031AA8C 4B EA 7D 39 */ bl strlen
/* 8031EE30 0031AA90 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031EE34 0031AA94 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8031EE38 0031AA98 7C 08 03 A6 */ mtlr r0
/* 8031EE3C 0031AA9C 38 21 00 10 */ addi r1, r1, 0x10
/* 8031EE40 0031AAA0 4E 80 00 20 */ blr
.global DWC_AddCommonKeyValueString
DWC_AddCommonKeyValueString:
/* 8031EE44 0031AAA4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8031EE48 0031AAA8 7C 08 02 A6 */ mflr r0
/* 8031EE4C 0031AAAC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8031EE50 0031AAB0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8031EE54 0031AAB4 7C DF 33 78 */ mr r31, r6
/* 8031EE58 0031AAB8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8031EE5C 0031AABC 7C BE 2B 78 */ mr r30, r5
/* 8031EE60 0031AAC0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8031EE64 0031AAC4 7C 9D 23 78 */ mr r29, r4
/* 8031EE68 0031AAC8 38 80 00 00 */ li r4, 0
/* 8031EE6C 0031AACC 93 81 00 10 */ stw r28, 0x10(r1)
/* 8031EE70 0031AAD0 7C 7C 1B 78 */ mr r28, r3
/* 8031EE74 0031AAD4 7F C3 F3 78 */ mr r3, r30
/* 8031EE78 0031AAD8 4B EA F7 31 */ bl strchr
/* 8031EE7C 0031AADC 7F E6 07 74 */ extsb r6, r31
/* 8031EE80 0031AAE0 3C A0 80 44 */ lis r5, lbl_80446C70@ha
/* 8031EE84 0031AAE4 7C 7F 1B 78 */ mr r31, r3
/* 8031EE88 0031AAE8 7F 87 E3 78 */ mr r7, r28
/* 8031EE8C 0031AAEC 7C C8 33 78 */ mr r8, r6
/* 8031EE90 0031AAF0 7F A9 EB 78 */ mr r9, r29
/* 8031EE94 0031AAF4 38 A5 6C 70 */ addi r5, r5, lbl_80446C70@l
/* 8031EE98 0031AAF8 38 80 10 00 */ li r4, 0x1000
/* 8031EE9C 0031AAFC 4C C6 31 82 */ crclr 6
/* 8031EEA0 0031AB00 4B EA DB 85 */ bl snprintf
/* 8031EEA4 0031AB04 7F E3 FB 78 */ mr r3, r31
/* 8031EEA8 0031AB08 4B EA 7C BD */ bl strlen
/* 8031EEAC 0031AB0C 7F C3 F3 78 */ mr r3, r30
/* 8031EEB0 0031AB10 4B EA 7C B5 */ bl strlen
/* 8031EEB4 0031AB14 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8031EEB8 0031AB18 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8031EEBC 0031AB1C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8031EEC0 0031AB20 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8031EEC4 0031AB24 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8031EEC8 0031AB28 7C 08 03 A6 */ mtlr r0
/* 8031EECC 0031AB2C 38 21 00 20 */ addi r1, r1, 0x20
/* 8031EED0 0031AB30 4E 80 00 20 */ blr
.global DWC_GetCommonValueString
DWC_GetCommonValueString:
/* 8031EED4 0031AB34 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8031EED8 0031AB38 7C 08 02 A6 */ mflr r0
/* 8031EEDC 0031AB3C 2C 04 00 00 */ cmpwi r4, 0
/* 8031EEE0 0031AB40 90 01 00 24 */ stw r0, 0x24(r1)
/* 8031EEE4 0031AB44 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8031EEE8 0031AB48 7C DF 33 78 */ mr r31, r6
/* 8031EEEC 0031AB4C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8031EEF0 0031AB50 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8031EEF4 0031AB54 7C 9D 23 78 */ mr r29, r4
/* 8031EEF8 0031AB58 93 81 00 10 */ stw r28, 0x10(r1)
/* 8031EEFC 0031AB5C 7C 7C 1B 78 */ mr r28, r3
/* 8031EF00 0031AB60 40 82 00 0C */ bne lbl_8031EF0C
/* 8031EF04 0031AB64 38 60 FF FF */ li r3, -1
/* 8031EF08 0031AB68 48 00 01 04 */ b lbl_8031F00C
lbl_8031EF0C:
/* 8031EF0C 0031AB6C 7C A3 2B 78 */ mr r3, r5
/* 8031EF10 0031AB70 7C C4 07 74 */ extsb r4, r6
/* 8031EF14 0031AB74 4B EA F6 95 */ bl strchr
/* 8031EF18 0031AB78 2C 03 00 00 */ cmpwi r3, 0
/* 8031EF1C 0031AB7C 7C 7E 1B 78 */ mr r30, r3
/* 8031EF20 0031AB80 40 82 00 0C */ bne lbl_8031EF2C
/* 8031EF24 0031AB84 38 60 FF FF */ li r3, -1
/* 8031EF28 0031AB88 48 00 00 E4 */ b lbl_8031F00C
lbl_8031EF2C:
/* 8031EF2C 0031AB8C 7F 83 E3 78 */ mr r3, r28
/* 8031EF30 0031AB90 4B EA 7C 35 */ bl strlen
/* 8031EF34 0031AB94 7C 65 1B 78 */ mr r5, r3
/* 8031EF38 0031AB98 7F 84 E3 78 */ mr r4, r28
/* 8031EF3C 0031AB9C 38 7E 00 01 */ addi r3, r30, 1
/* 8031EF40 0031ABA0 4B EA F6 29 */ bl strncmp
/* 8031EF44 0031ABA4 2C 03 00 00 */ cmpwi r3, 0
/* 8031EF48 0031ABA8 40 82 00 24 */ bne lbl_8031EF6C
/* 8031EF4C 0031ABAC 7F 83 E3 78 */ mr r3, r28
/* 8031EF50 0031ABB0 4B EA 7C 15 */ bl strlen
/* 8031EF54 0031ABB4 7C 63 F2 14 */ add r3, r3, r30
/* 8031EF58 0031ABB8 7F E4 07 74 */ extsb r4, r31
/* 8031EF5C 0031ABBC 88 03 00 01 */ lbz r0, 1(r3)
/* 8031EF60 0031ABC0 7C 00 07 74 */ extsb r0, r0
/* 8031EF64 0031ABC4 7C 04 00 00 */ cmpw r4, r0
/* 8031EF68 0031ABC8 41 82 00 40 */ beq lbl_8031EFA8
lbl_8031EF6C:
/* 8031EF6C 0031ABCC 38 7E 00 01 */ addi r3, r30, 1
/* 8031EF70 0031ABD0 7F E4 07 74 */ extsb r4, r31
/* 8031EF74 0031ABD4 4B EA F6 35 */ bl strchr
/* 8031EF78 0031ABD8 2C 03 00 00 */ cmpwi r3, 0
/* 8031EF7C 0031ABDC 40 82 00 0C */ bne lbl_8031EF88
/* 8031EF80 0031ABE0 38 60 FF FF */ li r3, -1
/* 8031EF84 0031ABE4 48 00 00 88 */ b lbl_8031F00C
lbl_8031EF88:
/* 8031EF88 0031ABE8 7F E4 07 74 */ extsb r4, r31
/* 8031EF8C 0031ABEC 38 63 00 01 */ addi r3, r3, 1
/* 8031EF90 0031ABF0 4B EA F6 19 */ bl strchr
/* 8031EF94 0031ABF4 2C 03 00 00 */ cmpwi r3, 0
/* 8031EF98 0031ABF8 7C 7E 1B 78 */ mr r30, r3
/* 8031EF9C 0031ABFC 40 82 FF 90 */ bne lbl_8031EF2C
/* 8031EFA0 0031AC00 38 60 FF FF */ li r3, -1
/* 8031EFA4 0031AC04 48 00 00 68 */ b lbl_8031F00C
lbl_8031EFA8:
/* 8031EFA8 0031AC08 38 7E 00 01 */ addi r3, r30, 1
/* 8031EFAC 0031AC0C 4B EA F5 FD */ bl strchr
/* 8031EFB0 0031AC10 2C 03 00 00 */ cmpwi r3, 0
/* 8031EFB4 0031AC14 7C 7E 1B 78 */ mr r30, r3
/* 8031EFB8 0031AC18 40 82 00 0C */ bne lbl_8031EFC4
/* 8031EFBC 0031AC1C 38 60 FF FF */ li r3, -1
/* 8031EFC0 0031AC20 48 00 00 4C */ b lbl_8031F00C
lbl_8031EFC4:
/* 8031EFC4 0031AC24 7F E4 07 74 */ extsb r4, r31
/* 8031EFC8 0031AC28 38 63 00 01 */ addi r3, r3, 1
/* 8031EFCC 0031AC2C 4B EA F5 DD */ bl strchr
/* 8031EFD0 0031AC30 2C 03 00 00 */ cmpwi r3, 0
/* 8031EFD4 0031AC34 41 82 00 10 */ beq lbl_8031EFE4
/* 8031EFD8 0031AC38 38 1E 00 01 */ addi r0, r30, 1
/* 8031EFDC 0031AC3C 7F E0 18 50 */ subf r31, r0, r3
/* 8031EFE0 0031AC40 48 00 00 10 */ b lbl_8031EFF0
lbl_8031EFE4:
/* 8031EFE4 0031AC44 38 7E 00 01 */ addi r3, r30, 1
/* 8031EFE8 0031AC48 4B EA 7B 7D */ bl strlen
/* 8031EFEC 0031AC4C 7C 7F 1B 78 */ mr r31, r3
lbl_8031EFF0:
/* 8031EFF0 0031AC50 7F A3 EB 78 */ mr r3, r29
/* 8031EFF4 0031AC54 7F E5 FB 78 */ mr r5, r31
/* 8031EFF8 0031AC58 38 9E 00 01 */ addi r4, r30, 1
/* 8031EFFC 0031AC5C 4B EA F3 95 */ bl strncpy
/* 8031F000 0031AC60 38 00 00 00 */ li r0, 0
/* 8031F004 0031AC64 7F E3 FB 78 */ mr r3, r31
/* 8031F008 0031AC68 7C 1D F9 AE */ stbx r0, r29, r31
lbl_8031F00C:
/* 8031F00C 0031AC6C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8031F010 0031AC70 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8031F014 0031AC74 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8031F018 0031AC78 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8031F01C 0031AC7C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8031F020 0031AC80 7C 08 03 A6 */ mtlr r0
/* 8031F024 0031AC84 38 21 00 20 */ addi r1, r1, 0x20
/* 8031F028 0031AC88 4E 80 00 20 */ blr
.global DWCi_GetMathRand32
DWCi_GetMathRand32:
/* 8031F02C 0031AC8C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8031F030 0031AC90 7C 08 02 A6 */ mflr r0
/* 8031F034 0031AC94 90 01 00 24 */ stw r0, 0x24(r1)
/* 8031F038 0031AC98 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8031F03C 0031AC9C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8031F040 0031ACA0 3F C0 80 61 */ lis r30, lbl_8060FBF0@ha
/* 8031F044 0031ACA4 3B FE FB F0 */ addi r31, r30, lbl_8060FBF0@l
/* 8031F048 0031ACA8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8031F04C 0031ACAC 7C 7D 1B 78 */ mr r29, r3
/* 8031F050 0031ACB0 80 1E FB F0 */ lwz r0, -0x410(r30)
/* 8031F054 0031ACB4 80 7F 00 04 */ lwz r3, 4(r31)
/* 8031F058 0031ACB8 7C 60 03 79 */ or. r0, r3, r0
/* 8031F05C 0031ACBC 40 82 00 98 */ bne lbl_8031F0F4
/* 8031F060 0031ACC0 80 1F 00 08 */ lwz r0, 8(r31)
/* 8031F064 0031ACC4 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 8031F068 0031ACC8 7C 60 03 79 */ or. r0, r3, r0
/* 8031F06C 0031ACCC 40 82 00 88 */ bne lbl_8031F0F4
/* 8031F070 0031ACD0 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 8031F074 0031ACD4 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 8031F078 0031ACD8 7C 60 03 79 */ or. r0, r3, r0
/* 8031F07C 0031ACDC 40 82 00 78 */ bne lbl_8031F0F4
/* 8031F080 0031ACE0 38 61 00 08 */ addi r3, r1, 8
/* 8031F084 0031ACE4 4B FD 61 15 */ bl NETGetWirelessMacAddress
/* 8031F088 0031ACE8 4B F5 37 31 */ bl OSGetTime
/* 8031F08C 0031ACEC 80 C1 00 0C */ lwz r6, 0xc(r1)
/* 8031F090 0031ACF0 3C A0 01 00 */ lis r5, 0x00FFFFFF@ha
/* 8031F094 0031ACF4 80 01 00 08 */ lwz r0, 8(r1)
/* 8031F098 0031ACF8 39 25 FF FF */ addi r9, r5, 0x00FFFFFF@l
/* 8031F09C 0031ACFC 54 CA 40 3E */ rotlwi r10, r6, 8
/* 8031F0A0 0031AD00 3C A0 00 27 */ lis r5, 0x00269EC3@ha
/* 8031F0A4 0031AD04 50 0A 40 2E */ rlwimi r10, r0, 8, 0, 0x17
/* 8031F0A8 0031AD08 3C E0 6C 08 */ lis r7, 0x6C078965@ha
/* 8031F0AC 0031AD0C 38 05 9E C3 */ addi r0, r5, 0x00269EC3@l
/* 8031F0B0 0031AD10 54 68 C0 0E */ slwi r8, r3, 0x18
/* 8031F0B4 0031AD14 50 88 C2 3E */ rlwimi r8, r4, 0x18, 8, 0x1f
/* 8031F0B8 0031AD18 3C C0 5D 59 */ lis r6, 0x5D588B65@ha
/* 8031F0BC 0031AD1C 38 66 8B 65 */ addi r3, r6, 0x5D588B65@l
/* 8031F0C0 0031AD20 38 E7 89 65 */ addi r7, r7, 0x6C078965@l
/* 8031F0C4 0031AD24 38 C0 00 00 */ li r6, 0
/* 8031F0C8 0031AD28 7D 45 48 38 */ and r5, r10, r9
/* 8031F0CC 0031AD2C 54 84 C0 0E */ slwi r4, r4, 0x18
/* 8031F0D0 0031AD30 91 01 00 08 */ stw r8, 8(r1)
/* 8031F0D4 0031AD34 7C A4 23 78 */ or r4, r5, r4
/* 8031F0D8 0031AD38 90 81 00 0C */ stw r4, 0xc(r1)
/* 8031F0DC 0031AD3C 90 9F 00 04 */ stw r4, 4(r31)
/* 8031F0E0 0031AD40 91 1E FB F0 */ stw r8, -0x410(r30)
/* 8031F0E4 0031AD44 90 FF 00 0C */ stw r7, 0xc(r31)
/* 8031F0E8 0031AD48 90 7F 00 08 */ stw r3, 8(r31)
/* 8031F0EC 0031AD4C 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8031F0F0 0031AD50 90 DF 00 10 */ stw r6, 0x10(r31)
lbl_8031F0F4:
/* 8031F0F4 0031AD54 3D 40 80 61 */ lis r10, lbl_8060FBF0@ha
/* 8031F0F8 0031AD58 2C 1D 00 00 */ cmpwi r29, 0
/* 8031F0FC 0031AD5C 39 2A FB F0 */ addi r9, r10, lbl_8060FBF0@l
/* 8031F100 0031AD60 80 0A FB F0 */ lwz r0, -0x410(r10)
/* 8031F104 0031AD64 80 89 00 0C */ lwz r4, 0xc(r9)
/* 8031F108 0031AD68 80 A9 00 04 */ lwz r5, 4(r9)
/* 8031F10C 0031AD6C 7C 64 01 D6 */ mullw r3, r4, r0
/* 8031F110 0031AD70 81 09 00 14 */ lwz r8, 0x14(r9)
/* 8031F114 0031AD74 80 C9 00 08 */ lwz r6, 8(r9)
/* 8031F118 0031AD78 80 E9 00 10 */ lwz r7, 0x10(r9)
/* 8031F11C 0031AD7C 7C 04 29 D6 */ mullw r0, r4, r5
/* 8031F120 0031AD80 7C 08 00 14 */ addc r0, r8, r0
/* 8031F124 0031AD84 90 09 00 04 */ stw r0, 4(r9)
/* 8031F128 0031AD88 7C 84 28 16 */ mulhwu r4, r4, r5
/* 8031F12C 0031AD8C 7C 06 29 D6 */ mullw r0, r6, r5
/* 8031F130 0031AD90 7C 04 02 14 */ add r0, r4, r0
/* 8031F134 0031AD94 7C 00 1A 14 */ add r0, r0, r3
/* 8031F138 0031AD98 7C 67 01 14 */ adde r3, r7, r0
/* 8031F13C 0031AD9C 90 6A FB F0 */ stw r3, -0x410(r10)
/* 8031F140 0031ADA0 40 82 00 08 */ bne lbl_8031F148
/* 8031F144 0031ADA4 48 00 00 14 */ b lbl_8031F158
lbl_8031F148:
/* 8031F148 0031ADA8 38 80 00 00 */ li r4, 0
/* 8031F14C 0031ADAC 7C 03 E8 16 */ mulhwu r0, r3, r29
/* 8031F150 0031ADB0 7C 64 E9 D6 */ mullw r3, r4, r29
/* 8031F154 0031ADB4 7C 60 1A 14 */ add r3, r0, r3
lbl_8031F158:
/* 8031F158 0031ADB8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8031F15C 0031ADBC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8031F160 0031ADC0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8031F164 0031ADC4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8031F168 0031ADC8 7C 08 03 A6 */ mtlr r0
/* 8031F16C 0031ADCC 38 21 00 20 */ addi r1, r1, 0x20
/* 8031F170 0031ADD0 4E 80 00 20 */ blr
.global DWCi_WStrLen
DWCi_WStrLen:
/* 8031F174 0031ADD4 38 80 00 00 */ li r4, 0
/* 8031F178 0031ADD8 48 00 00 0C */ b lbl_8031F184
lbl_8031F17C:
/* 8031F17C 0031ADDC 38 63 00 02 */ addi r3, r3, 2
/* 8031F180 0031ADE0 38 84 00 01 */ addi r4, r4, 1
lbl_8031F184:
/* 8031F184 0031ADE4 A0 03 00 00 */ lhz r0, 0(r3)
/* 8031F188 0031ADE8 2C 00 00 00 */ cmpwi r0, 0
/* 8031F18C 0031ADEC 40 82 FF F0 */ bne lbl_8031F17C
/* 8031F190 0031ADF0 7C 83 23 78 */ mr r3, r4
/* 8031F194 0031ADF4 4E 80 00 20 */ blr
|