summaryrefslogtreecommitdiff
path: root/asm/Dolphin/os/OSRtc.s
blob: f355f2d9ba9b8cf5fbcd8051c135852f75d27da7 (plain)
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
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
.include "macros.inc"

.section .text

.global func_80370b70
.type func_80370b70, @function
func_80370b70:
/* 80370B70 7C0802A6 */ mflr        r0
/* 80370B74 3C608054 */ lis         r3, lbl_8053eca0@ha
/* 80370B78 90010004 */ stw         r0, 4(r1)
/* 80370B7C 9421FFE8 */ stwu        r1, -0x18(r1)
/* 80370B80 93E10014 */ stw         r31, 0x14(r1)
/* 80370B84 3BE3ECA0 */ addi        r31, r3, lbl_8053eca0@l
/* 80370B88 93C10010 */ stw         r30, 0x10(r1)
/* 80370B8C 3BDF0040 */ addi        r30, r31, 0x40
/* 80370B90 809F0040 */ lwz         r4, 0x40(r31)
/* 80370B94 7C7F2214 */ add         r3, r31, r4
/* 80370B98 20A40040 */ subfic      r5, r4, 0x40
/* 80370B9C 48000035 */ bl          func_80370bd0
/* 80370BA0 907F004C */ stw         r3, 0x4c(r31)
/* 80370BA4 801F004C */ lwz         r0, 0x4c(r31)
/* 80370BA8 2C000000 */ cmpwi       r0, 0x0
/* 80370BAC 4182000C */ beq-        lbl_80370bb8
/* 80370BB0 38000040 */ li          r0, 0x40
/* 80370BB4 901E0000 */ stw         r0, 0(r30)
lbl_80370bb8:
/* 80370BB8 8001001C */ lwz         r0, 0x1c(r1)
/* 80370BBC 83E10014 */ lwz         r31, 0x14(r1)
/* 80370BC0 83C10010 */ lwz         r30, 0x10(r1)
/* 80370BC4 38210018 */ addi        r1, r1, 0x18
/* 80370BC8 7C0803A6 */ mtlr        r0
/* 80370BCC 4E800020 */ blr         
.size func_80370b70, . - func_80370b70


.global func_80370bd0
.type func_80370bd0, @function
func_80370bd0:
/* 80370BD0 7C0802A6 */ mflr        r0
/* 80370BD4 3CC08037 */ lis         r6, func_80370b70@ha
/* 80370BD8 90010004 */ stw         r0, 4(r1)
/* 80370BDC 38060B70 */ addi        r0, r6, func_80370b70@l
/* 80370BE0 9421FFD8 */ stwu        r1, -0x28(r1)
/* 80370BE4 93E10024 */ stw         r31, 0x24(r1)
/* 80370BE8 3BE40000 */ addi        r31, r4, 0x0
/* 80370BEC 38800001 */ li          r4, 0x1
/* 80370BF0 93C10020 */ stw         r30, 0x20(r1)
/* 80370BF4 3BC50000 */ addi        r30, r5, 0x0
/* 80370BF8 7C050378 */ mr          r5, r0
/* 80370BFC 93A1001C */ stw         r29, 0x1c(r1)
/* 80370C00 3BA30000 */ addi        r29, r3, 0x0
/* 80370C04 38600000 */ li          r3, 0x0
/* 80370C08 480BBB75 */ bl          func_8042c77c
/* 80370C0C 2C030000 */ cmpwi       r3, 0x0
/* 80370C10 4082000C */ bne-        lbl_80370c1c
/* 80370C14 38600000 */ li          r3, 0x0
/* 80370C18 480000B4 */ b           lbl_80370ccc
lbl_80370c1c:
/* 80370C1C 38600000 */ li          r3, 0x0
/* 80370C20 38800001 */ li          r4, 0x1
/* 80370C24 38A00003 */ li          r5, 0x3
/* 80370C28 480BB455 */ bl          func_8042c07c
/* 80370C2C 2C030000 */ cmpwi       r3, 0x0
/* 80370C30 40820014 */ bne-        lbl_80370c44
/* 80370C34 38600000 */ li          r3, 0x0
/* 80370C38 480BBC39 */ bl          func_8042c870
/* 80370C3C 38600000 */ li          r3, 0x0
/* 80370C40 4800008C */ b           lbl_80370ccc
lbl_80370c44:
/* 80370C44 57FF3032 */ slwi        r31, r31, 6
/* 80370C48 381F0100 */ addi        r0, r31, 0x100
/* 80370C4C 6400A000 */ oris        r0, r0, 0xa000
/* 80370C50 90010014 */ stw         r0, 0x14(r1)
/* 80370C54 38810014 */ addi        r4, r1, 0x14
/* 80370C58 38600000 */ li          r3, 0x0
/* 80370C5C 38A00004 */ li          r5, 0x4
/* 80370C60 38C00001 */ li          r6, 0x1
/* 80370C64 38E00000 */ li          r7, 0x0
/* 80370C68 480BA8C1 */ bl          func_8042b528
/* 80370C6C 7C600034 */ cntlzw      r0, r3
/* 80370C70 541FD97E */ srwi        r31, r0, 5
/* 80370C74 38600000 */ li          r3, 0x0
/* 80370C78 480BAC99 */ bl          func_8042b910
/* 80370C7C 7C600034 */ cntlzw      r0, r3
/* 80370C80 5400D97E */ srwi        r0, r0, 5
/* 80370C84 389D0000 */ addi        r4, r29, 0x0
/* 80370C88 38BE0000 */ addi        r5, r30, 0x0
/* 80370C8C 7FFF0378 */ or          r31, r31, r0
/* 80370C90 38600000 */ li          r3, 0x0
/* 80370C94 38C00001 */ li          r6, 0x1
/* 80370C98 480BAAED */ bl          func_8042b784
/* 80370C9C 7C600034 */ cntlzw      r0, r3
/* 80370CA0 5400D97E */ srwi        r0, r0, 5
/* 80370CA4 7FFF0378 */ or          r31, r31, r0
/* 80370CA8 38600000 */ li          r3, 0x0
/* 80370CAC 480BB4FD */ bl          func_8042c1a8
/* 80370CB0 7C600034 */ cntlzw      r0, r3
/* 80370CB4 5400D97E */ srwi        r0, r0, 5
/* 80370CB8 7FFF0378 */ or          r31, r31, r0
/* 80370CBC 38600000 */ li          r3, 0x0
/* 80370CC0 480BBBB1 */ bl          func_8042c870
/* 80370CC4 7FE00034 */ cntlzw      r0, r31
/* 80370CC8 5403D97E */ srwi        r3, r0, 5
lbl_80370ccc:
/* 80370CCC 8001002C */ lwz         r0, 0x2c(r1)
/* 80370CD0 83E10024 */ lwz         r31, 0x24(r1)
/* 80370CD4 83C10020 */ lwz         r30, 0x20(r1)
/* 80370CD8 83A1001C */ lwz         r29, 0x1c(r1)
/* 80370CDC 38210028 */ addi        r1, r1, 0x28
/* 80370CE0 7C0803A6 */ mtlr        r0
/* 80370CE4 4E800020 */ blr         
.size func_80370bd0, . - func_80370bd0


.global func_80370ce8
.type func_80370ce8, @function
func_80370ce8:
/* 80370CE8 7C0802A6 */ mflr        r0
/* 80370CEC 3C608054 */ lis         r3, lbl_8053eca0@ha
/* 80370CF0 90010004 */ stw         r0, 4(r1)
/* 80370CF4 38800040 */ li          r4, 0x40
/* 80370CF8 9421FFE8 */ stwu        r1, -0x18(r1)
/* 80370CFC 93E10014 */ stw         r31, 0x14(r1)
/* 80370D00 3BE00000 */ li          r31, 0x0
/* 80370D04 93C10010 */ stw         r30, 0x10(r1)
/* 80370D08 3BC3ECA0 */ addi        r30, r3, lbl_8053eca0@l
/* 80370D0C 387E0000 */ addi        r3, r30, 0x0
/* 80370D10 93FE0044 */ stw         r31, 0x44(r30)
/* 80370D14 93FE0048 */ stw         r31, 0x48(r30)
/* 80370D18 4BFFCBC9 */ bl          func_8036d8e0
/* 80370D1C 38600000 */ li          r3, 0x0
/* 80370D20 38800001 */ li          r4, 0x1
/* 80370D24 38A00000 */ li          r5, 0x0
/* 80370D28 480BBA55 */ bl          func_8042c77c
/* 80370D2C 2C030000 */ cmpwi       r3, 0x0
/* 80370D30 40820008 */ bne-        lbl_80370d38
/* 80370D34 480000C4 */ b           lbl_80370df8
lbl_80370d38:
/* 80370D38 38600000 */ li          r3, 0x0
/* 80370D3C 38800001 */ li          r4, 0x1
/* 80370D40 38A00003 */ li          r5, 0x3
/* 80370D44 480BB339 */ bl          func_8042c07c
/* 80370D48 2C030000 */ cmpwi       r3, 0x0
/* 80370D4C 40820010 */ bne-        lbl_80370d5c
/* 80370D50 38600000 */ li          r3, 0x0
/* 80370D54 480BBB1D */ bl          func_8042c870
/* 80370D58 480000A0 */ b           lbl_80370df8
lbl_80370d5c:
/* 80370D5C 3C602000 */ lis         r3, 0x2000
/* 80370D60 38030100 */ addi        r0, r3, 0x100
/* 80370D64 90010008 */ stw         r0, 8(r1)
/* 80370D68 38810008 */ addi        r4, r1, 0x8
/* 80370D6C 38600000 */ li          r3, 0x0
/* 80370D70 38A00004 */ li          r5, 0x4
/* 80370D74 38C00001 */ li          r6, 0x1
/* 80370D78 38E00000 */ li          r7, 0x0
/* 80370D7C 480BA7AD */ bl          func_8042b528
/* 80370D80 7C600034 */ cntlzw      r0, r3
/* 80370D84 541FD97E */ srwi        r31, r0, 5
/* 80370D88 38600000 */ li          r3, 0x0
/* 80370D8C 480BAB85 */ bl          func_8042b910
/* 80370D90 7C600034 */ cntlzw      r0, r3
/* 80370D94 5400D97E */ srwi        r0, r0, 5
/* 80370D98 389E0000 */ addi        r4, r30, 0x0
/* 80370D9C 7FFF0378 */ or          r31, r31, r0
/* 80370DA0 38600000 */ li          r3, 0x0
/* 80370DA4 38A00040 */ li          r5, 0x40
/* 80370DA8 38C00000 */ li          r6, 0x0
/* 80370DAC 38E00000 */ li          r7, 0x0
/* 80370DB0 480BAA75 */ bl          func_8042b824
/* 80370DB4 7C600034 */ cntlzw      r0, r3
/* 80370DB8 5400D97E */ srwi        r0, r0, 5
/* 80370DBC 7FFF0378 */ or          r31, r31, r0
/* 80370DC0 38600000 */ li          r3, 0x0
/* 80370DC4 480BAB4D */ bl          func_8042b910
/* 80370DC8 7C600034 */ cntlzw      r0, r3
/* 80370DCC 5400D97E */ srwi        r0, r0, 5
/* 80370DD0 7FFF0378 */ or          r31, r31, r0
/* 80370DD4 38600000 */ li          r3, 0x0
/* 80370DD8 480BB3D1 */ bl          func_8042c1a8
/* 80370DDC 7C600034 */ cntlzw      r0, r3
/* 80370DE0 5400D97E */ srwi        r0, r0, 5
/* 80370DE4 7FFF0378 */ or          r31, r31, r0
/* 80370DE8 38600000 */ li          r3, 0x0
/* 80370DEC 480BBA85 */ bl          func_8042c870
/* 80370DF0 7FE00034 */ cntlzw      r0, r31
/* 80370DF4 541FD97E */ srwi        r31, r0, 5
lbl_80370df8:
/* 80370DF8 93FE004C */ stw         r31, 0x4c(r30)
/* 80370DFC 38000040 */ li          r0, 0x40
/* 80370E00 901E0040 */ stw         r0, 0x40(r30)
/* 80370E04 8001001C */ lwz         r0, 0x1c(r1)
/* 80370E08 83E10014 */ lwz         r31, 0x14(r1)
/* 80370E0C 83C10010 */ lwz         r30, 0x10(r1)
/* 80370E10 38210018 */ addi        r1, r1, 0x18
/* 80370E14 7C0803A6 */ mtlr        r0
/* 80370E18 4E800020 */ blr         
.size func_80370ce8, . - func_80370ce8


.global func_80370e1c
.type func_80370e1c, @function
func_80370e1c:
/* 80370E1C 7C0802A6 */ mflr        r0
/* 80370E20 3C608054 */ lis         r3, lbl_8053eca0@ha
/* 80370E24 90010004 */ stw         r0, 4(r1)
/* 80370E28 9421FFF0 */ stwu        r1, -0x10(r1)
/* 80370E2C 93E1000C */ stw         r31, 0xc(r1)
/* 80370E30 3BE3ECA0 */ addi        r31, r3, lbl_8053eca0@l
/* 80370E34 4BFFDCA1 */ bl          func_8036ead4
/* 80370E38 801F0048 */ lwz         r0, 0x48(r31)
/* 80370E3C 389F0048 */ addi        r4, r31, 0x48
/* 80370E40 2C000000 */ cmpwi       r0, 0x0
/* 80370E44 41820010 */ beq-        lbl_80370e54
/* 80370E48 4BFFDCB5 */ bl          func_8036eafc
/* 80370E4C 3BE00000 */ li          r31, 0x0
/* 80370E50 48000010 */ b           lbl_80370e60
lbl_80370e54:
/* 80370E54 907F0044 */ stw         r3, 0x44(r31)
/* 80370E58 38000001 */ li          r0, 0x1
/* 80370E5C 90040000 */ stw         r0, 0(r4)
lbl_80370e60:
/* 80370E60 7FE3FB78 */ mr          r3, r31
/* 80370E64 80010014 */ lwz         r0, 0x14(r1)
/* 80370E68 83E1000C */ lwz         r31, 0xc(r1)
/* 80370E6C 38210010 */ addi        r1, r1, 0x10
/* 80370E70 7C0803A6 */ mtlr        r0
/* 80370E74 4E800020 */ blr         
.size func_80370e1c, . - func_80370e1c


.global func_80370e78
.type func_80370e78, @function
func_80370e78:
/* 80370E78 7C0802A6 */ mflr        r0
/* 80370E7C 3C608054 */ lis         r3, lbl_8053eca0@ha
/* 80370E80 90010004 */ stw         r0, 4(r1)
/* 80370E84 9421FFF0 */ stwu        r1, -0x10(r1)
/* 80370E88 93E1000C */ stw         r31, 0xc(r1)
/* 80370E8C 3BE3ECA0 */ addi        r31, r3, lbl_8053eca0@l
/* 80370E90 4BFFDC45 */ bl          func_8036ead4
/* 80370E94 801F0048 */ lwz         r0, 0x48(r31)
/* 80370E98 389F0048 */ addi        r4, r31, 0x48
/* 80370E9C 2C000000 */ cmpwi       r0, 0x0
/* 80370EA0 41820010 */ beq-        lbl_80370eb0
/* 80370EA4 4BFFDC59 */ bl          func_8036eafc
/* 80370EA8 38600000 */ li          r3, 0x0
/* 80370EAC 48000014 */ b           lbl_80370ec0
lbl_80370eb0:
/* 80370EB0 907F0044 */ stw         r3, 0x44(r31)
/* 80370EB4 38000001 */ li          r0, 0x1
/* 80370EB8 387F0014 */ addi        r3, r31, 0x14
/* 80370EBC 90040000 */ stw         r0, 0(r4)
lbl_80370ec0:
/* 80370EC0 80010014 */ lwz         r0, 0x14(r1)
/* 80370EC4 83E1000C */ lwz         r31, 0xc(r1)
/* 80370EC8 38210010 */ addi        r1, r1, 0x10
/* 80370ECC 7C0803A6 */ mtlr        r0
/* 80370ED0 4E800020 */ blr         
.size func_80370e78, . - func_80370e78


.global func_80370ed4
.type func_80370ed4, @function
func_80370ed4:
/* 80370ED4 7C0802A6 */ mflr        r0
/* 80370ED8 2C030000 */ cmpwi       r3, 0x0
/* 80370EDC 90010004 */ stw         r0, 4(r1)
/* 80370EE0 3C608054 */ lis         r3, lbl_8053eca0@ha
/* 80370EE4 9421FFD0 */ stwu        r1, -0x30(r1)
/* 80370EE8 BF61001C */ stmw        r27, 0x1c(r1)
/* 80370EEC 3BE3ECA0 */ addi        r31, r3, lbl_8053eca0@l
/* 80370EF0 418202C4 */ beq-        lbl_803711b4
/* 80370EF4 28040000 */ cmplwi      r4, 0
/* 80370EF8 408201B0 */ bne-        lbl_803710a8
/* 80370EFC 887F0013 */ lbz         r3, 0x13(r31)
/* 80370F00 546007BE */ clrlwi      r0, r3, 0x1e
/* 80370F04 28000002 */ cmplwi      r0, 2
/* 80370F08 4081000C */ ble-        lbl_80370f14
/* 80370F0C 5460003A */ rlwinm      r0, r3, 0, 0, 0x1d
/* 80370F10 981F0013 */ stb         r0, 0x13(r31)
lbl_80370f14:
/* 80370F14 38000000 */ li          r0, 0x0
/* 80370F18 B01F0002 */ sth         r0, 2(r31)
/* 80370F1C 38BF0014 */ addi        r5, r31, 0x14
/* 80370F20 38DF000C */ addi        r6, r31, 0xc
/* 80370F24 38650001 */ addi        r3, r5, 0x1
/* 80370F28 B01F0000 */ sth         r0, 0(r31)
/* 80370F2C 7C661850 */ subf        r3, r6, r3
/* 80370F30 7C062840 */ cmplw       r6, r5
/* 80370F34 5463F87E */ srwi        r3, r3, 1
/* 80370F38 40800170 */ bge-        lbl_803710a8
/* 80370F3C 5460E8FF */ rlwinm.     r0, r3, 0x1d, 3, 0x1f
/* 80370F40 7C0903A6 */ mtctr       r0
/* 80370F44 41820134 */ beq-        lbl_80371078
lbl_80370f48:
/* 80370F48 A0BF0000 */ lhz         r5, 0(r31)
/* 80370F4C A0060000 */ lhz         r0, 0(r6)
/* 80370F50 7C050214 */ add         r0, r5, r0
/* 80370F54 B01F0000 */ sth         r0, 0(r31)
/* 80370F58 A0060000 */ lhz         r0, 0(r6)
/* 80370F5C A0BF0002 */ lhz         r5, 2(r31)
/* 80370F60 7C0000F8 */ nor         r0, r0, r0
/* 80370F64 7C050214 */ add         r0, r5, r0
/* 80370F68 B01F0002 */ sth         r0, 2(r31)
/* 80370F6C A0BF0000 */ lhz         r5, 0(r31)
/* 80370F70 A0060002 */ lhz         r0, 2(r6)
/* 80370F74 7C050214 */ add         r0, r5, r0
/* 80370F78 B01F0000 */ sth         r0, 0(r31)
/* 80370F7C A0060002 */ lhz         r0, 2(r6)
/* 80370F80 A0BF0002 */ lhz         r5, 2(r31)
/* 80370F84 7C0000F8 */ nor         r0, r0, r0
/* 80370F88 7C050214 */ add         r0, r5, r0
/* 80370F8C B01F0002 */ sth         r0, 2(r31)
/* 80370F90 A0BF0000 */ lhz         r5, 0(r31)
/* 80370F94 A0060004 */ lhz         r0, 4(r6)
/* 80370F98 7C050214 */ add         r0, r5, r0
/* 80370F9C B01F0000 */ sth         r0, 0(r31)
/* 80370FA0 A0060004 */ lhz         r0, 4(r6)
/* 80370FA4 A0BF0002 */ lhz         r5, 2(r31)
/* 80370FA8 7C0000F8 */ nor         r0, r0, r0
/* 80370FAC 7C050214 */ add         r0, r5, r0
/* 80370FB0 B01F0002 */ sth         r0, 2(r31)
/* 80370FB4 A0BF0000 */ lhz         r5, 0(r31)
/* 80370FB8 A0060006 */ lhz         r0, 6(r6)
/* 80370FBC 7C050214 */ add         r0, r5, r0
/* 80370FC0 B01F0000 */ sth         r0, 0(r31)
/* 80370FC4 A0060006 */ lhz         r0, 6(r6)
/* 80370FC8 A0BF0002 */ lhz         r5, 2(r31)
/* 80370FCC 7C0000F8 */ nor         r0, r0, r0
/* 80370FD0 7C050214 */ add         r0, r5, r0
/* 80370FD4 B01F0002 */ sth         r0, 2(r31)
/* 80370FD8 A0BF0000 */ lhz         r5, 0(r31)
/* 80370FDC A0060008 */ lhz         r0, 8(r6)
/* 80370FE0 7C050214 */ add         r0, r5, r0
/* 80370FE4 B01F0000 */ sth         r0, 0(r31)
/* 80370FE8 A0060008 */ lhz         r0, 8(r6)
/* 80370FEC A0BF0002 */ lhz         r5, 2(r31)
/* 80370FF0 7C0000F8 */ nor         r0, r0, r0
/* 80370FF4 7C050214 */ add         r0, r5, r0
/* 80370FF8 B01F0002 */ sth         r0, 2(r31)
/* 80370FFC A0BF0000 */ lhz         r5, 0(r31)
/* 80371000 A006000A */ lhz         r0, 0xa(r6)
/* 80371004 7C050214 */ add         r0, r5, r0
/* 80371008 B01F0000 */ sth         r0, 0(r31)
/* 8037100C A006000A */ lhz         r0, 0xa(r6)
/* 80371010 A0BF0002 */ lhz         r5, 2(r31)
/* 80371014 7C0000F8 */ nor         r0, r0, r0
/* 80371018 7C050214 */ add         r0, r5, r0
/* 8037101C B01F0002 */ sth         r0, 2(r31)
/* 80371020 A0BF0000 */ lhz         r5, 0(r31)
/* 80371024 A006000C */ lhz         r0, 0xc(r6)
/* 80371028 7C050214 */ add         r0, r5, r0
/* 8037102C B01F0000 */ sth         r0, 0(r31)
/* 80371030 A006000C */ lhz         r0, 0xc(r6)
/* 80371034 A0BF0002 */ lhz         r5, 2(r31)
/* 80371038 7C0000F8 */ nor         r0, r0, r0
/* 8037103C 7C050214 */ add         r0, r5, r0
/* 80371040 B01F0002 */ sth         r0, 2(r31)
/* 80371044 A0BF0000 */ lhz         r5, 0(r31)
/* 80371048 A006000E */ lhz         r0, 0xe(r6)
/* 8037104C 7C050214 */ add         r0, r5, r0
/* 80371050 B01F0000 */ sth         r0, 0(r31)
/* 80371054 A006000E */ lhz         r0, 0xe(r6)
/* 80371058 38C60010 */ addi        r6, r6, 0x10
/* 8037105C A0BF0002 */ lhz         r5, 2(r31)
/* 80371060 7C0000F8 */ nor         r0, r0, r0
/* 80371064 7C050214 */ add         r0, r5, r0
/* 80371068 B01F0002 */ sth         r0, 2(r31)
/* 8037106C 4200FEDC */ bdnz        lbl_80370f48
/* 80371070 70630007 */ andi.       r3, r3, 7
/* 80371074 41820034 */ beq-        lbl_803710a8
lbl_80371078:
/* 80371078 7C6903A6 */ mtctr       r3
lbl_8037107c:
/* 8037107C A0BF0000 */ lhz         r5, 0(r31)
/* 80371080 A0060000 */ lhz         r0, 0(r6)
/* 80371084 7C050214 */ add         r0, r5, r0
/* 80371088 B01F0000 */ sth         r0, 0(r31)
/* 8037108C A0060000 */ lhz         r0, 0(r6)
/* 80371090 38C60002 */ addi        r6, r6, 0x2
/* 80371094 A0BF0002 */ lhz         r5, 2(r31)
/* 80371098 7C0000F8 */ nor         r0, r0, r0
/* 8037109C 7C050214 */ add         r0, r5, r0
/* 803710A0 B01F0002 */ sth         r0, 2(r31)
/* 803710A4 4200FFD8 */ bdnz        lbl_8037107c
lbl_803710a8:
/* 803710A8 3BDF0040 */ addi        r30, r31, 0x40
/* 803710AC 801F0040 */ lwz         r0, 0x40(r31)
/* 803710B0 7C040040 */ cmplw       r4, r0
/* 803710B4 40800008 */ bge-        lbl_803710bc
/* 803710B8 909E0000 */ stw         r4, 0(r30)
lbl_803710bc:
/* 803710BC 83BE0000 */ lwz         r29, 0(r30)
/* 803710C0 3C608037 */ lis         r3, func_80370b70@ha
/* 803710C4 38A30B70 */ addi        r5, r3, func_80370b70@l
/* 803710C8 237D0040 */ subfic      r27, r29, 0x40
/* 803710CC 7F9FEA14 */ add         r28, r31, r29
/* 803710D0 38600000 */ li          r3, 0x0
/* 803710D4 38800001 */ li          r4, 0x1
/* 803710D8 480BB6A5 */ bl          func_8042c77c
/* 803710DC 2C030000 */ cmpwi       r3, 0x0
/* 803710E0 4082000C */ bne-        lbl_803710ec
/* 803710E4 38000000 */ li          r0, 0x0
/* 803710E8 480000B4 */ b           lbl_8037119c
lbl_803710ec:
/* 803710EC 38600000 */ li          r3, 0x0
/* 803710F0 38800001 */ li          r4, 0x1
/* 803710F4 38A00003 */ li          r5, 0x3
/* 803710F8 480BAF85 */ bl          func_8042c07c
/* 803710FC 2C030000 */ cmpwi       r3, 0x0
/* 80371100 40820014 */ bne-        lbl_80371114
/* 80371104 38600000 */ li          r3, 0x0
/* 80371108 480BB769 */ bl          func_8042c870
/* 8037110C 38000000 */ li          r0, 0x0
/* 80371110 4800008C */ b           lbl_8037119c
lbl_80371114:
/* 80371114 57A33032 */ slwi        r3, r29, 6
/* 80371118 38030100 */ addi        r0, r3, 0x100
/* 8037111C 6400A000 */ oris        r0, r0, 0xa000
/* 80371120 90010010 */ stw         r0, 0x10(r1)
/* 80371124 38810010 */ addi        r4, r1, 0x10
/* 80371128 38600000 */ li          r3, 0x0
/* 8037112C 38A00004 */ li          r5, 0x4
/* 80371130 38C00001 */ li          r6, 0x1
/* 80371134 38E00000 */ li          r7, 0x0
/* 80371138 480BA3F1 */ bl          func_8042b528
/* 8037113C 7C600034 */ cntlzw      r0, r3
/* 80371140 541DD97E */ srwi        r29, r0, 5
/* 80371144 38600000 */ li          r3, 0x0
/* 80371148 480BA7C9 */ bl          func_8042b910
/* 8037114C 7C600034 */ cntlzw      r0, r3
/* 80371150 5400D97E */ srwi        r0, r0, 5
/* 80371154 389C0000 */ addi        r4, r28, 0x0
/* 80371158 38BB0000 */ addi        r5, r27, 0x0
/* 8037115C 7FBD0378 */ or          r29, r29, r0
/* 80371160 38600000 */ li          r3, 0x0
/* 80371164 38C00001 */ li          r6, 0x1
/* 80371168 480BA61D */ bl          func_8042b784
/* 8037116C 7C600034 */ cntlzw      r0, r3
/* 80371170 5400D97E */ srwi        r0, r0, 5
/* 80371174 7FBD0378 */ or          r29, r29, r0
/* 80371178 38600000 */ li          r3, 0x0
/* 8037117C 480BB02D */ bl          func_8042c1a8
/* 80371180 7C600034 */ cntlzw      r0, r3
/* 80371184 5400D97E */ srwi        r0, r0, 5
/* 80371188 7FBD0378 */ or          r29, r29, r0
/* 8037118C 38600000 */ li          r3, 0x0
/* 80371190 480BB6E1 */ bl          func_8042c870
/* 80371194 7FA00034 */ cntlzw      r0, r29
/* 80371198 5400D97E */ srwi        r0, r0, 5
lbl_8037119c:
/* 8037119C 901F004C */ stw         r0, 0x4c(r31)
/* 803711A0 801F004C */ lwz         r0, 0x4c(r31)
/* 803711A4 2C000000 */ cmpwi       r0, 0x0
/* 803711A8 4182000C */ beq-        lbl_803711b4
/* 803711AC 38000040 */ li          r0, 0x40
/* 803711B0 901E0000 */ stw         r0, 0(r30)
lbl_803711b4:
/* 803711B4 38000000 */ li          r0, 0x0
/* 803711B8 901F0048 */ stw         r0, 0x48(r31)
/* 803711BC 807F0044 */ lwz         r3, 0x44(r31)
/* 803711C0 4BFFD93D */ bl          func_8036eafc
/* 803711C4 807F004C */ lwz         r3, 0x4c(r31)
/* 803711C8 BB61001C */ lmw         r27, 0x1c(r1)
/* 803711CC 80010034 */ lwz         r0, 0x34(r1)
/* 803711D0 38210030 */ addi        r1, r1, 0x30
/* 803711D4 7C0803A6 */ mtlr        r0
/* 803711D8 4E800020 */ blr         
.size func_80370ed4, . - func_80370ed4


.global func_803711dc
.type func_803711dc, @function
func_803711dc:
/* 803711DC 7C0802A6 */ mflr        r0
/* 803711E0 38800000 */ li          r4, 0x0
/* 803711E4 90010004 */ stw         r0, 4(r1)
/* 803711E8 9421FFF8 */ stwu        r1, -8(r1)
/* 803711EC 4BFFFCE9 */ bl          func_80370ed4
/* 803711F0 8001000C */ lwz         r0, 0xc(r1)
/* 803711F4 38210008 */ addi        r1, r1, 0x8
/* 803711F8 7C0803A6 */ mtlr        r0
/* 803711FC 4E800020 */ blr         
.size func_803711dc, . - func_803711dc


.global func_80371200
.type func_80371200, @function
func_80371200:
/* 80371200 7C0802A6 */ mflr        r0
/* 80371204 38800014 */ li          r4, 0x14
/* 80371208 90010004 */ stw         r0, 4(r1)
/* 8037120C 9421FFF8 */ stwu        r1, -8(r1)
/* 80371210 4BFFFCC5 */ bl          func_80370ed4
/* 80371214 8001000C */ lwz         r0, 0xc(r1)
/* 80371218 38210008 */ addi        r1, r1, 0x8
/* 8037121C 7C0803A6 */ mtlr        r0
/* 80371220 4E800020 */ blr         
.size func_80371200, . - func_80371200


.global func_80371224
.type func_80371224, @function
func_80371224:
/* 80371224 3C608054 */ lis         r3, lbl_8053eca0@ha
/* 80371228 3863ECA0 */ addi        r3, r3, lbl_8053eca0@l
/* 8037122C 8063004C */ lwz         r3, 0x4c(r3)
/* 80371230 4E800020 */ blr         
.size func_80371224, . - func_80371224


.global func_80371234
.type func_80371234, @function
func_80371234:
/* 80371234 7C0802A6 */ mflr        r0
/* 80371238 3C608054 */ lis         r3, lbl_8053eca0@ha
/* 8037123C 90010004 */ stw         r0, 4(r1)
/* 80371240 9421FFE0 */ stwu        r1, -0x20(r1)
/* 80371244 93E1001C */ stw         r31, 0x1c(r1)
/* 80371248 3BE3ECA0 */ addi        r31, r3, lbl_8053eca0@l
/* 8037124C 4BFFD889 */ bl          func_8036ead4
/* 80371250 801F0048 */ lwz         r0, 0x48(r31)
/* 80371254 389F0048 */ addi        r4, r31, 0x48
/* 80371258 2C000000 */ cmpwi       r0, 0x0
/* 8037125C 41820010 */ beq-        lbl_8037126c
/* 80371260 4BFFD89D */ bl          func_8036eafc
/* 80371264 3BE00000 */ li          r31, 0x0
/* 80371268 48000010 */ b           lbl_80371278
lbl_8037126c:
/* 8037126C 907F0044 */ stw         r3, 0x44(r31)
/* 80371270 38000001 */ li          r0, 0x1
/* 80371274 90040000 */ stw         r0, 0(r4)
lbl_80371278:
/* 80371278 881F0013 */ lbz         r0, 0x13(r31)
/* 8037127C 5400077B */ rlwinm.     r0, r0, 0, 0x1d, 0x1d
/* 80371280 4182000C */ beq-        lbl_8037128c
/* 80371284 3BE00001 */ li          r31, 0x1
/* 80371288 48000008 */ b           lbl_80371290
lbl_8037128c:
/* 8037128C 3BE00000 */ li          r31, 0x0
lbl_80371290:
/* 80371290 38600000 */ li          r3, 0x0
/* 80371294 38800000 */ li          r4, 0x0
/* 80371298 4BFFFC3D */ bl          func_80370ed4
/* 8037129C 7FE3FB78 */ mr          r3, r31
/* 803712A0 80010024 */ lwz         r0, 0x24(r1)
/* 803712A4 83E1001C */ lwz         r31, 0x1c(r1)
/* 803712A8 38210020 */ addi        r1, r1, 0x20
/* 803712AC 7C0803A6 */ mtlr        r0
/* 803712B0 4E800020 */ blr         
.size func_80371234, . - func_80371234


.global func_803712b4
.type func_803712b4, @function
func_803712b4:
/* 803712B4 7C0802A6 */ mflr        r0
/* 803712B8 3C808054 */ lis         r4, lbl_8053eca0@ha
/* 803712BC 90010004 */ stw         r0, 4(r1)
/* 803712C0 9421FFE0 */ stwu        r1, -0x20(r1)
/* 803712C4 93E1001C */ stw         r31, 0x1c(r1)
/* 803712C8 3BE4ECA0 */ addi        r31, r4, lbl_8053eca0@l
/* 803712CC 93C10018 */ stw         r30, 0x18(r1)
/* 803712D0 547E177A */ rlwinm      r30, r3, 2, 0x1d, 0x1d
/* 803712D4 4BFFD801 */ bl          func_8036ead4
/* 803712D8 801F0048 */ lwz         r0, 0x48(r31)
/* 803712DC 389F0048 */ addi        r4, r31, 0x48
/* 803712E0 2C000000 */ cmpwi       r0, 0x0
/* 803712E4 41820010 */ beq-        lbl_803712f4
/* 803712E8 4BFFD815 */ bl          func_8036eafc
/* 803712EC 3BE00000 */ li          r31, 0x0
/* 803712F0 48000010 */ b           lbl_80371300
lbl_803712f4:
/* 803712F4 907F0044 */ stw         r3, 0x44(r31)
/* 803712F8 38000001 */ li          r0, 0x1
/* 803712FC 90040000 */ stw         r0, 0(r4)
lbl_80371300:
/* 80371300 887F0013 */ lbz         r3, 0x13(r31)
/* 80371304 5460077A */ rlwinm      r0, r3, 0, 0x1d, 0x1d
/* 80371308 7C1E0040 */ cmplw       r30, r0
/* 8037130C 40820014 */ bne-        lbl_80371320
/* 80371310 38600000 */ li          r3, 0x0
/* 80371314 38800000 */ li          r4, 0x0
/* 80371318 4BFFFBBD */ bl          func_80370ed4
/* 8037131C 48000024 */ b           lbl_80371340
lbl_80371320:
/* 80371320 546007B8 */ rlwinm      r0, r3, 0, 0x1e, 0x1c
/* 80371324 981F0013 */ stb         r0, 0x13(r31)
/* 80371328 38600001 */ li          r3, 0x1
/* 8037132C 38800000 */ li          r4, 0x0
/* 80371330 881F0013 */ lbz         r0, 0x13(r31)
/* 80371334 7C00F378 */ or          r0, r0, r30
/* 80371338 981F0013 */ stb         r0, 0x13(r31)
/* 8037133C 4BFFFB99 */ bl          func_80370ed4
lbl_80371340:
/* 80371340 80010024 */ lwz         r0, 0x24(r1)
/* 80371344 83E1001C */ lwz         r31, 0x1c(r1)
/* 80371348 83C10018 */ lwz         r30, 0x18(r1)
/* 8037134C 38210020 */ addi        r1, r1, 0x20
/* 80371350 7C0803A6 */ mtlr        r0
/* 80371354 4E800020 */ blr         
.size func_803712b4, . - func_803712b4


.global func_80371358
.type func_80371358, @function
func_80371358:
/* 80371358 7C0802A6 */ mflr        r0
/* 8037135C 3C608054 */ lis         r3, lbl_8053eca0@ha
/* 80371360 90010004 */ stw         r0, 4(r1)
/* 80371364 9421FFE8 */ stwu        r1, -0x18(r1)
/* 80371368 93E10014 */ stw         r31, 0x14(r1)
/* 8037136C 3BE3ECA0 */ addi        r31, r3, lbl_8053eca0@l
/* 80371370 4BFFD765 */ bl          func_8036ead4
/* 80371374 801F0048 */ lwz         r0, 0x48(r31)
/* 80371378 389F0048 */ addi        r4, r31, 0x48
/* 8037137C 2C000000 */ cmpwi       r0, 0x0
/* 80371380 41820010 */ beq-        lbl_80371390
/* 80371384 4BFFD779 */ bl          func_8036eafc
/* 80371388 3BE00000 */ li          r31, 0x0
/* 8037138C 48000010 */ b           lbl_8037139c
lbl_80371390:
/* 80371390 907F0044 */ stw         r3, 0x44(r31)
/* 80371394 38000001 */ li          r0, 0x1
/* 80371398 90040000 */ stw         r0, 0(r4)
lbl_8037139c:
/* 8037139C 881F0013 */ lbz         r0, 0x13(r31)
/* 803713A0 38600000 */ li          r3, 0x0
/* 803713A4 38800000 */ li          r4, 0x0
/* 803713A8 541FCFFE */ rlwinm      r31, r0, 0x19, 0x1f, 0x1f
/* 803713AC 4BFFFB29 */ bl          func_80370ed4
/* 803713B0 7FE3FB78 */ mr          r3, r31
/* 803713B4 8001001C */ lwz         r0, 0x1c(r1)
/* 803713B8 83E10014 */ lwz         r31, 0x14(r1)
/* 803713BC 38210018 */ addi        r1, r1, 0x18
/* 803713C0 7C0803A6 */ mtlr        r0
/* 803713C4 4E800020 */ blr         
.size func_80371358, . - func_80371358


.global func_803713c8
.type func_803713c8, @function
func_803713c8:
/* 803713C8 7C0802A6 */ mflr        r0
/* 803713CC 3C808054 */ lis         r4, lbl_8053eca0@ha
/* 803713D0 90010004 */ stw         r0, 4(r1)
/* 803713D4 9421FFE0 */ stwu        r1, -0x20(r1)
/* 803713D8 93E1001C */ stw         r31, 0x1c(r1)
/* 803713DC 3BE4ECA0 */ addi        r31, r4, lbl_8053eca0@l
/* 803713E0 93C10018 */ stw         r30, 0x18(r1)
/* 803713E4 547E3E30 */ rlwinm      r30, r3, 7, 0x18, 0x18
/* 803713E8 4BFFD6ED */ bl          func_8036ead4
/* 803713EC 801F0048 */ lwz         r0, 0x48(r31)
/* 803713F0 389F0048 */ addi        r4, r31, 0x48
/* 803713F4 2C000000 */ cmpwi       r0, 0x0
/* 803713F8 41820010 */ beq-        lbl_80371408
/* 803713FC 4BFFD701 */ bl          func_8036eafc
/* 80371400 3BE00000 */ li          r31, 0x0
/* 80371404 48000010 */ b           lbl_80371414
lbl_80371408:
/* 80371408 907F0044 */ stw         r3, 0x44(r31)
/* 8037140C 38000001 */ li          r0, 0x1
/* 80371410 90040000 */ stw         r0, 0(r4)
lbl_80371414:
/* 80371414 887F0013 */ lbz         r3, 0x13(r31)
/* 80371418 54600630 */ rlwinm      r0, r3, 0, 0x18, 0x18
/* 8037141C 7C1E0040 */ cmplw       r30, r0
/* 80371420 40820014 */ bne-        lbl_80371434
/* 80371424 38600000 */ li          r3, 0x0
/* 80371428 38800000 */ li          r4, 0x0
/* 8037142C 4BFFFAA9 */ bl          func_80370ed4
/* 80371430 48000024 */ b           lbl_80371454
lbl_80371434:
/* 80371434 5460066E */ rlwinm      r0, r3, 0, 0x19, 0x17
/* 80371438 981F0013 */ stb         r0, 0x13(r31)
/* 8037143C 38600001 */ li          r3, 0x1
/* 80371440 38800000 */ li          r4, 0x0
/* 80371444 881F0013 */ lbz         r0, 0x13(r31)
/* 80371448 7C00F378 */ or          r0, r0, r30
/* 8037144C 981F0013 */ stb         r0, 0x13(r31)
/* 80371450 4BFFFA85 */ bl          func_80370ed4
lbl_80371454:
/* 80371454 80010024 */ lwz         r0, 0x24(r1)
/* 80371458 83E1001C */ lwz         r31, 0x1c(r1)
/* 8037145C 83C10018 */ lwz         r30, 0x18(r1)
/* 80371460 38210020 */ addi        r1, r1, 0x20
/* 80371464 7C0803A6 */ mtlr        r0
/* 80371468 4E800020 */ blr         
.size func_803713c8, . - func_803713c8


.global func_8037146c
.type func_8037146c, @function
func_8037146c:
/* 8037146C 7C0802A6 */ mflr        r0
/* 80371470 3C808054 */ lis         r4, lbl_8053eca0@ha
/* 80371474 90010004 */ stw         r0, 4(r1)
/* 80371478 9421FFE0 */ stwu        r1, -0x20(r1)
/* 8037147C 93E1001C */ stw         r31, 0x1c(r1)
/* 80371480 3BE4ECA0 */ addi        r31, r4, lbl_8053eca0@l
/* 80371484 93C10018 */ stw         r30, 0x18(r1)
/* 80371488 3BC30000 */ addi        r30, r3, 0x0
/* 8037148C 4BFFD649 */ bl          func_8036ead4
/* 80371490 801F0048 */ lwz         r0, 0x48(r31)
/* 80371494 389F0048 */ addi        r4, r31, 0x48
/* 80371498 2C000000 */ cmpwi       r0, 0x0
/* 8037149C 41820010 */ beq-        lbl_803714ac
/* 803714A0 4BFFD65D */ bl          func_8036eafc
/* 803714A4 38600000 */ li          r3, 0x0
/* 803714A8 48000014 */ b           lbl_803714bc
lbl_803714ac:
/* 803714AC 907F0044 */ stw         r3, 0x44(r31)
/* 803714B0 38000001 */ li          r0, 0x1
/* 803714B4 387F0014 */ addi        r3, r31, 0x14
/* 803714B8 90040000 */ stw         r0, 0(r4)
lbl_803714bc:
/* 803714BC 57C0083C */ slwi        r0, r30, 1
/* 803714C0 7C630214 */ add         r3, r3, r0
/* 803714C4 A3E3001C */ lhz         r31, 0x1c(r3)
/* 803714C8 38600000 */ li          r3, 0x0
/* 803714CC 38800014 */ li          r4, 0x14
/* 803714D0 4BFFFA05 */ bl          func_80370ed4
/* 803714D4 7FE3FB78 */ mr          r3, r31
/* 803714D8 80010024 */ lwz         r0, 0x24(r1)
/* 803714DC 83E1001C */ lwz         r31, 0x1c(r1)
/* 803714E0 83C10018 */ lwz         r30, 0x18(r1)
/* 803714E4 38210020 */ addi        r1, r1, 0x20
/* 803714E8 7C0803A6 */ mtlr        r0
/* 803714EC 4E800020 */ blr         
.size func_8037146c, . - func_8037146c


.global func_803714f0
.type func_803714f0, @function
func_803714f0:
/* 803714F0 7C0802A6 */ mflr        r0
/* 803714F4 3CA08054 */ lis         r5, lbl_8053eca0@ha
/* 803714F8 90010004 */ stw         r0, 4(r1)
/* 803714FC 9421FFD8 */ stwu        r1, -0x28(r1)
/* 80371500 93E10024 */ stw         r31, 0x24(r1)
/* 80371504 3BE5ECA0 */ addi        r31, r5, lbl_8053eca0@l
/* 80371508 93C10020 */ stw         r30, 0x20(r1)
/* 8037150C 3BC40000 */ addi        r30, r4, 0x0
/* 80371510 93A1001C */ stw         r29, 0x1c(r1)
/* 80371514 3BA30000 */ addi        r29, r3, 0x0
/* 80371518 4BFFD5BD */ bl          func_8036ead4
/* 8037151C 801F0048 */ lwz         r0, 0x48(r31)
/* 80371520 389F0048 */ addi        r4, r31, 0x48
/* 80371524 2C000000 */ cmpwi       r0, 0x0
/* 80371528 41820010 */ beq-        lbl_80371538
/* 8037152C 4BFFD5D1 */ bl          func_8036eafc
/* 80371530 38600000 */ li          r3, 0x0
/* 80371534 48000014 */ b           lbl_80371548
lbl_80371538:
/* 80371538 907F0044 */ stw         r3, 0x44(r31)
/* 8037153C 38000001 */ li          r0, 0x1
/* 80371540 387F0014 */ addi        r3, r31, 0x14
/* 80371544 90040000 */ stw         r0, 0(r4)
lbl_80371548:
/* 80371548 57A0083C */ slwi        r0, r29, 1
/* 8037154C 7C830214 */ add         r4, r3, r0
/* 80371550 A464001C */ lhzu        r3, 0x1c(r4)
/* 80371554 57C0043E */ clrlwi      r0, r30, 0x10
/* 80371558 7C030040 */ cmplw       r3, r0
/* 8037155C 41820018 */ beq-        lbl_80371574
/* 80371560 B3C40000 */ sth         r30, 0(r4)
/* 80371564 38600001 */ li          r3, 0x1
/* 80371568 38800014 */ li          r4, 0x14
/* 8037156C 4BFFF969 */ bl          func_80370ed4
/* 80371570 48000010 */ b           lbl_80371580
lbl_80371574:
/* 80371574 38600000 */ li          r3, 0x0
/* 80371578 38800014 */ li          r4, 0x14
/* 8037157C 4BFFF959 */ bl          func_80370ed4
lbl_80371580:
/* 80371580 8001002C */ lwz         r0, 0x2c(r1)
/* 80371584 83E10024 */ lwz         r31, 0x24(r1)
/* 80371588 83C10020 */ lwz         r30, 0x20(r1)
/* 8037158C 83A1001C */ lwz         r29, 0x1c(r1)
/* 80371590 38210028 */ addi        r1, r1, 0x28
/* 80371594 7C0803A6 */ mtlr        r0
/* 80371598 4E800020 */ blr         
.size func_803714f0, . - func_803714f0