lbl_80344238: /* 80344238 7C 08 02 A6 */ mflr r0 /* 8034423C 90 01 00 04 */ stw r0, 4(r1) /* 80344240 94 21 FF B8 */ stwu r1, -0x48(r1) /* 80344244 BE E1 00 24 */ stmw r23, 0x24(r1) /* 80344248 7C 79 1B 79 */ or. r25, r3, r3 /* 8034424C 3B 44 00 00 */ addi r26, r4, 0 /* 80344250 3B 65 00 00 */ addi r27, r5, 0 /* 80344254 54 64 30 32 */ slwi r4, r3, 6 /* 80344258 3C 60 80 45 */ lis r3, Ecb@ha /* 0x8044C570@ha */ /* 8034425C 38 03 C5 70 */ addi r0, r3, Ecb@l /* 0x8044C570@l */ /* 80344260 7F E0 22 14 */ add r31, r0, r4 /* 80344264 40 82 00 24 */ bne lbl_80344288 /* 80344268 28 1A 00 02 */ cmplwi r26, 2 /* 8034426C 40 82 00 1C */ bne lbl_80344288 /* 80344270 80 0D 91 58 */ lwz r0, IDSerialPort1(r13) /* 80344274 28 00 00 00 */ cmplwi r0, 0 /* 80344278 41 82 00 10 */ beq lbl_80344288 /* 8034427C 90 1B 00 00 */ stw r0, 0(r27) /* 80344280 38 60 00 01 */ li r3, 1 /* 80344284 48 00 03 50 */ b lbl_803445D4 lbl_80344288: /* 80344288 2C 19 00 02 */ cmpwi r25, 2 /* 8034428C 40 80 00 E0 */ bge lbl_8034436C /* 80344290 28 1A 00 00 */ cmplwi r26, 0 /* 80344294 40 82 00 D8 */ bne lbl_8034436C /* 80344298 7F 23 CB 78 */ mr r3, r25 /* 8034429C 4B FF F1 5D */ bl __EXIProbe /* 803442A0 2C 03 00 00 */ cmpwi r3, 0 /* 803442A4 40 82 00 0C */ bne lbl_803442B0 /* 803442A8 38 60 00 00 */ li r3, 0 /* 803442AC 48 00 03 28 */ b lbl_803445D4 lbl_803442B0: /* 803442B0 80 9F 00 20 */ lwz r4, 0x20(r31) /* 803442B4 57 20 10 3A */ slwi r0, r25, 2 /* 803442B8 3C 60 80 00 */ lis r3, 0x8000 /* 0x800030C0@ha */ /* 803442BC 3B C3 30 C0 */ addi r30, r3, 0x30C0 /* 0x800030C0@l */ /* 803442C0 7F DE 02 14 */ add r30, r30, r0 /* 803442C4 80 1E 00 00 */ lwz r0, 0(r30) /* 803442C8 7C 04 00 00 */ cmpw r4, r0 /* 803442CC 40 82 00 14 */ bne lbl_803442E0 /* 803442D0 80 1F 00 1C */ lwz r0, 0x1c(r31) /* 803442D4 90 1B 00 00 */ stw r0, 0(r27) /* 803442D8 80 7F 00 20 */ lwz r3, 0x20(r31) /* 803442DC 48 00 02 F8 */ b lbl_803445D4 lbl_803442E0: /* 803442E0 4B FF 94 15 */ bl OSDisableInterrupts /* 803442E4 7C 7C 1B 78 */ mr r28, r3 /* 803442E8 80 1F 00 0C */ lwz r0, 0xc(r31) /* 803442EC 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 803442F0 40 82 00 14 */ bne lbl_80344304 /* 803442F4 7F 23 CB 78 */ mr r3, r25 /* 803442F8 4B FF F1 01 */ bl __EXIProbe /* 803442FC 2C 03 00 00 */ cmpwi r3, 0 /* 80344300 40 82 00 14 */ bne lbl_80344314 lbl_80344304: /* 80344304 7F 83 E3 78 */ mr r3, r28 /* 80344308 4B FF 94 15 */ bl OSRestoreInterrupts /* 8034430C 38 00 00 00 */ li r0, 0 /* 80344310 48 00 00 48 */ b lbl_80344358 lbl_80344314: /* 80344314 38 79 00 00 */ addi r3, r25, 0 /* 80344318 38 80 00 01 */ li r4, 1 /* 8034431C 38 A0 00 00 */ li r5, 0 /* 80344320 38 C0 00 00 */ li r6, 0 /* 80344324 4B FF F0 11 */ bl EXIClearInterrupts /* 80344328 38 00 00 00 */ li r0, 0 /* 8034432C 90 1F 00 08 */ stw r0, 8(r31) /* 80344330 3C 60 00 10 */ lis r3, 0x10 /* 80344334 1C 19 00 03 */ mulli r0, r25, 3 /* 80344338 7C 63 04 30 */ srw r3, r3, r0 /* 8034433C 4B FF 98 09 */ bl __OSUnmaskInterrupts /* 80344340 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80344344 60 00 00 08 */ ori r0, r0, 8 /* 80344348 90 1F 00 0C */ stw r0, 0xc(r31) /* 8034434C 7F 83 E3 78 */ mr r3, r28 /* 80344350 4B FF 93 CD */ bl OSRestoreInterrupts /* 80344354 38 00 00 01 */ li r0, 1 lbl_80344358: /* 80344358 2C 00 00 00 */ cmpwi r0, 0 /* 8034435C 40 82 00 0C */ bne lbl_80344368 /* 80344360 38 60 00 00 */ li r3, 0 /* 80344364 48 00 02 70 */ b lbl_803445D4 lbl_80344368: /* 80344368 83 BE 00 00 */ lwz r29, 0(r30) lbl_8034436C: /* 8034436C 4B FF 93 89 */ bl OSDisableInterrupts /* 80344370 3B 83 00 00 */ addi r28, r3, 0 /* 80344374 38 00 00 00 */ li r0, 0 /* 80344378 2C 19 00 02 */ cmpwi r25, 2 /* 8034437C 40 80 00 10 */ bge lbl_8034438C /* 80344380 28 1A 00 00 */ cmplwi r26, 0 /* 80344384 40 82 00 08 */ bne lbl_8034438C /* 80344388 38 00 00 01 */ li r0, 1 lbl_8034438C: /* 8034438C 2C 00 00 00 */ cmpwi r0, 0 /* 80344390 41 82 00 10 */ beq lbl_803443A0 /* 80344394 3C 60 80 34 */ lis r3, UnlockedHandler@ha /* 0x80344210@ha */ /* 80344398 38 A3 42 10 */ addi r5, r3, UnlockedHandler@l /* 0x80344210@l */ /* 8034439C 48 00 00 08 */ b lbl_803443A4 lbl_803443A0: /* 803443A0 38 A0 00 00 */ li r5, 0 lbl_803443A4: /* 803443A4 38 79 00 00 */ addi r3, r25, 0 /* 803443A8 38 9A 00 00 */ addi r4, r26, 0 /* 803443AC 4B FF FC 7D */ bl EXILock /* 803443B0 7C 60 00 34 */ cntlzw r0, r3 /* 803443B4 54 00 D9 7E */ srwi r0, r0, 5 /* 803443B8 7C 1E 03 79 */ or. r30, r0, r0 /* 803443BC 40 82 01 34 */ bne lbl_803444F0 /* 803443C0 38 79 00 00 */ addi r3, r25, 0 /* 803443C4 38 9A 00 00 */ addi r4, r26, 0 /* 803443C8 38 A0 00 00 */ li r5, 0 /* 803443CC 4B FF F4 9D */ bl EXISelect /* 803443D0 7C 60 00 34 */ cntlzw r0, r3 /* 803443D4 54 00 D9 7E */ srwi r0, r0, 5 /* 803443D8 7C 1E 03 79 */ or. r30, r0, r0 /* 803443DC 40 82 00 90 */ bne lbl_8034446C /* 803443E0 38 00 00 00 */ li r0, 0 /* 803443E4 90 01 00 1C */ stw r0, 0x1c(r1) /* 803443E8 38 79 00 00 */ addi r3, r25, 0 /* 803443EC 38 81 00 1C */ addi r4, r1, 0x1c /* 803443F0 38 A0 00 02 */ li r5, 2 /* 803443F4 38 C0 00 01 */ li r6, 1 /* 803443F8 38 E0 00 00 */ li r7, 0 /* 803443FC 4B FF E9 05 */ bl EXIImm /* 80344400 7C 60 00 34 */ cntlzw r0, r3 /* 80344404 54 00 D9 7E */ srwi r0, r0, 5 /* 80344408 7F DE 03 78 */ or r30, r30, r0 /* 8034440C 38 79 00 00 */ addi r3, r25, 0 /* 80344410 4B FF EC D9 */ bl EXISync /* 80344414 7C 60 00 34 */ cntlzw r0, r3 /* 80344418 54 00 D9 7E */ srwi r0, r0, 5 /* 8034441C 7F DE 03 78 */ or r30, r30, r0 /* 80344420 38 79 00 00 */ addi r3, r25, 0 /* 80344424 38 9B 00 00 */ addi r4, r27, 0 /* 80344428 38 A0 00 04 */ li r5, 4 /* 8034442C 38 C0 00 00 */ li r6, 0 /* 80344430 38 E0 00 00 */ li r7, 0 /* 80344434 4B FF E8 CD */ bl EXIImm /* 80344438 7C 60 00 34 */ cntlzw r0, r3 /* 8034443C 54 00 D9 7E */ srwi r0, r0, 5 /* 80344440 7F DE 03 78 */ or r30, r30, r0 /* 80344444 38 79 00 00 */ addi r3, r25, 0 /* 80344448 4B FF EC A1 */ bl EXISync /* 8034444C 7C 60 00 34 */ cntlzw r0, r3 /* 80344450 54 00 D9 7E */ srwi r0, r0, 5 /* 80344454 7F DE 03 78 */ or r30, r30, r0 /* 80344458 38 79 00 00 */ addi r3, r25, 0 /* 8034445C 4B FF F5 39 */ bl EXIDeselect /* 80344460 7C 60 00 34 */ cntlzw r0, r3 /* 80344464 54 00 D9 7E */ srwi r0, r0, 5 /* 80344468 7F DE 03 78 */ or r30, r30, r0 lbl_8034446C: /* 8034446C 4B FF 92 89 */ bl OSDisableInterrupts /* 80344470 7C 77 1B 78 */ mr r23, r3 /* 80344474 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80344478 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 8034447C 40 82 00 10 */ bne lbl_8034448C /* 80344480 7E E3 BB 78 */ mr r3, r23 /* 80344484 4B FF 92 99 */ bl OSRestoreInterrupts /* 80344488 48 00 00 68 */ b lbl_803444F0 lbl_8034448C: /* 8034448C 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80344490 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 80344494 90 1F 00 0C */ stw r0, 0xc(r31) /* 80344498 38 79 00 00 */ addi r3, r25, 0 /* 8034449C 38 9F 00 00 */ addi r4, r31, 0 /* 803444A0 4B FF E7 6D */ bl SetExiInterruptMask /* 803444A4 80 7F 00 24 */ lwz r3, 0x24(r31) /* 803444A8 2C 03 00 00 */ cmpwi r3, 0 /* 803444AC 40 81 00 3C */ ble lbl_803444E8 /* 803444B0 83 1F 00 2C */ lwz r24, 0x2c(r31) /* 803444B4 34 03 FF FF */ addic. r0, r3, -1 /* 803444B8 90 1F 00 24 */ stw r0, 0x24(r31) /* 803444BC 40 81 00 18 */ ble lbl_803444D4 /* 803444C0 38 7F 00 28 */ addi r3, r31, 0x28 /* 803444C4 38 9F 00 30 */ addi r4, r31, 0x30 /* 803444C8 80 1F 00 24 */ lwz r0, 0x24(r31) /* 803444CC 54 05 18 38 */ slwi r5, r0, 3 /* 803444D0 48 02 1C 61 */ bl memmove lbl_803444D4: /* 803444D4 38 79 00 00 */ addi r3, r25, 0 /* 803444D8 38 80 00 00 */ li r4, 0 /* 803444DC 39 98 00 00 */ addi r12, r24, 0 /* 803444E0 7D 88 03 A6 */ mtlr r12 /* 803444E4 4E 80 00 21 */ blrl lbl_803444E8: /* 803444E8 7E E3 BB 78 */ mr r3, r23 /* 803444EC 4B FF 92 31 */ bl OSRestoreInterrupts lbl_803444F0: /* 803444F0 7F 83 E3 78 */ mr r3, r28 /* 803444F4 4B FF 92 29 */ bl OSRestoreInterrupts /* 803444F8 2C 19 00 02 */ cmpwi r25, 2 /* 803444FC 40 80 00 C4 */ bge lbl_803445C0 /* 80344500 28 1A 00 00 */ cmplwi r26, 0 /* 80344504 40 82 00 BC */ bne lbl_803445C0 /* 80344508 4B FF 91 ED */ bl OSDisableInterrupts /* 8034450C 7C 77 1B 78 */ mr r23, r3 /* 80344510 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80344514 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 80344518 40 82 00 10 */ bne lbl_80344528 /* 8034451C 7E E3 BB 78 */ mr r3, r23 /* 80344520 4B FF 91 FD */ bl OSRestoreInterrupts /* 80344524 48 00 00 4C */ b lbl_80344570 lbl_80344528: /* 80344528 80 1F 00 0C */ lwz r0, 0xc(r31) /* 8034452C 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80344530 41 82 00 1C */ beq lbl_8034454C /* 80344534 80 1F 00 18 */ lwz r0, 0x18(r31) /* 80344538 28 00 00 00 */ cmplwi r0, 0 /* 8034453C 40 82 00 10 */ bne lbl_8034454C /* 80344540 7E E3 BB 78 */ mr r3, r23 /* 80344544 4B FF 91 D9 */ bl OSRestoreInterrupts /* 80344548 48 00 00 28 */ b lbl_80344570 lbl_8034454C: /* 8034454C 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80344550 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b /* 80344554 90 1F 00 0C */ stw r0, 0xc(r31) /* 80344558 3C 60 00 50 */ lis r3, 0x50 /* 8034455C 1C 19 00 03 */ mulli r0, r25, 3 /* 80344560 7C 63 04 30 */ srw r3, r3, r0 /* 80344564 4B FF 95 59 */ bl __OSMaskInterrupts /* 80344568 7E E3 BB 78 */ mr r3, r23 /* 8034456C 4B FF 91 B1 */ bl OSRestoreInterrupts lbl_80344570: /* 80344570 4B FF 91 85 */ bl OSDisableInterrupts /* 80344574 57 20 10 3A */ slwi r0, r25, 2 /* 80344578 3C 80 80 00 */ lis r4, 0x8000 /* 0x800030C0@ha */ /* 8034457C 38 84 30 C0 */ addi r4, r4, 0x30C0 /* 0x800030C0@l */ /* 80344580 7C 04 00 2E */ lwzx r0, r4, r0 /* 80344584 7C 9D 00 50 */ subf r4, r29, r0 /* 80344588 30 04 FF FF */ addic r0, r4, -1 /* 8034458C 7C 00 21 10 */ subfe r0, r0, r4 /* 80344590 7F DE 03 79 */ or. r30, r30, r0 /* 80344594 40 82 00 10 */ bne lbl_803445A4 /* 80344598 80 1B 00 00 */ lwz r0, 0(r27) /* 8034459C 90 1F 00 1C */ stw r0, 0x1c(r31) /* 803445A0 93 BF 00 20 */ stw r29, 0x20(r31) lbl_803445A4: /* 803445A4 4B FF 91 79 */ bl OSRestoreInterrupts /* 803445A8 2C 1E 00 00 */ cmpwi r30, 0 /* 803445AC 41 82 00 0C */ beq lbl_803445B8 /* 803445B0 38 60 00 00 */ li r3, 0 /* 803445B4 48 00 00 20 */ b lbl_803445D4 lbl_803445B8: /* 803445B8 80 7F 00 20 */ lwz r3, 0x20(r31) /* 803445BC 48 00 00 18 */ b lbl_803445D4 lbl_803445C0: /* 803445C0 2C 1E 00 00 */ cmpwi r30, 0 /* 803445C4 41 82 00 0C */ beq lbl_803445D0 /* 803445C8 38 60 00 00 */ li r3, 0 /* 803445CC 48 00 00 08 */ b lbl_803445D4 lbl_803445D0: /* 803445D0 38 60 00 01 */ li r3, 1 lbl_803445D4: /* 803445D4 80 01 00 4C */ lwz r0, 0x4c(r1) /* 803445D8 BA E1 00 24 */ lmw r23, 0x24(r1) /* 803445DC 38 21 00 48 */ addi r1, r1, 0x48 /* 803445E0 7C 08 03 A6 */ mtlr r0 /* 803445E4 4E 80 00 20 */ blr