lbl_803401FC: /* 803401FC 7C 08 02 A6 */ mflr r0 /* 80340200 2C 03 00 00 */ cmpwi r3, 0 /* 80340204 90 01 00 04 */ stw r0, 4(r1) /* 80340208 3C 60 80 45 */ lis r3, Scb@ha /* 0x8044BB20@ha */ /* 8034020C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80340210 BF 61 00 1C */ stmw r27, 0x1c(r1) /* 80340214 3B E3 BB 20 */ addi r31, r3, Scb@l /* 0x8044BB20@l */ /* 80340218 41 82 02 F8 */ beq lbl_80340510 /* 8034021C 28 04 00 00 */ cmplwi r4, 0 /* 80340220 40 82 01 B0 */ bne lbl_803403D0 /* 80340224 88 7F 00 13 */ lbz r3, 0x13(r31) /* 80340228 54 60 07 BE */ clrlwi r0, r3, 0x1e /* 8034022C 28 00 00 02 */ cmplwi r0, 2 /* 80340230 40 81 00 0C */ ble lbl_8034023C /* 80340234 54 60 00 3A */ rlwinm r0, r3, 0, 0, 0x1d /* 80340238 98 1F 00 13 */ stb r0, 0x13(r31) lbl_8034023C: /* 8034023C 38 00 00 00 */ li r0, 0 /* 80340240 B0 1F 00 02 */ sth r0, 2(r31) /* 80340244 38 BF 00 14 */ addi r5, r31, 0x14 /* 80340248 38 DF 00 0C */ addi r6, r31, 0xc /* 8034024C 38 65 00 01 */ addi r3, r5, 1 /* 80340250 B0 1F 00 00 */ sth r0, 0(r31) /* 80340254 7C 66 18 50 */ subf r3, r6, r3 /* 80340258 7C 06 28 40 */ cmplw r6, r5 /* 8034025C 54 63 F8 7E */ srwi r3, r3, 1 /* 80340260 40 80 01 70 */ bge lbl_803403D0 /* 80340264 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f /* 80340268 7C 09 03 A6 */ mtctr r0 /* 8034026C 41 82 01 34 */ beq lbl_803403A0 lbl_80340270: /* 80340270 A0 BF 00 00 */ lhz r5, 0(r31) /* 80340274 A0 06 00 00 */ lhz r0, 0(r6) /* 80340278 7C 05 02 14 */ add r0, r5, r0 /* 8034027C B0 1F 00 00 */ sth r0, 0(r31) /* 80340280 A0 06 00 00 */ lhz r0, 0(r6) /* 80340284 A0 BF 00 02 */ lhz r5, 2(r31) /* 80340288 7C 00 00 F8 */ nor r0, r0, r0 /* 8034028C 7C 05 02 14 */ add r0, r5, r0 /* 80340290 B0 1F 00 02 */ sth r0, 2(r31) /* 80340294 A0 BF 00 00 */ lhz r5, 0(r31) /* 80340298 A0 06 00 02 */ lhz r0, 2(r6) /* 8034029C 7C 05 02 14 */ add r0, r5, r0 /* 803402A0 B0 1F 00 00 */ sth r0, 0(r31) /* 803402A4 A0 06 00 02 */ lhz r0, 2(r6) /* 803402A8 A0 BF 00 02 */ lhz r5, 2(r31) /* 803402AC 7C 00 00 F8 */ nor r0, r0, r0 /* 803402B0 7C 05 02 14 */ add r0, r5, r0 /* 803402B4 B0 1F 00 02 */ sth r0, 2(r31) /* 803402B8 A0 BF 00 00 */ lhz r5, 0(r31) /* 803402BC A0 06 00 04 */ lhz r0, 4(r6) /* 803402C0 7C 05 02 14 */ add r0, r5, r0 /* 803402C4 B0 1F 00 00 */ sth r0, 0(r31) /* 803402C8 A0 06 00 04 */ lhz r0, 4(r6) /* 803402CC A0 BF 00 02 */ lhz r5, 2(r31) /* 803402D0 7C 00 00 F8 */ nor r0, r0, r0 /* 803402D4 7C 05 02 14 */ add r0, r5, r0 /* 803402D8 B0 1F 00 02 */ sth r0, 2(r31) /* 803402DC A0 BF 00 00 */ lhz r5, 0(r31) /* 803402E0 A0 06 00 06 */ lhz r0, 6(r6) /* 803402E4 7C 05 02 14 */ add r0, r5, r0 /* 803402E8 B0 1F 00 00 */ sth r0, 0(r31) /* 803402EC A0 06 00 06 */ lhz r0, 6(r6) /* 803402F0 A0 BF 00 02 */ lhz r5, 2(r31) /* 803402F4 7C 00 00 F8 */ nor r0, r0, r0 /* 803402F8 7C 05 02 14 */ add r0, r5, r0 /* 803402FC B0 1F 00 02 */ sth r0, 2(r31) /* 80340300 A0 BF 00 00 */ lhz r5, 0(r31) /* 80340304 A0 06 00 08 */ lhz r0, 8(r6) /* 80340308 7C 05 02 14 */ add r0, r5, r0 /* 8034030C B0 1F 00 00 */ sth r0, 0(r31) /* 80340310 A0 06 00 08 */ lhz r0, 8(r6) /* 80340314 A0 BF 00 02 */ lhz r5, 2(r31) /* 80340318 7C 00 00 F8 */ nor r0, r0, r0 /* 8034031C 7C 05 02 14 */ add r0, r5, r0 /* 80340320 B0 1F 00 02 */ sth r0, 2(r31) /* 80340324 A0 BF 00 00 */ lhz r5, 0(r31) /* 80340328 A0 06 00 0A */ lhz r0, 0xa(r6) /* 8034032C 7C 05 02 14 */ add r0, r5, r0 /* 80340330 B0 1F 00 00 */ sth r0, 0(r31) /* 80340334 A0 06 00 0A */ lhz r0, 0xa(r6) /* 80340338 A0 BF 00 02 */ lhz r5, 2(r31) /* 8034033C 7C 00 00 F8 */ nor r0, r0, r0 /* 80340340 7C 05 02 14 */ add r0, r5, r0 /* 80340344 B0 1F 00 02 */ sth r0, 2(r31) /* 80340348 A0 BF 00 00 */ lhz r5, 0(r31) /* 8034034C A0 06 00 0C */ lhz r0, 0xc(r6) /* 80340350 7C 05 02 14 */ add r0, r5, r0 /* 80340354 B0 1F 00 00 */ sth r0, 0(r31) /* 80340358 A0 06 00 0C */ lhz r0, 0xc(r6) /* 8034035C A0 BF 00 02 */ lhz r5, 2(r31) /* 80340360 7C 00 00 F8 */ nor r0, r0, r0 /* 80340364 7C 05 02 14 */ add r0, r5, r0 /* 80340368 B0 1F 00 02 */ sth r0, 2(r31) /* 8034036C A0 BF 00 00 */ lhz r5, 0(r31) /* 80340370 A0 06 00 0E */ lhz r0, 0xe(r6) /* 80340374 7C 05 02 14 */ add r0, r5, r0 /* 80340378 B0 1F 00 00 */ sth r0, 0(r31) /* 8034037C A0 06 00 0E */ lhz r0, 0xe(r6) /* 80340380 38 C6 00 10 */ addi r6, r6, 0x10 /* 80340384 A0 BF 00 02 */ lhz r5, 2(r31) /* 80340388 7C 00 00 F8 */ nor r0, r0, r0 /* 8034038C 7C 05 02 14 */ add r0, r5, r0 /* 80340390 B0 1F 00 02 */ sth r0, 2(r31) /* 80340394 42 00 FE DC */ bdnz lbl_80340270 /* 80340398 70 63 00 07 */ andi. r3, r3, 7 /* 8034039C 41 82 00 34 */ beq lbl_803403D0 lbl_803403A0: /* 803403A0 7C 69 03 A6 */ mtctr r3 lbl_803403A4: /* 803403A4 A0 BF 00 00 */ lhz r5, 0(r31) /* 803403A8 A0 06 00 00 */ lhz r0, 0(r6) /* 803403AC 7C 05 02 14 */ add r0, r5, r0 /* 803403B0 B0 1F 00 00 */ sth r0, 0(r31) /* 803403B4 A0 06 00 00 */ lhz r0, 0(r6) /* 803403B8 38 C6 00 02 */ addi r6, r6, 2 /* 803403BC A0 BF 00 02 */ lhz r5, 2(r31) /* 803403C0 7C 00 00 F8 */ nor r0, r0, r0 /* 803403C4 7C 05 02 14 */ add r0, r5, r0 /* 803403C8 B0 1F 00 02 */ sth r0, 2(r31) /* 803403CC 42 00 FF D8 */ bdnz lbl_803403A4 lbl_803403D0: /* 803403D0 3B DF 00 40 */ addi r30, r31, 0x40 /* 803403D4 80 1F 00 40 */ lwz r0, 0x40(r31) /* 803403D8 7C 04 00 40 */ cmplw r4, r0 /* 803403DC 40 80 00 08 */ bge lbl_803403E4 /* 803403E0 90 9E 00 00 */ stw r4, 0(r30) lbl_803403E4: /* 803403E4 80 1E 00 00 */ lwz r0, 0(r30) /* 803403E8 28 00 00 14 */ cmplwi r0, 0x14 /* 803403EC 41 81 00 2C */ bgt lbl_80340418 /* 803403F0 38 9F 00 14 */ addi r4, r31, 0x14 /* 803403F4 A0 7F 00 3C */ lhz r3, 0x3c(r31) /* 803403F8 54 60 04 6A */ rlwinm r0, r3, 0, 0x11, 0x15 /* 803403FC 28 00 50 00 */ cmplwi r0, 0x5000 /* 80340400 41 82 00 10 */ beq lbl_80340410 /* 80340404 54 60 06 32 */ rlwinm r0, r3, 0, 0x18, 0x19 /* 80340408 28 00 00 C0 */ cmplwi r0, 0xc0 /* 8034040C 40 82 00 0C */ bne lbl_80340418 lbl_80340410: /* 80340410 38 00 00 00 */ li r0, 0 /* 80340414 B0 04 00 28 */ sth r0, 0x28(r4) lbl_80340418: /* 80340418 83 BE 00 00 */ lwz r29, 0(r30) /* 8034041C 3C 60 80 34 */ lis r3, WriteSramCallback@ha /* 0x8033FE90@ha */ /* 80340420 38 A3 FE 90 */ addi r5, r3, WriteSramCallback@l /* 0x8033FE90@l */ /* 80340424 23 7D 00 40 */ subfic r27, r29, 0x40 /* 80340428 7F 9F EA 14 */ add r28, r31, r29 /* 8034042C 38 60 00 00 */ li r3, 0 /* 80340430 38 80 00 01 */ li r4, 1 /* 80340434 48 00 3B F5 */ bl EXILock /* 80340438 2C 03 00 00 */ cmpwi r3, 0 /* 8034043C 40 82 00 0C */ bne lbl_80340448 /* 80340440 38 00 00 00 */ li r0, 0 /* 80340444 48 00 00 B4 */ b lbl_803404F8 lbl_80340448: /* 80340448 38 60 00 00 */ li r3, 0 /* 8034044C 38 80 00 01 */ li r4, 1 /* 80340450 38 A0 00 03 */ li r5, 3 /* 80340454 48 00 34 15 */ bl EXISelect /* 80340458 2C 03 00 00 */ cmpwi r3, 0 /* 8034045C 40 82 00 14 */ bne lbl_80340470 /* 80340460 38 60 00 00 */ li r3, 0 /* 80340464 48 00 3C B9 */ bl EXIUnlock /* 80340468 38 00 00 00 */ li r0, 0 /* 8034046C 48 00 00 8C */ b lbl_803404F8 lbl_80340470: /* 80340470 57 A3 30 32 */ slwi r3, r29, 6 /* 80340474 38 03 01 00 */ addi r0, r3, 0x100 /* 80340478 64 00 A0 00 */ oris r0, r0, 0xa000 /* 8034047C 90 01 00 10 */ stw r0, 0x10(r1) /* 80340480 38 81 00 10 */ addi r4, r1, 0x10 /* 80340484 38 60 00 00 */ li r3, 0 /* 80340488 38 A0 00 04 */ li r5, 4 /* 8034048C 38 C0 00 01 */ li r6, 1 /* 80340490 38 E0 00 00 */ li r7, 0 /* 80340494 48 00 28 6D */ bl EXIImm /* 80340498 7C 60 00 34 */ cntlzw r0, r3 /* 8034049C 54 1D D9 7E */ srwi r29, r0, 5 /* 803404A0 38 60 00 00 */ li r3, 0 /* 803404A4 48 00 2C 45 */ bl EXISync /* 803404A8 7C 60 00 34 */ cntlzw r0, r3 /* 803404AC 54 00 D9 7E */ srwi r0, r0, 5 /* 803404B0 38 9C 00 00 */ addi r4, r28, 0 /* 803404B4 38 BB 00 00 */ addi r5, r27, 0 /* 803404B8 7F BD 03 78 */ or r29, r29, r0 /* 803404BC 38 60 00 00 */ li r3, 0 /* 803404C0 38 C0 00 01 */ li r6, 1 /* 803404C4 48 00 2A 99 */ bl EXIImmEx /* 803404C8 7C 60 00 34 */ cntlzw r0, r3 /* 803404CC 54 00 D9 7E */ srwi r0, r0, 5 /* 803404D0 7F BD 03 78 */ or r29, r29, r0 /* 803404D4 38 60 00 00 */ li r3, 0 /* 803404D8 48 00 34 BD */ bl EXIDeselect /* 803404DC 7C 60 00 34 */ cntlzw r0, r3 /* 803404E0 54 00 D9 7E */ srwi r0, r0, 5 /* 803404E4 7F BD 03 78 */ or r29, r29, r0 /* 803404E8 38 60 00 00 */ li r3, 0 /* 803404EC 48 00 3C 31 */ bl EXIUnlock /* 803404F0 7F A0 00 34 */ cntlzw r0, r29 /* 803404F4 54 00 D9 7E */ srwi r0, r0, 5 lbl_803404F8: /* 803404F8 90 1F 00 4C */ stw r0, 0x4c(r31) /* 803404FC 80 1F 00 4C */ lwz r0, 0x4c(r31) /* 80340500 2C 00 00 00 */ cmpwi r0, 0 /* 80340504 41 82 00 0C */ beq lbl_80340510 /* 80340508 38 00 00 40 */ li r0, 0x40 /* 8034050C 90 1E 00 00 */ stw r0, 0(r30) lbl_80340510: /* 80340510 38 00 00 00 */ li r0, 0 /* 80340514 90 1F 00 48 */ stw r0, 0x48(r31) /* 80340518 80 7F 00 44 */ lwz r3, 0x44(r31) /* 8034051C 4B FF D2 01 */ bl OSRestoreInterrupts /* 80340520 80 7F 00 4C */ lwz r3, 0x4c(r31) /* 80340524 BB 61 00 1C */ lmw r27, 0x1c(r1) /* 80340528 80 01 00 34 */ lwz r0, 0x34(r1) /* 8034052C 38 21 00 30 */ addi r1, r1, 0x30 /* 80340530 7C 08 03 A6 */ mtlr r0 /* 80340534 4E 80 00 20 */ blr