.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global SetExiInterruptMask SetExiInterruptMask: /* 80274558 002701B8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8027455C 002701BC 7C 08 02 A6 */ mflr r0 /* 80274560 002701C0 90 01 00 14 */ stw r0, 0x14(r1) /* 80274564 002701C4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80274568 002701C8 7C 9F 23 78 */ mr r31, r4 /* 8027456C 002701CC 3C A0 80 51 */ lis r5, lbl_805154C0@ha /* 80274570 002701D0 38 A5 54 C0 */ addi r5, r5, lbl_805154C0@l /* 80274574 002701D4 2C 03 00 01 */ cmpwi r3, 1 /* 80274578 002701D8 41 82 00 5C */ beq lbl_802745D4 /* 8027457C 002701DC 40 80 00 10 */ bge lbl_8027458C /* 80274580 002701E0 2C 03 00 00 */ cmpwi r3, 0 /* 80274584 002701E4 40 80 00 14 */ bge lbl_80274598 /* 80274588 002701E8 48 00 00 AC */ b lbl_80274634 lbl_8027458C: /* 8027458C 002701EC 2C 03 00 03 */ cmpwi r3, 3 /* 80274590 002701F0 40 80 00 A4 */ bge lbl_80274634 /* 80274594 002701F4 48 00 00 70 */ b lbl_80274604 lbl_80274598: /* 80274598 002701F8 80 04 00 00 */ lwz r0, 0(r4) /* 8027459C 002701FC 2C 00 00 00 */ cmpwi r0, 0 /* 802745A0 00270200 40 82 00 10 */ bne lbl_802745B0 /* 802745A4 00270204 80 05 00 80 */ lwz r0, 0x80(r5) /* 802745A8 00270208 2C 00 00 00 */ cmpwi r0, 0 /* 802745AC 0027020C 41 82 00 10 */ beq lbl_802745BC lbl_802745B0: /* 802745B0 00270210 80 04 00 0C */ lwz r0, 0xc(r4) /* 802745B4 00270214 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 802745B8 00270218 41 82 00 10 */ beq lbl_802745C8 lbl_802745BC: /* 802745BC 0027021C 3C 60 00 41 */ lis r3, 0x41 /* 802745C0 00270220 4B FF A5 2D */ bl __OSMaskInterrupts /* 802745C4 00270224 48 00 00 70 */ b lbl_80274634 lbl_802745C8: /* 802745C8 00270228 3C 60 00 41 */ lis r3, 0x41 /* 802745CC 0027022C 4B FF A5 A1 */ bl __OSUnmaskInterrupts /* 802745D0 00270230 48 00 00 64 */ b lbl_80274634 lbl_802745D4: /* 802745D4 00270234 80 04 00 00 */ lwz r0, 0(r4) /* 802745D8 00270238 2C 00 00 00 */ cmpwi r0, 0 /* 802745DC 0027023C 41 82 00 10 */ beq lbl_802745EC /* 802745E0 00270240 80 04 00 0C */ lwz r0, 0xc(r4) /* 802745E4 00270244 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 802745E8 00270248 41 82 00 10 */ beq lbl_802745F8 lbl_802745EC: /* 802745EC 0027024C 3C 60 00 08 */ lis r3, 8 /* 802745F0 00270250 4B FF A4 FD */ bl __OSMaskInterrupts /* 802745F4 00270254 48 00 00 40 */ b lbl_80274634 lbl_802745F8: /* 802745F8 00270258 3C 60 00 08 */ lis r3, 8 /* 802745FC 0027025C 4B FF A5 71 */ bl __OSUnmaskInterrupts /* 80274600 00270260 48 00 00 34 */ b lbl_80274634 lbl_80274604: /* 80274604 00270264 38 60 00 19 */ li r3, 0x19 /* 80274608 00270268 4B FF A1 B5 */ bl __OSGetInterruptHandler /* 8027460C 0027026C 2C 03 00 00 */ cmpwi r3, 0 /* 80274610 00270270 41 82 00 10 */ beq lbl_80274620 /* 80274614 00270274 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80274618 00270278 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 8027461C 0027027C 41 82 00 10 */ beq lbl_8027462C lbl_80274620: /* 80274620 00270280 38 60 00 40 */ li r3, 0x40 /* 80274624 00270284 4B FF A4 C9 */ bl __OSMaskInterrupts /* 80274628 00270288 48 00 00 0C */ b lbl_80274634 lbl_8027462C: /* 8027462C 0027028C 38 60 00 40 */ li r3, 0x40 /* 80274630 00270290 4B FF A5 3D */ bl __OSUnmaskInterrupts lbl_80274634: /* 80274634 00270294 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80274638 00270298 80 01 00 14 */ lwz r0, 0x14(r1) /* 8027463C 0027029C 7C 08 03 A6 */ mtlr r0 /* 80274640 002702A0 38 21 00 10 */ addi r1, r1, 0x10 /* 80274644 002702A4 4E 80 00 20 */ blr .global EXIImm EXIImm: /* 80274648 002702A8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8027464C 002702AC 7C 08 02 A6 */ mflr r0 /* 80274650 002702B0 90 01 00 34 */ stw r0, 0x34(r1) /* 80274654 002702B4 39 61 00 30 */ addi r11, r1, 0x30 /* 80274658 002702B8 4B F5 2A C9 */ bl _savegpr_25 /* 8027465C 002702BC 7C 7A 1B 78 */ mr r26, r3 /* 80274660 002702C0 7C 9B 23 78 */ mr r27, r4 /* 80274664 002702C4 7C BC 2B 78 */ mr r28, r5 /* 80274668 002702C8 7C DD 33 78 */ mr r29, r6 /* 8027466C 002702CC 7C F9 3B 78 */ mr r25, r7 /* 80274670 002702D0 54 60 30 32 */ slwi r0, r3, 6 /* 80274674 002702D4 3C 60 80 51 */ lis r3, lbl_805154C0@ha /* 80274678 002702D8 38 63 54 C0 */ addi r3, r3, lbl_805154C0@l /* 8027467C 002702DC 7F E3 02 14 */ add r31, r3, r0 /* 80274680 002702E0 4B FF A0 DD */ bl OSDisableInterrupts /* 80274684 002702E4 7C 7E 1B 78 */ mr r30, r3 /* 80274688 002702E8 80 1F 00 0C */ lwz r0, 0xc(r31) /* 8027468C 002702EC 54 00 07 BF */ clrlwi. r0, r0, 0x1e /* 80274690 002702F0 40 82 00 10 */ bne lbl_802746A0 /* 80274694 002702F4 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80274698 002702F8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 8027469C 002702FC 40 82 00 14 */ bne lbl_802746B0 lbl_802746A0: /* 802746A0 00270300 7F C3 F3 78 */ mr r3, r30 /* 802746A4 00270304 4B FF A0 E1 */ bl OSRestoreInterrupts /* 802746A8 00270308 38 60 00 00 */ li r3, 0 /* 802746AC 0027030C 48 00 02 00 */ b lbl_802748AC lbl_802746B0: /* 802746B0 00270310 93 3F 00 04 */ stw r25, 4(r31) /* 802746B4 00270314 2C 19 00 00 */ cmpwi r25, 0 /* 802746B8 00270318 41 82 00 34 */ beq lbl_802746EC /* 802746BC 0027031C 1C 7A 00 14 */ mulli r3, r26, 0x14 /* 802746C0 00270320 3C 00 CD 00 */ lis r0, 0xcd00 /* 802746C4 00270324 7C 60 1A 14 */ add r3, r0, r3 /* 802746C8 00270328 80 03 68 00 */ lwz r0, 0x6800(r3) /* 802746CC 0027032C 70 00 07 F5 */ andi. r0, r0, 0x7f5 /* 802746D0 00270330 60 00 00 08 */ ori r0, r0, 8 /* 802746D4 00270334 90 03 68 00 */ stw r0, 0x6800(r3) /* 802746D8 00270338 3C 60 00 20 */ lis r3, 0x20 /* 802746DC 0027033C 57 40 10 3A */ slwi r0, r26, 2 /* 802746E0 00270340 7C 1A 00 50 */ subf r0, r26, r0 /* 802746E4 00270344 7C 63 04 30 */ srw r3, r3, r0 /* 802746E8 00270348 4B FF A4 85 */ bl __OSUnmaskInterrupts lbl_802746EC: /* 802746EC 0027034C 80 1F 00 0C */ lwz r0, 0xc(r31) /* 802746F0 00270350 60 00 00 02 */ ori r0, r0, 2 /* 802746F4 00270354 90 1F 00 0C */ stw r0, 0xc(r31) /* 802746F8 00270358 2C 1D 00 00 */ cmpwi r29, 0 /* 802746FC 0027035C 41 82 01 64 */ beq lbl_80274860 /* 80274700 00270360 38 00 00 00 */ li r0, 0 /* 80274704 00270364 38 80 00 00 */ li r4, 0 /* 80274708 00270368 2C 9C 00 00 */ cmpwi cr1, r28, 0 /* 8027470C 0027036C 40 85 01 44 */ ble cr1, lbl_80274850 /* 80274710 00270370 38 DC FF F8 */ addi r6, r28, -8 /* 80274714 00270374 2C 1C 00 08 */ cmpwi r28, 8 /* 80274718 00270378 40 81 01 04 */ ble lbl_8027481C /* 8027471C 0027037C 38 A0 00 00 */ li r5, 0 /* 80274720 00270380 41 84 00 18 */ blt cr1, lbl_80274738 /* 80274724 00270384 3C 60 80 00 */ lis r3, 0x7FFFFFFE@ha /* 80274728 00270388 38 63 FF FE */ addi r3, r3, 0x7FFFFFFE@l /* 8027472C 0027038C 7C 1C 18 00 */ cmpw r28, r3 /* 80274730 00270390 41 81 00 08 */ bgt lbl_80274738 /* 80274734 00270394 38 A0 00 01 */ li r5, 1 lbl_80274738: /* 80274738 00270398 2C 05 00 00 */ cmpwi r5, 0 /* 8027473C 0027039C 41 82 00 E0 */ beq lbl_8027481C /* 80274740 002703A0 7F 63 DB 78 */ mr r3, r27 /* 80274744 002703A4 38 A6 00 07 */ addi r5, r6, 7 /* 80274748 002703A8 54 A5 E8 FE */ srwi r5, r5, 3 /* 8027474C 002703AC 7C A9 03 A6 */ mtctr r5 /* 80274750 002703B0 2C 06 00 00 */ cmpwi r6, 0 /* 80274754 002703B4 40 81 00 C8 */ ble lbl_8027481C lbl_80274758: /* 80274758 002703B8 88 C3 00 00 */ lbz r6, 0(r3) /* 8027475C 002703BC 20 A4 00 03 */ subfic r5, r4, 3 /* 80274760 002703C0 54 A5 18 38 */ slwi r5, r5, 3 /* 80274764 002703C4 7C C5 28 30 */ slw r5, r6, r5 /* 80274768 002703C8 7C 00 2B 78 */ or r0, r0, r5 /* 8027476C 002703CC 88 C3 00 01 */ lbz r6, 1(r3) /* 80274770 002703D0 38 A4 00 01 */ addi r5, r4, 1 /* 80274774 002703D4 20 A5 00 03 */ subfic r5, r5, 3 /* 80274778 002703D8 54 A5 18 38 */ slwi r5, r5, 3 /* 8027477C 002703DC 7C C5 28 30 */ slw r5, r6, r5 /* 80274780 002703E0 7C 00 2B 78 */ or r0, r0, r5 /* 80274784 002703E4 88 C3 00 02 */ lbz r6, 2(r3) /* 80274788 002703E8 38 A4 00 02 */ addi r5, r4, 2 /* 8027478C 002703EC 20 A5 00 03 */ subfic r5, r5, 3 /* 80274790 002703F0 54 A5 18 38 */ slwi r5, r5, 3 /* 80274794 002703F4 7C C5 28 30 */ slw r5, r6, r5 /* 80274798 002703F8 7C 00 2B 78 */ or r0, r0, r5 /* 8027479C 002703FC 88 C3 00 03 */ lbz r6, 3(r3) /* 802747A0 00270400 7C A4 00 D0 */ neg r5, r4 /* 802747A4 00270404 54 A5 18 38 */ slwi r5, r5, 3 /* 802747A8 00270408 7C C5 28 30 */ slw r5, r6, r5 /* 802747AC 0027040C 7C 00 2B 78 */ or r0, r0, r5 /* 802747B0 00270410 88 C3 00 04 */ lbz r6, 4(r3) /* 802747B4 00270414 38 A4 00 04 */ addi r5, r4, 4 /* 802747B8 00270418 20 A5 00 03 */ subfic r5, r5, 3 /* 802747BC 0027041C 54 A5 18 38 */ slwi r5, r5, 3 /* 802747C0 00270420 7C C5 28 30 */ slw r5, r6, r5 /* 802747C4 00270424 7C 00 2B 78 */ or r0, r0, r5 /* 802747C8 00270428 88 C3 00 05 */ lbz r6, 5(r3) /* 802747CC 0027042C 38 A4 00 05 */ addi r5, r4, 5 /* 802747D0 00270430 20 A5 00 03 */ subfic r5, r5, 3 /* 802747D4 00270434 54 A5 18 38 */ slwi r5, r5, 3 /* 802747D8 00270438 7C C5 28 30 */ slw r5, r6, r5 /* 802747DC 0027043C 7C 00 2B 78 */ or r0, r0, r5 /* 802747E0 00270440 88 C3 00 06 */ lbz r6, 6(r3) /* 802747E4 00270444 38 A4 00 06 */ addi r5, r4, 6 /* 802747E8 00270448 20 A5 00 03 */ subfic r5, r5, 3 /* 802747EC 0027044C 54 A5 18 38 */ slwi r5, r5, 3 /* 802747F0 00270450 7C C5 28 30 */ slw r5, r6, r5 /* 802747F4 00270454 7C 00 2B 78 */ or r0, r0, r5 /* 802747F8 00270458 88 C3 00 07 */ lbz r6, 7(r3) /* 802747FC 0027045C 38 A4 00 07 */ addi r5, r4, 7 /* 80274800 00270460 20 A5 00 03 */ subfic r5, r5, 3 /* 80274804 00270464 54 A5 18 38 */ slwi r5, r5, 3 /* 80274808 00270468 7C C5 28 30 */ slw r5, r6, r5 /* 8027480C 0027046C 7C 00 2B 78 */ or r0, r0, r5 /* 80274810 00270470 38 63 00 08 */ addi r3, r3, 8 /* 80274814 00270474 38 84 00 08 */ addi r4, r4, 8 /* 80274818 00270478 42 00 FF 40 */ bdnz lbl_80274758 lbl_8027481C: /* 8027481C 0027047C 7C DB 22 14 */ add r6, r27, r4 /* 80274820 00270480 7C 64 E0 50 */ subf r3, r4, r28 /* 80274824 00270484 7C 69 03 A6 */ mtctr r3 /* 80274828 00270488 7C 04 E0 00 */ cmpw r4, r28 /* 8027482C 0027048C 40 80 00 24 */ bge lbl_80274850 lbl_80274830: /* 80274830 00270490 88 A6 00 00 */ lbz r5, 0(r6) /* 80274834 00270494 20 64 00 03 */ subfic r3, r4, 3 /* 80274838 00270498 54 63 18 38 */ slwi r3, r3, 3 /* 8027483C 0027049C 7C A3 18 30 */ slw r3, r5, r3 /* 80274840 002704A0 7C 00 1B 78 */ or r0, r0, r3 /* 80274844 002704A4 38 C6 00 01 */ addi r6, r6, 1 /* 80274848 002704A8 38 84 00 01 */ addi r4, r4, 1 /* 8027484C 002704AC 42 00 FF E4 */ bdnz lbl_80274830 lbl_80274850: /* 80274850 002704B0 3C 80 CD 00 */ lis r4, 0xcd00 /* 80274854 002704B4 1C 7A 00 14 */ mulli r3, r26, 0x14 /* 80274858 002704B8 7C 64 1A 14 */ add r3, r4, r3 /* 8027485C 002704BC 90 03 68 10 */ stw r0, 0x6810(r3) lbl_80274860: /* 80274860 002704C0 93 7F 00 14 */ stw r27, 0x14(r31) /* 80274864 002704C4 38 7D FF FF */ addi r3, r29, -1 /* 80274868 002704C8 20 1D 00 01 */ subfic r0, r29, 1 /* 8027486C 002704CC 7C 60 03 78 */ or r0, r3, r0 /* 80274870 002704D0 7C 00 FE 70 */ srawi r0, r0, 0x1f /* 80274874 002704D4 7F 80 00 38 */ and r0, r28, r0 /* 80274878 002704D8 90 1F 00 10 */ stw r0, 0x10(r31) /* 8027487C 002704DC 57 A0 10 3A */ slwi r0, r29, 2 /* 80274880 002704E0 60 03 00 01 */ ori r3, r0, 1 /* 80274884 002704E4 38 1C FF FF */ addi r0, r28, -1 /* 80274888 002704E8 54 00 20 36 */ slwi r0, r0, 4 /* 8027488C 002704EC 7C 64 03 78 */ or r4, r3, r0 /* 80274890 002704F0 3C 60 CD 00 */ lis r3, 0xcd00 /* 80274894 002704F4 1C 1A 00 14 */ mulli r0, r26, 0x14 /* 80274898 002704F8 7C 63 02 14 */ add r3, r3, r0 /* 8027489C 002704FC 90 83 68 0C */ stw r4, 0x680c(r3) /* 802748A0 00270500 7F C3 F3 78 */ mr r3, r30 /* 802748A4 00270504 4B FF 9E E1 */ bl OSRestoreInterrupts /* 802748A8 00270508 38 60 00 01 */ li r3, 1 lbl_802748AC: /* 802748AC 0027050C 39 61 00 30 */ addi r11, r1, 0x30 /* 802748B0 00270510 4B F5 28 BD */ bl _restgpr_25 /* 802748B4 00270514 80 01 00 34 */ lwz r0, 0x34(r1) /* 802748B8 00270518 7C 08 03 A6 */ mtlr r0 /* 802748BC 0027051C 38 21 00 30 */ addi r1, r1, 0x30 /* 802748C0 00270520 4E 80 00 20 */ blr .global EXIImmEx EXIImmEx: /* 802748C4 00270524 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802748C8 00270528 7C 08 02 A6 */ mflr r0 /* 802748CC 0027052C 90 01 00 24 */ stw r0, 0x24(r1) /* 802748D0 00270530 39 61 00 20 */ addi r11, r1, 0x20 /* 802748D4 00270534 4B F5 28 55 */ bl _savegpr_27 /* 802748D8 00270538 7C 7B 1B 78 */ mr r27, r3 /* 802748DC 0027053C 7C 9C 23 78 */ mr r28, r4 /* 802748E0 00270540 7C BD 2B 78 */ mr r29, r5 /* 802748E4 00270544 7C DE 33 78 */ mr r30, r6 /* 802748E8 00270548 48 00 00 5C */ b lbl_80274944 lbl_802748EC: /* 802748EC 0027054C 2C 1D 00 04 */ cmpwi r29, 4 /* 802748F0 00270550 3B E0 00 04 */ li r31, 4 /* 802748F4 00270554 40 80 00 08 */ bge lbl_802748FC /* 802748F8 00270558 7F BF EB 78 */ mr r31, r29 lbl_802748FC: /* 802748FC 0027055C 7F 63 DB 78 */ mr r3, r27 /* 80274900 00270560 7F 84 E3 78 */ mr r4, r28 /* 80274904 00270564 7F E5 FB 78 */ mr r5, r31 /* 80274908 00270568 7F C6 F3 78 */ mr r6, r30 /* 8027490C 0027056C 38 E0 00 00 */ li r7, 0 /* 80274910 00270570 4B FF FD 39 */ bl EXIImm /* 80274914 00270574 2C 03 00 00 */ cmpwi r3, 0 /* 80274918 00270578 40 82 00 0C */ bne lbl_80274924 /* 8027491C 0027057C 38 60 00 00 */ li r3, 0 /* 80274920 00270580 48 00 00 30 */ b lbl_80274950 lbl_80274924: /* 80274924 00270584 7F 63 DB 78 */ mr r3, r27 /* 80274928 00270588 48 00 01 39 */ bl EXISync /* 8027492C 0027058C 2C 03 00 00 */ cmpwi r3, 0 /* 80274930 00270590 40 82 00 0C */ bne lbl_8027493C /* 80274934 00270594 38 60 00 00 */ li r3, 0 /* 80274938 00270598 48 00 00 18 */ b lbl_80274950 lbl_8027493C: /* 8027493C 0027059C 7F 9C FA 14 */ add r28, r28, r31 /* 80274940 002705A0 7F BF E8 50 */ subf r29, r31, r29 lbl_80274944: /* 80274944 002705A4 2C 1D 00 00 */ cmpwi r29, 0 /* 80274948 002705A8 40 82 FF A4 */ bne lbl_802748EC /* 8027494C 002705AC 38 60 00 01 */ li r3, 1 lbl_80274950: /* 80274950 002705B0 39 61 00 20 */ addi r11, r1, 0x20 /* 80274954 002705B4 4B F5 28 21 */ bl _restgpr_27 /* 80274958 002705B8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8027495C 002705BC 7C 08 03 A6 */ mtlr r0 /* 80274960 002705C0 38 21 00 20 */ addi r1, r1, 0x20 /* 80274964 002705C4 4E 80 00 20 */ blr .global EXIDma EXIDma: /* 80274968 002705C8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8027496C 002705CC 7C 08 02 A6 */ mflr r0 /* 80274970 002705D0 90 01 00 34 */ stw r0, 0x34(r1) /* 80274974 002705D4 39 61 00 30 */ addi r11, r1, 0x30 /* 80274978 002705D8 4B F5 27 A9 */ bl _savegpr_25 /* 8027497C 002705DC 7C 7A 1B 78 */ mr r26, r3 /* 80274980 002705E0 7C 9B 23 78 */ mr r27, r4 /* 80274984 002705E4 7C BC 2B 78 */ mr r28, r5 /* 80274988 002705E8 7C DD 33 78 */ mr r29, r6 /* 8027498C 002705EC 7C F9 3B 78 */ mr r25, r7 /* 80274990 002705F0 54 60 30 32 */ slwi r0, r3, 6 /* 80274994 002705F4 3C 60 80 51 */ lis r3, lbl_805154C0@ha /* 80274998 002705F8 38 63 54 C0 */ addi r3, r3, lbl_805154C0@l /* 8027499C 002705FC 7F E3 02 14 */ add r31, r3, r0 /* 802749A0 00270600 4B FF 9D BD */ bl OSDisableInterrupts /* 802749A4 00270604 7C 7E 1B 78 */ mr r30, r3 /* 802749A8 00270608 80 1F 00 0C */ lwz r0, 0xc(r31) /* 802749AC 0027060C 54 00 07 BF */ clrlwi. r0, r0, 0x1e /* 802749B0 00270610 40 82 00 10 */ bne lbl_802749C0 /* 802749B4 00270614 80 1F 00 0C */ lwz r0, 0xc(r31) /* 802749B8 00270618 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 802749BC 0027061C 40 82 00 14 */ bne lbl_802749D0 lbl_802749C0: /* 802749C0 00270620 7F C3 F3 78 */ mr r3, r30 /* 802749C4 00270624 4B FF 9D C1 */ bl OSRestoreInterrupts /* 802749C8 00270628 38 60 00 00 */ li r3, 0 /* 802749CC 0027062C 48 00 00 7C */ b lbl_80274A48 lbl_802749D0: /* 802749D0 00270630 93 3F 00 04 */ stw r25, 4(r31) /* 802749D4 00270634 2C 19 00 00 */ cmpwi r25, 0 /* 802749D8 00270638 41 82 00 34 */ beq lbl_80274A0C /* 802749DC 0027063C 1C 7A 00 14 */ mulli r3, r26, 0x14 /* 802749E0 00270640 3C 00 CD 00 */ lis r0, 0xcd00 /* 802749E4 00270644 7C 60 1A 14 */ add r3, r0, r3 /* 802749E8 00270648 80 03 68 00 */ lwz r0, 0x6800(r3) /* 802749EC 0027064C 70 00 07 F5 */ andi. r0, r0, 0x7f5 /* 802749F0 00270650 60 00 00 08 */ ori r0, r0, 8 /* 802749F4 00270654 90 03 68 00 */ stw r0, 0x6800(r3) /* 802749F8 00270658 3C 60 00 20 */ lis r3, 0x20 /* 802749FC 0027065C 57 40 10 3A */ slwi r0, r26, 2 /* 80274A00 00270660 7C 1A 00 50 */ subf r0, r26, r0 /* 80274A04 00270664 7C 63 04 30 */ srw r3, r3, r0 /* 80274A08 00270668 4B FF A1 65 */ bl __OSUnmaskInterrupts lbl_80274A0C: /* 80274A0C 0027066C 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80274A10 00270670 60 00 00 01 */ ori r0, r0, 1 /* 80274A14 00270674 90 1F 00 0C */ stw r0, 0xc(r31) /* 80274A18 00270678 1C 7A 00 14 */ mulli r3, r26, 0x14 /* 80274A1C 0027067C 57 64 00 34 */ rlwinm r4, r27, 0, 0, 0x1a /* 80274A20 00270680 3C 00 CD 00 */ lis r0, 0xcd00 /* 80274A24 00270684 7C 60 1A 14 */ add r3, r0, r3 /* 80274A28 00270688 90 83 68 04 */ stw r4, 0x6804(r3) /* 80274A2C 0027068C 93 83 68 08 */ stw r28, 0x6808(r3) /* 80274A30 00270690 57 A0 10 3A */ slwi r0, r29, 2 /* 80274A34 00270694 60 00 00 03 */ ori r0, r0, 3 /* 80274A38 00270698 90 03 68 0C */ stw r0, 0x680c(r3) /* 80274A3C 0027069C 7F C3 F3 78 */ mr r3, r30 /* 80274A40 002706A0 4B FF 9D 45 */ bl OSRestoreInterrupts /* 80274A44 002706A4 38 60 00 01 */ li r3, 1 lbl_80274A48: /* 80274A48 002706A8 39 61 00 30 */ addi r11, r1, 0x30 /* 80274A4C 002706AC 4B F5 27 21 */ bl _restgpr_25 /* 80274A50 002706B0 80 01 00 34 */ lwz r0, 0x34(r1) /* 80274A54 002706B4 7C 08 03 A6 */ mtlr r0 /* 80274A58 002706B8 38 21 00 30 */ addi r1, r1, 0x30 /* 80274A5C 002706BC 4E 80 00 20 */ blr .global EXISync EXISync: /* 80274A60 002706C0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80274A64 002706C4 7C 08 02 A6 */ mflr r0 /* 80274A68 002706C8 90 01 00 24 */ stw r0, 0x24(r1) /* 80274A6C 002706CC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80274A70 002706D0 93 C1 00 18 */ stw r30, 0x18(r1) /* 80274A74 002706D4 93 A1 00 14 */ stw r29, 0x14(r1) /* 80274A78 002706D8 93 81 00 10 */ stw r28, 0x10(r1) /* 80274A7C 002706DC 54 60 30 32 */ slwi r0, r3, 6 /* 80274A80 002706E0 3C 80 80 51 */ lis r4, lbl_805154C0@ha /* 80274A84 002706E4 38 84 54 C0 */ addi r4, r4, lbl_805154C0@l /* 80274A88 002706E8 7F E4 02 14 */ add r31, r4, r0 /* 80274A8C 002706EC 3B A0 00 00 */ li r29, 0 /* 80274A90 002706F0 1F C3 00 14 */ mulli r30, r3, 0x14 /* 80274A94 002706F4 3C 00 CD 00 */ lis r0, 0xcd00 /* 80274A98 002706F8 7C 60 F2 14 */ add r3, r0, r30 /* 80274A9C 002706FC 48 00 02 10 */ b lbl_80274CAC lbl_80274AA0: /* 80274AA0 00270700 80 03 68 0C */ lwz r0, 0x680c(r3) /* 80274AA4 00270704 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80274AA8 00270708 40 82 02 04 */ bne lbl_80274CAC /* 80274AAC 0027070C 4B FF 9C B1 */ bl OSDisableInterrupts /* 80274AB0 00270710 7C 7C 1B 78 */ mr r28, r3 /* 80274AB4 00270714 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80274AB8 00270718 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 80274ABC 0027071C 41 82 01 E4 */ beq lbl_80274CA0 /* 80274AC0 00270720 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80274AC4 00270724 54 00 07 BF */ clrlwi. r0, r0, 0x1e /* 80274AC8 00270728 41 82 01 54 */ beq lbl_80274C1C /* 80274ACC 0027072C 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80274AD0 00270730 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 80274AD4 00270734 41 82 01 3C */ beq lbl_80274C10 /* 80274AD8 00270738 80 BF 00 10 */ lwz r5, 0x10(r31) /* 80274ADC 0027073C 2C 85 00 00 */ cmpwi cr1, r5, 0 /* 80274AE0 00270740 41 86 01 30 */ beq cr1, lbl_80274C10 /* 80274AE4 00270744 80 9F 00 14 */ lwz r4, 0x14(r31) /* 80274AE8 00270748 3C 00 CD 00 */ lis r0, 0xcd00 /* 80274AEC 0027074C 7C 60 F2 14 */ add r3, r0, r30 /* 80274AF0 00270750 80 03 68 10 */ lwz r0, 0x6810(r3) /* 80274AF4 00270754 38 60 00 00 */ li r3, 0 /* 80274AF8 00270758 40 85 01 18 */ ble cr1, lbl_80274C10 /* 80274AFC 0027075C 38 E5 FF F8 */ addi r7, r5, -8 /* 80274B00 00270760 2C 05 00 08 */ cmpwi r5, 8 /* 80274B04 00270764 40 81 00 E0 */ ble lbl_80274BE4 /* 80274B08 00270768 39 00 00 00 */ li r8, 0 /* 80274B0C 0027076C 41 84 00 18 */ blt cr1, lbl_80274B24 /* 80274B10 00270770 3C C0 80 00 */ lis r6, 0x7FFFFFFE@ha /* 80274B14 00270774 38 C6 FF FE */ addi r6, r6, 0x7FFFFFFE@l /* 80274B18 00270778 7C 05 30 00 */ cmpw r5, r6 /* 80274B1C 0027077C 41 81 00 08 */ bgt lbl_80274B24 /* 80274B20 00270780 39 00 00 01 */ li r8, 1 lbl_80274B24: /* 80274B24 00270784 2C 08 00 00 */ cmpwi r8, 0 /* 80274B28 00270788 41 82 00 BC */ beq lbl_80274BE4 /* 80274B2C 0027078C 38 C7 00 07 */ addi r6, r7, 7 /* 80274B30 00270790 54 C6 E8 FE */ srwi r6, r6, 3 /* 80274B34 00270794 7C C9 03 A6 */ mtctr r6 /* 80274B38 00270798 2C 07 00 00 */ cmpwi r7, 0 /* 80274B3C 0027079C 40 81 00 A8 */ ble lbl_80274BE4 lbl_80274B40: /* 80274B40 002707A0 20 C3 00 03 */ subfic r6, r3, 3 /* 80274B44 002707A4 54 C6 18 38 */ slwi r6, r6, 3 /* 80274B48 002707A8 7C 06 34 30 */ srw r6, r0, r6 /* 80274B4C 002707AC 98 C4 00 00 */ stb r6, 0(r4) /* 80274B50 002707B0 38 C3 00 01 */ addi r6, r3, 1 /* 80274B54 002707B4 20 C6 00 03 */ subfic r6, r6, 3 /* 80274B58 002707B8 54 C6 18 38 */ slwi r6, r6, 3 /* 80274B5C 002707BC 7C 06 34 30 */ srw r6, r0, r6 /* 80274B60 002707C0 98 C4 00 01 */ stb r6, 1(r4) /* 80274B64 002707C4 38 C3 00 02 */ addi r6, r3, 2 /* 80274B68 002707C8 20 C6 00 03 */ subfic r6, r6, 3 /* 80274B6C 002707CC 54 C6 18 38 */ slwi r6, r6, 3 /* 80274B70 002707D0 7C 06 34 30 */ srw r6, r0, r6 /* 80274B74 002707D4 98 C4 00 02 */ stb r6, 2(r4) /* 80274B78 002707D8 7C C3 00 D0 */ neg r6, r3 /* 80274B7C 002707DC 54 C6 18 38 */ slwi r6, r6, 3 /* 80274B80 002707E0 7C 06 34 30 */ srw r6, r0, r6 /* 80274B84 002707E4 98 C4 00 03 */ stb r6, 3(r4) /* 80274B88 002707E8 38 C3 00 04 */ addi r6, r3, 4 /* 80274B8C 002707EC 20 C6 00 03 */ subfic r6, r6, 3 /* 80274B90 002707F0 54 C6 18 38 */ slwi r6, r6, 3 /* 80274B94 002707F4 7C 06 34 30 */ srw r6, r0, r6 /* 80274B98 002707F8 98 C4 00 04 */ stb r6, 4(r4) /* 80274B9C 002707FC 38 C3 00 05 */ addi r6, r3, 5 /* 80274BA0 00270800 20 C6 00 03 */ subfic r6, r6, 3 /* 80274BA4 00270804 54 C6 18 38 */ slwi r6, r6, 3 /* 80274BA8 00270808 7C 06 34 30 */ srw r6, r0, r6 /* 80274BAC 0027080C 98 C4 00 05 */ stb r6, 5(r4) /* 80274BB0 00270810 38 C3 00 06 */ addi r6, r3, 6 /* 80274BB4 00270814 20 C6 00 03 */ subfic r6, r6, 3 /* 80274BB8 00270818 54 C6 18 38 */ slwi r6, r6, 3 /* 80274BBC 0027081C 7C 06 34 30 */ srw r6, r0, r6 /* 80274BC0 00270820 98 C4 00 06 */ stb r6, 6(r4) /* 80274BC4 00270824 38 C3 00 07 */ addi r6, r3, 7 /* 80274BC8 00270828 20 C6 00 03 */ subfic r6, r6, 3 /* 80274BCC 0027082C 54 C6 18 38 */ slwi r6, r6, 3 /* 80274BD0 00270830 7C 06 34 30 */ srw r6, r0, r6 /* 80274BD4 00270834 98 C4 00 07 */ stb r6, 7(r4) /* 80274BD8 00270838 38 84 00 08 */ addi r4, r4, 8 /* 80274BDC 0027083C 38 63 00 08 */ addi r3, r3, 8 /* 80274BE0 00270840 42 00 FF 60 */ bdnz lbl_80274B40 lbl_80274BE4: /* 80274BE4 00270844 7C C3 28 50 */ subf r6, r3, r5 /* 80274BE8 00270848 7C C9 03 A6 */ mtctr r6 /* 80274BEC 0027084C 7C 03 28 00 */ cmpw r3, r5 /* 80274BF0 00270850 40 80 00 20 */ bge lbl_80274C10 lbl_80274BF4: /* 80274BF4 00270854 20 A3 00 03 */ subfic r5, r3, 3 /* 80274BF8 00270858 54 A5 18 38 */ slwi r5, r5, 3 /* 80274BFC 0027085C 7C 05 2C 30 */ srw r5, r0, r5 /* 80274C00 00270860 98 A4 00 00 */ stb r5, 0(r4) /* 80274C04 00270864 38 84 00 01 */ addi r4, r4, 1 /* 80274C08 00270868 38 63 00 01 */ addi r3, r3, 1 /* 80274C0C 0027086C 42 00 FF E8 */ bdnz lbl_80274BF4 lbl_80274C10: /* 80274C10 00270870 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80274C14 00270874 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d /* 80274C18 00270878 90 1F 00 0C */ stw r0, 0xc(r31) lbl_80274C1C: /* 80274C1C 0027087C 4B FF 4A 25 */ bl __OSGetDIConfig /* 80274C20 00270880 28 03 00 FF */ cmplwi r3, 0xff /* 80274C24 00270884 40 82 00 78 */ bne lbl_80274C9C /* 80274C28 00270888 4B FF 39 05 */ bl OSGetConsoleType /* 80274C2C 0027088C 54 63 00 06 */ rlwinm r3, r3, 0, 0, 3 /* 80274C30 00270890 3C 03 E0 00 */ addis r0, r3, 0xe000 /* 80274C34 00270894 28 00 00 00 */ cmplwi r0, 0 /* 80274C38 00270898 41 82 00 64 */ beq lbl_80274C9C /* 80274C3C 0027089C 80 1F 00 10 */ lwz r0, 0x10(r31) /* 80274C40 002708A0 2C 00 00 04 */ cmpwi r0, 4 /* 80274C44 002708A4 40 82 00 58 */ bne lbl_80274C9C /* 80274C48 002708A8 3C 00 CD 00 */ lis r0, 0xcd00 /* 80274C4C 002708AC 7C 80 F2 14 */ add r4, r0, r30 /* 80274C50 002708B0 80 04 68 00 */ lwz r0, 0x6800(r4) /* 80274C54 002708B4 54 00 06 77 */ rlwinm. r0, r0, 0, 0x19, 0x1b /* 80274C58 002708B8 40 82 00 44 */ bne lbl_80274C9C /* 80274C5C 002708BC 80 64 68 10 */ lwz r3, 0x6810(r4) /* 80274C60 002708C0 3C 03 FE FF */ addis r0, r3, 0xfeff /* 80274C64 002708C4 28 00 00 00 */ cmplwi r0, 0 /* 80274C68 002708C8 41 82 00 24 */ beq lbl_80274C8C /* 80274C6C 002708CC 80 64 68 10 */ lwz r3, 0x6810(r4) /* 80274C70 002708D0 3C 03 FA F9 */ addis r0, r3, 0xfaf9 /* 80274C74 002708D4 28 00 00 00 */ cmplwi r0, 0 /* 80274C78 002708D8 41 82 00 14 */ beq lbl_80274C8C /* 80274C7C 002708DC 80 64 68 10 */ lwz r3, 0x6810(r4) /* 80274C80 002708E0 3C 03 FB DE */ addis r0, r3, 0xfbde /* 80274C84 002708E4 28 00 00 01 */ cmplwi r0, 1 /* 80274C88 002708E8 40 82 00 14 */ bne lbl_80274C9C lbl_80274C8C: /* 80274C8C 002708EC 3C 60 80 00 */ lis r3, 0x800030E6@ha /* 80274C90 002708F0 A0 03 30 E6 */ lhz r0, 0x800030E6@l(r3) /* 80274C94 002708F4 28 00 82 00 */ cmplwi r0, 0x8200 /* 80274C98 002708F8 40 82 00 08 */ bne lbl_80274CA0 lbl_80274C9C: /* 80274C9C 002708FC 3B A0 00 01 */ li r29, 1 lbl_80274CA0: /* 80274CA0 00270900 7F 83 E3 78 */ mr r3, r28 /* 80274CA4 00270904 4B FF 9A E1 */ bl OSRestoreInterrupts /* 80274CA8 00270908 48 00 00 10 */ b lbl_80274CB8 lbl_80274CAC: /* 80274CAC 0027090C 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80274CB0 00270910 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 80274CB4 00270914 40 82 FD EC */ bne lbl_80274AA0 lbl_80274CB8: /* 80274CB8 00270918 7F A3 EB 78 */ mr r3, r29 /* 80274CBC 0027091C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80274CC0 00270920 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80274CC4 00270924 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80274CC8 00270928 83 81 00 10 */ lwz r28, 0x10(r1) /* 80274CCC 0027092C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80274CD0 00270930 7C 08 03 A6 */ mtlr r0 /* 80274CD4 00270934 38 21 00 20 */ addi r1, r1, 0x20 /* 80274CD8 00270938 4E 80 00 20 */ blr .global EXISetExiCallback EXISetExiCallback: /* 80274CDC 0027093C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80274CE0 00270940 7C 08 02 A6 */ mflr r0 /* 80274CE4 00270944 90 01 00 24 */ stw r0, 0x24(r1) /* 80274CE8 00270948 39 61 00 20 */ addi r11, r1, 0x20 /* 80274CEC 0027094C 4B F5 24 39 */ bl _savegpr_26 /* 80274CF0 00270950 7C 7A 1B 78 */ mr r26, r3 /* 80274CF4 00270954 7C 9B 23 78 */ mr r27, r4 /* 80274CF8 00270958 54 60 30 32 */ slwi r0, r3, 6 /* 80274CFC 0027095C 3F E0 80 51 */ lis r31, lbl_805154C0@ha /* 80274D00 00270960 3B FF 54 C0 */ addi r31, r31, lbl_805154C0@l /* 80274D04 00270964 7F DF 02 14 */ add r30, r31, r0 /* 80274D08 00270968 4B FF 9A 55 */ bl OSDisableInterrupts /* 80274D0C 0027096C 7C 7C 1B 78 */ mr r28, r3 /* 80274D10 00270970 83 BE 00 00 */ lwz r29, 0(r30) /* 80274D14 00270974 93 7E 00 00 */ stw r27, 0(r30) /* 80274D18 00270978 2C 1A 00 02 */ cmpwi r26, 2 /* 80274D1C 0027097C 41 82 00 14 */ beq lbl_80274D30 /* 80274D20 00270980 7F 43 D3 78 */ mr r3, r26 /* 80274D24 00270984 7F C4 F3 78 */ mr r4, r30 /* 80274D28 00270988 4B FF F8 31 */ bl SetExiInterruptMask /* 80274D2C 0027098C 48 00 00 10 */ b lbl_80274D3C lbl_80274D30: /* 80274D30 00270990 38 60 00 00 */ li r3, 0 /* 80274D34 00270994 7F E4 FB 78 */ mr r4, r31 /* 80274D38 00270998 4B FF F8 21 */ bl SetExiInterruptMask lbl_80274D3C: /* 80274D3C 0027099C 7F 83 E3 78 */ mr r3, r28 /* 80274D40 002709A0 4B FF 9A 45 */ bl OSRestoreInterrupts /* 80274D44 002709A4 7F A3 EB 78 */ mr r3, r29 /* 80274D48 002709A8 39 61 00 20 */ addi r11, r1, 0x20 /* 80274D4C 002709AC 4B F5 24 25 */ bl _restgpr_26 /* 80274D50 002709B0 80 01 00 24 */ lwz r0, 0x24(r1) /* 80274D54 002709B4 7C 08 03 A6 */ mtlr r0 /* 80274D58 002709B8 38 21 00 20 */ addi r1, r1, 0x20 /* 80274D5C 002709BC 4E 80 00 20 */ blr .global __EXIProbe __EXIProbe: /* 80274D60 002709C0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80274D64 002709C4 7C 08 02 A6 */ mflr r0 /* 80274D68 002709C8 90 01 00 24 */ stw r0, 0x24(r1) /* 80274D6C 002709CC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80274D70 002709D0 93 C1 00 18 */ stw r30, 0x18(r1) /* 80274D74 002709D4 93 A1 00 14 */ stw r29, 0x14(r1) /* 80274D78 002709D8 93 81 00 10 */ stw r28, 0x10(r1) /* 80274D7C 002709DC 7C 7C 1B 78 */ mr r28, r3 /* 80274D80 002709E0 54 60 30 32 */ slwi r0, r3, 6 /* 80274D84 002709E4 3C 80 80 51 */ lis r4, lbl_805154C0@ha /* 80274D88 002709E8 38 84 54 C0 */ addi r4, r4, lbl_805154C0@l /* 80274D8C 002709EC 7F E4 02 14 */ add r31, r4, r0 /* 80274D90 002709F0 2C 03 00 02 */ cmpwi r3, 2 /* 80274D94 002709F4 40 82 00 0C */ bne lbl_80274DA0 /* 80274D98 002709F8 38 60 00 01 */ li r3, 1 /* 80274D9C 002709FC 48 00 01 24 */ b lbl_80274EC0 lbl_80274DA0: /* 80274DA0 00270A00 3B A0 00 01 */ li r29, 1 /* 80274DA4 00270A04 4B FF 99 B9 */ bl OSDisableInterrupts /* 80274DA8 00270A08 7C 7E 1B 78 */ mr r30, r3 /* 80274DAC 00270A0C 1C 7C 00 14 */ mulli r3, r28, 0x14 /* 80274DB0 00270A10 3C 00 CD 00 */ lis r0, 0xcd00 /* 80274DB4 00270A14 7C 60 1A 14 */ add r3, r0, r3 /* 80274DB8 00270A18 80 A3 68 00 */ lwz r5, 0x6800(r3) /* 80274DBC 00270A1C 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80274DC0 00270A20 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 80274DC4 00270A24 40 82 00 C4 */ bne lbl_80274E88 /* 80274DC8 00270A28 54 A0 05 29 */ rlwinm. r0, r5, 0, 0x14, 0x14 /* 80274DCC 00270A2C 41 82 00 2C */ beq lbl_80274DF8 /* 80274DD0 00270A30 80 03 68 00 */ lwz r0, 0x6800(r3) /* 80274DD4 00270A34 70 00 07 F5 */ andi. r0, r0, 0x7f5 /* 80274DD8 00270A38 60 00 08 00 */ ori r0, r0, 0x800 /* 80274DDC 00270A3C 90 03 68 00 */ stw r0, 0x6800(r3) /* 80274DE0 00270A40 38 80 00 00 */ li r4, 0 /* 80274DE4 00270A44 90 9F 00 20 */ stw r4, 0x20(r31) /* 80274DE8 00270A48 57 83 10 3A */ slwi r3, r28, 2 /* 80274DEC 00270A4C 3C 00 80 00 */ lis r0, 0x8000 /* 80274DF0 00270A50 7C 60 1A 14 */ add r3, r0, r3 /* 80274DF4 00270A54 90 83 30 C0 */ stw r4, 0x30c0(r3) lbl_80274DF8: /* 80274DF8 00270A58 54 A0 04 E7 */ rlwinm. r0, r5, 0, 0x13, 0x13 /* 80274DFC 00270A5C 41 82 00 6C */ beq lbl_80274E68 /* 80274E00 00270A60 4B FF D9 B9 */ bl OSGetTime /* 80274E04 00270A64 3F E0 80 00 */ lis r31, 0x800000F8@ha /* 80274E08 00270A68 80 1F 00 F8 */ lwz r0, 0x800000F8@l(r31) /* 80274E0C 00270A6C 54 00 F0 BE */ srwi r0, r0, 2 /* 80274E10 00270A70 3C A0 10 62 */ lis r5, 0x10624DD3@ha /* 80274E14 00270A74 38 A5 4D D3 */ addi r5, r5, 0x10624DD3@l /* 80274E18 00270A78 7C 05 00 16 */ mulhwu r0, r5, r0 /* 80274E1C 00270A7C 54 06 D1 BE */ srwi r6, r0, 6 /* 80274E20 00270A80 38 A0 00 00 */ li r5, 0 /* 80274E24 00270A84 4B F5 24 55 */ bl __div2i /* 80274E28 00270A88 38 C0 00 64 */ li r6, 0x64 /* 80274E2C 00270A8C 38 A0 00 00 */ li r5, 0 /* 80274E30 00270A90 4B F5 24 49 */ bl __div2i /* 80274E34 00270A94 38 84 00 01 */ addi r4, r4, 1 /* 80274E38 00270A98 57 80 10 3A */ slwi r0, r28, 2 /* 80274E3C 00270A9C 7C 7F 02 14 */ add r3, r31, r0 /* 80274E40 00270AA0 80 03 30 C0 */ lwz r0, 0x30c0(r3) /* 80274E44 00270AA4 2C 00 00 00 */ cmpwi r0, 0 /* 80274E48 00270AA8 40 82 00 08 */ bne lbl_80274E50 /* 80274E4C 00270AAC 90 83 30 C0 */ stw r4, 0x30c0(r3) lbl_80274E50: /* 80274E50 00270AB0 80 03 30 C0 */ lwz r0, 0x30c0(r3) /* 80274E54 00270AB4 7C 00 20 50 */ subf r0, r0, r4 /* 80274E58 00270AB8 2C 00 00 03 */ cmpwi r0, 3 /* 80274E5C 00270ABC 40 80 00 58 */ bge lbl_80274EB4 /* 80274E60 00270AC0 3B A0 00 00 */ li r29, 0 /* 80274E64 00270AC4 48 00 00 50 */ b lbl_80274EB4 lbl_80274E68: /* 80274E68 00270AC8 38 80 00 00 */ li r4, 0 /* 80274E6C 00270ACC 90 9F 00 20 */ stw r4, 0x20(r31) /* 80274E70 00270AD0 57 83 10 3A */ slwi r3, r28, 2 /* 80274E74 00270AD4 3C 00 80 00 */ lis r0, 0x8000 /* 80274E78 00270AD8 7C 60 1A 14 */ add r3, r0, r3 /* 80274E7C 00270ADC 90 83 30 C0 */ stw r4, 0x30c0(r3) /* 80274E80 00270AE0 3B A0 00 00 */ li r29, 0 /* 80274E84 00270AE4 48 00 00 30 */ b lbl_80274EB4 lbl_80274E88: /* 80274E88 00270AE8 54 A0 04 E7 */ rlwinm. r0, r5, 0, 0x13, 0x13 /* 80274E8C 00270AEC 41 82 00 0C */ beq lbl_80274E98 /* 80274E90 00270AF0 54 A0 05 29 */ rlwinm. r0, r5, 0, 0x14, 0x14 /* 80274E94 00270AF4 41 82 00 20 */ beq lbl_80274EB4 lbl_80274E98: /* 80274E98 00270AF8 38 80 00 00 */ li r4, 0 /* 80274E9C 00270AFC 90 9F 00 20 */ stw r4, 0x20(r31) /* 80274EA0 00270B00 57 83 10 3A */ slwi r3, r28, 2 /* 80274EA4 00270B04 3C 00 80 00 */ lis r0, 0x8000 /* 80274EA8 00270B08 7C 60 1A 14 */ add r3, r0, r3 /* 80274EAC 00270B0C 90 83 30 C0 */ stw r4, 0x30c0(r3) /* 80274EB0 00270B10 3B A0 00 00 */ li r29, 0 lbl_80274EB4: /* 80274EB4 00270B14 7F C3 F3 78 */ mr r3, r30 /* 80274EB8 00270B18 4B FF 98 CD */ bl OSRestoreInterrupts /* 80274EBC 00270B1C 7F A3 EB 78 */ mr r3, r29 lbl_80274EC0: /* 80274EC0 00270B20 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80274EC4 00270B24 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80274EC8 00270B28 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80274ECC 00270B2C 83 81 00 10 */ lwz r28, 0x10(r1) /* 80274ED0 00270B30 80 01 00 24 */ lwz r0, 0x24(r1) /* 80274ED4 00270B34 7C 08 03 A6 */ mtlr r0 /* 80274ED8 00270B38 38 21 00 20 */ addi r1, r1, 0x20 /* 80274EDC 00270B3C 4E 80 00 20 */ blr .global EXIAttach EXIAttach: /* 80274EE0 00270B40 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80274EE4 00270B44 7C 08 02 A6 */ mflr r0 /* 80274EE8 00270B48 90 01 00 34 */ stw r0, 0x34(r1) /* 80274EEC 00270B4C 39 61 00 30 */ addi r11, r1, 0x30 /* 80274EF0 00270B50 4B F5 22 39 */ bl _savegpr_27 /* 80274EF4 00270B54 7C 7D 1B 78 */ mr r29, r3 /* 80274EF8 00270B58 7C 9B 23 78 */ mr r27, r4 /* 80274EFC 00270B5C 54 60 30 32 */ slwi r0, r3, 6 /* 80274F00 00270B60 3C 80 80 51 */ lis r4, lbl_805154C0@ha /* 80274F04 00270B64 38 84 54 C0 */ addi r4, r4, lbl_805154C0@l /* 80274F08 00270B68 7F E4 02 14 */ add r31, r4, r0 /* 80274F0C 00270B6C 4B FF FE 55 */ bl __EXIProbe /* 80274F10 00270B70 2C 03 00 00 */ cmpwi r3, 0 /* 80274F14 00270B74 41 82 00 20 */ beq lbl_80274F34 /* 80274F18 00270B78 80 1F 00 20 */ lwz r0, 0x20(r31) /* 80274F1C 00270B7C 2C 00 00 00 */ cmpwi r0, 0 /* 80274F20 00270B80 40 82 00 14 */ bne lbl_80274F34 /* 80274F24 00270B84 7F A3 EB 78 */ mr r3, r29 /* 80274F28 00270B88 38 80 00 00 */ li r4, 0 /* 80274F2C 00270B8C 38 A1 00 08 */ addi r5, r1, 8 /* 80274F30 00270B90 48 00 0B 11 */ bl EXIGetID lbl_80274F34: /* 80274F34 00270B94 4B FF 98 29 */ bl OSDisableInterrupts /* 80274F38 00270B98 7C 7E 1B 78 */ mr r30, r3 /* 80274F3C 00270B9C 80 1F 00 20 */ lwz r0, 0x20(r31) /* 80274F40 00270BA0 2C 00 00 00 */ cmpwi r0, 0 /* 80274F44 00270BA4 40 82 00 10 */ bne lbl_80274F54 /* 80274F48 00270BA8 4B FF 98 3D */ bl OSRestoreInterrupts /* 80274F4C 00270BAC 38 60 00 00 */ li r3, 0 /* 80274F50 00270BB0 48 00 00 90 */ b lbl_80274FE0 lbl_80274F54: /* 80274F54 00270BB4 4B FF 98 09 */ bl OSDisableInterrupts /* 80274F58 00270BB8 7C 7C 1B 78 */ mr r28, r3 /* 80274F5C 00270BBC 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80274F60 00270BC0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 80274F64 00270BC4 40 82 00 14 */ bne lbl_80274F78 /* 80274F68 00270BC8 7F A3 EB 78 */ mr r3, r29 /* 80274F6C 00270BCC 4B FF FD F5 */ bl __EXIProbe /* 80274F70 00270BD0 2C 03 00 00 */ cmpwi r3, 0 /* 80274F74 00270BD4 40 82 00 14 */ bne lbl_80274F88 lbl_80274F78: /* 80274F78 00270BD8 7F 83 E3 78 */ mr r3, r28 /* 80274F7C 00270BDC 4B FF 98 09 */ bl OSRestoreInterrupts /* 80274F80 00270BE0 3B A0 00 00 */ li r29, 0 /* 80274F84 00270BE4 48 00 00 50 */ b lbl_80274FD4 lbl_80274F88: /* 80274F88 00270BE8 1C 7D 00 14 */ mulli r3, r29, 0x14 /* 80274F8C 00270BEC 3C 00 CD 00 */ lis r0, 0xcd00 /* 80274F90 00270BF0 7C 60 1A 14 */ add r3, r0, r3 /* 80274F94 00270BF4 80 03 68 00 */ lwz r0, 0x6800(r3) /* 80274F98 00270BF8 70 00 07 F5 */ andi. r0, r0, 0x7f5 /* 80274F9C 00270BFC 60 00 00 02 */ ori r0, r0, 2 /* 80274FA0 00270C00 90 03 68 00 */ stw r0, 0x6800(r3) /* 80274FA4 00270C04 93 7F 00 08 */ stw r27, 8(r31) /* 80274FA8 00270C08 3C 60 00 10 */ lis r3, 0x10 /* 80274FAC 00270C0C 57 A0 10 3A */ slwi r0, r29, 2 /* 80274FB0 00270C10 7C 1D 00 50 */ subf r0, r29, r0 /* 80274FB4 00270C14 7C 63 04 30 */ srw r3, r3, r0 /* 80274FB8 00270C18 4B FF 9B B5 */ bl __OSUnmaskInterrupts /* 80274FBC 00270C1C 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80274FC0 00270C20 60 00 00 08 */ ori r0, r0, 8 /* 80274FC4 00270C24 90 1F 00 0C */ stw r0, 0xc(r31) /* 80274FC8 00270C28 7F 83 E3 78 */ mr r3, r28 /* 80274FCC 00270C2C 4B FF 97 B9 */ bl OSRestoreInterrupts /* 80274FD0 00270C30 3B A0 00 01 */ li r29, 1 lbl_80274FD4: /* 80274FD4 00270C34 7F C3 F3 78 */ mr r3, r30 /* 80274FD8 00270C38 4B FF 97 AD */ bl OSRestoreInterrupts /* 80274FDC 00270C3C 7F A3 EB 78 */ mr r3, r29 lbl_80274FE0: /* 80274FE0 00270C40 39 61 00 30 */ addi r11, r1, 0x30 /* 80274FE4 00270C44 4B F5 21 91 */ bl _restgpr_27 /* 80274FE8 00270C48 80 01 00 34 */ lwz r0, 0x34(r1) /* 80274FEC 00270C4C 7C 08 03 A6 */ mtlr r0 /* 80274FF0 00270C50 38 21 00 30 */ addi r1, r1, 0x30 /* 80274FF4 00270C54 4E 80 00 20 */ blr .global EXIDetach EXIDetach: /* 80274FF8 00270C58 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80274FFC 00270C5C 7C 08 02 A6 */ mflr r0 /* 80275000 00270C60 90 01 00 24 */ stw r0, 0x24(r1) /* 80275004 00270C64 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80275008 00270C68 93 C1 00 18 */ stw r30, 0x18(r1) /* 8027500C 00270C6C 93 A1 00 14 */ stw r29, 0x14(r1) /* 80275010 00270C70 7C 7D 1B 78 */ mr r29, r3 /* 80275014 00270C74 54 60 30 32 */ slwi r0, r3, 6 /* 80275018 00270C78 3C 60 80 51 */ lis r3, lbl_805154C0@ha /* 8027501C 00270C7C 38 63 54 C0 */ addi r3, r3, lbl_805154C0@l /* 80275020 00270C80 7F E3 02 14 */ add r31, r3, r0 /* 80275024 00270C84 4B FF 97 39 */ bl OSDisableInterrupts /* 80275028 00270C88 7C 7E 1B 78 */ mr r30, r3 /* 8027502C 00270C8C 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80275030 00270C90 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 80275034 00270C94 40 82 00 10 */ bne lbl_80275044 /* 80275038 00270C98 4B FF 97 4D */ bl OSRestoreInterrupts /* 8027503C 00270C9C 38 60 00 01 */ li r3, 1 /* 80275040 00270CA0 48 00 00 54 */ b lbl_80275094 lbl_80275044: /* 80275044 00270CA4 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80275048 00270CA8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 8027504C 00270CAC 41 82 00 1C */ beq lbl_80275068 /* 80275050 00270CB0 80 1F 00 18 */ lwz r0, 0x18(r31) /* 80275054 00270CB4 2C 00 00 00 */ cmpwi r0, 0 /* 80275058 00270CB8 40 82 00 10 */ bne lbl_80275068 /* 8027505C 00270CBC 4B FF 97 29 */ bl OSRestoreInterrupts /* 80275060 00270CC0 38 60 00 00 */ li r3, 0 /* 80275064 00270CC4 48 00 00 30 */ b lbl_80275094 lbl_80275068: /* 80275068 00270CC8 80 1F 00 0C */ lwz r0, 0xc(r31) /* 8027506C 00270CCC 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b /* 80275070 00270CD0 90 1F 00 0C */ stw r0, 0xc(r31) /* 80275074 00270CD4 3C 60 00 50 */ lis r3, 0x50 /* 80275078 00270CD8 57 A0 10 3A */ slwi r0, r29, 2 /* 8027507C 00270CDC 7C 1D 00 50 */ subf r0, r29, r0 /* 80275080 00270CE0 7C 63 04 30 */ srw r3, r3, r0 /* 80275084 00270CE4 4B FF 9A 69 */ bl __OSMaskInterrupts /* 80275088 00270CE8 7F C3 F3 78 */ mr r3, r30 /* 8027508C 00270CEC 4B FF 96 F9 */ bl OSRestoreInterrupts /* 80275090 00270CF0 38 60 00 01 */ li r3, 1 lbl_80275094: /* 80275094 00270CF4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80275098 00270CF8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8027509C 00270CFC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802750A0 00270D00 80 01 00 24 */ lwz r0, 0x24(r1) /* 802750A4 00270D04 7C 08 03 A6 */ mtlr r0 /* 802750A8 00270D08 38 21 00 20 */ addi r1, r1, 0x20 /* 802750AC 00270D0C 4E 80 00 20 */ blr .global EXISelect EXISelect: /* 802750B0 00270D10 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802750B4 00270D14 7C 08 02 A6 */ mflr r0 /* 802750B8 00270D18 90 01 00 24 */ stw r0, 0x24(r1) /* 802750BC 00270D1C 39 61 00 20 */ addi r11, r1, 0x20 /* 802750C0 00270D20 4B F5 20 69 */ bl _savegpr_27 /* 802750C4 00270D24 7C 7B 1B 78 */ mr r27, r3 /* 802750C8 00270D28 7C 9C 23 78 */ mr r28, r4 /* 802750CC 00270D2C 7C BD 2B 78 */ mr r29, r5 /* 802750D0 00270D30 54 60 30 32 */ slwi r0, r3, 6 /* 802750D4 00270D34 3C 60 80 51 */ lis r3, lbl_805154C0@ha /* 802750D8 00270D38 38 63 54 C0 */ addi r3, r3, lbl_805154C0@l /* 802750DC 00270D3C 7F E3 02 14 */ add r31, r3, r0 /* 802750E0 00270D40 4B FF 96 7D */ bl OSDisableInterrupts /* 802750E4 00270D44 7C 7E 1B 78 */ mr r30, r3 /* 802750E8 00270D48 80 1F 00 0C */ lwz r0, 0xc(r31) /* 802750EC 00270D4C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 802750F0 00270D50 40 82 00 48 */ bne lbl_80275138 /* 802750F4 00270D54 2C 1B 00 02 */ cmpwi r27, 2 /* 802750F8 00270D58 41 82 00 50 */ beq lbl_80275148 /* 802750FC 00270D5C 2C 1C 00 00 */ cmpwi r28, 0 /* 80275100 00270D60 40 82 00 20 */ bne lbl_80275120 /* 80275104 00270D64 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80275108 00270D68 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 8027510C 00270D6C 40 82 00 14 */ bne lbl_80275120 /* 80275110 00270D70 7F 63 DB 78 */ mr r3, r27 /* 80275114 00270D74 4B FF FC 4D */ bl __EXIProbe /* 80275118 00270D78 2C 03 00 00 */ cmpwi r3, 0 /* 8027511C 00270D7C 41 82 00 1C */ beq lbl_80275138 lbl_80275120: /* 80275120 00270D80 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80275124 00270D84 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80275128 00270D88 41 82 00 10 */ beq lbl_80275138 /* 8027512C 00270D8C 80 1F 00 18 */ lwz r0, 0x18(r31) /* 80275130 00270D90 7C 00 E0 40 */ cmplw r0, r28 /* 80275134 00270D94 41 82 00 14 */ beq lbl_80275148 lbl_80275138: /* 80275138 00270D98 7F C3 F3 78 */ mr r3, r30 /* 8027513C 00270D9C 4B FF 96 49 */ bl OSRestoreInterrupts /* 80275140 00270DA0 38 60 00 00 */ li r3, 0 /* 80275144 00270DA4 48 00 00 84 */ b lbl_802751C8 lbl_80275148: /* 80275148 00270DA8 80 1F 00 0C */ lwz r0, 0xc(r31) /* 8027514C 00270DAC 60 00 00 04 */ ori r0, r0, 4 /* 80275150 00270DB0 90 1F 00 0C */ stw r0, 0xc(r31) /* 80275154 00270DB4 1C 7B 00 14 */ mulli r3, r27, 0x14 /* 80275158 00270DB8 3C 00 CD 00 */ lis r0, 0xcd00 /* 8027515C 00270DBC 7C 80 1A 14 */ add r4, r0, r3 /* 80275160 00270DC0 80 64 68 00 */ lwz r3, 0x6800(r4) /* 80275164 00270DC4 70 63 04 05 */ andi. r3, r3, 0x405 /* 80275168 00270DC8 57 A0 20 36 */ slwi r0, r29, 4 /* 8027516C 00270DCC 7C 63 03 78 */ or r3, r3, r0 /* 80275170 00270DD0 38 00 00 01 */ li r0, 1 /* 80275174 00270DD4 7C 00 E0 30 */ slw r0, r0, r28 /* 80275178 00270DD8 54 00 38 30 */ slwi r0, r0, 7 /* 8027517C 00270DDC 7C 63 03 78 */ or r3, r3, r0 /* 80275180 00270DE0 90 64 68 00 */ stw r3, 0x6800(r4) /* 80275184 00270DE4 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80275188 00270DE8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 8027518C 00270DEC 41 82 00 30 */ beq lbl_802751BC /* 80275190 00270DF0 2C 1B 00 01 */ cmpwi r27, 1 /* 80275194 00270DF4 41 82 00 20 */ beq lbl_802751B4 /* 80275198 00270DF8 40 80 00 24 */ bge lbl_802751BC /* 8027519C 00270DFC 2C 1B 00 00 */ cmpwi r27, 0 /* 802751A0 00270E00 40 80 00 08 */ bge lbl_802751A8 /* 802751A4 00270E04 48 00 00 18 */ b lbl_802751BC lbl_802751A8: /* 802751A8 00270E08 3C 60 00 10 */ lis r3, 0x10 /* 802751AC 00270E0C 4B FF 99 41 */ bl __OSMaskInterrupts /* 802751B0 00270E10 48 00 00 0C */ b lbl_802751BC lbl_802751B4: /* 802751B4 00270E14 3C 60 00 02 */ lis r3, 2 /* 802751B8 00270E18 4B FF 99 35 */ bl __OSMaskInterrupts lbl_802751BC: /* 802751BC 00270E1C 7F C3 F3 78 */ mr r3, r30 /* 802751C0 00270E20 4B FF 95 C5 */ bl OSRestoreInterrupts /* 802751C4 00270E24 38 60 00 01 */ li r3, 1 lbl_802751C8: /* 802751C8 00270E28 39 61 00 20 */ addi r11, r1, 0x20 /* 802751CC 00270E2C 4B F5 1F A9 */ bl _restgpr_27 /* 802751D0 00270E30 80 01 00 24 */ lwz r0, 0x24(r1) /* 802751D4 00270E34 7C 08 03 A6 */ mtlr r0 /* 802751D8 00270E38 38 21 00 20 */ addi r1, r1, 0x20 /* 802751DC 00270E3C 4E 80 00 20 */ blr .global EXIDeselect EXIDeselect: /* 802751E0 00270E40 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802751E4 00270E44 7C 08 02 A6 */ mflr r0 /* 802751E8 00270E48 90 01 00 24 */ stw r0, 0x24(r1) /* 802751EC 00270E4C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802751F0 00270E50 93 C1 00 18 */ stw r30, 0x18(r1) /* 802751F4 00270E54 93 A1 00 14 */ stw r29, 0x14(r1) /* 802751F8 00270E58 93 81 00 10 */ stw r28, 0x10(r1) /* 802751FC 00270E5C 7C 7C 1B 78 */ mr r28, r3 /* 80275200 00270E60 54 60 30 32 */ slwi r0, r3, 6 /* 80275204 00270E64 3C 60 80 51 */ lis r3, lbl_805154C0@ha /* 80275208 00270E68 38 63 54 C0 */ addi r3, r3, lbl_805154C0@l /* 8027520C 00270E6C 7F E3 02 14 */ add r31, r3, r0 /* 80275210 00270E70 4B FF 95 4D */ bl OSDisableInterrupts /* 80275214 00270E74 7C 7D 1B 78 */ mr r29, r3 /* 80275218 00270E78 80 1F 00 0C */ lwz r0, 0xc(r31) /* 8027521C 00270E7C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 80275220 00270E80 40 82 00 10 */ bne lbl_80275230 /* 80275224 00270E84 4B FF 95 61 */ bl OSRestoreInterrupts /* 80275228 00270E88 38 60 00 00 */ li r3, 0 /* 8027522C 00270E8C 48 00 00 94 */ b lbl_802752C0 lbl_80275230: /* 80275230 00270E90 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80275234 00270E94 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 80275238 00270E98 90 1F 00 0C */ stw r0, 0xc(r31) /* 8027523C 00270E9C 1C 7C 00 14 */ mulli r3, r28, 0x14 /* 80275240 00270EA0 3C 00 CD 00 */ lis r0, 0xcd00 /* 80275244 00270EA4 7C 60 1A 14 */ add r3, r0, r3 /* 80275248 00270EA8 83 C3 68 00 */ lwz r30, 0x6800(r3) /* 8027524C 00270EAC 73 C0 04 05 */ andi. r0, r30, 0x405 /* 80275250 00270EB0 90 03 68 00 */ stw r0, 0x6800(r3) /* 80275254 00270EB4 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80275258 00270EB8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 8027525C 00270EBC 41 82 00 30 */ beq lbl_8027528C /* 80275260 00270EC0 2C 1C 00 01 */ cmpwi r28, 1 /* 80275264 00270EC4 41 82 00 20 */ beq lbl_80275284 /* 80275268 00270EC8 40 80 00 24 */ bge lbl_8027528C /* 8027526C 00270ECC 2C 1C 00 00 */ cmpwi r28, 0 /* 80275270 00270ED0 40 80 00 08 */ bge lbl_80275278 /* 80275274 00270ED4 48 00 00 18 */ b lbl_8027528C lbl_80275278: /* 80275278 00270ED8 3C 60 00 10 */ lis r3, 0x10 /* 8027527C 00270EDC 4B FF 98 F1 */ bl __OSUnmaskInterrupts /* 80275280 00270EE0 48 00 00 0C */ b lbl_8027528C lbl_80275284: /* 80275284 00270EE4 3C 60 00 02 */ lis r3, 2 /* 80275288 00270EE8 4B FF 98 E5 */ bl __OSUnmaskInterrupts lbl_8027528C: /* 8027528C 00270EEC 7F A3 EB 78 */ mr r3, r29 /* 80275290 00270EF0 4B FF 94 F5 */ bl OSRestoreInterrupts /* 80275294 00270EF4 2C 1C 00 02 */ cmpwi r28, 2 /* 80275298 00270EF8 41 82 00 24 */ beq lbl_802752BC /* 8027529C 00270EFC 57 C0 06 31 */ rlwinm. r0, r30, 0, 0x18, 0x18 /* 802752A0 00270F00 41 82 00 1C */ beq lbl_802752BC /* 802752A4 00270F04 7F 83 E3 78 */ mr r3, r28 /* 802752A8 00270F08 4B FF FA B9 */ bl __EXIProbe /* 802752AC 00270F0C 7C 03 00 D0 */ neg r0, r3 /* 802752B0 00270F10 7C 00 1B 78 */ or r0, r0, r3 /* 802752B4 00270F14 54 03 0F FE */ srwi r3, r0, 0x1f /* 802752B8 00270F18 48 00 00 08 */ b lbl_802752C0 lbl_802752BC: /* 802752BC 00270F1C 38 60 00 01 */ li r3, 1 lbl_802752C0: /* 802752C0 00270F20 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802752C4 00270F24 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802752C8 00270F28 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802752CC 00270F2C 83 81 00 10 */ lwz r28, 0x10(r1) /* 802752D0 00270F30 80 01 00 24 */ lwz r0, 0x24(r1) /* 802752D4 00270F34 7C 08 03 A6 */ mtlr r0 /* 802752D8 00270F38 38 21 00 20 */ addi r1, r1, 0x20 /* 802752DC 00270F3C 4E 80 00 20 */ blr .global EXIIntrruptHandler EXIIntrruptHandler: /* 802752E0 00270F40 94 21 FD 20 */ stwu r1, -0x2e0(r1) /* 802752E4 00270F44 7C 08 02 A6 */ mflr r0 /* 802752E8 00270F48 90 01 02 E4 */ stw r0, 0x2e4(r1) /* 802752EC 00270F4C 93 E1 02 DC */ stw r31, 0x2dc(r1) /* 802752F0 00270F50 93 C1 02 D8 */ stw r30, 0x2d8(r1) /* 802752F4 00270F54 93 A1 02 D4 */ stw r29, 0x2d4(r1) /* 802752F8 00270F58 7C 9D 23 78 */ mr r29, r4 /* 802752FC 00270F5C 38 03 FF F7 */ addi r0, r3, -9 /* 80275300 00270F60 3C 60 55 55 */ lis r3, 0x55555556@ha /* 80275304 00270F64 38 63 55 56 */ addi r3, r3, 0x55555556@l /* 80275308 00270F68 7C 63 00 96 */ mulhw r3, r3, r0 /* 8027530C 00270F6C 54 60 0F FE */ srwi r0, r3, 0x1f /* 80275310 00270F70 7F E3 02 14 */ add r31, r3, r0 /* 80275314 00270F74 1C 7F 00 14 */ mulli r3, r31, 0x14 /* 80275318 00270F78 3C 00 CD 00 */ lis r0, 0xcd00 /* 8027531C 00270F7C 7C 60 1A 14 */ add r3, r0, r3 /* 80275320 00270F80 80 03 68 00 */ lwz r0, 0x6800(r3) /* 80275324 00270F84 70 00 07 F5 */ andi. r0, r0, 0x7f5 /* 80275328 00270F88 60 00 00 02 */ ori r0, r0, 2 /* 8027532C 00270F8C 90 03 68 00 */ stw r0, 0x6800(r3) /* 80275330 00270F90 57 E0 30 32 */ slwi r0, r31, 6 /* 80275334 00270F94 3C 60 80 51 */ lis r3, lbl_805154C0@ha /* 80275338 00270F98 38 63 54 C0 */ addi r3, r3, lbl_805154C0@l /* 8027533C 00270F9C 7F C3 00 2E */ lwzx r30, r3, r0 /* 80275340 00270FA0 2C 1E 00 00 */ cmpwi r30, 0 /* 80275344 00270FA4 41 82 00 38 */ beq lbl_8027537C /* 80275348 00270FA8 38 61 00 08 */ addi r3, r1, 8 /* 8027534C 00270FAC 4B FF 5D 45 */ bl OSClearContext /* 80275350 00270FB0 38 61 00 08 */ addi r3, r1, 8 /* 80275354 00270FB4 4B FF 5B 15 */ bl OSSetCurrentContext /* 80275358 00270FB8 7F E3 FB 78 */ mr r3, r31 /* 8027535C 00270FBC 7F A4 EB 78 */ mr r4, r29 /* 80275360 00270FC0 7F CC F3 78 */ mr r12, r30 /* 80275364 00270FC4 7D 89 03 A6 */ mtctr r12 /* 80275368 00270FC8 4E 80 04 21 */ bctrl /* 8027536C 00270FCC 38 61 00 08 */ addi r3, r1, 8 /* 80275370 00270FD0 4B FF 5D 21 */ bl OSClearContext /* 80275374 00270FD4 7F A3 EB 78 */ mr r3, r29 /* 80275378 00270FD8 4B FF 5A F1 */ bl OSSetCurrentContext lbl_8027537C: /* 8027537C 00270FDC 83 E1 02 DC */ lwz r31, 0x2dc(r1) /* 80275380 00270FE0 83 C1 02 D8 */ lwz r30, 0x2d8(r1) /* 80275384 00270FE4 83 A1 02 D4 */ lwz r29, 0x2d4(r1) /* 80275388 00270FE8 80 01 02 E4 */ lwz r0, 0x2e4(r1) /* 8027538C 00270FEC 7C 08 03 A6 */ mtlr r0 /* 80275390 00270FF0 38 21 02 E0 */ addi r1, r1, 0x2e0 /* 80275394 00270FF4 4E 80 00 20 */ blr .global TCIntrruptHandler TCIntrruptHandler: /* 80275398 00270FF8 94 21 FD 10 */ stwu r1, -0x2f0(r1) /* 8027539C 00270FFC 7C 08 02 A6 */ mflr r0 /* 802753A0 00271000 90 01 02 F4 */ stw r0, 0x2f4(r1) /* 802753A4 00271004 39 61 02 F0 */ addi r11, r1, 0x2f0 /* 802753A8 00271008 4B F5 1D 81 */ bl _savegpr_27 /* 802753AC 0027100C 7C 9B 23 78 */ mr r27, r4 /* 802753B0 00271010 38 03 FF F6 */ addi r0, r3, -10 /* 802753B4 00271014 3C 80 55 55 */ lis r4, 0x55555556@ha /* 802753B8 00271018 38 84 55 56 */ addi r4, r4, 0x55555556@l /* 802753BC 0027101C 7C 84 00 96 */ mulhw r4, r4, r0 /* 802753C0 00271020 54 80 0F FE */ srwi r0, r4, 0x1f /* 802753C4 00271024 7F A4 02 14 */ add r29, r4, r0 /* 802753C8 00271028 57 A0 30 32 */ slwi r0, r29, 6 /* 802753CC 0027102C 3C 80 80 51 */ lis r4, lbl_805154C0@ha /* 802753D0 00271030 38 84 54 C0 */ addi r4, r4, lbl_805154C0@l /* 802753D4 00271034 7F C4 02 14 */ add r30, r4, r0 /* 802753D8 00271038 3F E0 80 00 */ lis r31, 0x8000 /* 802753DC 0027103C 7F E3 1C 30 */ srw r3, r31, r3 /* 802753E0 00271040 4B FF 97 0D */ bl __OSMaskInterrupts /* 802753E4 00271044 1C 7D 00 14 */ mulli r3, r29, 0x14 /* 802753E8 00271048 3C 00 CD 00 */ lis r0, 0xcd00 /* 802753EC 0027104C 7C 60 1A 14 */ add r3, r0, r3 /* 802753F0 00271050 80 03 68 00 */ lwz r0, 0x6800(r3) /* 802753F4 00271054 70 00 07 F5 */ andi. r0, r0, 0x7f5 /* 802753F8 00271058 60 00 00 08 */ ori r0, r0, 8 /* 802753FC 0027105C 90 03 68 00 */ stw r0, 0x6800(r3) /* 80275400 00271060 83 9E 00 04 */ lwz r28, 4(r30) /* 80275404 00271064 2C 1C 00 00 */ cmpwi r28, 0 /* 80275408 00271068 41 82 01 90 */ beq lbl_80275598 /* 8027540C 0027106C 38 00 00 00 */ li r0, 0 /* 80275410 00271070 90 1E 00 04 */ stw r0, 4(r30) /* 80275414 00271074 80 1E 00 0C */ lwz r0, 0xc(r30) /* 80275418 00271078 54 00 07 BF */ clrlwi. r0, r0, 0x1e /* 8027541C 0027107C 41 82 01 48 */ beq lbl_80275564 /* 80275420 00271080 80 1E 00 0C */ lwz r0, 0xc(r30) /* 80275424 00271084 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 80275428 00271088 41 82 01 30 */ beq lbl_80275558 /* 8027542C 0027108C 80 BE 00 10 */ lwz r5, 0x10(r30) /* 80275430 00271090 2C 85 00 00 */ cmpwi cr1, r5, 0 /* 80275434 00271094 41 86 01 24 */ beq cr1, lbl_80275558 /* 80275438 00271098 80 9E 00 14 */ lwz r4, 0x14(r30) /* 8027543C 0027109C 80 03 68 10 */ lwz r0, 0x6810(r3) /* 80275440 002710A0 38 60 00 00 */ li r3, 0 /* 80275444 002710A4 40 85 01 14 */ ble cr1, lbl_80275558 /* 80275448 002710A8 38 E5 FF F8 */ addi r7, r5, -8 /* 8027544C 002710AC 2C 05 00 08 */ cmpwi r5, 8 /* 80275450 002710B0 40 81 00 DC */ ble lbl_8027552C /* 80275454 002710B4 39 00 00 00 */ li r8, 0 /* 80275458 002710B8 41 84 00 14 */ blt cr1, lbl_8027546C /* 8027545C 002710BC 38 DF FF FE */ addi r6, r31, -2 /* 80275460 002710C0 7C 05 30 00 */ cmpw r5, r6 /* 80275464 002710C4 41 81 00 08 */ bgt lbl_8027546C /* 80275468 002710C8 39 00 00 01 */ li r8, 1 lbl_8027546C: /* 8027546C 002710CC 2C 08 00 00 */ cmpwi r8, 0 /* 80275470 002710D0 41 82 00 BC */ beq lbl_8027552C /* 80275474 002710D4 38 C7 00 07 */ addi r6, r7, 7 /* 80275478 002710D8 54 C6 E8 FE */ srwi r6, r6, 3 /* 8027547C 002710DC 7C C9 03 A6 */ mtctr r6 /* 80275480 002710E0 2C 07 00 00 */ cmpwi r7, 0 /* 80275484 002710E4 40 81 00 A8 */ ble lbl_8027552C lbl_80275488: /* 80275488 002710E8 20 C3 00 03 */ subfic r6, r3, 3 /* 8027548C 002710EC 54 C6 18 38 */ slwi r6, r6, 3 /* 80275490 002710F0 7C 06 34 30 */ srw r6, r0, r6 /* 80275494 002710F4 98 C4 00 00 */ stb r6, 0(r4) /* 80275498 002710F8 38 C3 00 01 */ addi r6, r3, 1 /* 8027549C 002710FC 20 C6 00 03 */ subfic r6, r6, 3 /* 802754A0 00271100 54 C6 18 38 */ slwi r6, r6, 3 /* 802754A4 00271104 7C 06 34 30 */ srw r6, r0, r6 /* 802754A8 00271108 98 C4 00 01 */ stb r6, 1(r4) /* 802754AC 0027110C 38 C3 00 02 */ addi r6, r3, 2 /* 802754B0 00271110 20 C6 00 03 */ subfic r6, r6, 3 /* 802754B4 00271114 54 C6 18 38 */ slwi r6, r6, 3 /* 802754B8 00271118 7C 06 34 30 */ srw r6, r0, r6 /* 802754BC 0027111C 98 C4 00 02 */ stb r6, 2(r4) /* 802754C0 00271120 7C C3 00 D0 */ neg r6, r3 /* 802754C4 00271124 54 C6 18 38 */ slwi r6, r6, 3 /* 802754C8 00271128 7C 06 34 30 */ srw r6, r0, r6 /* 802754CC 0027112C 98 C4 00 03 */ stb r6, 3(r4) /* 802754D0 00271130 38 C3 00 04 */ addi r6, r3, 4 /* 802754D4 00271134 20 C6 00 03 */ subfic r6, r6, 3 /* 802754D8 00271138 54 C6 18 38 */ slwi r6, r6, 3 /* 802754DC 0027113C 7C 06 34 30 */ srw r6, r0, r6 /* 802754E0 00271140 98 C4 00 04 */ stb r6, 4(r4) /* 802754E4 00271144 38 C3 00 05 */ addi r6, r3, 5 /* 802754E8 00271148 20 C6 00 03 */ subfic r6, r6, 3 /* 802754EC 0027114C 54 C6 18 38 */ slwi r6, r6, 3 /* 802754F0 00271150 7C 06 34 30 */ srw r6, r0, r6 /* 802754F4 00271154 98 C4 00 05 */ stb r6, 5(r4) /* 802754F8 00271158 38 C3 00 06 */ addi r6, r3, 6 /* 802754FC 0027115C 20 C6 00 03 */ subfic r6, r6, 3 /* 80275500 00271160 54 C6 18 38 */ slwi r6, r6, 3 /* 80275504 00271164 7C 06 34 30 */ srw r6, r0, r6 /* 80275508 00271168 98 C4 00 06 */ stb r6, 6(r4) /* 8027550C 0027116C 38 C3 00 07 */ addi r6, r3, 7 /* 80275510 00271170 20 C6 00 03 */ subfic r6, r6, 3 /* 80275514 00271174 54 C6 18 38 */ slwi r6, r6, 3 /* 80275518 00271178 7C 06 34 30 */ srw r6, r0, r6 /* 8027551C 0027117C 98 C4 00 07 */ stb r6, 7(r4) /* 80275520 00271180 38 84 00 08 */ addi r4, r4, 8 /* 80275524 00271184 38 63 00 08 */ addi r3, r3, 8 /* 80275528 00271188 42 00 FF 60 */ bdnz lbl_80275488 lbl_8027552C: /* 8027552C 0027118C 7C C3 28 50 */ subf r6, r3, r5 /* 80275530 00271190 7C C9 03 A6 */ mtctr r6 /* 80275534 00271194 7C 03 28 00 */ cmpw r3, r5 /* 80275538 00271198 40 80 00 20 */ bge lbl_80275558 lbl_8027553C: /* 8027553C 0027119C 20 A3 00 03 */ subfic r5, r3, 3 /* 80275540 002711A0 54 A5 18 38 */ slwi r5, r5, 3 /* 80275544 002711A4 7C 05 2C 30 */ srw r5, r0, r5 /* 80275548 002711A8 98 A4 00 00 */ stb r5, 0(r4) /* 8027554C 002711AC 38 84 00 01 */ addi r4, r4, 1 /* 80275550 002711B0 38 63 00 01 */ addi r3, r3, 1 /* 80275554 002711B4 42 00 FF E8 */ bdnz lbl_8027553C lbl_80275558: /* 80275558 002711B8 80 1E 00 0C */ lwz r0, 0xc(r30) /* 8027555C 002711BC 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d /* 80275560 002711C0 90 1E 00 0C */ stw r0, 0xc(r30) lbl_80275564: /* 80275564 002711C4 38 61 00 08 */ addi r3, r1, 8 /* 80275568 002711C8 4B FF 5B 29 */ bl OSClearContext /* 8027556C 002711CC 38 61 00 08 */ addi r3, r1, 8 /* 80275570 002711D0 4B FF 58 F9 */ bl OSSetCurrentContext /* 80275574 002711D4 7F A3 EB 78 */ mr r3, r29 /* 80275578 002711D8 7F 64 DB 78 */ mr r4, r27 /* 8027557C 002711DC 7F 8C E3 78 */ mr r12, r28 /* 80275580 002711E0 7D 89 03 A6 */ mtctr r12 /* 80275584 002711E4 4E 80 04 21 */ bctrl /* 80275588 002711E8 38 61 00 08 */ addi r3, r1, 8 /* 8027558C 002711EC 4B FF 5B 05 */ bl OSClearContext /* 80275590 002711F0 7F 63 DB 78 */ mr r3, r27 /* 80275594 002711F4 4B FF 58 D5 */ bl OSSetCurrentContext lbl_80275598: /* 80275598 002711F8 39 61 02 F0 */ addi r11, r1, 0x2f0 /* 8027559C 002711FC 4B F5 1B D9 */ bl _restgpr_27 /* 802755A0 00271200 80 01 02 F4 */ lwz r0, 0x2f4(r1) /* 802755A4 00271204 7C 08 03 A6 */ mtlr r0 /* 802755A8 00271208 38 21 02 F0 */ addi r1, r1, 0x2f0 /* 802755AC 0027120C 4E 80 00 20 */ blr .global EXTIntrruptHandler EXTIntrruptHandler: /* 802755B0 00271210 94 21 FD 20 */ stwu r1, -0x2e0(r1) /* 802755B4 00271214 7C 08 02 A6 */ mflr r0 /* 802755B8 00271218 90 01 02 E4 */ stw r0, 0x2e4(r1) /* 802755BC 0027121C 93 E1 02 DC */ stw r31, 0x2dc(r1) /* 802755C0 00271220 93 C1 02 D8 */ stw r30, 0x2d8(r1) /* 802755C4 00271224 93 A1 02 D4 */ stw r29, 0x2d4(r1) /* 802755C8 00271228 93 81 02 D0 */ stw r28, 0x2d0(r1) /* 802755CC 0027122C 7C 9C 23 78 */ mr r28, r4 /* 802755D0 00271230 38 03 FF F5 */ addi r0, r3, -11 /* 802755D4 00271234 3C 60 55 55 */ lis r3, 0x55555556@ha /* 802755D8 00271238 38 63 55 56 */ addi r3, r3, 0x55555556@l /* 802755DC 0027123C 7C 63 00 96 */ mulhw r3, r3, r0 /* 802755E0 00271240 54 60 0F FE */ srwi r0, r3, 0x1f /* 802755E4 00271244 7F E3 02 14 */ add r31, r3, r0 /* 802755E8 00271248 3C 60 00 50 */ lis r3, 0x50 /* 802755EC 0027124C 57 E0 10 3A */ slwi r0, r31, 2 /* 802755F0 00271250 7C 1F 00 50 */ subf r0, r31, r0 /* 802755F4 00271254 7C 63 04 30 */ srw r3, r3, r0 /* 802755F8 00271258 4B FF 94 F5 */ bl __OSMaskInterrupts /* 802755FC 0027125C 57 E0 30 32 */ slwi r0, r31, 6 /* 80275600 00271260 3C 60 80 51 */ lis r3, lbl_805154C0@ha /* 80275604 00271264 38 63 54 C0 */ addi r3, r3, lbl_805154C0@l /* 80275608 00271268 7F C3 02 14 */ add r30, r3, r0 /* 8027560C 0027126C 83 BE 00 08 */ lwz r29, 8(r30) /* 80275610 00271270 80 1E 00 0C */ lwz r0, 0xc(r30) /* 80275614 00271274 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b /* 80275618 00271278 90 1E 00 0C */ stw r0, 0xc(r30) /* 8027561C 0027127C 2C 1D 00 00 */ cmpwi r29, 0 /* 80275620 00271280 41 82 00 40 */ beq lbl_80275660 /* 80275624 00271284 38 61 00 08 */ addi r3, r1, 8 /* 80275628 00271288 4B FF 5A 69 */ bl OSClearContext /* 8027562C 0027128C 38 61 00 08 */ addi r3, r1, 8 /* 80275630 00271290 4B FF 58 39 */ bl OSSetCurrentContext /* 80275634 00271294 38 00 00 00 */ li r0, 0 /* 80275638 00271298 90 1E 00 08 */ stw r0, 8(r30) /* 8027563C 0027129C 7F E3 FB 78 */ mr r3, r31 /* 80275640 002712A0 7F 84 E3 78 */ mr r4, r28 /* 80275644 002712A4 7F AC EB 78 */ mr r12, r29 /* 80275648 002712A8 7D 89 03 A6 */ mtctr r12 /* 8027564C 002712AC 4E 80 04 21 */ bctrl /* 80275650 002712B0 38 61 00 08 */ addi r3, r1, 8 /* 80275654 002712B4 4B FF 5A 3D */ bl OSClearContext /* 80275658 002712B8 7F 83 E3 78 */ mr r3, r28 /* 8027565C 002712BC 4B FF 58 0D */ bl OSSetCurrentContext lbl_80275660: /* 80275660 002712C0 83 E1 02 DC */ lwz r31, 0x2dc(r1) /* 80275664 002712C4 83 C1 02 D8 */ lwz r30, 0x2d8(r1) /* 80275668 002712C8 83 A1 02 D4 */ lwz r29, 0x2d4(r1) /* 8027566C 002712CC 83 81 02 D0 */ lwz r28, 0x2d0(r1) /* 80275670 002712D0 80 01 02 E4 */ lwz r0, 0x2e4(r1) /* 80275674 002712D4 7C 08 03 A6 */ mtlr r0 /* 80275678 002712D8 38 21 02 E0 */ addi r1, r1, 0x2e0 /* 8027567C 002712DC 4E 80 00 20 */ blr .global EXIInit EXIInit: /* 80275680 002712E0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80275684 002712E4 7C 08 02 A6 */ mflr r0 /* 80275688 002712E8 90 01 00 24 */ stw r0, 0x24(r1) /* 8027568C 002712EC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80275690 002712F0 93 C1 00 18 */ stw r30, 0x18(r1) /* 80275694 002712F4 93 A1 00 14 */ stw r29, 0x14(r1) /* 80275698 002712F8 93 81 00 10 */ stw r28, 0x10(r1) /* 8027569C 002712FC 3C 60 CD 00 */ lis r3, 0xCD00680C@ha lbl_802756A0: /* 802756A0 00271300 80 03 68 0C */ lwz r0, 0xCD00680C@l(r3) /* 802756A4 00271304 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 802756A8 00271308 28 00 00 01 */ cmplwi r0, 1 /* 802756AC 0027130C 41 82 FF F4 */ beq lbl_802756A0 /* 802756B0 00271310 80 03 68 20 */ lwz r0, 0x6820(r3) /* 802756B4 00271314 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 802756B8 00271318 28 00 00 01 */ cmplwi r0, 1 /* 802756BC 0027131C 41 82 FF E4 */ beq lbl_802756A0 /* 802756C0 00271320 80 03 68 34 */ lwz r0, 0x6834(r3) /* 802756C4 00271324 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 802756C8 00271328 28 00 00 01 */ cmplwi r0, 1 /* 802756CC 0027132C 41 82 FF D4 */ beq lbl_802756A0 /* 802756D0 00271330 3C 60 00 80 */ lis r3, 0x007F8000@ha /* 802756D4 00271334 38 63 80 00 */ addi r3, r3, 0x007F8000@l /* 802756D8 00271338 4B FF 94 15 */ bl __OSMaskInterrupts /* 802756DC 0027133C 3B 80 00 00 */ li r28, 0 /* 802756E0 00271340 3C 60 CD 00 */ lis r3, 0xCD006800@ha /* 802756E4 00271344 93 83 68 00 */ stw r28, 0xCD006800@l(r3) /* 802756E8 00271348 93 83 68 14 */ stw r28, 0x6814(r3) /* 802756EC 0027134C 93 83 68 28 */ stw r28, 0x6828(r3) /* 802756F0 00271350 38 00 20 00 */ li r0, 0x2000 /* 802756F4 00271354 90 03 68 00 */ stw r0, 0x6800(r3) /* 802756F8 00271358 38 60 00 09 */ li r3, 9 /* 802756FC 0027135C 3F A0 80 27 */ lis r29, EXIIntrruptHandler@ha /* 80275700 00271360 38 9D 52 E0 */ addi r4, r29, EXIIntrruptHandler@l /* 80275704 00271364 4B FF 90 A5 */ bl __OSSetInterruptHandler /* 80275708 00271368 38 60 00 0A */ li r3, 0xa /* 8027570C 0027136C 3F C0 80 27 */ lis r30, TCIntrruptHandler@ha /* 80275710 00271370 38 9E 53 98 */ addi r4, r30, TCIntrruptHandler@l /* 80275714 00271374 4B FF 90 95 */ bl __OSSetInterruptHandler /* 80275718 00271378 38 60 00 0B */ li r3, 0xb /* 8027571C 0027137C 3F E0 80 27 */ lis r31, EXTIntrruptHandler@ha /* 80275720 00271380 38 9F 55 B0 */ addi r4, r31, EXTIntrruptHandler@l /* 80275724 00271384 4B FF 90 85 */ bl __OSSetInterruptHandler /* 80275728 00271388 38 60 00 0C */ li r3, 0xc /* 8027572C 0027138C 38 9D 52 E0 */ addi r4, r29, 0x52e0 /* 80275730 00271390 4B FF 90 79 */ bl __OSSetInterruptHandler /* 80275734 00271394 38 60 00 0D */ li r3, 0xd /* 80275738 00271398 38 9E 53 98 */ addi r4, r30, 0x5398 /* 8027573C 0027139C 4B FF 90 6D */ bl __OSSetInterruptHandler /* 80275740 002713A0 38 60 00 0E */ li r3, 0xe /* 80275744 002713A4 38 9F 55 B0 */ addi r4, r31, 0x55b0 /* 80275748 002713A8 4B FF 90 61 */ bl __OSSetInterruptHandler /* 8027574C 002713AC 38 60 00 0F */ li r3, 0xf /* 80275750 002713B0 38 9D 52 E0 */ addi r4, r29, 0x52e0 /* 80275754 002713B4 4B FF 90 55 */ bl __OSSetInterruptHandler /* 80275758 002713B8 38 60 00 10 */ li r3, 0x10 /* 8027575C 002713BC 38 9E 53 98 */ addi r4, r30, 0x5398 /* 80275760 002713C0 4B FF 90 49 */ bl __OSSetInterruptHandler /* 80275764 002713C4 38 60 00 00 */ li r3, 0 /* 80275768 002713C8 38 80 00 02 */ li r4, 2 /* 8027576C 002713CC 38 AD A8 88 */ addi r5, r13, lbl_8063FB48-_SDA_BASE_ /* 80275770 002713D0 48 00 02 D1 */ bl EXIGetID /* 80275774 002713D4 80 0D A7 68 */ lwz r0, lbl_8063FA28-_SDA_BASE_(r13) /* 80275778 002713D8 2C 00 00 00 */ cmpwi r0, 0 /* 8027577C 002713DC 41 82 00 34 */ beq lbl_802757B0 /* 80275780 002713E0 3C 60 80 00 */ lis r3, 0x800030C4@ha /* 80275784 002713E4 93 83 30 C4 */ stw r28, 0x800030C4@l(r3) /* 80275788 002713E8 93 83 30 C0 */ stw r28, 0x30c0(r3) /* 8027578C 002713EC 3C 60 80 51 */ lis r3, lbl_805154C0@ha /* 80275790 002713F0 38 63 54 C0 */ addi r3, r3, lbl_805154C0@l /* 80275794 002713F4 93 83 00 60 */ stw r28, 0x60(r3) /* 80275798 002713F8 93 83 00 20 */ stw r28, 0x20(r3) /* 8027579C 002713FC 38 60 00 00 */ li r3, 0 /* 802757A0 00271400 4B FF F5 C1 */ bl __EXIProbe /* 802757A4 00271404 38 60 00 01 */ li r3, 1 /* 802757A8 00271408 4B FF F5 B9 */ bl __EXIProbe /* 802757AC 0027140C 48 00 00 70 */ b lbl_8027581C lbl_802757B0: /* 802757B0 00271410 38 60 00 00 */ li r3, 0 /* 802757B4 00271414 38 80 00 00 */ li r4, 0 /* 802757B8 00271418 38 A1 00 08 */ addi r5, r1, 8 /* 802757BC 0027141C 48 00 02 85 */ bl EXIGetID /* 802757C0 00271420 2C 03 00 00 */ cmpwi r3, 0 /* 802757C4 00271424 41 82 00 24 */ beq lbl_802757E8 /* 802757C8 00271428 80 61 00 08 */ lwz r3, 8(r1) /* 802757CC 0027142C 3C 03 F8 FF */ addis r0, r3, 0xf8ff /* 802757D0 00271430 28 00 00 00 */ cmplwi r0, 0 /* 802757D4 00271434 40 82 00 14 */ bne lbl_802757E8 /* 802757D8 00271438 38 60 00 01 */ li r3, 1 /* 802757DC 0027143C 38 80 00 00 */ li r4, 0 /* 802757E0 00271440 48 00 07 85 */ bl __OSEnableBarnacle /* 802757E4 00271444 48 00 00 38 */ b lbl_8027581C lbl_802757E8: /* 802757E8 00271448 38 60 00 01 */ li r3, 1 /* 802757EC 0027144C 38 80 00 00 */ li r4, 0 /* 802757F0 00271450 38 A1 00 08 */ addi r5, r1, 8 /* 802757F4 00271454 48 00 02 4D */ bl EXIGetID /* 802757F8 00271458 2C 03 00 00 */ cmpwi r3, 0 /* 802757FC 0027145C 41 82 00 20 */ beq lbl_8027581C /* 80275800 00271460 80 61 00 08 */ lwz r3, 8(r1) /* 80275804 00271464 3C 03 F8 FF */ addis r0, r3, 0xf8ff /* 80275808 00271468 28 00 00 00 */ cmplwi r0, 0 /* 8027580C 0027146C 40 82 00 10 */ bne lbl_8027581C /* 80275810 00271470 38 60 00 00 */ li r3, 0 /* 80275814 00271474 38 80 00 02 */ li r4, 2 /* 80275818 00271478 48 00 07 4D */ bl __OSEnableBarnacle lbl_8027581C: /* 8027581C 0027147C 80 6D 87 F8 */ lwz r3, lbl_8063DAB8-_SDA_BASE_(r13) /* 80275820 00271480 4B FF 3E 31 */ bl OSRegisterVersion /* 80275824 00271484 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80275828 00271488 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8027582C 0027148C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80275830 00271490 83 81 00 10 */ lwz r28, 0x10(r1) /* 80275834 00271494 80 01 00 24 */ lwz r0, 0x24(r1) /* 80275838 00271498 7C 08 03 A6 */ mtlr r0 /* 8027583C 0027149C 38 21 00 20 */ addi r1, r1, 0x20 /* 80275840 002714A0 4E 80 00 20 */ blr .global EXILock EXILock: /* 80275844 002714A4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80275848 002714A8 7C 08 02 A6 */ mflr r0 /* 8027584C 002714AC 90 01 00 24 */ stw r0, 0x24(r1) /* 80275850 002714B0 39 61 00 20 */ addi r11, r1, 0x20 /* 80275854 002714B4 4B F5 18 D5 */ bl _savegpr_27 /* 80275858 002714B8 7C 7B 1B 78 */ mr r27, r3 /* 8027585C 002714BC 7C 9F 23 78 */ mr r31, r4 /* 80275860 002714C0 7C BC 2B 78 */ mr r28, r5 /* 80275864 002714C4 54 60 30 32 */ slwi r0, r3, 6 /* 80275868 002714C8 3C 60 80 51 */ lis r3, lbl_805154C0@ha /* 8027586C 002714CC 38 63 54 C0 */ addi r3, r3, lbl_805154C0@l /* 80275870 002714D0 7F C3 02 14 */ add r30, r3, r0 /* 80275874 002714D4 4B FF 8E E9 */ bl OSDisableInterrupts /* 80275878 002714D8 7C 7D 1B 78 */ mr r29, r3 /* 8027587C 002714DC 80 1E 00 0C */ lwz r0, 0xc(r30) /* 80275880 002714E0 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80275884 002714E4 41 82 00 7C */ beq lbl_80275900 /* 80275888 002714E8 2C 1C 00 00 */ cmpwi r28, 0 /* 8027588C 002714EC 41 82 00 64 */ beq lbl_802758F0 /* 80275890 002714F0 7F C3 F3 78 */ mr r3, r30 /* 80275894 002714F4 80 9E 00 24 */ lwz r4, 0x24(r30) /* 80275898 002714F8 7C 89 03 A6 */ mtctr r4 /* 8027589C 002714FC 2C 04 00 00 */ cmpwi r4, 0 /* 802758A0 00271500 40 81 00 28 */ ble lbl_802758C8 lbl_802758A4: /* 802758A4 00271504 80 03 00 28 */ lwz r0, 0x28(r3) /* 802758A8 00271508 7C 1F 00 40 */ cmplw r31, r0 /* 802758AC 0027150C 40 82 00 14 */ bne lbl_802758C0 /* 802758B0 00271510 7F A3 EB 78 */ mr r3, r29 /* 802758B4 00271514 4B FF 8E D1 */ bl OSRestoreInterrupts /* 802758B8 00271518 38 60 00 00 */ li r3, 0 /* 802758BC 0027151C 48 00 00 6C */ b lbl_80275928 lbl_802758C0: /* 802758C0 00271520 38 63 00 08 */ addi r3, r3, 8 /* 802758C4 00271524 42 00 FF E0 */ bdnz lbl_802758A4 lbl_802758C8: /* 802758C8 00271528 54 80 18 38 */ slwi r0, r4, 3 /* 802758CC 0027152C 7C 7E 02 14 */ add r3, r30, r0 /* 802758D0 00271530 93 83 00 2C */ stw r28, 0x2c(r3) /* 802758D4 00271534 80 1E 00 24 */ lwz r0, 0x24(r30) /* 802758D8 00271538 54 00 18 38 */ slwi r0, r0, 3 /* 802758DC 0027153C 7C 7E 02 14 */ add r3, r30, r0 /* 802758E0 00271540 93 E3 00 28 */ stw r31, 0x28(r3) /* 802758E4 00271544 80 7E 00 24 */ lwz r3, 0x24(r30) /* 802758E8 00271548 38 03 00 01 */ addi r0, r3, 1 /* 802758EC 0027154C 90 1E 00 24 */ stw r0, 0x24(r30) lbl_802758F0: /* 802758F0 00271550 7F A3 EB 78 */ mr r3, r29 /* 802758F4 00271554 4B FF 8E 91 */ bl OSRestoreInterrupts /* 802758F8 00271558 38 60 00 00 */ li r3, 0 /* 802758FC 0027155C 48 00 00 2C */ b lbl_80275928 lbl_80275900: /* 80275900 00271560 80 1E 00 0C */ lwz r0, 0xc(r30) /* 80275904 00271564 60 00 00 10 */ ori r0, r0, 0x10 /* 80275908 00271568 90 1E 00 0C */ stw r0, 0xc(r30) /* 8027590C 0027156C 93 FE 00 18 */ stw r31, 0x18(r30) /* 80275910 00271570 7F 63 DB 78 */ mr r3, r27 /* 80275914 00271574 7F C4 F3 78 */ mr r4, r30 /* 80275918 00271578 4B FF EC 41 */ bl SetExiInterruptMask /* 8027591C 0027157C 7F A3 EB 78 */ mr r3, r29 /* 80275920 00271580 4B FF 8E 65 */ bl OSRestoreInterrupts /* 80275924 00271584 38 60 00 01 */ li r3, 1 lbl_80275928: /* 80275928 00271588 39 61 00 20 */ addi r11, r1, 0x20 /* 8027592C 0027158C 4B F5 18 49 */ bl _restgpr_27 /* 80275930 00271590 80 01 00 24 */ lwz r0, 0x24(r1) /* 80275934 00271594 7C 08 03 A6 */ mtlr r0 /* 80275938 00271598 38 21 00 20 */ addi r1, r1, 0x20 /* 8027593C 0027159C 4E 80 00 20 */ blr .global EXIUnlock EXIUnlock: /* 80275940 002715A0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80275944 002715A4 7C 08 02 A6 */ mflr r0 /* 80275948 002715A8 90 01 00 24 */ stw r0, 0x24(r1) /* 8027594C 002715AC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80275950 002715B0 93 C1 00 18 */ stw r30, 0x18(r1) /* 80275954 002715B4 93 A1 00 14 */ stw r29, 0x14(r1) /* 80275958 002715B8 93 81 00 10 */ stw r28, 0x10(r1) /* 8027595C 002715BC 7C 7C 1B 78 */ mr r28, r3 /* 80275960 002715C0 54 60 30 32 */ slwi r0, r3, 6 /* 80275964 002715C4 3C 60 80 51 */ lis r3, lbl_805154C0@ha /* 80275968 002715C8 38 63 54 C0 */ addi r3, r3, lbl_805154C0@l /* 8027596C 002715CC 7F E3 02 14 */ add r31, r3, r0 /* 80275970 002715D0 4B FF 8D ED */ bl OSDisableInterrupts /* 80275974 002715D4 7C 7E 1B 78 */ mr r30, r3 /* 80275978 002715D8 80 1F 00 0C */ lwz r0, 0xc(r31) /* 8027597C 002715DC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80275980 002715E0 40 82 00 10 */ bne lbl_80275990 /* 80275984 002715E4 4B FF 8E 01 */ bl OSRestoreInterrupts /* 80275988 002715E8 38 60 00 00 */ li r3, 0 /* 8027598C 002715EC 48 00 00 6C */ b lbl_802759F8 lbl_80275990: /* 80275990 002715F0 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80275994 002715F4 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 80275998 002715F8 90 1F 00 0C */ stw r0, 0xc(r31) /* 8027599C 002715FC 7F 83 E3 78 */ mr r3, r28 /* 802759A0 00271600 7F E4 FB 78 */ mr r4, r31 /* 802759A4 00271604 4B FF EB B5 */ bl SetExiInterruptMask /* 802759A8 00271608 80 7F 00 24 */ lwz r3, 0x24(r31) /* 802759AC 0027160C 2C 03 00 00 */ cmpwi r3, 0 /* 802759B0 00271610 40 81 00 3C */ ble lbl_802759EC /* 802759B4 00271614 83 BF 00 2C */ lwz r29, 0x2c(r31) /* 802759B8 00271618 34 03 FF FF */ addic. r0, r3, -1 /* 802759BC 0027161C 90 1F 00 24 */ stw r0, 0x24(r31) /* 802759C0 00271620 40 81 00 18 */ ble lbl_802759D8 /* 802759C4 00271624 38 7F 00 28 */ addi r3, r31, 0x28 /* 802759C8 00271628 38 9F 00 30 */ addi r4, r31, 0x30 /* 802759CC 0027162C 80 1F 00 24 */ lwz r0, 0x24(r31) /* 802759D0 00271630 54 05 18 38 */ slwi r5, r0, 3 /* 802759D4 00271634 4B F5 48 A1 */ bl memmove lbl_802759D8: /* 802759D8 00271638 7F 83 E3 78 */ mr r3, r28 /* 802759DC 0027163C 38 80 00 00 */ li r4, 0 /* 802759E0 00271640 7F AC EB 78 */ mr r12, r29 /* 802759E4 00271644 7D 89 03 A6 */ mtctr r12 /* 802759E8 00271648 4E 80 04 21 */ bctrl lbl_802759EC: /* 802759EC 0027164C 7F C3 F3 78 */ mr r3, r30 /* 802759F0 00271650 4B FF 8D 95 */ bl OSRestoreInterrupts /* 802759F4 00271654 38 60 00 01 */ li r3, 1 lbl_802759F8: /* 802759F8 00271658 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802759FC 0027165C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80275A00 00271660 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80275A04 00271664 83 81 00 10 */ lwz r28, 0x10(r1) /* 80275A08 00271668 80 01 00 24 */ lwz r0, 0x24(r1) /* 80275A0C 0027166C 7C 08 03 A6 */ mtlr r0 /* 80275A10 00271670 38 21 00 20 */ addi r1, r1, 0x20 /* 80275A14 00271674 4E 80 00 20 */ blr .global UnlockedHandler UnlockedHandler: /* 80275A18 00271678 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80275A1C 0027167C 7C 08 02 A6 */ mflr r0 /* 80275A20 00271680 90 01 00 14 */ stw r0, 0x14(r1) /* 80275A24 00271684 38 80 00 00 */ li r4, 0 /* 80275A28 00271688 38 A1 00 08 */ addi r5, r1, 8 /* 80275A2C 0027168C 48 00 00 15 */ bl EXIGetID /* 80275A30 00271690 80 01 00 14 */ lwz r0, 0x14(r1) /* 80275A34 00271694 7C 08 03 A6 */ mtlr r0 /* 80275A38 00271698 38 21 00 10 */ addi r1, r1, 0x10 /* 80275A3C 0027169C 4E 80 00 20 */ blr .global EXIGetID EXIGetID: /* 80275A40 002716A0 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80275A44 002716A4 7C 08 02 A6 */ mflr r0 /* 80275A48 002716A8 90 01 00 44 */ stw r0, 0x44(r1) /* 80275A4C 002716AC 39 61 00 40 */ addi r11, r1, 0x40 /* 80275A50 002716B0 4B F5 16 C9 */ bl _savegpr_23 /* 80275A54 002716B4 7C 79 1B 78 */ mr r25, r3 /* 80275A58 002716B8 7C 9A 23 78 */ mr r26, r4 /* 80275A5C 002716BC 7C BB 2B 78 */ mr r27, r5 /* 80275A60 002716C0 54 60 30 32 */ slwi r0, r3, 6 /* 80275A64 002716C4 3C C0 80 51 */ lis r6, lbl_805154C0@ha /* 80275A68 002716C8 38 C6 54 C0 */ addi r6, r6, lbl_805154C0@l /* 80275A6C 002716CC 7F A6 02 14 */ add r29, r6, r0 /* 80275A70 002716D0 2C 03 00 00 */ cmpwi r3, 0 /* 80275A74 002716D4 40 82 00 24 */ bne lbl_80275A98 /* 80275A78 002716D8 28 04 00 02 */ cmplwi r4, 2 /* 80275A7C 002716DC 40 82 00 1C */ bne lbl_80275A98 /* 80275A80 002716E0 80 0D A8 88 */ lwz r0, lbl_8063FB48-_SDA_BASE_(r13) /* 80275A84 002716E4 2C 00 00 00 */ cmpwi r0, 0 /* 80275A88 002716E8 41 82 00 10 */ beq lbl_80275A98 /* 80275A8C 002716EC 90 05 00 00 */ stw r0, 0(r5) /* 80275A90 002716F0 38 60 00 01 */ li r3, 1 /* 80275A94 002716F4 48 00 03 40 */ b lbl_80275DD4 lbl_80275A98: /* 80275A98 002716F8 2C 03 00 02 */ cmpwi r3, 2 /* 80275A9C 002716FC 40 80 00 E8 */ bge lbl_80275B84 /* 80275AA0 00271700 2C 04 00 00 */ cmpwi r4, 0 /* 80275AA4 00271704 40 82 00 E0 */ bne lbl_80275B84 /* 80275AA8 00271708 7F 23 CB 78 */ mr r3, r25 /* 80275AAC 0027170C 4B FF F2 B5 */ bl __EXIProbe /* 80275AB0 00271710 2C 03 00 00 */ cmpwi r3, 0 /* 80275AB4 00271714 40 82 00 0C */ bne lbl_80275AC0 /* 80275AB8 00271718 38 60 00 00 */ li r3, 0 /* 80275ABC 0027171C 48 00 03 18 */ b lbl_80275DD4 lbl_80275AC0: /* 80275AC0 00271720 57 23 10 3A */ slwi r3, r25, 2 /* 80275AC4 00271724 3C 00 80 00 */ lis r0, 0x8000 /* 80275AC8 00271728 7F E0 1A 14 */ add r31, r0, r3 /* 80275ACC 0027172C 80 7D 00 20 */ lwz r3, 0x20(r29) /* 80275AD0 00271730 80 1F 30 C0 */ lwz r0, 0x30c0(r31) /* 80275AD4 00271734 7C 03 00 00 */ cmpw r3, r0 /* 80275AD8 00271738 40 82 00 14 */ bne lbl_80275AEC /* 80275ADC 0027173C 80 1D 00 1C */ lwz r0, 0x1c(r29) /* 80275AE0 00271740 90 1B 00 00 */ stw r0, 0(r27) /* 80275AE4 00271744 80 7D 00 20 */ lwz r3, 0x20(r29) /* 80275AE8 00271748 48 00 02 EC */ b lbl_80275DD4 lbl_80275AEC: /* 80275AEC 0027174C 4B FF 8C 71 */ bl OSDisableInterrupts /* 80275AF0 00271750 7C 7E 1B 78 */ mr r30, r3 /* 80275AF4 00271754 80 1D 00 0C */ lwz r0, 0xc(r29) /* 80275AF8 00271758 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 80275AFC 0027175C 40 82 00 14 */ bne lbl_80275B10 /* 80275B00 00271760 7F 23 CB 78 */ mr r3, r25 /* 80275B04 00271764 4B FF F2 5D */ bl __EXIProbe /* 80275B08 00271768 2C 03 00 00 */ cmpwi r3, 0 /* 80275B0C 0027176C 40 82 00 14 */ bne lbl_80275B20 lbl_80275B10: /* 80275B10 00271770 7F C3 F3 78 */ mr r3, r30 /* 80275B14 00271774 4B FF 8C 71 */ bl OSRestoreInterrupts /* 80275B18 00271778 38 00 00 00 */ li r0, 0 /* 80275B1C 0027177C 48 00 00 54 */ b lbl_80275B70 lbl_80275B20: /* 80275B20 00271780 1C 79 00 14 */ mulli r3, r25, 0x14 /* 80275B24 00271784 3C 00 CD 00 */ lis r0, 0xcd00 /* 80275B28 00271788 7C 60 1A 14 */ add r3, r0, r3 /* 80275B2C 0027178C 80 03 68 00 */ lwz r0, 0x6800(r3) /* 80275B30 00271790 70 00 07 F5 */ andi. r0, r0, 0x7f5 /* 80275B34 00271794 60 00 00 02 */ ori r0, r0, 2 /* 80275B38 00271798 90 03 68 00 */ stw r0, 0x6800(r3) /* 80275B3C 0027179C 38 00 00 00 */ li r0, 0 /* 80275B40 002717A0 90 1D 00 08 */ stw r0, 8(r29) /* 80275B44 002717A4 3C 60 00 10 */ lis r3, 0x10 /* 80275B48 002717A8 57 20 10 3A */ slwi r0, r25, 2 /* 80275B4C 002717AC 7C 19 00 50 */ subf r0, r25, r0 /* 80275B50 002717B0 7C 63 04 30 */ srw r3, r3, r0 /* 80275B54 002717B4 4B FF 90 19 */ bl __OSUnmaskInterrupts /* 80275B58 002717B8 80 1D 00 0C */ lwz r0, 0xc(r29) /* 80275B5C 002717BC 60 00 00 08 */ ori r0, r0, 8 /* 80275B60 002717C0 90 1D 00 0C */ stw r0, 0xc(r29) /* 80275B64 002717C4 7F C3 F3 78 */ mr r3, r30 /* 80275B68 002717C8 4B FF 8C 1D */ bl OSRestoreInterrupts /* 80275B6C 002717CC 38 00 00 01 */ li r0, 1 lbl_80275B70: /* 80275B70 002717D0 2C 00 00 00 */ cmpwi r0, 0 /* 80275B74 002717D4 40 82 00 0C */ bne lbl_80275B80 /* 80275B78 002717D8 38 60 00 00 */ li r3, 0 /* 80275B7C 002717DC 48 00 02 58 */ b lbl_80275DD4 lbl_80275B80: /* 80275B80 002717E0 83 FF 30 C0 */ lwz r31, 0x30c0(r31) lbl_80275B84: /* 80275B84 002717E4 4B FF 8B D9 */ bl OSDisableInterrupts /* 80275B88 002717E8 7C 7C 1B 78 */ mr r28, r3 /* 80275B8C 002717EC 7F 23 CB 78 */ mr r3, r25 /* 80275B90 002717F0 7F 44 D3 78 */ mr r4, r26 /* 80275B94 002717F4 38 A0 00 00 */ li r5, 0 /* 80275B98 002717F8 2C 19 00 02 */ cmpwi r25, 2 /* 80275B9C 002717FC 40 80 00 10 */ bge lbl_80275BAC /* 80275BA0 00271800 2C 1A 00 00 */ cmpwi r26, 0 /* 80275BA4 00271804 40 82 00 08 */ bne lbl_80275BAC /* 80275BA8 00271808 38 A0 00 01 */ li r5, 1 lbl_80275BAC: /* 80275BAC 0027180C 7C 05 00 D0 */ neg r0, r5 /* 80275BB0 00271810 7C 00 2B 78 */ or r0, r0, r5 /* 80275BB4 00271814 7C 00 FE 70 */ srawi r0, r0, 0x1f /* 80275BB8 00271818 3C A0 80 27 */ lis r5, UnlockedHandler@ha /* 80275BBC 0027181C 38 A5 5A 18 */ addi r5, r5, UnlockedHandler@l /* 80275BC0 00271820 7C A5 00 38 */ and r5, r5, r0 /* 80275BC4 00271824 4B FF FC 81 */ bl EXILock /* 80275BC8 00271828 7C 60 00 34 */ cntlzw r0, r3 /* 80275BCC 0027182C 54 1E D9 7F */ rlwinm. r30, r0, 0x1b, 5, 0x1f /* 80275BD0 00271830 40 82 01 2C */ bne lbl_80275CFC /* 80275BD4 00271834 7F 23 CB 78 */ mr r3, r25 /* 80275BD8 00271838 7F 44 D3 78 */ mr r4, r26 /* 80275BDC 0027183C 38 A0 00 00 */ li r5, 0 /* 80275BE0 00271840 4B FF F4 D1 */ bl EXISelect /* 80275BE4 00271844 7C 60 00 34 */ cntlzw r0, r3 /* 80275BE8 00271848 54 1E D9 7F */ rlwinm. r30, r0, 0x1b, 5, 0x1f /* 80275BEC 0027184C 40 82 00 90 */ bne lbl_80275C7C /* 80275BF0 00271850 38 00 00 00 */ li r0, 0 /* 80275BF4 00271854 90 01 00 08 */ stw r0, 8(r1) /* 80275BF8 00271858 7F 23 CB 78 */ mr r3, r25 /* 80275BFC 0027185C 38 81 00 08 */ addi r4, r1, 8 /* 80275C00 00271860 38 A0 00 02 */ li r5, 2 /* 80275C04 00271864 38 C0 00 01 */ li r6, 1 /* 80275C08 00271868 38 E0 00 00 */ li r7, 0 /* 80275C0C 0027186C 4B FF EA 3D */ bl EXIImm /* 80275C10 00271870 7C 60 00 34 */ cntlzw r0, r3 /* 80275C14 00271874 54 00 D9 7E */ srwi r0, r0, 5 /* 80275C18 00271878 7F DE 03 78 */ or r30, r30, r0 /* 80275C1C 0027187C 7F 23 CB 78 */ mr r3, r25 /* 80275C20 00271880 4B FF EE 41 */ bl EXISync /* 80275C24 00271884 7C 60 00 34 */ cntlzw r0, r3 /* 80275C28 00271888 54 00 D9 7E */ srwi r0, r0, 5 /* 80275C2C 0027188C 7F DE 03 78 */ or r30, r30, r0 /* 80275C30 00271890 7F 23 CB 78 */ mr r3, r25 /* 80275C34 00271894 7F 64 DB 78 */ mr r4, r27 /* 80275C38 00271898 38 A0 00 04 */ li r5, 4 /* 80275C3C 0027189C 38 C0 00 00 */ li r6, 0 /* 80275C40 002718A0 38 E0 00 00 */ li r7, 0 /* 80275C44 002718A4 4B FF EA 05 */ bl EXIImm /* 80275C48 002718A8 7C 60 00 34 */ cntlzw r0, r3 /* 80275C4C 002718AC 54 00 D9 7E */ srwi r0, r0, 5 /* 80275C50 002718B0 7F DE 03 78 */ or r30, r30, r0 /* 80275C54 002718B4 7F 23 CB 78 */ mr r3, r25 /* 80275C58 002718B8 4B FF EE 09 */ bl EXISync /* 80275C5C 002718BC 7C 60 00 34 */ cntlzw r0, r3 /* 80275C60 002718C0 54 00 D9 7E */ srwi r0, r0, 5 /* 80275C64 002718C4 7F DE 03 78 */ or r30, r30, r0 /* 80275C68 002718C8 7F 23 CB 78 */ mr r3, r25 /* 80275C6C 002718CC 4B FF F5 75 */ bl EXIDeselect /* 80275C70 002718D0 7C 60 00 34 */ cntlzw r0, r3 /* 80275C74 002718D4 54 00 D9 7E */ srwi r0, r0, 5 /* 80275C78 002718D8 7F DE 03 78 */ or r30, r30, r0 lbl_80275C7C: /* 80275C7C 002718DC 4B FF 8A E1 */ bl OSDisableInterrupts /* 80275C80 002718E0 7C 77 1B 78 */ mr r23, r3 /* 80275C84 002718E4 80 1D 00 0C */ lwz r0, 0xc(r29) /* 80275C88 002718E8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80275C8C 002718EC 40 82 00 0C */ bne lbl_80275C98 /* 80275C90 002718F0 4B FF 8A F5 */ bl OSRestoreInterrupts /* 80275C94 002718F4 48 00 00 68 */ b lbl_80275CFC lbl_80275C98: /* 80275C98 002718F8 80 1D 00 0C */ lwz r0, 0xc(r29) /* 80275C9C 002718FC 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 80275CA0 00271900 90 1D 00 0C */ stw r0, 0xc(r29) /* 80275CA4 00271904 7F 23 CB 78 */ mr r3, r25 /* 80275CA8 00271908 7F A4 EB 78 */ mr r4, r29 /* 80275CAC 0027190C 4B FF E8 AD */ bl SetExiInterruptMask /* 80275CB0 00271910 80 7D 00 24 */ lwz r3, 0x24(r29) /* 80275CB4 00271914 2C 03 00 00 */ cmpwi r3, 0 /* 80275CB8 00271918 40 81 00 3C */ ble lbl_80275CF4 /* 80275CBC 0027191C 83 1D 00 2C */ lwz r24, 0x2c(r29) /* 80275CC0 00271920 34 03 FF FF */ addic. r0, r3, -1 /* 80275CC4 00271924 90 1D 00 24 */ stw r0, 0x24(r29) /* 80275CC8 00271928 40 81 00 18 */ ble lbl_80275CE0 /* 80275CCC 0027192C 38 7D 00 28 */ addi r3, r29, 0x28 /* 80275CD0 00271930 38 9D 00 30 */ addi r4, r29, 0x30 /* 80275CD4 00271934 80 1D 00 24 */ lwz r0, 0x24(r29) /* 80275CD8 00271938 54 05 18 38 */ slwi r5, r0, 3 /* 80275CDC 0027193C 4B F5 45 99 */ bl memmove lbl_80275CE0: /* 80275CE0 00271940 7F 23 CB 78 */ mr r3, r25 /* 80275CE4 00271944 38 80 00 00 */ li r4, 0 /* 80275CE8 00271948 7F 0C C3 78 */ mr r12, r24 /* 80275CEC 0027194C 7D 89 03 A6 */ mtctr r12 /* 80275CF0 00271950 4E 80 04 21 */ bctrl lbl_80275CF4: /* 80275CF4 00271954 7E E3 BB 78 */ mr r3, r23 /* 80275CF8 00271958 4B FF 8A 8D */ bl OSRestoreInterrupts lbl_80275CFC: /* 80275CFC 0027195C 7F 83 E3 78 */ mr r3, r28 /* 80275D00 00271960 4B FF 8A 85 */ bl OSRestoreInterrupts /* 80275D04 00271964 2C 19 00 02 */ cmpwi r25, 2 /* 80275D08 00271968 40 80 00 C4 */ bge lbl_80275DCC /* 80275D0C 0027196C 2C 1A 00 00 */ cmpwi r26, 0 /* 80275D10 00271970 40 82 00 BC */ bne lbl_80275DCC /* 80275D14 00271974 4B FF 8A 49 */ bl OSDisableInterrupts /* 80275D18 00271978 7C 77 1B 78 */ mr r23, r3 /* 80275D1C 0027197C 80 1D 00 0C */ lwz r0, 0xc(r29) /* 80275D20 00271980 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 80275D24 00271984 40 82 00 0C */ bne lbl_80275D30 /* 80275D28 00271988 4B FF 8A 5D */ bl OSRestoreInterrupts /* 80275D2C 0027198C 48 00 00 4C */ b lbl_80275D78 lbl_80275D30: /* 80275D30 00271990 80 1D 00 0C */ lwz r0, 0xc(r29) /* 80275D34 00271994 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80275D38 00271998 41 82 00 18 */ beq lbl_80275D50 /* 80275D3C 0027199C 80 1D 00 18 */ lwz r0, 0x18(r29) /* 80275D40 002719A0 2C 00 00 00 */ cmpwi r0, 0 /* 80275D44 002719A4 40 82 00 0C */ bne lbl_80275D50 /* 80275D48 002719A8 4B FF 8A 3D */ bl OSRestoreInterrupts /* 80275D4C 002719AC 48 00 00 2C */ b lbl_80275D78 lbl_80275D50: /* 80275D50 002719B0 80 1D 00 0C */ lwz r0, 0xc(r29) /* 80275D54 002719B4 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b /* 80275D58 002719B8 90 1D 00 0C */ stw r0, 0xc(r29) /* 80275D5C 002719BC 3C 60 00 50 */ lis r3, 0x50 /* 80275D60 002719C0 57 20 10 3A */ slwi r0, r25, 2 /* 80275D64 002719C4 7C 19 00 50 */ subf r0, r25, r0 /* 80275D68 002719C8 7C 63 04 30 */ srw r3, r3, r0 /* 80275D6C 002719CC 4B FF 8D 81 */ bl __OSMaskInterrupts /* 80275D70 002719D0 7E E3 BB 78 */ mr r3, r23 /* 80275D74 002719D4 4B FF 8A 11 */ bl OSRestoreInterrupts lbl_80275D78: /* 80275D78 002719D8 4B FF 89 E5 */ bl OSDisableInterrupts /* 80275D7C 002719DC 57 24 10 3A */ slwi r4, r25, 2 /* 80275D80 002719E0 3C 00 80 00 */ lis r0, 0x8000 /* 80275D84 002719E4 7C 80 22 14 */ add r4, r0, r4 /* 80275D88 002719E8 80 04 30 C0 */ lwz r0, 0x30c0(r4) /* 80275D8C 002719EC 7C 9F 00 50 */ subf r4, r31, r0 /* 80275D90 002719F0 7C 00 F8 50 */ subf r0, r0, r31 /* 80275D94 002719F4 7C 80 03 78 */ or r0, r4, r0 /* 80275D98 002719F8 54 00 0F FE */ srwi r0, r0, 0x1f /* 80275D9C 002719FC 7F DE 03 79 */ or. r30, r30, r0 /* 80275DA0 00271A00 40 82 00 10 */ bne lbl_80275DB0 /* 80275DA4 00271A04 80 1B 00 00 */ lwz r0, 0(r27) /* 80275DA8 00271A08 90 1D 00 1C */ stw r0, 0x1c(r29) /* 80275DAC 00271A0C 93 FD 00 20 */ stw r31, 0x20(r29) lbl_80275DB0: /* 80275DB0 00271A10 4B FF 89 D5 */ bl OSRestoreInterrupts /* 80275DB4 00271A14 2C 1E 00 00 */ cmpwi r30, 0 /* 80275DB8 00271A18 41 82 00 0C */ beq lbl_80275DC4 /* 80275DBC 00271A1C 38 60 00 00 */ li r3, 0 /* 80275DC0 00271A20 48 00 00 14 */ b lbl_80275DD4 lbl_80275DC4: /* 80275DC4 00271A24 80 7D 00 20 */ lwz r3, 0x20(r29) /* 80275DC8 00271A28 48 00 00 0C */ b lbl_80275DD4 lbl_80275DCC: /* 80275DCC 00271A2C 7F C0 00 34 */ cntlzw r0, r30 /* 80275DD0 00271A30 54 03 D9 7E */ srwi r3, r0, 5 lbl_80275DD4: /* 80275DD4 00271A34 39 61 00 40 */ addi r11, r1, 0x40 /* 80275DD8 00271A38 4B F5 13 8D */ bl _restgpr_23 /* 80275DDC 00271A3C 80 01 00 44 */ lwz r0, 0x44(r1) /* 80275DE0 00271A40 7C 08 03 A6 */ mtlr r0 /* 80275DE4 00271A44 38 21 00 40 */ addi r1, r1, 0x40 /* 80275DE8 00271A48 4E 80 00 20 */ blr