.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global gki_init_free_queue gki_init_free_queue: /* 802B95CC 002B522C 94 21 FF C0 */ stwu r1, -0x40(r1) /* 802B95D0 002B5230 7C 08 02 A6 */ mflr r0 /* 802B95D4 002B5234 90 01 00 44 */ stw r0, 0x44(r1) /* 802B95D8 002B5238 39 61 00 40 */ addi r11, r1, 0x40 /* 802B95DC 002B523C 4B F0 DB 29 */ bl _savegpr_18 /* 802B95E0 002B5240 39 84 00 03 */ addi r12, r4, 3 /* 802B95E4 002B5244 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha /* 802B95E8 002B5248 55 89 00 3A */ rlwinm r9, r12, 0, 0, 0x1d /* 802B95EC 002B524C 54 6B 15 BA */ rlwinm r11, r3, 2, 0x16, 0x1d /* 802B95F0 002B5250 3B 49 00 0C */ addi r26, r9, 0xc /* 802B95F4 002B5254 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l /* 802B95F8 002B5258 57 48 04 3E */ clrlwi r8, r26, 0x10 /* 802B95FC 002B525C 54 60 25 36 */ rlwinm r0, r3, 4, 0x14, 0x1b /* 802B9600 002B5260 7C E8 29 D6 */ mullw r7, r8, r5 /* 802B9604 002B5264 39 44 00 54 */ addi r10, r4, 0x54 /* 802B9608 002B5268 54 64 0D FC */ rlwinm r4, r3, 1, 0x17, 0x1e /* 802B960C 002B526C 3F 2A 00 03 */ addis r25, r10, 3 /* 802B9610 002B5270 55 8C 04 3A */ rlwinm r12, r12, 0, 0x10, 0x1d /* 802B9614 002B5274 7F 19 5A 14 */ add r24, r25, r11 /* 802B9618 002B5278 7D 66 3A 14 */ add r11, r6, r7 /* 802B961C 002B527C 90 D8 8A 1C */ stw r6, -0x75e4(r24) /* 802B9620 002B5280 7C F9 22 14 */ add r7, r25, r4 /* 802B9624 002B5284 38 80 00 00 */ li r4, 0 /* 802B9628 002B5288 91 78 8A 40 */ stw r11, -0x75c0(r24) /* 802B962C 002B528C 7D 79 02 14 */ add r11, r25, r0 /* 802B9630 002B5290 2C 05 00 00 */ cmpwi r5, 0 /* 802B9634 002B5294 B3 47 8A 64 */ sth r26, -0x759c(r7) /* 802B9638 002B5298 38 E0 00 00 */ li r7, 0 /* 802B963C 002B529C B1 8B 89 94 */ sth r12, -0x766c(r11) /* 802B9640 002B52A0 B0 AB 89 96 */ sth r5, -0x766a(r11) /* 802B9644 002B52A4 B0 8B 89 98 */ sth r4, -0x7668(r11) /* 802B9648 002B52A8 B0 8B 89 9A */ sth r4, -0x7666(r11) /* 802B964C 002B52AC 90 CB 89 8C */ stw r6, -0x7674(r11) /* 802B9650 002B52B0 41 82 01 70 */ beq lbl_802B97C0 /* 802B9654 002B52B4 28 05 00 08 */ cmplwi r5, 8 /* 802B9658 002B52B8 3D 65 00 01 */ addis r11, r5, 1 /* 802B965C 002B52BC 39 6B FF F8 */ addi r11, r11, -8 /* 802B9660 002B52C0 40 81 01 14 */ ble lbl_802B9774 /* 802B9664 002B52C4 55 6C 04 3E */ clrlwi r12, r11, 0x10 /* 802B9668 002B52C8 3F 60 DD BB */ lis r27, 0xDDBADDBA@ha /* 802B966C 002B52CC 39 6C 00 07 */ addi r11, r12, 7 /* 802B9670 002B52D0 3B 00 00 F0 */ li r24, 0xf0 /* 802B9674 002B52D4 55 6B E8 FE */ srwi r11, r11, 3 /* 802B9678 002B52D8 3B 5B DD BA */ addi r26, r27, 0xDDBADDBA@l /* 802B967C 002B52DC 3B 20 00 00 */ li r25, 0 /* 802B9680 002B52E0 7D 69 03 A6 */ mtctr r11 /* 802B9684 002B52E4 28 0C 00 00 */ cmplwi r12, 0 /* 802B9688 002B52E8 40 81 00 EC */ ble lbl_802B9774 lbl_802B968C: /* 802B968C 002B52EC 9B 06 00 05 */ stb r24, 5(r6) /* 802B9690 002B52F0 7E 46 42 14 */ add r18, r6, r8 /* 802B9694 002B52F4 7E 72 42 14 */ add r19, r18, r8 /* 802B9698 002B52F8 7C 86 4A 14 */ add r4, r6, r9 /* 802B969C 002B52FC 98 66 00 04 */ stb r3, 4(r6) /* 802B96A0 002B5300 7E 93 42 14 */ add r20, r19, r8 /* 802B96A4 002B5304 7E B4 42 14 */ add r21, r20, r8 /* 802B96A8 002B5308 7F 72 4A 14 */ add r27, r18, r9 /* 802B96AC 002B530C 9B 26 00 06 */ stb r25, 6(r6) /* 802B96B0 002B5310 7E D5 42 14 */ add r22, r21, r8 /* 802B96B4 002B5314 7E F6 42 14 */ add r23, r22, r8 /* 802B96B8 002B5318 7F 93 4A 14 */ add r28, r19, r9 /* 802B96BC 002B531C 93 44 00 08 */ stw r26, 8(r4) /* 802B96C0 002B5320 7C 97 42 14 */ add r4, r23, r8 /* 802B96C4 002B5324 7F F4 4A 14 */ add r31, r20, r9 /* 802B96C8 002B5328 7F D5 4A 14 */ add r30, r21, r9 /* 802B96CC 002B532C 92 46 00 00 */ stw r18, 0(r6) /* 802B96D0 002B5330 7F B6 4A 14 */ add r29, r22, r9 /* 802B96D4 002B5334 7D 97 4A 14 */ add r12, r23, r9 /* 802B96D8 002B5338 7D 64 4A 14 */ add r11, r4, r9 /* 802B96DC 002B533C 9B 12 00 05 */ stb r24, 5(r18) /* 802B96E0 002B5340 7C C4 42 14 */ add r6, r4, r8 /* 802B96E4 002B5344 38 E7 00 08 */ addi r7, r7, 8 /* 802B96E8 002B5348 98 72 00 04 */ stb r3, 4(r18) /* 802B96EC 002B534C 9B 32 00 06 */ stb r25, 6(r18) /* 802B96F0 002B5350 93 5B 00 08 */ stw r26, 8(r27) /* 802B96F4 002B5354 92 72 00 00 */ stw r19, 0(r18) /* 802B96F8 002B5358 9B 13 00 05 */ stb r24, 5(r19) /* 802B96FC 002B535C 98 73 00 04 */ stb r3, 4(r19) /* 802B9700 002B5360 9B 33 00 06 */ stb r25, 6(r19) /* 802B9704 002B5364 93 5C 00 08 */ stw r26, 8(r28) /* 802B9708 002B5368 7E 92 41 2E */ stwx r20, r18, r8 /* 802B970C 002B536C 9B 14 00 05 */ stb r24, 5(r20) /* 802B9710 002B5370 98 74 00 04 */ stb r3, 4(r20) /* 802B9714 002B5374 9B 34 00 06 */ stb r25, 6(r20) /* 802B9718 002B5378 93 5F 00 08 */ stw r26, 8(r31) /* 802B971C 002B537C 7E B3 41 2E */ stwx r21, r19, r8 /* 802B9720 002B5380 9B 15 00 05 */ stb r24, 5(r21) /* 802B9724 002B5384 98 75 00 04 */ stb r3, 4(r21) /* 802B9728 002B5388 9B 35 00 06 */ stb r25, 6(r21) /* 802B972C 002B538C 93 5E 00 08 */ stw r26, 8(r30) /* 802B9730 002B5390 7E D4 41 2E */ stwx r22, r20, r8 /* 802B9734 002B5394 9B 16 00 05 */ stb r24, 5(r22) /* 802B9738 002B5398 98 76 00 04 */ stb r3, 4(r22) /* 802B973C 002B539C 9B 36 00 06 */ stb r25, 6(r22) /* 802B9740 002B53A0 93 5D 00 08 */ stw r26, 8(r29) /* 802B9744 002B53A4 7E F5 41 2E */ stwx r23, r21, r8 /* 802B9748 002B53A8 9B 17 00 05 */ stb r24, 5(r23) /* 802B974C 002B53AC 98 77 00 04 */ stb r3, 4(r23) /* 802B9750 002B53B0 9B 37 00 06 */ stb r25, 6(r23) /* 802B9754 002B53B4 93 4C 00 08 */ stw r26, 8(r12) /* 802B9758 002B53B8 7C 96 41 2E */ stwx r4, r22, r8 /* 802B975C 002B53BC 9B 04 00 05 */ stb r24, 5(r4) /* 802B9760 002B53C0 98 64 00 04 */ stb r3, 4(r4) /* 802B9764 002B53C4 9B 24 00 06 */ stb r25, 6(r4) /* 802B9768 002B53C8 93 4B 00 08 */ stw r26, 8(r11) /* 802B976C 002B53CC 7C D7 41 2E */ stwx r6, r23, r8 /* 802B9770 002B53D0 42 00 FF 1C */ bdnz lbl_802B968C lbl_802B9774: /* 802B9774 002B53D4 54 EC 04 3E */ clrlwi r12, r7, 0x10 /* 802B9778 002B53D8 3F E0 DD BB */ lis r31, 0xDDBADDBA@ha /* 802B977C 002B53DC 7D 6C 28 50 */ subf r11, r12, r5 /* 802B9780 002B53E0 3B A0 00 F0 */ li r29, 0xf0 /* 802B9784 002B53E4 3B FF DD BA */ addi r31, r31, 0xDDBADDBA@l /* 802B9788 002B53E8 3B C0 00 00 */ li r30, 0 /* 802B978C 002B53EC 7D 69 03 A6 */ mtctr r11 /* 802B9790 002B53F0 7C 0C 28 40 */ cmplw r12, r5 /* 802B9794 002B53F4 40 80 00 2C */ bge lbl_802B97C0 lbl_802B9798: /* 802B9798 002B53F8 9B A6 00 05 */ stb r29, 5(r6) /* 802B979C 002B53FC 7C A6 4A 14 */ add r5, r6, r9 /* 802B97A0 002B5400 7C C4 33 78 */ mr r4, r6 /* 802B97A4 002B5404 38 E7 00 01 */ addi r7, r7, 1 /* 802B97A8 002B5408 98 66 00 04 */ stb r3, 4(r6) /* 802B97AC 002B540C 9B C6 00 06 */ stb r30, 6(r6) /* 802B97B0 002B5410 7C C6 42 14 */ add r6, r6, r8 /* 802B97B4 002B5414 93 E5 00 08 */ stw r31, 8(r5) /* 802B97B8 002B5418 90 C4 00 00 */ stw r6, 0(r4) /* 802B97BC 002B541C 42 00 FF DC */ bdnz lbl_802B9798 lbl_802B97C0: /* 802B97C0 002B5420 38 A0 00 00 */ li r5, 0 /* 802B97C4 002B5424 3C 6A 00 03 */ addis r3, r10, 3 /* 802B97C8 002B5428 90 A4 00 00 */ stw r5, 0(r4) /* 802B97CC 002B542C 7C 63 02 14 */ add r3, r3, r0 /* 802B97D0 002B5430 39 61 00 40 */ addi r11, r1, 0x40 /* 802B97D4 002B5434 90 83 89 90 */ stw r4, -0x7670(r3) /* 802B97D8 002B5438 4B F0 D9 79 */ bl _restgpr_18 /* 802B97DC 002B543C 80 01 00 44 */ lwz r0, 0x44(r1) /* 802B97E0 002B5440 7C 08 03 A6 */ mtlr r0 /* 802B97E4 002B5444 38 21 00 40 */ addi r1, r1, 0x40 /* 802B97E8 002B5448 4E 80 00 20 */ blr .global gki_buffer_init gki_buffer_init: /* 802B97EC 002B544C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802B97F0 002B5450 7C 08 02 A6 */ mflr r0 /* 802B97F4 002B5454 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha /* 802B97F8 002B5458 38 C0 00 00 */ li r6, 0 /* 802B97FC 002B545C 90 01 00 14 */ stw r0, 0x14(r1) /* 802B9800 002B5460 38 00 00 02 */ li r0, 2 /* 802B9804 002B5464 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l /* 802B9808 002B5468 38 80 00 00 */ li r4, 0 /* 802B980C 002B546C 93 E1 00 0C */ stw r31, 0xc(r1) /* 802B9810 002B5470 3B E3 00 54 */ addi r31, r3, 0x54 /* 802B9814 002B5474 7C 09 03 A6 */ mtctr r0 lbl_802B9818: /* 802B9818 002B5478 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b /* 802B981C 002B547C 38 C6 00 01 */ addi r6, r6, 1 /* 802B9820 002B5480 7C BF 02 14 */ add r5, r31, r0 /* 802B9824 002B5484 3C 65 00 03 */ addis r3, r5, 3 /* 802B9828 002B5488 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b /* 802B982C 002B548C 90 83 88 8C */ stw r4, -0x7774(r3) /* 802B9830 002B5490 7C BF 02 14 */ add r5, r31, r0 /* 802B9834 002B5494 38 C6 00 01 */ addi r6, r6, 1 /* 802B9838 002B5498 90 83 89 0C */ stw r4, -0x76f4(r3) /* 802B983C 002B549C 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b /* 802B9840 002B54A0 38 C6 00 01 */ addi r6, r6, 1 /* 802B9844 002B54A4 90 83 88 90 */ stw r4, -0x7770(r3) /* 802B9848 002B54A8 90 83 89 10 */ stw r4, -0x76f0(r3) /* 802B984C 002B54AC 90 83 88 94 */ stw r4, -0x776c(r3) /* 802B9850 002B54B0 90 83 89 14 */ stw r4, -0x76ec(r3) /* 802B9854 002B54B4 90 83 88 98 */ stw r4, -0x7768(r3) /* 802B9858 002B54B8 90 83 89 18 */ stw r4, -0x76e8(r3) /* 802B985C 002B54BC 3C 65 00 03 */ addis r3, r5, 3 /* 802B9860 002B54C0 7C BF 02 14 */ add r5, r31, r0 /* 802B9864 002B54C4 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b /* 802B9868 002B54C8 90 83 88 8C */ stw r4, -0x7774(r3) /* 802B986C 002B54CC 38 C6 00 01 */ addi r6, r6, 1 /* 802B9870 002B54D0 90 83 89 0C */ stw r4, -0x76f4(r3) /* 802B9874 002B54D4 90 83 88 90 */ stw r4, -0x7770(r3) /* 802B9878 002B54D8 90 83 89 10 */ stw r4, -0x76f0(r3) /* 802B987C 002B54DC 90 83 88 94 */ stw r4, -0x776c(r3) /* 802B9880 002B54E0 90 83 89 14 */ stw r4, -0x76ec(r3) /* 802B9884 002B54E4 90 83 88 98 */ stw r4, -0x7768(r3) /* 802B9888 002B54E8 90 83 89 18 */ stw r4, -0x76e8(r3) /* 802B988C 002B54EC 3C 65 00 03 */ addis r3, r5, 3 /* 802B9890 002B54F0 7C BF 02 14 */ add r5, r31, r0 /* 802B9894 002B54F4 90 83 88 8C */ stw r4, -0x7774(r3) /* 802B9898 002B54F8 90 83 89 0C */ stw r4, -0x76f4(r3) /* 802B989C 002B54FC 90 83 88 90 */ stw r4, -0x7770(r3) /* 802B98A0 002B5500 90 83 89 10 */ stw r4, -0x76f0(r3) /* 802B98A4 002B5504 90 83 88 94 */ stw r4, -0x776c(r3) /* 802B98A8 002B5508 90 83 89 14 */ stw r4, -0x76ec(r3) /* 802B98AC 002B550C 90 83 88 98 */ stw r4, -0x7768(r3) /* 802B98B0 002B5510 90 83 89 18 */ stw r4, -0x76e8(r3) /* 802B98B4 002B5514 3C 65 00 03 */ addis r3, r5, 3 /* 802B98B8 002B5518 90 83 88 8C */ stw r4, -0x7774(r3) /* 802B98BC 002B551C 90 83 89 0C */ stw r4, -0x76f4(r3) /* 802B98C0 002B5520 90 83 88 90 */ stw r4, -0x7770(r3) /* 802B98C4 002B5524 90 83 89 10 */ stw r4, -0x76f0(r3) /* 802B98C8 002B5528 90 83 88 94 */ stw r4, -0x776c(r3) /* 802B98CC 002B552C 90 83 89 14 */ stw r4, -0x76ec(r3) /* 802B98D0 002B5530 90 83 88 98 */ stw r4, -0x7768(r3) /* 802B98D4 002B5534 90 83 89 18 */ stw r4, -0x76e8(r3) /* 802B98D8 002B5538 42 00 FF 40 */ bdnz lbl_802B9818 /* 802B98DC 002B553C 38 00 00 03 */ li r0, 3 /* 802B98E0 002B5540 39 40 00 00 */ li r10, 0 /* 802B98E4 002B5544 38 E0 00 00 */ li r7, 0 /* 802B98E8 002B5548 7C 09 03 A6 */ mtctr r0 lbl_802B98EC: /* 802B98EC 002B554C 55 40 15 BA */ rlwinm r0, r10, 2, 0x16, 0x1d /* 802B98F0 002B5550 55 44 0D FC */ rlwinm r4, r10, 1, 0x17, 0x1e /* 802B98F4 002B5554 7D 1F 02 14 */ add r8, r31, r0 /* 802B98F8 002B5558 3C C8 00 03 */ addis r6, r8, 3 /* 802B98FC 002B555C 55 40 25 36 */ rlwinm r0, r10, 4, 0x14, 0x1b /* 802B9900 002B5560 90 E6 8A 1C */ stw r7, -0x75e4(r6) /* 802B9904 002B5564 3C 84 00 03 */ addis r4, r4, 3 /* 802B9908 002B5568 7D 3F 02 14 */ add r9, r31, r0 /* 802B990C 002B556C 39 4A 00 01 */ addi r10, r10, 1 /* 802B9910 002B5570 90 E6 8A 40 */ stw r7, -0x75c0(r6) /* 802B9914 002B5574 38 A4 8A 64 */ addi r5, r4, -30108 /* 802B9918 002B5578 55 40 15 BA */ rlwinm r0, r10, 2, 0x16, 0x1d /* 802B991C 002B557C 55 44 0D FC */ rlwinm r4, r10, 1, 0x17, 0x1e /* 802B9920 002B5580 7C FF 2B 2E */ sthx r7, r31, r5 /* 802B9924 002B5584 7D 1F 02 14 */ add r8, r31, r0 /* 802B9928 002B5588 3C 69 00 03 */ addis r3, r9, 3 /* 802B992C 002B558C 55 40 25 36 */ rlwinm r0, r10, 4, 0x14, 0x1b /* 802B9930 002B5590 90 E3 89 8C */ stw r7, -0x7674(r3) /* 802B9934 002B5594 3C 84 00 03 */ addis r4, r4, 3 /* 802B9938 002B5598 3C C8 00 03 */ addis r6, r8, 3 /* 802B993C 002B559C 7D 3F 02 14 */ add r9, r31, r0 /* 802B9940 002B55A0 90 E3 89 90 */ stw r7, -0x7670(r3) /* 802B9944 002B55A4 39 4A 00 01 */ addi r10, r10, 1 /* 802B9948 002B55A8 38 A4 8A 64 */ addi r5, r4, -30108 /* 802B994C 002B55AC B0 E3 89 94 */ sth r7, -0x766c(r3) /* 802B9950 002B55B0 55 40 15 BA */ rlwinm r0, r10, 2, 0x16, 0x1d /* 802B9954 002B55B4 7D 1F 02 14 */ add r8, r31, r0 /* 802B9958 002B55B8 55 44 0D FC */ rlwinm r4, r10, 1, 0x17, 0x1e /* 802B995C 002B55BC B0 E3 89 96 */ sth r7, -0x766a(r3) /* 802B9960 002B55C0 55 40 25 36 */ rlwinm r0, r10, 4, 0x14, 0x1b /* 802B9964 002B55C4 3C 84 00 03 */ addis r4, r4, 3 /* 802B9968 002B55C8 39 4A 00 01 */ addi r10, r10, 1 /* 802B996C 002B55CC B0 E3 89 98 */ sth r7, -0x7668(r3) /* 802B9970 002B55D0 B0 E3 89 9A */ sth r7, -0x7666(r3) /* 802B9974 002B55D4 3C 69 00 03 */ addis r3, r9, 3 /* 802B9978 002B55D8 7D 3F 02 14 */ add r9, r31, r0 /* 802B997C 002B55DC 90 E6 8A 1C */ stw r7, -0x75e4(r6) /* 802B9980 002B55E0 90 E6 8A 40 */ stw r7, -0x75c0(r6) /* 802B9984 002B55E4 3C C8 00 03 */ addis r6, r8, 3 /* 802B9988 002B55E8 7C FF 2B 2E */ sthx r7, r31, r5 /* 802B998C 002B55EC 38 A4 8A 64 */ addi r5, r4, -30108 /* 802B9990 002B55F0 90 E3 89 8C */ stw r7, -0x7674(r3) /* 802B9994 002B55F4 90 E3 89 90 */ stw r7, -0x7670(r3) /* 802B9998 002B55F8 B0 E3 89 94 */ sth r7, -0x766c(r3) /* 802B999C 002B55FC B0 E3 89 96 */ sth r7, -0x766a(r3) /* 802B99A0 002B5600 B0 E3 89 98 */ sth r7, -0x7668(r3) /* 802B99A4 002B5604 B0 E3 89 9A */ sth r7, -0x7666(r3) /* 802B99A8 002B5608 3C 69 00 03 */ addis r3, r9, 3 /* 802B99AC 002B560C 90 E6 8A 1C */ stw r7, -0x75e4(r6) /* 802B99B0 002B5610 90 E6 8A 40 */ stw r7, -0x75c0(r6) /* 802B99B4 002B5614 7C FF 2B 2E */ sthx r7, r31, r5 /* 802B99B8 002B5618 90 E3 89 8C */ stw r7, -0x7674(r3) /* 802B99BC 002B561C 90 E3 89 90 */ stw r7, -0x7670(r3) /* 802B99C0 002B5620 B0 E3 89 94 */ sth r7, -0x766c(r3) /* 802B99C4 002B5624 B0 E3 89 96 */ sth r7, -0x766a(r3) /* 802B99C8 002B5628 B0 E3 89 98 */ sth r7, -0x7668(r3) /* 802B99CC 002B562C B0 E3 89 9A */ sth r7, -0x7666(r3) /* 802B99D0 002B5630 42 00 FF 1C */ bdnz lbl_802B98EC /* 802B99D4 002B5634 3C 80 00 01 */ lis r4, 0x0000FFF0@ha /* 802B99D8 002B5638 3C 7F 00 03 */ addis r3, r31, 3 /* 802B99DC 002B563C 38 04 FF F0 */ addi r0, r4, 0x0000FFF0@l /* 802B99E0 002B5640 7F E6 FB 78 */ mr r6, r31 /* 802B99E4 002B5644 B0 03 8A 7C */ sth r0, -0x7584(r3) /* 802B99E8 002B5648 38 60 00 00 */ li r3, 0 /* 802B99EC 002B564C 38 80 00 40 */ li r4, 0x40 /* 802B99F0 002B5650 38 A0 00 30 */ li r5, 0x30 /* 802B99F4 002B5654 4B FF FB D9 */ bl gki_init_free_queue /* 802B99F8 002B5658 38 DF 0E 40 */ addi r6, r31, 0xe40 /* 802B99FC 002B565C 38 60 00 01 */ li r3, 1 /* 802B9A00 002B5660 38 80 00 80 */ li r4, 0x80 /* 802B9A04 002B5664 38 A0 00 1A */ li r5, 0x1a /* 802B9A08 002B5668 4B FF FB C5 */ bl gki_init_free_queue /* 802B9A0C 002B566C 38 DF 1C 78 */ addi r6, r31, 0x1c78 /* 802B9A10 002B5670 38 60 00 02 */ li r3, 2 /* 802B9A14 002B5674 38 80 02 94 */ li r4, 0x294 /* 802B9A18 002B5678 38 A0 00 2D */ li r5, 0x2d /* 802B9A1C 002B567C 4B FF FB B1 */ bl gki_init_free_queue /* 802B9A20 002B5680 3C DF 00 01 */ addis r6, r31, 1 /* 802B9A24 002B5684 38 60 00 03 */ li r3, 3 /* 802B9A28 002B5688 38 80 07 08 */ li r4, 0x708 /* 802B9A2C 002B568C 38 A0 00 1E */ li r5, 0x1e /* 802B9A30 002B5690 38 C6 92 98 */ addi r6, r6, -28008 /* 802B9A34 002B5694 4B FF FB 99 */ bl gki_init_free_queue /* 802B9A38 002B5698 3C DF 00 01 */ addis r6, r31, 1 /* 802B9A3C 002B569C 38 60 00 04 */ li r3, 4 /* 802B9A40 002B56A0 38 80 20 00 */ li r4, 0x2000 /* 802B9A44 002B56A4 38 A0 00 09 */ li r5, 9 /* 802B9A48 002B56A8 38 C6 66 F0 */ addi r6, r6, 0x66f0 /* 802B9A4C 002B56AC 4B FF FB 81 */ bl gki_init_free_queue /* 802B9A50 002B56B0 3C DF 00 03 */ addis r6, r31, 3 /* 802B9A54 002B56B4 38 00 00 00 */ li r0, 0 /* 802B9A58 002B56B8 98 06 8A 7E */ stb r0, -0x7582(r6) /* 802B9A5C 002B56BC 38 00 00 01 */ li r0, 1 /* 802B9A60 002B56C0 38 A0 00 02 */ li r5, 2 /* 802B9A64 002B56C4 38 80 00 03 */ li r4, 3 /* 802B9A68 002B56C8 98 06 8A 7F */ stb r0, -0x7581(r6) /* 802B9A6C 002B56CC 38 60 00 04 */ li r3, 4 /* 802B9A70 002B56D0 38 00 00 05 */ li r0, 5 /* 802B9A74 002B56D4 98 A6 8A 80 */ stb r5, -0x7580(r6) /* 802B9A78 002B56D8 98 86 8A 81 */ stb r4, -0x757f(r6) /* 802B9A7C 002B56DC 98 66 8A 82 */ stb r3, -0x757e(r6) /* 802B9A80 002B56E0 98 06 8A 87 */ stb r0, -0x7579(r6) /* 802B9A84 002B56E4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802B9A88 002B56E8 80 01 00 14 */ lwz r0, 0x14(r1) /* 802B9A8C 002B56EC 7C 08 03 A6 */ mtlr r0 /* 802B9A90 002B56F0 38 21 00 10 */ addi r1, r1, 0x10 /* 802B9A94 002B56F4 4E 80 00 20 */ blr .global GKI_init_q GKI_init_q: /* 802B9A98 002B56F8 38 00 00 00 */ li r0, 0 /* 802B9A9C 002B56FC 90 03 00 04 */ stw r0, 4(r3) /* 802B9AA0 002B5700 90 03 00 00 */ stw r0, 0(r3) /* 802B9AA4 002B5704 B0 03 00 08 */ sth r0, 8(r3) /* 802B9AA8 002B5708 4E 80 00 20 */ blr .global GKI_getbuf GKI_getbuf: /* 802B9AAC 002B570C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802B9AB0 002B5710 7C 08 02 A6 */ mflr r0 /* 802B9AB4 002B5714 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha /* 802B9AB8 002B5718 2C 03 00 00 */ cmpwi r3, 0 /* 802B9ABC 002B571C 90 01 00 14 */ stw r0, 0x14(r1) /* 802B9AC0 002B5720 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l /* 802B9AC4 002B5724 93 E1 00 0C */ stw r31, 0xc(r1) /* 802B9AC8 002B5728 93 C1 00 08 */ stw r30, 8(r1) /* 802B9ACC 002B572C 3B C4 00 54 */ addi r30, r4, 0x54 /* 802B9AD0 002B5730 40 82 00 24 */ bne lbl_802B9AF4 /* 802B9AD4 002B5734 3C 60 00 01 */ lis r3, 0x0000FFF6@ha /* 802B9AD8 002B5738 3C 80 80 44 */ lis r4, lbl_8043F130@ha /* 802B9ADC 002B573C 38 03 FF F6 */ addi r0, r3, 0x0000FFF6@l /* 802B9AE0 002B5740 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802B9AE4 002B5744 38 84 F1 30 */ addi r4, r4, lbl_8043F130@l /* 802B9AE8 002B5748 48 00 16 DD */ bl GKI_exception /* 802B9AEC 002B574C 38 60 00 00 */ li r3, 0 /* 802B9AF0 002B5750 48 00 01 44 */ b lbl_802B9C34 lbl_802B9AF4: /* 802B9AF4 002B5754 3C 9E 00 03 */ addis r4, r30, 3 /* 802B9AF8 002B5758 3B E0 00 00 */ li r31, 0 /* 802B9AFC 002B575C 88 A4 8A 87 */ lbz r5, -0x7579(r4) /* 802B9B00 002B5760 48 00 00 30 */ b lbl_802B9B30 lbl_802B9B04: /* 802B9B04 002B5764 57 E4 06 3E */ clrlwi r4, r31, 0x18 /* 802B9B08 002B5768 3C 84 00 03 */ addis r4, r4, 3 /* 802B9B0C 002B576C 38 04 8A 7E */ addi r0, r4, -30082 /* 802B9B10 002B5770 7C 1E 00 AE */ lbzx r0, r30, r0 /* 802B9B14 002B5774 54 04 20 36 */ slwi r4, r0, 4 /* 802B9B18 002B5778 3C 84 00 03 */ addis r4, r4, 3 /* 802B9B1C 002B577C 38 04 89 94 */ addi r0, r4, -30316 /* 802B9B20 002B5780 7C 1E 02 2E */ lhzx r0, r30, r0 /* 802B9B24 002B5784 7C 03 00 40 */ cmplw r3, r0 /* 802B9B28 002B5788 40 81 00 14 */ ble lbl_802B9B3C /* 802B9B2C 002B578C 3B FF 00 01 */ addi r31, r31, 1 lbl_802B9B30: /* 802B9B30 002B5790 57 E0 06 3E */ clrlwi r0, r31, 0x18 /* 802B9B34 002B5794 7C 00 28 40 */ cmplw r0, r5 /* 802B9B38 002B5798 41 80 FF CC */ blt lbl_802B9B04 lbl_802B9B3C: /* 802B9B3C 002B579C 57 E0 06 3E */ clrlwi r0, r31, 0x18 /* 802B9B40 002B57A0 7C 00 28 40 */ cmplw r0, r5 /* 802B9B44 002B57A4 40 82 00 24 */ bne lbl_802B9B68 /* 802B9B48 002B57A8 3C 60 00 01 */ lis r3, 0x0000FFF7@ha /* 802B9B4C 002B57AC 3C 80 80 44 */ lis r4, lbl_8043F148@ha /* 802B9B50 002B57B0 38 03 FF F7 */ addi r0, r3, 0x0000FFF7@l /* 802B9B54 002B57B4 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802B9B58 002B57B8 38 84 F1 48 */ addi r4, r4, lbl_8043F148@l /* 802B9B5C 002B57BC 48 00 16 69 */ bl GKI_exception /* 802B9B60 002B57C0 38 60 00 00 */ li r3, 0 /* 802B9B64 002B57C4 48 00 00 D0 */ b lbl_802B9C34 lbl_802B9B68: /* 802B9B68 002B57C8 48 00 16 19 */ bl GKI_disable /* 802B9B6C 002B57CC 3C DE 00 03 */ addis r6, r30, 3 /* 802B9B70 002B57D0 38 A0 00 01 */ li r5, 1 /* 802B9B74 002B57D4 88 E6 8A 87 */ lbz r7, -0x7579(r6) /* 802B9B78 002B57D8 48 00 00 A8 */ b lbl_802B9C20 lbl_802B9B7C: /* 802B9B7C 002B57DC 57 E4 06 3E */ clrlwi r4, r31, 0x18 /* 802B9B80 002B57E0 A0 66 8A 7C */ lhz r3, -0x7584(r6) /* 802B9B84 002B57E4 3C 84 00 03 */ addis r4, r4, 3 /* 802B9B88 002B57E8 38 04 8A 7E */ addi r0, r4, -30082 /* 802B9B8C 002B57EC 7C 9E 00 AE */ lbzx r4, r30, r0 /* 802B9B90 002B57F0 7C A0 20 30 */ slw r0, r5, r4 /* 802B9B94 002B57F4 7C 60 00 39 */ and. r0, r3, r0 /* 802B9B98 002B57F8 40 82 00 84 */ bne lbl_802B9C1C /* 802B9B9C 002B57FC 54 80 25 36 */ rlwinm r0, r4, 4, 0x14, 0x1b /* 802B9BA0 002B5800 7C 86 02 14 */ add r4, r6, r0 /* 802B9BA4 002B5804 A0 64 89 98 */ lhz r3, -0x7668(r4) /* 802B9BA8 002B5808 A0 04 89 96 */ lhz r0, -0x766a(r4) /* 802B9BAC 002B580C 7C 03 00 40 */ cmplw r3, r0 /* 802B9BB0 002B5810 40 80 00 6C */ bge lbl_802B9C1C /* 802B9BB4 002B5814 83 C4 89 8C */ lwz r30, -0x7674(r4) /* 802B9BB8 002B5818 80 1E 00 00 */ lwz r0, 0(r30) /* 802B9BBC 002B581C 2C 00 00 00 */ cmpwi r0, 0 /* 802B9BC0 002B5820 90 04 89 8C */ stw r0, -0x7674(r4) /* 802B9BC4 002B5824 40 82 00 0C */ bne lbl_802B9BD0 /* 802B9BC8 002B5828 38 00 00 00 */ li r0, 0 /* 802B9BCC 002B582C 90 04 89 90 */ stw r0, -0x7670(r4) lbl_802B9BD0: /* 802B9BD0 002B5830 A0 64 89 98 */ lhz r3, -0x7668(r4) /* 802B9BD4 002B5834 38 03 00 01 */ addi r0, r3, 1 /* 802B9BD8 002B5838 B0 04 89 98 */ sth r0, -0x7668(r4) /* 802B9BDC 002B583C 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802B9BE0 002B5840 A0 04 89 9A */ lhz r0, -0x7666(r4) /* 802B9BE4 002B5844 7C 03 00 40 */ cmplw r3, r0 /* 802B9BE8 002B5848 40 81 00 0C */ ble lbl_802B9BF4 /* 802B9BEC 002B584C A0 04 89 98 */ lhz r0, -0x7668(r4) /* 802B9BF0 002B5850 B0 04 89 9A */ sth r0, -0x7666(r4) lbl_802B9BF4: /* 802B9BF4 002B5854 48 00 15 69 */ bl GKI_enable /* 802B9BF8 002B5858 48 00 15 5D */ bl GKI_get_taskid /* 802B9BFC 002B585C 98 7E 00 05 */ stb r3, 5(r30) /* 802B9C00 002B5860 38 80 00 01 */ li r4, 1 /* 802B9C04 002B5864 38 00 00 00 */ li r0, 0 /* 802B9C08 002B5868 38 7E 00 08 */ addi r3, r30, 8 /* 802B9C0C 002B586C 98 9E 00 06 */ stb r4, 6(r30) /* 802B9C10 002B5870 90 1E 00 00 */ stw r0, 0(r30) /* 802B9C14 002B5874 98 1E 00 07 */ stb r0, 7(r30) /* 802B9C18 002B5878 48 00 00 1C */ b lbl_802B9C34 lbl_802B9C1C: /* 802B9C1C 002B587C 3B FF 00 01 */ addi r31, r31, 1 lbl_802B9C20: /* 802B9C20 002B5880 57 E0 06 3E */ clrlwi r0, r31, 0x18 /* 802B9C24 002B5884 7C 00 38 40 */ cmplw r0, r7 /* 802B9C28 002B5888 41 80 FF 54 */ blt lbl_802B9B7C /* 802B9C2C 002B588C 48 00 15 31 */ bl GKI_enable /* 802B9C30 002B5890 38 60 00 00 */ li r3, 0 lbl_802B9C34: /* 802B9C34 002B5894 80 01 00 14 */ lwz r0, 0x14(r1) /* 802B9C38 002B5898 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802B9C3C 002B589C 83 C1 00 08 */ lwz r30, 8(r1) /* 802B9C40 002B58A0 7C 08 03 A6 */ mtlr r0 /* 802B9C44 002B58A4 38 21 00 10 */ addi r1, r1, 0x10 /* 802B9C48 002B58A8 4E 80 00 20 */ blr .global GKI_getpoolbuf GKI_getpoolbuf: /* 802B9C4C 002B58AC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802B9C50 002B58B0 7C 08 02 A6 */ mflr r0 /* 802B9C54 002B58B4 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha /* 802B9C58 002B58B8 28 03 00 09 */ cmplwi r3, 9 /* 802B9C5C 002B58BC 90 01 00 14 */ stw r0, 0x14(r1) /* 802B9C60 002B58C0 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l /* 802B9C64 002B58C4 93 E1 00 0C */ stw r31, 0xc(r1) /* 802B9C68 002B58C8 7C 7F 1B 78 */ mr r31, r3 /* 802B9C6C 002B58CC 93 C1 00 08 */ stw r30, 8(r1) /* 802B9C70 002B58D0 3B C4 00 54 */ addi r30, r4, 0x54 /* 802B9C74 002B58D4 41 80 00 0C */ blt lbl_802B9C80 /* 802B9C78 002B58D8 38 60 00 00 */ li r3, 0 /* 802B9C7C 002B58DC 48 00 00 A0 */ b lbl_802B9D1C lbl_802B9C80: /* 802B9C80 002B58E0 48 00 15 01 */ bl GKI_disable /* 802B9C84 002B58E4 57 FF 25 36 */ rlwinm r31, r31, 4, 0x14, 0x1b /* 802B9C88 002B58E8 3C 1E 00 03 */ addis r0, r30, 3 /* 802B9C8C 002B58EC 7C 80 FA 14 */ add r4, r0, r31 /* 802B9C90 002B58F0 A0 64 89 98 */ lhz r3, -0x7668(r4) /* 802B9C94 002B58F4 A0 04 89 96 */ lhz r0, -0x766a(r4) /* 802B9C98 002B58F8 7C 03 00 40 */ cmplw r3, r0 /* 802B9C9C 002B58FC 40 80 00 6C */ bge lbl_802B9D08 /* 802B9CA0 002B5900 83 E4 89 8C */ lwz r31, -0x7674(r4) /* 802B9CA4 002B5904 80 1F 00 00 */ lwz r0, 0(r31) /* 802B9CA8 002B5908 2C 00 00 00 */ cmpwi r0, 0 /* 802B9CAC 002B590C 90 04 89 8C */ stw r0, -0x7674(r4) /* 802B9CB0 002B5910 40 82 00 0C */ bne lbl_802B9CBC /* 802B9CB4 002B5914 38 00 00 00 */ li r0, 0 /* 802B9CB8 002B5918 90 04 89 90 */ stw r0, -0x7670(r4) lbl_802B9CBC: /* 802B9CBC 002B591C A0 64 89 98 */ lhz r3, -0x7668(r4) /* 802B9CC0 002B5920 38 03 00 01 */ addi r0, r3, 1 /* 802B9CC4 002B5924 B0 04 89 98 */ sth r0, -0x7668(r4) /* 802B9CC8 002B5928 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802B9CCC 002B592C A0 04 89 9A */ lhz r0, -0x7666(r4) /* 802B9CD0 002B5930 7C 03 00 40 */ cmplw r3, r0 /* 802B9CD4 002B5934 40 81 00 0C */ ble lbl_802B9CE0 /* 802B9CD8 002B5938 A0 04 89 98 */ lhz r0, -0x7668(r4) /* 802B9CDC 002B593C B0 04 89 9A */ sth r0, -0x7666(r4) lbl_802B9CE0: /* 802B9CE0 002B5940 48 00 14 7D */ bl GKI_enable /* 802B9CE4 002B5944 48 00 14 71 */ bl GKI_get_taskid /* 802B9CE8 002B5948 98 7F 00 05 */ stb r3, 5(r31) /* 802B9CEC 002B594C 38 80 00 01 */ li r4, 1 /* 802B9CF0 002B5950 38 00 00 00 */ li r0, 0 /* 802B9CF4 002B5954 38 7F 00 08 */ addi r3, r31, 8 /* 802B9CF8 002B5958 98 9F 00 06 */ stb r4, 6(r31) /* 802B9CFC 002B595C 90 1F 00 00 */ stw r0, 0(r31) /* 802B9D00 002B5960 98 1F 00 07 */ stb r0, 7(r31) /* 802B9D04 002B5964 48 00 00 18 */ b lbl_802B9D1C lbl_802B9D08: /* 802B9D08 002B5968 48 00 14 55 */ bl GKI_enable /* 802B9D0C 002B596C 3C 1E 00 03 */ addis r0, r30, 3 /* 802B9D10 002B5970 7C 60 FA 14 */ add r3, r0, r31 /* 802B9D14 002B5974 A0 63 89 94 */ lhz r3, -0x766c(r3) /* 802B9D18 002B5978 4B FF FD 95 */ bl GKI_getbuf lbl_802B9D1C: /* 802B9D1C 002B597C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802B9D20 002B5980 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802B9D24 002B5984 83 C1 00 08 */ lwz r30, 8(r1) /* 802B9D28 002B5988 7C 08 03 A6 */ mtlr r0 /* 802B9D2C 002B598C 38 21 00 10 */ addi r1, r1, 0x10 /* 802B9D30 002B5990 4E 80 00 20 */ blr .global GKI_freebuf GKI_freebuf: /* 802B9D34 002B5994 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802B9D38 002B5998 7C 08 02 A6 */ mflr r0 /* 802B9D3C 002B599C 3C A0 80 44 */ lis r5, lbl_8043F130@ha /* 802B9D40 002B59A0 2C 03 00 00 */ cmpwi r3, 0 /* 802B9D44 002B59A4 90 01 00 14 */ stw r0, 0x14(r1) /* 802B9D48 002B59A8 38 A5 F1 30 */ addi r5, r5, lbl_8043F130@l /* 802B9D4C 002B59AC 93 E1 00 0C */ stw r31, 0xc(r1) /* 802B9D50 002B59B0 41 82 00 7C */ beq lbl_802B9DCC /* 802B9D54 002B59B4 3B E3 FF F8 */ addi r31, r3, -8 /* 802B9D58 002B59B8 57 E0 07 FF */ clrlwi. r0, r31, 0x1f /* 802B9D5C 002B59BC 41 82 00 0C */ beq lbl_802B9D68 /* 802B9D60 002B59C0 38 00 00 00 */ li r0, 0 /* 802B9D64 002B59C4 48 00 00 30 */ b lbl_802B9D94 lbl_802B9D68: /* 802B9D68 002B59C8 88 1F 00 04 */ lbz r0, 4(r31) /* 802B9D6C 002B59CC 28 00 00 09 */ cmplwi r0, 9 /* 802B9D70 002B59D0 40 80 00 20 */ bge lbl_802B9D90 /* 802B9D74 002B59D4 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha /* 802B9D78 002B59D8 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b /* 802B9D7C 002B59DC 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l /* 802B9D80 002B59E0 3C 84 00 03 */ addis r4, r4, 3 /* 802B9D84 002B59E4 7C 84 02 14 */ add r4, r4, r0 /* 802B9D88 002B59E8 A0 04 89 E8 */ lhz r0, -0x7618(r4) /* 802B9D8C 002B59EC 48 00 00 08 */ b lbl_802B9D94 lbl_802B9D90: /* 802B9D90 002B59F0 38 00 00 00 */ li r0, 0 lbl_802B9D94: /* 802B9D94 002B59F4 7C 83 02 14 */ add r4, r3, r0 /* 802B9D98 002B59F8 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 802B9D9C 002B59FC 41 82 00 0C */ beq lbl_802B9DA8 /* 802B9DA0 002B5A00 38 00 00 01 */ li r0, 1 /* 802B9DA4 002B5A04 48 00 00 20 */ b lbl_802B9DC4 lbl_802B9DA8: /* 802B9DA8 002B5A08 3C 60 DD BB */ lis r3, 0xDDBADDBA@ha /* 802B9DAC 002B5A0C 80 84 00 00 */ lwz r4, 0(r4) /* 802B9DB0 002B5A10 38 03 DD BA */ addi r0, r3, 0xDDBADDBA@l /* 802B9DB4 002B5A14 7C 64 00 50 */ subf r3, r4, r0 /* 802B9DB8 002B5A18 7C 00 20 50 */ subf r0, r0, r4 /* 802B9DBC 002B5A1C 7C 60 03 78 */ or r0, r3, r0 /* 802B9DC0 002B5A20 54 00 0F FE */ srwi r0, r0, 0x1f lbl_802B9DC4: /* 802B9DC4 002B5A24 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 802B9DC8 002B5A28 41 82 00 1C */ beq lbl_802B9DE4 lbl_802B9DCC: /* 802B9DCC 002B5A2C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 802B9DD0 002B5A30 38 85 00 30 */ addi r4, r5, 0x30 /* 802B9DD4 002B5A34 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l /* 802B9DD8 002B5A38 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802B9DDC 002B5A3C 48 00 13 E9 */ bl GKI_exception /* 802B9DE0 002B5A40 48 00 00 B0 */ b lbl_802B9E90 lbl_802B9DE4: /* 802B9DE4 002B5A44 88 1F 00 06 */ lbz r0, 6(r31) /* 802B9DE8 002B5A48 28 00 00 01 */ cmplwi r0, 1 /* 802B9DEC 002B5A4C 41 82 00 1C */ beq lbl_802B9E08 /* 802B9DF0 002B5A50 3C 60 00 01 */ lis r3, 0x0000FFFC@ha /* 802B9DF4 002B5A54 38 85 00 48 */ addi r4, r5, 0x48 /* 802B9DF8 002B5A58 38 03 FF FC */ addi r0, r3, 0x0000FFFC@l /* 802B9DFC 002B5A5C 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802B9E00 002B5A60 48 00 13 C5 */ bl GKI_exception /* 802B9E04 002B5A64 48 00 00 8C */ b lbl_802B9E90 lbl_802B9E08: /* 802B9E08 002B5A68 88 1F 00 04 */ lbz r0, 4(r31) /* 802B9E0C 002B5A6C 28 00 00 09 */ cmplwi r0, 9 /* 802B9E10 002B5A70 41 80 00 1C */ blt lbl_802B9E2C /* 802B9E14 002B5A74 3C 60 00 01 */ lis r3, 0x0000FFFD@ha /* 802B9E18 002B5A78 38 85 00 5C */ addi r4, r5, 0x5c /* 802B9E1C 002B5A7C 38 03 FF FD */ addi r0, r3, 0x0000FFFD@l /* 802B9E20 002B5A80 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802B9E24 002B5A84 48 00 13 A1 */ bl GKI_exception /* 802B9E28 002B5A88 48 00 00 68 */ b lbl_802B9E90 lbl_802B9E2C: /* 802B9E2C 002B5A8C 48 00 13 55 */ bl GKI_disable /* 802B9E30 002B5A90 88 1F 00 04 */ lbz r0, 4(r31) /* 802B9E34 002B5A94 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha /* 802B9E38 002B5A98 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l /* 802B9E3C 002B5A9C 3C 63 00 03 */ addis r3, r3, 3 /* 802B9E40 002B5AA0 54 00 20 36 */ slwi r0, r0, 4 /* 802B9E44 002B5AA4 7C 83 02 14 */ add r4, r3, r0 /* 802B9E48 002B5AA8 80 64 89 E4 */ lwz r3, -0x761c(r4) /* 802B9E4C 002B5AAC 2C 03 00 00 */ cmpwi r3, 0 /* 802B9E50 002B5AB0 41 82 00 0C */ beq lbl_802B9E5C /* 802B9E54 002B5AB4 93 E3 00 00 */ stw r31, 0(r3) /* 802B9E58 002B5AB8 48 00 00 08 */ b lbl_802B9E60 lbl_802B9E5C: /* 802B9E5C 002B5ABC 93 E4 89 E0 */ stw r31, -0x7620(r4) lbl_802B9E60: /* 802B9E60 002B5AC0 93 E4 89 E4 */ stw r31, -0x761c(r4) /* 802B9E64 002B5AC4 38 60 00 00 */ li r3, 0 /* 802B9E68 002B5AC8 38 00 00 F0 */ li r0, 0xf0 /* 802B9E6C 002B5ACC 90 7F 00 00 */ stw r3, 0(r31) /* 802B9E70 002B5AD0 98 7F 00 06 */ stb r3, 6(r31) /* 802B9E74 002B5AD4 98 1F 00 05 */ stb r0, 5(r31) /* 802B9E78 002B5AD8 A0 64 89 EC */ lhz r3, -0x7614(r4) /* 802B9E7C 002B5ADC 2C 03 00 00 */ cmpwi r3, 0 /* 802B9E80 002B5AE0 41 82 00 0C */ beq lbl_802B9E8C /* 802B9E84 002B5AE4 38 03 FF FF */ addi r0, r3, -1 /* 802B9E88 002B5AE8 B0 04 89 EC */ sth r0, -0x7614(r4) lbl_802B9E8C: /* 802B9E8C 002B5AEC 48 00 12 D1 */ bl GKI_enable lbl_802B9E90: /* 802B9E90 002B5AF0 80 01 00 14 */ lwz r0, 0x14(r1) /* 802B9E94 002B5AF4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802B9E98 002B5AF8 7C 08 03 A6 */ mtlr r0 /* 802B9E9C 002B5AFC 38 21 00 10 */ addi r1, r1, 0x10 /* 802B9EA0 002B5B00 4E 80 00 20 */ blr .global GKI_get_buf_size GKI_get_buf_size: /* 802B9EA4 002B5B04 38 63 FF F8 */ addi r3, r3, -8 /* 802B9EA8 002B5B08 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 802B9EAC 002B5B0C 41 82 00 0C */ beq lbl_802B9EB8 /* 802B9EB0 002B5B10 38 60 00 00 */ li r3, 0 /* 802B9EB4 002B5B14 4E 80 00 20 */ blr lbl_802B9EB8: /* 802B9EB8 002B5B18 88 03 00 04 */ lbz r0, 4(r3) /* 802B9EBC 002B5B1C 28 00 00 09 */ cmplwi r0, 9 /* 802B9EC0 002B5B20 40 80 00 20 */ bge lbl_802B9EE0 /* 802B9EC4 002B5B24 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha /* 802B9EC8 002B5B28 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b /* 802B9ECC 002B5B2C 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l /* 802B9ED0 002B5B30 3C 63 00 03 */ addis r3, r3, 3 /* 802B9ED4 002B5B34 7C 63 02 14 */ add r3, r3, r0 /* 802B9ED8 002B5B38 A0 63 89 E8 */ lhz r3, -0x7618(r3) /* 802B9EDC 002B5B3C 4E 80 00 20 */ blr lbl_802B9EE0: /* 802B9EE0 002B5B40 38 60 00 00 */ li r3, 0 /* 802B9EE4 002B5B44 4E 80 00 20 */ blr .global GKI_send_msg GKI_send_msg: /* 802B9EE8 002B5B48 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802B9EEC 002B5B4C 7C 08 02 A6 */ mflr r0 /* 802B9EF0 002B5B50 3C E0 80 54 */ lis r7, lbl_8053C2C0@ha /* 802B9EF4 002B5B54 3C C0 80 44 */ lis r6, lbl_8043F130@ha /* 802B9EF8 002B5B58 90 01 00 24 */ stw r0, 0x24(r1) /* 802B9EFC 002B5B5C 28 03 00 08 */ cmplwi r3, 8 /* 802B9F00 002B5B60 38 E7 C2 C0 */ addi r7, r7, lbl_8053C2C0@l /* 802B9F04 002B5B64 38 C6 F1 30 */ addi r6, r6, lbl_8043F130@l /* 802B9F08 002B5B68 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802B9F0C 002B5B6C 7C BF 2B 78 */ mr r31, r5 /* 802B9F10 002B5B70 93 C1 00 18 */ stw r30, 0x18(r1) /* 802B9F14 002B5B74 3B C7 00 54 */ addi r30, r7, 0x54 /* 802B9F18 002B5B78 93 A1 00 14 */ stw r29, 0x14(r1) /* 802B9F1C 002B5B7C 7C 9D 23 78 */ mr r29, r4 /* 802B9F20 002B5B80 93 81 00 10 */ stw r28, 0x10(r1) /* 802B9F24 002B5B84 7C 7C 1B 78 */ mr r28, r3 /* 802B9F28 002B5B88 40 80 00 20 */ bge lbl_802B9F48 /* 802B9F2C 002B5B8C 28 04 00 04 */ cmplwi r4, 4 /* 802B9F30 002B5B90 40 80 00 18 */ bge lbl_802B9F48 /* 802B9F34 002B5B94 3C 1E 00 03 */ addis r0, r30, 3 /* 802B9F38 002B5B98 7C 60 1A 14 */ add r3, r0, r3 /* 802B9F3C 002B5B9C 88 03 87 AC */ lbz r0, -0x7854(r3) /* 802B9F40 002B5BA0 2C 00 00 00 */ cmpwi r0, 0 /* 802B9F44 002B5BA4 40 82 00 24 */ bne lbl_802B9F68 lbl_802B9F48: /* 802B9F48 002B5BA8 3C 60 00 01 */ lis r3, 0x0000FFFB@ha /* 802B9F4C 002B5BAC 38 86 00 68 */ addi r4, r6, 0x68 /* 802B9F50 002B5BB0 38 03 FF FB */ addi r0, r3, 0x0000FFFB@l /* 802B9F54 002B5BB4 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802B9F58 002B5BB8 48 00 12 6D */ bl GKI_exception /* 802B9F5C 002B5BBC 7F E3 FB 78 */ mr r3, r31 /* 802B9F60 002B5BC0 4B FF FD D5 */ bl GKI_freebuf /* 802B9F64 002B5BC4 48 00 01 20 */ b lbl_802BA084 lbl_802B9F68: /* 802B9F68 002B5BC8 3B E5 FF F8 */ addi r31, r5, -8 /* 802B9F6C 002B5BCC 57 E0 07 FF */ clrlwi. r0, r31, 0x1f /* 802B9F70 002B5BD0 41 82 00 0C */ beq lbl_802B9F7C /* 802B9F74 002B5BD4 38 00 00 00 */ li r0, 0 /* 802B9F78 002B5BD8 48 00 00 28 */ b lbl_802B9FA0 lbl_802B9F7C: /* 802B9F7C 002B5BDC 88 1F 00 04 */ lbz r0, 4(r31) /* 802B9F80 002B5BE0 28 00 00 09 */ cmplwi r0, 9 /* 802B9F84 002B5BE4 40 80 00 18 */ bge lbl_802B9F9C /* 802B9F88 002B5BE8 3C 67 00 03 */ addis r3, r7, 3 /* 802B9F8C 002B5BEC 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b /* 802B9F90 002B5BF0 7C 63 02 14 */ add r3, r3, r0 /* 802B9F94 002B5BF4 A0 03 89 E8 */ lhz r0, -0x7618(r3) /* 802B9F98 002B5BF8 48 00 00 08 */ b lbl_802B9FA0 lbl_802B9F9C: /* 802B9F9C 002B5BFC 38 00 00 00 */ li r0, 0 lbl_802B9FA0: /* 802B9FA0 002B5C00 7C 85 02 14 */ add r4, r5, r0 /* 802B9FA4 002B5C04 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 802B9FA8 002B5C08 41 82 00 0C */ beq lbl_802B9FB4 /* 802B9FAC 002B5C0C 38 00 00 01 */ li r0, 1 /* 802B9FB0 002B5C10 48 00 00 20 */ b lbl_802B9FD0 lbl_802B9FB4: /* 802B9FB4 002B5C14 3C 60 DD BB */ lis r3, 0xDDBADDBA@ha /* 802B9FB8 002B5C18 80 84 00 00 */ lwz r4, 0(r4) /* 802B9FBC 002B5C1C 38 03 DD BA */ addi r0, r3, 0xDDBADDBA@l /* 802B9FC0 002B5C20 7C 64 00 50 */ subf r3, r4, r0 /* 802B9FC4 002B5C24 7C 00 20 50 */ subf r0, r0, r4 /* 802B9FC8 002B5C28 7C 60 03 78 */ or r0, r3, r0 /* 802B9FCC 002B5C2C 54 00 0F FE */ srwi r0, r0, 0x1f lbl_802B9FD0: /* 802B9FD0 002B5C30 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 802B9FD4 002B5C34 41 82 00 1C */ beq lbl_802B9FF0 /* 802B9FD8 002B5C38 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 802B9FDC 002B5C3C 38 86 00 80 */ addi r4, r6, 0x80 /* 802B9FE0 002B5C40 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l /* 802B9FE4 002B5C44 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802B9FE8 002B5C48 48 00 11 DD */ bl GKI_exception /* 802B9FEC 002B5C4C 48 00 00 98 */ b lbl_802BA084 lbl_802B9FF0: /* 802B9FF0 002B5C50 88 1F 00 06 */ lbz r0, 6(r31) /* 802B9FF4 002B5C54 28 00 00 01 */ cmplwi r0, 1 /* 802B9FF8 002B5C58 41 82 00 1C */ beq lbl_802BA014 /* 802B9FFC 002B5C5C 3C 60 00 01 */ lis r3, 0x0000FFFA@ha /* 802BA000 002B5C60 38 86 00 98 */ addi r4, r6, 0x98 /* 802BA004 002B5C64 38 03 FF FA */ addi r0, r3, 0x0000FFFA@l /* 802BA008 002B5C68 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802BA00C 002B5C6C 48 00 11 B9 */ bl GKI_exception /* 802BA010 002B5C70 48 00 00 74 */ b lbl_802BA084 lbl_802BA014: /* 802BA014 002B5C74 48 00 11 6D */ bl GKI_disable /* 802BA018 002B5C78 57 84 25 36 */ rlwinm r4, r28, 4, 0x14, 0x1b /* 802BA01C 002B5C7C 3C 1E 00 03 */ addis r0, r30, 3 /* 802BA020 002B5C80 57 A5 15 BA */ rlwinm r5, r29, 2, 0x16, 0x1d /* 802BA024 002B5C84 7C 00 22 14 */ add r0, r0, r4 /* 802BA028 002B5C88 7C 60 2A 14 */ add r3, r0, r5 /* 802BA02C 002B5C8C 80 03 88 8C */ lwz r0, -0x7774(r3) /* 802BA030 002B5C90 2C 00 00 00 */ cmpwi r0, 0 /* 802BA034 002B5C94 41 82 00 10 */ beq lbl_802BA044 /* 802BA038 002B5C98 80 63 89 0C */ lwz r3, -0x76f4(r3) /* 802BA03C 002B5C9C 93 E3 00 00 */ stw r31, 0(r3) /* 802BA040 002B5CA0 48 00 00 08 */ b lbl_802BA048 lbl_802BA044: /* 802BA044 002B5CA4 93 E3 88 8C */ stw r31, -0x7774(r3) lbl_802BA048: /* 802BA048 002B5CA8 3C 1E 00 03 */ addis r0, r30, 3 /* 802BA04C 002B5CAC 38 60 00 00 */ li r3, 0 /* 802BA050 002B5CB0 7C 80 22 14 */ add r4, r0, r4 /* 802BA054 002B5CB4 7C 84 2A 14 */ add r4, r4, r5 /* 802BA058 002B5CB8 38 00 00 02 */ li r0, 2 /* 802BA05C 002B5CBC 93 E4 89 0C */ stw r31, -0x76f4(r4) /* 802BA060 002B5CC0 90 7F 00 00 */ stw r3, 0(r31) /* 802BA064 002B5CC4 98 1F 00 06 */ stb r0, 6(r31) /* 802BA068 002B5CC8 9B 9F 00 05 */ stb r28, 5(r31) /* 802BA06C 002B5CCC 48 00 10 F1 */ bl GKI_enable /* 802BA070 002B5CD0 38 00 00 01 */ li r0, 1 /* 802BA074 002B5CD4 7F 83 E3 78 */ mr r3, r28 /* 802BA078 002B5CD8 7C 00 E8 30 */ slw r0, r0, r29 /* 802BA07C 002B5CDC 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 802BA080 002B5CE0 48 00 10 31 */ bl GKI_send_event lbl_802BA084: /* 802BA084 002B5CE4 80 01 00 24 */ lwz r0, 0x24(r1) /* 802BA088 002B5CE8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802BA08C 002B5CEC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802BA090 002B5CF0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802BA094 002B5CF4 83 81 00 10 */ lwz r28, 0x10(r1) /* 802BA098 002B5CF8 7C 08 03 A6 */ mtlr r0 /* 802BA09C 002B5CFC 38 21 00 20 */ addi r1, r1, 0x20 /* 802BA0A0 002B5D00 4E 80 00 20 */ blr .global GKI_read_mbox GKI_read_mbox: /* 802BA0A4 002B5D04 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802BA0A8 002B5D08 7C 08 02 A6 */ mflr r0 /* 802BA0AC 002B5D0C 90 01 00 24 */ stw r0, 0x24(r1) /* 802BA0B0 002B5D10 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802BA0B4 002B5D14 93 C1 00 18 */ stw r30, 0x18(r1) /* 802BA0B8 002B5D18 93 A1 00 14 */ stw r29, 0x14(r1) /* 802BA0BC 002B5D1C 7C 7D 1B 78 */ mr r29, r3 /* 802BA0C0 002B5D20 48 00 10 95 */ bl GKI_get_taskid /* 802BA0C4 002B5D24 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802BA0C8 002B5D28 7C 7F 1B 78 */ mr r31, r3 /* 802BA0CC 002B5D2C 28 00 00 08 */ cmplwi r0, 8 /* 802BA0D0 002B5D30 3B C0 00 00 */ li r30, 0 /* 802BA0D4 002B5D34 40 80 00 0C */ bge lbl_802BA0E0 /* 802BA0D8 002B5D38 28 1D 00 04 */ cmplwi r29, 4 /* 802BA0DC 002B5D3C 41 80 00 0C */ blt lbl_802BA0E8 lbl_802BA0E0: /* 802BA0E0 002B5D40 38 60 00 00 */ li r3, 0 /* 802BA0E4 002B5D44 48 00 00 54 */ b lbl_802BA138 lbl_802BA0E8: /* 802BA0E8 002B5D48 48 00 10 99 */ bl GKI_disable /* 802BA0EC 002B5D4C 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha /* 802BA0F0 002B5D50 57 E4 25 36 */ rlwinm r4, r31, 4, 0x14, 0x1b /* 802BA0F4 002B5D54 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l /* 802BA0F8 002B5D58 57 A6 15 BA */ rlwinm r6, r29, 2, 0x16, 0x1d /* 802BA0FC 002B5D5C 3C 03 00 03 */ addis r0, r3, 3 /* 802BA100 002B5D60 7C 60 22 14 */ add r3, r0, r4 /* 802BA104 002B5D64 38 E3 88 E0 */ addi r7, r3, -30496 /* 802BA108 002B5D68 7C A7 30 2E */ lwzx r5, r7, r6 /* 802BA10C 002B5D6C 2C 05 00 00 */ cmpwi r5, 0 /* 802BA110 002B5D70 41 82 00 20 */ beq lbl_802BA130 /* 802BA114 002B5D74 80 85 00 00 */ lwz r4, 0(r5) /* 802BA118 002B5D78 38 60 00 00 */ li r3, 0 /* 802BA11C 002B5D7C 38 00 00 01 */ li r0, 1 /* 802BA120 002B5D80 3B C5 00 08 */ addi r30, r5, 8 /* 802BA124 002B5D84 7C 87 31 2E */ stwx r4, r7, r6 /* 802BA128 002B5D88 90 65 00 00 */ stw r3, 0(r5) /* 802BA12C 002B5D8C 98 05 00 06 */ stb r0, 6(r5) lbl_802BA130: /* 802BA130 002B5D90 48 00 10 2D */ bl GKI_enable /* 802BA134 002B5D94 7F C3 F3 78 */ mr r3, r30 lbl_802BA138: /* 802BA138 002B5D98 80 01 00 24 */ lwz r0, 0x24(r1) /* 802BA13C 002B5D9C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802BA140 002B5DA0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802BA144 002B5DA4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802BA148 002B5DA8 7C 08 03 A6 */ mtlr r0 /* 802BA14C 002B5DAC 38 21 00 20 */ addi r1, r1, 0x20 /* 802BA150 002B5DB0 4E 80 00 20 */ blr .global GKI_enqueue GKI_enqueue: /* 802BA154 002B5DB4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802BA158 002B5DB8 7C 08 02 A6 */ mflr r0 /* 802BA15C 002B5DBC 90 01 00 24 */ stw r0, 0x24(r1) /* 802BA160 002B5DC0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802BA164 002B5DC4 3B E4 FF F8 */ addi r31, r4, -8 /* 802BA168 002B5DC8 57 E0 07 FF */ clrlwi. r0, r31, 0x1f /* 802BA16C 002B5DCC 93 C1 00 18 */ stw r30, 0x18(r1) /* 802BA170 002B5DD0 7C 9E 23 78 */ mr r30, r4 /* 802BA174 002B5DD4 93 A1 00 14 */ stw r29, 0x14(r1) /* 802BA178 002B5DD8 7C 7D 1B 78 */ mr r29, r3 /* 802BA17C 002B5DDC 41 82 00 0C */ beq lbl_802BA188 /* 802BA180 002B5DE0 38 00 00 00 */ li r0, 0 /* 802BA184 002B5DE4 48 00 00 30 */ b lbl_802BA1B4 lbl_802BA188: /* 802BA188 002B5DE8 88 1F 00 04 */ lbz r0, 4(r31) /* 802BA18C 002B5DEC 28 00 00 09 */ cmplwi r0, 9 /* 802BA190 002B5DF0 40 80 00 20 */ bge lbl_802BA1B0 /* 802BA194 002B5DF4 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha /* 802BA198 002B5DF8 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b /* 802BA19C 002B5DFC 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l /* 802BA1A0 002B5E00 3C 63 00 03 */ addis r3, r3, 3 /* 802BA1A4 002B5E04 7C 63 02 14 */ add r3, r3, r0 /* 802BA1A8 002B5E08 A0 03 89 E8 */ lhz r0, -0x7618(r3) /* 802BA1AC 002B5E0C 48 00 00 08 */ b lbl_802BA1B4 lbl_802BA1B0: /* 802BA1B0 002B5E10 38 00 00 00 */ li r0, 0 lbl_802BA1B4: /* 802BA1B4 002B5E14 7C 84 02 14 */ add r4, r4, r0 /* 802BA1B8 002B5E18 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 802BA1BC 002B5E1C 41 82 00 0C */ beq lbl_802BA1C8 /* 802BA1C0 002B5E20 38 00 00 01 */ li r0, 1 /* 802BA1C4 002B5E24 48 00 00 20 */ b lbl_802BA1E4 lbl_802BA1C8: /* 802BA1C8 002B5E28 3C 60 DD BB */ lis r3, 0xDDBADDBA@ha /* 802BA1CC 002B5E2C 80 84 00 00 */ lwz r4, 0(r4) /* 802BA1D0 002B5E30 38 03 DD BA */ addi r0, r3, 0xDDBADDBA@l /* 802BA1D4 002B5E34 7C 64 00 50 */ subf r3, r4, r0 /* 802BA1D8 002B5E38 7C 00 20 50 */ subf r0, r0, r4 /* 802BA1DC 002B5E3C 7C 60 03 78 */ or r0, r3, r0 /* 802BA1E0 002B5E40 54 00 0F FE */ srwi r0, r0, 0x1f lbl_802BA1E4: /* 802BA1E4 002B5E44 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 802BA1E8 002B5E48 41 82 00 20 */ beq lbl_802BA208 /* 802BA1EC 002B5E4C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 802BA1F0 002B5E50 3C 80 80 44 */ lis r4, lbl_8043F1E0@ha /* 802BA1F4 002B5E54 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l /* 802BA1F8 002B5E58 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802BA1FC 002B5E5C 38 84 F1 E0 */ addi r4, r4, lbl_8043F1E0@l /* 802BA200 002B5E60 48 00 0F C5 */ bl GKI_exception /* 802BA204 002B5E64 48 00 00 70 */ b lbl_802BA274 lbl_802BA208: /* 802BA208 002B5E68 88 1F 00 06 */ lbz r0, 6(r31) /* 802BA20C 002B5E6C 28 00 00 01 */ cmplwi r0, 1 /* 802BA210 002B5E70 41 82 00 20 */ beq lbl_802BA230 /* 802BA214 002B5E74 3C 60 00 01 */ lis r3, 0x0000FFF9@ha /* 802BA218 002B5E78 3C 80 80 44 */ lis r4, lbl_8043F1FC@ha /* 802BA21C 002B5E7C 38 03 FF F9 */ addi r0, r3, 0x0000FFF9@l /* 802BA220 002B5E80 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802BA224 002B5E84 38 84 F1 FC */ addi r4, r4, lbl_8043F1FC@l /* 802BA228 002B5E88 48 00 0F 9D */ bl GKI_exception /* 802BA22C 002B5E8C 48 00 00 48 */ b lbl_802BA274 lbl_802BA230: /* 802BA230 002B5E90 48 00 0F 51 */ bl GKI_disable /* 802BA234 002B5E94 80 1D 00 00 */ lwz r0, 0(r29) /* 802BA238 002B5E98 2C 00 00 00 */ cmpwi r0, 0 /* 802BA23C 002B5E9C 41 82 00 10 */ beq lbl_802BA24C /* 802BA240 002B5EA0 80 7D 00 04 */ lwz r3, 4(r29) /* 802BA244 002B5EA4 93 E3 FF F8 */ stw r31, -8(r3) /* 802BA248 002B5EA8 48 00 00 08 */ b lbl_802BA250 lbl_802BA24C: /* 802BA24C 002B5EAC 93 DD 00 00 */ stw r30, 0(r29) lbl_802BA250: /* 802BA250 002B5EB0 A0 9D 00 08 */ lhz r4, 8(r29) /* 802BA254 002B5EB4 38 60 00 00 */ li r3, 0 /* 802BA258 002B5EB8 93 DD 00 04 */ stw r30, 4(r29) /* 802BA25C 002B5EBC 38 00 00 02 */ li r0, 2 /* 802BA260 002B5EC0 38 84 00 01 */ addi r4, r4, 1 /* 802BA264 002B5EC4 B0 9D 00 08 */ sth r4, 8(r29) /* 802BA268 002B5EC8 90 7F 00 00 */ stw r3, 0(r31) /* 802BA26C 002B5ECC 98 1F 00 06 */ stb r0, 6(r31) /* 802BA270 002B5ED0 48 00 0E ED */ bl GKI_enable lbl_802BA274: /* 802BA274 002B5ED4 80 01 00 24 */ lwz r0, 0x24(r1) /* 802BA278 002B5ED8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802BA27C 002B5EDC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802BA280 002B5EE0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802BA284 002B5EE4 7C 08 03 A6 */ mtlr r0 /* 802BA288 002B5EE8 38 21 00 20 */ addi r1, r1, 0x20 /* 802BA28C 002B5EEC 4E 80 00 20 */ blr .global GKI_enqueue_head GKI_enqueue_head: /* 802BA290 002B5EF0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802BA294 002B5EF4 7C 08 02 A6 */ mflr r0 /* 802BA298 002B5EF8 90 01 00 24 */ stw r0, 0x24(r1) /* 802BA29C 002B5EFC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802BA2A0 002B5F00 3B E4 FF F8 */ addi r31, r4, -8 /* 802BA2A4 002B5F04 57 E0 07 FF */ clrlwi. r0, r31, 0x1f /* 802BA2A8 002B5F08 93 C1 00 18 */ stw r30, 0x18(r1) /* 802BA2AC 002B5F0C 7C 9E 23 78 */ mr r30, r4 /* 802BA2B0 002B5F10 93 A1 00 14 */ stw r29, 0x14(r1) /* 802BA2B4 002B5F14 7C 7D 1B 78 */ mr r29, r3 /* 802BA2B8 002B5F18 41 82 00 0C */ beq lbl_802BA2C4 /* 802BA2BC 002B5F1C 38 00 00 00 */ li r0, 0 /* 802BA2C0 002B5F20 48 00 00 30 */ b lbl_802BA2F0 lbl_802BA2C4: /* 802BA2C4 002B5F24 88 1F 00 04 */ lbz r0, 4(r31) /* 802BA2C8 002B5F28 28 00 00 09 */ cmplwi r0, 9 /* 802BA2CC 002B5F2C 40 80 00 20 */ bge lbl_802BA2EC /* 802BA2D0 002B5F30 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha /* 802BA2D4 002B5F34 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b /* 802BA2D8 002B5F38 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l /* 802BA2DC 002B5F3C 3C 63 00 03 */ addis r3, r3, 3 /* 802BA2E0 002B5F40 7C 63 02 14 */ add r3, r3, r0 /* 802BA2E4 002B5F44 A0 03 89 E8 */ lhz r0, -0x7618(r3) /* 802BA2E8 002B5F48 48 00 00 08 */ b lbl_802BA2F0 lbl_802BA2EC: /* 802BA2EC 002B5F4C 38 00 00 00 */ li r0, 0 lbl_802BA2F0: /* 802BA2F0 002B5F50 7C 84 02 14 */ add r4, r4, r0 /* 802BA2F4 002B5F54 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 802BA2F8 002B5F58 41 82 00 0C */ beq lbl_802BA304 /* 802BA2FC 002B5F5C 38 00 00 01 */ li r0, 1 /* 802BA300 002B5F60 48 00 00 20 */ b lbl_802BA320 lbl_802BA304: /* 802BA304 002B5F64 3C 60 DD BB */ lis r3, 0xDDBADDBA@ha /* 802BA308 002B5F68 80 84 00 00 */ lwz r4, 0(r4) /* 802BA30C 002B5F6C 38 03 DD BA */ addi r0, r3, 0xDDBADDBA@l /* 802BA310 002B5F70 7C 64 00 50 */ subf r3, r4, r0 /* 802BA314 002B5F74 7C 00 20 50 */ subf r0, r0, r4 /* 802BA318 002B5F78 7C 60 03 78 */ or r0, r3, r0 /* 802BA31C 002B5F7C 54 00 0F FE */ srwi r0, r0, 0x1f lbl_802BA320: /* 802BA320 002B5F80 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 802BA324 002B5F84 41 82 00 20 */ beq lbl_802BA344 /* 802BA328 002B5F88 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 802BA32C 002B5F8C 3C 80 80 44 */ lis r4, lbl_8043F1E0@ha /* 802BA330 002B5F90 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l /* 802BA334 002B5F94 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802BA338 002B5F98 38 84 F1 E0 */ addi r4, r4, lbl_8043F1E0@l /* 802BA33C 002B5F9C 48 00 0E 89 */ bl GKI_exception /* 802BA340 002B5FA0 48 00 00 74 */ b lbl_802BA3B4 lbl_802BA344: /* 802BA344 002B5FA4 88 1F 00 06 */ lbz r0, 6(r31) /* 802BA348 002B5FA8 28 00 00 01 */ cmplwi r0, 1 /* 802BA34C 002B5FAC 41 82 00 20 */ beq lbl_802BA36C /* 802BA350 002B5FB0 3C 60 00 01 */ lis r3, 0x0000FFF9@ha /* 802BA354 002B5FB4 3C 80 80 44 */ lis r4, lbl_8043F21C@ha /* 802BA358 002B5FB8 38 03 FF F9 */ addi r0, r3, 0x0000FFF9@l /* 802BA35C 002B5FBC 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802BA360 002B5FC0 38 84 F2 1C */ addi r4, r4, lbl_8043F21C@l /* 802BA364 002B5FC4 48 00 0E 61 */ bl GKI_exception /* 802BA368 002B5FC8 48 00 00 4C */ b lbl_802BA3B4 lbl_802BA36C: /* 802BA36C 002B5FCC 48 00 0E 15 */ bl GKI_disable /* 802BA370 002B5FD0 80 7D 00 00 */ lwz r3, 0(r29) /* 802BA374 002B5FD4 2C 03 00 00 */ cmpwi r3, 0 /* 802BA378 002B5FD8 41 82 00 14 */ beq lbl_802BA38C /* 802BA37C 002B5FDC 38 03 FF F8 */ addi r0, r3, -8 /* 802BA380 002B5FE0 90 1F 00 00 */ stw r0, 0(r31) /* 802BA384 002B5FE4 93 DD 00 00 */ stw r30, 0(r29) /* 802BA388 002B5FE8 48 00 00 14 */ b lbl_802BA39C lbl_802BA38C: /* 802BA38C 002B5FEC 93 DD 00 00 */ stw r30, 0(r29) /* 802BA390 002B5FF0 38 00 00 00 */ li r0, 0 /* 802BA394 002B5FF4 93 DD 00 04 */ stw r30, 4(r29) /* 802BA398 002B5FF8 90 1F 00 00 */ stw r0, 0(r31) lbl_802BA39C: /* 802BA39C 002B5FFC A0 7D 00 08 */ lhz r3, 8(r29) /* 802BA3A0 002B6000 38 00 00 02 */ li r0, 2 /* 802BA3A4 002B6004 38 63 00 01 */ addi r3, r3, 1 /* 802BA3A8 002B6008 B0 7D 00 08 */ sth r3, 8(r29) /* 802BA3AC 002B600C 98 1F 00 06 */ stb r0, 6(r31) /* 802BA3B0 002B6010 48 00 0D AD */ bl GKI_enable lbl_802BA3B4: /* 802BA3B4 002B6014 80 01 00 24 */ lwz r0, 0x24(r1) /* 802BA3B8 002B6018 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802BA3BC 002B601C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802BA3C0 002B6020 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802BA3C4 002B6024 7C 08 03 A6 */ mtlr r0 /* 802BA3C8 002B6028 38 21 00 20 */ addi r1, r1, 0x20 /* 802BA3CC 002B602C 4E 80 00 20 */ blr .global GKI_dequeue GKI_dequeue: /* 802BA3D0 002B6030 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802BA3D4 002B6034 7C 08 02 A6 */ mflr r0 /* 802BA3D8 002B6038 90 01 00 14 */ stw r0, 0x14(r1) /* 802BA3DC 002B603C 93 E1 00 0C */ stw r31, 0xc(r1) /* 802BA3E0 002B6040 93 C1 00 08 */ stw r30, 8(r1) /* 802BA3E4 002B6044 7C 7E 1B 78 */ mr r30, r3 /* 802BA3E8 002B6048 48 00 0D 99 */ bl GKI_disable /* 802BA3EC 002B604C 2C 1E 00 00 */ cmpwi r30, 0 /* 802BA3F0 002B6050 41 82 00 10 */ beq lbl_802BA400 /* 802BA3F4 002B6054 A0 1E 00 08 */ lhz r0, 8(r30) /* 802BA3F8 002B6058 2C 00 00 00 */ cmpwi r0, 0 /* 802BA3FC 002B605C 40 82 00 10 */ bne lbl_802BA40C lbl_802BA400: /* 802BA400 002B6060 48 00 0D 5D */ bl GKI_enable /* 802BA404 002B6064 38 60 00 00 */ li r3, 0 /* 802BA408 002B6068 48 00 00 50 */ b lbl_802BA458 lbl_802BA40C: /* 802BA40C 002B606C 83 FE 00 00 */ lwz r31, 0(r30) /* 802BA410 002B6070 80 7F FF F8 */ lwz r3, -8(r31) /* 802BA414 002B6074 2C 03 00 00 */ cmpwi r3, 0 /* 802BA418 002B6078 41 82 00 10 */ beq lbl_802BA428 /* 802BA41C 002B607C 38 03 00 08 */ addi r0, r3, 8 /* 802BA420 002B6080 90 1E 00 00 */ stw r0, 0(r30) /* 802BA424 002B6084 48 00 00 10 */ b lbl_802BA434 lbl_802BA428: /* 802BA428 002B6088 38 00 00 00 */ li r0, 0 /* 802BA42C 002B608C 90 1E 00 00 */ stw r0, 0(r30) /* 802BA430 002B6090 90 1E 00 04 */ stw r0, 4(r30) lbl_802BA434: /* 802BA434 002B6094 A0 9E 00 08 */ lhz r4, 8(r30) /* 802BA438 002B6098 38 60 00 00 */ li r3, 0 /* 802BA43C 002B609C 38 00 00 01 */ li r0, 1 /* 802BA440 002B60A0 38 84 FF FF */ addi r4, r4, -1 /* 802BA444 002B60A4 B0 9E 00 08 */ sth r4, 8(r30) /* 802BA448 002B60A8 90 7F FF F8 */ stw r3, -8(r31) /* 802BA44C 002B60AC 98 1F FF FE */ stb r0, -2(r31) /* 802BA450 002B60B0 48 00 0D 0D */ bl GKI_enable /* 802BA454 002B60B4 7F E3 FB 78 */ mr r3, r31 lbl_802BA458: /* 802BA458 002B60B8 80 01 00 14 */ lwz r0, 0x14(r1) /* 802BA45C 002B60BC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802BA460 002B60C0 83 C1 00 08 */ lwz r30, 8(r1) /* 802BA464 002B60C4 7C 08 03 A6 */ mtlr r0 /* 802BA468 002B60C8 38 21 00 10 */ addi r1, r1, 0x10 /* 802BA46C 002B60CC 4E 80 00 20 */ blr .global GKI_remove_from_queue GKI_remove_from_queue: /* 802BA470 002B60D0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802BA474 002B60D4 7C 08 02 A6 */ mflr r0 /* 802BA478 002B60D8 90 01 00 14 */ stw r0, 0x14(r1) /* 802BA47C 002B60DC 93 E1 00 0C */ stw r31, 0xc(r1) /* 802BA480 002B60E0 7C 9F 23 78 */ mr r31, r4 /* 802BA484 002B60E4 93 C1 00 08 */ stw r30, 8(r1) /* 802BA488 002B60E8 7C 7E 1B 78 */ mr r30, r3 /* 802BA48C 002B60EC 48 00 0C F5 */ bl GKI_disable /* 802BA490 002B60F0 80 7E 00 00 */ lwz r3, 0(r30) /* 802BA494 002B60F4 7C 1F 18 40 */ cmplw r31, r3 /* 802BA498 002B60F8 40 82 00 14 */ bne lbl_802BA4AC /* 802BA49C 002B60FC 48 00 0C C1 */ bl GKI_enable /* 802BA4A0 002B6100 7F C3 F3 78 */ mr r3, r30 /* 802BA4A4 002B6104 4B FF FF 2D */ bl GKI_dequeue /* 802BA4A8 002B6108 48 00 00 74 */ b lbl_802BA51C lbl_802BA4AC: /* 802BA4AC 002B610C 38 BF FF F8 */ addi r5, r31, -8 /* 802BA4B0 002B6110 38 63 FF F8 */ addi r3, r3, -8 /* 802BA4B4 002B6114 48 00 00 58 */ b lbl_802BA50C lbl_802BA4B8: /* 802BA4B8 002B6118 80 03 00 00 */ lwz r0, 0(r3) /* 802BA4BC 002B611C 7C 00 28 40 */ cmplw r0, r5 /* 802BA4C0 002B6120 40 82 00 48 */ bne lbl_802BA508 /* 802BA4C4 002B6124 80 05 00 00 */ lwz r0, 0(r5) /* 802BA4C8 002B6128 90 03 00 00 */ stw r0, 0(r3) /* 802BA4CC 002B612C 80 1E 00 04 */ lwz r0, 4(r30) /* 802BA4D0 002B6130 7C 1F 00 40 */ cmplw r31, r0 /* 802BA4D4 002B6134 40 82 00 0C */ bne lbl_802BA4E0 /* 802BA4D8 002B6138 38 03 00 08 */ addi r0, r3, 8 /* 802BA4DC 002B613C 90 1E 00 04 */ stw r0, 4(r30) lbl_802BA4E0: /* 802BA4E0 002B6140 A0 9E 00 08 */ lhz r4, 8(r30) /* 802BA4E4 002B6144 38 60 00 00 */ li r3, 0 /* 802BA4E8 002B6148 38 00 00 01 */ li r0, 1 /* 802BA4EC 002B614C 38 84 FF FF */ addi r4, r4, -1 /* 802BA4F0 002B6150 B0 9E 00 08 */ sth r4, 8(r30) /* 802BA4F4 002B6154 90 65 00 00 */ stw r3, 0(r5) /* 802BA4F8 002B6158 98 05 00 06 */ stb r0, 6(r5) /* 802BA4FC 002B615C 48 00 0C 61 */ bl GKI_enable /* 802BA500 002B6160 7F E3 FB 78 */ mr r3, r31 /* 802BA504 002B6164 48 00 00 18 */ b lbl_802BA51C lbl_802BA508: /* 802BA508 002B6168 7C 03 03 78 */ mr r3, r0 lbl_802BA50C: /* 802BA50C 002B616C 2C 03 00 00 */ cmpwi r3, 0 /* 802BA510 002B6170 40 82 FF A8 */ bne lbl_802BA4B8 /* 802BA514 002B6174 48 00 0C 49 */ bl GKI_enable /* 802BA518 002B6178 38 60 00 00 */ li r3, 0 lbl_802BA51C: /* 802BA51C 002B617C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802BA520 002B6180 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802BA524 002B6184 83 C1 00 08 */ lwz r30, 8(r1) /* 802BA528 002B6188 7C 08 03 A6 */ mtlr r0 /* 802BA52C 002B618C 38 21 00 10 */ addi r1, r1, 0x10 /* 802BA530 002B6190 4E 80 00 20 */ blr .global GKI_getfirst GKI_getfirst: /* 802BA534 002B6194 80 63 00 00 */ lwz r3, 0(r3) /* 802BA538 002B6198 4E 80 00 20 */ blr .global GKI_getnext GKI_getnext: /* 802BA53C 002B619C 80 63 FF F8 */ lwz r3, -8(r3) /* 802BA540 002B61A0 2C 03 00 00 */ cmpwi r3, 0 /* 802BA544 002B61A4 41 82 00 0C */ beq lbl_802BA550 /* 802BA548 002B61A8 38 63 00 08 */ addi r3, r3, 8 /* 802BA54C 002B61AC 4E 80 00 20 */ blr lbl_802BA550: /* 802BA550 002B61B0 38 60 00 00 */ li r3, 0 /* 802BA554 002B61B4 4E 80 00 20 */ blr .global GKI_queue_is_empty GKI_queue_is_empty: /* 802BA558 002B61B8 A0 03 00 08 */ lhz r0, 8(r3) /* 802BA55C 002B61BC 7C 00 00 34 */ cntlzw r0, r0 /* 802BA560 002B61C0 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f /* 802BA564 002B61C4 4E 80 00 20 */ blr .global GKI_create_pool GKI_create_pool: /* 802BA568 002B61C8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802BA56C 002B61CC 7C 08 02 A6 */ mflr r0 /* 802BA570 002B61D0 90 01 00 24 */ stw r0, 0x24(r1) /* 802BA574 002B61D4 39 61 00 20 */ addi r11, r1, 0x20 /* 802BA578 002B61D8 4B F0 CB B1 */ bl _savegpr_27 /* 802BA57C 002B61DC 3C E0 80 54 */ lis r7, lbl_8053C2C0@ha /* 802BA580 002B61E0 28 03 FF F3 */ cmplwi r3, 0xfff3 /* 802BA584 002B61E4 38 E7 C2 C0 */ addi r7, r7, lbl_8053C2C0@l /* 802BA588 002B61E8 7C 7B 1B 78 */ mr r27, r3 /* 802BA58C 002B61EC 7C 9C 23 78 */ mr r28, r4 /* 802BA590 002B61F0 7C BD 2B 78 */ mr r29, r5 /* 802BA594 002B61F4 3B C7 00 54 */ addi r30, r7, 0x54 /* 802BA598 002B61F8 40 81 00 0C */ ble lbl_802BA5A4 /* 802BA59C 002B61FC 38 60 00 FF */ li r3, 0xff /* 802BA5A0 002B6200 48 00 02 F8 */ b lbl_802BA898 lbl_802BA5A4: /* 802BA5A4 002B6204 38 00 00 03 */ li r0, 3 /* 802BA5A8 002B6208 3B E0 00 00 */ li r31, 0 /* 802BA5AC 002B620C 7C 09 03 A6 */ mtctr r0 lbl_802BA5B0: /* 802BA5B0 002B6210 57 E5 15 BA */ rlwinm r5, r31, 2, 0x16, 0x1d /* 802BA5B4 002B6214 3C A5 00 03 */ addis r5, r5, 3 /* 802BA5B8 002B6218 38 05 8A 1C */ addi r0, r5, -30180 /* 802BA5BC 002B621C 7C 1E 00 2E */ lwzx r0, r30, r0 /* 802BA5C0 002B6220 2C 00 00 00 */ cmpwi r0, 0 /* 802BA5C4 002B6224 41 82 00 44 */ beq lbl_802BA608 /* 802BA5C8 002B6228 3B FF 00 01 */ addi r31, r31, 1 /* 802BA5CC 002B622C 57 E5 15 BA */ rlwinm r5, r31, 2, 0x16, 0x1d /* 802BA5D0 002B6230 3C A5 00 03 */ addis r5, r5, 3 /* 802BA5D4 002B6234 38 05 8A 1C */ addi r0, r5, -30180 /* 802BA5D8 002B6238 7C 1E 00 2E */ lwzx r0, r30, r0 /* 802BA5DC 002B623C 2C 00 00 00 */ cmpwi r0, 0 /* 802BA5E0 002B6240 41 82 00 28 */ beq lbl_802BA608 /* 802BA5E4 002B6244 3B FF 00 01 */ addi r31, r31, 1 /* 802BA5E8 002B6248 57 E5 15 BA */ rlwinm r5, r31, 2, 0x16, 0x1d /* 802BA5EC 002B624C 3C A5 00 03 */ addis r5, r5, 3 /* 802BA5F0 002B6250 38 05 8A 1C */ addi r0, r5, -30180 /* 802BA5F4 002B6254 7C 1E 00 2E */ lwzx r0, r30, r0 /* 802BA5F8 002B6258 2C 00 00 00 */ cmpwi r0, 0 /* 802BA5FC 002B625C 41 82 00 0C */ beq lbl_802BA608 /* 802BA600 002B6260 3B FF 00 01 */ addi r31, r31, 1 /* 802BA604 002B6264 42 00 FF AC */ bdnz lbl_802BA5B0 lbl_802BA608: /* 802BA608 002B6268 57 E0 06 3E */ clrlwi r0, r31, 0x18 /* 802BA60C 002B626C 28 00 00 09 */ cmplwi r0, 9 /* 802BA610 002B6270 40 82 00 0C */ bne lbl_802BA61C /* 802BA614 002B6274 38 60 00 FF */ li r3, 0xff /* 802BA618 002B6278 48 00 02 80 */ b lbl_802BA898 lbl_802BA61C: /* 802BA61C 002B627C 38 03 00 03 */ addi r0, r3, 3 /* 802BA620 002B6280 2C 06 00 00 */ cmpwi r6, 0 /* 802BA624 002B6284 54 03 00 3A */ rlwinm r3, r0, 0, 0, 0x1d /* 802BA628 002B6288 38 03 00 0C */ addi r0, r3, 0xc /* 802BA62C 002B628C 7C 60 21 D6 */ mullw r3, r0, r4 /* 802BA630 002B6290 40 82 00 0C */ bne lbl_802BA63C /* 802BA634 002B6294 48 00 0B 95 */ bl GKI_os_malloc /* 802BA638 002B6298 7C 66 1B 78 */ mr r6, r3 lbl_802BA63C: /* 802BA63C 002B629C 2C 06 00 00 */ cmpwi r6, 0 /* 802BA640 002B62A0 41 82 02 54 */ beq lbl_802BA894 /* 802BA644 002B62A4 7F 64 DB 78 */ mr r4, r27 /* 802BA648 002B62A8 7F 85 E3 78 */ mr r5, r28 /* 802BA64C 002B62AC 57 E3 06 3E */ clrlwi r3, r31, 0x18 /* 802BA650 002B62B0 4B FF EF 7D */ bl gki_init_free_queue /* 802BA654 002B62B4 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha /* 802BA658 002B62B8 57 E5 25 36 */ rlwinm r5, r31, 4, 0x14, 0x1b /* 802BA65C 002B62BC 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l /* 802BA660 002B62C0 38 80 00 00 */ li r4, 0 /* 802BA664 002B62C4 38 63 00 54 */ addi r3, r3, 0x54 /* 802BA668 002B62C8 3C C5 00 03 */ addis r6, r5, 3 /* 802BA66C 002B62CC 3C A3 00 03 */ addis r5, r3, 3 /* 802BA670 002B62D0 88 A5 8A 87 */ lbz r5, -0x7579(r5) /* 802BA674 002B62D4 38 06 89 94 */ addi r0, r6, -30316 /* 802BA678 002B62D8 7C E3 02 2E */ lhzx r7, r3, r0 /* 802BA67C 002B62DC 7C A9 03 A6 */ mtctr r5 /* 802BA680 002B62E0 2C 05 00 00 */ cmpwi r5, 0 /* 802BA684 002B62E4 40 81 00 30 */ ble lbl_802BA6B4 lbl_802BA688: /* 802BA688 002B62E8 3C C4 00 03 */ addis r6, r4, 3 /* 802BA68C 002B62EC 38 06 8A 7E */ addi r0, r6, -30082 /* 802BA690 002B62F0 7C 03 00 AE */ lbzx r0, r3, r0 /* 802BA694 002B62F4 54 06 20 36 */ slwi r6, r0, 4 /* 802BA698 002B62F8 3C C6 00 03 */ addis r6, r6, 3 /* 802BA69C 002B62FC 38 06 89 94 */ addi r0, r6, -30316 /* 802BA6A0 002B6300 7C 03 02 2E */ lhzx r0, r3, r0 /* 802BA6A4 002B6304 7C 07 00 40 */ cmplw r7, r0 /* 802BA6A8 002B6308 40 81 00 0C */ ble lbl_802BA6B4 /* 802BA6AC 002B630C 38 84 00 01 */ addi r4, r4, 1 /* 802BA6B0 002B6310 42 00 FF D8 */ bdnz lbl_802BA688 lbl_802BA6B4: /* 802BA6B4 002B6314 7C 05 20 00 */ cmpw r5, r4 /* 802BA6B8 002B6318 40 81 01 64 */ ble lbl_802BA81C /* 802BA6BC 002B631C 7C 04 28 50 */ subf r0, r4, r5 /* 802BA6C0 002B6320 39 04 00 08 */ addi r8, r4, 8 /* 802BA6C4 002B6324 2C 00 00 08 */ cmpwi r0, 8 /* 802BA6C8 002B6328 40 81 01 2C */ ble lbl_802BA7F4 /* 802BA6CC 002B632C 3C C3 00 03 */ addis r6, r3, 3 /* 802BA6D0 002B6330 39 20 00 00 */ li r9, 0 /* 802BA6D4 002B6334 88 06 8A 87 */ lbz r0, -0x7579(r6) /* 802BA6D8 002B6338 39 40 00 00 */ li r10, 0 /* 802BA6DC 002B633C 39 60 00 00 */ li r11, 0 /* 802BA6E0 002B6340 38 E0 00 00 */ li r7, 0 /* 802BA6E4 002B6344 7C 00 20 00 */ cmpw r0, r4 /* 802BA6E8 002B6348 41 80 00 18 */ blt lbl_802BA700 /* 802BA6EC 002B634C 3C C0 80 00 */ lis r6, 0x80000001@ha /* 802BA6F0 002B6350 38 06 00 01 */ addi r0, r6, 0x80000001@l /* 802BA6F4 002B6354 7C 04 00 00 */ cmpw r4, r0 /* 802BA6F8 002B6358 41 80 00 08 */ blt lbl_802BA700 /* 802BA6FC 002B635C 38 E0 00 01 */ li r7, 1 lbl_802BA700: /* 802BA700 002B6360 2C 07 00 00 */ cmpwi r7, 0 /* 802BA704 002B6364 41 82 00 20 */ beq lbl_802BA724 /* 802BA708 002B6368 3C E3 00 03 */ addis r7, r3, 3 /* 802BA70C 002B636C 3C C0 80 00 */ lis r6, 0x80000001@ha /* 802BA710 002B6370 88 E7 8A 87 */ lbz r7, -0x7579(r7) /* 802BA714 002B6374 38 06 00 01 */ addi r0, r6, 0x80000001@l /* 802BA718 002B6378 7C 07 00 00 */ cmpw r7, r0 /* 802BA71C 002B637C 41 80 00 08 */ blt lbl_802BA724 /* 802BA720 002B6380 39 60 00 01 */ li r11, 1 lbl_802BA724: /* 802BA724 002B6384 2C 0B 00 00 */ cmpwi r11, 0 /* 802BA728 002B6388 41 82 00 14 */ beq lbl_802BA73C /* 802BA72C 002B638C 3C 04 80 00 */ addis r0, r4, 0x8000 /* 802BA730 002B6390 28 00 00 00 */ cmplwi r0, 0 /* 802BA734 002B6394 41 82 00 08 */ beq lbl_802BA73C /* 802BA738 002B6398 39 40 00 01 */ li r10, 1 lbl_802BA73C: /* 802BA73C 002B639C 2C 0A 00 00 */ cmpwi r10, 0 /* 802BA740 002B63A0 41 82 00 44 */ beq lbl_802BA784 /* 802BA744 002B63A4 3C C3 00 03 */ addis r6, r3, 3 /* 802BA748 002B63A8 7C 04 00 D0 */ neg r0, r4 /* 802BA74C 002B63AC 89 46 8A 87 */ lbz r10, -0x7579(r6) /* 802BA750 002B63B0 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0 /* 802BA754 002B63B4 38 C0 00 01 */ li r6, 1 /* 802BA758 002B63B8 55 47 00 00 */ rlwinm r7, r10, 0, 0, 0 /* 802BA75C 002B63BC 7C 07 00 00 */ cmpw r7, r0 /* 802BA760 002B63C0 40 82 00 18 */ bne lbl_802BA778 /* 802BA764 002B63C4 7C 04 50 50 */ subf r0, r4, r10 /* 802BA768 002B63C8 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0 /* 802BA76C 002B63CC 7C 07 00 00 */ cmpw r7, r0 /* 802BA770 002B63D0 41 82 00 08 */ beq lbl_802BA778 /* 802BA774 002B63D4 38 C0 00 00 */ li r6, 0 lbl_802BA778: /* 802BA778 002B63D8 2C 06 00 00 */ cmpwi r6, 0 /* 802BA77C 002B63DC 41 82 00 08 */ beq lbl_802BA784 /* 802BA780 002B63E0 39 20 00 01 */ li r9, 1 lbl_802BA784: /* 802BA784 002B63E4 2C 09 00 00 */ cmpwi r9, 0 /* 802BA788 002B63E8 41 82 00 6C */ beq lbl_802BA7F4 /* 802BA78C 002B63EC 38 05 00 07 */ addi r0, r5, 7 /* 802BA790 002B63F0 7C 08 00 50 */ subf r0, r8, r0 /* 802BA794 002B63F4 54 00 E8 FE */ srwi r0, r0, 3 /* 802BA798 002B63F8 7C 09 03 A6 */ mtctr r0 /* 802BA79C 002B63FC 7C 05 40 00 */ cmpw r5, r8 /* 802BA7A0 002B6400 40 81 00 54 */ ble lbl_802BA7F4 lbl_802BA7A4: /* 802BA7A4 002B6404 7C C3 2A 14 */ add r6, r3, r5 /* 802BA7A8 002B6408 38 A5 FF F8 */ addi r5, r5, -8 /* 802BA7AC 002B640C 3C C6 00 03 */ addis r6, r6, 3 /* 802BA7B0 002B6410 88 06 8A 7D */ lbz r0, -0x7583(r6) /* 802BA7B4 002B6414 98 06 8A 7E */ stb r0, -0x7582(r6) /* 802BA7B8 002B6418 88 06 8A 7C */ lbz r0, -0x7584(r6) /* 802BA7BC 002B641C 98 06 8A 7D */ stb r0, -0x7583(r6) /* 802BA7C0 002B6420 88 06 8A 7B */ lbz r0, -0x7585(r6) /* 802BA7C4 002B6424 98 06 8A 7C */ stb r0, -0x7584(r6) /* 802BA7C8 002B6428 88 06 8A 7A */ lbz r0, -0x7586(r6) /* 802BA7CC 002B642C 98 06 8A 7B */ stb r0, -0x7585(r6) /* 802BA7D0 002B6430 88 06 8A 79 */ lbz r0, -0x7587(r6) /* 802BA7D4 002B6434 98 06 8A 7A */ stb r0, -0x7586(r6) /* 802BA7D8 002B6438 88 06 8A 78 */ lbz r0, -0x7588(r6) /* 802BA7DC 002B643C 98 06 8A 79 */ stb r0, -0x7587(r6) /* 802BA7E0 002B6440 88 06 8A 77 */ lbz r0, -0x7589(r6) /* 802BA7E4 002B6444 98 06 8A 78 */ stb r0, -0x7588(r6) /* 802BA7E8 002B6448 88 06 8A 76 */ lbz r0, -0x758a(r6) /* 802BA7EC 002B644C 98 06 8A 77 */ stb r0, -0x7589(r6) /* 802BA7F0 002B6450 42 00 FF B4 */ bdnz lbl_802BA7A4 lbl_802BA7F4: /* 802BA7F4 002B6454 7C 04 28 50 */ subf r0, r4, r5 /* 802BA7F8 002B6458 7C 09 03 A6 */ mtctr r0 /* 802BA7FC 002B645C 7C 05 20 00 */ cmpw r5, r4 /* 802BA800 002B6460 40 81 00 1C */ ble lbl_802BA81C lbl_802BA804: /* 802BA804 002B6464 7C C3 2A 14 */ add r6, r3, r5 /* 802BA808 002B6468 38 A5 FF FF */ addi r5, r5, -1 /* 802BA80C 002B646C 3C C6 00 03 */ addis r6, r6, 3 /* 802BA810 002B6470 88 06 8A 7D */ lbz r0, -0x7583(r6) /* 802BA814 002B6474 98 06 8A 7E */ stb r0, -0x7582(r6) /* 802BA818 002B6478 42 00 FF EC */ bdnz lbl_802BA804 lbl_802BA81C: /* 802BA81C 002B647C 3C 03 00 03 */ addis r0, r3, 3 /* 802BA820 002B6480 57 E5 06 3E */ clrlwi r5, r31, 0x18 /* 802BA824 002B6484 7C 80 22 14 */ add r4, r0, r4 /* 802BA828 002B6488 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha /* 802BA82C 002B648C 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l /* 802BA830 002B6490 28 05 00 09 */ cmplwi r5, 9 /* 802BA834 002B6494 9B E4 8A 7E */ stb r31, -0x7582(r4) /* 802BA838 002B6498 38 63 00 54 */ addi r3, r3, 0x54 /* 802BA83C 002B649C 40 80 00 40 */ bge lbl_802BA87C /* 802BA840 002B64A0 28 1D 00 01 */ cmplwi r29, 1 /* 802BA844 002B64A4 40 82 00 20 */ bne lbl_802BA864 /* 802BA848 002B64A8 3C 83 00 03 */ addis r4, r3, 3 /* 802BA84C 002B64AC 38 00 00 01 */ li r0, 1 /* 802BA850 002B64B0 A0 64 8A 7C */ lhz r3, -0x7584(r4) /* 802BA854 002B64B4 7C 00 28 30 */ slw r0, r0, r5 /* 802BA858 002B64B8 7C 60 03 78 */ or r0, r3, r0 /* 802BA85C 002B64BC B0 04 8A 7C */ sth r0, -0x7584(r4) /* 802BA860 002B64C0 48 00 00 1C */ b lbl_802BA87C lbl_802BA864: /* 802BA864 002B64C4 3C 83 00 03 */ addis r4, r3, 3 /* 802BA868 002B64C8 38 00 00 01 */ li r0, 1 /* 802BA86C 002B64CC A0 64 8A 7C */ lhz r3, -0x7584(r4) /* 802BA870 002B64D0 7C 00 28 30 */ slw r0, r0, r5 /* 802BA874 002B64D4 7C 60 00 78 */ andc r0, r3, r0 /* 802BA878 002B64D8 B0 04 8A 7C */ sth r0, -0x7584(r4) lbl_802BA87C: /* 802BA87C 002B64DC 3C BE 00 03 */ addis r5, r30, 3 /* 802BA880 002B64E0 7F E3 FB 78 */ mr r3, r31 /* 802BA884 002B64E4 88 85 8A 87 */ lbz r4, -0x7579(r5) /* 802BA888 002B64E8 38 04 00 01 */ addi r0, r4, 1 /* 802BA88C 002B64EC 98 05 8A 87 */ stb r0, -0x7579(r5) /* 802BA890 002B64F0 48 00 00 08 */ b lbl_802BA898 lbl_802BA894: /* 802BA894 002B64F4 38 60 00 FF */ li r3, 0xff lbl_802BA898: /* 802BA898 002B64F8 39 61 00 20 */ addi r11, r1, 0x20 /* 802BA89C 002B64FC 4B F0 C8 D9 */ bl _restgpr_27 /* 802BA8A0 002B6500 80 01 00 24 */ lwz r0, 0x24(r1) /* 802BA8A4 002B6504 7C 08 03 A6 */ mtlr r0 /* 802BA8A8 002B6508 38 21 00 20 */ addi r1, r1, 0x20 /* 802BA8AC 002B650C 4E 80 00 20 */ blr .global GKI_delete_pool GKI_delete_pool: /* 802BA8B0 002B6510 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802BA8B4 002B6514 7C 08 02 A6 */ mflr r0 /* 802BA8B8 002B6518 90 01 00 24 */ stw r0, 0x24(r1) /* 802BA8BC 002B651C 39 61 00 20 */ addi r11, r1, 0x20 /* 802BA8C0 002B6520 4B F0 C8 65 */ bl _savegpr_26 /* 802BA8C4 002B6524 3F 60 80 54 */ lis r27, lbl_8053C2C0@ha /* 802BA8C8 002B6528 28 03 00 09 */ cmplwi r3, 9 /* 802BA8CC 002B652C 3B 7B C2 C0 */ addi r27, r27, lbl_8053C2C0@l /* 802BA8D0 002B6530 7C 7E 1B 78 */ mr r30, r3 /* 802BA8D4 002B6534 3B FB 00 54 */ addi r31, r27, 0x54 /* 802BA8D8 002B6538 40 80 01 20 */ bge lbl_802BA9F8 /* 802BA8DC 002B653C 54 7A 15 BA */ rlwinm r26, r3, 2, 0x16, 0x1d /* 802BA8E0 002B6540 3C 1F 00 03 */ addis r0, r31, 3 /* 802BA8E4 002B6544 7C 60 D2 14 */ add r3, r0, r26 /* 802BA8E8 002B6548 80 03 8A 1C */ lwz r0, -0x75e4(r3) /* 802BA8EC 002B654C 2C 00 00 00 */ cmpwi r0, 0 /* 802BA8F0 002B6550 40 82 00 08 */ bne lbl_802BA8F8 /* 802BA8F4 002B6554 48 00 01 04 */ b lbl_802BA9F8 lbl_802BA8F8: /* 802BA8F8 002B6558 48 00 08 89 */ bl GKI_disable /* 802BA8FC 002B655C 3C 9F 00 03 */ addis r4, r31, 3 /* 802BA900 002B6560 57 C0 25 36 */ rlwinm r0, r30, 4, 0x14, 0x1b /* 802BA904 002B6564 7C 64 02 14 */ add r3, r4, r0 /* 802BA908 002B6568 A0 03 89 98 */ lhz r0, -0x7668(r3) /* 802BA90C 002B656C 2C 00 00 00 */ cmpwi r0, 0 /* 802BA910 002B6570 40 82 00 CC */ bne lbl_802BA9DC /* 802BA914 002B6574 3B 80 00 00 */ li r28, 0 /* 802BA918 002B6578 7F A4 D2 14 */ add r29, r4, r26 /* 802BA91C 002B657C B3 83 89 94 */ sth r28, -0x766c(r3) /* 802BA920 002B6580 B3 83 89 96 */ sth r28, -0x766a(r3) /* 802BA924 002B6584 B3 83 89 98 */ sth r28, -0x7668(r3) /* 802BA928 002B6588 B3 83 89 9A */ sth r28, -0x7666(r3) /* 802BA92C 002B658C 93 83 89 8C */ stw r28, -0x7674(r3) /* 802BA930 002B6590 93 83 89 90 */ stw r28, -0x7670(r3) /* 802BA934 002B6594 80 7D 8A 1C */ lwz r3, -0x75e4(r29) /* 802BA938 002B6598 48 00 08 BD */ bl GKI_os_free /* 802BA93C 002B659C 3C 9F 00 03 */ addis r4, r31, 3 /* 802BA940 002B65A0 93 9D 8A 1C */ stw r28, -0x75e4(r29) /* 802BA944 002B65A4 7C 64 D2 14 */ add r3, r4, r26 /* 802BA948 002B65A8 57 C0 0D FC */ rlwinm r0, r30, 1, 0x17, 0x1e /* 802BA94C 002B65AC 93 83 8A 40 */ stw r28, -0x75c0(r3) /* 802BA950 002B65B0 7C 64 02 14 */ add r3, r4, r0 /* 802BA954 002B65B4 7F E7 FB 78 */ mr r7, r31 /* 802BA958 002B65B8 38 C0 00 00 */ li r6, 0 /* 802BA95C 002B65BC B3 83 8A 64 */ sth r28, -0x759c(r3) /* 802BA960 002B65C0 88 84 8A 87 */ lbz r4, -0x7579(r4) /* 802BA964 002B65C4 48 00 00 20 */ b lbl_802BA984 lbl_802BA968: /* 802BA968 002B65C8 54 C3 06 3E */ clrlwi r3, r6, 0x18 /* 802BA96C 002B65CC 3C 63 00 03 */ addis r3, r3, 3 /* 802BA970 002B65D0 38 03 8A 7E */ addi r0, r3, -30082 /* 802BA974 002B65D4 7C 07 00 AE */ lbzx r0, r7, r0 /* 802BA978 002B65D8 7C 1E 00 40 */ cmplw r30, r0 /* 802BA97C 002B65DC 41 82 00 14 */ beq lbl_802BA990 /* 802BA980 002B65E0 38 C6 00 01 */ addi r6, r6, 1 lbl_802BA984: /* 802BA984 002B65E4 54 C0 06 3E */ clrlwi r0, r6, 0x18 /* 802BA988 002B65E8 7C 00 20 40 */ cmplw r0, r4 /* 802BA98C 002B65EC 41 80 FF DC */ blt lbl_802BA968 lbl_802BA990: /* 802BA990 002B65F0 3C 87 00 03 */ addis r4, r7, 3 /* 802BA994 002B65F4 48 00 00 20 */ b lbl_802BA9B4 lbl_802BA998: /* 802BA998 002B65F8 54 C3 06 3E */ clrlwi r3, r6, 0x18 /* 802BA99C 002B65FC 38 C6 00 01 */ addi r6, r6, 1 /* 802BA9A0 002B6600 3C 63 00 03 */ addis r3, r3, 3 /* 802BA9A4 002B6604 38 63 8A 7E */ addi r3, r3, -30082 /* 802BA9A8 002B6608 7C 67 1A 14 */ add r3, r7, r3 /* 802BA9AC 002B660C 88 03 00 01 */ lbz r0, 1(r3) /* 802BA9B0 002B6610 98 03 00 00 */ stb r0, 0(r3) lbl_802BA9B4: /* 802BA9B4 002B6614 88 64 8A 87 */ lbz r3, -0x7579(r4) /* 802BA9B8 002B6618 54 C5 06 3E */ clrlwi r5, r6, 0x18 /* 802BA9BC 002B661C 38 03 FF FF */ addi r0, r3, -1 /* 802BA9C0 002B6620 7C 05 00 00 */ cmpw r5, r0 /* 802BA9C4 002B6624 41 80 FF D4 */ blt lbl_802BA998 /* 802BA9C8 002B6628 3C 9F 00 03 */ addis r4, r31, 3 /* 802BA9CC 002B662C 88 64 8A 87 */ lbz r3, -0x7579(r4) /* 802BA9D0 002B6630 38 03 FF FF */ addi r0, r3, -1 /* 802BA9D4 002B6634 98 04 8A 87 */ stb r0, -0x7579(r4) /* 802BA9D8 002B6638 48 00 00 1C */ b lbl_802BA9F4 lbl_802BA9DC: /* 802BA9DC 002B663C 3C 60 00 01 */ lis r3, 0x0000FFF8@ha /* 802BA9E0 002B6640 3C 80 80 44 */ lis r4, lbl_8043F260@ha /* 802BA9E4 002B6644 38 03 FF F8 */ addi r0, r3, 0x0000FFF8@l /* 802BA9E8 002B6648 54 03 04 3E */ clrlwi r3, r0, 0x10 /* 802BA9EC 002B664C 38 84 F2 60 */ addi r4, r4, lbl_8043F260@l /* 802BA9F0 002B6650 48 00 07 D5 */ bl GKI_exception lbl_802BA9F4: /* 802BA9F4 002B6654 48 00 07 69 */ bl GKI_enable lbl_802BA9F8: /* 802BA9F8 002B6658 39 61 00 20 */ addi r11, r1, 0x20 /* 802BA9FC 002B665C 4B F0 C7 75 */ bl _restgpr_26 /* 802BAA00 002B6660 80 01 00 24 */ lwz r0, 0x24(r1) /* 802BAA04 002B6664 7C 08 03 A6 */ mtlr r0 /* 802BAA08 002B6668 38 21 00 20 */ addi r1, r1, 0x20 /* 802BAA0C 002B666C 4E 80 00 20 */ blr