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
440
441
442
443
444
445
446
447
448
449
450
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_80164FA0
func_80164FA0:
/* 80164FA0 00160C00 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80164FA4 00160C04 7C 08 02 A6 */ mflr r0
/* 80164FA8 00160C08 90 01 00 14 */ stw r0, 0x14(r1)
/* 80164FAC 00160C0C 4B FF DB C5 */ bl func_80162B70
/* 80164FB0 00160C10 2C 03 00 07 */ cmpwi r3, 7
/* 80164FB4 00160C14 41 82 00 1C */ beq lbl_80164FD0
/* 80164FB8 00160C18 40 80 00 20 */ bge lbl_80164FD8
/* 80164FBC 00160C1C 2C 03 00 05 */ cmpwi r3, 5
/* 80164FC0 00160C20 40 80 00 08 */ bge lbl_80164FC8
/* 80164FC4 00160C24 48 00 00 14 */ b lbl_80164FD8
lbl_80164FC8:
/* 80164FC8 00160C28 38 60 00 01 */ li r3, 1
/* 80164FCC 00160C2C 48 00 00 10 */ b lbl_80164FDC
lbl_80164FD0:
/* 80164FD0 00160C30 38 60 00 00 */ li r3, 0
/* 80164FD4 00160C34 48 00 00 08 */ b lbl_80164FDC
lbl_80164FD8:
/* 80164FD8 00160C38 38 60 00 00 */ li r3, 0
lbl_80164FDC:
/* 80164FDC 00160C3C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80164FE0 00160C40 7C 08 03 A6 */ mtlr r0
/* 80164FE4 00160C44 38 21 00 10 */ addi r1, r1, 0x10
/* 80164FE8 00160C48 4E 80 00 20 */ blr
.global func_80164FEC
func_80164FEC:
/* 80164FEC 00160C4C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80164FF0 00160C50 7C 08 02 A6 */ mflr r0
/* 80164FF4 00160C54 90 01 00 14 */ stw r0, 0x14(r1)
/* 80164FF8 00160C58 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80164FFC 00160C5C 7C 9F 23 78 */ mr r31, r4
/* 80165000 00160C60 93 C1 00 08 */ stw r30, 8(r1)
/* 80165004 00160C64 7C 7E 1B 78 */ mr r30, r3
/* 80165008 00160C68 48 0F 8F C9 */ bl func_8025DFD0
/* 8016500C 00160C6C 48 0F 93 11 */ bl func_8025E31C
/* 80165010 00160C70 81 83 00 00 */ lwz r12, 0(r3)
/* 80165014 00160C74 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 80165018 00160C78 7D 89 03 A6 */ mtctr r12
/* 8016501C 00160C7C 4E 80 04 21 */ bctrl
/* 80165020 00160C80 2C 03 00 00 */ cmpwi r3, 0
/* 80165024 00160C84 41 82 00 1C */ beq lbl_80165040
/* 80165028 00160C88 48 0F 8F A9 */ bl func_8025DFD0
/* 8016502C 00160C8C 48 0F 92 F1 */ bl func_8025E31C
/* 80165030 00160C90 7F C4 F3 78 */ mr r4, r30
/* 80165034 00160C94 7F E5 FB 78 */ mr r5, r31
/* 80165038 00160C98 48 10 0D F5 */ bl func_80265E2C
/* 8016503C 00160C9C 48 00 00 1C */ b lbl_80165058
lbl_80165040:
/* 80165040 00160CA0 48 0F 8F 91 */ bl func_8025DFD0
/* 80165044 00160CA4 48 0F 92 D9 */ bl func_8025E31C
/* 80165048 00160CA8 7F C4 F3 78 */ mr r4, r30
/* 8016504C 00160CAC 7F E5 FB 78 */ mr r5, r31
/* 80165050 00160CB0 48 0F 98 1D */ bl func_8025E86C
/* 80165054 00160CB4 38 60 00 00 */ li r3, 0
lbl_80165058:
/* 80165058 00160CB8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8016505C 00160CBC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80165060 00160CC0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80165064 00160CC4 7C 08 03 A6 */ mtlr r0
/* 80165068 00160CC8 38 21 00 10 */ addi r1, r1, 0x10
/* 8016506C 00160CCC 4E 80 00 20 */ blr
.global func_80165070
func_80165070:
/* 80165070 00160CD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80165074 00160CD4 7C 08 02 A6 */ mflr r0
/* 80165078 00160CD8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8016507C 00160CDC 4B FF FF 25 */ bl func_80164FA0
/* 80165080 00160CE0 2C 03 00 00 */ cmpwi r3, 0
/* 80165084 00160CE4 41 82 00 14 */ beq lbl_80165098
/* 80165088 00160CE8 48 0F 8F 49 */ bl func_8025DFD0
/* 8016508C 00160CEC 48 0F 92 91 */ bl func_8025E31C
/* 80165090 00160CF0 48 0F F4 61 */ bl func_802644F0
/* 80165094 00160CF4 48 00 00 08 */ b lbl_8016509C
lbl_80165098:
/* 80165098 00160CF8 38 60 00 00 */ li r3, 0
lbl_8016509C:
/* 8016509C 00160CFC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801650A0 00160D00 7C 08 03 A6 */ mtlr r0
/* 801650A4 00160D04 38 21 00 10 */ addi r1, r1, 0x10
/* 801650A8 00160D08 4E 80 00 20 */ blr
.global func_801650AC
func_801650AC:
/* 801650AC 00160D0C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801650B0 00160D10 7C 08 02 A6 */ mflr r0
/* 801650B4 00160D14 90 01 00 14 */ stw r0, 0x14(r1)
/* 801650B8 00160D18 4B FF FE E9 */ bl func_80164FA0
/* 801650BC 00160D1C 2C 03 00 00 */ cmpwi r3, 0
/* 801650C0 00160D20 40 82 00 0C */ bne lbl_801650CC
/* 801650C4 00160D24 38 60 00 00 */ li r3, 0
/* 801650C8 00160D28 48 00 00 38 */ b lbl_80165100
lbl_801650CC:
/* 801650CC 00160D2C 48 0F 8F 05 */ bl func_8025DFD0
/* 801650D0 00160D30 48 0F 92 4D */ bl func_8025E31C
/* 801650D4 00160D34 48 0F F4 1D */ bl func_802644F0
/* 801650D8 00160D38 2C 03 00 00 */ cmpwi r3, 0
/* 801650DC 00160D3C 41 82 00 0C */ beq lbl_801650E8
/* 801650E0 00160D40 38 60 00 01 */ li r3, 1
/* 801650E4 00160D44 48 00 00 1C */ b lbl_80165100
lbl_801650E8:
/* 801650E8 00160D48 48 0F 8E E9 */ bl func_8025DFD0
/* 801650EC 00160D4C 48 0F 92 31 */ bl func_8025E31C
/* 801650F0 00160D50 81 83 00 00 */ lwz r12, 0(r3)
/* 801650F4 00160D54 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 801650F8 00160D58 7D 89 03 A6 */ mtctr r12
/* 801650FC 00160D5C 4E 80 04 21 */ bctrl
lbl_80165100:
/* 80165100 00160D60 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80165104 00160D64 7C 08 03 A6 */ mtlr r0
/* 80165108 00160D68 38 21 00 10 */ addi r1, r1, 0x10
/* 8016510C 00160D6C 4E 80 00 20 */ blr
.global func_80165110
func_80165110:
/* 80165110 00160D70 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80165114 00160D74 7C 08 02 A6 */ mflr r0
/* 80165118 00160D78 90 01 00 14 */ stw r0, 0x14(r1)
/* 8016511C 00160D7C 48 0F 8E B5 */ bl func_8025DFD0
/* 80165120 00160D80 48 0F 91 FD */ bl func_8025E31C
/* 80165124 00160D84 48 0F F7 D9 */ bl func_802648FC
/* 80165128 00160D88 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8016512C 00160D8C 7C 08 03 A6 */ mtlr r0
/* 80165130 00160D90 38 21 00 10 */ addi r1, r1, 0x10
/* 80165134 00160D94 4E 80 00 20 */ blr
.global func_80165138
func_80165138:
/* 80165138 00160D98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8016513C 00160D9C 7C 08 02 A6 */ mflr r0
/* 80165140 00160DA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80165144 00160DA4 48 0F 8E 8D */ bl func_8025DFD0
/* 80165148 00160DA8 48 0F 91 D5 */ bl func_8025E31C
/* 8016514C 00160DAC 48 0F F4 A1 */ bl func_802645EC
/* 80165150 00160DB0 7C 03 00 D0 */ neg r0, r3
/* 80165154 00160DB4 7C 00 1B 78 */ or r0, r0, r3
/* 80165158 00160DB8 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8016515C 00160DBC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80165160 00160DC0 7C 08 03 A6 */ mtlr r0
/* 80165164 00160DC4 38 21 00 10 */ addi r1, r1, 0x10
/* 80165168 00160DC8 4E 80 00 20 */ blr
.global func_8016516C
func_8016516C:
/* 8016516C 00160DCC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80165170 00160DD0 7C 08 02 A6 */ mflr r0
/* 80165174 00160DD4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80165178 00160DD8 48 0F 8E 59 */ bl func_8025DFD0
/* 8016517C 00160DDC 48 0F 91 A1 */ bl func_8025E31C
/* 80165180 00160DE0 81 83 00 00 */ lwz r12, 0(r3)
/* 80165184 00160DE4 81 8C 00 48 */ lwz r12, 0x48(r12)
/* 80165188 00160DE8 7D 89 03 A6 */ mtctr r12
/* 8016518C 00160DEC 4E 80 04 21 */ bctrl
/* 80165190 00160DF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80165194 00160DF4 7C 08 03 A6 */ mtlr r0
/* 80165198 00160DF8 38 21 00 10 */ addi r1, r1, 0x10
/* 8016519C 00160DFC 4E 80 00 20 */ blr
.global func_801651A0
func_801651A0:
/* 801651A0 00160E00 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801651A4 00160E04 7C 08 02 A6 */ mflr r0
/* 801651A8 00160E08 90 01 00 14 */ stw r0, 0x14(r1)
/* 801651AC 00160E0C 48 0F 8E 25 */ bl func_8025DFD0
/* 801651B0 00160E10 48 0F 91 6D */ bl func_8025E31C
/* 801651B4 00160E14 81 83 00 00 */ lwz r12, 0(r3)
/* 801651B8 00160E18 81 8C 00 44 */ lwz r12, 0x44(r12)
/* 801651BC 00160E1C 7D 89 03 A6 */ mtctr r12
/* 801651C0 00160E20 4E 80 04 21 */ bctrl
/* 801651C4 00160E24 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801651C8 00160E28 7C 08 03 A6 */ mtlr r0
/* 801651CC 00160E2C 38 21 00 10 */ addi r1, r1, 0x10
/* 801651D0 00160E30 4E 80 00 20 */ blr
.global func_801651D4
func_801651D4:
/* 801651D4 00160E34 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801651D8 00160E38 7C 08 02 A6 */ mflr r0
/* 801651DC 00160E3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801651E0 00160E40 48 0F 8D F1 */ bl func_8025DFD0
/* 801651E4 00160E44 48 0F 91 39 */ bl func_8025E31C
/* 801651E8 00160E48 48 10 1D 95 */ bl func_80266F7C
/* 801651EC 00160E4C 2C 03 00 00 */ cmpwi r3, 0
/* 801651F0 00160E50 40 81 00 14 */ ble lbl_80165204
/* 801651F4 00160E54 48 0F 8D DD */ bl func_8025DFD0
/* 801651F8 00160E58 48 0F 91 25 */ bl func_8025E31C
/* 801651FC 00160E5C 48 10 1D 81 */ bl func_80266F7C
/* 80165200 00160E60 48 00 00 14 */ b lbl_80165214
lbl_80165204:
/* 80165204 00160E64 48 0F 8D CD */ bl func_8025DFD0
/* 80165208 00160E68 48 0F 91 15 */ bl func_8025E31C
/* 8016520C 00160E6C 48 10 1D 71 */ bl func_80266F7C
/* 80165210 00160E70 7C 63 00 D0 */ neg r3, r3
lbl_80165214:
/* 80165214 00160E74 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80165218 00160E78 7C 08 03 A6 */ mtlr r0
/* 8016521C 00160E7C 38 21 00 10 */ addi r1, r1, 0x10
/* 80165220 00160E80 4E 80 00 20 */ blr
.global func_80165224
func_80165224:
/* 80165224 00160E84 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80165228 00160E88 7C 08 02 A6 */ mflr r0
/* 8016522C 00160E8C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80165230 00160E90 48 0F 8D A1 */ bl func_8025DFD0
/* 80165234 00160E94 48 0F 90 E9 */ bl func_8025E31C
/* 80165238 00160E98 81 83 00 00 */ lwz r12, 0(r3)
/* 8016523C 00160E9C 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 80165240 00160EA0 7D 89 03 A6 */ mtctr r12
/* 80165244 00160EA4 4E 80 04 21 */ bctrl
/* 80165248 00160EA8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8016524C 00160EAC 7C 08 03 A6 */ mtlr r0
/* 80165250 00160EB0 38 21 00 10 */ addi r1, r1, 0x10
/* 80165254 00160EB4 4E 80 00 20 */ blr
.global func_80165258
func_80165258:
/* 80165258 00160EB8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8016525C 00160EBC 7C 08 02 A6 */ mflr r0
/* 80165260 00160EC0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80165264 00160EC4 4B FF FE 49 */ bl func_801650AC
/* 80165268 00160EC8 2C 03 00 00 */ cmpwi r3, 0
/* 8016526C 00160ECC 41 82 00 20 */ beq lbl_8016528C
/* 80165270 00160ED0 48 0F 8D 61 */ bl func_8025DFD0
/* 80165274 00160ED4 48 0F 90 A9 */ bl func_8025E31C
/* 80165278 00160ED8 81 83 00 00 */ lwz r12, 0(r3)
/* 8016527C 00160EDC 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 80165280 00160EE0 7D 89 03 A6 */ mtctr r12
/* 80165284 00160EE4 4E 80 04 21 */ bctrl
/* 80165288 00160EE8 48 00 00 08 */ b lbl_80165290
lbl_8016528C:
/* 8016528C 00160EEC 38 60 00 00 */ li r3, 0
lbl_80165290:
/* 80165290 00160EF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80165294 00160EF4 7C 08 03 A6 */ mtlr r0
/* 80165298 00160EF8 38 21 00 10 */ addi r1, r1, 0x10
/* 8016529C 00160EFC 4E 80 00 20 */ blr
.global func_801652A0
func_801652A0:
/* 801652A0 00160F00 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801652A4 00160F04 7C 08 02 A6 */ mflr r0
/* 801652A8 00160F08 90 01 00 14 */ stw r0, 0x14(r1)
/* 801652AC 00160F0C 4B FF FE 01 */ bl func_801650AC
/* 801652B0 00160F10 2C 03 00 00 */ cmpwi r3, 0
/* 801652B4 00160F14 41 82 00 20 */ beq lbl_801652D4
/* 801652B8 00160F18 48 0F 8D 19 */ bl func_8025DFD0
/* 801652BC 00160F1C 48 0F 90 61 */ bl func_8025E31C
/* 801652C0 00160F20 81 83 00 00 */ lwz r12, 0(r3)
/* 801652C4 00160F24 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 801652C8 00160F28 7D 89 03 A6 */ mtctr r12
/* 801652CC 00160F2C 4E 80 04 21 */ bctrl
/* 801652D0 00160F30 48 00 00 08 */ b lbl_801652D8
lbl_801652D4:
/* 801652D4 00160F34 38 60 00 00 */ li r3, 0
lbl_801652D8:
/* 801652D8 00160F38 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801652DC 00160F3C 7C 08 03 A6 */ mtlr r0
/* 801652E0 00160F40 38 21 00 10 */ addi r1, r1, 0x10
/* 801652E4 00160F44 4E 80 00 20 */ blr
.global func_801652E8
func_801652E8:
/* 801652E8 00160F48 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801652EC 00160F4C 7C 08 02 A6 */ mflr r0
/* 801652F0 00160F50 90 01 00 34 */ stw r0, 0x34(r1)
/* 801652F4 00160F54 48 0F 8C DD */ bl func_8025DFD0
/* 801652F8 00160F58 48 0F 90 25 */ bl func_8025E31C
/* 801652FC 00160F5C 38 81 00 08 */ addi r4, r1, 8
/* 80165300 00160F60 38 A0 00 08 */ li r5, 8
/* 80165304 00160F64 48 10 01 85 */ bl func_80265488
/* 80165308 00160F68 2C 03 00 00 */ cmpwi r3, 0
/* 8016530C 00160F6C 41 81 00 0C */ bgt lbl_80165318
/* 80165310 00160F70 38 60 FF FF */ li r3, -1
/* 80165314 00160F74 48 00 00 08 */ b lbl_8016531C
lbl_80165318:
/* 80165318 00160F78 80 61 00 08 */ lwz r3, 8(r1)
lbl_8016531C:
/* 8016531C 00160F7C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80165320 00160F80 7C 08 03 A6 */ mtlr r0
/* 80165324 00160F84 38 21 00 30 */ addi r1, r1, 0x30
/* 80165328 00160F88 4E 80 00 20 */ blr
.global func_8016532C
func_8016532C:
/* 8016532C 00160F8C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80165330 00160F90 7C 08 02 A6 */ mflr r0
/* 80165334 00160F94 90 01 00 14 */ stw r0, 0x14(r1)
/* 80165338 00160F98 48 0F 8C 99 */ bl func_8025DFD0
/* 8016533C 00160F9C 48 0F 8F E1 */ bl func_8025E31C
/* 80165340 00160FA0 48 10 0A AD */ bl func_80265DEC
/* 80165344 00160FA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80165348 00160FA8 7C 08 03 A6 */ mtlr r0
/* 8016534C 00160FAC 38 21 00 10 */ addi r1, r1, 0x10
/* 80165350 00160FB0 4E 80 00 20 */ blr
.global func_80165354
func_80165354:
/* 80165354 00160FB4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80165358 00160FB8 7C 08 02 A6 */ mflr r0
/* 8016535C 00160FBC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80165360 00160FC0 4B FF FD 4D */ bl func_801650AC
/* 80165364 00160FC4 2C 03 00 00 */ cmpwi r3, 0
/* 80165368 00160FC8 41 82 00 10 */ beq lbl_80165378
/* 8016536C 00160FCC 4B FF FE ED */ bl func_80165258
/* 80165370 00160FD0 2C 03 00 00 */ cmpwi r3, 0
/* 80165374 00160FD4 41 82 00 0C */ beq lbl_80165380
lbl_80165378:
/* 80165378 00160FD8 38 60 FF FF */ li r3, -1
/* 8016537C 00160FDC 48 00 00 1C */ b lbl_80165398
lbl_80165380:
/* 80165380 00160FE0 48 00 38 C9 */ bl func_80168C48
/* 80165384 00160FE4 48 00 41 1D */ bl func_801694A0
/* 80165388 00160FE8 48 0F 8C 49 */ bl func_8025DFD0
/* 8016538C 00160FEC 48 0F 8F 91 */ bl func_8025E31C
/* 80165390 00160FF0 38 80 00 02 */ li r4, 2
/* 80165394 00160FF4 48 10 08 1D */ bl func_80265BB0
lbl_80165398:
/* 80165398 00160FF8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8016539C 00160FFC 7C 08 03 A6 */ mtlr r0
/* 801653A0 00161000 38 21 00 10 */ addi r1, r1, 0x10
/* 801653A4 00161004 4E 80 00 20 */ blr
.global func_801653A8
func_801653A8:
/* 801653A8 00161008 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801653AC 0016100C 7C 08 02 A6 */ mflr r0
/* 801653B0 00161010 90 01 00 14 */ stw r0, 0x14(r1)
/* 801653B4 00161014 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801653B8 00161018 7C 7F 1B 78 */ mr r31, r3
/* 801653BC 0016101C 4B FF FC F1 */ bl func_801650AC
/* 801653C0 00161020 2C 03 00 00 */ cmpwi r3, 0
/* 801653C4 00161024 41 82 00 10 */ beq lbl_801653D4
/* 801653C8 00161028 4B FF FE 91 */ bl func_80165258
/* 801653CC 0016102C 2C 03 00 00 */ cmpwi r3, 0
/* 801653D0 00161030 41 82 00 0C */ beq lbl_801653DC
lbl_801653D4:
/* 801653D4 00161034 38 60 FF FF */ li r3, -1
/* 801653D8 00161038 48 00 00 1C */ b lbl_801653F4
lbl_801653DC:
/* 801653DC 0016103C 48 00 38 6D */ bl func_80168C48
/* 801653E0 00161040 48 00 40 C1 */ bl func_801694A0
/* 801653E4 00161044 48 0F 8B ED */ bl func_8025DFD0
/* 801653E8 00161048 48 0F 8F 35 */ bl func_8025E31C
/* 801653EC 0016104C 7F E4 FB 78 */ mr r4, r31
/* 801653F0 00161050 48 10 08 2D */ bl func_80265C1C
lbl_801653F4:
/* 801653F4 00161054 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801653F8 00161058 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801653FC 0016105C 7C 08 03 A6 */ mtlr r0
/* 80165400 00161060 38 21 00 10 */ addi r1, r1, 0x10
/* 80165404 00161064 4E 80 00 20 */ blr
.global func_80165408
func_80165408:
/* 80165408 00161068 7C 64 1B 78 */ mr r4, r3
/* 8016540C 0016106C 48 00 00 08 */ b lbl_80165414
lbl_80165410:
/* 80165410 00161070 38 84 00 02 */ addi r4, r4, 2
lbl_80165414:
/* 80165414 00161074 A0 04 00 00 */ lhz r0, 0(r4)
/* 80165418 00161078 2C 00 00 00 */ cmpwi r0, 0
/* 8016541C 0016107C 40 82 FF F4 */ bne lbl_80165410
/* 80165420 00161080 7C 63 20 50 */ subf r3, r3, r4
/* 80165424 00161084 54 60 0F FE */ srwi r0, r3, 0x1f
/* 80165428 00161088 7C 00 1A 14 */ add r0, r0, r3
/* 8016542C 0016108C 7C 03 0E 70 */ srawi r3, r0, 1
/* 80165430 00161090 4E 80 00 20 */ blr
.global func_80165434
func_80165434:
/* 80165434 00161094 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80165438 00161098 7C 08 02 A6 */ mflr r0
/* 8016543C 0016109C 90 01 00 44 */ stw r0, 0x44(r1)
/* 80165440 001610A0 39 61 00 40 */ addi r11, r1, 0x40
/* 80165444 001610A4 48 06 1C E5 */ bl _savegpr_27
/* 80165448 001610A8 7C 7B 1B 78 */ mr r27, r3
/* 8016544C 001610AC 7C 9D 23 78 */ mr r29, r4
/* 80165450 001610B0 7C BC 2B 78 */ mr r28, r5
/* 80165454 001610B4 4B FF FC 59 */ bl func_801650AC
/* 80165458 001610B8 2C 03 00 00 */ cmpwi r3, 0
/* 8016545C 001610BC 41 82 00 10 */ beq lbl_8016546C
/* 80165460 001610C0 4B FF FD F9 */ bl func_80165258
/* 80165464 001610C4 2C 03 00 00 */ cmpwi r3, 0
/* 80165468 001610C8 41 82 00 0C */ beq lbl_80165474
lbl_8016546C:
/* 8016546C 001610CC 38 60 FF FF */ li r3, -1
/* 80165470 001610D0 48 00 00 8C */ b lbl_801654FC
lbl_80165474:
/* 80165474 001610D4 2C 1D 00 0A */ cmpwi r29, 0xa
/* 80165478 001610D8 40 80 00 0C */ bge lbl_80165484
/* 8016547C 001610DC 3B A0 00 0A */ li r29, 0xa
/* 80165480 001610E0 48 00 00 0C */ b lbl_8016548C
lbl_80165484:
/* 80165484 001610E4 1C 1C 00 64 */ mulli r0, r28, 0x64
/* 80165488 001610E8 7F A0 EB D6 */ divw r29, r0, r29
lbl_8016548C:
/* 8016548C 001610EC 80 0D 9D F4 */ lwz r0, lbl_8063F0B4-_SDA_BASE_(r13)
/* 80165490 001610F0 2C 00 00 00 */ cmpwi r0, 0
/* 80165494 001610F4 41 82 00 08 */ beq lbl_8016549C
/* 80165498 001610F8 3B A0 00 0A */ li r29, 0xa
lbl_8016549C:
/* 8016549C 001610FC 83 8D 9D F0 */ lwz r28, lbl_8063F0B0-_SDA_BASE_(r13)
/* 801654A0 00161100 48 00 35 09 */ bl func_801689A8
/* 801654A4 00161104 7C 64 1B 78 */ mr r4, r3
/* 801654A8 00161108 38 61 00 08 */ addi r3, r1, 8
/* 801654AC 0016110C 38 A0 00 20 */ li r5, 0x20
/* 801654B0 00161110 48 01 1C 9D */ bl func_8017714C
/* 801654B4 00161114 48 00 34 F5 */ bl func_801689A8
/* 801654B8 00161118 4B FF FF 51 */ bl func_80165408
/* 801654BC 0016111C 7C 7E 1B 78 */ mr r30, r3
/* 801654C0 00161120 48 00 34 E9 */ bl func_801689A8
/* 801654C4 00161124 7C 7F 1B 78 */ mr r31, r3
/* 801654C8 00161128 48 0F 8B 09 */ bl func_8025DFD0
/* 801654CC 0016112C 48 0F 8E 51 */ bl func_8025E31C
/* 801654D0 00161130 7F E4 FB 78 */ mr r4, r31
/* 801654D4 00161134 7F C5 F3 78 */ mr r5, r30
/* 801654D8 00161138 48 10 09 55 */ bl func_80265E2C
/* 801654DC 0016113C 48 00 37 6D */ bl func_80168C48
/* 801654E0 00161140 48 00 3F C1 */ bl func_801694A0
/* 801654E4 00161144 48 0F 8A ED */ bl func_8025DFD0
/* 801654E8 00161148 48 0F 8E 35 */ bl func_8025E31C
/* 801654EC 0016114C 7F 64 DB 78 */ mr r4, r27
/* 801654F0 00161150 7F A5 EB 78 */ mr r5, r29
/* 801654F4 00161154 7F 86 E3 78 */ mr r6, r28
/* 801654F8 00161158 48 10 04 81 */ bl func_80265978
lbl_801654FC:
/* 801654FC 0016115C 39 61 00 40 */ addi r11, r1, 0x40
/* 80165500 00161160 48 06 1C 75 */ bl _restgpr_27
/* 80165504 00161164 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80165508 00161168 7C 08 03 A6 */ mtlr r0
/* 8016550C 0016116C 38 21 00 40 */ addi r1, r1, 0x40
/* 80165510 00161170 4E 80 00 20 */ blr
.global func_80165514
func_80165514:
/* 80165514 00161174 38 A0 00 01 */ li r5, 1
/* 80165518 00161178 38 6D 9D E8 */ addi r3, r13, lbl_8063F0A8-_SDA_BASE_
/* 8016551C 0016117C 38 80 00 04 */ li r4, 4
/* 80165520 00161180 38 00 00 00 */ li r0, 0
/* 80165524 00161184 98 AD 9D E8 */ stb r5, lbl_8063F0A8-_SDA_BASE_(r13)
/* 80165528 00161188 B0 83 00 02 */ sth r4, 2(r3)
/* 8016552C 0016118C 98 03 00 04 */ stb r0, 4(r3)
/* 80165530 00161190 4E 80 00 20 */ blr
|