prime/asm/Dolphin/card/CARDUnlock.s

1263 lines
63 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .data, "wa"
.global lbl_803F6D00
lbl_803F6D00:
.incbin "baserom.dol", 0x3F3D00, 0x160
.section .sdata, "wa"
.global lbl_805A8BF8
lbl_805A8BF8:
.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
.global ReadArrayUnlock
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, lbl_80569A58@ha
/* 803B9210 003B6170 38 03 9A 58 */ addi r0, r3, lbl_80569A58@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, lbl_805A8BF8@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, lbl_805A8BF8@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, lbl_805A8BF8@sda21(r13)
/* 803B937C 003B62DC 80 0D A0 38 */ lwz r0, lbl_805A8BF8@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, lbl_805A8BF8@sda21(r13)
/* 803B93A8 003B6308 3B BD 00 01 */ addi r29, r29, 1
/* 803B93AC 003B630C 80 0D A0 38 */ lwz r0, lbl_805A8BF8@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, lbl_805A8BF8@sda21(r13)
/* 803B93BC 003B631C 80 0D A0 38 */ lwz r0, lbl_805A8BF8@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, lbl_80569A58@ha
/* 803B9418 003B6378 1C B8 01 10 */ mulli r5, r24, 0x110
/* 803B941C 003B637C 38 03 9A 58 */ addi r0, r3, lbl_80569A58@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, lbl_805A8BF8@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, lbl_805A8BF8@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, lbl_805A8BF8@sda21(r13)
/* 803B9468 003B63C8 80 0D A0 38 */ lwz r0, lbl_805A8BF8@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, lbl_803F6D00@ha
/* 803B9EE8 003B6E48 90 1E 00 04 */ stw r0, 4(r30)
/* 803B9EEC 003B6E4C 38 63 6D 00 */ addi r3, r3, lbl_803F6D00@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, lbl_80569A58@ha
/* 803B9F60 003B6EC0 90 01 00 04 */ stw r0, 4(r1)
/* 803B9F64 003B6EC4 38 84 9A 58 */ addi r4, r4, lbl_80569A58@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, lbl_80569A58@ha
/* 803B9FD0 003B6F30 90 01 00 04 */ stw r0, 4(r1)
/* 803B9FD4 003B6F34 38 84 9A 58 */ addi r4, r4, lbl_80569A58@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