prime/asm/Dolphin/card/CARDUnlock.s

1351 lines
65 KiB
ArmAsm

.include "macros.inc"
.section .data, "wa"
.balign 8
CardData:
# ROM: 0x3F3D00
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0x00000021
.4byte 0x02FF0021
.4byte 0x13061203
.4byte 0x12041305
.4byte 0x009200FF
.4byte 0x0088FFFF
.4byte 0x0089FFFF
.4byte 0x008AFFFF
.4byte 0x008BFFFF
.4byte 0x8F0002BF
.4byte 0x008816FC
.4byte 0xDCD116FD
.4byte 0x000016FB
.4byte 0x000102BF
.4byte 0x008E25FF
.4byte 0x0380FF00
.4byte 0x02940027
.4byte 0x02BF008E
.4byte 0x1FDF24FF
.4byte 0x02400FFF
.4byte 0x00980400
.4byte 0x009A0010
.4byte 0x00990000
.4byte 0x8E0002BF
.4byte 0x009402BF
.4byte 0x864402BF
.4byte 0x008816FC
.4byte 0xDCD116FD
.4byte 0x000316FB
.4byte 0x00018F00
.4byte 0x02BF008E
.4byte 0x0380CDD1
.4byte 0x02940048
.4byte 0x27FF0380
.4byte 0x00010295
.4byte 0x005A0380
.4byte 0x00020295
.4byte 0x8000029F
.4byte 0x00480021
.4byte 0x8E0002BF
.4byte 0x008E25FF
.4byte 0x02BF008E
.4byte 0x25FF02BF
.4byte 0x008E25FF
.4byte 0x02BF008E
.4byte 0x00C5FFFF
.4byte 0x03400FFF
.4byte 0x1C9F02BF
.4byte 0x008E00C7
.4byte 0xFFFF02BF
.4byte 0x008E00C6
.4byte 0xFFFF02BF
.4byte 0x008E00C0
.4byte 0xFFFF02BF
.4byte 0x008E20FF
.4byte 0x03400FFF
.4byte 0x1F5F02BF
.4byte 0x008E21FF
.4byte 0x02BF008E
.4byte 0x23FF1205
.4byte 0x1206029F
.4byte 0x80B50021
.4byte 0x27FC03C0
.4byte 0x8000029D
.4byte 0x008802DF
.4byte 0x27FE03C0
.4byte 0x8000029C
.4byte 0x008E02DF
.4byte 0x2ECE2CCF
.4byte 0x00F8FFCD
.4byte 0x00F9FFC9
.4byte 0x00FAFFCB
.4byte 0x26C902C0
.4byte 0x0004029D
.4byte 0x009C02DF
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.section .sdata, "wa"
.balign 8
next:
.4byte 1
.skip 4
.section .text, "ax"
bitrev:
/* 803B908C 003B5FEC 38 00 00 08 */ li r0, 8
/* 803B9090 003B5FF0 7C 09 03 A6 */ mtctr r0
/* 803B9094 003B5FF4 54 66 0F FE */ srwi r6, r3, 0x1f
/* 803B9098 003B5FF8 39 20 00 00 */ li r9, 0
/* 803B909C 003B5FFC 39 40 00 01 */ li r10, 1
/* 803B90A0 003B6000 38 E0 00 00 */ li r7, 0
/* 803B90A4 003B6004 39 00 00 00 */ li r8, 0
/* 803B90A8 003B6008 38 A0 00 01 */ li r5, 1
lbl_803B90AC:
/* 803B90AC 003B600C 28 08 00 0F */ cmplwi r8, 0xf
/* 803B90B0 003B6010 40 81 00 2C */ ble lbl_803B90DC
/* 803B90B4 003B6014 28 08 00 1F */ cmplwi r8, 0x1f
/* 803B90B8 003B6018 40 82 00 0C */ bne lbl_803B90C4
/* 803B90BC 003B601C 7C E7 33 78 */ or r7, r7, r6
/* 803B90C0 003B6020 48 00 00 38 */ b lbl_803B90F8
lbl_803B90C4:
/* 803B90C4 003B6024 7C A0 40 30 */ slw r0, r5, r8
/* 803B90C8 003B6028 7C 60 00 38 */ and r0, r3, r0
/* 803B90CC 003B602C 7C 00 54 30 */ srw r0, r0, r10
/* 803B90D0 003B6030 7C E7 03 78 */ or r7, r7, r0
/* 803B90D4 003B6034 39 4A 00 02 */ addi r10, r10, 2
/* 803B90D8 003B6038 48 00 00 20 */ b lbl_803B90F8
lbl_803B90DC:
/* 803B90DC 003B603C 7C A4 40 30 */ slw r4, r5, r8
/* 803B90E0 003B6040 20 08 00 1F */ subfic r0, r8, 0x1f
/* 803B90E4 003B6044 7C 09 00 50 */ subf r0, r9, r0
/* 803B90E8 003B6048 7C 64 20 38 */ and r4, r3, r4
/* 803B90EC 003B604C 7C 80 00 30 */ slw r0, r4, r0
/* 803B90F0 003B6050 7C E7 03 78 */ or r7, r7, r0
/* 803B90F4 003B6054 39 29 00 01 */ addi r9, r9, 1
lbl_803B90F8:
/* 803B90F8 003B6058 39 08 00 01 */ addi r8, r8, 1
/* 803B90FC 003B605C 28 08 00 0F */ cmplwi r8, 0xf
/* 803B9100 003B6060 40 81 00 2C */ ble lbl_803B912C
/* 803B9104 003B6064 28 08 00 1F */ cmplwi r8, 0x1f
/* 803B9108 003B6068 40 82 00 0C */ bne lbl_803B9114
/* 803B910C 003B606C 7C E7 33 78 */ or r7, r7, r6
/* 803B9110 003B6070 48 00 00 38 */ b lbl_803B9148
lbl_803B9114:
/* 803B9114 003B6074 7C A0 40 30 */ slw r0, r5, r8
/* 803B9118 003B6078 7C 60 00 38 */ and r0, r3, r0
/* 803B911C 003B607C 7C 00 54 30 */ srw r0, r0, r10
/* 803B9120 003B6080 7C E7 03 78 */ or r7, r7, r0
/* 803B9124 003B6084 39 4A 00 02 */ addi r10, r10, 2
/* 803B9128 003B6088 48 00 00 20 */ b lbl_803B9148
lbl_803B912C:
/* 803B912C 003B608C 7C A4 40 30 */ slw r4, r5, r8
/* 803B9130 003B6090 20 08 00 1F */ subfic r0, r8, 0x1f
/* 803B9134 003B6094 7C 09 00 50 */ subf r0, r9, r0
/* 803B9138 003B6098 7C 64 20 38 */ and r4, r3, r4
/* 803B913C 003B609C 7C 80 00 30 */ slw r0, r4, r0
/* 803B9140 003B60A0 7C E7 03 78 */ or r7, r7, r0
/* 803B9144 003B60A4 39 29 00 01 */ addi r9, r9, 1
lbl_803B9148:
/* 803B9148 003B60A8 39 08 00 01 */ addi r8, r8, 1
/* 803B914C 003B60AC 28 08 00 0F */ cmplwi r8, 0xf
/* 803B9150 003B60B0 40 81 00 2C */ ble lbl_803B917C
/* 803B9154 003B60B4 28 08 00 1F */ cmplwi r8, 0x1f
/* 803B9158 003B60B8 40 82 00 0C */ bne lbl_803B9164
/* 803B915C 003B60BC 7C E7 33 78 */ or r7, r7, r6
/* 803B9160 003B60C0 48 00 00 38 */ b lbl_803B9198
lbl_803B9164:
/* 803B9164 003B60C4 7C A0 40 30 */ slw r0, r5, r8
/* 803B9168 003B60C8 7C 60 00 38 */ and r0, r3, r0
/* 803B916C 003B60CC 7C 00 54 30 */ srw r0, r0, r10
/* 803B9170 003B60D0 7C E7 03 78 */ or r7, r7, r0
/* 803B9174 003B60D4 39 4A 00 02 */ addi r10, r10, 2
/* 803B9178 003B60D8 48 00 00 20 */ b lbl_803B9198
lbl_803B917C:
/* 803B917C 003B60DC 7C A4 40 30 */ slw r4, r5, r8
/* 803B9180 003B60E0 20 08 00 1F */ subfic r0, r8, 0x1f
/* 803B9184 003B60E4 7C 09 00 50 */ subf r0, r9, r0
/* 803B9188 003B60E8 7C 64 20 38 */ and r4, r3, r4
/* 803B918C 003B60EC 7C 80 00 30 */ slw r0, r4, r0
/* 803B9190 003B60F0 7C E7 03 78 */ or r7, r7, r0
/* 803B9194 003B60F4 39 29 00 01 */ addi r9, r9, 1
lbl_803B9198:
/* 803B9198 003B60F8 39 08 00 01 */ addi r8, r8, 1
/* 803B919C 003B60FC 28 08 00 0F */ cmplwi r8, 0xf
/* 803B91A0 003B6100 40 81 00 2C */ ble lbl_803B91CC
/* 803B91A4 003B6104 28 08 00 1F */ cmplwi r8, 0x1f
/* 803B91A8 003B6108 40 82 00 0C */ bne lbl_803B91B4
/* 803B91AC 003B610C 7C E7 33 78 */ or r7, r7, r6
/* 803B91B0 003B6110 48 00 00 38 */ b lbl_803B91E8
lbl_803B91B4:
/* 803B91B4 003B6114 7C A0 40 30 */ slw r0, r5, r8
/* 803B91B8 003B6118 7C 60 00 38 */ and r0, r3, r0
/* 803B91BC 003B611C 7C 00 54 30 */ srw r0, r0, r10
/* 803B91C0 003B6120 7C E7 03 78 */ or r7, r7, r0
/* 803B91C4 003B6124 39 4A 00 02 */ addi r10, r10, 2
/* 803B91C8 003B6128 48 00 00 20 */ b lbl_803B91E8
lbl_803B91CC:
/* 803B91CC 003B612C 7C A4 40 30 */ slw r4, r5, r8
/* 803B91D0 003B6130 20 08 00 1F */ subfic r0, r8, 0x1f
/* 803B91D4 003B6134 7C 09 00 50 */ subf r0, r9, r0
/* 803B91D8 003B6138 7C 64 20 38 */ and r4, r3, r4
/* 803B91DC 003B613C 7C 80 00 30 */ slw r0, r4, r0
/* 803B91E0 003B6140 7C E7 03 78 */ or r7, r7, r0
/* 803B91E4 003B6144 39 29 00 01 */ addi r9, r9, 1
lbl_803B91E8:
/* 803B91E8 003B6148 39 08 00 01 */ addi r8, r8, 1
/* 803B91EC 003B614C 42 00 FE C0 */ bdnz lbl_803B90AC
/* 803B91F0 003B6150 7C E3 3B 78 */ mr r3, r7
/* 803B91F4 003B6154 4E 80 00 20 */ blr
ReadArrayUnlock:
/* 803B91F8 003B6158 7C 08 02 A6 */ mflr r0
/* 803B91FC 003B615C 90 01 00 04 */ stw r0, 4(r1)
/* 803B9200 003B6160 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 803B9204 003B6164 BF 41 00 28 */ stmw r26, 0x28(r1)
/* 803B9208 003B6168 3B A3 00 00 */ addi r29, r3, 0
/* 803B920C 003B616C 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803B9210 003B6170 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803B9214 003B6174 1D 1D 01 10 */ mulli r8, r29, 0x110
/* 803B9218 003B6178 3B 44 00 00 */ addi r26, r4, 0
/* 803B921C 003B617C 3B C5 00 00 */ addi r30, r5, 0
/* 803B9220 003B6180 3B E6 00 00 */ addi r31, r6, 0
/* 803B9224 003B6184 3B 67 00 00 */ addi r27, r7, 0
/* 803B9228 003B6188 38 7D 00 00 */ addi r3, r29, 0
/* 803B922C 003B618C 7F 80 42 14 */ add r28, r0, r8
/* 803B9230 003B6190 38 80 00 00 */ li r4, 0
/* 803B9234 003B6194 38 A0 00 04 */ li r5, 4
/* 803B9238 003B6198 48 00 7A 25 */ bl EXISelect
/* 803B923C 003B619C 2C 03 00 00 */ cmpwi r3, 0
/* 803B9240 003B61A0 40 82 00 0C */ bne lbl_803B924C
/* 803B9244 003B61A4 38 60 FF FD */ li r3, -3
/* 803B9248 003B61A8 48 00 00 E0 */ b lbl_803B9328
lbl_803B924C:
/* 803B924C 003B61AC 57 5A 00 26 */ rlwinm r26, r26, 0, 0, 0x13
/* 803B9250 003B61B0 38 61 00 1C */ addi r3, r1, 0x1c
/* 803B9254 003B61B4 38 80 00 00 */ li r4, 0
/* 803B9258 003B61B8 38 A0 00 05 */ li r5, 5
/* 803B925C 003B61BC 4B C4 A1 4D */ bl memset
/* 803B9260 003B61C0 38 00 00 52 */ li r0, 0x52
/* 803B9264 003B61C4 2C 1B 00 00 */ cmpwi r27, 0
/* 803B9268 003B61C8 98 01 00 1C */ stb r0, 0x1c(r1)
/* 803B926C 003B61CC 40 82 00 28 */ bne lbl_803B9294
/* 803B9270 003B61D0 57 40 1F BE */ rlwinm r0, r26, 3, 0x1e, 0x1f
/* 803B9274 003B61D4 98 01 00 1D */ stb r0, 0x1d(r1)
/* 803B9278 003B61D8 57 40 5E 3E */ rlwinm r0, r26, 0xb, 0x18, 0x1f
/* 803B927C 003B61DC 57 43 6F BE */ rlwinm r3, r26, 0xd, 0x1e, 0x1f
/* 803B9280 003B61E0 98 01 00 1E */ stb r0, 0x1e(r1)
/* 803B9284 003B61E4 57 40 A6 7E */ rlwinm r0, r26, 0x14, 0x19, 0x1f
/* 803B9288 003B61E8 98 61 00 1F */ stb r3, 0x1f(r1)
/* 803B928C 003B61EC 98 01 00 20 */ stb r0, 0x20(r1)
/* 803B9290 003B61F0 48 00 00 14 */ b lbl_803B92A4
lbl_803B9294:
/* 803B9294 003B61F4 57 40 46 3E */ srwi r0, r26, 0x18
/* 803B9298 003B61F8 98 01 00 1D */ stb r0, 0x1d(r1)
/* 803B929C 003B61FC 57 40 86 3E */ rlwinm r0, r26, 0x10, 0x18, 0x1f
/* 803B92A0 003B6200 98 01 00 1E */ stb r0, 0x1e(r1)
lbl_803B92A4:
/* 803B92A4 003B6204 38 7D 00 00 */ addi r3, r29, 0
/* 803B92A8 003B6208 38 81 00 1C */ addi r4, r1, 0x1c
/* 803B92AC 003B620C 38 A0 00 05 */ li r5, 5
/* 803B92B0 003B6210 38 C0 00 01 */ li r6, 1
/* 803B92B4 003B6214 48 00 70 B1 */ bl EXIImmEx
/* 803B92B8 003B6218 80 9C 00 80 */ lwz r4, 0x80(r28)
/* 803B92BC 003B621C 7C 60 00 34 */ cntlzw r0, r3
/* 803B92C0 003B6220 80 BC 00 14 */ lwz r5, 0x14(r28)
/* 803B92C4 003B6224 38 7D 00 00 */ addi r3, r29, 0
/* 803B92C8 003B6228 54 1C D9 7E */ srwi r28, r0, 5
/* 803B92CC 003B622C 38 84 02 00 */ addi r4, r4, 0x200
/* 803B92D0 003B6230 38 C0 00 01 */ li r6, 1
/* 803B92D4 003B6234 48 00 70 91 */ bl EXIImmEx
/* 803B92D8 003B6238 7C 60 00 34 */ cntlzw r0, r3
/* 803B92DC 003B623C 54 00 D9 7E */ srwi r0, r0, 5
/* 803B92E0 003B6240 38 7D 00 00 */ addi r3, r29, 0
/* 803B92E4 003B6244 38 9E 00 00 */ addi r4, r30, 0
/* 803B92E8 003B6248 38 BF 00 00 */ addi r5, r31, 0
/* 803B92EC 003B624C 7F 9C 03 78 */ or r28, r28, r0
/* 803B92F0 003B6250 38 C0 00 00 */ li r6, 0
/* 803B92F4 003B6254 48 00 70 71 */ bl EXIImmEx
/* 803B92F8 003B6258 7C 60 00 34 */ cntlzw r0, r3
/* 803B92FC 003B625C 54 00 D9 7E */ srwi r0, r0, 5
/* 803B9300 003B6260 38 7D 00 00 */ addi r3, r29, 0
/* 803B9304 003B6264 7F 9C 03 78 */ or r28, r28, r0
/* 803B9308 003B6268 48 00 7A 81 */ bl EXIDeselect
/* 803B930C 003B626C 7C 60 00 34 */ cntlzw r0, r3
/* 803B9310 003B6270 54 00 D9 7E */ srwi r0, r0, 5
/* 803B9314 003B6274 7F 9C 03 79 */ or. r28, r28, r0
/* 803B9318 003B6278 41 82 00 0C */ beq lbl_803B9324
/* 803B931C 003B627C 38 60 FF FD */ li r3, -3
/* 803B9320 003B6280 48 00 00 08 */ b lbl_803B9328
lbl_803B9324:
/* 803B9324 003B6284 38 60 00 00 */ li r3, 0
lbl_803B9328:
/* 803B9328 003B6288 BB 41 00 28 */ lmw r26, 0x28(r1)
/* 803B932C 003B628C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 803B9330 003B6290 38 21 00 40 */ addi r1, r1, 0x40
/* 803B9334 003B6294 7C 08 03 A6 */ mtlr r0
/* 803B9338 003B6298 4E 80 00 20 */ blr
.global DummyLen
DummyLen:
/* 803B933C 003B629C 7C 08 02 A6 */ mflr r0
/* 803B9340 003B62A0 90 01 00 04 */ stw r0, 4(r1)
/* 803B9344 003B62A4 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 803B9348 003B62A8 93 E1 00 24 */ stw r31, 0x24(r1)
/* 803B934C 003B62AC 93 C1 00 20 */ stw r30, 0x20(r1)
/* 803B9350 003B62B0 3B C0 00 01 */ li r30, 1
/* 803B9354 003B62B4 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 803B9358 003B62B8 3B A0 00 00 */ li r29, 0
/* 803B935C 003B62BC 4B FC C0 65 */ bl OSGetTick
/* 803B9360 003B62C0 90 6D A0 38 */ stw r3, next@sda21(r13)
/* 803B9364 003B62C4 3C 60 41 C6 */ lis r3, 0x41C64E6D@ha
/* 803B9368 003B62C8 3B E3 4E 6D */ addi r31, r3, 0x41C64E6D@l
/* 803B936C 003B62CC 80 0D A0 38 */ lwz r0, next@sda21(r13)
/* 803B9370 003B62D0 7C 60 F9 D6 */ mullw r3, r0, r31
/* 803B9374 003B62D4 38 03 30 39 */ addi r0, r3, 0x3039
/* 803B9378 003B62D8 90 0D A0 38 */ stw r0, next@sda21(r13)
/* 803B937C 003B62DC 80 0D A0 38 */ lwz r0, next@sda21(r13)
/* 803B9380 003B62E0 54 03 86 FE */ rlwinm r3, r0, 0x10, 0x1b, 0x1f
/* 803B9384 003B62E4 38 63 00 01 */ addi r3, r3, 1
/* 803B9388 003B62E8 48 00 00 40 */ b lbl_803B93C8
lbl_803B938C:
/* 803B938C 003B62EC 4B FC C0 35 */ bl OSGetTick
/* 803B9390 003B62F0 7C 60 F0 30 */ slw r0, r3, r30
/* 803B9394 003B62F4 3B DE 00 01 */ addi r30, r30, 1
/* 803B9398 003B62F8 28 1E 00 10 */ cmplwi r30, 0x10
/* 803B939C 003B62FC 40 81 00 08 */ ble lbl_803B93A4
/* 803B93A0 003B6300 3B C0 00 01 */ li r30, 1
lbl_803B93A4:
/* 803B93A4 003B6304 90 0D A0 38 */ stw r0, next@sda21(r13)
/* 803B93A8 003B6308 3B BD 00 01 */ addi r29, r29, 1
/* 803B93AC 003B630C 80 0D A0 38 */ lwz r0, next@sda21(r13)
/* 803B93B0 003B6310 7C 60 F9 D6 */ mullw r3, r0, r31
/* 803B93B4 003B6314 38 03 30 39 */ addi r0, r3, 0x3039
/* 803B93B8 003B6318 90 0D A0 38 */ stw r0, next@sda21(r13)
/* 803B93BC 003B631C 80 0D A0 38 */ lwz r0, next@sda21(r13)
/* 803B93C0 003B6320 54 03 86 FE */ rlwinm r3, r0, 0x10, 0x1b, 0x1f
/* 803B93C4 003B6324 38 63 00 01 */ addi r3, r3, 1
lbl_803B93C8:
/* 803B93C8 003B6328 2C 03 00 04 */ cmpwi r3, 4
/* 803B93CC 003B632C 40 80 00 0C */ bge lbl_803B93D8
/* 803B93D0 003B6330 28 1D 00 0A */ cmplwi r29, 0xa
/* 803B93D4 003B6334 41 80 FF B8 */ blt lbl_803B938C
lbl_803B93D8:
/* 803B93D8 003B6338 2C 03 00 04 */ cmpwi r3, 4
/* 803B93DC 003B633C 40 80 00 08 */ bge lbl_803B93E4
/* 803B93E0 003B6340 38 60 00 04 */ li r3, 4
lbl_803B93E4:
/* 803B93E4 003B6344 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 803B93E8 003B6348 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 803B93EC 003B634C 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 803B93F0 003B6350 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 803B93F4 003B6354 38 21 00 28 */ addi r1, r1, 0x28
/* 803B93F8 003B6358 7C 08 03 A6 */ mtlr r0
/* 803B93FC 003B635C 4E 80 00 20 */ blr
.global __CARDUnlock
__CARDUnlock:
/* 803B9400 003B6360 7C 08 02 A6 */ mflr r0
/* 803B9404 003B6364 90 01 00 04 */ stw r0, 4(r1)
/* 803B9408 003B6368 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 803B940C 003B636C BE C1 00 F8 */ stmw r22, 0xf8(r1)
/* 803B9410 003B6370 3B 03 00 00 */ addi r24, r3, 0
/* 803B9414 003B6374 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803B9418 003B6378 1C B8 01 10 */ mulli r5, r24, 0x110
/* 803B941C 003B637C 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803B9420 003B6380 7F E0 2A 14 */ add r31, r0, r5
/* 803B9424 003B6384 3A E4 00 00 */ addi r23, r4, 0
/* 803B9428 003B6388 3B DF 00 30 */ addi r30, r31, 0x30
/* 803B942C 003B638C 80 7F 00 80 */ lwz r3, 0x80(r31)
/* 803B9430 003B6390 38 03 00 2F */ addi r0, r3, 0x2f
/* 803B9434 003B6394 54 1C 00 34 */ rlwinm r28, r0, 0, 0, 0x1a
/* 803B9438 003B6398 3B A3 00 00 */ addi r29, r3, 0
/* 803B943C 003B639C 3A DC 00 20 */ addi r22, r28, 0x20
/* 803B9440 003B63A0 4B FC BF 81 */ bl OSGetTick
/* 803B9444 003B63A4 90 6D A0 38 */ stw r3, next@sda21(r13)
/* 803B9448 003B63A8 3C 60 41 C6 */ lis r3, 0x41C64E6D@ha
/* 803B944C 003B63AC 3C A0 7F ED */ lis r5, 0x7FEC8000@ha
/* 803B9450 003B63B0 80 8D A0 38 */ lwz r4, next@sda21(r13)
/* 803B9454 003B63B4 38 03 4E 6D */ addi r0, r3, 0x41C64E6D@l
/* 803B9458 003B63B8 3B 25 80 00 */ addi r25, r5, 0x7FEC8000@l
/* 803B945C 003B63BC 7C 64 01 D6 */ mullw r3, r4, r0
/* 803B9460 003B63C0 38 03 30 39 */ addi r0, r3, 0x3039
/* 803B9464 003B63C4 90 0D A0 38 */ stw r0, next@sda21(r13)
/* 803B9468 003B63C8 80 0D A0 38 */ lwz r0, next@sda21(r13)
/* 803B946C 003B63CC 54 00 84 7E */ rlwinm r0, r0, 0x10, 0x11, 0x1f
/* 803B9470 003B63D0 7F 39 03 78 */ or r25, r25, r0
/* 803B9474 003B63D4 57 39 00 26 */ rlwinm r25, r25, 0, 0, 0x13
/* 803B9478 003B63D8 4B FF FE C5 */ bl DummyLen
/* 803B947C 003B63DC 3B 43 00 00 */ addi r26, r3, 0
/* 803B9480 003B63E0 38 DA 00 00 */ addi r6, r26, 0
/* 803B9484 003B63E4 38 78 00 00 */ addi r3, r24, 0
/* 803B9488 003B63E8 38 99 00 00 */ addi r4, r25, 0
/* 803B948C 003B63EC 38 A1 00 A4 */ addi r5, r1, 0xa4
/* 803B9490 003B63F0 38 E0 00 00 */ li r7, 0
/* 803B9494 003B63F4 4B FF FD 65 */ bl ReadArrayUnlock
/* 803B9498 003B63F8 2C 03 00 00 */ cmpwi r3, 0
/* 803B949C 003B63FC 40 80 00 0C */ bge lbl_803B94A8
/* 803B94A0 003B6400 38 60 FF FD */ li r3, -3
/* 803B94A4 003B6404 48 00 0A A0 */ b lbl_803B9F44
lbl_803B94A8:
/* 803B94A8 003B6408 57 43 18 38 */ slwi r3, r26, 3
/* 803B94AC 003B640C 38 83 00 01 */ addi r4, r3, 1
/* 803B94B0 003B6410 28 04 00 00 */ cmplwi r4, 0
/* 803B94B4 003B6414 38 60 00 00 */ li r3, 0
/* 803B94B8 003B6418 40 81 01 68 */ ble lbl_803B9620
/* 803B94BC 003B641C 28 04 00 08 */ cmplwi r4, 8
/* 803B94C0 003B6420 38 A4 FF F8 */ addi r5, r4, -8
/* 803B94C4 003B6424 40 81 01 24 */ ble lbl_803B95E8
/* 803B94C8 003B6428 38 05 00 07 */ addi r0, r5, 7
/* 803B94CC 003B642C 54 00 E8 FE */ srwi r0, r0, 3
/* 803B94D0 003B6430 28 05 00 00 */ cmplwi r5, 0
/* 803B94D4 003B6434 7C 09 03 A6 */ mtctr r0
/* 803B94D8 003B6438 40 81 01 10 */ ble lbl_803B95E8
lbl_803B94DC:
/* 803B94DC 003B643C 57 20 C9 FE */ srwi r0, r25, 7
/* 803B94E0 003B6440 57 25 8B FE */ srwi r5, r25, 0xf
/* 803B94E4 003B6444 7F 20 02 78 */ xor r0, r25, r0
/* 803B94E8 003B6448 7C A0 02 78 */ xor r0, r5, r0
/* 803B94EC 003B644C 57 26 4D FE */ srwi r6, r25, 0x17
/* 803B94F0 003B6450 7C C0 02 38 */ eqv r0, r6, r0
/* 803B94F4 003B6454 57 25 F8 7E */ srwi r5, r25, 1
/* 803B94F8 003B6458 54 00 F0 42 */ rlwinm r0, r0, 0x1e, 1, 1
/* 803B94FC 003B645C 7C A7 03 78 */ or r7, r5, r0
/* 803B9500 003B6460 54 E0 C9 FE */ srwi r0, r7, 7
/* 803B9504 003B6464 54 E5 8B FE */ srwi r5, r7, 0xf
/* 803B9508 003B6468 7C E0 02 78 */ xor r0, r7, r0
/* 803B950C 003B646C 54 E6 4D FE */ srwi r6, r7, 0x17
/* 803B9510 003B6470 7C A0 02 78 */ xor r0, r5, r0
/* 803B9514 003B6474 7C C0 02 38 */ eqv r0, r6, r0
/* 803B9518 003B6478 54 08 F0 42 */ rlwinm r8, r0, 0x1e, 1, 1
/* 803B951C 003B647C 50 E8 F8 BE */ rlwimi r8, r7, 0x1f, 2, 0x1f
/* 803B9520 003B6480 55 00 C9 FE */ srwi r0, r8, 7
/* 803B9524 003B6484 55 05 8B FE */ srwi r5, r8, 0xf
/* 803B9528 003B6488 7D 00 02 78 */ xor r0, r8, r0
/* 803B952C 003B648C 55 06 4D FE */ srwi r6, r8, 0x17
/* 803B9530 003B6490 7C A0 02 78 */ xor r0, r5, r0
/* 803B9534 003B6494 7C C0 02 38 */ eqv r0, r6, r0
/* 803B9538 003B6498 54 07 F0 42 */ rlwinm r7, r0, 0x1e, 1, 1
/* 803B953C 003B649C 51 07 F8 BE */ rlwimi r7, r8, 0x1f, 2, 0x1f
/* 803B9540 003B64A0 54 E0 C9 FE */ srwi r0, r7, 7
/* 803B9544 003B64A4 54 E5 8B FE */ srwi r5, r7, 0xf
/* 803B9548 003B64A8 7C E0 02 78 */ xor r0, r7, r0
/* 803B954C 003B64AC 54 E6 4D FE */ srwi r6, r7, 0x17
/* 803B9550 003B64B0 7C A0 02 78 */ xor r0, r5, r0
/* 803B9554 003B64B4 7C C0 02 38 */ eqv r0, r6, r0
/* 803B9558 003B64B8 54 08 F0 42 */ rlwinm r8, r0, 0x1e, 1, 1
/* 803B955C 003B64BC 50 E8 F8 BE */ rlwimi r8, r7, 0x1f, 2, 0x1f
/* 803B9560 003B64C0 55 00 C9 FE */ srwi r0, r8, 7
/* 803B9564 003B64C4 55 05 8B FE */ srwi r5, r8, 0xf
/* 803B9568 003B64C8 7D 00 02 78 */ xor r0, r8, r0
/* 803B956C 003B64CC 55 06 4D FE */ srwi r6, r8, 0x17
/* 803B9570 003B64D0 7C A0 02 78 */ xor r0, r5, r0
/* 803B9574 003B64D4 7C C0 02 38 */ eqv r0, r6, r0
/* 803B9578 003B64D8 54 07 F0 42 */ rlwinm r7, r0, 0x1e, 1, 1
/* 803B957C 003B64DC 51 07 F8 BE */ rlwimi r7, r8, 0x1f, 2, 0x1f
/* 803B9580 003B64E0 54 E0 C9 FE */ srwi r0, r7, 7
/* 803B9584 003B64E4 54 E5 8B FE */ srwi r5, r7, 0xf
/* 803B9588 003B64E8 7C E0 02 78 */ xor r0, r7, r0
/* 803B958C 003B64EC 54 E6 4D FE */ srwi r6, r7, 0x17
/* 803B9590 003B64F0 7C A0 02 78 */ xor r0, r5, r0
/* 803B9594 003B64F4 7C C0 02 38 */ eqv r0, r6, r0
/* 803B9598 003B64F8 54 08 F0 42 */ rlwinm r8, r0, 0x1e, 1, 1
/* 803B959C 003B64FC 50 E8 F8 BE */ rlwimi r8, r7, 0x1f, 2, 0x1f
/* 803B95A0 003B6500 55 00 C9 FE */ srwi r0, r8, 7
/* 803B95A4 003B6504 55 05 8B FE */ srwi r5, r8, 0xf
/* 803B95A8 003B6508 7D 00 02 78 */ xor r0, r8, r0
/* 803B95AC 003B650C 55 06 4D FE */ srwi r6, r8, 0x17
/* 803B95B0 003B6510 7C A0 02 78 */ xor r0, r5, r0
/* 803B95B4 003B6514 7C C0 02 38 */ eqv r0, r6, r0
/* 803B95B8 003B6518 54 07 F0 42 */ rlwinm r7, r0, 0x1e, 1, 1
/* 803B95BC 003B651C 51 07 F8 BE */ rlwimi r7, r8, 0x1f, 2, 0x1f
/* 803B95C0 003B6520 54 E0 C9 FE */ srwi r0, r7, 7
/* 803B95C4 003B6524 54 E5 8B FE */ srwi r5, r7, 0xf
/* 803B95C8 003B6528 7C E0 02 78 */ xor r0, r7, r0
/* 803B95CC 003B652C 54 E6 4D FE */ srwi r6, r7, 0x17
/* 803B95D0 003B6530 7C A0 02 78 */ xor r0, r5, r0
/* 803B95D4 003B6534 7C C0 02 38 */ eqv r0, r6, r0
/* 803B95D8 003B6538 54 19 F0 42 */ rlwinm r25, r0, 0x1e, 1, 1
/* 803B95DC 003B653C 50 F9 F8 BE */ rlwimi r25, r7, 0x1f, 2, 0x1f
/* 803B95E0 003B6540 38 63 00 08 */ addi r3, r3, 8
/* 803B95E4 003B6544 42 00 FE F8 */ bdnz lbl_803B94DC
lbl_803B95E8:
/* 803B95E8 003B6548 7C 03 20 50 */ subf r0, r3, r4
/* 803B95EC 003B654C 7C 03 20 40 */ cmplw r3, r4
/* 803B95F0 003B6550 7C 09 03 A6 */ mtctr r0
/* 803B95F4 003B6554 40 80 00 2C */ bge lbl_803B9620
lbl_803B95F8:
/* 803B95F8 003B6558 57 20 C9 FE */ srwi r0, r25, 7
/* 803B95FC 003B655C 57 23 8B FE */ srwi r3, r25, 0xf
/* 803B9600 003B6560 7F 20 02 78 */ xor r0, r25, r0
/* 803B9604 003B6564 57 24 4D FE */ srwi r4, r25, 0x17
/* 803B9608 003B6568 7C 60 02 78 */ xor r0, r3, r0
/* 803B960C 003B656C 7C 80 02 38 */ eqv r0, r4, r0
/* 803B9610 003B6570 57 23 F8 7E */ srwi r3, r25, 1
/* 803B9614 003B6574 54 00 F0 42 */ rlwinm r0, r0, 0x1e, 1, 1
/* 803B9618 003B6578 7C 79 03 78 */ or r25, r3, r0
/* 803B961C 003B657C 42 00 FF DC */ bdnz lbl_803B95F8
lbl_803B9620:
/* 803B9620 003B6580 57 20 C9 FE */ srwi r0, r25, 7
/* 803B9624 003B6584 57 23 8B FE */ srwi r3, r25, 0xf
/* 803B9628 003B6588 7F 20 02 78 */ xor r0, r25, r0
/* 803B962C 003B658C 57 24 4D FE */ srwi r4, r25, 0x17
/* 803B9630 003B6590 7C 60 02 78 */ xor r0, r3, r0
/* 803B9634 003B6594 7C 80 02 38 */ eqv r0, r4, r0
/* 803B9638 003B6598 54 00 F8 00 */ slwi r0, r0, 0x1f
/* 803B963C 003B659C 7F 20 03 78 */ or r0, r25, r0
/* 803B9640 003B65A0 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 803B9644 003B65A4 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 803B9648 003B65A8 4B FF FA 45 */ bl bitrev
/* 803B964C 003B65AC 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 803B9650 003B65B0 4B FF FC ED */ bl DummyLen
/* 803B9654 003B65B4 3B 63 00 00 */ addi r27, r3, 0
/* 803B9658 003B65B8 38 DB 00 14 */ addi r6, r27, 0x14
/* 803B965C 003B65BC 38 78 00 00 */ addi r3, r24, 0
/* 803B9660 003B65C0 38 A1 00 A4 */ addi r5, r1, 0xa4
/* 803B9664 003B65C4 38 80 00 00 */ li r4, 0
/* 803B9668 003B65C8 38 E0 00 01 */ li r7, 1
/* 803B966C 003B65CC 4B FF FB 8D */ bl ReadArrayUnlock
/* 803B9670 003B65D0 2C 03 00 00 */ cmpwi r3, 0
/* 803B9674 003B65D4 40 80 00 0C */ bge lbl_803B9680
/* 803B9678 003B65D8 38 60 FF FD */ li r3, -3
/* 803B967C 003B65DC 48 00 08 C8 */ b lbl_803B9F44
lbl_803B9680:
/* 803B9680 003B65E0 38 60 00 04 */ li r3, 4
/* 803B9684 003B65E4 80 FF 00 2C */ lwz r7, 0x2c(r31)
/* 803B9688 003B65E8 83 21 00 A4 */ lwz r25, 0xa4(r1)
/* 803B968C 003B65EC 7C 69 03 A6 */ mtctr r3
/* 803B9690 003B65F0 83 41 00 A8 */ lwz r26, 0xa8(r1)
/* 803B9694 003B65F4 83 01 00 AC */ lwz r24, 0xac(r1)
/* 803B9698 003B65F8 7F 39 3A 78 */ xor r25, r25, r7
/* 803B969C 003B65FC 80 01 00 B0 */ lwz r0, 0xb0(r1)
/* 803B96A0 003B6600 80 A1 00 B4 */ lwz r5, 0xb4(r1)
lbl_803B96A4:
/* 803B96A4 003B6604 54 E3 38 30 */ slwi r3, r7, 7
/* 803B96A8 003B6608 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B96AC 003B660C 7C E3 1A 78 */ xor r3, r7, r3
/* 803B96B0 003B6610 7C 83 1A 78 */ xor r3, r4, r3
/* 803B96B4 003B6614 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B96B8 003B6618 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B96BC 003B661C 54 E4 08 3C */ slwi r4, r7, 1
/* 803B96C0 003B6620 54 63 17 BC */ rlwinm r3, r3, 2, 0x1e, 0x1e
/* 803B96C4 003B6624 7C 87 1B 78 */ or r7, r4, r3
/* 803B96C8 003B6628 54 E3 38 30 */ slwi r3, r7, 7
/* 803B96CC 003B662C 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B96D0 003B6630 7C E3 1A 78 */ xor r3, r7, r3
/* 803B96D4 003B6634 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B96D8 003B6638 7C 83 1A 78 */ xor r3, r4, r3
/* 803B96DC 003B663C 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B96E0 003B6640 54 69 17 BC */ rlwinm r9, r3, 2, 0x1e, 0x1e
/* 803B96E4 003B6644 50 E9 08 3A */ rlwimi r9, r7, 1, 0, 0x1d
/* 803B96E8 003B6648 55 23 38 30 */ slwi r3, r9, 7
/* 803B96EC 003B664C 55 24 78 20 */ slwi r4, r9, 0xf
/* 803B96F0 003B6650 7D 23 1A 78 */ xor r3, r9, r3
/* 803B96F4 003B6654 55 26 B8 10 */ slwi r6, r9, 0x17
/* 803B96F8 003B6658 7C 83 1A 78 */ xor r3, r4, r3
/* 803B96FC 003B665C 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9700 003B6660 54 68 17 BC */ rlwinm r8, r3, 2, 0x1e, 0x1e
/* 803B9704 003B6664 51 28 08 3A */ rlwimi r8, r9, 1, 0, 0x1d
/* 803B9708 003B6668 55 03 38 30 */ slwi r3, r8, 7
/* 803B970C 003B666C 55 04 78 20 */ slwi r4, r8, 0xf
/* 803B9710 003B6670 7D 03 1A 78 */ xor r3, r8, r3
/* 803B9714 003B6674 55 06 B8 10 */ slwi r6, r8, 0x17
/* 803B9718 003B6678 7C 83 1A 78 */ xor r3, r4, r3
/* 803B971C 003B667C 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9720 003B6680 54 67 17 BC */ rlwinm r7, r3, 2, 0x1e, 0x1e
/* 803B9724 003B6684 51 07 08 3A */ rlwimi r7, r8, 1, 0, 0x1d
/* 803B9728 003B6688 54 E3 38 30 */ slwi r3, r7, 7
/* 803B972C 003B668C 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B9730 003B6690 7C E3 1A 78 */ xor r3, r7, r3
/* 803B9734 003B6694 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B9738 003B6698 7C 83 1A 78 */ xor r3, r4, r3
/* 803B973C 003B669C 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9740 003B66A0 54 68 17 BC */ rlwinm r8, r3, 2, 0x1e, 0x1e
/* 803B9744 003B66A4 50 E8 08 3A */ rlwimi r8, r7, 1, 0, 0x1d
/* 803B9748 003B66A8 55 03 38 30 */ slwi r3, r8, 7
/* 803B974C 003B66AC 55 04 78 20 */ slwi r4, r8, 0xf
/* 803B9750 003B66B0 7D 03 1A 78 */ xor r3, r8, r3
/* 803B9754 003B66B4 55 06 B8 10 */ slwi r6, r8, 0x17
/* 803B9758 003B66B8 7C 83 1A 78 */ xor r3, r4, r3
/* 803B975C 003B66BC 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9760 003B66C0 54 67 17 BC */ rlwinm r7, r3, 2, 0x1e, 0x1e
/* 803B9764 003B66C4 51 07 08 3A */ rlwimi r7, r8, 1, 0, 0x1d
/* 803B9768 003B66C8 54 E3 38 30 */ slwi r3, r7, 7
/* 803B976C 003B66CC 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B9770 003B66D0 7C E3 1A 78 */ xor r3, r7, r3
/* 803B9774 003B66D4 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B9778 003B66D8 7C 83 1A 78 */ xor r3, r4, r3
/* 803B977C 003B66DC 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9780 003B66E0 54 68 17 BC */ rlwinm r8, r3, 2, 0x1e, 0x1e
/* 803B9784 003B66E4 50 E8 08 3A */ rlwimi r8, r7, 1, 0, 0x1d
/* 803B9788 003B66E8 55 03 38 30 */ slwi r3, r8, 7
/* 803B978C 003B66EC 55 04 78 20 */ slwi r4, r8, 0xf
/* 803B9790 003B66F0 7D 03 1A 78 */ xor r3, r8, r3
/* 803B9794 003B66F4 55 06 B8 10 */ slwi r6, r8, 0x17
/* 803B9798 003B66F8 7C 83 1A 78 */ xor r3, r4, r3
/* 803B979C 003B66FC 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B97A0 003B6700 54 67 17 BC */ rlwinm r7, r3, 2, 0x1e, 0x1e
/* 803B97A4 003B6704 51 07 08 3A */ rlwimi r7, r8, 1, 0, 0x1d
/* 803B97A8 003B6708 42 00 FE FC */ bdnz lbl_803B96A4
/* 803B97AC 003B670C 54 E3 38 30 */ slwi r3, r7, 7
/* 803B97B0 003B6710 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B97B4 003B6714 7C E3 1A 78 */ xor r3, r7, r3
/* 803B97B8 003B6718 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B97BC 003B671C 7C 83 1A 78 */ xor r3, r4, r3
/* 803B97C0 003B6720 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B97C4 003B6724 54 63 0F FE */ srwi r3, r3, 0x1f
/* 803B97C8 003B6728 7C E3 1B 78 */ or r3, r7, r3
/* 803B97CC 003B672C 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 803B97D0 003B6730 38 60 00 04 */ li r3, 4
/* 803B97D4 003B6734 7C 69 03 A6 */ mtctr r3
/* 803B97D8 003B6738 80 FF 00 2C */ lwz r7, 0x2c(r31)
/* 803B97DC 003B673C 7F 5A 3A 78 */ xor r26, r26, r7
lbl_803B97E0:
/* 803B97E0 003B6740 54 E3 38 30 */ slwi r3, r7, 7
/* 803B97E4 003B6744 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B97E8 003B6748 7C E3 1A 78 */ xor r3, r7, r3
/* 803B97EC 003B674C 7C 83 1A 78 */ xor r3, r4, r3
/* 803B97F0 003B6750 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B97F4 003B6754 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B97F8 003B6758 54 E4 08 3C */ slwi r4, r7, 1
/* 803B97FC 003B675C 54 63 17 BC */ rlwinm r3, r3, 2, 0x1e, 0x1e
/* 803B9800 003B6760 7C 87 1B 78 */ or r7, r4, r3
/* 803B9804 003B6764 54 E3 38 30 */ slwi r3, r7, 7
/* 803B9808 003B6768 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B980C 003B676C 7C E3 1A 78 */ xor r3, r7, r3
/* 803B9810 003B6770 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B9814 003B6774 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9818 003B6778 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B981C 003B677C 54 69 17 BC */ rlwinm r9, r3, 2, 0x1e, 0x1e
/* 803B9820 003B6780 50 E9 08 3A */ rlwimi r9, r7, 1, 0, 0x1d
/* 803B9824 003B6784 55 23 38 30 */ slwi r3, r9, 7
/* 803B9828 003B6788 55 24 78 20 */ slwi r4, r9, 0xf
/* 803B982C 003B678C 7D 23 1A 78 */ xor r3, r9, r3
/* 803B9830 003B6790 55 26 B8 10 */ slwi r6, r9, 0x17
/* 803B9834 003B6794 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9838 003B6798 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B983C 003B679C 54 68 17 BC */ rlwinm r8, r3, 2, 0x1e, 0x1e
/* 803B9840 003B67A0 51 28 08 3A */ rlwimi r8, r9, 1, 0, 0x1d
/* 803B9844 003B67A4 55 03 38 30 */ slwi r3, r8, 7
/* 803B9848 003B67A8 55 04 78 20 */ slwi r4, r8, 0xf
/* 803B984C 003B67AC 7D 03 1A 78 */ xor r3, r8, r3
/* 803B9850 003B67B0 55 06 B8 10 */ slwi r6, r8, 0x17
/* 803B9854 003B67B4 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9858 003B67B8 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B985C 003B67BC 54 67 17 BC */ rlwinm r7, r3, 2, 0x1e, 0x1e
/* 803B9860 003B67C0 51 07 08 3A */ rlwimi r7, r8, 1, 0, 0x1d
/* 803B9864 003B67C4 54 E3 38 30 */ slwi r3, r7, 7
/* 803B9868 003B67C8 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B986C 003B67CC 7C E3 1A 78 */ xor r3, r7, r3
/* 803B9870 003B67D0 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B9874 003B67D4 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9878 003B67D8 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B987C 003B67DC 54 68 17 BC */ rlwinm r8, r3, 2, 0x1e, 0x1e
/* 803B9880 003B67E0 50 E8 08 3A */ rlwimi r8, r7, 1, 0, 0x1d
/* 803B9884 003B67E4 55 03 38 30 */ slwi r3, r8, 7
/* 803B9888 003B67E8 55 04 78 20 */ slwi r4, r8, 0xf
/* 803B988C 003B67EC 7D 03 1A 78 */ xor r3, r8, r3
/* 803B9890 003B67F0 55 06 B8 10 */ slwi r6, r8, 0x17
/* 803B9894 003B67F4 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9898 003B67F8 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B989C 003B67FC 54 67 17 BC */ rlwinm r7, r3, 2, 0x1e, 0x1e
/* 803B98A0 003B6800 51 07 08 3A */ rlwimi r7, r8, 1, 0, 0x1d
/* 803B98A4 003B6804 54 E3 38 30 */ slwi r3, r7, 7
/* 803B98A8 003B6808 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B98AC 003B680C 7C E3 1A 78 */ xor r3, r7, r3
/* 803B98B0 003B6810 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B98B4 003B6814 7C 83 1A 78 */ xor r3, r4, r3
/* 803B98B8 003B6818 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B98BC 003B681C 54 68 17 BC */ rlwinm r8, r3, 2, 0x1e, 0x1e
/* 803B98C0 003B6820 50 E8 08 3A */ rlwimi r8, r7, 1, 0, 0x1d
/* 803B98C4 003B6824 55 03 38 30 */ slwi r3, r8, 7
/* 803B98C8 003B6828 55 04 78 20 */ slwi r4, r8, 0xf
/* 803B98CC 003B682C 7D 03 1A 78 */ xor r3, r8, r3
/* 803B98D0 003B6830 55 06 B8 10 */ slwi r6, r8, 0x17
/* 803B98D4 003B6834 7C 83 1A 78 */ xor r3, r4, r3
/* 803B98D8 003B6838 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B98DC 003B683C 54 67 17 BC */ rlwinm r7, r3, 2, 0x1e, 0x1e
/* 803B98E0 003B6840 51 07 08 3A */ rlwimi r7, r8, 1, 0, 0x1d
/* 803B98E4 003B6844 42 00 FE FC */ bdnz lbl_803B97E0
/* 803B98E8 003B6848 54 E3 38 30 */ slwi r3, r7, 7
/* 803B98EC 003B684C 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B98F0 003B6850 7C E3 1A 78 */ xor r3, r7, r3
/* 803B98F4 003B6854 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B98F8 003B6858 7C 83 1A 78 */ xor r3, r4, r3
/* 803B98FC 003B685C 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9900 003B6860 54 63 0F FE */ srwi r3, r3, 0x1f
/* 803B9904 003B6864 7C E3 1B 78 */ or r3, r7, r3
/* 803B9908 003B6868 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 803B990C 003B686C 38 60 00 04 */ li r3, 4
/* 803B9910 003B6870 7C 69 03 A6 */ mtctr r3
/* 803B9914 003B6874 80 FF 00 2C */ lwz r7, 0x2c(r31)
/* 803B9918 003B6878 7F 18 3A 78 */ xor r24, r24, r7
lbl_803B991C:
/* 803B991C 003B687C 54 E3 38 30 */ slwi r3, r7, 7
/* 803B9920 003B6880 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B9924 003B6884 7C E3 1A 78 */ xor r3, r7, r3
/* 803B9928 003B6888 7C 83 1A 78 */ xor r3, r4, r3
/* 803B992C 003B688C 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B9930 003B6890 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9934 003B6894 54 E4 08 3C */ slwi r4, r7, 1
/* 803B9938 003B6898 54 63 17 BC */ rlwinm r3, r3, 2, 0x1e, 0x1e
/* 803B993C 003B689C 7C 87 1B 78 */ or r7, r4, r3
/* 803B9940 003B68A0 54 E3 38 30 */ slwi r3, r7, 7
/* 803B9944 003B68A4 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B9948 003B68A8 7C E3 1A 78 */ xor r3, r7, r3
/* 803B994C 003B68AC 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B9950 003B68B0 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9954 003B68B4 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9958 003B68B8 54 69 17 BC */ rlwinm r9, r3, 2, 0x1e, 0x1e
/* 803B995C 003B68BC 50 E9 08 3A */ rlwimi r9, r7, 1, 0, 0x1d
/* 803B9960 003B68C0 55 23 38 30 */ slwi r3, r9, 7
/* 803B9964 003B68C4 55 24 78 20 */ slwi r4, r9, 0xf
/* 803B9968 003B68C8 7D 23 1A 78 */ xor r3, r9, r3
/* 803B996C 003B68CC 55 26 B8 10 */ slwi r6, r9, 0x17
/* 803B9970 003B68D0 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9974 003B68D4 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9978 003B68D8 54 68 17 BC */ rlwinm r8, r3, 2, 0x1e, 0x1e
/* 803B997C 003B68DC 51 28 08 3A */ rlwimi r8, r9, 1, 0, 0x1d
/* 803B9980 003B68E0 55 03 38 30 */ slwi r3, r8, 7
/* 803B9984 003B68E4 55 04 78 20 */ slwi r4, r8, 0xf
/* 803B9988 003B68E8 7D 03 1A 78 */ xor r3, r8, r3
/* 803B998C 003B68EC 55 06 B8 10 */ slwi r6, r8, 0x17
/* 803B9990 003B68F0 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9994 003B68F4 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9998 003B68F8 54 67 17 BC */ rlwinm r7, r3, 2, 0x1e, 0x1e
/* 803B999C 003B68FC 51 07 08 3A */ rlwimi r7, r8, 1, 0, 0x1d
/* 803B99A0 003B6900 54 E3 38 30 */ slwi r3, r7, 7
/* 803B99A4 003B6904 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B99A8 003B6908 7C E3 1A 78 */ xor r3, r7, r3
/* 803B99AC 003B690C 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B99B0 003B6910 7C 83 1A 78 */ xor r3, r4, r3
/* 803B99B4 003B6914 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B99B8 003B6918 54 68 17 BC */ rlwinm r8, r3, 2, 0x1e, 0x1e
/* 803B99BC 003B691C 50 E8 08 3A */ rlwimi r8, r7, 1, 0, 0x1d
/* 803B99C0 003B6920 55 03 38 30 */ slwi r3, r8, 7
/* 803B99C4 003B6924 55 04 78 20 */ slwi r4, r8, 0xf
/* 803B99C8 003B6928 7D 03 1A 78 */ xor r3, r8, r3
/* 803B99CC 003B692C 55 06 B8 10 */ slwi r6, r8, 0x17
/* 803B99D0 003B6930 7C 83 1A 78 */ xor r3, r4, r3
/* 803B99D4 003B6934 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B99D8 003B6938 54 67 17 BC */ rlwinm r7, r3, 2, 0x1e, 0x1e
/* 803B99DC 003B693C 51 07 08 3A */ rlwimi r7, r8, 1, 0, 0x1d
/* 803B99E0 003B6940 54 E3 38 30 */ slwi r3, r7, 7
/* 803B99E4 003B6944 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B99E8 003B6948 7C E3 1A 78 */ xor r3, r7, r3
/* 803B99EC 003B694C 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B99F0 003B6950 7C 83 1A 78 */ xor r3, r4, r3
/* 803B99F4 003B6954 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B99F8 003B6958 54 68 17 BC */ rlwinm r8, r3, 2, 0x1e, 0x1e
/* 803B99FC 003B695C 50 E8 08 3A */ rlwimi r8, r7, 1, 0, 0x1d
/* 803B9A00 003B6960 55 03 38 30 */ slwi r3, r8, 7
/* 803B9A04 003B6964 55 04 78 20 */ slwi r4, r8, 0xf
/* 803B9A08 003B6968 7D 03 1A 78 */ xor r3, r8, r3
/* 803B9A0C 003B696C 55 06 B8 10 */ slwi r6, r8, 0x17
/* 803B9A10 003B6970 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9A14 003B6974 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9A18 003B6978 54 67 17 BC */ rlwinm r7, r3, 2, 0x1e, 0x1e
/* 803B9A1C 003B697C 51 07 08 3A */ rlwimi r7, r8, 1, 0, 0x1d
/* 803B9A20 003B6980 42 00 FE FC */ bdnz lbl_803B991C
/* 803B9A24 003B6984 54 E3 38 30 */ slwi r3, r7, 7
/* 803B9A28 003B6988 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B9A2C 003B698C 7C E3 1A 78 */ xor r3, r7, r3
/* 803B9A30 003B6990 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B9A34 003B6994 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9A38 003B6998 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9A3C 003B699C 54 63 0F FE */ srwi r3, r3, 0x1f
/* 803B9A40 003B69A0 7C E3 1B 78 */ or r3, r7, r3
/* 803B9A44 003B69A4 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 803B9A48 003B69A8 38 60 00 04 */ li r3, 4
/* 803B9A4C 003B69AC 7C 69 03 A6 */ mtctr r3
/* 803B9A50 003B69B0 80 FF 00 2C */ lwz r7, 0x2c(r31)
/* 803B9A54 003B69B4 7C 00 3A 78 */ xor r0, r0, r7
lbl_803B9A58:
/* 803B9A58 003B69B8 54 E3 38 30 */ slwi r3, r7, 7
/* 803B9A5C 003B69BC 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B9A60 003B69C0 7C E3 1A 78 */ xor r3, r7, r3
/* 803B9A64 003B69C4 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9A68 003B69C8 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B9A6C 003B69CC 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9A70 003B69D0 54 E4 08 3C */ slwi r4, r7, 1
/* 803B9A74 003B69D4 54 63 17 BC */ rlwinm r3, r3, 2, 0x1e, 0x1e
/* 803B9A78 003B69D8 7C 87 1B 78 */ or r7, r4, r3
/* 803B9A7C 003B69DC 54 E3 38 30 */ slwi r3, r7, 7
/* 803B9A80 003B69E0 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B9A84 003B69E4 7C E3 1A 78 */ xor r3, r7, r3
/* 803B9A88 003B69E8 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B9A8C 003B69EC 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9A90 003B69F0 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9A94 003B69F4 54 69 17 BC */ rlwinm r9, r3, 2, 0x1e, 0x1e
/* 803B9A98 003B69F8 50 E9 08 3A */ rlwimi r9, r7, 1, 0, 0x1d
/* 803B9A9C 003B69FC 55 23 38 30 */ slwi r3, r9, 7
/* 803B9AA0 003B6A00 55 24 78 20 */ slwi r4, r9, 0xf
/* 803B9AA4 003B6A04 7D 23 1A 78 */ xor r3, r9, r3
/* 803B9AA8 003B6A08 55 26 B8 10 */ slwi r6, r9, 0x17
/* 803B9AAC 003B6A0C 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9AB0 003B6A10 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9AB4 003B6A14 54 68 17 BC */ rlwinm r8, r3, 2, 0x1e, 0x1e
/* 803B9AB8 003B6A18 51 28 08 3A */ rlwimi r8, r9, 1, 0, 0x1d
/* 803B9ABC 003B6A1C 55 03 38 30 */ slwi r3, r8, 7
/* 803B9AC0 003B6A20 55 04 78 20 */ slwi r4, r8, 0xf
/* 803B9AC4 003B6A24 7D 03 1A 78 */ xor r3, r8, r3
/* 803B9AC8 003B6A28 55 06 B8 10 */ slwi r6, r8, 0x17
/* 803B9ACC 003B6A2C 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9AD0 003B6A30 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9AD4 003B6A34 54 67 17 BC */ rlwinm r7, r3, 2, 0x1e, 0x1e
/* 803B9AD8 003B6A38 51 07 08 3A */ rlwimi r7, r8, 1, 0, 0x1d
/* 803B9ADC 003B6A3C 54 E3 38 30 */ slwi r3, r7, 7
/* 803B9AE0 003B6A40 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B9AE4 003B6A44 7C E3 1A 78 */ xor r3, r7, r3
/* 803B9AE8 003B6A48 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B9AEC 003B6A4C 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9AF0 003B6A50 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9AF4 003B6A54 54 68 17 BC */ rlwinm r8, r3, 2, 0x1e, 0x1e
/* 803B9AF8 003B6A58 50 E8 08 3A */ rlwimi r8, r7, 1, 0, 0x1d
/* 803B9AFC 003B6A5C 55 03 38 30 */ slwi r3, r8, 7
/* 803B9B00 003B6A60 55 04 78 20 */ slwi r4, r8, 0xf
/* 803B9B04 003B6A64 7D 03 1A 78 */ xor r3, r8, r3
/* 803B9B08 003B6A68 55 06 B8 10 */ slwi r6, r8, 0x17
/* 803B9B0C 003B6A6C 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9B10 003B6A70 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9B14 003B6A74 54 67 17 BC */ rlwinm r7, r3, 2, 0x1e, 0x1e
/* 803B9B18 003B6A78 51 07 08 3A */ rlwimi r7, r8, 1, 0, 0x1d
/* 803B9B1C 003B6A7C 54 E3 38 30 */ slwi r3, r7, 7
/* 803B9B20 003B6A80 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B9B24 003B6A84 7C E3 1A 78 */ xor r3, r7, r3
/* 803B9B28 003B6A88 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B9B2C 003B6A8C 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9B30 003B6A90 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9B34 003B6A94 54 68 17 BC */ rlwinm r8, r3, 2, 0x1e, 0x1e
/* 803B9B38 003B6A98 50 E8 08 3A */ rlwimi r8, r7, 1, 0, 0x1d
/* 803B9B3C 003B6A9C 55 03 38 30 */ slwi r3, r8, 7
/* 803B9B40 003B6AA0 55 04 78 20 */ slwi r4, r8, 0xf
/* 803B9B44 003B6AA4 7D 03 1A 78 */ xor r3, r8, r3
/* 803B9B48 003B6AA8 55 06 B8 10 */ slwi r6, r8, 0x17
/* 803B9B4C 003B6AAC 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9B50 003B6AB0 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9B54 003B6AB4 54 67 17 BC */ rlwinm r7, r3, 2, 0x1e, 0x1e
/* 803B9B58 003B6AB8 51 07 08 3A */ rlwimi r7, r8, 1, 0, 0x1d
/* 803B9B5C 003B6ABC 42 00 FE FC */ bdnz lbl_803B9A58
/* 803B9B60 003B6AC0 54 E3 38 30 */ slwi r3, r7, 7
/* 803B9B64 003B6AC4 54 E4 78 20 */ slwi r4, r7, 0xf
/* 803B9B68 003B6AC8 7C E3 1A 78 */ xor r3, r7, r3
/* 803B9B6C 003B6ACC 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9B70 003B6AD0 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803B9B74 003B6AD4 7C C3 1A 38 */ eqv r3, r6, r3
/* 803B9B78 003B6AD8 54 63 0F FE */ srwi r3, r3, 0x1f
/* 803B9B7C 003B6ADC 7C E3 1B 78 */ or r3, r7, r3
/* 803B9B80 003B6AE0 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 803B9B84 003B6AE4 57 64 18 38 */ slwi r4, r27, 3
/* 803B9B88 003B6AE8 28 04 00 00 */ cmplwi r4, 0
/* 803B9B8C 003B6AEC 80 DF 00 2C */ lwz r6, 0x2c(r31)
/* 803B9B90 003B6AF0 38 60 00 00 */ li r3, 0
/* 803B9B94 003B6AF4 7C A5 32 78 */ xor r5, r5, r6
/* 803B9B98 003B6AF8 40 81 01 68 */ ble lbl_803B9D00
/* 803B9B9C 003B6AFC 28 04 00 08 */ cmplwi r4, 8
/* 803B9BA0 003B6B00 39 04 FF F8 */ addi r8, r4, -8
/* 803B9BA4 003B6B04 40 81 01 24 */ ble lbl_803B9CC8
/* 803B9BA8 003B6B08 38 E8 00 07 */ addi r7, r8, 7
/* 803B9BAC 003B6B0C 54 E7 E8 FE */ srwi r7, r7, 3
/* 803B9BB0 003B6B10 28 08 00 00 */ cmplwi r8, 0
/* 803B9BB4 003B6B14 7C E9 03 A6 */ mtctr r7
/* 803B9BB8 003B6B18 40 81 01 10 */ ble lbl_803B9CC8
lbl_803B9BBC:
/* 803B9BBC 003B6B1C 54 C7 38 30 */ slwi r7, r6, 7
/* 803B9BC0 003B6B20 54 C8 78 20 */ slwi r8, r6, 0xf
/* 803B9BC4 003B6B24 7C C7 3A 78 */ xor r7, r6, r7
/* 803B9BC8 003B6B28 7D 07 3A 78 */ xor r7, r8, r7
/* 803B9BCC 003B6B2C 54 C9 B8 10 */ slwi r9, r6, 0x17
/* 803B9BD0 003B6B30 7D 27 3A 38 */ eqv r7, r9, r7
/* 803B9BD4 003B6B34 54 C8 08 3C */ slwi r8, r6, 1
/* 803B9BD8 003B6B38 54 E6 17 BC */ rlwinm r6, r7, 2, 0x1e, 0x1e
/* 803B9BDC 003B6B3C 7D 09 33 78 */ or r9, r8, r6
/* 803B9BE0 003B6B40 55 26 38 30 */ slwi r6, r9, 7
/* 803B9BE4 003B6B44 55 27 78 20 */ slwi r7, r9, 0xf
/* 803B9BE8 003B6B48 7D 26 32 78 */ xor r6, r9, r6
/* 803B9BEC 003B6B4C 55 28 B8 10 */ slwi r8, r9, 0x17
/* 803B9BF0 003B6B50 7C E6 32 78 */ xor r6, r7, r6
/* 803B9BF4 003B6B54 7D 06 32 38 */ eqv r6, r8, r6
/* 803B9BF8 003B6B58 54 CA 17 BC */ rlwinm r10, r6, 2, 0x1e, 0x1e
/* 803B9BFC 003B6B5C 51 2A 08 3A */ rlwimi r10, r9, 1, 0, 0x1d
/* 803B9C00 003B6B60 55 46 38 30 */ slwi r6, r10, 7
/* 803B9C04 003B6B64 55 47 78 20 */ slwi r7, r10, 0xf
/* 803B9C08 003B6B68 7D 46 32 78 */ xor r6, r10, r6
/* 803B9C0C 003B6B6C 55 48 B8 10 */ slwi r8, r10, 0x17
/* 803B9C10 003B6B70 7C E6 32 78 */ xor r6, r7, r6
/* 803B9C14 003B6B74 7D 06 32 38 */ eqv r6, r8, r6
/* 803B9C18 003B6B78 54 C9 17 BC */ rlwinm r9, r6, 2, 0x1e, 0x1e
/* 803B9C1C 003B6B7C 51 49 08 3A */ rlwimi r9, r10, 1, 0, 0x1d
/* 803B9C20 003B6B80 55 26 38 30 */ slwi r6, r9, 7
/* 803B9C24 003B6B84 55 27 78 20 */ slwi r7, r9, 0xf
/* 803B9C28 003B6B88 7D 26 32 78 */ xor r6, r9, r6
/* 803B9C2C 003B6B8C 55 28 B8 10 */ slwi r8, r9, 0x17
/* 803B9C30 003B6B90 7C E6 32 78 */ xor r6, r7, r6
/* 803B9C34 003B6B94 7D 06 32 38 */ eqv r6, r8, r6
/* 803B9C38 003B6B98 54 CA 17 BC */ rlwinm r10, r6, 2, 0x1e, 0x1e
/* 803B9C3C 003B6B9C 51 2A 08 3A */ rlwimi r10, r9, 1, 0, 0x1d
/* 803B9C40 003B6BA0 55 46 38 30 */ slwi r6, r10, 7
/* 803B9C44 003B6BA4 55 47 78 20 */ slwi r7, r10, 0xf
/* 803B9C48 003B6BA8 7D 46 32 78 */ xor r6, r10, r6
/* 803B9C4C 003B6BAC 55 48 B8 10 */ slwi r8, r10, 0x17
/* 803B9C50 003B6BB0 7C E6 32 78 */ xor r6, r7, r6
/* 803B9C54 003B6BB4 7D 06 32 38 */ eqv r6, r8, r6
/* 803B9C58 003B6BB8 54 C9 17 BC */ rlwinm r9, r6, 2, 0x1e, 0x1e
/* 803B9C5C 003B6BBC 51 49 08 3A */ rlwimi r9, r10, 1, 0, 0x1d
/* 803B9C60 003B6BC0 55 26 38 30 */ slwi r6, r9, 7
/* 803B9C64 003B6BC4 55 27 78 20 */ slwi r7, r9, 0xf
/* 803B9C68 003B6BC8 7D 26 32 78 */ xor r6, r9, r6
/* 803B9C6C 003B6BCC 55 28 B8 10 */ slwi r8, r9, 0x17
/* 803B9C70 003B6BD0 7C E6 32 78 */ xor r6, r7, r6
/* 803B9C74 003B6BD4 7D 06 32 38 */ eqv r6, r8, r6
/* 803B9C78 003B6BD8 54 CA 17 BC */ rlwinm r10, r6, 2, 0x1e, 0x1e
/* 803B9C7C 003B6BDC 51 2A 08 3A */ rlwimi r10, r9, 1, 0, 0x1d
/* 803B9C80 003B6BE0 55 46 38 30 */ slwi r6, r10, 7
/* 803B9C84 003B6BE4 55 47 78 20 */ slwi r7, r10, 0xf
/* 803B9C88 003B6BE8 7D 46 32 78 */ xor r6, r10, r6
/* 803B9C8C 003B6BEC 55 48 B8 10 */ slwi r8, r10, 0x17
/* 803B9C90 003B6BF0 7C E6 32 78 */ xor r6, r7, r6
/* 803B9C94 003B6BF4 7D 06 32 38 */ eqv r6, r8, r6
/* 803B9C98 003B6BF8 54 C9 17 BC */ rlwinm r9, r6, 2, 0x1e, 0x1e
/* 803B9C9C 003B6BFC 51 49 08 3A */ rlwimi r9, r10, 1, 0, 0x1d
/* 803B9CA0 003B6C00 55 26 38 30 */ slwi r6, r9, 7
/* 803B9CA4 003B6C04 55 27 78 20 */ slwi r7, r9, 0xf
/* 803B9CA8 003B6C08 7D 26 32 78 */ xor r6, r9, r6
/* 803B9CAC 003B6C0C 55 28 B8 10 */ slwi r8, r9, 0x17
/* 803B9CB0 003B6C10 7C E6 32 78 */ xor r6, r7, r6
/* 803B9CB4 003B6C14 7D 06 32 38 */ eqv r6, r8, r6
/* 803B9CB8 003B6C18 54 C6 17 BC */ rlwinm r6, r6, 2, 0x1e, 0x1e
/* 803B9CBC 003B6C1C 51 26 08 3A */ rlwimi r6, r9, 1, 0, 0x1d
/* 803B9CC0 003B6C20 38 63 00 08 */ addi r3, r3, 8
/* 803B9CC4 003B6C24 42 00 FE F8 */ bdnz lbl_803B9BBC
lbl_803B9CC8:
/* 803B9CC8 003B6C28 7C E3 20 50 */ subf r7, r3, r4
/* 803B9CCC 003B6C2C 7C 03 20 40 */ cmplw r3, r4
/* 803B9CD0 003B6C30 7C E9 03 A6 */ mtctr r7
/* 803B9CD4 003B6C34 40 80 00 2C */ bge lbl_803B9D00
lbl_803B9CD8:
/* 803B9CD8 003B6C38 54 C3 38 30 */ slwi r3, r6, 7
/* 803B9CDC 003B6C3C 54 C4 78 20 */ slwi r4, r6, 0xf
/* 803B9CE0 003B6C40 7C C3 1A 78 */ xor r3, r6, r3
/* 803B9CE4 003B6C44 54 C7 B8 10 */ slwi r7, r6, 0x17
/* 803B9CE8 003B6C48 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9CEC 003B6C4C 7C E3 1A 38 */ eqv r3, r7, r3
/* 803B9CF0 003B6C50 54 C4 08 3C */ slwi r4, r6, 1
/* 803B9CF4 003B6C54 54 63 17 BC */ rlwinm r3, r3, 2, 0x1e, 0x1e
/* 803B9CF8 003B6C58 7C 86 1B 78 */ or r6, r4, r3
/* 803B9CFC 003B6C5C 42 00 FF DC */ bdnz lbl_803B9CD8
lbl_803B9D00:
/* 803B9D00 003B6C60 54 C3 38 30 */ slwi r3, r6, 7
/* 803B9D04 003B6C64 54 C4 78 20 */ slwi r4, r6, 0xf
/* 803B9D08 003B6C68 7C C3 1A 78 */ xor r3, r6, r3
/* 803B9D0C 003B6C6C 54 C7 B8 10 */ slwi r7, r6, 0x17
/* 803B9D10 003B6C70 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9D14 003B6C74 7C E3 1A 38 */ eqv r3, r7, r3
/* 803B9D18 003B6C78 54 63 0F FE */ srwi r3, r3, 0x1f
/* 803B9D1C 003B6C7C 7C C3 1B 78 */ or r3, r6, r3
/* 803B9D20 003B6C80 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 803B9D24 003B6C84 38 60 00 04 */ li r3, 4
/* 803B9D28 003B6C88 7C 69 03 A6 */ mtctr r3
/* 803B9D2C 003B6C8C 38 60 00 00 */ li r3, 0
/* 803B9D30 003B6C90 80 9F 00 2C */ lwz r4, 0x2c(r31)
lbl_803B9D34:
/* 803B9D34 003B6C94 54 86 38 30 */ slwi r6, r4, 7
/* 803B9D38 003B6C98 54 87 78 20 */ slwi r7, r4, 0xf
/* 803B9D3C 003B6C9C 7C 86 32 78 */ xor r6, r4, r6
/* 803B9D40 003B6CA0 7C E6 32 78 */ xor r6, r7, r6
/* 803B9D44 003B6CA4 54 88 B8 10 */ slwi r8, r4, 0x17
/* 803B9D48 003B6CA8 7D 06 32 38 */ eqv r6, r8, r6
/* 803B9D4C 003B6CAC 54 87 08 3C */ slwi r7, r4, 1
/* 803B9D50 003B6CB0 54 C4 17 BC */ rlwinm r4, r6, 2, 0x1e, 0x1e
/* 803B9D54 003B6CB4 7C E8 23 78 */ or r8, r7, r4
/* 803B9D58 003B6CB8 55 04 38 30 */ slwi r4, r8, 7
/* 803B9D5C 003B6CBC 55 06 78 20 */ slwi r6, r8, 0xf
/* 803B9D60 003B6CC0 7D 04 22 78 */ xor r4, r8, r4
/* 803B9D64 003B6CC4 55 07 B8 10 */ slwi r7, r8, 0x17
/* 803B9D68 003B6CC8 7C C4 22 78 */ xor r4, r6, r4
/* 803B9D6C 003B6CCC 7C E4 22 38 */ eqv r4, r7, r4
/* 803B9D70 003B6CD0 54 89 17 BC */ rlwinm r9, r4, 2, 0x1e, 0x1e
/* 803B9D74 003B6CD4 51 09 08 3A */ rlwimi r9, r8, 1, 0, 0x1d
/* 803B9D78 003B6CD8 55 24 38 30 */ slwi r4, r9, 7
/* 803B9D7C 003B6CDC 55 26 78 20 */ slwi r6, r9, 0xf
/* 803B9D80 003B6CE0 7D 24 22 78 */ xor r4, r9, r4
/* 803B9D84 003B6CE4 55 27 B8 10 */ slwi r7, r9, 0x17
/* 803B9D88 003B6CE8 7C C4 22 78 */ xor r4, r6, r4
/* 803B9D8C 003B6CEC 7C E4 22 38 */ eqv r4, r7, r4
/* 803B9D90 003B6CF0 54 88 17 BC */ rlwinm r8, r4, 2, 0x1e, 0x1e
/* 803B9D94 003B6CF4 51 28 08 3A */ rlwimi r8, r9, 1, 0, 0x1d
/* 803B9D98 003B6CF8 55 04 38 30 */ slwi r4, r8, 7
/* 803B9D9C 003B6CFC 55 06 78 20 */ slwi r6, r8, 0xf
/* 803B9DA0 003B6D00 7D 04 22 78 */ xor r4, r8, r4
/* 803B9DA4 003B6D04 55 07 B8 10 */ slwi r7, r8, 0x17
/* 803B9DA8 003B6D08 7C C4 22 78 */ xor r4, r6, r4
/* 803B9DAC 003B6D0C 7C E4 22 38 */ eqv r4, r7, r4
/* 803B9DB0 003B6D10 54 89 17 BC */ rlwinm r9, r4, 2, 0x1e, 0x1e
/* 803B9DB4 003B6D14 51 09 08 3A */ rlwimi r9, r8, 1, 0, 0x1d
/* 803B9DB8 003B6D18 55 24 38 30 */ slwi r4, r9, 7
/* 803B9DBC 003B6D1C 55 26 78 20 */ slwi r6, r9, 0xf
/* 803B9DC0 003B6D20 7D 24 22 78 */ xor r4, r9, r4
/* 803B9DC4 003B6D24 55 27 B8 10 */ slwi r7, r9, 0x17
/* 803B9DC8 003B6D28 7C C4 22 78 */ xor r4, r6, r4
/* 803B9DCC 003B6D2C 7C E4 22 38 */ eqv r4, r7, r4
/* 803B9DD0 003B6D30 54 88 17 BC */ rlwinm r8, r4, 2, 0x1e, 0x1e
/* 803B9DD4 003B6D34 51 28 08 3A */ rlwimi r8, r9, 1, 0, 0x1d
/* 803B9DD8 003B6D38 55 04 38 30 */ slwi r4, r8, 7
/* 803B9DDC 003B6D3C 55 06 78 20 */ slwi r6, r8, 0xf
/* 803B9DE0 003B6D40 7D 04 22 78 */ xor r4, r8, r4
/* 803B9DE4 003B6D44 55 07 B8 10 */ slwi r7, r8, 0x17
/* 803B9DE8 003B6D48 7C C4 22 78 */ xor r4, r6, r4
/* 803B9DEC 003B6D4C 7C E4 22 38 */ eqv r4, r7, r4
/* 803B9DF0 003B6D50 54 89 17 BC */ rlwinm r9, r4, 2, 0x1e, 0x1e
/* 803B9DF4 003B6D54 51 09 08 3A */ rlwimi r9, r8, 1, 0, 0x1d
/* 803B9DF8 003B6D58 55 24 38 30 */ slwi r4, r9, 7
/* 803B9DFC 003B6D5C 55 26 78 20 */ slwi r6, r9, 0xf
/* 803B9E00 003B6D60 7D 24 22 78 */ xor r4, r9, r4
/* 803B9E04 003B6D64 55 27 B8 10 */ slwi r7, r9, 0x17
/* 803B9E08 003B6D68 7C C4 22 78 */ xor r4, r6, r4
/* 803B9E0C 003B6D6C 7C E4 22 38 */ eqv r4, r7, r4
/* 803B9E10 003B6D70 54 88 17 BC */ rlwinm r8, r4, 2, 0x1e, 0x1e
/* 803B9E14 003B6D74 51 28 08 3A */ rlwimi r8, r9, 1, 0, 0x1d
/* 803B9E18 003B6D78 55 04 38 30 */ slwi r4, r8, 7
/* 803B9E1C 003B6D7C 55 06 78 20 */ slwi r6, r8, 0xf
/* 803B9E20 003B6D80 7D 04 22 78 */ xor r4, r8, r4
/* 803B9E24 003B6D84 55 07 B8 10 */ slwi r7, r8, 0x17
/* 803B9E28 003B6D88 7C C4 22 78 */ xor r4, r6, r4
/* 803B9E2C 003B6D8C 7C E4 22 38 */ eqv r4, r7, r4
/* 803B9E30 003B6D90 54 84 17 BC */ rlwinm r4, r4, 2, 0x1e, 0x1e
/* 803B9E34 003B6D94 51 04 08 3A */ rlwimi r4, r8, 1, 0, 0x1d
/* 803B9E38 003B6D98 38 63 00 08 */ addi r3, r3, 8
/* 803B9E3C 003B6D9C 42 00 FE F8 */ bdnz lbl_803B9D34
/* 803B9E40 003B6DA0 20 C3 00 21 */ subfic r6, r3, 0x21
/* 803B9E44 003B6DA4 28 03 00 21 */ cmplwi r3, 0x21
/* 803B9E48 003B6DA8 7C C9 03 A6 */ mtctr r6
/* 803B9E4C 003B6DAC 40 80 00 2C */ bge lbl_803B9E78
lbl_803B9E50:
/* 803B9E50 003B6DB0 54 83 38 30 */ slwi r3, r4, 7
/* 803B9E54 003B6DB4 54 86 78 20 */ slwi r6, r4, 0xf
/* 803B9E58 003B6DB8 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9E5C 003B6DBC 54 87 B8 10 */ slwi r7, r4, 0x17
/* 803B9E60 003B6DC0 7C C3 1A 78 */ xor r3, r6, r3
/* 803B9E64 003B6DC4 7C E3 1A 38 */ eqv r3, r7, r3
/* 803B9E68 003B6DC8 54 84 08 3C */ slwi r4, r4, 1
/* 803B9E6C 003B6DCC 54 63 17 BC */ rlwinm r3, r3, 2, 0x1e, 0x1e
/* 803B9E70 003B6DD0 7C 84 1B 78 */ or r4, r4, r3
/* 803B9E74 003B6DD4 42 00 FF DC */ bdnz lbl_803B9E50
lbl_803B9E78:
/* 803B9E78 003B6DD8 54 83 38 30 */ slwi r3, r4, 7
/* 803B9E7C 003B6DDC 54 86 78 20 */ slwi r6, r4, 0xf
/* 803B9E80 003B6DE0 7C 83 1A 78 */ xor r3, r4, r3
/* 803B9E84 003B6DE4 54 87 B8 10 */ slwi r7, r4, 0x17
/* 803B9E88 003B6DE8 7C C3 1A 78 */ xor r3, r6, r3
/* 803B9E8C 003B6DEC 7C E3 1A 38 */ eqv r3, r7, r3
/* 803B9E90 003B6DF0 54 63 0F FE */ srwi r3, r3, 0x1f
/* 803B9E94 003B6DF4 7C 83 1B 78 */ or r3, r4, r3
/* 803B9E98 003B6DF8 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 803B9E9C 003B6DFC 38 C0 00 08 */ li r6, 8
/* 803B9EA0 003B6E00 3B 60 00 00 */ li r27, 0
/* 803B9EA4 003B6E04 90 1C 00 00 */ stw r0, 0(r28)
/* 803B9EA8 003B6E08 38 7C 00 00 */ addi r3, r28, 0
/* 803B9EAC 003B6E0C 38 80 00 08 */ li r4, 8
/* 803B9EB0 003B6E10 90 BC 00 04 */ stw r5, 4(r28)
/* 803B9EB4 003B6E14 93 9D 00 00 */ stw r28, 0(r29)
/* 803B9EB8 003B6E18 90 DD 00 04 */ stw r6, 4(r29)
/* 803B9EBC 003B6E1C 92 DD 00 0C */ stw r22, 0xc(r29)
/* 803B9EC0 003B6E20 93 7D 00 08 */ stw r27, 8(r29)
/* 803B9EC4 003B6E24 4B FC 4B ED */ bl DCFlushRange
/* 803B9EC8 003B6E28 38 76 00 00 */ addi r3, r22, 0
/* 803B9ECC 003B6E2C 38 80 00 04 */ li r4, 4
/* 803B9ED0 003B6E30 4B FC 4B B5 */ bl DCInvalidateRange
/* 803B9ED4 003B6E34 38 7D 00 00 */ addi r3, r29, 0
/* 803B9ED8 003B6E38 38 80 00 10 */ li r4, 0x10
/* 803B9EDC 003B6E3C 4B FC 4B D5 */ bl DCFlushRange
/* 803B9EE0 003B6E40 38 00 00 FF */ li r0, 0xff
/* 803B9EE4 003B6E44 3C 60 80 3F */ lis r3, CardData@ha
/* 803B9EE8 003B6E48 90 1E 00 04 */ stw r0, 4(r30)
/* 803B9EEC 003B6E4C 38 63 6D 00 */ addi r3, r3, CardData@l
/* 803B9EF0 003B6E50 3C 03 80 00 */ addis r0, r3, 0x8000
/* 803B9EF4 003B6E54 90 1E 00 0C */ stw r0, 0xc(r30)
/* 803B9EF8 003B6E58 38 00 01 60 */ li r0, 0x160
/* 803B9EFC 003B6E5C 3C 80 80 3C */ lis r4, InitCallback@ha
/* 803B9F00 003B6E60 90 1E 00 10 */ stw r0, 0x10(r30)
/* 803B9F04 003B6E64 3C 60 80 3C */ lis r3, DoneCallback@ha
/* 803B9F08 003B6E68 38 A0 00 10 */ li r5, 0x10
/* 803B9F0C 003B6E6C 93 7E 00 14 */ stw r27, 0x14(r30)
/* 803B9F10 003B6E70 38 84 9F 58 */ addi r4, r4, InitCallback@l
/* 803B9F14 003B6E74 38 03 9F C8 */ addi r0, r3, DoneCallback@l
/* 803B9F18 003B6E78 B0 BE 00 24 */ sth r5, 0x24(r30)
/* 803B9F1C 003B6E7C 7F C3 F3 78 */ mr r3, r30
/* 803B9F20 003B6E80 90 9E 00 28 */ stw r4, 0x28(r30)
/* 803B9F24 003B6E84 93 7E 00 2C */ stw r27, 0x2c(r30)
/* 803B9F28 003B6E88 90 1E 00 30 */ stw r0, 0x30(r30)
/* 803B9F2C 003B6E8C 93 7E 00 34 */ stw r27, 0x34(r30)
/* 803B9F30 003B6E90 4B FB 5C 31 */ bl DSPAddTask
/* 803B9F34 003B6E94 93 37 00 00 */ stw r25, 0(r23)
/* 803B9F38 003B6E98 38 60 00 00 */ li r3, 0
/* 803B9F3C 003B6E9C 93 57 00 04 */ stw r26, 4(r23)
/* 803B9F40 003B6EA0 93 17 00 08 */ stw r24, 8(r23)
lbl_803B9F44:
/* 803B9F44 003B6EA4 BA C1 00 F8 */ lmw r22, 0xf8(r1)
/* 803B9F48 003B6EA8 80 01 01 24 */ lwz r0, 0x124(r1)
/* 803B9F4C 003B6EAC 38 21 01 20 */ addi r1, r1, 0x120
/* 803B9F50 003B6EB0 7C 08 03 A6 */ mtlr r0
/* 803B9F54 003B6EB4 4E 80 00 20 */ blr
.global InitCallback
InitCallback:
/* 803B9F58 003B6EB8 7C 08 02 A6 */ mflr r0
/* 803B9F5C 003B6EBC 3C 80 80 57 */ lis r4, __CARDBlock@ha
/* 803B9F60 003B6EC0 90 01 00 04 */ stw r0, 4(r1)
/* 803B9F64 003B6EC4 38 84 9A 58 */ addi r4, r4, __CARDBlock@l
/* 803B9F68 003B6EC8 38 04 00 30 */ addi r0, r4, 0x30
/* 803B9F6C 003B6ECC 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803B9F70 003B6ED0 7C 00 18 40 */ cmplw r0, r3
/* 803B9F74 003B6ED4 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803B9F78 003B6ED8 41 82 00 10 */ beq lbl_803B9F88
/* 803B9F7C 003B6EDC 38 04 01 40 */ addi r0, r4, 0x140
/* 803B9F80 003B6EE0 7C 00 18 40 */ cmplw r0, r3
/* 803B9F84 003B6EE4 38 84 01 10 */ addi r4, r4, 0x110
lbl_803B9F88:
/* 803B9F88 003B6EE8 83 E4 00 80 */ lwz r31, 0x80(r4)
/* 803B9F8C 003B6EEC 3C 60 FF 00 */ lis r3, 0xff00
/* 803B9F90 003B6EF0 4B FB 5A 61 */ bl DSPSendMailToDSP
lbl_803B9F94:
/* 803B9F94 003B6EF4 4B FB 5A 25 */ bl DSPCheckMailToDSP
/* 803B9F98 003B6EF8 28 03 00 00 */ cmplwi r3, 0
/* 803B9F9C 003B6EFC 40 82 FF F8 */ bne lbl_803B9F94
/* 803B9FA0 003B6F00 7F E3 FB 78 */ mr r3, r31
/* 803B9FA4 003B6F04 4B FB 5A 4D */ bl DSPSendMailToDSP
lbl_803B9FA8:
/* 803B9FA8 003B6F08 4B FB 5A 11 */ bl DSPCheckMailToDSP
/* 803B9FAC 003B6F0C 28 03 00 00 */ cmplwi r3, 0
/* 803B9FB0 003B6F10 40 82 FF F8 */ bne lbl_803B9FA8
/* 803B9FB4 003B6F14 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803B9FB8 003B6F18 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803B9FBC 003B6F1C 38 21 00 18 */ addi r1, r1, 0x18
/* 803B9FC0 003B6F20 7C 08 03 A6 */ mtlr r0
/* 803B9FC4 003B6F24 4E 80 00 20 */ blr
.global DoneCallback
DoneCallback:
/* 803B9FC8 003B6F28 7C 08 02 A6 */ mflr r0
/* 803B9FCC 003B6F2C 3C 80 80 57 */ lis r4, __CARDBlock@ha
/* 803B9FD0 003B6F30 90 01 00 04 */ stw r0, 4(r1)
/* 803B9FD4 003B6F34 38 84 9A 58 */ addi r4, r4, __CARDBlock@l
/* 803B9FD8 003B6F38 38 04 00 30 */ addi r0, r4, 0x30
/* 803B9FDC 003B6F3C 94 21 FF 78 */ stwu r1, -0x88(r1)
/* 803B9FE0 003B6F40 7C 00 18 40 */ cmplw r0, r3
/* 803B9FE4 003B6F44 93 E1 00 84 */ stw r31, 0x84(r1)
/* 803B9FE8 003B6F48 3B E0 00 00 */ li r31, 0
/* 803B9FEC 003B6F4C 93 C1 00 80 */ stw r30, 0x80(r1)
/* 803B9FF0 003B6F50 93 A1 00 7C */ stw r29, 0x7c(r1)
/* 803B9FF4 003B6F54 3B A4 00 00 */ addi r29, r4, 0
/* 803B9FF8 003B6F58 93 81 00 78 */ stw r28, 0x78(r1)
/* 803B9FFC 003B6F5C 41 82 00 20 */ beq lbl_803BA01C
/* 803BA000 003B6F60 38 04 01 40 */ addi r0, r4, 0x140
/* 803BA004 003B6F64 7C 00 18 40 */ cmplw r0, r3
/* 803BA008 003B6F68 38 84 01 10 */ addi r4, r4, 0x110
/* 803BA00C 003B6F6C 3B A4 00 00 */ addi r29, r4, 0
/* 803BA010 003B6F70 3B E0 00 01 */ li r31, 1
/* 803BA014 003B6F74 41 82 00 08 */ beq lbl_803BA01C
/* 803BA018 003B6F78 3B E0 00 02 */ li r31, 2
lbl_803BA01C:
/* 803BA01C 003B6F7C 80 7D 00 80 */ lwz r3, 0x80(r29)
/* 803BA020 003B6F80 38 03 00 2F */ addi r0, r3, 0x2f
/* 803BA024 003B6F84 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a
/* 803BA028 003B6F88 83 C3 00 20 */ lwz r30, 0x20(r3)
/* 803BA02C 003B6F8C 4B FF F3 11 */ bl DummyLen
/* 803BA030 003B6F90 80 1D 00 2C */ lwz r0, 0x2c(r29)
/* 803BA034 003B6F94 3B 83 00 00 */ addi r28, r3, 0
/* 803BA038 003B6F98 38 DC 00 00 */ addi r6, r28, 0
/* 803BA03C 003B6F9C 7F C0 02 78 */ xor r0, r30, r0
/* 803BA040 003B6FA0 54 04 00 1E */ rlwinm r4, r0, 0, 0, 0xf
/* 803BA044 003B6FA4 38 7F 00 00 */ addi r3, r31, 0
/* 803BA048 003B6FA8 38 A1 00 34 */ addi r5, r1, 0x34
/* 803BA04C 003B6FAC 38 E0 00 01 */ li r7, 1
/* 803BA050 003B6FB0 4B FF F1 A9 */ bl ReadArrayUnlock
/* 803BA054 003B6FB4 2C 03 00 00 */ cmpwi r3, 0
/* 803BA058 003B6FB8 40 80 00 1C */ bge lbl_803BA074
/* 803BA05C 003B6FBC 7F E3 FB 78 */ mr r3, r31
/* 803BA060 003B6FC0 48 00 73 F9 */ bl EXIUnlock
/* 803BA064 003B6FC4 38 7F 00 00 */ addi r3, r31, 0
/* 803BA068 003B6FC8 38 80 FF FD */ li r4, -3
/* 803BA06C 003B6FCC 48 00 20 FD */ bl __CARDMountCallback
/* 803BA070 003B6FD0 48 00 02 5C */ b lbl_803BA2CC
lbl_803BA074:
/* 803BA074 003B6FD4 80 9D 00 14 */ lwz r4, 0x14(r29)
/* 803BA078 003B6FD8 38 60 00 00 */ li r3, 0
/* 803BA07C 003B6FDC 80 1D 00 2C */ lwz r0, 0x2c(r29)
/* 803BA080 003B6FE0 7C 9C 22 14 */ add r4, r28, r4
/* 803BA084 003B6FE4 38 84 00 04 */ addi r4, r4, 4
/* 803BA088 003B6FE8 54 84 18 38 */ slwi r4, r4, 3
/* 803BA08C 003B6FEC 38 84 00 01 */ addi r4, r4, 1
/* 803BA090 003B6FF0 28 04 00 00 */ cmplwi r4, 0
/* 803BA094 003B6FF4 40 81 01 68 */ ble lbl_803BA1FC
/* 803BA098 003B6FF8 28 04 00 08 */ cmplwi r4, 8
/* 803BA09C 003B6FFC 38 C4 FF F8 */ addi r6, r4, -8
/* 803BA0A0 003B7000 40 81 01 24 */ ble lbl_803BA1C4
/* 803BA0A4 003B7004 38 A6 00 07 */ addi r5, r6, 7
/* 803BA0A8 003B7008 54 A5 E8 FE */ srwi r5, r5, 3
/* 803BA0AC 003B700C 28 06 00 00 */ cmplwi r6, 0
/* 803BA0B0 003B7010 7C A9 03 A6 */ mtctr r5
/* 803BA0B4 003B7014 40 81 01 10 */ ble lbl_803BA1C4
lbl_803BA0B8:
/* 803BA0B8 003B7018 54 05 38 30 */ slwi r5, r0, 7
/* 803BA0BC 003B701C 54 06 78 20 */ slwi r6, r0, 0xf
/* 803BA0C0 003B7020 7C 05 2A 78 */ xor r5, r0, r5
/* 803BA0C4 003B7024 7C C5 2A 78 */ xor r5, r6, r5
/* 803BA0C8 003B7028 54 07 B8 10 */ slwi r7, r0, 0x17
/* 803BA0CC 003B702C 7C E5 2A 38 */ eqv r5, r7, r5
/* 803BA0D0 003B7030 54 06 08 3C */ slwi r6, r0, 1
/* 803BA0D4 003B7034 54 A0 17 BC */ rlwinm r0, r5, 2, 0x1e, 0x1e
/* 803BA0D8 003B7038 7C C7 03 78 */ or r7, r6, r0
/* 803BA0DC 003B703C 54 E0 38 30 */ slwi r0, r7, 7
/* 803BA0E0 003B7040 54 E5 78 20 */ slwi r5, r7, 0xf
/* 803BA0E4 003B7044 7C E0 02 78 */ xor r0, r7, r0
/* 803BA0E8 003B7048 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803BA0EC 003B704C 7C A0 02 78 */ xor r0, r5, r0
/* 803BA0F0 003B7050 7C C0 02 38 */ eqv r0, r6, r0
/* 803BA0F4 003B7054 54 08 17 BC */ rlwinm r8, r0, 2, 0x1e, 0x1e
/* 803BA0F8 003B7058 50 E8 08 3A */ rlwimi r8, r7, 1, 0, 0x1d
/* 803BA0FC 003B705C 55 00 38 30 */ slwi r0, r8, 7
/* 803BA100 003B7060 55 05 78 20 */ slwi r5, r8, 0xf
/* 803BA104 003B7064 7D 00 02 78 */ xor r0, r8, r0
/* 803BA108 003B7068 55 06 B8 10 */ slwi r6, r8, 0x17
/* 803BA10C 003B706C 7C A0 02 78 */ xor r0, r5, r0
/* 803BA110 003B7070 7C C0 02 38 */ eqv r0, r6, r0
/* 803BA114 003B7074 54 07 17 BC */ rlwinm r7, r0, 2, 0x1e, 0x1e
/* 803BA118 003B7078 51 07 08 3A */ rlwimi r7, r8, 1, 0, 0x1d
/* 803BA11C 003B707C 54 E0 38 30 */ slwi r0, r7, 7
/* 803BA120 003B7080 54 E5 78 20 */ slwi r5, r7, 0xf
/* 803BA124 003B7084 7C E0 02 78 */ xor r0, r7, r0
/* 803BA128 003B7088 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803BA12C 003B708C 7C A0 02 78 */ xor r0, r5, r0
/* 803BA130 003B7090 7C C0 02 38 */ eqv r0, r6, r0
/* 803BA134 003B7094 54 08 17 BC */ rlwinm r8, r0, 2, 0x1e, 0x1e
/* 803BA138 003B7098 50 E8 08 3A */ rlwimi r8, r7, 1, 0, 0x1d
/* 803BA13C 003B709C 55 00 38 30 */ slwi r0, r8, 7
/* 803BA140 003B70A0 55 05 78 20 */ slwi r5, r8, 0xf
/* 803BA144 003B70A4 7D 00 02 78 */ xor r0, r8, r0
/* 803BA148 003B70A8 55 06 B8 10 */ slwi r6, r8, 0x17
/* 803BA14C 003B70AC 7C A0 02 78 */ xor r0, r5, r0
/* 803BA150 003B70B0 7C C0 02 38 */ eqv r0, r6, r0
/* 803BA154 003B70B4 54 07 17 BC */ rlwinm r7, r0, 2, 0x1e, 0x1e
/* 803BA158 003B70B8 51 07 08 3A */ rlwimi r7, r8, 1, 0, 0x1d
/* 803BA15C 003B70BC 54 E0 38 30 */ slwi r0, r7, 7
/* 803BA160 003B70C0 54 E5 78 20 */ slwi r5, r7, 0xf
/* 803BA164 003B70C4 7C E0 02 78 */ xor r0, r7, r0
/* 803BA168 003B70C8 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803BA16C 003B70CC 7C A0 02 78 */ xor r0, r5, r0
/* 803BA170 003B70D0 7C C0 02 38 */ eqv r0, r6, r0
/* 803BA174 003B70D4 54 08 17 BC */ rlwinm r8, r0, 2, 0x1e, 0x1e
/* 803BA178 003B70D8 50 E8 08 3A */ rlwimi r8, r7, 1, 0, 0x1d
/* 803BA17C 003B70DC 55 00 38 30 */ slwi r0, r8, 7
/* 803BA180 003B70E0 55 05 78 20 */ slwi r5, r8, 0xf
/* 803BA184 003B70E4 7D 00 02 78 */ xor r0, r8, r0
/* 803BA188 003B70E8 55 06 B8 10 */ slwi r6, r8, 0x17
/* 803BA18C 003B70EC 7C A0 02 78 */ xor r0, r5, r0
/* 803BA190 003B70F0 7C C0 02 38 */ eqv r0, r6, r0
/* 803BA194 003B70F4 54 07 17 BC */ rlwinm r7, r0, 2, 0x1e, 0x1e
/* 803BA198 003B70F8 51 07 08 3A */ rlwimi r7, r8, 1, 0, 0x1d
/* 803BA19C 003B70FC 54 E0 38 30 */ slwi r0, r7, 7
/* 803BA1A0 003B7100 54 E5 78 20 */ slwi r5, r7, 0xf
/* 803BA1A4 003B7104 7C E0 02 78 */ xor r0, r7, r0
/* 803BA1A8 003B7108 54 E6 B8 10 */ slwi r6, r7, 0x17
/* 803BA1AC 003B710C 7C A0 02 78 */ xor r0, r5, r0
/* 803BA1B0 003B7110 7C C0 02 38 */ eqv r0, r6, r0
/* 803BA1B4 003B7114 54 00 17 BC */ rlwinm r0, r0, 2, 0x1e, 0x1e
/* 803BA1B8 003B7118 50 E0 08 3A */ rlwimi r0, r7, 1, 0, 0x1d
/* 803BA1BC 003B711C 38 63 00 08 */ addi r3, r3, 8
/* 803BA1C0 003B7120 42 00 FE F8 */ bdnz lbl_803BA0B8
lbl_803BA1C4:
/* 803BA1C4 003B7124 7C A3 20 50 */ subf r5, r3, r4
/* 803BA1C8 003B7128 7C 03 20 40 */ cmplw r3, r4
/* 803BA1CC 003B712C 7C A9 03 A6 */ mtctr r5
/* 803BA1D0 003B7130 40 80 00 2C */ bge lbl_803BA1FC
lbl_803BA1D4:
/* 803BA1D4 003B7134 54 03 38 30 */ slwi r3, r0, 7
/* 803BA1D8 003B7138 54 04 78 20 */ slwi r4, r0, 0xf
/* 803BA1DC 003B713C 7C 03 1A 78 */ xor r3, r0, r3
/* 803BA1E0 003B7140 54 05 B8 10 */ slwi r5, r0, 0x17
/* 803BA1E4 003B7144 7C 83 1A 78 */ xor r3, r4, r3
/* 803BA1E8 003B7148 7C A3 1A 38 */ eqv r3, r5, r3
/* 803BA1EC 003B714C 54 04 08 3C */ slwi r4, r0, 1
/* 803BA1F0 003B7150 54 60 17 BC */ rlwinm r0, r3, 2, 0x1e, 0x1e
/* 803BA1F4 003B7154 7C 80 03 78 */ or r0, r4, r0
/* 803BA1F8 003B7158 42 00 FF DC */ bdnz lbl_803BA1D4
lbl_803BA1FC:
/* 803BA1FC 003B715C 54 03 38 30 */ slwi r3, r0, 7
/* 803BA200 003B7160 54 04 78 20 */ slwi r4, r0, 0xf
/* 803BA204 003B7164 7C 03 1A 78 */ xor r3, r0, r3
/* 803BA208 003B7168 54 05 B8 10 */ slwi r5, r0, 0x17
/* 803BA20C 003B716C 7C 83 1A 78 */ xor r3, r4, r3
/* 803BA210 003B7170 7C A3 1A 38 */ eqv r3, r5, r3
/* 803BA214 003B7174 54 63 0F FE */ srwi r3, r3, 0x1f
/* 803BA218 003B7178 7C 00 1B 78 */ or r0, r0, r3
/* 803BA21C 003B717C 90 1D 00 2C */ stw r0, 0x2c(r29)
/* 803BA220 003B7180 4B FF F1 1D */ bl DummyLen
/* 803BA224 003B7184 80 1D 00 2C */ lwz r0, 0x2c(r29)
/* 803BA228 003B7188 57 C4 80 1E */ slwi r4, r30, 0x10
/* 803BA22C 003B718C 38 C3 00 00 */ addi r6, r3, 0
/* 803BA230 003B7190 7C 80 02 78 */ xor r0, r4, r0
/* 803BA234 003B7194 54 04 00 1E */ rlwinm r4, r0, 0, 0, 0xf
/* 803BA238 003B7198 38 7F 00 00 */ addi r3, r31, 0
/* 803BA23C 003B719C 38 A1 00 34 */ addi r5, r1, 0x34
/* 803BA240 003B71A0 38 E0 00 01 */ li r7, 1
/* 803BA244 003B71A4 4B FF EF B5 */ bl ReadArrayUnlock
/* 803BA248 003B71A8 2C 03 00 00 */ cmpwi r3, 0
/* 803BA24C 003B71AC 40 80 00 1C */ bge lbl_803BA268
/* 803BA250 003B71B0 7F E3 FB 78 */ mr r3, r31
/* 803BA254 003B71B4 48 00 72 05 */ bl EXIUnlock
/* 803BA258 003B71B8 38 7F 00 00 */ addi r3, r31, 0
/* 803BA25C 003B71BC 38 80 FF FD */ li r4, -3
/* 803BA260 003B71C0 48 00 1F 09 */ bl __CARDMountCallback
/* 803BA264 003B71C4 48 00 00 68 */ b lbl_803BA2CC
lbl_803BA268:
/* 803BA268 003B71C8 38 7F 00 00 */ addi r3, r31, 0
/* 803BA26C 003B71CC 38 81 00 30 */ addi r4, r1, 0x30
/* 803BA270 003B71D0 4B FF DF E5 */ bl __CARDReadStatus
/* 803BA274 003B71D4 3B 83 00 00 */ addi r28, r3, 0
/* 803BA278 003B71D8 38 7F 00 00 */ addi r3, r31, 0
/* 803BA27C 003B71DC 48 00 66 E5 */ bl EXIProbe
/* 803BA280 003B71E0 2C 03 00 00 */ cmpwi r3, 0
/* 803BA284 003B71E4 40 82 00 1C */ bne lbl_803BA2A0
/* 803BA288 003B71E8 7F E3 FB 78 */ mr r3, r31
/* 803BA28C 003B71EC 48 00 71 CD */ bl EXIUnlock
/* 803BA290 003B71F0 38 7F 00 00 */ addi r3, r31, 0
/* 803BA294 003B71F4 38 80 FF FD */ li r4, -3
/* 803BA298 003B71F8 48 00 1E D1 */ bl __CARDMountCallback
/* 803BA29C 003B71FC 48 00 00 30 */ b lbl_803BA2CC
lbl_803BA2A0:
/* 803BA2A0 003B7200 2C 1C 00 00 */ cmpwi r28, 0
/* 803BA2A4 003B7204 40 82 00 1C */ bne lbl_803BA2C0
/* 803BA2A8 003B7208 88 01 00 30 */ lbz r0, 0x30(r1)
/* 803BA2AC 003B720C 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
/* 803BA2B0 003B7210 40 82 00 10 */ bne lbl_803BA2C0
/* 803BA2B4 003B7214 7F E3 FB 78 */ mr r3, r31
/* 803BA2B8 003B7218 48 00 71 A1 */ bl EXIUnlock
/* 803BA2BC 003B721C 3B 80 FF FB */ li r28, -5
lbl_803BA2C0:
/* 803BA2C0 003B7220 38 7F 00 00 */ addi r3, r31, 0
/* 803BA2C4 003B7224 38 9C 00 00 */ addi r4, r28, 0
/* 803BA2C8 003B7228 48 00 1E A1 */ bl __CARDMountCallback
lbl_803BA2CC:
/* 803BA2CC 003B722C 80 01 00 8C */ lwz r0, 0x8c(r1)
/* 803BA2D0 003B7230 83 E1 00 84 */ lwz r31, 0x84(r1)
/* 803BA2D4 003B7234 83 C1 00 80 */ lwz r30, 0x80(r1)
/* 803BA2D8 003B7238 83 A1 00 7C */ lwz r29, 0x7c(r1)
/* 803BA2DC 003B723C 83 81 00 78 */ lwz r28, 0x78(r1)
/* 803BA2E0 003B7240 38 21 00 88 */ addi r1, r1, 0x88
/* 803BA2E4 003B7244 7C 08 03 A6 */ mtlr r0
/* 803BA2E8 003B7248 4E 80 00 20 */ blr