summaryrefslogtreecommitdiff
path: root/asm/SDK/WPAD/WPADEncrypt.s
blob: a7db3adc32cc11b2a87e8d92060cf143faf94f84 (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
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global WPADiCreateKey
WPADiCreateKey:
/* 802B1C70 002AD8D0  94 21 FF 60 */	stwu r1, -0xa0(r1)
/* 802B1C74 002AD8D4  7C 08 02 A6 */	mflr r0
/* 802B1C78 002AD8D8  90 01 00 A4 */	stw r0, 0xa4(r1)
/* 802B1C7C 002AD8DC  39 61 00 A0 */	addi r11, r1, 0xa0
/* 802B1C80 002AD8E0  4B F1 54 75 */	bl __save_gpr
/* 802B1C84 002AD8E4  3C 80 80 53 */	lis r4, lbl_80536D70@ha
/* 802B1C88 002AD8E8  3F C0 80 44 */	lis r30, lbl_8043C700@ha
/* 802B1C8C 002AD8EC  54 60 10 3A */	slwi r0, r3, 2
/* 802B1C90 002AD8F0  38 84 6D 70 */	addi r4, r4, lbl_80536D70@l
/* 802B1C94 002AD8F4  3B DE C7 00 */	addi r30, r30, lbl_8043C700@l
/* 802B1C98 002AD8F8  7E 04 00 2E */	lwzx r16, r4, r0
/* 802B1C9C 002AD8FC  4B FC 0B 35 */	bl OSGetTick
/* 802B1CA0 002AD900  54 60 C6 3E */	rlwinm r0, r3, 0x18, 0x18, 0x1f
/* 802B1CA4 002AD904  98 0D AE 83 */	stb r0, lbl_80640143-_SDA_BASE_(r13)
/* 802B1CA8 002AD908  4B FC 0B 29 */	bl OSGetTick
/* 802B1CAC 002AD90C  54 60 86 BE */	rlwinm r0, r3, 0x10, 0x1a, 0x1f
/* 802B1CB0 002AD910  98 0D AE 82 */	stb r0, lbl_80640142-_SDA_BASE_(r13)
/* 802B1CB4 002AD914  4B FC 0B 1D */	bl OSGetTick
/* 802B1CB8 002AD918  88 CD AE 82 */	lbz r6, lbl_80640142-_SDA_BASE_(r13)
/* 802B1CBC 002AD91C  54 63 46 3E */	srwi r3, r3, 0x18
/* 802B1CC0 002AD920  88 0D AE 83 */	lbz r0, lbl_80640143-_SDA_BASE_(r13)
/* 802B1CC4 002AD924  70 64 00 4C */	andi. r4, r3, 0x4c
/* 802B1CC8 002AD928  39 00 00 FF */	li r8, 0xff
/* 802B1CCC 002AD92C  3C A0 80 81 */	lis r5, 0x80808081@ha
/* 802B1CD0 002AD930  7C E0 31 D6 */	mullw r7, r0, r6
/* 802B1CD4 002AD934  3C 60 92 49 */	lis r3, 0x92492493@ha
/* 802B1CD8 002AD938  38 05 80 81 */	addi r0, r5, 0x80808081@l
/* 802B1CDC 002AD93C  99 0D AE 80 */	stb r8, lbl_80640140-_SDA_BASE_(r13)
/* 802B1CE0 002AD940  39 03 24 93 */	addi r8, r3, 0x92492493@l
/* 802B1CE4 002AD944  38 A0 00 02 */	li r5, 2
/* 802B1CE8 002AD948  7D 44 3A 14 */	add r10, r4, r7
/* 802B1CEC 002AD94C  98 8D AE 81 */	stb r4, lbl_80640141-_SDA_BASE_(r13)
/* 802B1CF0 002AD950  7D 20 50 16 */	mulhwu r9, r0, r10
/* 802B1CF4 002AD954  38 7E 00 30 */	addi r3, r30, 0x30
/* 802B1CF8 002AD958  38 E0 00 00 */	li r7, 0
/* 802B1CFC 002AD95C  55 29 C9 FE */	srwi r9, r9, 7
/* 802B1D00 002AD960  1D 29 00 FF */	mulli r9, r9, 0xff
/* 802B1D04 002AD964  7D 29 50 50 */	subf r9, r9, r10
/* 802B1D08 002AD968  55 2A 06 3E */	clrlwi r10, r9, 0x18
/* 802B1D0C 002AD96C  7D 08 50 96 */	mulhw r8, r8, r10
/* 802B1D10 002AD970  7D 08 52 14 */	add r8, r8, r10
/* 802B1D14 002AD974  7D 08 16 70 */	srawi r8, r8, 2
/* 802B1D18 002AD978  55 09 0F FE */	srwi r9, r8, 0x1f
/* 802B1D1C 002AD97C  7D 08 4A 14 */	add r8, r8, r9
/* 802B1D20 002AD980  1D 08 00 07 */	mulli r8, r8, 7
/* 802B1D24 002AD984  7D 08 50 50 */	subf r8, r8, r10
/* 802B1D28 002AD988  55 0F 06 3E */	clrlwi r15, r8, 0x18
/* 802B1D2C 002AD98C  1D 0F 00 06 */	mulli r8, r15, 6
/* 802B1D30 002AD990  55 0E 06 3E */	clrlwi r14, r8, 0x18
/* 802B1D34 002AD994  7C A9 03 A6 */	mtctr r5
lbl_802B1D38:
/* 802B1D38 002AD998  55 45 06 3E */	clrlwi r5, r10, 0x18
/* 802B1D3C 002AD99C  54 E8 06 3E */	clrlwi r8, r7, 0x18
/* 802B1D40 002AD9A0  7D 25 31 D6 */	mullw r9, r5, r6
/* 802B1D44 002AD9A4  38 E7 00 05 */	addi r7, r7, 5
/* 802B1D48 002AD9A8  38 A1 00 28 */	addi r5, r1, 0x28
/* 802B1D4C 002AD9AC  7C A5 42 14 */	add r5, r5, r8
/* 802B1D50 002AD9B0  7D 24 4A 14 */	add r9, r4, r9
/* 802B1D54 002AD9B4  7D 00 48 16 */	mulhwu r8, r0, r9
/* 802B1D58 002AD9B8  55 08 C9 FE */	srwi r8, r8, 7
/* 802B1D5C 002AD9BC  1D 08 00 FF */	mulli r8, r8, 0xff
/* 802B1D60 002AD9C0  7D 08 48 50 */	subf r8, r8, r9
/* 802B1D64 002AD9C4  55 09 06 3E */	clrlwi r9, r8, 0x18
/* 802B1D68 002AD9C8  7D 09 31 D6 */	mullw r8, r9, r6
/* 802B1D6C 002AD9CC  7D 23 48 AE */	lbzx r9, r3, r9
/* 802B1D70 002AD9D0  99 25 00 00 */	stb r9, 0(r5)
/* 802B1D74 002AD9D4  7D 24 42 14 */	add r9, r4, r8
/* 802B1D78 002AD9D8  7D 00 48 16 */	mulhwu r8, r0, r9
/* 802B1D7C 002AD9DC  55 08 C9 FE */	srwi r8, r8, 7
/* 802B1D80 002AD9E0  1D 08 00 FF */	mulli r8, r8, 0xff
/* 802B1D84 002AD9E4  7D 08 48 50 */	subf r8, r8, r9
/* 802B1D88 002AD9E8  55 09 06 3E */	clrlwi r9, r8, 0x18
/* 802B1D8C 002AD9EC  7D 09 31 D6 */	mullw r8, r9, r6
/* 802B1D90 002AD9F0  7D 23 48 AE */	lbzx r9, r3, r9
/* 802B1D94 002AD9F4  99 25 00 01 */	stb r9, 1(r5)
/* 802B1D98 002AD9F8  7D 24 42 14 */	add r9, r4, r8
/* 802B1D9C 002AD9FC  7D 00 48 16 */	mulhwu r8, r0, r9
/* 802B1DA0 002ADA00  55 08 C9 FE */	srwi r8, r8, 7
/* 802B1DA4 002ADA04  1D 08 00 FF */	mulli r8, r8, 0xff
/* 802B1DA8 002ADA08  7D 08 48 50 */	subf r8, r8, r9
/* 802B1DAC 002ADA0C  55 09 06 3E */	clrlwi r9, r8, 0x18
/* 802B1DB0 002ADA10  7D 09 31 D6 */	mullw r8, r9, r6
/* 802B1DB4 002ADA14  7D 23 48 AE */	lbzx r9, r3, r9
/* 802B1DB8 002ADA18  99 25 00 02 */	stb r9, 2(r5)
/* 802B1DBC 002ADA1C  7D 24 42 14 */	add r9, r4, r8
/* 802B1DC0 002ADA20  7D 00 48 16 */	mulhwu r8, r0, r9
/* 802B1DC4 002ADA24  55 08 C9 FE */	srwi r8, r8, 7
/* 802B1DC8 002ADA28  1D 08 00 FF */	mulli r8, r8, 0xff
/* 802B1DCC 002ADA2C  7D 08 48 50 */	subf r8, r8, r9
/* 802B1DD0 002ADA30  55 09 06 3E */	clrlwi r9, r8, 0x18
/* 802B1DD4 002ADA34  7D 09 31 D6 */	mullw r8, r9, r6
/* 802B1DD8 002ADA38  7D 23 48 AE */	lbzx r9, r3, r9
/* 802B1DDC 002ADA3C  99 25 00 03 */	stb r9, 3(r5)
/* 802B1DE0 002ADA40  7D 24 42 14 */	add r9, r4, r8
/* 802B1DE4 002ADA44  7D 00 48 16 */	mulhwu r8, r0, r9
/* 802B1DE8 002ADA48  55 08 C9 FE */	srwi r8, r8, 7
/* 802B1DEC 002ADA4C  1D 08 00 FF */	mulli r8, r8, 0xff
/* 802B1DF0 002ADA50  7D 08 48 50 */	subf r8, r8, r9
/* 802B1DF4 002ADA54  55 0A 06 3E */	clrlwi r10, r8, 0x18
/* 802B1DF8 002ADA58  7D 03 50 AE */	lbzx r8, r3, r10
/* 802B1DFC 002ADA5C  99 05 00 04 */	stb r8, 4(r5)
/* 802B1E00 002ADA60  42 00 FF 38 */	bdnz lbl_802B1D38
/* 802B1E04 002ADA64  3A 7E 00 00 */	addi r19, r30, 0
/* 802B1E08 002ADA68  99 4D AE 83 */	stb r10, lbl_80640143-_SDA_BASE_(r13)
/* 802B1E0C 002ADA6C  7E 2E 9A 14 */	add r17, r14, r19
/* 802B1E10 002ADA70  7C 93 70 AE */	lbzx r4, r19, r14
/* 802B1E14 002ADA74  88 B1 00 01 */	lbz r5, 1(r17)
/* 802B1E18 002ADA78  38 7E 12 60 */	addi r3, r30, 0x1260
/* 802B1E1C 002ADA7C  88 D1 00 02 */	lbz r6, 2(r17)
/* 802B1E20 002ADA80  88 F1 00 03 */	lbz r7, 3(r17)
/* 802B1E24 002ADA84  89 11 00 04 */	lbz r8, 4(r17)
/* 802B1E28 002ADA88  89 31 00 05 */	lbz r9, 5(r17)
/* 802B1E2C 002ADA8C  4C C6 31 82 */	crclr 6
/* 802B1E30 002ADA90  48 00 1A 31 */	bl DEBUGPrint
/* 802B1E34 002ADA94  8B 61 00 2F */	lbz r27, 0x2f(r1)
/* 802B1E38 002ADA98  38 7E 12 7C */	addi r3, r30, 0x127c
/* 802B1E3C 002ADA9C  8B 41 00 2E */	lbz r26, 0x2e(r1)
/* 802B1E40 002ADAA0  93 61 00 08 */	stw r27, 8(r1)
/* 802B1E44 002ADAA4  8B 81 00 30 */	lbz r28, 0x30(r1)
/* 802B1E48 002ADAA8  7F 4A D3 78 */	mr r10, r26
/* 802B1E4C 002ADAAC  8B A1 00 31 */	lbz r29, 0x31(r1)
/* 802B1E50 002ADAB0  93 81 00 0C */	stw r28, 0xc(r1)
/* 802B1E54 002ADAB4  8B 21 00 2D */	lbz r25, 0x2d(r1)
/* 802B1E58 002ADAB8  8B 01 00 2C */	lbz r24, 0x2c(r1)
/* 802B1E5C 002ADABC  8A E1 00 2B */	lbz r23, 0x2b(r1)
/* 802B1E60 002ADAC0  7F 29 CB 78 */	mr r9, r25
/* 802B1E64 002ADAC4  8A C1 00 2A */	lbz r22, 0x2a(r1)
/* 802B1E68 002ADAC8  7F 08 C3 78 */	mr r8, r24
/* 802B1E6C 002ADACC  8A A1 00 29 */	lbz r21, 0x29(r1)
/* 802B1E70 002ADAD0  7E E7 BB 78 */	mr r7, r23
/* 802B1E74 002ADAD4  93 A1 00 10 */	stw r29, 0x10(r1)
/* 802B1E78 002ADAD8  7E C6 B3 78 */	mr r6, r22
/* 802B1E7C 002ADADC  88 81 00 28 */	lbz r4, 0x28(r1)
/* 802B1E80 002ADAE0  7E A5 AB 78 */	mr r5, r21
/* 802B1E84 002ADAE4  4C C6 31 82 */	crclr 6
/* 802B1E88 002ADAE8  48 00 19 D9 */	bl DEBUGPrint
/* 802B1E8C 002ADAEC  3B FE 00 30 */	addi r31, r30, 0x30
/* 802B1E90 002ADAF0  8A 41 00 28 */	lbz r18, 0x28(r1)
/* 802B1E94 002ADAF4  7C 1F D8 AE */	lbzx r0, r31, r27
/* 802B1E98 002ADAF8  38 7E 12 A4 */	addi r3, r30, 0x12a4
/* 802B1E9C 002ADAFC  90 01 00 08 */	stw r0, 8(r1)
/* 802B1EA0 002ADB00  7C 1F E0 AE */	lbzx r0, r31, r28
/* 802B1EA4 002ADB04  90 01 00 0C */	stw r0, 0xc(r1)
/* 802B1EA8 002ADB08  7C 1F E8 AE */	lbzx r0, r31, r29
/* 802B1EAC 002ADB0C  90 01 00 10 */	stw r0, 0x10(r1)
/* 802B1EB0 002ADB10  7C 9F 90 AE */	lbzx r4, r31, r18
/* 802B1EB4 002ADB14  7C BF A8 AE */	lbzx r5, r31, r21
/* 802B1EB8 002ADB18  7C DF B0 AE */	lbzx r6, r31, r22
/* 802B1EBC 002ADB1C  7C FF B8 AE */	lbzx r7, r31, r23
/* 802B1EC0 002ADB20  7D 1F C0 AE */	lbzx r8, r31, r24
/* 802B1EC4 002ADB24  7D 3F C8 AE */	lbzx r9, r31, r25
/* 802B1EC8 002ADB28  7D 5F D0 AE */	lbzx r10, r31, r26
/* 802B1ECC 002ADB2C  4C C6 31 82 */	crclr 6
/* 802B1ED0 002ADB30  48 00 19 91 */	bl DEBUGPrint
/* 802B1ED4 002ADB34  4B FB C8 89 */	bl OSDisableInterrupts
/* 802B1ED8 002ADB38  7C 9F B0 AE */	lbzx r4, r31, r22
/* 802B1EDC 002ADB3C  7C BF 90 AE */	lbzx r5, r31, r18
/* 802B1EE0 002ADB40  54 80 E8 04 */	slwi r0, r4, 0x1d
/* 802B1EE4 002ADB44  54 89 0F FE */	srwi r9, r4, 0x1f
/* 802B1EE8 002ADB48  7C 09 00 50 */	subf r0, r9, r0
/* 802B1EEC 002ADB4C  90 61 00 34 */	stw r3, 0x34(r1)
/* 802B1EF0 002ADB50  54 07 18 3E */	rotlwi r7, r0, 3
/* 802B1EF4 002ADB54  54 A8 0F FE */	srwi r8, r5, 0x1f
/* 802B1EF8 002ADB58  54 A0 E8 04 */	slwi r0, r5, 0x1d
/* 802B1EFC 002ADB5C  7D 5F C8 AE */	lbzx r10, r31, r25
/* 802B1F00 002ADB60  7D 73 70 AE */	lbzx r11, r19, r14
/* 802B1F04 002ADB64  7C 08 00 50 */	subf r0, r8, r0
/* 802B1F08 002ADB68  7D 27 4A 14 */	add r9, r7, r9
/* 802B1F0C 002ADB6C  7C 7F E0 AE */	lbzx r3, r31, r28
/* 802B1F10 002ADB70  54 07 18 3E */	rotlwi r7, r0, 3
/* 802B1F14 002ADB74  7D 6C 52 78 */	xor r12, r11, r10
/* 802B1F18 002ADB78  55 20 06 3E */	clrlwi r0, r9, 0x18
/* 802B1F1C 002ADB7C  54 69 E8 04 */	slwi r9, r3, 0x1d
/* 802B1F20 002ADB80  7D C7 42 14 */	add r14, r7, r8
/* 802B1F24 002ADB84  54 63 0F FE */	srwi r3, r3, 0x1f
/* 802B1F28 002ADB88  7E 43 48 50 */	subf r18, r3, r9
/* 802B1F2C 002ADB8C  7D 8B 06 30 */	sraw r11, r12, r0
/* 802B1F30 002ADB90  21 20 00 08 */	subfic r9, r0, 8
/* 802B1F34 002ADB94  7C FF A8 AE */	lbzx r7, r31, r21
/* 802B1F38 002ADB98  89 11 00 01 */	lbz r8, 1(r17)
/* 802B1F3C 002ADB9C  55 C0 06 3E */	clrlwi r0, r14, 0x18
/* 802B1F40 002ADBA0  7C DF D8 AE */	lbzx r6, r31, r27
/* 802B1F44 002ADBA4  7D 89 48 30 */	slw r9, r12, r9
/* 802B1F48 002ADBA8  7D 0E 3A 78 */	xor r14, r8, r7
/* 802B1F4C 002ADBAC  56 52 18 3E */	rotlwi r18, r18, 3
/* 802B1F50 002ADBB0  7C 72 1A 14 */	add r3, r18, r3
/* 802B1F54 002ADBB4  8A 51 00 03 */	lbz r18, 3(r17)
/* 802B1F58 002ADBB8  7D C8 06 30 */	sraw r8, r14, r0
/* 802B1F5C 002ADBBC  20 00 00 08 */	subfic r0, r0, 8
/* 802B1F60 002ADBC0  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 802B1F64 002ADBC4  7D C0 00 30 */	slw r0, r14, r0
/* 802B1F68 002ADBC8  7D 6E 4B 78 */	or r14, r11, r9
/* 802B1F6C 002ADBCC  7D 08 03 78 */	or r8, r8, r0
/* 802B1F70 002ADBD0  88 11 00 04 */	lbz r0, 4(r17)
/* 802B1F74 002ADBD4  55 0C 06 3E */	clrlwi r12, r8, 0x18
/* 802B1F78 002ADBD8  54 C9 0F FE */	srwi r9, r6, 0x1f
/* 802B1F7C 002ADBDC  54 C8 E8 04 */	slwi r8, r6, 0x1d
/* 802B1F80 002ADBE0  90 01 00 40 */	stw r0, 0x40(r1)
/* 802B1F84 002ADBE4  7D 09 40 50 */	subf r8, r9, r8
/* 802B1F88 002ADBE8  7D 7F D0 AE */	lbzx r11, r31, r26
/* 802B1F8C 002ADBEC  55 08 18 3E */	rotlwi r8, r8, 3
/* 802B1F90 002ADBF0  88 11 00 02 */	lbz r0, 2(r17)
/* 802B1F94 002ADBF4  7D 28 4A 14 */	add r9, r8, r9
/* 802B1F98 002ADBF8  7D 8A 60 50 */	subf r12, r10, r12
/* 802B1F9C 002ADBFC  7C 08 5A 78 */	xor r8, r0, r11
/* 802B1FA0 002ADC00  55 CE 06 3E */	clrlwi r14, r14, 0x18
/* 802B1FA4 002ADC04  7C C0 62 78 */	xor r0, r6, r12
/* 802B1FA8 002ADC08  90 01 00 3C */	stw r0, 0x3c(r1)
/* 802B1FAC 002ADC0C  7D 0C 1E 30 */	sraw r12, r8, r3
/* 802B1FB0 002ADC10  7C 1F C0 AE */	lbzx r0, r31, r24
/* 802B1FB4 002ADC14  22 63 00 08 */	subfic r19, r3, 8
/* 802B1FB8 002ADC18  7D 08 98 30 */	slw r8, r8, r19
/* 802B1FBC 002ADC1C  55 33 06 3E */	clrlwi r19, r9, 0x18
/* 802B1FC0 002ADC20  7E 52 02 78 */	xor r18, r18, r0
/* 802B1FC4 002ADC24  7D 88 43 78 */	or r8, r12, r8
/* 802B1FC8 002ADC28  7D 3F E8 AE */	lbzx r9, r31, r29
/* 802B1FCC 002ADC2C  7E 54 9E 30 */	sraw r20, r18, r19
/* 802B1FD0 002ADC30  21 93 00 08 */	subfic r12, r19, 8
/* 802B1FD4 002ADC34  55 08 06 3E */	clrlwi r8, r8, 0x18
/* 802B1FD8 002ADC38  7E 4C 60 30 */	slw r12, r18, r12
/* 802B1FDC 002ADC3C  7E 49 70 50 */	subf r18, r9, r14
/* 802B1FE0 002ADC40  7D C4 40 50 */	subf r14, r4, r8
/* 802B1FE4 002ADC44  7D 1F B8 AE */	lbzx r8, r31, r23
/* 802B1FE8 002ADC48  7E 8C 63 78 */	or r12, r20, r12
/* 802B1FEC 002ADC4C  55 93 06 3E */	clrlwi r19, r12, 0x18
/* 802B1FF0 002ADC50  7C A5 72 78 */	xor r5, r5, r14
/* 802B1FF4 002ADC54  7C 0C 92 78 */	xor r12, r0, r18
/* 802B1FF8 002ADC58  7E 48 98 50 */	subf r18, r8, r19
/* 802B1FFC 002ADC5C  54 B4 06 3E */	clrlwi r20, r5, 0x18
/* 802B2000 002ADC60  7C 84 92 78 */	xor r4, r4, r18
/* 802B2004 002ADC64  55 8C 06 3E */	clrlwi r12, r12, 0x18
/* 802B2008 002ADC68  99 81 00 38 */	stb r12, 0x38(r1)
/* 802B200C 002ADC6C  54 93 06 3E */	clrlwi r19, r4, 0x18
/* 802B2010 002ADC70  81 81 00 3C */	lwz r12, 0x3c(r1)
/* 802B2014 002ADC74  80 81 00 40 */	lwz r4, 0x40(r1)
/* 802B2018 002ADC78  55 8E 06 3E */	clrlwi r14, r12, 0x18
/* 802B201C 002ADC7C  7C 85 3A 78 */	xor r5, r4, r7
/* 802B2020 002ADC80  55 67 E8 04 */	slwi r7, r11, 0x1d
/* 802B2024 002ADC84  55 64 0F FE */	srwi r4, r11, 0x1f
/* 802B2028 002ADC88  7D 64 38 50 */	subf r11, r4, r7
/* 802B202C 002ADC8C  88 F1 00 05 */	lbz r7, 5(r17)
/* 802B2030 002ADC90  55 6B 18 3E */	rotlwi r11, r11, 3
/* 802B2034 002ADC94  54 AC 06 3E */	clrlwi r12, r5, 0x18
/* 802B2038 002ADC98  7C 8B 22 14 */	add r4, r11, r4
/* 802B203C 002ADC9C  7C E5 32 78 */	xor r5, r7, r6
/* 802B2040 002ADCA0  54 86 06 3E */	clrlwi r6, r4, 0x18
/* 802B2044 002ADCA4  88 81 00 38 */	lbz r4, 0x38(r1)
/* 802B2048 002ADCA8  7D 8B 36 30 */	sraw r11, r12, r6
/* 802B204C 002ADCAC  54 B1 06 3E */	clrlwi r17, r5, 0x18
/* 802B2050 002ADCB0  20 E6 00 08 */	subfic r7, r6, 8
/* 802B2054 002ADCB4  7D C5 73 78 */	mr r5, r14
/* 802B2058 002ADCB8  7E 32 1E 30 */	sraw r18, r17, r3
/* 802B205C 002ADCBC  7E 86 A3 78 */	mr r6, r20
/* 802B2060 002ADCC0  20 63 00 08 */	subfic r3, r3, 8
/* 802B2064 002ADCC4  7D 8C 38 30 */	slw r12, r12, r7
/* 802B2068 002ADCC8  7E 31 18 30 */	slw r17, r17, r3
/* 802B206C 002ADCCC  7E 67 9B 78 */	mr r7, r19
/* 802B2070 002ADCD0  7D 6B 63 78 */	or r11, r11, r12
/* 802B2074 002ADCD4  38 7E 12 CC */	addi r3, r30, 0x12cc
/* 802B2078 002ADCD8  7E 4C 8B 78 */	or r12, r18, r17
/* 802B207C 002ADCDC  55 71 06 3E */	clrlwi r17, r11, 0x18
/* 802B2080 002ADCE0  55 8B 06 3E */	clrlwi r11, r12, 0x18
/* 802B2084 002ADCE4  7D 88 88 50 */	subf r12, r8, r17
/* 802B2088 002ADCE8  7D 0A 58 50 */	subf r8, r10, r11
/* 802B208C 002ADCEC  7C 0A 62 78 */	xor r10, r0, r12
/* 802B2090 002ADCF0  7D 20 42 78 */	xor r0, r9, r8
/* 802B2094 002ADCF4  55 52 06 3E */	clrlwi r18, r10, 0x18
/* 802B2098 002ADCF8  54 11 06 3E */	clrlwi r17, r0, 0x18
/* 802B209C 002ADCFC  7E 48 93 78 */	mr r8, r18
/* 802B20A0 002ADD00  7E 29 8B 78 */	mr r9, r17
/* 802B20A4 002ADD04  4C C6 31 82 */	crclr 6
/* 802B20A8 002ADD08  48 00 17 B9 */	bl DEBUGPrint
/* 802B20AC 002ADD0C  38 6F 00 01 */	addi r3, r15, 1
/* 802B20B0 002ADD10  38 0F 00 02 */	addi r0, r15, 2
/* 802B20B4 002ADD14  54 6A 40 2E */	slwi r10, r3, 8
/* 802B20B8 002ADD18  89 61 00 28 */	lbz r11, 0x28(r1)
/* 802B20BC 002ADD1C  54 00 40 2E */	slwi r0, r0, 8
/* 802B20C0 002ADD20  38 7E 12 E8 */	addi r3, r30, 0x12e8
/* 802B20C4 002ADD24  7C 92 52 14 */	add r4, r18, r10
/* 802B20C8 002ADD28  7C D1 52 14 */	add r6, r17, r10
/* 802B20CC 002ADD2C  90 81 00 44 */	stw r4, 0x44(r1)
/* 802B20D0 002ADD30  7C 97 02 14 */	add r4, r23, r0
/* 802B20D4 002ADD34  7C FB 02 14 */	add r7, r27, r0
/* 802B20D8 002ADD38  7C B8 02 14 */	add r5, r24, r0
/* 802B20DC 002ADD3C  90 81 00 48 */	stw r4, 0x48(r1)
/* 802B20E0 002ADD40  7D FA 02 14 */	add r15, r26, r0
/* 802B20E4 002ADD44  88 81 00 38 */	lbz r4, 0x38(r1)
/* 802B20E8 002ADD48  7F 55 52 14 */	add r26, r21, r10
/* 802B20EC 002ADD4C  7D 8B 52 14 */	add r12, r11, r10
/* 802B20F0 002ADD50  7F 7C 02 14 */	add r27, r28, r0
/* 802B20F4 002ADD54  7C 84 52 14 */	add r4, r4, r10
/* 802B20F8 002ADD58  7F 8B 02 14 */	add r28, r11, r0
/* 802B20FC 002ADD5C  90 81 00 4C */	stw r4, 0x4c(r1)
/* 802B2100 002ADD60  7C 96 02 14 */	add r4, r22, r0
/* 802B2104 002ADD64  7D 39 02 14 */	add r9, r25, r0
/* 802B2108 002ADD68  7D 14 52 14 */	add r8, r20, r10
/* 802B210C 002ADD6C  90 81 00 50 */	stw r4, 0x50(r1)
/* 802B2110 002ADD70  7C 8E 52 14 */	add r4, r14, r10
/* 802B2114 002ADD74  7F 13 52 14 */	add r24, r19, r10
/* 802B2118 002ADD78  7D 77 52 14 */	add r11, r23, r10
/* 802B211C 002ADD7C  7D 56 52 14 */	add r10, r22, r10
/* 802B2120 002ADD80  82 C1 00 44 */	lwz r22, 0x44(r1)
/* 802B2124 002ADD84  7F 3D 02 14 */	add r25, r29, r0
/* 802B2128 002ADD88  7E B5 02 14 */	add r21, r21, r0
/* 802B212C 002ADD8C  7C 16 F8 AE */	lbzx r0, r22, r31
/* 802B2130 002ADD90  82 C1 00 48 */	lwz r22, 0x48(r1)
/* 802B2134 002ADD94  7C E7 F8 AE */	lbzx r7, r7, r31
/* 802B2138 002ADD98  7E D6 F8 AE */	lbzx r22, r22, r31
/* 802B213C 002ADD9C  7C 17 3A 78 */	xor r23, r0, r7
/* 802B2140 002ADDA0  7C C6 F8 AE */	lbzx r6, r6, r31
/* 802B2144 002ADDA4  7C 16 B2 78 */	xor r22, r0, r22
/* 802B2148 002ADDA8  7C 04 F8 AE */	lbzx r0, r4, r31
/* 802B214C 002ADDAC  7C C4 3A 78 */	xor r4, r6, r7
/* 802B2150 002ADDB0  7C A5 F8 AE */	lbzx r5, r5, r31
/* 802B2154 002ADDB4  7C FB F8 AE */	lbzx r7, r27, r31
/* 802B2158 002ADDB8  7C C6 2A 78 */	xor r6, r6, r5
/* 802B215C 002ADDBC  7C 05 2A 78 */	xor r5, r0, r5
/* 802B2160 002ADDC0  7C 1B 3A 78 */	xor r27, r0, r7
/* 802B2164 002ADDC4  7F 5A F8 AE */	lbzx r26, r26, r31
/* 802B2168 002ADDC8  7C 09 F8 AE */	lbzx r0, r9, r31
/* 802B216C 002ADDCC  7F 47 3A 78 */	xor r7, r26, r7
/* 802B2170 002ADDD0  7D 28 F8 AE */	lbzx r9, r8, r31
/* 802B2174 002ADDD4  7D 19 F8 AE */	lbzx r8, r25, r31
/* 802B2178 002ADDD8  7F 58 F8 AE */	lbzx r26, r24, r31
/* 802B217C 002ADDDC  7D 39 02 78 */	xor r25, r9, r0
/* 802B2180 002ADDE0  7F 1C F8 AE */	lbzx r24, r28, r31
/* 802B2184 002ADDE4  7D 3C 42 78 */	xor r28, r9, r8
/* 802B2188 002ADDE8  7D 2B F8 AE */	lbzx r9, r11, r31
/* 802B218C 002ADDEC  7F 48 42 78 */	xor r8, r26, r8
/* 802B2190 002ADDF0  7F 5A C2 78 */	xor r26, r26, r24
/* 802B2194 002ADDF4  81 61 00 4C */	lwz r11, 0x4c(r1)
/* 802B2198 002ADDF8  7D 20 02 78 */	xor r0, r9, r0
/* 802B219C 002ADDFC  83 01 00 50 */	lwz r24, 0x50(r1)
/* 802B21A0 002ADE00  7D 6B F8 AE */	lbzx r11, r11, r31
/* 802B21A4 002ADE04  7F 18 F8 AE */	lbzx r24, r24, r31
/* 802B21A8 002ADE08  7D 35 F8 AE */	lbzx r9, r21, r31
/* 802B21AC 002ADE0C  7D 75 C2 78 */	xor r21, r11, r24
/* 802B21B0 002ADE10  7D EF F8 AE */	lbzx r15, r15, r31
/* 802B21B4 002ADE14  7D 6B 4A 78 */	xor r11, r11, r9
/* 802B21B8 002ADE18  7D 2A F8 AE */	lbzx r9, r10, r31
/* 802B21BC 002ADE1C  7D 8C F8 AE */	lbzx r12, r12, r31
/* 802B21C0 002ADE20  7D 29 7A 78 */	xor r9, r9, r15
/* 802B21C4 002ADE24  9A C1 00 20 */	stb r22, 0x20(r1)
/* 802B21C8 002ADE28  7D 8A 7A 78 */	xor r10, r12, r15
/* 802B21CC 002ADE2C  9B 21 00 21 */	stb r25, 0x21(r1)
/* 802B21D0 002ADE30  98 81 00 22 */	stb r4, 0x22(r1)
/* 802B21D4 002ADE34  9A A1 00 23 */	stb r21, 0x23(r1)
/* 802B21D8 002ADE38  98 A1 00 24 */	stb r5, 0x24(r1)
/* 802B21DC 002ADE3C  99 01 00 25 */	stb r8, 0x25(r1)
/* 802B21E0 002ADE40  99 41 00 26 */	stb r10, 0x26(r1)
/* 802B21E4 002ADE44  98 E1 00 27 */	stb r7, 0x27(r1)
/* 802B21E8 002ADE48  99 61 00 18 */	stb r11, 0x18(r1)
/* 802B21EC 002ADE4C  98 C1 00 19 */	stb r6, 0x19(r1)
/* 802B21F0 002ADE50  9B 41 00 1A */	stb r26, 0x1a(r1)
/* 802B21F4 002ADE54  9B 81 00 1B */	stb r28, 0x1b(r1)
/* 802B21F8 002ADE58  9A E1 00 1C */	stb r23, 0x1c(r1)
/* 802B21FC 002ADE5C  9B 61 00 1D */	stb r27, 0x1d(r1)
/* 802B2200 002ADE60  98 01 00 1E */	stb r0, 0x1e(r1)
/* 802B2204 002ADE64  99 21 00 1F */	stb r9, 0x1f(r1)
/* 802B2208 002ADE68  90 E1 00 08 */	stw r7, 8(r1)
/* 802B220C 002ADE6C  88 81 00 20 */	lbz r4, 0x20(r1)
/* 802B2210 002ADE70  88 A1 00 21 */	lbz r5, 0x21(r1)
/* 802B2214 002ADE74  88 C1 00 22 */	lbz r6, 0x22(r1)
/* 802B2218 002ADE78  88 E1 00 23 */	lbz r7, 0x23(r1)
/* 802B221C 002ADE7C  89 01 00 24 */	lbz r8, 0x24(r1)
/* 802B2220 002ADE80  89 21 00 25 */	lbz r9, 0x25(r1)
/* 802B2224 002ADE84  89 41 00 26 */	lbz r10, 0x26(r1)
/* 802B2228 002ADE88  4C C6 31 82 */	crclr 6
/* 802B222C 002ADE8C  48 00 16 35 */	bl DEBUGPrint
/* 802B2230 002ADE90  88 01 00 1F */	lbz r0, 0x1f(r1)
/* 802B2234 002ADE94  38 7E 13 08 */	addi r3, r30, 0x1308
/* 802B2238 002ADE98  90 01 00 08 */	stw r0, 8(r1)
/* 802B223C 002ADE9C  88 81 00 18 */	lbz r4, 0x18(r1)
/* 802B2240 002ADEA0  88 A1 00 19 */	lbz r5, 0x19(r1)
/* 802B2244 002ADEA4  88 C1 00 1A */	lbz r6, 0x1a(r1)
/* 802B2248 002ADEA8  88 E1 00 1B */	lbz r7, 0x1b(r1)
/* 802B224C 002ADEAC  89 01 00 1C */	lbz r8, 0x1c(r1)
/* 802B2250 002ADEB0  89 21 00 1D */	lbz r9, 0x1d(r1)
/* 802B2254 002ADEB4  89 41 00 1E */	lbz r10, 0x1e(r1)
/* 802B2258 002ADEB8  4C C6 31 82 */	crclr 6
/* 802B225C 002ADEBC  48 00 16 05 */	bl DEBUGPrint
/* 802B2260 002ADEC0  38 60 00 00 */	li r3, 0
/* 802B2264 002ADEC4  38 C1 00 28 */	addi r6, r1, 0x28
/* 802B2268 002ADEC8  20 83 00 09 */	subfic r4, r3, 9
/* 802B226C 002ADECC  38 00 00 02 */	li r0, 2
/* 802B2270 002ADED0  38 60 00 01 */	li r3, 1
/* 802B2274 002ADED4  7C A6 20 AE */	lbzx r5, r6, r4
/* 802B2278 002ADED8  20 63 00 09 */	subfic r3, r3, 9
/* 802B227C 002ADEDC  7C 86 18 AE */	lbzx r4, r6, r3
/* 802B2280 002ADEE0  20 60 00 09 */	subfic r3, r0, 9
/* 802B2284 002ADEE4  98 B0 09 14 */	stb r5, 0x914(r16)
/* 802B2288 002ADEE8  38 00 00 03 */	li r0, 3
/* 802B228C 002ADEEC  7C A6 18 AE */	lbzx r5, r6, r3
/* 802B2290 002ADEF0  20 60 00 09 */	subfic r3, r0, 9
/* 802B2294 002ADEF4  98 90 09 15 */	stb r4, 0x915(r16)
/* 802B2298 002ADEF8  38 00 00 04 */	li r0, 4
/* 802B229C 002ADEFC  7C 86 18 AE */	lbzx r4, r6, r3
/* 802B22A0 002ADF00  20 00 00 09 */	subfic r0, r0, 9
/* 802B22A4 002ADF04  98 B0 09 16 */	stb r5, 0x916(r16)
/* 802B22A8 002ADF08  38 60 00 05 */	li r3, 5
/* 802B22AC 002ADF0C  7C 06 00 AE */	lbzx r0, r6, r0
/* 802B22B0 002ADF10  98 90 09 17 */	stb r4, 0x917(r16)
/* 802B22B4 002ADF14  20 83 00 09 */	subfic r4, r3, 9
/* 802B22B8 002ADF18  38 60 00 06 */	li r3, 6
/* 802B22BC 002ADF1C  7C A6 20 AE */	lbzx r5, r6, r4
/* 802B22C0 002ADF20  98 10 09 18 */	stb r0, 0x918(r16)
/* 802B22C4 002ADF24  20 63 00 09 */	subfic r3, r3, 9
/* 802B22C8 002ADF28  38 00 00 07 */	li r0, 7
/* 802B22CC 002ADF2C  7C 86 18 AE */	lbzx r4, r6, r3
/* 802B22D0 002ADF30  98 B0 09 19 */	stb r5, 0x919(r16)
/* 802B22D4 002ADF34  20 60 00 09 */	subfic r3, r0, 9
/* 802B22D8 002ADF38  38 00 00 08 */	li r0, 8
/* 802B22DC 002ADF3C  7C A6 18 AE */	lbzx r5, r6, r3
/* 802B22E0 002ADF40  98 90 09 1A */	stb r4, 0x91a(r16)
/* 802B22E4 002ADF44  20 60 00 09 */	subfic r3, r0, 9
/* 802B22E8 002ADF48  38 00 00 09 */	li r0, 9
/* 802B22EC 002ADF4C  7C 86 18 AE */	lbzx r4, r6, r3
/* 802B22F0 002ADF50  98 B0 09 1B */	stb r5, 0x91b(r16)
/* 802B22F4 002ADF54  20 00 00 09 */	subfic r0, r0, 9
/* 802B22F8 002ADF58  7C 06 00 AE */	lbzx r0, r6, r0
/* 802B22FC 002ADF5C  38 70 09 24 */	addi r3, r16, 0x924
/* 802B2300 002ADF60  98 90 09 1C */	stb r4, 0x91c(r16)
/* 802B2304 002ADF64  38 81 00 20 */	addi r4, r1, 0x20
/* 802B2308 002ADF68  38 A0 00 08 */	li r5, 8
/* 802B230C 002ADF6C  98 10 09 1D */	stb r0, 0x91d(r16)
/* 802B2310 002ADF70  88 01 00 38 */	lbz r0, 0x38(r1)
/* 802B2314 002ADF74  9A 30 09 1E */	stb r17, 0x91e(r16)
/* 802B2318 002ADF78  9A 50 09 1F */	stb r18, 0x91f(r16)
/* 802B231C 002ADF7C  9A 70 09 20 */	stb r19, 0x920(r16)
/* 802B2320 002ADF80  9A 90 09 21 */	stb r20, 0x921(r16)
/* 802B2324 002ADF84  99 D0 09 22 */	stb r14, 0x922(r16)
/* 802B2328 002ADF88  98 10 09 23 */	stb r0, 0x923(r16)
/* 802B232C 002ADF8C  4B D5 1C D5 */	bl memcpy
/* 802B2330 002ADF90  38 70 09 2C */	addi r3, r16, 0x92c
/* 802B2334 002ADF94  38 81 00 18 */	addi r4, r1, 0x18
/* 802B2338 002ADF98  38 A0 00 08 */	li r5, 8
/* 802B233C 002ADF9C  4B D5 1C C5 */	bl memcpy
/* 802B2340 002ADFA0  80 61 00 34 */	lwz r3, 0x34(r1)
/* 802B2344 002ADFA4  4B FB C4 41 */	bl OSRestoreInterrupts
/* 802B2348 002ADFA8  39 61 00 A0 */	addi r11, r1, 0xa0
/* 802B234C 002ADFAC  4B F1 4D F5 */	bl __restore_gpr
/* 802B2350 002ADFB0  80 01 00 A4 */	lwz r0, 0xa4(r1)
/* 802B2354 002ADFB4  7C 08 03 A6 */	mtlr r0
/* 802B2358 002ADFB8  38 21 00 A0 */	addi r1, r1, 0xa0
/* 802B235C 002ADFBC  4E 80 00 20 */	blr

.global WPADiCreateKeyFor3rd
WPADiCreateKeyFor3rd:
/* 802B2360 002ADFC0  94 21 FF 60 */	stwu r1, -0xa0(r1)
/* 802B2364 002ADFC4  7C 08 02 A6 */	mflr r0
/* 802B2368 002ADFC8  90 01 00 A4 */	stw r0, 0xa4(r1)
/* 802B236C 002ADFCC  39 61 00 A0 */	addi r11, r1, 0xa0
/* 802B2370 002ADFD0  4B F1 4D 85 */	bl __save_gpr
/* 802B2374 002ADFD4  3C 80 80 53 */	lis r4, lbl_80536D70@ha
/* 802B2378 002ADFD8  3F C0 80 44 */	lis r30, lbl_8043C700@ha
/* 802B237C 002ADFDC  54 60 10 3A */	slwi r0, r3, 2
/* 802B2380 002ADFE0  38 84 6D 70 */	addi r4, r4, lbl_80536D70@l
/* 802B2384 002ADFE4  3B DE C7 00 */	addi r30, r30, lbl_8043C700@l
/* 802B2388 002ADFE8  7E 04 00 2E */	lwzx r16, r4, r0
/* 802B238C 002ADFEC  4B FC 04 45 */	bl OSGetTick
/* 802B2390 002ADFF0  54 60 C6 3E */	rlwinm r0, r3, 0x18, 0x18, 0x1f
/* 802B2394 002ADFF4  98 0D AE 83 */	stb r0, lbl_80640143-_SDA_BASE_(r13)
/* 802B2398 002ADFF8  4B FC 04 39 */	bl OSGetTick
/* 802B239C 002ADFFC  54 60 86 BE */	rlwinm r0, r3, 0x10, 0x1a, 0x1f
/* 802B23A0 002AE000  98 0D AE 82 */	stb r0, lbl_80640142-_SDA_BASE_(r13)
/* 802B23A4 002AE004  4B FC 04 2D */	bl OSGetTick
/* 802B23A8 002AE008  88 CD AE 82 */	lbz r6, lbl_80640142-_SDA_BASE_(r13)
/* 802B23AC 002AE00C  54 63 46 3E */	srwi r3, r3, 0x18
/* 802B23B0 002AE010  88 0D AE 83 */	lbz r0, lbl_80640143-_SDA_BASE_(r13)
/* 802B23B4 002AE014  70 64 00 4C */	andi. r4, r3, 0x4c
/* 802B23B8 002AE018  39 00 00 FF */	li r8, 0xff
/* 802B23BC 002AE01C  3C A0 80 81 */	lis r5, 0x80808081@ha
/* 802B23C0 002AE020  7C E0 31 D6 */	mullw r7, r0, r6
/* 802B23C4 002AE024  3C 60 92 49 */	lis r3, 0x92492493@ha
/* 802B23C8 002AE028  38 05 80 81 */	addi r0, r5, 0x80808081@l
/* 802B23CC 002AE02C  99 0D AE 80 */	stb r8, lbl_80640140-_SDA_BASE_(r13)
/* 802B23D0 002AE030  39 03 24 93 */	addi r8, r3, 0x92492493@l
/* 802B23D4 002AE034  38 A0 00 02 */	li r5, 2
/* 802B23D8 002AE038  7D 44 3A 14 */	add r10, r4, r7
/* 802B23DC 002AE03C  98 8D AE 81 */	stb r4, lbl_80640141-_SDA_BASE_(r13)
/* 802B23E0 002AE040  7D 20 50 16 */	mulhwu r9, r0, r10
/* 802B23E4 002AE044  38 7E 09 60 */	addi r3, r30, 0x960
/* 802B23E8 002AE048  38 E0 00 00 */	li r7, 0
/* 802B23EC 002AE04C  55 29 C9 FE */	srwi r9, r9, 7
/* 802B23F0 002AE050  1D 29 00 FF */	mulli r9, r9, 0xff
/* 802B23F4 002AE054  7D 29 50 50 */	subf r9, r9, r10
/* 802B23F8 002AE058  55 2A 06 3E */	clrlwi r10, r9, 0x18
/* 802B23FC 002AE05C  7D 08 50 96 */	mulhw r8, r8, r10
/* 802B2400 002AE060  7D 08 52 14 */	add r8, r8, r10
/* 802B2404 002AE064  7D 08 16 70 */	srawi r8, r8, 2
/* 802B2408 002AE068  55 09 0F FE */	srwi r9, r8, 0x1f
/* 802B240C 002AE06C  7D 08 4A 14 */	add r8, r8, r9
/* 802B2410 002AE070  1D 08 00 07 */	mulli r8, r8, 7
/* 802B2414 002AE074  7D 08 50 50 */	subf r8, r8, r10
/* 802B2418 002AE078  55 0F 06 3E */	clrlwi r15, r8, 0x18
/* 802B241C 002AE07C  1D 0F 00 06 */	mulli r8, r15, 6
/* 802B2420 002AE080  55 0E 06 3E */	clrlwi r14, r8, 0x18
/* 802B2424 002AE084  7C A9 03 A6 */	mtctr r5
lbl_802B2428:
/* 802B2428 002AE088  55 45 06 3E */	clrlwi r5, r10, 0x18
/* 802B242C 002AE08C  54 E8 06 3E */	clrlwi r8, r7, 0x18
/* 802B2430 002AE090  7D 25 31 D6 */	mullw r9, r5, r6
/* 802B2434 002AE094  38 E7 00 05 */	addi r7, r7, 5
/* 802B2438 002AE098  38 A1 00 28 */	addi r5, r1, 0x28
/* 802B243C 002AE09C  7C A5 42 14 */	add r5, r5, r8
/* 802B2440 002AE0A0  7D 24 4A 14 */	add r9, r4, r9
/* 802B2444 002AE0A4  7D 00 48 16 */	mulhwu r8, r0, r9
/* 802B2448 002AE0A8  55 08 C9 FE */	srwi r8, r8, 7
/* 802B244C 002AE0AC  1D 08 00 FF */	mulli r8, r8, 0xff
/* 802B2450 002AE0B0  7D 08 48 50 */	subf r8, r8, r9
/* 802B2454 002AE0B4  55 09 06 3E */	clrlwi r9, r8, 0x18
/* 802B2458 002AE0B8  7D 09 31 D6 */	mullw r8, r9, r6
/* 802B245C 002AE0BC  7D 23 48 AE */	lbzx r9, r3, r9
/* 802B2460 002AE0C0  99 25 00 00 */	stb r9, 0(r5)
/* 802B2464 002AE0C4  7D 24 42 14 */	add r9, r4, r8
/* 802B2468 002AE0C8  7D 00 48 16 */	mulhwu r8, r0, r9
/* 802B246C 002AE0CC  55 08 C9 FE */	srwi r8, r8, 7
/* 802B2470 002AE0D0  1D 08 00 FF */	mulli r8, r8, 0xff
/* 802B2474 002AE0D4  7D 08 48 50 */	subf r8, r8, r9
/* 802B2478 002AE0D8  55 09 06 3E */	clrlwi r9, r8, 0x18
/* 802B247C 002AE0DC  7D 09 31 D6 */	mullw r8, r9, r6
/* 802B2480 002AE0E0  7D 23 48 AE */	lbzx r9, r3, r9
/* 802B2484 002AE0E4  99 25 00 01 */	stb r9, 1(r5)
/* 802B2488 002AE0E8  7D 24 42 14 */	add r9, r4, r8
/* 802B248C 002AE0EC  7D 00 48 16 */	mulhwu r8, r0, r9
/* 802B2490 002AE0F0  55 08 C9 FE */	srwi r8, r8, 7
/* 802B2494 002AE0F4  1D 08 00 FF */	mulli r8, r8, 0xff
/* 802B2498 002AE0F8  7D 08 48 50 */	subf r8, r8, r9
/* 802B249C 002AE0FC  55 09 06 3E */	clrlwi r9, r8, 0x18
/* 802B24A0 002AE100  7D 09 31 D6 */	mullw r8, r9, r6
/* 802B24A4 002AE104  7D 23 48 AE */	lbzx r9, r3, r9
/* 802B24A8 002AE108  99 25 00 02 */	stb r9, 2(r5)
/* 802B24AC 002AE10C  7D 24 42 14 */	add r9, r4, r8
/* 802B24B0 002AE110  7D 00 48 16 */	mulhwu r8, r0, r9
/* 802B24B4 002AE114  55 08 C9 FE */	srwi r8, r8, 7
/* 802B24B8 002AE118  1D 08 00 FF */	mulli r8, r8, 0xff
/* 802B24BC 002AE11C  7D 08 48 50 */	subf r8, r8, r9
/* 802B24C0 002AE120  55 09 06 3E */	clrlwi r9, r8, 0x18
/* 802B24C4 002AE124  7D 09 31 D6 */	mullw r8, r9, r6
/* 802B24C8 002AE128  7D 23 48 AE */	lbzx r9, r3, r9
/* 802B24CC 002AE12C  99 25 00 03 */	stb r9, 3(r5)
/* 802B24D0 002AE130  7D 24 42 14 */	add r9, r4, r8
/* 802B24D4 002AE134  7D 00 48 16 */	mulhwu r8, r0, r9
/* 802B24D8 002AE138  55 08 C9 FE */	srwi r8, r8, 7
/* 802B24DC 002AE13C  1D 08 00 FF */	mulli r8, r8, 0xff
/* 802B24E0 002AE140  7D 08 48 50 */	subf r8, r8, r9
/* 802B24E4 002AE144  55 0A 06 3E */	clrlwi r10, r8, 0x18
/* 802B24E8 002AE148  7D 03 50 AE */	lbzx r8, r3, r10
/* 802B24EC 002AE14C  99 05 00 04 */	stb r8, 4(r5)
/* 802B24F0 002AE150  42 00 FF 38 */	bdnz lbl_802B2428
/* 802B24F4 002AE154  3A 7E 09 30 */	addi r19, r30, 0x930
/* 802B24F8 002AE158  99 4D AE 83 */	stb r10, lbl_80640143-_SDA_BASE_(r13)
/* 802B24FC 002AE15C  7E 2E 9A 14 */	add r17, r14, r19
/* 802B2500 002AE160  7C 93 70 AE */	lbzx r4, r19, r14
/* 802B2504 002AE164  88 B1 00 01 */	lbz r5, 1(r17)
/* 802B2508 002AE168  38 7E 12 60 */	addi r3, r30, 0x1260
/* 802B250C 002AE16C  88 D1 00 02 */	lbz r6, 2(r17)
/* 802B2510 002AE170  88 F1 00 03 */	lbz r7, 3(r17)
/* 802B2514 002AE174  89 11 00 04 */	lbz r8, 4(r17)
/* 802B2518 002AE178  89 31 00 05 */	lbz r9, 5(r17)
/* 802B251C 002AE17C  4C C6 31 82 */	crclr 6
/* 802B2520 002AE180  48 00 13 41 */	bl DEBUGPrint
/* 802B2524 002AE184  8B 61 00 2F */	lbz r27, 0x2f(r1)
/* 802B2528 002AE188  38 7E 12 7C */	addi r3, r30, 0x127c
/* 802B252C 002AE18C  8B 41 00 2E */	lbz r26, 0x2e(r1)
/* 802B2530 002AE190  93 61 00 08 */	stw r27, 8(r1)
/* 802B2534 002AE194  8B 81 00 30 */	lbz r28, 0x30(r1)
/* 802B2538 002AE198  7F 4A D3 78 */	mr r10, r26
/* 802B253C 002AE19C  8B A1 00 31 */	lbz r29, 0x31(r1)
/* 802B2540 002AE1A0  93 81 00 0C */	stw r28, 0xc(r1)
/* 802B2544 002AE1A4  8B 21 00 2D */	lbz r25, 0x2d(r1)
/* 802B2548 002AE1A8  8B 01 00 2C */	lbz r24, 0x2c(r1)
/* 802B254C 002AE1AC  8A E1 00 2B */	lbz r23, 0x2b(r1)
/* 802B2550 002AE1B0  7F 29 CB 78 */	mr r9, r25
/* 802B2554 002AE1B4  8A C1 00 2A */	lbz r22, 0x2a(r1)
/* 802B2558 002AE1B8  7F 08 C3 78 */	mr r8, r24
/* 802B255C 002AE1BC  8A A1 00 29 */	lbz r21, 0x29(r1)
/* 802B2560 002AE1C0  7E E7 BB 78 */	mr r7, r23
/* 802B2564 002AE1C4  93 A1 00 10 */	stw r29, 0x10(r1)
/* 802B2568 002AE1C8  7E C6 B3 78 */	mr r6, r22
/* 802B256C 002AE1CC  88 81 00 28 */	lbz r4, 0x28(r1)
/* 802B2570 002AE1D0  7E A5 AB 78 */	mr r5, r21
/* 802B2574 002AE1D4  4C C6 31 82 */	crclr 6
/* 802B2578 002AE1D8  48 00 12 E9 */	bl DEBUGPrint
/* 802B257C 002AE1DC  3B FE 09 60 */	addi r31, r30, 0x960
/* 802B2580 002AE1E0  8A 41 00 28 */	lbz r18, 0x28(r1)
/* 802B2584 002AE1E4  7C 1F D8 AE */	lbzx r0, r31, r27
/* 802B2588 002AE1E8  38 7E 12 A4 */	addi r3, r30, 0x12a4
/* 802B258C 002AE1EC  90 01 00 08 */	stw r0, 8(r1)
/* 802B2590 002AE1F0  7C 1F E0 AE */	lbzx r0, r31, r28
/* 802B2594 002AE1F4  90 01 00 0C */	stw r0, 0xc(r1)
/* 802B2598 002AE1F8  7C 1F E8 AE */	lbzx r0, r31, r29
/* 802B259C 002AE1FC  90 01 00 10 */	stw r0, 0x10(r1)
/* 802B25A0 002AE200  7C 9F 90 AE */	lbzx r4, r31, r18
/* 802B25A4 002AE204  7C BF A8 AE */	lbzx r5, r31, r21
/* 802B25A8 002AE208  7C DF B0 AE */	lbzx r6, r31, r22
/* 802B25AC 002AE20C  7C FF B8 AE */	lbzx r7, r31, r23
/* 802B25B0 002AE210  7D 1F C0 AE */	lbzx r8, r31, r24
/* 802B25B4 002AE214  7D 3F C8 AE */	lbzx r9, r31, r25
/* 802B25B8 002AE218  7D 5F D0 AE */	lbzx r10, r31, r26
/* 802B25BC 002AE21C  4C C6 31 82 */	crclr 6
/* 802B25C0 002AE220  48 00 12 A1 */	bl DEBUGPrint
/* 802B25C4 002AE224  4B FB C1 99 */	bl OSDisableInterrupts
/* 802B25C8 002AE228  7C 1F A8 AE */	lbzx r0, r31, r21
/* 802B25CC 002AE22C  7D 7F B0 AE */	lbzx r11, r31, r22
/* 802B25D0 002AE230  90 61 00 34 */	stw r3, 0x34(r1)
/* 802B25D4 002AE234  54 03 E8 04 */	slwi r3, r0, 0x1d
/* 802B25D8 002AE238  54 07 0F FE */	srwi r7, r0, 0x1f
/* 802B25DC 002AE23C  7D 1F E0 AE */	lbzx r8, r31, r28
/* 802B25E0 002AE240  7C 67 18 50 */	subf r3, r7, r3
/* 802B25E4 002AE244  55 65 E8 04 */	slwi r5, r11, 0x1d
/* 802B25E8 002AE248  54 66 18 3E */	rotlwi r6, r3, 3
/* 802B25EC 002AE24C  55 64 0F FE */	srwi r4, r11, 0x1f
/* 802B25F0 002AE250  7C E6 3A 14 */	add r7, r6, r7
/* 802B25F4 002AE254  55 0C 0F FE */	srwi r12, r8, 0x1f
/* 802B25F8 002AE258  7C C4 28 50 */	subf r6, r4, r5
/* 802B25FC 002AE25C  55 05 E8 04 */	slwi r5, r8, 0x1d
/* 802B2600 002AE260  54 CA 18 3E */	rotlwi r10, r6, 3
/* 802B2604 002AE264  54 E9 06 3E */	clrlwi r9, r7, 0x18
/* 802B2608 002AE268  7D 4A 22 14 */	add r10, r10, r4
/* 802B260C 002AE26C  7C 8C 28 50 */	subf r4, r12, r5
/* 802B2610 002AE270  54 85 18 3E */	rotlwi r5, r4, 3
/* 802B2614 002AE274  7E 5F 90 AE */	lbzx r18, r31, r18
/* 802B2618 002AE278  7E 85 62 14 */	add r20, r5, r12
/* 802B261C 002AE27C  7D D3 70 AE */	lbzx r14, r19, r14
/* 802B2620 002AE280  7C 7F E8 AE */	lbzx r3, r31, r29
/* 802B2624 002AE284  20 C9 00 08 */	subfic r6, r9, 8
/* 802B2628 002AE288  7D C7 92 78 */	xor r7, r14, r18
/* 802B262C 002AE28C  88 91 00 02 */	lbz r4, 2(r17)
/* 802B2630 002AE290  7C E6 36 30 */	sraw r6, r7, r6
/* 802B2634 002AE294  7D 9F C0 AE */	lbzx r12, r31, r24
/* 802B2638 002AE298  7C E7 48 30 */	slw r7, r7, r9
/* 802B263C 002AE29C  88 B1 00 01 */	lbz r5, 1(r17)
/* 802B2640 002AE2A0  7C E6 33 78 */	or r6, r7, r6
/* 802B2644 002AE2A4  55 4A 06 3E */	clrlwi r10, r10, 0x18
/* 802B2648 002AE2A8  7C A9 62 78 */	xor r9, r5, r12
/* 802B264C 002AE2AC  54 6E E8 04 */	slwi r14, r3, 0x1d
/* 802B2650 002AE2B0  20 AA 00 08 */	subfic r5, r10, 8
/* 802B2654 002AE2B4  54 73 0F FE */	srwi r19, r3, 0x1f
/* 802B2658 002AE2B8  7D D3 70 50 */	subf r14, r19, r14
/* 802B265C 002AE2BC  7C 8B 5A 78 */	xor r11, r4, r11
/* 802B2660 002AE2C0  55 C7 18 3E */	rotlwi r7, r14, 3
/* 802B2664 002AE2C4  7D 25 2E 30 */	sraw r5, r9, r5
/* 802B2668 002AE2C8  7D 2A 50 30 */	slw r10, r9, r10
/* 802B266C 002AE2CC  56 8E 06 3E */	clrlwi r14, r20, 0x18
/* 802B2670 002AE2D0  20 8E 00 08 */	subfic r4, r14, 8
/* 802B2674 002AE2D4  7E 67 9A 14 */	add r19, r7, r19
/* 802B2678 002AE2D8  7D 45 2B 78 */	or r5, r10, r5
/* 802B267C 002AE2DC  7C FF D0 AE */	lbzx r7, r31, r26
/* 802B2680 002AE2E0  89 31 00 03 */	lbz r9, 3(r17)
/* 802B2684 002AE2E4  7D 64 26 30 */	sraw r4, r11, r4
/* 802B2688 002AE2E8  56 6A 06 3E */	clrlwi r10, r19, 0x18
/* 802B268C 002AE2EC  7D 6B 70 30 */	slw r11, r11, r14
/* 802B2690 002AE2F0  7D 29 3A 78 */	xor r9, r9, r7
/* 802B2694 002AE2F4  54 C6 06 3E */	clrlwi r6, r6, 0x18
/* 802B2698 002AE2F8  7D 64 23 78 */	or r4, r11, r4
/* 802B269C 002AE2FC  22 6A 00 08 */	subfic r19, r10, 8
/* 802B26A0 002AE300  7D 2B 50 30 */	slw r11, r9, r10
/* 802B26A4 002AE304  7D 2A 9E 30 */	sraw r10, r9, r19
/* 802B26A8 002AE308  7D 3F D8 AE */	lbzx r9, r31, r27
/* 802B26AC 002AE30C  7D 6B 53 78 */	or r11, r11, r10
/* 802B26B0 002AE310  54 8A 06 3E */	clrlwi r10, r4, 0x18
/* 802B26B4 002AE314  55 64 06 3E */	clrlwi r4, r11, 0x18
/* 802B26B8 002AE318  7D 67 32 14 */	add r11, r7, r6
/* 802B26BC 002AE31C  7C C9 22 14 */	add r6, r9, r4
/* 802B26C0 002AE320  54 A7 06 3E */	clrlwi r7, r5, 0x18
/* 802B26C4 002AE324  7D 25 5A 78 */	xor r5, r9, r11
/* 802B26C8 002AE328  7C 9F B8 AE */	lbzx r4, r31, r23
/* 802B26CC 002AE32C  54 A5 06 3E */	clrlwi r5, r5, 0x18
/* 802B26D0 002AE330  7D 4C 52 14 */	add r10, r12, r10
/* 802B26D4 002AE334  7D 24 3A 14 */	add r9, r4, r7
/* 802B26D8 002AE338  7E 47 32 78 */	xor r7, r18, r6
/* 802B26DC 002AE33C  7C 0B 4A 78 */	xor r11, r0, r9
/* 802B26E0 002AE340  7D 3F C8 AE */	lbzx r9, r31, r25
/* 802B26E4 002AE344  88 D1 00 04 */	lbz r6, 4(r17)
/* 802B26E8 002AE348  55 6E 06 3E */	clrlwi r14, r11, 0x18
/* 802B26EC 002AE34C  7D 2A 52 78 */	xor r10, r9, r10
/* 802B26F0 002AE350  98 A1 00 38 */	stb r5, 0x38(r1)
/* 802B26F4 002AE354  54 F3 06 3E */	clrlwi r19, r7, 0x18
/* 802B26F8 002AE358  7C C6 4A 78 */	xor r6, r6, r9
/* 802B26FC 002AE35C  55 54 06 3E */	clrlwi r20, r10, 0x18
/* 802B2700 002AE360  55 87 E8 04 */	slwi r7, r12, 0x1d
/* 802B2704 002AE364  55 85 0F FE */	srwi r5, r12, 0x1f
/* 802B2708 002AE368  7C E5 38 50 */	subf r7, r5, r7
/* 802B270C 002AE36C  89 71 00 05 */	lbz r11, 5(r17)
/* 802B2710 002AE370  54 EC 18 3E */	rotlwi r12, r7, 3
/* 802B2714 002AE374  54 8A 0F FE */	srwi r10, r4, 0x1f
/* 802B2718 002AE378  7D 6B 1A 78 */	xor r11, r11, r3
/* 802B271C 002AE37C  54 87 E8 04 */	slwi r7, r4, 0x1d
/* 802B2720 002AE380  7C 6C 2A 14 */	add r3, r12, r5
/* 802B2724 002AE384  54 C5 06 3E */	clrlwi r5, r6, 0x18
/* 802B2728 002AE388  54 66 06 3E */	clrlwi r6, r3, 0x18
/* 802B272C 002AE38C  7C 6A 38 50 */	subf r3, r10, r7
/* 802B2730 002AE390  55 67 06 3E */	clrlwi r7, r11, 0x18
/* 802B2734 002AE394  54 64 18 3E */	rotlwi r4, r3, 3
/* 802B2738 002AE398  21 66 00 08 */	subfic r11, r6, 8
/* 802B273C 002AE39C  7C A3 30 30 */	slw r3, r5, r6
/* 802B2740 002AE3A0  7C C4 52 14 */	add r6, r4, r10
/* 802B2744 002AE3A4  7C AC 5E 30 */	sraw r12, r5, r11
/* 802B2748 002AE3A8  54 CA 06 3E */	clrlwi r10, r6, 0x18
/* 802B274C 002AE3AC  88 81 00 38 */	lbz r4, 0x38(r1)
/* 802B2750 002AE3B0  7C 63 63 78 */	or r3, r3, r12
/* 802B2754 002AE3B4  7D C5 73 78 */	mr r5, r14
/* 802B2758 002AE3B8  21 6A 00 08 */	subfic r11, r10, 8
/* 802B275C 002AE3BC  7C EC 50 30 */	slw r12, r7, r10
/* 802B2760 002AE3C0  7C EA 5E 30 */	sraw r10, r7, r11
/* 802B2764 002AE3C4  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 802B2768 002AE3C8  7D 8A 53 78 */	or r10, r12, r10
/* 802B276C 002AE3CC  7E 86 A3 78 */	mr r6, r20
/* 802B2770 002AE3D0  7D 68 1A 14 */	add r11, r8, r3
/* 802B2774 002AE3D4  7E 67 9B 78 */	mr r7, r19
/* 802B2778 002AE3D8  55 4A 06 3E */	clrlwi r10, r10, 0x18
/* 802B277C 002AE3DC  38 7E 12 CC */	addi r3, r30, 0x12cc
/* 802B2780 002AE3E0  7D 08 52 14 */	add r8, r8, r10
/* 802B2784 002AE3E4  7C 0A 5A 78 */	xor r10, r0, r11
/* 802B2788 002AE3E8  7D 20 42 78 */	xor r0, r9, r8
/* 802B278C 002AE3EC  55 52 06 3E */	clrlwi r18, r10, 0x18
/* 802B2790 002AE3F0  54 11 06 3E */	clrlwi r17, r0, 0x18
/* 802B2794 002AE3F4  7E 48 93 78 */	mr r8, r18
/* 802B2798 002AE3F8  7E 29 8B 78 */	mr r9, r17
/* 802B279C 002AE3FC  4C C6 31 82 */	crclr 6
/* 802B27A0 002AE400  48 00 10 C1 */	bl DEBUGPrint
/* 802B27A4 002AE404  38 6F 00 01 */	addi r3, r15, 1
/* 802B27A8 002AE408  38 0F 00 02 */	addi r0, r15, 2
/* 802B27AC 002AE40C  54 6A 40 2E */	slwi r10, r3, 8
/* 802B27B0 002AE410  89 61 00 28 */	lbz r11, 0x28(r1)
/* 802B27B4 002AE414  54 00 40 2E */	slwi r0, r0, 8
/* 802B27B8 002AE418  38 7E 12 E8 */	addi r3, r30, 0x12e8
/* 802B27BC 002AE41C  7C 92 52 14 */	add r4, r18, r10
/* 802B27C0 002AE420  7C D1 52 14 */	add r6, r17, r10
/* 802B27C4 002AE424  90 81 00 3C */	stw r4, 0x3c(r1)
/* 802B27C8 002AE428  7C 97 02 14 */	add r4, r23, r0
/* 802B27CC 002AE42C  7C FB 02 14 */	add r7, r27, r0
/* 802B27D0 002AE430  7C B8 02 14 */	add r5, r24, r0
/* 802B27D4 002AE434  90 81 00 40 */	stw r4, 0x40(r1)
/* 802B27D8 002AE438  7D FA 02 14 */	add r15, r26, r0
/* 802B27DC 002AE43C  88 81 00 38 */	lbz r4, 0x38(r1)
/* 802B27E0 002AE440  7F 55 52 14 */	add r26, r21, r10
/* 802B27E4 002AE444  7D 8B 52 14 */	add r12, r11, r10
/* 802B27E8 002AE448  7F 7C 02 14 */	add r27, r28, r0
/* 802B27EC 002AE44C  7C 84 52 14 */	add r4, r4, r10
/* 802B27F0 002AE450  7F 8B 02 14 */	add r28, r11, r0
/* 802B27F4 002AE454  90 81 00 44 */	stw r4, 0x44(r1)
/* 802B27F8 002AE458  7C 96 02 14 */	add r4, r22, r0
/* 802B27FC 002AE45C  7D 39 02 14 */	add r9, r25, r0
/* 802B2800 002AE460  7D 14 52 14 */	add r8, r20, r10
/* 802B2804 002AE464  90 81 00 48 */	stw r4, 0x48(r1)
/* 802B2808 002AE468  7C 8E 52 14 */	add r4, r14, r10
/* 802B280C 002AE46C  7F 13 52 14 */	add r24, r19, r10
/* 802B2810 002AE470  7D 77 52 14 */	add r11, r23, r10
/* 802B2814 002AE474  7D 56 52 14 */	add r10, r22, r10
/* 802B2818 002AE478  82 C1 00 3C */	lwz r22, 0x3c(r1)
/* 802B281C 002AE47C  7F 3D 02 14 */	add r25, r29, r0
/* 802B2820 002AE480  7E B5 02 14 */	add r21, r21, r0
/* 802B2824 002AE484  7C 16 F8 AE */	lbzx r0, r22, r31
/* 802B2828 002AE488  82 C1 00 40 */	lwz r22, 0x40(r1)
/* 802B282C 002AE48C  7C E7 F8 AE */	lbzx r7, r7, r31
/* 802B2830 002AE490  7E D6 F8 AE */	lbzx r22, r22, r31
/* 802B2834 002AE494  7C 17 3A 78 */	xor r23, r0, r7
/* 802B2838 002AE498  7C C6 F8 AE */	lbzx r6, r6, r31
/* 802B283C 002AE49C  7C 16 B2 78 */	xor r22, r0, r22
/* 802B2840 002AE4A0  7C 04 F8 AE */	lbzx r0, r4, r31
/* 802B2844 002AE4A4  7C C4 3A 78 */	xor r4, r6, r7
/* 802B2848 002AE4A8  7C A5 F8 AE */	lbzx r5, r5, r31
/* 802B284C 002AE4AC  7C FB F8 AE */	lbzx r7, r27, r31
/* 802B2850 002AE4B0  7C C6 2A 78 */	xor r6, r6, r5
/* 802B2854 002AE4B4  7C 05 2A 78 */	xor r5, r0, r5
/* 802B2858 002AE4B8  7C 1B 3A 78 */	xor r27, r0, r7
/* 802B285C 002AE4BC  7F 5A F8 AE */	lbzx r26, r26, r31
/* 802B2860 002AE4C0  7C 09 F8 AE */	lbzx r0, r9, r31
/* 802B2864 002AE4C4  7F 47 3A 78 */	xor r7, r26, r7
/* 802B2868 002AE4C8  7D 28 F8 AE */	lbzx r9, r8, r31
/* 802B286C 002AE4CC  7D 19 F8 AE */	lbzx r8, r25, r31
/* 802B2870 002AE4D0  7F 58 F8 AE */	lbzx r26, r24, r31
/* 802B2874 002AE4D4  7D 39 02 78 */	xor r25, r9, r0
/* 802B2878 002AE4D8  7F 1C F8 AE */	lbzx r24, r28, r31
/* 802B287C 002AE4DC  7D 3C 42 78 */	xor r28, r9, r8
/* 802B2880 002AE4E0  7D 2B F8 AE */	lbzx r9, r11, r31
/* 802B2884 002AE4E4  7F 48 42 78 */	xor r8, r26, r8
/* 802B2888 002AE4E8  7F 5A C2 78 */	xor r26, r26, r24
/* 802B288C 002AE4EC  81 61 00 44 */	lwz r11, 0x44(r1)
/* 802B2890 002AE4F0  7D 20 02 78 */	xor r0, r9, r0
/* 802B2894 002AE4F4  83 01 00 48 */	lwz r24, 0x48(r1)
/* 802B2898 002AE4F8  7D 6B F8 AE */	lbzx r11, r11, r31
/* 802B289C 002AE4FC  7F 18 F8 AE */	lbzx r24, r24, r31
/* 802B28A0 002AE500  7D 35 F8 AE */	lbzx r9, r21, r31
/* 802B28A4 002AE504  7D 75 C2 78 */	xor r21, r11, r24
/* 802B28A8 002AE508  7D EF F8 AE */	lbzx r15, r15, r31
/* 802B28AC 002AE50C  7D 6B 4A 78 */	xor r11, r11, r9
/* 802B28B0 002AE510  7D 2A F8 AE */	lbzx r9, r10, r31
/* 802B28B4 002AE514  7D 8C F8 AE */	lbzx r12, r12, r31
/* 802B28B8 002AE518  7D 29 7A 78 */	xor r9, r9, r15
/* 802B28BC 002AE51C  9A C1 00 20 */	stb r22, 0x20(r1)
/* 802B28C0 002AE520  7D 8A 7A 78 */	xor r10, r12, r15
/* 802B28C4 002AE524  9B 21 00 21 */	stb r25, 0x21(r1)
/* 802B28C8 002AE528  98 81 00 22 */	stb r4, 0x22(r1)
/* 802B28CC 002AE52C  9A A1 00 23 */	stb r21, 0x23(r1)
/* 802B28D0 002AE530  98 A1 00 24 */	stb r5, 0x24(r1)
/* 802B28D4 002AE534  99 01 00 25 */	stb r8, 0x25(r1)
/* 802B28D8 002AE538  99 41 00 26 */	stb r10, 0x26(r1)
/* 802B28DC 002AE53C  98 E1 00 27 */	stb r7, 0x27(r1)
/* 802B28E0 002AE540  99 61 00 18 */	stb r11, 0x18(r1)
/* 802B28E4 002AE544  98 C1 00 19 */	stb r6, 0x19(r1)
/* 802B28E8 002AE548  9B 41 00 1A */	stb r26, 0x1a(r1)
/* 802B28EC 002AE54C  9B 81 00 1B */	stb r28, 0x1b(r1)
/* 802B28F0 002AE550  9A E1 00 1C */	stb r23, 0x1c(r1)
/* 802B28F4 002AE554  9B 61 00 1D */	stb r27, 0x1d(r1)
/* 802B28F8 002AE558  98 01 00 1E */	stb r0, 0x1e(r1)
/* 802B28FC 002AE55C  99 21 00 1F */	stb r9, 0x1f(r1)
/* 802B2900 002AE560  90 E1 00 08 */	stw r7, 8(r1)
/* 802B2904 002AE564  88 81 00 20 */	lbz r4, 0x20(r1)
/* 802B2908 002AE568  88 A1 00 21 */	lbz r5, 0x21(r1)
/* 802B290C 002AE56C  88 C1 00 22 */	lbz r6, 0x22(r1)
/* 802B2910 002AE570  88 E1 00 23 */	lbz r7, 0x23(r1)
/* 802B2914 002AE574  89 01 00 24 */	lbz r8, 0x24(r1)
/* 802B2918 002AE578  89 21 00 25 */	lbz r9, 0x25(r1)
/* 802B291C 002AE57C  89 41 00 26 */	lbz r10, 0x26(r1)
/* 802B2920 002AE580  4C C6 31 82 */	crclr 6
/* 802B2924 002AE584  48 00 0F 3D */	bl DEBUGPrint
/* 802B2928 002AE588  88 01 00 1F */	lbz r0, 0x1f(r1)
/* 802B292C 002AE58C  38 7E 13 08 */	addi r3, r30, 0x1308
/* 802B2930 002AE590  90 01 00 08 */	stw r0, 8(r1)
/* 802B2934 002AE594  88 81 00 18 */	lbz r4, 0x18(r1)
/* 802B2938 002AE598  88 A1 00 19 */	lbz r5, 0x19(r1)
/* 802B293C 002AE59C  88 C1 00 1A */	lbz r6, 0x1a(r1)
/* 802B2940 002AE5A0  88 E1 00 1B */	lbz r7, 0x1b(r1)
/* 802B2944 002AE5A4  89 01 00 1C */	lbz r8, 0x1c(r1)
/* 802B2948 002AE5A8  89 21 00 1D */	lbz r9, 0x1d(r1)
/* 802B294C 002AE5AC  89 41 00 1E */	lbz r10, 0x1e(r1)
/* 802B2950 002AE5B0  4C C6 31 82 */	crclr 6
/* 802B2954 002AE5B4  48 00 0F 0D */	bl DEBUGPrint
/* 802B2958 002AE5B8  38 60 00 00 */	li r3, 0
/* 802B295C 002AE5BC  38 C1 00 28 */	addi r6, r1, 0x28
/* 802B2960 002AE5C0  20 83 00 09 */	subfic r4, r3, 9
/* 802B2964 002AE5C4  38 00 00 02 */	li r0, 2
/* 802B2968 002AE5C8  38 60 00 01 */	li r3, 1
/* 802B296C 002AE5CC  7C A6 20 AE */	lbzx r5, r6, r4
/* 802B2970 002AE5D0  20 63 00 09 */	subfic r3, r3, 9
/* 802B2974 002AE5D4  7C 86 18 AE */	lbzx r4, r6, r3
/* 802B2978 002AE5D8  20 60 00 09 */	subfic r3, r0, 9
/* 802B297C 002AE5DC  98 B0 09 14 */	stb r5, 0x914(r16)
/* 802B2980 002AE5E0  38 00 00 03 */	li r0, 3
/* 802B2984 002AE5E4  7C A6 18 AE */	lbzx r5, r6, r3
/* 802B2988 002AE5E8  20 60 00 09 */	subfic r3, r0, 9
/* 802B298C 002AE5EC  98 90 09 15 */	stb r4, 0x915(r16)
/* 802B2990 002AE5F0  38 00 00 04 */	li r0, 4
/* 802B2994 002AE5F4  7C 86 18 AE */	lbzx r4, r6, r3
/* 802B2998 002AE5F8  20 00 00 09 */	subfic r0, r0, 9
/* 802B299C 002AE5FC  98 B0 09 16 */	stb r5, 0x916(r16)
/* 802B29A0 002AE600  38 60 00 05 */	li r3, 5
/* 802B29A4 002AE604  7C 06 00 AE */	lbzx r0, r6, r0
/* 802B29A8 002AE608  98 90 09 17 */	stb r4, 0x917(r16)
/* 802B29AC 002AE60C  20 83 00 09 */	subfic r4, r3, 9
/* 802B29B0 002AE610  38 60 00 06 */	li r3, 6
/* 802B29B4 002AE614  7C A6 20 AE */	lbzx r5, r6, r4
/* 802B29B8 002AE618  98 10 09 18 */	stb r0, 0x918(r16)
/* 802B29BC 002AE61C  20 63 00 09 */	subfic r3, r3, 9
/* 802B29C0 002AE620  38 00 00 07 */	li r0, 7
/* 802B29C4 002AE624  7C 86 18 AE */	lbzx r4, r6, r3
/* 802B29C8 002AE628  98 B0 09 19 */	stb r5, 0x919(r16)
/* 802B29CC 002AE62C  20 60 00 09 */	subfic r3, r0, 9
/* 802B29D0 002AE630  38 00 00 08 */	li r0, 8
/* 802B29D4 002AE634  7C A6 18 AE */	lbzx r5, r6, r3
/* 802B29D8 002AE638  98 90 09 1A */	stb r4, 0x91a(r16)
/* 802B29DC 002AE63C  20 60 00 09 */	subfic r3, r0, 9
/* 802B29E0 002AE640  38 00 00 09 */	li r0, 9
/* 802B29E4 002AE644  7C 86 18 AE */	lbzx r4, r6, r3
/* 802B29E8 002AE648  98 B0 09 1B */	stb r5, 0x91b(r16)
/* 802B29EC 002AE64C  20 00 00 09 */	subfic r0, r0, 9
/* 802B29F0 002AE650  7C 06 00 AE */	lbzx r0, r6, r0
/* 802B29F4 002AE654  38 70 09 24 */	addi r3, r16, 0x924
/* 802B29F8 002AE658  98 90 09 1C */	stb r4, 0x91c(r16)
/* 802B29FC 002AE65C  38 81 00 20 */	addi r4, r1, 0x20
/* 802B2A00 002AE660  38 A0 00 08 */	li r5, 8
/* 802B2A04 002AE664  98 10 09 1D */	stb r0, 0x91d(r16)
/* 802B2A08 002AE668  88 01 00 38 */	lbz r0, 0x38(r1)
/* 802B2A0C 002AE66C  9A 30 09 1E */	stb r17, 0x91e(r16)
/* 802B2A10 002AE670  9A 50 09 1F */	stb r18, 0x91f(r16)
/* 802B2A14 002AE674  9A 70 09 20 */	stb r19, 0x920(r16)
/* 802B2A18 002AE678  9A 90 09 21 */	stb r20, 0x921(r16)
/* 802B2A1C 002AE67C  99 D0 09 22 */	stb r14, 0x922(r16)
/* 802B2A20 002AE680  98 10 09 23 */	stb r0, 0x923(r16)
/* 802B2A24 002AE684  4B D5 15 DD */	bl memcpy
/* 802B2A28 002AE688  38 70 09 2C */	addi r3, r16, 0x92c
/* 802B2A2C 002AE68C  38 81 00 18 */	addi r4, r1, 0x18
/* 802B2A30 002AE690  38 A0 00 08 */	li r5, 8
/* 802B2A34 002AE694  4B D5 15 CD */	bl memcpy
/* 802B2A38 002AE698  80 61 00 34 */	lwz r3, 0x34(r1)
/* 802B2A3C 002AE69C  4B FB BD 49 */	bl OSRestoreInterrupts
/* 802B2A40 002AE6A0  39 61 00 A0 */	addi r11, r1, 0xa0
/* 802B2A44 002AE6A4  4B F1 46 FD */	bl __restore_gpr
/* 802B2A48 002AE6A8  80 01 00 A4 */	lwz r0, 0xa4(r1)
/* 802B2A4C 002AE6AC  7C 08 03 A6 */	mtlr r0
/* 802B2A50 002AE6B0  38 21 00 A0 */	addi r1, r1, 0xa0
/* 802B2A54 002AE6B4  4E 80 00 20 */	blr

.global WPADiDecode
WPADiDecode:
/* 802B2A58 002AE6B8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802B2A5C 002AE6BC  3D 00 80 53 */	lis r8, lbl_80536D70@ha
/* 802B2A60 002AE6C0  2C 05 00 00 */	cmpwi r5, 0
/* 802B2A64 002AE6C4  54 60 10 3A */	slwi r0, r3, 2
/* 802B2A68 002AE6C8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802B2A6C 002AE6CC  39 08 6D 70 */	addi r8, r8, lbl_80536D70@l
/* 802B2A70 002AE6D0  38 E0 00 00 */	li r7, 0
/* 802B2A74 002AE6D4  93 C1 00 08 */	stw r30, 8(r1)
/* 802B2A78 002AE6D8  7C 08 00 2E */	lwzx r0, r8, r0
/* 802B2A7C 002AE6DC  41 82 02 8C */	beq lbl_802B2D08
/* 802B2A80 002AE6E0  28 05 00 08 */	cmplwi r5, 8
/* 802B2A84 002AE6E4  3C 65 00 01 */	addis r3, r5, 1
/* 802B2A88 002AE6E8  38 63 FF F8 */	addi r3, r3, -8
/* 802B2A8C 002AE6EC  40 81 02 24 */	ble lbl_802B2CB0
/* 802B2A90 002AE6F0  54 68 04 3E */	clrlwi r8, r3, 0x10
/* 802B2A94 002AE6F4  38 68 00 07 */	addi r3, r8, 7
/* 802B2A98 002AE6F8  54 63 E8 FE */	srwi r3, r3, 3
/* 802B2A9C 002AE6FC  7C 69 03 A6 */	mtctr r3
/* 802B2AA0 002AE700  28 08 00 00 */	cmplwi r8, 0
/* 802B2AA4 002AE704  40 81 02 0C */	ble lbl_802B2CB0
lbl_802B2AA8:
/* 802B2AA8 002AE708  54 FE 04 3E */	clrlwi r30, r7, 0x10
/* 802B2AAC 002AE70C  38 67 00 01 */	addi r3, r7, 1
/* 802B2AB0 002AE710  7D 66 F2 14 */	add r11, r6, r30
/* 802B2AB4 002AE714  39 07 00 02 */	addi r8, r7, 2
/* 802B2AB8 002AE718  55 6A E8 04 */	slwi r10, r11, 0x1d
/* 802B2ABC 002AE71C  54 69 04 3E */	clrlwi r9, r3, 0x10
/* 802B2AC0 002AE720  55 6C 0F FE */	srwi r12, r11, 0x1f
/* 802B2AC4 002AE724  7C 64 F2 14 */	add r3, r4, r30
/* 802B2AC8 002AE728  7D 4C 50 50 */	subf r10, r12, r10
/* 802B2ACC 002AE72C  7D 66 4A 14 */	add r11, r6, r9
/* 802B2AD0 002AE730  55 4A 18 3E */	rotlwi r10, r10, 3
/* 802B2AD4 002AE734  55 09 04 3E */	clrlwi r9, r8, 0x10
/* 802B2AD8 002AE738  7D 4A 62 14 */	add r10, r10, r12
/* 802B2ADC 002AE73C  39 07 00 03 */	addi r8, r7, 3
/* 802B2AE0 002AE740  55 4C 06 3E */	clrlwi r12, r10, 0x18
/* 802B2AE4 002AE744  8B E3 00 00 */	lbz r31, 0(r3)
/* 802B2AE8 002AE748  7F C0 62 14 */	add r30, r0, r12
/* 802B2AEC 002AE74C  7D 46 4A 14 */	add r10, r6, r9
/* 802B2AF0 002AE750  89 9E 09 2C */	lbz r12, 0x92c(r30)
/* 802B2AF4 002AE754  55 69 E8 04 */	slwi r9, r11, 0x1d
/* 802B2AF8 002AE758  55 6B 0F FE */	srwi r11, r11, 0x1f
/* 802B2AFC 002AE75C  8B DE 09 24 */	lbz r30, 0x924(r30)
/* 802B2B00 002AE760  7D 2B 48 50 */	subf r9, r11, r9
/* 802B2B04 002AE764  7F EC 62 78 */	xor r12, r31, r12
/* 802B2B08 002AE768  55 29 18 3E */	rotlwi r9, r9, 3
/* 802B2B0C 002AE76C  55 08 04 3E */	clrlwi r8, r8, 0x10
/* 802B2B10 002AE770  7D 9E 62 14 */	add r12, r30, r12
/* 802B2B14 002AE774  7D 29 5A 14 */	add r9, r9, r11
/* 802B2B18 002AE778  99 83 00 00 */	stb r12, 0(r3)
/* 802B2B1C 002AE77C  55 29 06 3E */	clrlwi r9, r9, 0x18
/* 802B2B20 002AE780  7D 06 42 14 */	add r8, r6, r8
/* 802B2B24 002AE784  7F C0 4A 14 */	add r30, r0, r9
/* 802B2B28 002AE788  89 83 00 01 */	lbz r12, 1(r3)
/* 802B2B2C 002AE78C  55 49 E8 04 */	slwi r9, r10, 0x1d
/* 802B2B30 002AE790  55 4A 0F FE */	srwi r10, r10, 0x1f
/* 802B2B34 002AE794  89 7E 09 2C */	lbz r11, 0x92c(r30)
/* 802B2B38 002AE798  7D 2A 48 50 */	subf r9, r10, r9
/* 802B2B3C 002AE79C  55 29 18 3E */	rotlwi r9, r9, 3
/* 802B2B40 002AE7A0  8B FE 09 24 */	lbz r31, 0x924(r30)
/* 802B2B44 002AE7A4  7D 29 52 14 */	add r9, r9, r10
/* 802B2B48 002AE7A8  7D 8B 5A 78 */	xor r11, r12, r11
/* 802B2B4C 002AE7AC  7D 7F 5A 14 */	add r11, r31, r11
/* 802B2B50 002AE7B0  55 0A 0F FE */	srwi r10, r8, 0x1f
/* 802B2B54 002AE7B4  99 63 00 01 */	stb r11, 1(r3)
/* 802B2B58 002AE7B8  55 29 06 3E */	clrlwi r9, r9, 0x18
/* 802B2B5C 002AE7BC  7F C0 4A 14 */	add r30, r0, r9
/* 802B2B60 002AE7C0  55 09 E8 04 */	slwi r9, r8, 0x1d
/* 802B2B64 002AE7C4  39 07 00 04 */	addi r8, r7, 4
/* 802B2B68 002AE7C8  7D 2A 48 50 */	subf r9, r10, r9
/* 802B2B6C 002AE7CC  89 83 00 02 */	lbz r12, 2(r3)
/* 802B2B70 002AE7D0  55 29 18 3E */	rotlwi r9, r9, 3
/* 802B2B74 002AE7D4  55 08 04 3E */	clrlwi r8, r8, 0x10
/* 802B2B78 002AE7D8  89 7E 09 2C */	lbz r11, 0x92c(r30)
/* 802B2B7C 002AE7DC  7D 29 52 14 */	add r9, r9, r10
/* 802B2B80 002AE7E0  8B FE 09 24 */	lbz r31, 0x924(r30)
/* 802B2B84 002AE7E4  7D 06 42 14 */	add r8, r6, r8
/* 802B2B88 002AE7E8  7D 8A 5A 78 */	xor r10, r12, r11
/* 802B2B8C 002AE7EC  55 2B 06 3E */	clrlwi r11, r9, 0x18
/* 802B2B90 002AE7F0  7D 5F 52 14 */	add r10, r31, r10
/* 802B2B94 002AE7F4  55 09 E8 04 */	slwi r9, r8, 0x1d
/* 802B2B98 002AE7F8  99 43 00 02 */	stb r10, 2(r3)
/* 802B2B9C 002AE7FC  7F C0 5A 14 */	add r30, r0, r11
/* 802B2BA0 002AE800  55 0A 0F FE */	srwi r10, r8, 0x1f
/* 802B2BA4 002AE804  39 07 00 05 */	addi r8, r7, 5
/* 802B2BA8 002AE808  7D 2A 48 50 */	subf r9, r10, r9
/* 802B2BAC 002AE80C  89 83 00 03 */	lbz r12, 3(r3)
/* 802B2BB0 002AE810  55 29 18 3E */	rotlwi r9, r9, 3
/* 802B2BB4 002AE814  89 7E 09 2C */	lbz r11, 0x92c(r30)
/* 802B2BB8 002AE818  55 08 04 3E */	clrlwi r8, r8, 0x10
/* 802B2BBC 002AE81C  8B FE 09 24 */	lbz r31, 0x924(r30)
/* 802B2BC0 002AE820  7D 49 52 14 */	add r10, r9, r10
/* 802B2BC4 002AE824  7D 26 42 14 */	add r9, r6, r8
/* 802B2BC8 002AE828  7D 88 5A 78 */	xor r8, r12, r11
/* 802B2BCC 002AE82C  55 4B 06 3E */	clrlwi r11, r10, 0x18
/* 802B2BD0 002AE830  7D 5F 42 14 */	add r10, r31, r8
/* 802B2BD4 002AE834  55 28 E8 04 */	slwi r8, r9, 0x1d
/* 802B2BD8 002AE838  55 29 0F FE */	srwi r9, r9, 0x1f
/* 802B2BDC 002AE83C  99 43 00 03 */	stb r10, 3(r3)
/* 802B2BE0 002AE840  7D 80 5A 14 */	add r12, r0, r11
/* 802B2BE4 002AE844  7D 09 40 50 */	subf r8, r9, r8
/* 802B2BE8 002AE848  89 4C 09 2C */	lbz r10, 0x92c(r12)
/* 802B2BEC 002AE84C  55 08 18 3E */	rotlwi r8, r8, 3
/* 802B2BF0 002AE850  89 63 00 04 */	lbz r11, 4(r3)
/* 802B2BF4 002AE854  7D 08 4A 14 */	add r8, r8, r9
/* 802B2BF8 002AE858  89 8C 09 24 */	lbz r12, 0x924(r12)
/* 802B2BFC 002AE85C  7D 69 52 78 */	xor r9, r11, r10
/* 802B2C00 002AE860  7D 2C 4A 14 */	add r9, r12, r9
/* 802B2C04 002AE864  55 0A 06 3E */	clrlwi r10, r8, 0x18
/* 802B2C08 002AE868  99 23 00 04 */	stb r9, 4(r3)
/* 802B2C0C 002AE86C  39 07 00 06 */	addi r8, r7, 6
/* 802B2C10 002AE870  7F C0 52 14 */	add r30, r0, r10
/* 802B2C14 002AE874  55 09 04 3E */	clrlwi r9, r8, 0x10
/* 802B2C18 002AE878  89 83 00 05 */	lbz r12, 5(r3)
/* 802B2C1C 002AE87C  7D 46 4A 14 */	add r10, r6, r9
/* 802B2C20 002AE880  39 07 00 07 */	addi r8, r7, 7
/* 802B2C24 002AE884  55 49 E8 04 */	slwi r9, r10, 0x1d
/* 802B2C28 002AE888  8B FE 09 24 */	lbz r31, 0x924(r30)
/* 802B2C2C 002AE88C  55 4B 0F FE */	srwi r11, r10, 0x1f
/* 802B2C30 002AE890  89 5E 09 2C */	lbz r10, 0x92c(r30)
/* 802B2C34 002AE894  7D 2B 48 50 */	subf r9, r11, r9
/* 802B2C38 002AE898  55 08 04 3E */	clrlwi r8, r8, 0x10
/* 802B2C3C 002AE89C  7D 8C 52 78 */	xor r12, r12, r10
/* 802B2C40 002AE8A0  38 E7 00 08 */	addi r7, r7, 8
/* 802B2C44 002AE8A4  55 2A 18 3E */	rotlwi r10, r9, 3
/* 802B2C48 002AE8A8  7D 26 42 14 */	add r9, r6, r8
/* 802B2C4C 002AE8AC  7D 9F 62 14 */	add r12, r31, r12
/* 802B2C50 002AE8B0  7D 0A 5A 14 */	add r8, r10, r11
/* 802B2C54 002AE8B4  99 83 00 05 */	stb r12, 5(r3)
/* 802B2C58 002AE8B8  55 0A 06 3E */	clrlwi r10, r8, 0x18
/* 802B2C5C 002AE8BC  55 28 E8 04 */	slwi r8, r9, 0x1d
/* 802B2C60 002AE8C0  55 29 0F FE */	srwi r9, r9, 0x1f
/* 802B2C64 002AE8C4  7D 80 52 14 */	add r12, r0, r10
/* 802B2C68 002AE8C8  89 63 00 06 */	lbz r11, 6(r3)
/* 802B2C6C 002AE8CC  7D 09 40 50 */	subf r8, r9, r8
/* 802B2C70 002AE8D0  89 4C 09 2C */	lbz r10, 0x92c(r12)
/* 802B2C74 002AE8D4  55 08 18 3E */	rotlwi r8, r8, 3
/* 802B2C78 002AE8D8  89 8C 09 24 */	lbz r12, 0x924(r12)
/* 802B2C7C 002AE8DC  7D 08 4A 14 */	add r8, r8, r9
/* 802B2C80 002AE8E0  7D 69 52 78 */	xor r9, r11, r10
/* 802B2C84 002AE8E4  7D 2C 4A 14 */	add r9, r12, r9
/* 802B2C88 002AE8E8  55 08 06 3E */	clrlwi r8, r8, 0x18
/* 802B2C8C 002AE8EC  99 23 00 06 */	stb r9, 6(r3)
/* 802B2C90 002AE8F0  7D 40 42 14 */	add r10, r0, r8
/* 802B2C94 002AE8F4  89 0A 09 2C */	lbz r8, 0x92c(r10)
/* 802B2C98 002AE8F8  89 23 00 07 */	lbz r9, 7(r3)
/* 802B2C9C 002AE8FC  89 4A 09 24 */	lbz r10, 0x924(r10)
/* 802B2CA0 002AE900  7D 28 42 78 */	xor r8, r9, r8
/* 802B2CA4 002AE904  7D 0A 42 14 */	add r8, r10, r8
/* 802B2CA8 002AE908  99 03 00 07 */	stb r8, 7(r3)
/* 802B2CAC 002AE90C  42 00 FD FC */	bdnz lbl_802B2AA8
lbl_802B2CB0:
/* 802B2CB0 002AE910  54 E8 04 3E */	clrlwi r8, r7, 0x10
/* 802B2CB4 002AE914  7C 68 28 50 */	subf r3, r8, r5
/* 802B2CB8 002AE918  7C 69 03 A6 */	mtctr r3
/* 802B2CBC 002AE91C  7C 08 28 40 */	cmplw r8, r5
/* 802B2CC0 002AE920  40 80 00 48 */	bge lbl_802B2D08
lbl_802B2CC4:
/* 802B2CC4 002AE924  54 E9 04 3E */	clrlwi r9, r7, 0x10
/* 802B2CC8 002AE928  38 E7 00 01 */	addi r7, r7, 1
/* 802B2CCC 002AE92C  7D 06 4A 14 */	add r8, r6, r9
/* 802B2CD0 002AE930  7C A4 48 AE */	lbzx r5, r4, r9
/* 802B2CD4 002AE934  55 03 E8 04 */	slwi r3, r8, 0x1d
/* 802B2CD8 002AE938  55 08 0F FE */	srwi r8, r8, 0x1f
/* 802B2CDC 002AE93C  7C 68 18 50 */	subf r3, r8, r3
/* 802B2CE0 002AE940  54 63 18 3E */	rotlwi r3, r3, 3
/* 802B2CE4 002AE944  7C 63 42 14 */	add r3, r3, r8
/* 802B2CE8 002AE948  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 802B2CEC 002AE94C  7D 00 1A 14 */	add r8, r0, r3
/* 802B2CF0 002AE950  88 68 09 2C */	lbz r3, 0x92c(r8)
/* 802B2CF4 002AE954  89 08 09 24 */	lbz r8, 0x924(r8)
/* 802B2CF8 002AE958  7C A3 1A 78 */	xor r3, r5, r3
/* 802B2CFC 002AE95C  7C 68 1A 14 */	add r3, r8, r3
/* 802B2D00 002AE960  7C 64 49 AE */	stbx r3, r4, r9
/* 802B2D04 002AE964  42 00 FF C0 */	bdnz lbl_802B2CC4
lbl_802B2D08:
/* 802B2D08 002AE968  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802B2D0C 002AE96C  83 C1 00 08 */	lwz r30, 8(r1)
/* 802B2D10 002AE970  38 21 00 10 */	addi r1, r1, 0x10
/* 802B2D14 002AE974  4E 80 00 20 */	blr