.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