.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_801CA7B0 func_801CA7B0: /* 801CA7B0 001C6410 3C 60 80 1C */ lis r3, func_801C7894@ha /* 801CA7B4 001C6414 38 63 78 94 */ addi r3, r3, func_801C7894@l /* 801CA7B8 001C6418 90 6D 9F D8 */ stw r3, lbl_8063F298-_SDA_BASE_(r13) /* 801CA7BC 001C641C 4E 80 00 20 */ blr .global func_801CA7C0 func_801CA7C0: /* 801CA7C0 001C6420 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801CA7C4 001C6424 7C 08 02 A6 */ mflr r0 /* 801CA7C8 001C6428 38 E0 00 00 */ li r7, 0 /* 801CA7CC 001C642C 88 C3 00 01 */ lbz r6, 1(r3) /* 801CA7D0 001C6430 90 01 00 34 */ stw r0, 0x34(r1) /* 801CA7D4 001C6434 39 00 00 01 */ li r8, 1 /* 801CA7D8 001C6438 7C C6 07 74 */ extsb r6, r6 /* 801CA7DC 001C643C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801CA7E0 001C6440 2C 06 00 25 */ cmpwi r6, 0x25 /* 801CA7E4 001C6444 3B E3 00 01 */ addi r31, r3, 1 /* 801CA7E8 001C6448 93 C1 00 28 */ stw r30, 0x28(r1) /* 801CA7EC 001C644C 7C BE 2B 78 */ mr r30, r5 /* 801CA7F0 001C6450 93 A1 00 24 */ stw r29, 0x24(r1) /* 801CA7F4 001C6454 7C 9D 23 78 */ mr r29, r4 /* 801CA7F8 001C6458 98 E1 00 09 */ stb r7, 9(r1) /* 801CA7FC 001C645C 99 01 00 08 */ stb r8, 8(r1) /* 801CA800 001C6460 98 E1 00 0A */ stb r7, 0xa(r1) /* 801CA804 001C6464 98 E1 00 0B */ stb r7, 0xb(r1) /* 801CA808 001C6468 98 E1 00 0C */ stb r7, 0xc(r1) /* 801CA80C 001C646C 90 E1 00 10 */ stw r7, 0x10(r1) /* 801CA810 001C6470 90 E1 00 14 */ stw r7, 0x14(r1) /* 801CA814 001C6474 40 82 00 28 */ bne lbl_801CA83C /* 801CA818 001C6478 98 C1 00 0D */ stb r6, 0xd(r1) /* 801CA81C 001C647C 38 7F 00 01 */ addi r3, r31, 1 /* 801CA820 001C6480 80 81 00 08 */ lwz r4, 8(r1) /* 801CA824 001C6484 80 01 00 0C */ lwz r0, 0xc(r1) /* 801CA828 001C6488 90 85 00 00 */ stw r4, 0(r5) /* 801CA82C 001C648C 90 05 00 04 */ stw r0, 4(r5) /* 801CA830 001C6490 90 E5 00 08 */ stw r7, 8(r5) /* 801CA834 001C6494 90 E5 00 0C */ stw r7, 0xc(r5) /* 801CA838 001C6498 48 00 05 68 */ b lbl_801CADA0 lbl_801CA83C: /* 801CA83C 001C649C 3C 80 80 42 */ lis r4, 0x8042 /* 801CA840 001C64A0 38 00 00 02 */ li r0, 2 lbl_801CA844: /* 801CA844 001C64A4 38 A6 FF E0 */ addi r5, r6, -32 /* 801CA848 001C64A8 39 20 00 01 */ li r9, 1 /* 801CA84C 001C64AC 28 05 00 10 */ cmplwi r5, 0x10 /* 801CA850 001C64B0 41 81 00 58 */ bgt lbl_801CA8A8 /* 801CA854 001C64B4 38 64 2E 70 */ addi r3, r4, 0x2e70 /* 801CA858 001C64B8 54 A5 10 3A */ slwi r5, r5, 2 /* 801CA85C 001C64BC 7C 63 28 2E */ lwzx r3, r3, r5 /* 801CA860 001C64C0 7C 69 03 A6 */ mtctr r3 /* 801CA864 001C64C4 4E 80 04 20 */ bctr /* 801CA868 001C64C8 98 E1 00 08 */ stb r7, 8(r1) /* 801CA86C 001C64CC 48 00 00 40 */ b lbl_801CA8AC /* 801CA870 001C64D0 99 01 00 09 */ stb r8, 9(r1) /* 801CA874 001C64D4 48 00 00 38 */ b lbl_801CA8AC /* 801CA878 001C64D8 88 61 00 09 */ lbz r3, 9(r1) /* 801CA87C 001C64DC 28 03 00 01 */ cmplwi r3, 1 /* 801CA880 001C64E0 41 82 00 2C */ beq lbl_801CA8AC /* 801CA884 001C64E4 98 01 00 09 */ stb r0, 9(r1) /* 801CA888 001C64E8 48 00 00 24 */ b lbl_801CA8AC /* 801CA88C 001C64EC 99 01 00 0B */ stb r8, 0xb(r1) /* 801CA890 001C64F0 48 00 00 1C */ b lbl_801CA8AC /* 801CA894 001C64F4 88 61 00 08 */ lbz r3, 8(r1) /* 801CA898 001C64F8 2C 03 00 00 */ cmpwi r3, 0 /* 801CA89C 001C64FC 41 82 00 10 */ beq lbl_801CA8AC /* 801CA8A0 001C6500 98 01 00 08 */ stb r0, 8(r1) /* 801CA8A4 001C6504 48 00 00 08 */ b lbl_801CA8AC lbl_801CA8A8: /* 801CA8A8 001C6508 39 20 00 00 */ li r9, 0 lbl_801CA8AC: /* 801CA8AC 001C650C 2C 09 00 00 */ cmpwi r9, 0 /* 801CA8B0 001C6510 41 82 00 10 */ beq lbl_801CA8C0 /* 801CA8B4 001C6514 8C DF 00 01 */ lbzu r6, 1(r31) /* 801CA8B8 001C6518 7C C6 07 74 */ extsb r6, r6 /* 801CA8BC 001C651C 4B FF FF 88 */ b lbl_801CA844 lbl_801CA8C0: /* 801CA8C0 001C6520 2C 06 00 2A */ cmpwi r6, 0x2a /* 801CA8C4 001C6524 40 82 00 3C */ bne lbl_801CA900 /* 801CA8C8 001C6528 7F A3 EB 78 */ mr r3, r29 /* 801CA8CC 001C652C 38 80 00 01 */ li r4, 1 /* 801CA8D0 001C6530 4B FF C2 B1 */ bl __va_arg /* 801CA8D4 001C6534 80 03 00 00 */ lwz r0, 0(r3) /* 801CA8D8 001C6538 2C 00 00 00 */ cmpwi r0, 0 /* 801CA8DC 001C653C 90 01 00 10 */ stw r0, 0x10(r1) /* 801CA8E0 001C6540 40 80 00 14 */ bge lbl_801CA8F4 /* 801CA8E4 001C6544 7C 00 00 D0 */ neg r0, r0 /* 801CA8E8 001C6548 38 60 00 00 */ li r3, 0 /* 801CA8EC 001C654C 98 61 00 08 */ stb r3, 8(r1) /* 801CA8F0 001C6550 90 01 00 10 */ stw r0, 0x10(r1) lbl_801CA8F4: /* 801CA8F4 001C6554 8C DF 00 01 */ lbzu r6, 1(r31) /* 801CA8F8 001C6558 7C C6 07 74 */ extsb r6, r6 /* 801CA8FC 001C655C 48 00 00 70 */ b lbl_801CA96C lbl_801CA900: /* 801CA900 001C6560 3C 60 80 42 */ lis r3, lbl_80422D48@ha /* 801CA904 001C6564 38 63 2D 48 */ addi r3, r3, lbl_80422D48@l /* 801CA908 001C6568 80 83 00 38 */ lwz r4, 0x38(r3) /* 801CA90C 001C656C 48 00 00 20 */ b lbl_801CA92C lbl_801CA910: /* 801CA910 001C6570 80 01 00 10 */ lwz r0, 0x10(r1) /* 801CA914 001C6574 1C 00 00 0A */ mulli r0, r0, 0xa /* 801CA918 001C6578 7C 66 02 14 */ add r3, r6, r0 /* 801CA91C 001C657C 8C DF 00 01 */ lbzu r6, 1(r31) /* 801CA920 001C6580 38 03 FF D0 */ addi r0, r3, -48 /* 801CA924 001C6584 90 01 00 10 */ stw r0, 0x10(r1) /* 801CA928 001C6588 7C C6 07 74 */ extsb r6, r6 lbl_801CA92C: /* 801CA92C 001C658C 2C 06 00 00 */ cmpwi r6, 0 /* 801CA930 001C6590 38 00 00 00 */ li r0, 0 /* 801CA934 001C6594 41 80 00 0C */ blt lbl_801CA940 /* 801CA938 001C6598 2C 06 01 00 */ cmpwi r6, 0x100 /* 801CA93C 001C659C 41 80 00 08 */ blt lbl_801CA944 lbl_801CA940: /* 801CA940 001C65A0 38 00 00 01 */ li r0, 1 lbl_801CA944: /* 801CA944 001C65A4 2C 00 00 00 */ cmpwi r0, 0 /* 801CA948 001C65A8 41 82 00 0C */ beq lbl_801CA954 /* 801CA94C 001C65AC 38 00 00 00 */ li r0, 0 /* 801CA950 001C65B0 48 00 00 14 */ b lbl_801CA964 lbl_801CA954: /* 801CA954 001C65B4 80 64 00 08 */ lwz r3, 8(r4) /* 801CA958 001C65B8 54 C0 08 3C */ slwi r0, r6, 1 /* 801CA95C 001C65BC 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CA960 001C65C0 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c lbl_801CA964: /* 801CA964 001C65C4 2C 00 00 00 */ cmpwi r0, 0 /* 801CA968 001C65C8 40 82 FF A8 */ bne lbl_801CA910 lbl_801CA96C: /* 801CA96C 001C65CC 80 E1 00 10 */ lwz r7, 0x10(r1) /* 801CA970 001C65D0 2C 07 01 FD */ cmpwi r7, 0x1fd /* 801CA974 001C65D4 40 81 00 30 */ ble lbl_801CA9A4 /* 801CA978 001C65D8 38 00 00 FF */ li r0, 0xff /* 801CA97C 001C65DC 80 A1 00 08 */ lwz r5, 8(r1) /* 801CA980 001C65E0 98 01 00 0D */ stb r0, 0xd(r1) /* 801CA984 001C65E4 38 7F 00 01 */ addi r3, r31, 1 /* 801CA988 001C65E8 80 01 00 14 */ lwz r0, 0x14(r1) /* 801CA98C 001C65EC 80 81 00 0C */ lwz r4, 0xc(r1) /* 801CA990 001C65F0 90 BE 00 00 */ stw r5, 0(r30) /* 801CA994 001C65F4 90 9E 00 04 */ stw r4, 4(r30) /* 801CA998 001C65F8 90 FE 00 08 */ stw r7, 8(r30) /* 801CA99C 001C65FC 90 1E 00 0C */ stw r0, 0xc(r30) /* 801CA9A0 001C6600 48 00 04 00 */ b lbl_801CADA0 lbl_801CA9A4: /* 801CA9A4 001C6604 2C 06 00 2E */ cmpwi r6, 0x2e /* 801CA9A8 001C6608 40 82 00 B8 */ bne lbl_801CAA60 /* 801CA9AC 001C660C 8C DF 00 01 */ lbzu r6, 1(r31) /* 801CA9B0 001C6610 38 00 00 01 */ li r0, 1 /* 801CA9B4 001C6614 98 01 00 0A */ stb r0, 0xa(r1) /* 801CA9B8 001C6618 7C C6 07 74 */ extsb r6, r6 /* 801CA9BC 001C661C 2C 06 00 2A */ cmpwi r6, 0x2a /* 801CA9C0 001C6620 40 82 00 34 */ bne lbl_801CA9F4 /* 801CA9C4 001C6624 7F A3 EB 78 */ mr r3, r29 /* 801CA9C8 001C6628 38 80 00 01 */ li r4, 1 /* 801CA9CC 001C662C 4B FF C1 B5 */ bl __va_arg /* 801CA9D0 001C6630 80 03 00 00 */ lwz r0, 0(r3) /* 801CA9D4 001C6634 2C 00 00 00 */ cmpwi r0, 0 /* 801CA9D8 001C6638 90 01 00 14 */ stw r0, 0x14(r1) /* 801CA9DC 001C663C 40 80 00 0C */ bge lbl_801CA9E8 /* 801CA9E0 001C6640 38 00 00 00 */ li r0, 0 /* 801CA9E4 001C6644 98 01 00 0A */ stb r0, 0xa(r1) lbl_801CA9E8: /* 801CA9E8 001C6648 8C DF 00 01 */ lbzu r6, 1(r31) /* 801CA9EC 001C664C 7C C6 07 74 */ extsb r6, r6 /* 801CA9F0 001C6650 48 00 00 70 */ b lbl_801CAA60 lbl_801CA9F4: /* 801CA9F4 001C6654 3C 60 80 42 */ lis r3, lbl_80422D48@ha /* 801CA9F8 001C6658 38 63 2D 48 */ addi r3, r3, lbl_80422D48@l /* 801CA9FC 001C665C 80 83 00 38 */ lwz r4, 0x38(r3) /* 801CAA00 001C6660 48 00 00 20 */ b lbl_801CAA20 lbl_801CAA04: /* 801CAA04 001C6664 80 01 00 14 */ lwz r0, 0x14(r1) /* 801CAA08 001C6668 1C 00 00 0A */ mulli r0, r0, 0xa /* 801CAA0C 001C666C 7C 66 02 14 */ add r3, r6, r0 /* 801CAA10 001C6670 8C DF 00 01 */ lbzu r6, 1(r31) /* 801CAA14 001C6674 38 03 FF D0 */ addi r0, r3, -48 /* 801CAA18 001C6678 90 01 00 14 */ stw r0, 0x14(r1) /* 801CAA1C 001C667C 7C C6 07 74 */ extsb r6, r6 lbl_801CAA20: /* 801CAA20 001C6680 2C 06 00 00 */ cmpwi r6, 0 /* 801CAA24 001C6684 38 00 00 00 */ li r0, 0 /* 801CAA28 001C6688 41 80 00 0C */ blt lbl_801CAA34 /* 801CAA2C 001C668C 2C 06 01 00 */ cmpwi r6, 0x100 /* 801CAA30 001C6690 41 80 00 08 */ blt lbl_801CAA38 lbl_801CAA34: /* 801CAA34 001C6694 38 00 00 01 */ li r0, 1 lbl_801CAA38: /* 801CAA38 001C6698 2C 00 00 00 */ cmpwi r0, 0 /* 801CAA3C 001C669C 41 82 00 0C */ beq lbl_801CAA48 /* 801CAA40 001C66A0 38 00 00 00 */ li r0, 0 /* 801CAA44 001C66A4 48 00 00 14 */ b lbl_801CAA58 lbl_801CAA48: /* 801CAA48 001C66A8 80 64 00 08 */ lwz r3, 8(r4) /* 801CAA4C 001C66AC 54 C0 08 3C */ slwi r0, r6, 1 /* 801CAA50 001C66B0 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CAA54 001C66B4 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c lbl_801CAA58: /* 801CAA58 001C66B8 2C 00 00 00 */ cmpwi r0, 0 /* 801CAA5C 001C66BC 40 82 FF A8 */ bne lbl_801CAA04 lbl_801CAA60: /* 801CAA60 001C66C0 2C 06 00 6B */ cmpwi r6, 0x6b /* 801CAA64 001C66C4 38 80 00 01 */ li r4, 1 /* 801CAA68 001C66C8 41 82 00 D8 */ beq lbl_801CAB40 /* 801CAA6C 001C66CC 40 80 00 28 */ bge lbl_801CAA94 /* 801CAA70 001C66D0 2C 06 00 68 */ cmpwi r6, 0x68 /* 801CAA74 001C66D4 41 82 00 44 */ beq lbl_801CAAB8 /* 801CAA78 001C66D8 40 80 00 10 */ bge lbl_801CAA88 /* 801CAA7C 001C66DC 2C 06 00 4C */ cmpwi r6, 0x4c /* 801CAA80 001C66E0 41 82 00 90 */ beq lbl_801CAB10 /* 801CAA84 001C66E4 48 00 00 BC */ b lbl_801CAB40 lbl_801CAA88: /* 801CAA88 001C66E8 2C 06 00 6A */ cmpwi r6, 0x6a /* 801CAA8C 001C66EC 40 80 00 90 */ bge lbl_801CAB1C /* 801CAA90 001C66F0 48 00 00 B0 */ b lbl_801CAB40 lbl_801CAA94: /* 801CAA94 001C66F4 2C 06 00 74 */ cmpwi r6, 0x74 /* 801CAA98 001C66F8 41 82 00 90 */ beq lbl_801CAB28 /* 801CAA9C 001C66FC 40 80 00 10 */ bge lbl_801CAAAC /* 801CAAA0 001C6700 2C 06 00 6D */ cmpwi r6, 0x6d /* 801CAAA4 001C6704 40 80 00 9C */ bge lbl_801CAB40 /* 801CAAA8 001C6708 48 00 00 3C */ b lbl_801CAAE4 lbl_801CAAAC: /* 801CAAAC 001C670C 2C 06 00 7A */ cmpwi r6, 0x7a /* 801CAAB0 001C6710 41 82 00 84 */ beq lbl_801CAB34 /* 801CAAB4 001C6714 48 00 00 8C */ b lbl_801CAB40 lbl_801CAAB8: /* 801CAAB8 001C6718 88 1F 00 01 */ lbz r0, 1(r31) /* 801CAABC 001C671C 38 60 00 02 */ li r3, 2 /* 801CAAC0 001C6720 98 61 00 0C */ stb r3, 0xc(r1) /* 801CAAC4 001C6724 7C 03 07 74 */ extsb r3, r0 /* 801CAAC8 001C6728 2C 03 00 68 */ cmpwi r3, 0x68 /* 801CAACC 001C672C 40 82 00 78 */ bne lbl_801CAB44 /* 801CAAD0 001C6730 38 00 00 01 */ li r0, 1 /* 801CAAD4 001C6734 7C 66 1B 78 */ mr r6, r3 /* 801CAAD8 001C6738 98 01 00 0C */ stb r0, 0xc(r1) /* 801CAADC 001C673C 3B FF 00 01 */ addi r31, r31, 1 /* 801CAAE0 001C6740 48 00 00 64 */ b lbl_801CAB44 lbl_801CAAE4: /* 801CAAE4 001C6744 88 1F 00 01 */ lbz r0, 1(r31) /* 801CAAE8 001C6748 38 60 00 03 */ li r3, 3 /* 801CAAEC 001C674C 98 61 00 0C */ stb r3, 0xc(r1) /* 801CAAF0 001C6750 7C 03 07 74 */ extsb r3, r0 /* 801CAAF4 001C6754 2C 03 00 6C */ cmpwi r3, 0x6c /* 801CAAF8 001C6758 40 82 00 4C */ bne lbl_801CAB44 /* 801CAAFC 001C675C 38 00 00 04 */ li r0, 4 /* 801CAB00 001C6760 7C 66 1B 78 */ mr r6, r3 /* 801CAB04 001C6764 98 01 00 0C */ stb r0, 0xc(r1) /* 801CAB08 001C6768 3B FF 00 01 */ addi r31, r31, 1 /* 801CAB0C 001C676C 48 00 00 38 */ b lbl_801CAB44 lbl_801CAB10: /* 801CAB10 001C6770 38 00 00 09 */ li r0, 9 /* 801CAB14 001C6774 98 01 00 0C */ stb r0, 0xc(r1) /* 801CAB18 001C6778 48 00 00 2C */ b lbl_801CAB44 lbl_801CAB1C: /* 801CAB1C 001C677C 38 00 00 06 */ li r0, 6 /* 801CAB20 001C6780 98 01 00 0C */ stb r0, 0xc(r1) /* 801CAB24 001C6784 48 00 00 20 */ b lbl_801CAB44 lbl_801CAB28: /* 801CAB28 001C6788 38 00 00 08 */ li r0, 8 /* 801CAB2C 001C678C 98 01 00 0C */ stb r0, 0xc(r1) /* 801CAB30 001C6790 48 00 00 14 */ b lbl_801CAB44 lbl_801CAB34: /* 801CAB34 001C6794 38 00 00 07 */ li r0, 7 /* 801CAB38 001C6798 98 01 00 0C */ stb r0, 0xc(r1) /* 801CAB3C 001C679C 48 00 00 08 */ b lbl_801CAB44 lbl_801CAB40: /* 801CAB40 001C67A0 38 80 00 00 */ li r4, 0 lbl_801CAB44: /* 801CAB44 001C67A4 2C 04 00 00 */ cmpwi r4, 0 /* 801CAB48 001C67A8 41 82 00 0C */ beq lbl_801CAB54 /* 801CAB4C 001C67AC 8C DF 00 01 */ lbzu r6, 1(r31) /* 801CAB50 001C67B0 7C C6 07 74 */ extsb r6, r6 lbl_801CAB54: /* 801CAB54 001C67B4 38 06 FF BF */ addi r0, r6, -65 /* 801CAB58 001C67B8 98 C1 00 0D */ stb r6, 0xd(r1) /* 801CAB5C 001C67BC 28 00 00 37 */ cmplwi r0, 0x37 /* 801CAB60 001C67C0 41 81 02 14 */ bgt lbl_801CAD74 /* 801CAB64 001C67C4 3C 60 80 42 */ lis r3, lbl_80422D90@ha /* 801CAB68 001C67C8 54 00 10 3A */ slwi r0, r0, 2 /* 801CAB6C 001C67CC 38 63 2D 90 */ addi r3, r3, lbl_80422D90@l /* 801CAB70 001C67D0 7C 63 00 2E */ lwzx r3, r3, r0 /* 801CAB74 001C67D4 7C 69 03 A6 */ mtctr r3 /* 801CAB78 001C67D8 4E 80 04 20 */ bctr /* 801CAB7C 001C67DC 88 01 00 0C */ lbz r0, 0xc(r1) /* 801CAB80 001C67E0 28 00 00 09 */ cmplwi r0, 9 /* 801CAB84 001C67E4 40 82 00 10 */ bne lbl_801CAB94 /* 801CAB88 001C67E8 38 00 00 FF */ li r0, 0xff /* 801CAB8C 001C67EC 98 01 00 0D */ stb r0, 0xd(r1) /* 801CAB90 001C67F0 48 00 01 EC */ b lbl_801CAD7C lbl_801CAB94: /* 801CAB94 001C67F4 88 01 00 0A */ lbz r0, 0xa(r1) /* 801CAB98 001C67F8 2C 00 00 00 */ cmpwi r0, 0 /* 801CAB9C 001C67FC 40 82 00 10 */ bne lbl_801CABAC /* 801CABA0 001C6800 38 00 00 01 */ li r0, 1 /* 801CABA4 001C6804 90 01 00 14 */ stw r0, 0x14(r1) /* 801CABA8 001C6808 48 00 01 D4 */ b lbl_801CAD7C lbl_801CABAC: /* 801CABAC 001C680C 88 01 00 08 */ lbz r0, 8(r1) /* 801CABB0 001C6810 28 00 00 02 */ cmplwi r0, 2 /* 801CABB4 001C6814 40 82 01 C8 */ bne lbl_801CAD7C /* 801CABB8 001C6818 38 00 00 01 */ li r0, 1 /* 801CABBC 001C681C 98 01 00 08 */ stb r0, 8(r1) /* 801CABC0 001C6820 48 00 01 BC */ b lbl_801CAD7C /* 801CABC4 001C6824 88 01 00 0C */ lbz r0, 0xc(r1) /* 801CABC8 001C6828 28 00 00 02 */ cmplwi r0, 2 /* 801CABCC 001C682C 41 82 00 24 */ beq lbl_801CABF0 /* 801CABD0 001C6830 28 00 00 06 */ cmplwi r0, 6 /* 801CABD4 001C6834 41 82 00 1C */ beq lbl_801CABF0 /* 801CABD8 001C6838 28 00 00 07 */ cmplwi r0, 7 /* 801CABDC 001C683C 41 82 00 14 */ beq lbl_801CABF0 /* 801CABE0 001C6840 28 00 00 08 */ cmplwi r0, 8 /* 801CABE4 001C6844 41 82 00 0C */ beq lbl_801CABF0 /* 801CABE8 001C6848 28 00 00 04 */ cmplwi r0, 4 /* 801CABEC 001C684C 40 82 00 10 */ bne lbl_801CABFC lbl_801CABF0: /* 801CABF0 001C6850 38 00 00 FF */ li r0, 0xff /* 801CABF4 001C6854 98 01 00 0D */ stb r0, 0xd(r1) /* 801CABF8 001C6858 48 00 01 84 */ b lbl_801CAD7C lbl_801CABFC: /* 801CABFC 001C685C 88 01 00 0A */ lbz r0, 0xa(r1) /* 801CAC00 001C6860 2C 00 00 00 */ cmpwi r0, 0 /* 801CAC04 001C6864 40 82 01 78 */ bne lbl_801CAD7C /* 801CAC08 001C6868 38 00 00 06 */ li r0, 6 /* 801CAC0C 001C686C 90 01 00 14 */ stw r0, 0x14(r1) /* 801CAC10 001C6870 48 00 01 6C */ b lbl_801CAD7C /* 801CAC14 001C6874 88 01 00 0A */ lbz r0, 0xa(r1) /* 801CAC18 001C6878 2C 00 00 00 */ cmpwi r0, 0 /* 801CAC1C 001C687C 40 82 00 0C */ bne lbl_801CAC28 /* 801CAC20 001C6880 38 00 00 0D */ li r0, 0xd /* 801CAC24 001C6884 90 01 00 14 */ stw r0, 0x14(r1) lbl_801CAC28: /* 801CAC28 001C6888 88 01 00 0C */ lbz r0, 0xc(r1) /* 801CAC2C 001C688C 28 00 00 02 */ cmplwi r0, 2 /* 801CAC30 001C6890 41 82 00 2C */ beq lbl_801CAC5C /* 801CAC34 001C6894 28 00 00 06 */ cmplwi r0, 6 /* 801CAC38 001C6898 41 82 00 24 */ beq lbl_801CAC5C /* 801CAC3C 001C689C 28 00 00 07 */ cmplwi r0, 7 /* 801CAC40 001C68A0 41 82 00 1C */ beq lbl_801CAC5C /* 801CAC44 001C68A4 28 00 00 08 */ cmplwi r0, 8 /* 801CAC48 001C68A8 41 82 00 14 */ beq lbl_801CAC5C /* 801CAC4C 001C68AC 28 00 00 04 */ cmplwi r0, 4 /* 801CAC50 001C68B0 41 82 00 0C */ beq lbl_801CAC5C /* 801CAC54 001C68B4 28 00 00 01 */ cmplwi r0, 1 /* 801CAC58 001C68B8 40 82 01 24 */ bne lbl_801CAD7C lbl_801CAC5C: /* 801CAC5C 001C68BC 38 00 00 FF */ li r0, 0xff /* 801CAC60 001C68C0 98 01 00 0D */ stb r0, 0xd(r1) /* 801CAC64 001C68C4 48 00 01 18 */ b lbl_801CAD7C /* 801CAC68 001C68C8 80 01 00 14 */ lwz r0, 0x14(r1) /* 801CAC6C 001C68CC 2C 00 00 00 */ cmpwi r0, 0 /* 801CAC70 001C68D0 40 82 00 0C */ bne lbl_801CAC7C /* 801CAC74 001C68D4 38 00 00 01 */ li r0, 1 /* 801CAC78 001C68D8 90 01 00 14 */ stw r0, 0x14(r1) lbl_801CAC7C: /* 801CAC7C 001C68DC 88 01 00 0C */ lbz r0, 0xc(r1) /* 801CAC80 001C68E0 28 00 00 02 */ cmplwi r0, 2 /* 801CAC84 001C68E4 41 82 00 2C */ beq lbl_801CACB0 /* 801CAC88 001C68E8 28 00 00 06 */ cmplwi r0, 6 /* 801CAC8C 001C68EC 41 82 00 24 */ beq lbl_801CACB0 /* 801CAC90 001C68F0 28 00 00 07 */ cmplwi r0, 7 /* 801CAC94 001C68F4 41 82 00 1C */ beq lbl_801CACB0 /* 801CAC98 001C68F8 28 00 00 08 */ cmplwi r0, 8 /* 801CAC9C 001C68FC 41 82 00 14 */ beq lbl_801CACB0 /* 801CACA0 001C6900 28 00 00 04 */ cmplwi r0, 4 /* 801CACA4 001C6904 41 82 00 0C */ beq lbl_801CACB0 /* 801CACA8 001C6908 28 00 00 01 */ cmplwi r0, 1 /* 801CACAC 001C690C 40 82 00 10 */ bne lbl_801CACBC lbl_801CACB0: /* 801CACB0 001C6910 38 00 00 FF */ li r0, 0xff /* 801CACB4 001C6914 98 01 00 0D */ stb r0, 0xd(r1) /* 801CACB8 001C6918 48 00 00 C4 */ b lbl_801CAD7C lbl_801CACBC: /* 801CACBC 001C691C 88 01 00 0A */ lbz r0, 0xa(r1) /* 801CACC0 001C6920 2C 00 00 00 */ cmpwi r0, 0 /* 801CACC4 001C6924 40 82 00 B8 */ bne lbl_801CAD7C /* 801CACC8 001C6928 38 00 00 06 */ li r0, 6 /* 801CACCC 001C692C 90 01 00 14 */ stw r0, 0x14(r1) /* 801CACD0 001C6930 48 00 00 AC */ b lbl_801CAD7C /* 801CACD4 001C6934 38 A0 00 78 */ li r5, 0x78 /* 801CACD8 001C6938 38 80 00 01 */ li r4, 1 /* 801CACDC 001C693C 38 60 00 03 */ li r3, 3 /* 801CACE0 001C6940 38 00 00 08 */ li r0, 8 /* 801CACE4 001C6944 98 A1 00 0D */ stb r5, 0xd(r1) /* 801CACE8 001C6948 98 81 00 0B */ stb r4, 0xb(r1) /* 801CACEC 001C694C 98 61 00 0C */ stb r3, 0xc(r1) /* 801CACF0 001C6950 90 01 00 14 */ stw r0, 0x14(r1) /* 801CACF4 001C6954 48 00 00 88 */ b lbl_801CAD7C /* 801CACF8 001C6958 88 61 00 0C */ lbz r3, 0xc(r1) /* 801CACFC 001C695C 28 03 00 03 */ cmplwi r3, 3 /* 801CAD00 001C6960 40 82 00 10 */ bne lbl_801CAD10 /* 801CAD04 001C6964 38 00 00 05 */ li r0, 5 /* 801CAD08 001C6968 98 01 00 0C */ stb r0, 0xc(r1) /* 801CAD0C 001C696C 48 00 00 70 */ b lbl_801CAD7C lbl_801CAD10: /* 801CAD10 001C6970 88 01 00 0A */ lbz r0, 0xa(r1) /* 801CAD14 001C6974 2C 00 00 00 */ cmpwi r0, 0 /* 801CAD18 001C6978 40 82 00 0C */ bne lbl_801CAD24 /* 801CAD1C 001C697C 2C 03 00 00 */ cmpwi r3, 0 /* 801CAD20 001C6980 41 82 00 5C */ beq lbl_801CAD7C lbl_801CAD24: /* 801CAD24 001C6984 38 00 00 FF */ li r0, 0xff /* 801CAD28 001C6988 98 01 00 0D */ stb r0, 0xd(r1) /* 801CAD2C 001C698C 48 00 00 50 */ b lbl_801CAD7C /* 801CAD30 001C6990 88 01 00 0C */ lbz r0, 0xc(r1) /* 801CAD34 001C6994 28 00 00 03 */ cmplwi r0, 3 /* 801CAD38 001C6998 40 82 00 10 */ bne lbl_801CAD48 /* 801CAD3C 001C699C 38 00 00 05 */ li r0, 5 /* 801CAD40 001C69A0 98 01 00 0C */ stb r0, 0xc(r1) /* 801CAD44 001C69A4 48 00 00 38 */ b lbl_801CAD7C lbl_801CAD48: /* 801CAD48 001C69A8 2C 00 00 00 */ cmpwi r0, 0 /* 801CAD4C 001C69AC 41 82 00 30 */ beq lbl_801CAD7C /* 801CAD50 001C69B0 38 00 00 FF */ li r0, 0xff /* 801CAD54 001C69B4 98 01 00 0D */ stb r0, 0xd(r1) /* 801CAD58 001C69B8 48 00 00 24 */ b lbl_801CAD7C /* 801CAD5C 001C69BC 88 01 00 0C */ lbz r0, 0xc(r1) /* 801CAD60 001C69C0 28 00 00 09 */ cmplwi r0, 9 /* 801CAD64 001C69C4 40 82 00 18 */ bne lbl_801CAD7C /* 801CAD68 001C69C8 38 00 00 FF */ li r0, 0xff /* 801CAD6C 001C69CC 98 01 00 0D */ stb r0, 0xd(r1) /* 801CAD70 001C69D0 48 00 00 0C */ b lbl_801CAD7C lbl_801CAD74: /* 801CAD74 001C69D4 38 00 00 FF */ li r0, 0xff /* 801CAD78 001C69D8 98 01 00 0D */ stb r0, 0xd(r1) lbl_801CAD7C: /* 801CAD7C 001C69DC 80 C1 00 08 */ lwz r6, 8(r1) /* 801CAD80 001C69E0 38 7F 00 01 */ addi r3, r31, 1 /* 801CAD84 001C69E4 80 A1 00 0C */ lwz r5, 0xc(r1) /* 801CAD88 001C69E8 80 81 00 10 */ lwz r4, 0x10(r1) /* 801CAD8C 001C69EC 80 01 00 14 */ lwz r0, 0x14(r1) /* 801CAD90 001C69F0 90 DE 00 00 */ stw r6, 0(r30) /* 801CAD94 001C69F4 90 BE 00 04 */ stw r5, 4(r30) /* 801CAD98 001C69F8 90 9E 00 08 */ stw r4, 8(r30) /* 801CAD9C 001C69FC 90 1E 00 0C */ stw r0, 0xc(r30) lbl_801CADA0: /* 801CADA0 001C6A00 80 01 00 34 */ lwz r0, 0x34(r1) /* 801CADA4 001C6A04 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801CADA8 001C6A08 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801CADAC 001C6A0C 83 A1 00 24 */ lwz r29, 0x24(r1) /* 801CADB0 001C6A10 7C 08 03 A6 */ mtlr r0 /* 801CADB4 001C6A14 38 21 00 30 */ addi r1, r1, 0x30 /* 801CADB8 001C6A18 4E 80 00 20 */ blr .global func_801CADBC func_801CADBC: /* 801CADBC 001C6A1C 39 00 00 00 */ li r8, 0 /* 801CADC0 001C6A20 2C 03 00 00 */ cmpwi r3, 0 /* 801CADC4 001C6A24 99 04 FF FF */ stb r8, -1(r4) /* 801CADC8 001C6A28 38 C4 FF FF */ addi r6, r4, -1 /* 801CADCC 001C6A2C 38 E0 00 00 */ li r7, 0 /* 801CADD0 001C6A30 40 82 00 30 */ bne lbl_801CAE00 /* 801CADD4 001C6A34 80 05 00 0C */ lwz r0, 0xc(r5) /* 801CADD8 001C6A38 2C 00 00 00 */ cmpwi r0, 0 /* 801CADDC 001C6A3C 40 82 00 24 */ bne lbl_801CAE00 /* 801CADE0 001C6A40 88 05 00 03 */ lbz r0, 3(r5) /* 801CADE4 001C6A44 2C 00 00 00 */ cmpwi r0, 0 /* 801CADE8 001C6A48 41 82 00 10 */ beq lbl_801CADF8 /* 801CADEC 001C6A4C 88 05 00 05 */ lbz r0, 5(r5) /* 801CADF0 001C6A50 28 00 00 6F */ cmplwi r0, 0x6f /* 801CADF4 001C6A54 41 82 00 0C */ beq lbl_801CAE00 lbl_801CADF8: /* 801CADF8 001C6A58 7C C3 33 78 */ mr r3, r6 /* 801CADFC 001C6A5C 4E 80 00 20 */ blr lbl_801CAE00: /* 801CAE00 001C6A60 89 25 00 05 */ lbz r9, 5(r5) /* 801CAE04 001C6A64 39 49 FF A8 */ addi r10, r9, -88 /* 801CAE08 001C6A68 28 0A 00 20 */ cmplwi r10, 0x20 /* 801CAE0C 001C6A6C 41 81 00 6C */ bgt lbl_801CAE78 /* 801CAE10 001C6A70 3D 20 80 42 */ lis r9, lbl_80422EB4@ha /* 801CAE14 001C6A74 55 4A 10 3A */ slwi r10, r10, 2 /* 801CAE18 001C6A78 39 29 2E B4 */ addi r9, r9, lbl_80422EB4@l /* 801CAE1C 001C6A7C 7D 29 50 2E */ lwzx r9, r9, r10 /* 801CAE20 001C6A80 7D 29 03 A6 */ mtctr r9 /* 801CAE24 001C6A84 4E 80 04 20 */ bctr /* 801CAE28 001C6A88 2C 03 00 00 */ cmpwi r3, 0 /* 801CAE2C 001C6A8C 38 00 00 0A */ li r0, 0xa /* 801CAE30 001C6A90 40 80 00 48 */ bge lbl_801CAE78 /* 801CAE34 001C6A94 3D 03 80 00 */ addis r8, r3, 0x8000 /* 801CAE38 001C6A98 28 08 00 00 */ cmplwi r8, 0 /* 801CAE3C 001C6A9C 41 82 00 08 */ beq lbl_801CAE44 /* 801CAE40 001C6AA0 7C 63 00 D0 */ neg r3, r3 lbl_801CAE44: /* 801CAE44 001C6AA4 39 00 00 01 */ li r8, 1 /* 801CAE48 001C6AA8 48 00 00 30 */ b lbl_801CAE78 /* 801CAE4C 001C6AAC 39 20 00 00 */ li r9, 0 /* 801CAE50 001C6AB0 38 00 00 08 */ li r0, 8 /* 801CAE54 001C6AB4 99 25 00 01 */ stb r9, 1(r5) /* 801CAE58 001C6AB8 48 00 00 20 */ b lbl_801CAE78 /* 801CAE5C 001C6ABC 39 20 00 00 */ li r9, 0 /* 801CAE60 001C6AC0 38 00 00 0A */ li r0, 0xa /* 801CAE64 001C6AC4 99 25 00 01 */ stb r9, 1(r5) /* 801CAE68 001C6AC8 48 00 00 10 */ b lbl_801CAE78 /* 801CAE6C 001C6ACC 39 20 00 00 */ li r9, 0 /* 801CAE70 001C6AD0 38 00 00 10 */ li r0, 0x10 /* 801CAE74 001C6AD4 99 25 00 01 */ stb r9, 1(r5) lbl_801CAE78: /* 801CAE78 001C6AD8 7D 23 03 96 */ divwu r9, r3, r0 /* 801CAE7C 001C6ADC 7D 29 01 D6 */ mullw r9, r9, r0 /* 801CAE80 001C6AE0 7D 69 18 50 */ subf r11, r9, r3 /* 801CAE84 001C6AE4 7C 63 03 96 */ divwu r3, r3, r0 /* 801CAE88 001C6AE8 2C 0B 00 0A */ cmpwi r11, 0xa /* 801CAE8C 001C6AEC 40 80 00 0C */ bge lbl_801CAE98 /* 801CAE90 001C6AF0 39 6B 00 30 */ addi r11, r11, 0x30 /* 801CAE94 001C6AF4 48 00 00 1C */ b lbl_801CAEB0 lbl_801CAE98: /* 801CAE98 001C6AF8 89 25 00 05 */ lbz r9, 5(r5) /* 801CAE9C 001C6AFC 39 4B 00 37 */ addi r10, r11, 0x37 /* 801CAEA0 001C6B00 28 09 00 78 */ cmplwi r9, 0x78 /* 801CAEA4 001C6B04 40 82 00 08 */ bne lbl_801CAEAC /* 801CAEA8 001C6B08 39 4B 00 57 */ addi r10, r11, 0x57 lbl_801CAEAC: /* 801CAEAC 001C6B0C 7D 4B 53 78 */ mr r11, r10 lbl_801CAEB0: /* 801CAEB0 001C6B10 2C 03 00 00 */ cmpwi r3, 0 /* 801CAEB4 001C6B14 99 66 FF FF */ stb r11, -1(r6) /* 801CAEB8 001C6B18 38 C6 FF FF */ addi r6, r6, -1 /* 801CAEBC 001C6B1C 38 E7 00 01 */ addi r7, r7, 1 /* 801CAEC0 001C6B20 40 82 FF B8 */ bne lbl_801CAE78 /* 801CAEC4 001C6B24 28 00 00 08 */ cmplwi r0, 8 /* 801CAEC8 001C6B28 40 82 00 28 */ bne lbl_801CAEF0 /* 801CAECC 001C6B2C 88 65 00 03 */ lbz r3, 3(r5) /* 801CAED0 001C6B30 2C 03 00 00 */ cmpwi r3, 0 /* 801CAED4 001C6B34 41 82 00 1C */ beq lbl_801CAEF0 /* 801CAED8 001C6B38 88 66 00 00 */ lbz r3, 0(r6) /* 801CAEDC 001C6B3C 2C 03 00 30 */ cmpwi r3, 0x30 /* 801CAEE0 001C6B40 41 82 00 10 */ beq lbl_801CAEF0 /* 801CAEE4 001C6B44 38 60 00 30 */ li r3, 0x30 /* 801CAEE8 001C6B48 38 E7 00 01 */ addi r7, r7, 1 /* 801CAEEC 001C6B4C 9C 66 FF FF */ stbu r3, -1(r6) lbl_801CAEF0: /* 801CAEF0 001C6B50 88 65 00 00 */ lbz r3, 0(r5) /* 801CAEF4 001C6B54 28 03 00 02 */ cmplwi r3, 2 /* 801CAEF8 001C6B58 40 82 00 4C */ bne lbl_801CAF44 /* 801CAEFC 001C6B5C 80 65 00 08 */ lwz r3, 8(r5) /* 801CAF00 001C6B60 2C 08 00 00 */ cmpwi r8, 0 /* 801CAF04 001C6B64 90 65 00 0C */ stw r3, 0xc(r5) /* 801CAF08 001C6B68 40 82 00 10 */ bne lbl_801CAF18 /* 801CAF0C 001C6B6C 88 65 00 01 */ lbz r3, 1(r5) /* 801CAF10 001C6B70 2C 03 00 00 */ cmpwi r3, 0 /* 801CAF14 001C6B74 41 82 00 10 */ beq lbl_801CAF24 lbl_801CAF18: /* 801CAF18 001C6B78 80 65 00 0C */ lwz r3, 0xc(r5) /* 801CAF1C 001C6B7C 38 63 FF FF */ addi r3, r3, -1 /* 801CAF20 001C6B80 90 65 00 0C */ stw r3, 0xc(r5) lbl_801CAF24: /* 801CAF24 001C6B84 28 00 00 10 */ cmplwi r0, 0x10 /* 801CAF28 001C6B88 40 82 00 1C */ bne lbl_801CAF44 /* 801CAF2C 001C6B8C 88 65 00 03 */ lbz r3, 3(r5) /* 801CAF30 001C6B90 2C 03 00 00 */ cmpwi r3, 0 /* 801CAF34 001C6B94 41 82 00 10 */ beq lbl_801CAF44 /* 801CAF38 001C6B98 80 65 00 0C */ lwz r3, 0xc(r5) /* 801CAF3C 001C6B9C 38 63 FF FE */ addi r3, r3, -2 /* 801CAF40 001C6BA0 90 65 00 0C */ stw r3, 0xc(r5) lbl_801CAF44: /* 801CAF44 001C6BA4 81 25 00 0C */ lwz r9, 0xc(r5) /* 801CAF48 001C6BA8 7C 66 20 50 */ subf r3, r6, r4 /* 801CAF4C 001C6BAC 7C 69 1A 14 */ add r3, r9, r3 /* 801CAF50 001C6BB0 2C 03 01 FD */ cmpwi r3, 0x1fd /* 801CAF54 001C6BB4 40 81 00 0C */ ble lbl_801CAF60 /* 801CAF58 001C6BB8 38 60 00 00 */ li r3, 0 /* 801CAF5C 001C6BBC 4E 80 00 20 */ blr lbl_801CAF60: /* 801CAF60 001C6BC0 38 80 00 30 */ li r4, 0x30 /* 801CAF64 001C6BC4 48 00 00 0C */ b lbl_801CAF70 lbl_801CAF68: /* 801CAF68 001C6BC8 9C 86 FF FF */ stbu r4, -1(r6) /* 801CAF6C 001C6BCC 38 E7 00 01 */ addi r7, r7, 1 lbl_801CAF70: /* 801CAF70 001C6BD0 80 65 00 0C */ lwz r3, 0xc(r5) /* 801CAF74 001C6BD4 7C 07 18 00 */ cmpw r7, r3 /* 801CAF78 001C6BD8 41 80 FF F0 */ blt lbl_801CAF68 /* 801CAF7C 001C6BDC 28 00 00 10 */ cmplwi r0, 0x10 /* 801CAF80 001C6BE0 40 82 00 20 */ bne lbl_801CAFA0 /* 801CAF84 001C6BE4 88 05 00 03 */ lbz r0, 3(r5) /* 801CAF88 001C6BE8 2C 00 00 00 */ cmpwi r0, 0 /* 801CAF8C 001C6BEC 41 82 00 14 */ beq lbl_801CAFA0 /* 801CAF90 001C6BF0 88 65 00 05 */ lbz r3, 5(r5) /* 801CAF94 001C6BF4 38 00 00 30 */ li r0, 0x30 /* 801CAF98 001C6BF8 98 66 FF FF */ stb r3, -1(r6) /* 801CAF9C 001C6BFC 9C 06 FF FE */ stbu r0, -2(r6) lbl_801CAFA0: /* 801CAFA0 001C6C00 2C 08 00 00 */ cmpwi r8, 0 /* 801CAFA4 001C6C04 41 82 00 10 */ beq lbl_801CAFB4 /* 801CAFA8 001C6C08 38 00 00 2D */ li r0, 0x2d /* 801CAFAC 001C6C0C 9C 06 FF FF */ stbu r0, -1(r6) /* 801CAFB0 001C6C10 48 00 00 2C */ b lbl_801CAFDC lbl_801CAFB4: /* 801CAFB4 001C6C14 88 05 00 01 */ lbz r0, 1(r5) /* 801CAFB8 001C6C18 28 00 00 01 */ cmplwi r0, 1 /* 801CAFBC 001C6C1C 40 82 00 10 */ bne lbl_801CAFCC /* 801CAFC0 001C6C20 38 00 00 2B */ li r0, 0x2b /* 801CAFC4 001C6C24 9C 06 FF FF */ stbu r0, -1(r6) /* 801CAFC8 001C6C28 48 00 00 14 */ b lbl_801CAFDC lbl_801CAFCC: /* 801CAFCC 001C6C2C 28 00 00 02 */ cmplwi r0, 2 /* 801CAFD0 001C6C30 40 82 00 0C */ bne lbl_801CAFDC /* 801CAFD4 001C6C34 38 00 00 20 */ li r0, 0x20 /* 801CAFD8 001C6C38 9C 06 FF FF */ stbu r0, -1(r6) lbl_801CAFDC: /* 801CAFDC 001C6C3C 7C C3 33 78 */ mr r3, r6 /* 801CAFE0 001C6C40 4E 80 00 20 */ blr .global func_801CAFE4 func_801CAFE4: /* 801CAFE4 001C6C44 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801CAFE8 001C6C48 7C 08 02 A6 */ mflr r0 /* 801CAFEC 001C6C4C 90 01 00 34 */ stw r0, 0x34(r1) /* 801CAFF0 001C6C50 7C 80 1B 79 */ or. r0, r4, r3 /* 801CAFF4 001C6C54 BE C1 00 08 */ stmw r22, 8(r1) /* 801CAFF8 001C6C58 3B 20 00 00 */ li r25, 0 /* 801CAFFC 001C6C5C 7C 7F 1B 78 */ mr r31, r3 /* 801CB000 001C6C60 7C 9E 23 78 */ mr r30, r4 /* 801CB004 001C6C64 7C B7 2B 78 */ mr r23, r5 /* 801CB008 001C6C68 7C D8 33 78 */ mr r24, r6 /* 801CB00C 001C6C6C 3B 65 FF FF */ addi r27, r5, -1 /* 801CB010 001C6C70 3B 40 00 00 */ li r26, 0 /* 801CB014 001C6C74 9B 25 FF FF */ stb r25, -1(r5) /* 801CB018 001C6C78 40 82 00 30 */ bne lbl_801CB048 /* 801CB01C 001C6C7C 80 06 00 0C */ lwz r0, 0xc(r6) /* 801CB020 001C6C80 2C 00 00 00 */ cmpwi r0, 0 /* 801CB024 001C6C84 40 82 00 24 */ bne lbl_801CB048 /* 801CB028 001C6C88 88 06 00 03 */ lbz r0, 3(r6) /* 801CB02C 001C6C8C 2C 00 00 00 */ cmpwi r0, 0 /* 801CB030 001C6C90 41 82 00 10 */ beq lbl_801CB040 /* 801CB034 001C6C94 88 06 00 05 */ lbz r0, 5(r6) /* 801CB038 001C6C98 28 00 00 6F */ cmplwi r0, 0x6f /* 801CB03C 001C6C9C 41 82 00 0C */ beq lbl_801CB048 lbl_801CB040: /* 801CB040 001C6CA0 7F 63 DB 78 */ mr r3, r27 /* 801CB044 001C6CA4 48 00 02 2C */ b lbl_801CB270 lbl_801CB048: /* 801CB048 001C6CA8 88 A6 00 05 */ lbz r5, 5(r6) /* 801CB04C 001C6CAC 38 05 FF A8 */ addi r0, r5, -88 /* 801CB050 001C6CB0 28 00 00 20 */ cmplwi r0, 0x20 /* 801CB054 001C6CB4 41 81 00 8C */ bgt lbl_801CB0E0 /* 801CB058 001C6CB8 3C A0 80 42 */ lis r5, lbl_80422F38@ha /* 801CB05C 001C6CBC 54 00 10 3A */ slwi r0, r0, 2 /* 801CB060 001C6CC0 38 A5 2F 38 */ addi r5, r5, lbl_80422F38@l /* 801CB064 001C6CC4 7C A5 00 2E */ lwzx r5, r5, r0 /* 801CB068 001C6CC8 7C A9 03 A6 */ mtctr r5 /* 801CB06C 001C6CCC 4E 80 04 20 */ bctr /* 801CB070 001C6CD0 3B A0 00 00 */ li r29, 0 /* 801CB074 001C6CD4 6C 60 80 00 */ xoris r0, r3, 0x8000 /* 801CB078 001C6CD8 6F A6 80 00 */ xoris r6, r29, 0x8000 /* 801CB07C 001C6CDC 3B 80 00 0A */ li r28, 0xa /* 801CB080 001C6CE0 7C BD 20 10 */ subfc r5, r29, r4 /* 801CB084 001C6CE4 7C C6 01 10 */ subfe r6, r6, r0 /* 801CB088 001C6CE8 7C C0 01 10 */ subfe r6, r0, r0 /* 801CB08C 001C6CEC 7C C6 00 D1 */ neg. r6, r6 /* 801CB090 001C6CF0 41 82 00 50 */ beq lbl_801CB0E0 /* 801CB094 001C6CF4 3C 00 80 00 */ lis r0, 0x8000 /* 801CB098 001C6CF8 7C 60 02 78 */ xor r0, r3, r0 /* 801CB09C 001C6CFC 7C 80 03 79 */ or. r0, r4, r0 /* 801CB0A0 001C6D00 41 82 00 0C */ beq lbl_801CB0AC /* 801CB0A4 001C6D04 23 C4 00 00 */ subfic r30, r4, 0 /* 801CB0A8 001C6D08 7F E3 01 90 */ subfze r31, r3 lbl_801CB0AC: /* 801CB0AC 001C6D0C 3B 20 00 01 */ li r25, 1 /* 801CB0B0 001C6D10 48 00 00 30 */ b lbl_801CB0E0 /* 801CB0B4 001C6D14 3B A0 00 00 */ li r29, 0 /* 801CB0B8 001C6D18 3B 80 00 08 */ li r28, 8 /* 801CB0BC 001C6D1C 9B A6 00 01 */ stb r29, 1(r6) /* 801CB0C0 001C6D20 48 00 00 20 */ b lbl_801CB0E0 /* 801CB0C4 001C6D24 3B A0 00 00 */ li r29, 0 /* 801CB0C8 001C6D28 3B 80 00 0A */ li r28, 0xa /* 801CB0CC 001C6D2C 9B A6 00 01 */ stb r29, 1(r6) /* 801CB0D0 001C6D30 48 00 00 10 */ b lbl_801CB0E0 /* 801CB0D4 001C6D34 3B A0 00 00 */ li r29, 0 /* 801CB0D8 001C6D38 3B 80 00 10 */ li r28, 0x10 /* 801CB0DC 001C6D3C 9B A6 00 01 */ stb r29, 1(r6) lbl_801CB0E0: /* 801CB0E0 001C6D40 7F E3 FB 78 */ mr r3, r31 /* 801CB0E4 001C6D44 7F C4 F3 78 */ mr r4, r30 /* 801CB0E8 001C6D48 7F A5 EB 78 */ mr r5, r29 /* 801CB0EC 001C6D4C 7F 86 E3 78 */ mr r6, r28 /* 801CB0F0 001C6D50 4B FF C2 C1 */ bl __mod2u /* 801CB0F4 001C6D54 7C 96 23 78 */ mr r22, r4 /* 801CB0F8 001C6D58 7F E3 FB 78 */ mr r3, r31 /* 801CB0FC 001C6D5C 7F C4 F3 78 */ mr r4, r30 /* 801CB100 001C6D60 7F A5 EB 78 */ mr r5, r29 /* 801CB104 001C6D64 7F 86 E3 78 */ mr r6, r28 /* 801CB108 001C6D68 4B FF C0 85 */ bl __div2u /* 801CB10C 001C6D6C 2C 16 00 0A */ cmpwi r22, 0xa /* 801CB110 001C6D70 7C 9E 23 78 */ mr r30, r4 /* 801CB114 001C6D74 7C 7F 1B 78 */ mr r31, r3 /* 801CB118 001C6D78 40 80 00 0C */ bge lbl_801CB124 /* 801CB11C 001C6D7C 38 B6 00 30 */ addi r5, r22, 0x30 /* 801CB120 001C6D80 48 00 00 18 */ b lbl_801CB138 lbl_801CB124: /* 801CB124 001C6D84 88 18 00 05 */ lbz r0, 5(r24) /* 801CB128 001C6D88 38 B6 00 37 */ addi r5, r22, 0x37 /* 801CB12C 001C6D8C 28 00 00 78 */ cmplwi r0, 0x78 /* 801CB130 001C6D90 40 82 00 08 */ bne lbl_801CB138 /* 801CB134 001C6D94 38 B6 00 57 */ addi r5, r22, 0x57 lbl_801CB138: /* 801CB138 001C6D98 7C 80 1B 79 */ or. r0, r4, r3 /* 801CB13C 001C6D9C 9C BB FF FF */ stbu r5, -1(r27) /* 801CB140 001C6DA0 3B 5A 00 01 */ addi r26, r26, 1 /* 801CB144 001C6DA4 40 82 FF 9C */ bne lbl_801CB0E0 /* 801CB148 001C6DA8 6B 80 00 08 */ xori r0, r28, 8 /* 801CB14C 001C6DAC 7C 00 EB 79 */ or. r0, r0, r29 /* 801CB150 001C6DB0 40 82 00 28 */ bne lbl_801CB178 /* 801CB154 001C6DB4 88 18 00 03 */ lbz r0, 3(r24) /* 801CB158 001C6DB8 2C 00 00 00 */ cmpwi r0, 0 /* 801CB15C 001C6DBC 41 82 00 1C */ beq lbl_801CB178 /* 801CB160 001C6DC0 88 1B 00 00 */ lbz r0, 0(r27) /* 801CB164 001C6DC4 2C 00 00 30 */ cmpwi r0, 0x30 /* 801CB168 001C6DC8 41 82 00 10 */ beq lbl_801CB178 /* 801CB16C 001C6DCC 38 00 00 30 */ li r0, 0x30 /* 801CB170 001C6DD0 3B 5A 00 01 */ addi r26, r26, 1 /* 801CB174 001C6DD4 9C 1B FF FF */ stbu r0, -1(r27) lbl_801CB178: /* 801CB178 001C6DD8 88 18 00 00 */ lbz r0, 0(r24) /* 801CB17C 001C6DDC 28 00 00 02 */ cmplwi r0, 2 /* 801CB180 001C6DE0 40 82 00 50 */ bne lbl_801CB1D0 /* 801CB184 001C6DE4 80 18 00 08 */ lwz r0, 8(r24) /* 801CB188 001C6DE8 2C 19 00 00 */ cmpwi r25, 0 /* 801CB18C 001C6DEC 90 18 00 0C */ stw r0, 0xc(r24) /* 801CB190 001C6DF0 40 82 00 10 */ bne lbl_801CB1A0 /* 801CB194 001C6DF4 88 18 00 01 */ lbz r0, 1(r24) /* 801CB198 001C6DF8 2C 00 00 00 */ cmpwi r0, 0 /* 801CB19C 001C6DFC 41 82 00 10 */ beq lbl_801CB1AC lbl_801CB1A0: /* 801CB1A0 001C6E00 80 78 00 0C */ lwz r3, 0xc(r24) /* 801CB1A4 001C6E04 38 03 FF FF */ addi r0, r3, -1 /* 801CB1A8 001C6E08 90 18 00 0C */ stw r0, 0xc(r24) lbl_801CB1AC: /* 801CB1AC 001C6E0C 6B 80 00 10 */ xori r0, r28, 0x10 /* 801CB1B0 001C6E10 7C 00 EB 79 */ or. r0, r0, r29 /* 801CB1B4 001C6E14 40 82 00 1C */ bne lbl_801CB1D0 /* 801CB1B8 001C6E18 88 18 00 03 */ lbz r0, 3(r24) /* 801CB1BC 001C6E1C 2C 00 00 00 */ cmpwi r0, 0 /* 801CB1C0 001C6E20 41 82 00 10 */ beq lbl_801CB1D0 /* 801CB1C4 001C6E24 80 78 00 0C */ lwz r3, 0xc(r24) /* 801CB1C8 001C6E28 38 03 FF FE */ addi r0, r3, -2 /* 801CB1CC 001C6E2C 90 18 00 0C */ stw r0, 0xc(r24) lbl_801CB1D0: /* 801CB1D0 001C6E30 80 78 00 0C */ lwz r3, 0xc(r24) /* 801CB1D4 001C6E34 7C 1B B8 50 */ subf r0, r27, r23 /* 801CB1D8 001C6E38 7C 03 02 14 */ add r0, r3, r0 /* 801CB1DC 001C6E3C 2C 00 01 FD */ cmpwi r0, 0x1fd /* 801CB1E0 001C6E40 40 81 00 0C */ ble lbl_801CB1EC /* 801CB1E4 001C6E44 38 60 00 00 */ li r3, 0 /* 801CB1E8 001C6E48 48 00 00 88 */ b lbl_801CB270 lbl_801CB1EC: /* 801CB1EC 001C6E4C 38 60 00 30 */ li r3, 0x30 /* 801CB1F0 001C6E50 48 00 00 0C */ b lbl_801CB1FC lbl_801CB1F4: /* 801CB1F4 001C6E54 9C 7B FF FF */ stbu r3, -1(r27) /* 801CB1F8 001C6E58 3B 5A 00 01 */ addi r26, r26, 1 lbl_801CB1FC: /* 801CB1FC 001C6E5C 80 18 00 0C */ lwz r0, 0xc(r24) /* 801CB200 001C6E60 7C 1A 00 00 */ cmpw r26, r0 /* 801CB204 001C6E64 41 80 FF F0 */ blt lbl_801CB1F4 /* 801CB208 001C6E68 6B 80 00 10 */ xori r0, r28, 0x10 /* 801CB20C 001C6E6C 7C 00 EB 79 */ or. r0, r0, r29 /* 801CB210 001C6E70 40 82 00 20 */ bne lbl_801CB230 /* 801CB214 001C6E74 88 18 00 03 */ lbz r0, 3(r24) /* 801CB218 001C6E78 2C 00 00 00 */ cmpwi r0, 0 /* 801CB21C 001C6E7C 41 82 00 14 */ beq lbl_801CB230 /* 801CB220 001C6E80 88 78 00 05 */ lbz r3, 5(r24) /* 801CB224 001C6E84 38 00 00 30 */ li r0, 0x30 /* 801CB228 001C6E88 98 7B FF FF */ stb r3, -1(r27) /* 801CB22C 001C6E8C 9C 1B FF FE */ stbu r0, -2(r27) lbl_801CB230: /* 801CB230 001C6E90 2C 19 00 00 */ cmpwi r25, 0 /* 801CB234 001C6E94 41 82 00 10 */ beq lbl_801CB244 /* 801CB238 001C6E98 38 00 00 2D */ li r0, 0x2d /* 801CB23C 001C6E9C 9C 1B FF FF */ stbu r0, -1(r27) /* 801CB240 001C6EA0 48 00 00 2C */ b lbl_801CB26C lbl_801CB244: /* 801CB244 001C6EA4 88 18 00 01 */ lbz r0, 1(r24) /* 801CB248 001C6EA8 28 00 00 01 */ cmplwi r0, 1 /* 801CB24C 001C6EAC 40 82 00 10 */ bne lbl_801CB25C /* 801CB250 001C6EB0 38 00 00 2B */ li r0, 0x2b /* 801CB254 001C6EB4 9C 1B FF FF */ stbu r0, -1(r27) /* 801CB258 001C6EB8 48 00 00 14 */ b lbl_801CB26C lbl_801CB25C: /* 801CB25C 001C6EBC 28 00 00 02 */ cmplwi r0, 2 /* 801CB260 001C6EC0 40 82 00 0C */ bne lbl_801CB26C /* 801CB264 001C6EC4 38 00 00 20 */ li r0, 0x20 /* 801CB268 001C6EC8 9C 1B FF FF */ stbu r0, -1(r27) lbl_801CB26C: /* 801CB26C 001C6ECC 7F 63 DB 78 */ mr r3, r27 lbl_801CB270: /* 801CB270 001C6ED0 BA C1 00 08 */ lmw r22, 8(r1) /* 801CB274 001C6ED4 80 01 00 34 */ lwz r0, 0x34(r1) /* 801CB278 001C6ED8 7C 08 03 A6 */ mtlr r0 /* 801CB27C 001C6EDC 38 21 00 30 */ addi r1, r1, 0x30 /* 801CB280 001C6EE0 4E 80 00 20 */ blr .global func_801CB284 func_801CB284: /* 801CB284 001C6EE4 94 21 FF 70 */ stwu r1, -0x90(r1) /* 801CB288 001C6EE8 7C 08 02 A6 */ mflr r0 /* 801CB28C 001C6EEC 90 01 00 94 */ stw r0, 0x94(r1) /* 801CB290 001C6EF0 DB E1 00 80 */ stfd f31, 0x80(r1) /* 801CB294 001C6EF4 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0 /* 801CB298 001C6EF8 3C A0 80 42 */ lis r5, lbl_80422B98@ha /* 801CB29C 001C6EFC 80 04 00 0C */ lwz r0, 0xc(r4) /* 801CB2A0 001C6F00 FF E0 08 90 */ fmr f31, f1 /* 801CB2A4 001C6F04 93 E1 00 7C */ stw r31, 0x7c(r1) /* 801CB2A8 001C6F08 2C 00 01 FD */ cmpwi r0, 0x1fd /* 801CB2AC 001C6F0C 93 C1 00 78 */ stw r30, 0x78(r1) /* 801CB2B0 001C6F10 7C 9E 23 78 */ mr r30, r4 /* 801CB2B4 001C6F14 93 A1 00 74 */ stw r29, 0x74(r1) /* 801CB2B8 001C6F18 93 81 00 70 */ stw r28, 0x70(r1) /* 801CB2BC 001C6F1C 7C 7C 1B 78 */ mr r28, r3 /* 801CB2C0 001C6F20 80 A5 2B 98 */ lwz r5, lbl_80422B98@l(r5) /* 801CB2C4 001C6F24 D8 21 00 08 */ stfd f1, 8(r1) /* 801CB2C8 001C6F28 8B E5 00 00 */ lbz r31, 0(r5) /* 801CB2CC 001C6F2C 40 81 00 0C */ ble lbl_801CB2D8 /* 801CB2D0 001C6F30 38 60 00 00 */ li r3, 0 /* 801CB2D4 001C6F34 48 00 03 50 */ b lbl_801CB624 lbl_801CB2D8: /* 801CB2D8 001C6F38 3B A0 00 00 */ li r29, 0 /* 801CB2DC 001C6F3C 38 00 00 20 */ li r0, 0x20 /* 801CB2E0 001C6F40 9B A1 00 10 */ stb r29, 0x10(r1) /* 801CB2E4 001C6F44 38 61 00 10 */ addi r3, r1, 0x10 /* 801CB2E8 001C6F48 38 81 00 38 */ addi r4, r1, 0x38 /* 801CB2EC 001C6F4C B0 01 00 12 */ sth r0, 0x12(r1) /* 801CB2F0 001C6F50 4B FF D7 59 */ bl func_801C8A48 /* 801CB2F4 001C6F54 FC 20 FA 10 */ fabs f1, f31 /* 801CB2F8 001C6F58 C8 02 91 48 */ lfd f0, lbl_80641748-_SDA2_BASE_(r2) /* 801CB2FC 001C6F5C FC 00 08 00 */ fcmpu cr0, f0, f1 /* 801CB300 001C6F60 40 82 00 20 */ bne lbl_801CB320 /* 801CB304 001C6F64 3B BC FF FA */ addi r29, r28, -6 /* 801CB308 001C6F68 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CB30C 001C6F6C 7F A3 EB 78 */ mr r3, r29 /* 801CB310 001C6F70 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CB314 001C6F74 48 00 2F BD */ bl func_801CE2D0 /* 801CB318 001C6F78 7F A3 EB 78 */ mr r3, r29 /* 801CB31C 001C6F7C 48 00 03 08 */ b lbl_801CB624 lbl_801CB320: /* 801CB320 001C6F80 88 01 00 3D */ lbz r0, 0x3d(r1) /* 801CB324 001C6F84 28 00 00 49 */ cmplwi r0, 0x49 /* 801CB328 001C6F88 40 82 00 94 */ bne lbl_801CB3BC /* 801CB32C 001C6F8C 88 01 00 38 */ lbz r0, 0x38(r1) /* 801CB330 001C6F90 7C 00 07 75 */ extsb. r0, r0 /* 801CB334 001C6F94 41 82 00 44 */ beq lbl_801CB378 /* 801CB338 001C6F98 88 1E 00 05 */ lbz r0, 5(r30) /* 801CB33C 001C6F9C 3B BC FF FB */ addi r29, r28, -5 /* 801CB340 001C6FA0 28 00 00 41 */ cmplwi r0, 0x41 /* 801CB344 001C6FA4 40 82 00 1C */ bne lbl_801CB360 /* 801CB348 001C6FA8 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CB34C 001C6FAC 7F A3 EB 78 */ mr r3, r29 /* 801CB350 001C6FB0 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CB354 001C6FB4 38 84 00 06 */ addi r4, r4, 6 /* 801CB358 001C6FB8 48 00 2F 79 */ bl func_801CE2D0 /* 801CB35C 001C6FBC 48 00 00 58 */ b lbl_801CB3B4 lbl_801CB360: /* 801CB360 001C6FC0 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CB364 001C6FC4 7F A3 EB 78 */ mr r3, r29 /* 801CB368 001C6FC8 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CB36C 001C6FCC 38 84 00 0B */ addi r4, r4, 0xb /* 801CB370 001C6FD0 48 00 2F 61 */ bl func_801CE2D0 /* 801CB374 001C6FD4 48 00 00 40 */ b lbl_801CB3B4 lbl_801CB378: /* 801CB378 001C6FD8 88 1E 00 05 */ lbz r0, 5(r30) /* 801CB37C 001C6FDC 3B BC FF FC */ addi r29, r28, -4 /* 801CB380 001C6FE0 28 00 00 41 */ cmplwi r0, 0x41 /* 801CB384 001C6FE4 40 82 00 1C */ bne lbl_801CB3A0 /* 801CB388 001C6FE8 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CB38C 001C6FEC 7F A3 EB 78 */ mr r3, r29 /* 801CB390 001C6FF0 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CB394 001C6FF4 38 84 00 10 */ addi r4, r4, 0x10 /* 801CB398 001C6FF8 48 00 2F 39 */ bl func_801CE2D0 /* 801CB39C 001C6FFC 48 00 00 18 */ b lbl_801CB3B4 lbl_801CB3A0: /* 801CB3A0 001C7000 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CB3A4 001C7004 7F A3 EB 78 */ mr r3, r29 /* 801CB3A8 001C7008 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CB3AC 001C700C 38 84 00 14 */ addi r4, r4, 0x14 /* 801CB3B0 001C7010 48 00 2F 21 */ bl func_801CE2D0 lbl_801CB3B4: /* 801CB3B4 001C7014 7F A3 EB 78 */ mr r3, r29 /* 801CB3B8 001C7018 48 00 02 6C */ b lbl_801CB624 lbl_801CB3BC: /* 801CB3BC 001C701C 28 00 00 4E */ cmplwi r0, 0x4e /* 801CB3C0 001C7020 40 82 00 94 */ bne lbl_801CB454 /* 801CB3C4 001C7024 88 01 00 38 */ lbz r0, 0x38(r1) /* 801CB3C8 001C7028 7C 00 07 75 */ extsb. r0, r0 /* 801CB3CC 001C702C 41 82 00 44 */ beq lbl_801CB410 /* 801CB3D0 001C7030 88 1E 00 05 */ lbz r0, 5(r30) /* 801CB3D4 001C7034 3B BC FF FB */ addi r29, r28, -5 /* 801CB3D8 001C7038 28 00 00 41 */ cmplwi r0, 0x41 /* 801CB3DC 001C703C 40 82 00 1C */ bne lbl_801CB3F8 /* 801CB3E0 001C7040 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CB3E4 001C7044 7F A3 EB 78 */ mr r3, r29 /* 801CB3E8 001C7048 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CB3EC 001C704C 38 84 00 18 */ addi r4, r4, 0x18 /* 801CB3F0 001C7050 48 00 2E E1 */ bl func_801CE2D0 /* 801CB3F4 001C7054 48 00 00 58 */ b lbl_801CB44C lbl_801CB3F8: /* 801CB3F8 001C7058 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CB3FC 001C705C 7F A3 EB 78 */ mr r3, r29 /* 801CB400 001C7060 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CB404 001C7064 38 84 00 1D */ addi r4, r4, 0x1d /* 801CB408 001C7068 48 00 2E C9 */ bl func_801CE2D0 /* 801CB40C 001C706C 48 00 00 40 */ b lbl_801CB44C lbl_801CB410: /* 801CB410 001C7070 88 1E 00 05 */ lbz r0, 5(r30) /* 801CB414 001C7074 3B BC FF FC */ addi r29, r28, -4 /* 801CB418 001C7078 28 00 00 41 */ cmplwi r0, 0x41 /* 801CB41C 001C707C 40 82 00 1C */ bne lbl_801CB438 /* 801CB420 001C7080 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CB424 001C7084 7F A3 EB 78 */ mr r3, r29 /* 801CB428 001C7088 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CB42C 001C708C 38 84 00 22 */ addi r4, r4, 0x22 /* 801CB430 001C7090 48 00 2E A1 */ bl func_801CE2D0 /* 801CB434 001C7094 48 00 00 18 */ b lbl_801CB44C lbl_801CB438: /* 801CB438 001C7098 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CB43C 001C709C 7F A3 EB 78 */ mr r3, r29 /* 801CB440 001C70A0 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CB444 001C70A4 38 84 00 26 */ addi r4, r4, 0x26 /* 801CB448 001C70A8 48 00 2E 89 */ bl func_801CE2D0 lbl_801CB44C: /* 801CB44C 001C70AC 7F A3 EB 78 */ mr r3, r29 /* 801CB450 001C70B0 48 00 01 D4 */ b lbl_801CB624 lbl_801CB454: /* 801CB454 001C70B4 39 00 00 01 */ li r8, 1 /* 801CB458 001C70B8 38 E0 00 64 */ li r7, 0x64 /* 801CB45C 001C70BC 88 01 00 09 */ lbz r0, 9(r1) /* 801CB460 001C70C0 7F 84 E3 78 */ mr r4, r28 /* 801CB464 001C70C4 88 61 00 08 */ lbz r3, 8(r1) /* 801CB468 001C70C8 38 A1 00 18 */ addi r5, r1, 0x18 /* 801CB46C 001C70CC 54 00 88 1C */ slwi r0, r0, 0x11 /* 801CB470 001C70D0 99 01 00 28 */ stb r8, 0x28(r1) /* 801CB474 001C70D4 50 60 C8 0C */ rlwimi r0, r3, 0x19, 0, 6 /* 801CB478 001C70D8 54 03 5D 7E */ srwi r3, r0, 0x15 /* 801CB47C 001C70DC 99 01 00 29 */ stb r8, 0x29(r1) /* 801CB480 001C70E0 38 63 FC 01 */ addi r3, r3, -1023 /* 801CB484 001C70E4 9B A1 00 2A */ stb r29, 0x2a(r1) /* 801CB488 001C70E8 9B A1 00 2B */ stb r29, 0x2b(r1) /* 801CB48C 001C70EC 80 C1 00 28 */ lwz r6, 0x28(r1) /* 801CB490 001C70F0 9B A1 00 2C */ stb r29, 0x2c(r1) /* 801CB494 001C70F4 98 E1 00 2D */ stb r7, 0x2d(r1) /* 801CB498 001C70F8 80 01 00 2C */ lwz r0, 0x2c(r1) /* 801CB49C 001C70FC 93 A1 00 30 */ stw r29, 0x30(r1) /* 801CB4A0 001C7100 91 01 00 34 */ stw r8, 0x34(r1) /* 801CB4A4 001C7104 90 C1 00 18 */ stw r6, 0x18(r1) /* 801CB4A8 001C7108 90 01 00 1C */ stw r0, 0x1c(r1) /* 801CB4AC 001C710C 93 A1 00 20 */ stw r29, 0x20(r1) /* 801CB4B0 001C7110 91 01 00 24 */ stw r8, 0x24(r1) /* 801CB4B4 001C7114 4B FF F9 09 */ bl func_801CADBC /* 801CB4B8 001C7118 88 1E 00 05 */ lbz r0, 5(r30) /* 801CB4BC 001C711C 28 00 00 61 */ cmplwi r0, 0x61 /* 801CB4C0 001C7120 40 82 00 14 */ bne lbl_801CB4D4 /* 801CB4C4 001C7124 38 00 00 70 */ li r0, 0x70 /* 801CB4C8 001C7128 38 83 FF FF */ addi r4, r3, -1 /* 801CB4CC 001C712C 98 03 FF FF */ stb r0, -1(r3) /* 801CB4D0 001C7130 48 00 00 10 */ b lbl_801CB4E0 lbl_801CB4D4: /* 801CB4D4 001C7134 38 00 00 50 */ li r0, 0x50 /* 801CB4D8 001C7138 38 83 FF FF */ addi r4, r3, -1 /* 801CB4DC 001C713C 98 03 FF FF */ stb r0, -1(r3) lbl_801CB4E0: /* 801CB4E0 001C7140 80 1E 00 0C */ lwz r0, 0xc(r30) /* 801CB4E4 001C7144 39 01 00 08 */ addi r8, r1, 8 /* 801CB4E8 001C7148 54 03 10 3A */ slwi r3, r0, 2 /* 801CB4EC 001C714C 39 23 00 0B */ addi r9, r3, 0xb /* 801CB4F0 001C7150 7C 09 03 A6 */ mtctr r0 /* 801CB4F4 001C7154 2C 00 00 01 */ cmpwi r0, 1 /* 801CB4F8 001C7158 41 80 00 9C */ blt lbl_801CB594 lbl_801CB4FC: /* 801CB4FC 001C715C 2C 09 00 40 */ cmpwi r9, 0x40 /* 801CB500 001C7160 40 80 00 84 */ bge lbl_801CB584 /* 801CB504 001C7164 7D 23 1E 70 */ srawi r3, r9, 3 /* 801CB508 001C7168 38 09 FF FC */ addi r0, r9, -4 /* 801CB50C 001C716C 7C E8 1A 14 */ add r7, r8, r3 /* 801CB510 001C7170 55 26 07 7E */ clrlwi r6, r9, 0x1d /* 801CB514 001C7174 55 23 00 38 */ rlwinm r3, r9, 0, 0, 0x1c /* 801CB518 001C7178 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c /* 801CB51C 001C717C 88 A7 00 00 */ lbz r5, 0(r7) /* 801CB520 001C7180 20 C6 00 07 */ subfic r6, r6, 7 /* 801CB524 001C7184 7C 03 00 00 */ cmpw r3, r0 /* 801CB528 001C7188 7C A0 36 30 */ sraw r0, r5, r6 /* 801CB52C 001C718C 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 801CB530 001C7190 41 82 00 18 */ beq lbl_801CB548 /* 801CB534 001C7194 88 07 FF FF */ lbz r0, -1(r7) /* 801CB538 001C7198 54 00 40 2E */ slwi r0, r0, 8 /* 801CB53C 001C719C 7C 00 36 30 */ sraw r0, r0, r6 /* 801CB540 001C71A0 7C 60 03 78 */ or r0, r3, r0 /* 801CB544 001C71A4 54 03 06 3E */ clrlwi r3, r0, 0x18 lbl_801CB548: /* 801CB548 001C71A8 54 63 07 3E */ clrlwi r3, r3, 0x1c /* 801CB54C 001C71AC 28 03 00 0A */ cmplwi r3, 0xa /* 801CB550 001C71B0 40 80 00 10 */ bge lbl_801CB560 /* 801CB554 001C71B4 38 03 00 30 */ addi r0, r3, 0x30 /* 801CB558 001C71B8 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 801CB55C 001C71BC 48 00 00 2C */ b lbl_801CB588 lbl_801CB560: /* 801CB560 001C71C0 88 1E 00 05 */ lbz r0, 5(r30) /* 801CB564 001C71C4 28 00 00 61 */ cmplwi r0, 0x61 /* 801CB568 001C71C8 40 82 00 10 */ bne lbl_801CB578 /* 801CB56C 001C71CC 38 03 00 57 */ addi r0, r3, 0x57 /* 801CB570 001C71D0 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 801CB574 001C71D4 48 00 00 14 */ b lbl_801CB588 lbl_801CB578: /* 801CB578 001C71D8 38 03 00 37 */ addi r0, r3, 0x37 /* 801CB57C 001C71DC 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 801CB580 001C71E0 48 00 00 08 */ b lbl_801CB588 lbl_801CB584: /* 801CB584 001C71E4 38 60 00 30 */ li r3, 0x30 lbl_801CB588: /* 801CB588 001C71E8 9C 64 FF FF */ stbu r3, -1(r4) /* 801CB58C 001C71EC 39 29 FF FC */ addi r9, r9, -4 /* 801CB590 001C71F0 42 00 FF 6C */ bdnz lbl_801CB4FC lbl_801CB594: /* 801CB594 001C71F4 80 1E 00 0C */ lwz r0, 0xc(r30) /* 801CB598 001C71F8 2C 00 00 00 */ cmpwi r0, 0 /* 801CB59C 001C71FC 40 82 00 10 */ bne lbl_801CB5AC /* 801CB5A0 001C7200 88 1E 00 03 */ lbz r0, 3(r30) /* 801CB5A4 001C7204 2C 00 00 00 */ cmpwi r0, 0 /* 801CB5A8 001C7208 41 82 00 08 */ beq lbl_801CB5B0 lbl_801CB5AC: /* 801CB5AC 001C720C 9F E4 FF FF */ stbu r31, -1(r4) lbl_801CB5B0: /* 801CB5B0 001C7210 88 1E 00 05 */ lbz r0, 5(r30) /* 801CB5B4 001C7214 38 60 00 31 */ li r3, 0x31 /* 801CB5B8 001C7218 98 64 FF FF */ stb r3, -1(r4) /* 801CB5BC 001C721C 28 00 00 61 */ cmplwi r0, 0x61 /* 801CB5C0 001C7220 40 82 00 10 */ bne lbl_801CB5D0 /* 801CB5C4 001C7224 38 00 00 78 */ li r0, 0x78 /* 801CB5C8 001C7228 9C 04 FF FE */ stbu r0, -2(r4) /* 801CB5CC 001C722C 48 00 00 0C */ b lbl_801CB5D8 lbl_801CB5D0: /* 801CB5D0 001C7230 38 00 00 58 */ li r0, 0x58 /* 801CB5D4 001C7234 9C 04 FF FE */ stbu r0, -2(r4) lbl_801CB5D8: /* 801CB5D8 001C7238 38 00 00 30 */ li r0, 0x30 /* 801CB5DC 001C723C 9C 04 FF FF */ stbu r0, -1(r4) /* 801CB5E0 001C7240 88 01 00 38 */ lbz r0, 0x38(r1) /* 801CB5E4 001C7244 7C 00 07 75 */ extsb. r0, r0 /* 801CB5E8 001C7248 41 82 00 10 */ beq lbl_801CB5F8 /* 801CB5EC 001C724C 38 00 00 2D */ li r0, 0x2d /* 801CB5F0 001C7250 9C 04 FF FF */ stbu r0, -1(r4) /* 801CB5F4 001C7254 48 00 00 2C */ b lbl_801CB620 lbl_801CB5F8: /* 801CB5F8 001C7258 88 1E 00 01 */ lbz r0, 1(r30) /* 801CB5FC 001C725C 28 00 00 01 */ cmplwi r0, 1 /* 801CB600 001C7260 40 82 00 10 */ bne lbl_801CB610 /* 801CB604 001C7264 38 00 00 2B */ li r0, 0x2b /* 801CB608 001C7268 9C 04 FF FF */ stbu r0, -1(r4) /* 801CB60C 001C726C 48 00 00 14 */ b lbl_801CB620 lbl_801CB610: /* 801CB610 001C7270 28 00 00 02 */ cmplwi r0, 2 /* 801CB614 001C7274 40 82 00 0C */ bne lbl_801CB620 /* 801CB618 001C7278 38 00 00 20 */ li r0, 0x20 /* 801CB61C 001C727C 9C 04 FF FF */ stbu r0, -1(r4) lbl_801CB620: /* 801CB620 001C7280 7C 83 23 78 */ mr r3, r4 lbl_801CB624: /* 801CB624 001C7284 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0 /* 801CB628 001C7288 80 01 00 94 */ lwz r0, 0x94(r1) /* 801CB62C 001C728C CB E1 00 80 */ lfd f31, 0x80(r1) /* 801CB630 001C7290 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 801CB634 001C7294 83 C1 00 78 */ lwz r30, 0x78(r1) /* 801CB638 001C7298 83 A1 00 74 */ lwz r29, 0x74(r1) /* 801CB63C 001C729C 83 81 00 70 */ lwz r28, 0x70(r1) /* 801CB640 001C72A0 7C 08 03 A6 */ mtlr r0 /* 801CB644 001C72A4 38 21 00 90 */ addi r1, r1, 0x90 /* 801CB648 001C72A8 4E 80 00 20 */ blr .global func_801CB64C func_801CB64C: /* 801CB64C 001C72AC 2C 04 00 00 */ cmpwi r4, 0 /* 801CB650 001C72B0 40 80 00 20 */ bge lbl_801CB670 lbl_801CB654: /* 801CB654 001C72B4 38 A0 00 00 */ li r5, 0 /* 801CB658 001C72B8 38 80 00 01 */ li r4, 1 /* 801CB65C 001C72BC 38 00 00 30 */ li r0, 0x30 /* 801CB660 001C72C0 B0 A3 00 02 */ sth r5, 2(r3) /* 801CB664 001C72C4 98 83 00 04 */ stb r4, 4(r3) /* 801CB668 001C72C8 98 03 00 05 */ stb r0, 5(r3) /* 801CB66C 001C72CC 4E 80 00 20 */ blr lbl_801CB670: /* 801CB670 001C72D0 88 E3 00 04 */ lbz r7, 4(r3) /* 801CB674 001C72D4 7C 04 38 00 */ cmpw r4, r7 /* 801CB678 001C72D8 4C 80 00 20 */ bgelr /* 801CB67C 001C72DC 7C C3 22 14 */ add r6, r3, r4 /* 801CB680 001C72E0 88 A6 00 05 */ lbz r5, 5(r6) /* 801CB684 001C72E4 39 06 00 05 */ addi r8, r6, 5 /* 801CB688 001C72E8 38 05 FF D0 */ addi r0, r5, -48 /* 801CB68C 001C72EC 7C 06 07 74 */ extsb r6, r0 /* 801CB690 001C72F0 2C 06 00 05 */ cmpwi r6, 5 /* 801CB694 001C72F4 40 82 00 40 */ bne lbl_801CB6D4 /* 801CB698 001C72F8 7C A3 3A 14 */ add r5, r3, r7 /* 801CB69C 001C72FC 38 A5 00 05 */ addi r5, r5, 5 lbl_801CB6A0: /* 801CB6A0 001C7300 38 A5 FF FF */ addi r5, r5, -1 /* 801CB6A4 001C7304 7C 05 40 40 */ cmplw r5, r8 /* 801CB6A8 001C7308 40 81 00 10 */ ble lbl_801CB6B8 /* 801CB6AC 001C730C 88 05 00 00 */ lbz r0, 0(r5) /* 801CB6B0 001C7310 2C 00 00 30 */ cmpwi r0, 0x30 /* 801CB6B4 001C7314 41 82 FF EC */ beq lbl_801CB6A0 lbl_801CB6B8: /* 801CB6B8 001C7318 7C 05 40 40 */ cmplw r5, r8 /* 801CB6BC 001C731C 40 82 00 10 */ bne lbl_801CB6CC /* 801CB6C0 001C7320 88 08 FF FF */ lbz r0, -1(r8) /* 801CB6C4 001C7324 54 05 07 FE */ clrlwi r5, r0, 0x1f /* 801CB6C8 001C7328 48 00 00 20 */ b lbl_801CB6E8 lbl_801CB6CC: /* 801CB6CC 001C732C 38 A0 00 01 */ li r5, 1 /* 801CB6D0 001C7330 48 00 00 18 */ b lbl_801CB6E8 lbl_801CB6D4: /* 801CB6D4 001C7334 68 C0 00 05 */ xori r0, r6, 5 /* 801CB6D8 001C7338 7C 05 0E 70 */ srawi r5, r0, 1 /* 801CB6DC 001C733C 7C 00 30 38 */ and r0, r0, r6 /* 801CB6E0 001C7340 7C 00 28 50 */ subf r0, r0, r5 /* 801CB6E4 001C7344 54 05 0F FE */ srwi r5, r0, 0x1f lbl_801CB6E8: /* 801CB6E8 001C7348 7C 89 03 A6 */ mtctr r4 /* 801CB6EC 001C734C 2C 04 00 00 */ cmpwi r4, 0 /* 801CB6F0 001C7350 41 82 00 4C */ beq lbl_801CB73C lbl_801CB6F4: /* 801CB6F4 001C7354 8C 08 FF FF */ lbzu r0, -1(r8) /* 801CB6F8 001C7358 7C A0 2A 14 */ add r5, r0, r5 /* 801CB6FC 001C735C 38 05 FF D0 */ addi r0, r5, -48 /* 801CB700 001C7360 7C 06 07 74 */ extsb r6, r0 /* 801CB704 001C7364 68 C0 00 09 */ xori r0, r6, 9 /* 801CB708 001C7368 7C 05 0E 70 */ srawi r5, r0, 1 /* 801CB70C 001C736C 7C 00 30 38 */ and r0, r0, r6 /* 801CB710 001C7370 7C 00 28 50 */ subf r0, r0, r5 /* 801CB714 001C7374 54 05 0F FF */ rlwinm. r5, r0, 1, 0x1f, 0x1f /* 801CB718 001C7378 40 82 00 0C */ bne lbl_801CB724 /* 801CB71C 001C737C 2C 06 00 00 */ cmpwi r6, 0 /* 801CB720 001C7380 40 82 00 0C */ bne lbl_801CB72C lbl_801CB724: /* 801CB724 001C7384 38 84 FF FF */ addi r4, r4, -1 /* 801CB728 001C7388 48 00 00 10 */ b lbl_801CB738 lbl_801CB72C: /* 801CB72C 001C738C 38 06 00 30 */ addi r0, r6, 0x30 /* 801CB730 001C7390 98 08 00 00 */ stb r0, 0(r8) /* 801CB734 001C7394 48 00 00 08 */ b lbl_801CB73C lbl_801CB738: /* 801CB738 001C7398 42 00 FF BC */ bdnz lbl_801CB6F4 lbl_801CB73C: /* 801CB73C 001C739C 2C 05 00 00 */ cmpwi r5, 0 /* 801CB740 001C73A0 41 82 00 24 */ beq lbl_801CB764 /* 801CB744 001C73A4 A8 A3 00 02 */ lha r5, 2(r3) /* 801CB748 001C73A8 38 80 00 01 */ li r4, 1 /* 801CB74C 001C73AC 38 00 00 31 */ li r0, 0x31 /* 801CB750 001C73B0 98 83 00 04 */ stb r4, 4(r3) /* 801CB754 001C73B4 38 85 00 01 */ addi r4, r5, 1 /* 801CB758 001C73B8 B0 83 00 02 */ sth r4, 2(r3) /* 801CB75C 001C73BC 98 03 00 05 */ stb r0, 5(r3) /* 801CB760 001C73C0 4E 80 00 20 */ blr lbl_801CB764: /* 801CB764 001C73C4 2C 04 00 00 */ cmpwi r4, 0 /* 801CB768 001C73C8 41 82 FE EC */ beq lbl_801CB654 /* 801CB76C 001C73CC 98 83 00 04 */ stb r4, 4(r3) /* 801CB770 001C73D0 4E 80 00 20 */ blr .global func_801CB774 func_801CB774: /* 801CB774 001C73D4 94 21 FF B0 */ stwu r1, -0x50(r1) /* 801CB778 001C73D8 7C 08 02 A6 */ mflr r0 /* 801CB77C 001C73DC 3C A0 80 42 */ lis r5, lbl_80422B98@ha /* 801CB780 001C73E0 90 01 00 54 */ stw r0, 0x54(r1) /* 801CB784 001C73E4 80 04 00 0C */ lwz r0, 0xc(r4) /* 801CB788 001C73E8 DB E1 00 48 */ stfd f31, 0x48(r1) /* 801CB78C 001C73EC FF E0 08 90 */ fmr f31, f1 /* 801CB790 001C73F0 2C 00 01 FD */ cmpwi r0, 0x1fd /* 801CB794 001C73F4 93 E1 00 44 */ stw r31, 0x44(r1) /* 801CB798 001C73F8 93 C1 00 40 */ stw r30, 0x40(r1) /* 801CB79C 001C73FC 93 A1 00 3C */ stw r29, 0x3c(r1) /* 801CB7A0 001C7400 7C 9D 23 78 */ mr r29, r4 /* 801CB7A4 001C7404 93 81 00 38 */ stw r28, 0x38(r1) /* 801CB7A8 001C7408 7C 7C 1B 78 */ mr r28, r3 /* 801CB7AC 001C740C 80 A5 2B 98 */ lwz r5, lbl_80422B98@l(r5) /* 801CB7B0 001C7410 8B C5 00 00 */ lbz r30, 0(r5) /* 801CB7B4 001C7414 40 81 00 0C */ ble lbl_801CB7C0 /* 801CB7B8 001C7418 38 60 00 00 */ li r3, 0 /* 801CB7BC 001C741C 48 00 07 64 */ b lbl_801CBF20 lbl_801CB7C0: /* 801CB7C0 001C7420 38 60 00 00 */ li r3, 0 /* 801CB7C4 001C7424 38 00 00 20 */ li r0, 0x20 /* 801CB7C8 001C7428 98 61 00 08 */ stb r3, 8(r1) /* 801CB7CC 001C742C 38 61 00 08 */ addi r3, r1, 8 /* 801CB7D0 001C7430 38 81 00 0C */ addi r4, r1, 0xc /* 801CB7D4 001C7434 B0 01 00 0A */ sth r0, 0xa(r1) /* 801CB7D8 001C7438 4B FF D2 71 */ bl func_801C8A48 /* 801CB7DC 001C743C 88 01 00 10 */ lbz r0, 0x10(r1) /* 801CB7E0 001C7440 38 A1 00 11 */ addi r5, r1, 0x11 /* 801CB7E4 001C7444 7C A5 02 14 */ add r5, r5, r0 /* 801CB7E8 001C7448 48 00 00 1C */ b lbl_801CB804 lbl_801CB7EC: /* 801CB7EC 001C744C 88 81 00 10 */ lbz r4, 0x10(r1) /* 801CB7F0 001C7450 A8 61 00 0E */ lha r3, 0xe(r1) /* 801CB7F4 001C7454 38 84 FF FF */ addi r4, r4, -1 /* 801CB7F8 001C7458 38 03 00 01 */ addi r0, r3, 1 /* 801CB7FC 001C745C 98 81 00 10 */ stb r4, 0x10(r1) /* 801CB800 001C7460 B0 01 00 0E */ sth r0, 0xe(r1) lbl_801CB804: /* 801CB804 001C7464 88 01 00 10 */ lbz r0, 0x10(r1) /* 801CB808 001C7468 28 00 00 01 */ cmplwi r0, 1 /* 801CB80C 001C746C 40 81 00 10 */ ble lbl_801CB81C /* 801CB810 001C7470 8C 05 FF FF */ lbzu r0, -1(r5) /* 801CB814 001C7474 2C 00 00 30 */ cmpwi r0, 0x30 /* 801CB818 001C7478 41 82 FF D4 */ beq lbl_801CB7EC lbl_801CB81C: /* 801CB81C 001C747C 88 01 00 11 */ lbz r0, 0x11(r1) /* 801CB820 001C7480 2C 00 00 49 */ cmpwi r0, 0x49 /* 801CB824 001C7484 41 82 00 2C */ beq lbl_801CB850 /* 801CB828 001C7488 40 80 00 10 */ bge lbl_801CB838 /* 801CB82C 001C748C 2C 00 00 30 */ cmpwi r0, 0x30 /* 801CB830 001C7490 41 82 00 14 */ beq lbl_801CB844 /* 801CB834 001C7494 48 00 02 4C */ b lbl_801CBA80 lbl_801CB838: /* 801CB838 001C7498 2C 00 00 4E */ cmpwi r0, 0x4e /* 801CB83C 001C749C 41 82 01 2C */ beq lbl_801CB968 /* 801CB840 001C74A0 48 00 02 40 */ b lbl_801CBA80 lbl_801CB844: /* 801CB844 001C74A4 38 00 00 00 */ li r0, 0 /* 801CB848 001C74A8 B0 01 00 0E */ sth r0, 0xe(r1) /* 801CB84C 001C74AC 48 00 02 34 */ b lbl_801CBA80 lbl_801CB850: /* 801CB850 001C74B0 C8 02 91 48 */ lfd f0, lbl_80641748-_SDA2_BASE_(r2) /* 801CB854 001C74B4 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 801CB858 001C74B8 40 80 00 88 */ bge lbl_801CB8E0 /* 801CB85C 001C74BC 88 9D 00 05 */ lbz r4, 5(r29) /* 801CB860 001C74C0 3B FC FF FB */ addi r31, r28, -5 /* 801CB864 001C74C4 38 00 00 00 */ li r0, 0 /* 801CB868 001C74C8 2C 04 00 00 */ cmpwi r4, 0 /* 801CB86C 001C74CC 41 80 00 0C */ blt lbl_801CB878 /* 801CB870 001C74D0 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CB874 001C74D4 41 80 00 08 */ blt lbl_801CB87C lbl_801CB878: /* 801CB878 001C74D8 38 00 00 01 */ li r0, 1 lbl_801CB87C: /* 801CB87C 001C74DC 2C 00 00 00 */ cmpwi r0, 0 /* 801CB880 001C74E0 41 82 00 0C */ beq lbl_801CB88C /* 801CB884 001C74E4 38 00 00 00 */ li r0, 0 /* 801CB888 001C74E8 48 00 00 20 */ b lbl_801CB8A8 lbl_801CB88C: /* 801CB88C 001C74EC 3C 60 80 42 */ lis r3, lbl_80422D48@ha /* 801CB890 001C74F0 54 80 08 3C */ slwi r0, r4, 1 /* 801CB894 001C74F4 38 63 2D 48 */ addi r3, r3, lbl_80422D48@l /* 801CB898 001C74F8 80 63 00 38 */ lwz r3, 0x38(r3) /* 801CB89C 001C74FC 80 63 00 08 */ lwz r3, 8(r3) /* 801CB8A0 001C7500 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CB8A4 001C7504 54 00 05 AC */ rlwinm r0, r0, 0, 0x16, 0x16 lbl_801CB8A8: /* 801CB8A8 001C7508 2C 00 00 00 */ cmpwi r0, 0 /* 801CB8AC 001C750C 41 82 00 1C */ beq lbl_801CB8C8 /* 801CB8B0 001C7510 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CB8B4 001C7514 7F E3 FB 78 */ mr r3, r31 /* 801CB8B8 001C7518 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CB8BC 001C751C 38 84 00 06 */ addi r4, r4, 6 /* 801CB8C0 001C7520 48 00 2A 11 */ bl func_801CE2D0 /* 801CB8C4 001C7524 48 00 00 9C */ b lbl_801CB960 lbl_801CB8C8: /* 801CB8C8 001C7528 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CB8CC 001C752C 7F E3 FB 78 */ mr r3, r31 /* 801CB8D0 001C7530 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CB8D4 001C7534 38 84 00 0B */ addi r4, r4, 0xb /* 801CB8D8 001C7538 48 00 29 F9 */ bl func_801CE2D0 /* 801CB8DC 001C753C 48 00 00 84 */ b lbl_801CB960 lbl_801CB8E0: /* 801CB8E0 001C7540 88 9D 00 05 */ lbz r4, 5(r29) /* 801CB8E4 001C7544 3B FC FF FC */ addi r31, r28, -4 /* 801CB8E8 001C7548 38 00 00 00 */ li r0, 0 /* 801CB8EC 001C754C 2C 04 00 00 */ cmpwi r4, 0 /* 801CB8F0 001C7550 41 80 00 0C */ blt lbl_801CB8FC /* 801CB8F4 001C7554 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CB8F8 001C7558 41 80 00 08 */ blt lbl_801CB900 lbl_801CB8FC: /* 801CB8FC 001C755C 38 00 00 01 */ li r0, 1 lbl_801CB900: /* 801CB900 001C7560 2C 00 00 00 */ cmpwi r0, 0 /* 801CB904 001C7564 41 82 00 0C */ beq lbl_801CB910 /* 801CB908 001C7568 38 00 00 00 */ li r0, 0 /* 801CB90C 001C756C 48 00 00 20 */ b lbl_801CB92C lbl_801CB910: /* 801CB910 001C7570 3C 60 80 42 */ lis r3, lbl_80422D48@ha /* 801CB914 001C7574 54 80 08 3C */ slwi r0, r4, 1 /* 801CB918 001C7578 38 63 2D 48 */ addi r3, r3, lbl_80422D48@l /* 801CB91C 001C757C 80 63 00 38 */ lwz r3, 0x38(r3) /* 801CB920 001C7580 80 63 00 08 */ lwz r3, 8(r3) /* 801CB924 001C7584 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CB928 001C7588 54 00 05 AC */ rlwinm r0, r0, 0, 0x16, 0x16 lbl_801CB92C: /* 801CB92C 001C758C 2C 00 00 00 */ cmpwi r0, 0 /* 801CB930 001C7590 41 82 00 1C */ beq lbl_801CB94C /* 801CB934 001C7594 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CB938 001C7598 7F E3 FB 78 */ mr r3, r31 /* 801CB93C 001C759C 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CB940 001C75A0 38 84 00 10 */ addi r4, r4, 0x10 /* 801CB944 001C75A4 48 00 29 8D */ bl func_801CE2D0 /* 801CB948 001C75A8 48 00 00 18 */ b lbl_801CB960 lbl_801CB94C: /* 801CB94C 001C75AC 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CB950 001C75B0 7F E3 FB 78 */ mr r3, r31 /* 801CB954 001C75B4 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CB958 001C75B8 38 84 00 14 */ addi r4, r4, 0x14 /* 801CB95C 001C75BC 48 00 29 75 */ bl func_801CE2D0 lbl_801CB960: /* 801CB960 001C75C0 7F E3 FB 78 */ mr r3, r31 /* 801CB964 001C75C4 48 00 05 BC */ b lbl_801CBF20 lbl_801CB968: /* 801CB968 001C75C8 88 01 00 0C */ lbz r0, 0xc(r1) /* 801CB96C 001C75CC 7C 00 07 75 */ extsb. r0, r0 /* 801CB970 001C75D0 41 82 00 88 */ beq lbl_801CB9F8 /* 801CB974 001C75D4 88 9D 00 05 */ lbz r4, 5(r29) /* 801CB978 001C75D8 3B FC FF FB */ addi r31, r28, -5 /* 801CB97C 001C75DC 38 00 00 00 */ li r0, 0 /* 801CB980 001C75E0 2C 04 00 00 */ cmpwi r4, 0 /* 801CB984 001C75E4 41 80 00 0C */ blt lbl_801CB990 /* 801CB988 001C75E8 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CB98C 001C75EC 41 80 00 08 */ blt lbl_801CB994 lbl_801CB990: /* 801CB990 001C75F0 38 00 00 01 */ li r0, 1 lbl_801CB994: /* 801CB994 001C75F4 2C 00 00 00 */ cmpwi r0, 0 /* 801CB998 001C75F8 41 82 00 0C */ beq lbl_801CB9A4 /* 801CB99C 001C75FC 38 00 00 00 */ li r0, 0 /* 801CB9A0 001C7600 48 00 00 20 */ b lbl_801CB9C0 lbl_801CB9A4: /* 801CB9A4 001C7604 3C 60 80 42 */ lis r3, lbl_80422D48@ha /* 801CB9A8 001C7608 54 80 08 3C */ slwi r0, r4, 1 /* 801CB9AC 001C760C 38 63 2D 48 */ addi r3, r3, lbl_80422D48@l /* 801CB9B0 001C7610 80 63 00 38 */ lwz r3, 0x38(r3) /* 801CB9B4 001C7614 80 63 00 08 */ lwz r3, 8(r3) /* 801CB9B8 001C7618 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CB9BC 001C761C 54 00 05 AC */ rlwinm r0, r0, 0, 0x16, 0x16 lbl_801CB9C0: /* 801CB9C0 001C7620 2C 00 00 00 */ cmpwi r0, 0 /* 801CB9C4 001C7624 41 82 00 1C */ beq lbl_801CB9E0 /* 801CB9C8 001C7628 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CB9CC 001C762C 7F E3 FB 78 */ mr r3, r31 /* 801CB9D0 001C7630 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CB9D4 001C7634 38 84 00 18 */ addi r4, r4, 0x18 /* 801CB9D8 001C7638 48 00 28 F9 */ bl func_801CE2D0 /* 801CB9DC 001C763C 48 00 00 9C */ b lbl_801CBA78 lbl_801CB9E0: /* 801CB9E0 001C7640 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CB9E4 001C7644 7F E3 FB 78 */ mr r3, r31 /* 801CB9E8 001C7648 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CB9EC 001C764C 38 84 00 1D */ addi r4, r4, 0x1d /* 801CB9F0 001C7650 48 00 28 E1 */ bl func_801CE2D0 /* 801CB9F4 001C7654 48 00 00 84 */ b lbl_801CBA78 lbl_801CB9F8: /* 801CB9F8 001C7658 88 9D 00 05 */ lbz r4, 5(r29) /* 801CB9FC 001C765C 3B FC FF FC */ addi r31, r28, -4 /* 801CBA00 001C7660 38 00 00 00 */ li r0, 0 /* 801CBA04 001C7664 2C 04 00 00 */ cmpwi r4, 0 /* 801CBA08 001C7668 41 80 00 0C */ blt lbl_801CBA14 /* 801CBA0C 001C766C 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CBA10 001C7670 41 80 00 08 */ blt lbl_801CBA18 lbl_801CBA14: /* 801CBA14 001C7674 38 00 00 01 */ li r0, 1 lbl_801CBA18: /* 801CBA18 001C7678 2C 00 00 00 */ cmpwi r0, 0 /* 801CBA1C 001C767C 41 82 00 0C */ beq lbl_801CBA28 /* 801CBA20 001C7680 38 00 00 00 */ li r0, 0 /* 801CBA24 001C7684 48 00 00 20 */ b lbl_801CBA44 lbl_801CBA28: /* 801CBA28 001C7688 3C 60 80 42 */ lis r3, lbl_80422D48@ha /* 801CBA2C 001C768C 54 80 08 3C */ slwi r0, r4, 1 /* 801CBA30 001C7690 38 63 2D 48 */ addi r3, r3, lbl_80422D48@l /* 801CBA34 001C7694 80 63 00 38 */ lwz r3, 0x38(r3) /* 801CBA38 001C7698 80 63 00 08 */ lwz r3, 8(r3) /* 801CBA3C 001C769C 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CBA40 001C76A0 54 00 05 AC */ rlwinm r0, r0, 0, 0x16, 0x16 lbl_801CBA44: /* 801CBA44 001C76A4 2C 00 00 00 */ cmpwi r0, 0 /* 801CBA48 001C76A8 41 82 00 1C */ beq lbl_801CBA64 /* 801CBA4C 001C76AC 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CBA50 001C76B0 7F E3 FB 78 */ mr r3, r31 /* 801CBA54 001C76B4 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CBA58 001C76B8 38 84 00 22 */ addi r4, r4, 0x22 /* 801CBA5C 001C76BC 48 00 28 75 */ bl func_801CE2D0 /* 801CBA60 001C76C0 48 00 00 18 */ b lbl_801CBA78 lbl_801CBA64: /* 801CBA64 001C76C4 3C 80 80 40 */ lis r4, lbl_803FCCC0@ha /* 801CBA68 001C76C8 7F E3 FB 78 */ mr r3, r31 /* 801CBA6C 001C76CC 38 84 CC C0 */ addi r4, r4, lbl_803FCCC0@l /* 801CBA70 001C76D0 38 84 00 26 */ addi r4, r4, 0x26 /* 801CBA74 001C76D4 48 00 28 5D */ bl func_801CE2D0 lbl_801CBA78: /* 801CBA78 001C76D8 7F E3 FB 78 */ mr r3, r31 /* 801CBA7C 001C76DC 48 00 04 A4 */ b lbl_801CBF20 lbl_801CBA80: /* 801CBA80 001C76E0 A8 A1 00 0E */ lha r5, 0xe(r1) /* 801CBA84 001C76E4 38 60 00 00 */ li r3, 0 /* 801CBA88 001C76E8 88 81 00 10 */ lbz r4, 0x10(r1) /* 801CBA8C 001C76EC 3B FC FF FF */ addi r31, r28, -1 /* 801CBA90 001C76F0 88 1D 00 05 */ lbz r0, 5(r29) /* 801CBA94 001C76F4 7C 84 2A 14 */ add r4, r4, r5 /* 801CBA98 001C76F8 38 84 FF FF */ addi r4, r4, -1 /* 801CBA9C 001C76FC 2C 00 00 65 */ cmpwi r0, 0x65 /* 801CBAA0 001C7700 B0 81 00 0E */ sth r4, 0xe(r1) /* 801CBAA4 001C7704 98 7C FF FF */ stb r3, -1(r28) /* 801CBAA8 001C7708 41 82 00 F4 */ beq lbl_801CBB9C /* 801CBAAC 001C770C 40 80 00 28 */ bge lbl_801CBAD4 /* 801CBAB0 001C7710 2C 00 00 46 */ cmpwi r0, 0x46 /* 801CBAB4 001C7714 41 82 02 4C */ beq lbl_801CBD00 /* 801CBAB8 001C7718 40 80 00 10 */ bge lbl_801CBAC8 /* 801CBABC 001C771C 2C 00 00 45 */ cmpwi r0, 0x45 /* 801CBAC0 001C7720 40 80 00 DC */ bge lbl_801CBB9C /* 801CBAC4 001C7724 48 00 04 58 */ b lbl_801CBF1C lbl_801CBAC8: /* 801CBAC8 001C7728 2C 00 00 48 */ cmpwi r0, 0x48 /* 801CBACC 001C772C 40 80 04 50 */ bge lbl_801CBF1C /* 801CBAD0 001C7730 48 00 00 14 */ b lbl_801CBAE4 lbl_801CBAD4: /* 801CBAD4 001C7734 2C 00 00 67 */ cmpwi r0, 0x67 /* 801CBAD8 001C7738 41 82 00 0C */ beq lbl_801CBAE4 /* 801CBADC 001C773C 40 80 04 40 */ bge lbl_801CBF1C /* 801CBAE0 001C7740 48 00 02 20 */ b lbl_801CBD00 lbl_801CBAE4: /* 801CBAE4 001C7744 80 9D 00 0C */ lwz r4, 0xc(r29) /* 801CBAE8 001C7748 88 01 00 10 */ lbz r0, 0x10(r1) /* 801CBAEC 001C774C 7C 00 20 00 */ cmpw r0, r4 /* 801CBAF0 001C7750 40 81 00 0C */ ble lbl_801CBAFC /* 801CBAF4 001C7754 38 61 00 0C */ addi r3, r1, 0xc /* 801CBAF8 001C7758 4B FF FB 55 */ bl func_801CB64C lbl_801CBAFC: /* 801CBAFC 001C775C A8 81 00 0E */ lha r4, 0xe(r1) /* 801CBB00 001C7760 2C 04 FF FC */ cmpwi r4, -4 /* 801CBB04 001C7764 41 80 00 10 */ blt lbl_801CBB14 /* 801CBB08 001C7768 80 7D 00 0C */ lwz r3, 0xc(r29) /* 801CBB0C 001C776C 7C 04 18 00 */ cmpw r4, r3 /* 801CBB10 001C7770 41 80 00 50 */ blt lbl_801CBB60 lbl_801CBB14: /* 801CBB14 001C7774 88 1D 00 03 */ lbz r0, 3(r29) /* 801CBB18 001C7778 2C 00 00 00 */ cmpwi r0, 0 /* 801CBB1C 001C777C 41 82 00 14 */ beq lbl_801CBB30 /* 801CBB20 001C7780 80 7D 00 0C */ lwz r3, 0xc(r29) /* 801CBB24 001C7784 38 03 FF FF */ addi r0, r3, -1 /* 801CBB28 001C7788 90 1D 00 0C */ stw r0, 0xc(r29) /* 801CBB2C 001C778C 48 00 00 10 */ b lbl_801CBB3C lbl_801CBB30: /* 801CBB30 001C7790 88 61 00 10 */ lbz r3, 0x10(r1) /* 801CBB34 001C7794 38 03 FF FF */ addi r0, r3, -1 /* 801CBB38 001C7798 90 1D 00 0C */ stw r0, 0xc(r29) lbl_801CBB3C: /* 801CBB3C 001C779C 88 1D 00 05 */ lbz r0, 5(r29) /* 801CBB40 001C77A0 28 00 00 67 */ cmplwi r0, 0x67 /* 801CBB44 001C77A4 40 82 00 10 */ bne lbl_801CBB54 /* 801CBB48 001C77A8 38 00 00 65 */ li r0, 0x65 /* 801CBB4C 001C77AC 98 1D 00 05 */ stb r0, 5(r29) /* 801CBB50 001C77B0 48 00 00 4C */ b lbl_801CBB9C lbl_801CBB54: /* 801CBB54 001C77B4 38 00 00 45 */ li r0, 0x45 /* 801CBB58 001C77B8 98 1D 00 05 */ stb r0, 5(r29) /* 801CBB5C 001C77BC 48 00 00 40 */ b lbl_801CBB9C lbl_801CBB60: /* 801CBB60 001C77C0 88 1D 00 03 */ lbz r0, 3(r29) /* 801CBB64 001C77C4 2C 00 00 00 */ cmpwi r0, 0 /* 801CBB68 001C77C8 41 82 00 14 */ beq lbl_801CBB7C /* 801CBB6C 001C77CC 38 04 00 01 */ addi r0, r4, 1 /* 801CBB70 001C77D0 7C 00 18 50 */ subf r0, r0, r3 /* 801CBB74 001C77D4 90 1D 00 0C */ stw r0, 0xc(r29) /* 801CBB78 001C77D8 48 00 01 88 */ b lbl_801CBD00 lbl_801CBB7C: /* 801CBB7C 001C77DC 88 01 00 10 */ lbz r0, 0x10(r1) /* 801CBB80 001C77E0 38 64 00 01 */ addi r3, r4, 1 /* 801CBB84 001C77E4 7C 03 00 51 */ subf. r0, r3, r0 /* 801CBB88 001C77E8 90 1D 00 0C */ stw r0, 0xc(r29) /* 801CBB8C 001C77EC 40 80 01 74 */ bge lbl_801CBD00 /* 801CBB90 001C77F0 38 00 00 00 */ li r0, 0 /* 801CBB94 001C77F4 90 1D 00 0C */ stw r0, 0xc(r29) /* 801CBB98 001C77F8 48 00 01 68 */ b lbl_801CBD00 lbl_801CBB9C: /* 801CBB9C 001C77FC 80 7D 00 0C */ lwz r3, 0xc(r29) /* 801CBBA0 001C7800 88 01 00 10 */ lbz r0, 0x10(r1) /* 801CBBA4 001C7804 38 83 00 01 */ addi r4, r3, 1 /* 801CBBA8 001C7808 7C 00 20 00 */ cmpw r0, r4 /* 801CBBAC 001C780C 40 81 00 0C */ ble lbl_801CBBB8 /* 801CBBB0 001C7810 38 61 00 0C */ addi r3, r1, 0xc /* 801CBBB4 001C7814 4B FF FA 99 */ bl func_801CB64C lbl_801CBBB8: /* 801CBBB8 001C7818 A8 C1 00 0E */ lha r6, 0xe(r1) /* 801CBBBC 001C781C 39 00 00 2B */ li r8, 0x2b /* 801CBBC0 001C7820 2C 06 00 00 */ cmpwi r6, 0 /* 801CBBC4 001C7824 40 80 00 0C */ bge lbl_801CBBD0 /* 801CBBC8 001C7828 7C C6 00 D0 */ neg r6, r6 /* 801CBBCC 001C782C 39 00 00 2D */ li r8, 0x2d lbl_801CBBD0: /* 801CBBD0 001C7830 3C 60 66 66 */ lis r3, 0x66666667@ha /* 801CBBD4 001C7834 38 E0 00 00 */ li r7, 0 /* 801CBBD8 001C7838 38 A3 66 67 */ addi r5, r3, 0x66666667@l /* 801CBBDC 001C783C 48 00 00 38 */ b lbl_801CBC14 lbl_801CBBE0: /* 801CBBE0 001C7840 7C 05 30 96 */ mulhw r0, r5, r6 /* 801CBBE4 001C7844 38 E7 00 01 */ addi r7, r7, 1 /* 801CBBE8 001C7848 7C 03 16 70 */ srawi r3, r0, 2 /* 801CBBEC 001C784C 54 64 0F FE */ srwi r4, r3, 0x1f /* 801CBBF0 001C7850 7C 00 16 70 */ srawi r0, r0, 2 /* 801CBBF4 001C7854 7C 63 22 14 */ add r3, r3, r4 /* 801CBBF8 001C7858 1C 83 00 0A */ mulli r4, r3, 0xa /* 801CBBFC 001C785C 54 03 0F FE */ srwi r3, r0, 0x1f /* 801CBC00 001C7860 7C 84 30 50 */ subf r4, r4, r6 /* 801CBC04 001C7864 7C C0 1A 14 */ add r6, r0, r3 /* 801CBC08 001C7868 38 04 00 30 */ addi r0, r4, 0x30 /* 801CBC0C 001C786C 98 1F FF FF */ stb r0, -1(r31) /* 801CBC10 001C7870 3B FF FF FF */ addi r31, r31, -1 lbl_801CBC14: /* 801CBC14 001C7874 2C 06 00 00 */ cmpwi r6, 0 /* 801CBC18 001C7878 40 82 FF C8 */ bne lbl_801CBBE0 /* 801CBC1C 001C787C 2C 07 00 02 */ cmpwi r7, 2 /* 801CBC20 001C7880 41 80 FF C0 */ blt lbl_801CBBE0 /* 801CBC24 001C7884 99 1F FF FF */ stb r8, -1(r31) /* 801CBC28 001C7888 88 1D 00 05 */ lbz r0, 5(r29) /* 801CBC2C 001C788C 80 7D 00 0C */ lwz r3, 0xc(r29) /* 801CBC30 001C7890 9C 1F FF FE */ stbu r0, -2(r31) /* 801CBC34 001C7894 7C 1F E0 50 */ subf r0, r31, r28 /* 801CBC38 001C7898 7C 03 02 14 */ add r0, r3, r0 /* 801CBC3C 001C789C 2C 00 01 FD */ cmpwi r0, 0x1fd /* 801CBC40 001C78A0 40 81 00 0C */ ble lbl_801CBC4C /* 801CBC44 001C78A4 38 60 00 00 */ li r3, 0 /* 801CBC48 001C78A8 48 00 02 D8 */ b lbl_801CBF20 lbl_801CBC4C: /* 801CBC4C 001C78AC 88 81 00 10 */ lbz r4, 0x10(r1) /* 801CBC50 001C78B0 38 03 00 01 */ addi r0, r3, 1 /* 801CBC54 001C78B4 7C 04 00 00 */ cmpw r4, r0 /* 801CBC58 001C78B8 40 80 00 20 */ bge lbl_801CBC78 /* 801CBC5C 001C78BC 38 63 00 02 */ addi r3, r3, 2 /* 801CBC60 001C78C0 38 00 00 30 */ li r0, 0x30 /* 801CBC64 001C78C4 7C 64 18 50 */ subf r3, r4, r3 /* 801CBC68 001C78C8 48 00 00 08 */ b lbl_801CBC70 lbl_801CBC6C: /* 801CBC6C 001C78CC 9C 1F FF FF */ stbu r0, -1(r31) lbl_801CBC70: /* 801CBC70 001C78D0 34 63 FF FF */ addic. r3, r3, -1 /* 801CBC74 001C78D4 40 82 FF F8 */ bne lbl_801CBC6C lbl_801CBC78: /* 801CBC78 001C78D8 88 61 00 10 */ lbz r3, 0x10(r1) /* 801CBC7C 001C78DC 38 81 00 11 */ addi r4, r1, 0x11 /* 801CBC80 001C78E0 7C 84 1A 14 */ add r4, r4, r3 /* 801CBC84 001C78E4 48 00 00 0C */ b lbl_801CBC90 lbl_801CBC88: /* 801CBC88 001C78E8 8C 04 FF FF */ lbzu r0, -1(r4) /* 801CBC8C 001C78EC 9C 1F FF FF */ stbu r0, -1(r31) lbl_801CBC90: /* 801CBC90 001C78F0 34 63 FF FF */ addic. r3, r3, -1 /* 801CBC94 001C78F4 40 82 FF F4 */ bne lbl_801CBC88 /* 801CBC98 001C78F8 80 1D 00 0C */ lwz r0, 0xc(r29) /* 801CBC9C 001C78FC 2C 00 00 00 */ cmpwi r0, 0 /* 801CBCA0 001C7900 40 82 00 10 */ bne lbl_801CBCB0 /* 801CBCA4 001C7904 88 1D 00 03 */ lbz r0, 3(r29) /* 801CBCA8 001C7908 2C 00 00 00 */ cmpwi r0, 0 /* 801CBCAC 001C790C 41 82 00 08 */ beq lbl_801CBCB4 lbl_801CBCB0: /* 801CBCB0 001C7910 9F DF FF FF */ stbu r30, -1(r31) lbl_801CBCB4: /* 801CBCB4 001C7914 88 01 00 11 */ lbz r0, 0x11(r1) /* 801CBCB8 001C7918 9C 1F FF FF */ stbu r0, -1(r31) /* 801CBCBC 001C791C 88 01 00 0C */ lbz r0, 0xc(r1) /* 801CBCC0 001C7920 7C 00 07 75 */ extsb. r0, r0 /* 801CBCC4 001C7924 41 82 00 10 */ beq lbl_801CBCD4 /* 801CBCC8 001C7928 38 00 00 2D */ li r0, 0x2d /* 801CBCCC 001C792C 9C 1F FF FF */ stbu r0, -1(r31) /* 801CBCD0 001C7930 48 00 02 4C */ b lbl_801CBF1C lbl_801CBCD4: /* 801CBCD4 001C7934 88 1D 00 01 */ lbz r0, 1(r29) /* 801CBCD8 001C7938 28 00 00 01 */ cmplwi r0, 1 /* 801CBCDC 001C793C 40 82 00 10 */ bne lbl_801CBCEC /* 801CBCE0 001C7940 38 00 00 2B */ li r0, 0x2b /* 801CBCE4 001C7944 9C 1F FF FF */ stbu r0, -1(r31) /* 801CBCE8 001C7948 48 00 02 34 */ b lbl_801CBF1C lbl_801CBCEC: /* 801CBCEC 001C794C 28 00 00 02 */ cmplwi r0, 2 /* 801CBCF0 001C7950 40 82 02 2C */ bne lbl_801CBF1C /* 801CBCF4 001C7954 38 00 00 20 */ li r0, 0x20 /* 801CBCF8 001C7958 9C 1F FF FF */ stbu r0, -1(r31) /* 801CBCFC 001C795C 48 00 02 20 */ b lbl_801CBF1C lbl_801CBD00: /* 801CBD00 001C7960 88 81 00 10 */ lbz r4, 0x10(r1) /* 801CBD04 001C7964 A8 A1 00 0E */ lha r5, 0xe(r1) /* 801CBD08 001C7968 7C 65 20 50 */ subf r3, r5, r4 /* 801CBD0C 001C796C 35 03 FF FF */ addic. r8, r3, -1 /* 801CBD10 001C7970 40 80 00 08 */ bge lbl_801CBD18 /* 801CBD14 001C7974 39 00 00 00 */ li r8, 0 lbl_801CBD18: /* 801CBD18 001C7978 80 1D 00 0C */ lwz r0, 0xc(r29) /* 801CBD1C 001C797C 7C 08 00 00 */ cmpw r8, r0 /* 801CBD20 001C7980 40 81 00 2C */ ble lbl_801CBD4C /* 801CBD24 001C7984 7C 00 40 50 */ subf r0, r0, r8 /* 801CBD28 001C7988 38 61 00 0C */ addi r3, r1, 0xc /* 801CBD2C 001C798C 7C 80 20 50 */ subf r4, r0, r4 /* 801CBD30 001C7990 4B FF F9 1D */ bl func_801CB64C /* 801CBD34 001C7994 88 81 00 10 */ lbz r4, 0x10(r1) /* 801CBD38 001C7998 A8 A1 00 0E */ lha r5, 0xe(r1) /* 801CBD3C 001C799C 7C 65 20 50 */ subf r3, r5, r4 /* 801CBD40 001C79A0 35 03 FF FF */ addic. r8, r3, -1 /* 801CBD44 001C79A4 40 80 00 08 */ bge lbl_801CBD4C /* 801CBD48 001C79A8 39 00 00 00 */ li r8, 0 lbl_801CBD4C: /* 801CBD4C 001C79AC 34 E5 00 01 */ addic. r7, r5, 1 /* 801CBD50 001C79B0 40 80 00 08 */ bge lbl_801CBD58 /* 801CBD54 001C79B4 38 E0 00 00 */ li r7, 0 lbl_801CBD58: /* 801CBD58 001C79B8 7C 07 42 14 */ add r0, r7, r8 /* 801CBD5C 001C79BC 2C 00 01 FD */ cmpwi r0, 0x1fd /* 801CBD60 001C79C0 40 81 00 0C */ ble lbl_801CBD6C /* 801CBD64 001C79C4 38 60 00 00 */ li r3, 0 /* 801CBD68 001C79C8 48 00 01 B8 */ b lbl_801CBF20 lbl_801CBD6C: /* 801CBD6C 001C79CC 38 C1 00 11 */ addi r6, r1, 0x11 /* 801CBD70 001C79D0 38 A0 00 00 */ li r5, 0 /* 801CBD74 001C79D4 7C C6 22 14 */ add r6, r6, r4 /* 801CBD78 001C79D8 38 60 00 30 */ li r3, 0x30 /* 801CBD7C 001C79DC 48 00 00 0C */ b lbl_801CBD88 lbl_801CBD80: /* 801CBD80 001C79E0 9C 7F FF FF */ stbu r3, -1(r31) /* 801CBD84 001C79E4 38 A5 00 01 */ addi r5, r5, 1 lbl_801CBD88: /* 801CBD88 001C79E8 80 1D 00 0C */ lwz r0, 0xc(r29) /* 801CBD8C 001C79EC 7C 08 00 50 */ subf r0, r8, r0 /* 801CBD90 001C79F0 7C 05 00 00 */ cmpw r5, r0 /* 801CBD94 001C79F4 41 80 FF EC */ blt lbl_801CBD80 /* 801CBD98 001C79F8 38 60 00 00 */ li r3, 0 /* 801CBD9C 001C79FC 48 00 00 10 */ b lbl_801CBDAC lbl_801CBDA0: /* 801CBDA0 001C7A00 8C 06 FF FF */ lbzu r0, -1(r6) /* 801CBDA4 001C7A04 38 63 00 01 */ addi r3, r3, 1 /* 801CBDA8 001C7A08 9C 1F FF FF */ stbu r0, -1(r31) lbl_801CBDAC: /* 801CBDAC 001C7A0C 7C 03 40 00 */ cmpw r3, r8 /* 801CBDB0 001C7A10 40 80 00 10 */ bge lbl_801CBDC0 /* 801CBDB4 001C7A14 88 01 00 10 */ lbz r0, 0x10(r1) /* 801CBDB8 001C7A18 7C 03 00 00 */ cmpw r3, r0 /* 801CBDBC 001C7A1C 41 80 FF E4 */ blt lbl_801CBDA0 lbl_801CBDC0: /* 801CBDC0 001C7A20 7C 03 40 00 */ cmpw r3, r8 /* 801CBDC4 001C7A24 7C 63 40 50 */ subf r3, r3, r8 /* 801CBDC8 001C7A28 38 80 00 30 */ li r4, 0x30 /* 801CBDCC 001C7A2C 40 80 00 48 */ bge lbl_801CBE14 /* 801CBDD0 001C7A30 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f /* 801CBDD4 001C7A34 7C 09 03 A6 */ mtctr r0 /* 801CBDD8 001C7A38 41 82 00 30 */ beq lbl_801CBE08 lbl_801CBDDC: /* 801CBDDC 001C7A3C 98 9F FF FF */ stb r4, -1(r31) /* 801CBDE0 001C7A40 98 9F FF FE */ stb r4, -2(r31) /* 801CBDE4 001C7A44 98 9F FF FD */ stb r4, -3(r31) /* 801CBDE8 001C7A48 98 9F FF FC */ stb r4, -4(r31) /* 801CBDEC 001C7A4C 98 9F FF FB */ stb r4, -5(r31) /* 801CBDF0 001C7A50 98 9F FF FA */ stb r4, -6(r31) /* 801CBDF4 001C7A54 98 9F FF F9 */ stb r4, -7(r31) /* 801CBDF8 001C7A58 9C 9F FF F8 */ stbu r4, -8(r31) /* 801CBDFC 001C7A5C 42 00 FF E0 */ bdnz lbl_801CBDDC /* 801CBE00 001C7A60 70 63 00 07 */ andi. r3, r3, 7 /* 801CBE04 001C7A64 41 82 00 10 */ beq lbl_801CBE14 lbl_801CBE08: /* 801CBE08 001C7A68 7C 69 03 A6 */ mtctr r3 lbl_801CBE0C: /* 801CBE0C 001C7A6C 9C 9F FF FF */ stbu r4, -1(r31) /* 801CBE10 001C7A70 42 00 FF FC */ bdnz lbl_801CBE0C lbl_801CBE14: /* 801CBE14 001C7A74 80 1D 00 0C */ lwz r0, 0xc(r29) /* 801CBE18 001C7A78 2C 00 00 00 */ cmpwi r0, 0 /* 801CBE1C 001C7A7C 40 82 00 10 */ bne lbl_801CBE2C /* 801CBE20 001C7A80 88 1D 00 03 */ lbz r0, 3(r29) /* 801CBE24 001C7A84 2C 00 00 00 */ cmpwi r0, 0 /* 801CBE28 001C7A88 41 82 00 08 */ beq lbl_801CBE30 lbl_801CBE2C: /* 801CBE2C 001C7A8C 9F DF FF FF */ stbu r30, -1(r31) lbl_801CBE30: /* 801CBE30 001C7A90 2C 07 00 00 */ cmpwi r7, 0 /* 801CBE34 001C7A94 41 82 00 A0 */ beq lbl_801CBED4 /* 801CBE38 001C7A98 38 80 00 00 */ li r4, 0 /* 801CBE3C 001C7A9C 38 60 00 30 */ li r3, 0x30 /* 801CBE40 001C7AA0 48 00 00 0C */ b lbl_801CBE4C lbl_801CBE44: /* 801CBE44 001C7AA4 9C 7F FF FF */ stbu r3, -1(r31) /* 801CBE48 001C7AA8 38 84 00 01 */ addi r4, r4, 1 lbl_801CBE4C: /* 801CBE4C 001C7AAC 88 01 00 10 */ lbz r0, 0x10(r1) /* 801CBE50 001C7AB0 7C 00 38 50 */ subf r0, r0, r7 /* 801CBE54 001C7AB4 7C 04 00 00 */ cmpw r4, r0 /* 801CBE58 001C7AB8 41 80 FF EC */ blt lbl_801CBE44 /* 801CBE5C 001C7ABC 7C 04 38 00 */ cmpw r4, r7 /* 801CBE60 001C7AC0 7C 64 38 50 */ subf r3, r4, r7 /* 801CBE64 001C7AC4 40 80 00 78 */ bge lbl_801CBEDC /* 801CBE68 001C7AC8 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f /* 801CBE6C 001C7ACC 7C 09 03 A6 */ mtctr r0 /* 801CBE70 001C7AD0 41 82 00 50 */ beq lbl_801CBEC0 lbl_801CBE74: /* 801CBE74 001C7AD4 88 06 FF FF */ lbz r0, -1(r6) /* 801CBE78 001C7AD8 98 1F FF FF */ stb r0, -1(r31) /* 801CBE7C 001C7ADC 88 06 FF FE */ lbz r0, -2(r6) /* 801CBE80 001C7AE0 98 1F FF FE */ stb r0, -2(r31) /* 801CBE84 001C7AE4 88 06 FF FD */ lbz r0, -3(r6) /* 801CBE88 001C7AE8 98 1F FF FD */ stb r0, -3(r31) /* 801CBE8C 001C7AEC 88 06 FF FC */ lbz r0, -4(r6) /* 801CBE90 001C7AF0 98 1F FF FC */ stb r0, -4(r31) /* 801CBE94 001C7AF4 88 06 FF FB */ lbz r0, -5(r6) /* 801CBE98 001C7AF8 98 1F FF FB */ stb r0, -5(r31) /* 801CBE9C 001C7AFC 88 06 FF FA */ lbz r0, -6(r6) /* 801CBEA0 001C7B00 98 1F FF FA */ stb r0, -6(r31) /* 801CBEA4 001C7B04 88 06 FF F9 */ lbz r0, -7(r6) /* 801CBEA8 001C7B08 98 1F FF F9 */ stb r0, -7(r31) /* 801CBEAC 001C7B0C 8C 06 FF F8 */ lbzu r0, -8(r6) /* 801CBEB0 001C7B10 9C 1F FF F8 */ stbu r0, -8(r31) /* 801CBEB4 001C7B14 42 00 FF C0 */ bdnz lbl_801CBE74 /* 801CBEB8 001C7B18 70 63 00 07 */ andi. r3, r3, 7 /* 801CBEBC 001C7B1C 41 82 00 20 */ beq lbl_801CBEDC lbl_801CBEC0: /* 801CBEC0 001C7B20 7C 69 03 A6 */ mtctr r3 lbl_801CBEC4: /* 801CBEC4 001C7B24 8C 06 FF FF */ lbzu r0, -1(r6) /* 801CBEC8 001C7B28 9C 1F FF FF */ stbu r0, -1(r31) /* 801CBECC 001C7B2C 42 00 FF F8 */ bdnz lbl_801CBEC4 /* 801CBED0 001C7B30 48 00 00 0C */ b lbl_801CBEDC lbl_801CBED4: /* 801CBED4 001C7B34 38 00 00 30 */ li r0, 0x30 /* 801CBED8 001C7B38 9C 1F FF FF */ stbu r0, -1(r31) lbl_801CBEDC: /* 801CBEDC 001C7B3C 88 01 00 0C */ lbz r0, 0xc(r1) /* 801CBEE0 001C7B40 7C 00 07 75 */ extsb. r0, r0 /* 801CBEE4 001C7B44 41 82 00 10 */ beq lbl_801CBEF4 /* 801CBEE8 001C7B48 38 00 00 2D */ li r0, 0x2d /* 801CBEEC 001C7B4C 9C 1F FF FF */ stbu r0, -1(r31) /* 801CBEF0 001C7B50 48 00 00 2C */ b lbl_801CBF1C lbl_801CBEF4: /* 801CBEF4 001C7B54 88 1D 00 01 */ lbz r0, 1(r29) /* 801CBEF8 001C7B58 28 00 00 01 */ cmplwi r0, 1 /* 801CBEFC 001C7B5C 40 82 00 10 */ bne lbl_801CBF0C /* 801CBF00 001C7B60 38 00 00 2B */ li r0, 0x2b /* 801CBF04 001C7B64 9C 1F FF FF */ stbu r0, -1(r31) /* 801CBF08 001C7B68 48 00 00 14 */ b lbl_801CBF1C lbl_801CBF0C: /* 801CBF0C 001C7B6C 28 00 00 02 */ cmplwi r0, 2 /* 801CBF10 001C7B70 40 82 00 0C */ bne lbl_801CBF1C /* 801CBF14 001C7B74 38 00 00 20 */ li r0, 0x20 /* 801CBF18 001C7B78 9C 1F FF FF */ stbu r0, -1(r31) lbl_801CBF1C: /* 801CBF1C 001C7B7C 7F E3 FB 78 */ mr r3, r31 lbl_801CBF20: /* 801CBF20 001C7B80 80 01 00 54 */ lwz r0, 0x54(r1) /* 801CBF24 001C7B84 CB E1 00 48 */ lfd f31, 0x48(r1) /* 801CBF28 001C7B88 83 E1 00 44 */ lwz r31, 0x44(r1) /* 801CBF2C 001C7B8C 83 C1 00 40 */ lwz r30, 0x40(r1) /* 801CBF30 001C7B90 83 A1 00 3C */ lwz r29, 0x3c(r1) /* 801CBF34 001C7B94 83 81 00 38 */ lwz r28, 0x38(r1) /* 801CBF38 001C7B98 7C 08 03 A6 */ mtlr r0 /* 801CBF3C 001C7B9C 38 21 00 50 */ addi r1, r1, 0x50 /* 801CBF40 001C7BA0 4E 80 00 20 */ blr .global func_801CBF44 func_801CBF44: /* 801CBF44 001C7BA4 94 21 FD 40 */ stwu r1, -0x2c0(r1) /* 801CBF48 001C7BA8 7C 08 02 A6 */ mflr r0 /* 801CBF4C 001C7BAC 90 01 02 C4 */ stw r0, 0x2c4(r1) /* 801CBF50 001C7BB0 BE 01 02 80 */ stmw r16, 0x280(r1) /* 801CBF54 001C7BB4 3A 00 00 20 */ li r16, 0x20 /* 801CBF58 001C7BB8 3F A0 80 40 */ lis r29, lbl_803FCCC0@ha /* 801CBF5C 001C7BBC 7C 71 1B 78 */ mr r17, r3 /* 801CBF60 001C7BC0 7C 92 23 78 */ mr r18, r4 /* 801CBF64 001C7BC4 7C B7 2B 78 */ mr r23, r5 /* 801CBF68 001C7BC8 7C D3 33 78 */ mr r19, r6 /* 801CBF6C 001C7BCC 3B BD CC C0 */ addi r29, r29, lbl_803FCCC0@l /* 801CBF70 001C7BD0 3B 81 02 7F */ addi r28, r1, 0x27f /* 801CBF74 001C7BD4 3B 20 00 00 */ li r25, 0 /* 801CBF78 001C7BD8 3B E0 00 25 */ li r31, 0x25 /* 801CBF7C 001C7BDC 3F C0 80 42 */ lis r30, 0x8042 /* 801CBF80 001C7BE0 9A 01 00 09 */ stb r16, 9(r1) /* 801CBF84 001C7BE4 48 00 07 F8 */ b lbl_801CC77C lbl_801CBF88: /* 801CBF88 001C7BE8 7E E3 BB 78 */ mr r3, r23 /* 801CBF8C 001C7BEC 38 80 00 25 */ li r4, 0x25 /* 801CBF90 001C7BF0 48 00 26 19 */ bl func_801CE5A8 /* 801CBF94 001C7BF4 2C 03 00 00 */ cmpwi r3, 0 /* 801CBF98 001C7BF8 7C 78 1B 78 */ mr r24, r3 /* 801CBF9C 001C7BFC 40 82 00 40 */ bne lbl_801CBFDC /* 801CBFA0 001C7C00 7E E3 BB 78 */ mr r3, r23 /* 801CBFA4 001C7C04 4B FF AB C1 */ bl strlen /* 801CBFA8 001C7C08 2C 03 00 00 */ cmpwi r3, 0 /* 801CBFAC 001C7C0C 7C 65 1B 78 */ mr r5, r3 /* 801CBFB0 001C7C10 7F 39 1A 14 */ add r25, r25, r3 /* 801CBFB4 001C7C14 41 82 07 D4 */ beq lbl_801CC788 /* 801CBFB8 001C7C18 7E 2C 8B 78 */ mr r12, r17 /* 801CBFBC 001C7C1C 7E 43 93 78 */ mr r3, r18 /* 801CBFC0 001C7C20 7E E4 BB 78 */ mr r4, r23 /* 801CBFC4 001C7C24 7D 89 03 A6 */ mtctr r12 /* 801CBFC8 001C7C28 4E 80 04 21 */ bctrl /* 801CBFCC 001C7C2C 2C 03 00 00 */ cmpwi r3, 0 /* 801CBFD0 001C7C30 40 82 07 B8 */ bne lbl_801CC788 /* 801CBFD4 001C7C34 38 60 FF FF */ li r3, -1 /* 801CBFD8 001C7C38 48 00 07 B4 */ b lbl_801CC78C lbl_801CBFDC: /* 801CBFDC 001C7C3C 7C B7 18 51 */ subf. r5, r23, r3 /* 801CBFE0 001C7C40 7F 39 2A 14 */ add r25, r25, r5 /* 801CBFE4 001C7C44 41 82 00 28 */ beq lbl_801CC00C /* 801CBFE8 001C7C48 7E 2C 8B 78 */ mr r12, r17 /* 801CBFEC 001C7C4C 7E 43 93 78 */ mr r3, r18 /* 801CBFF0 001C7C50 7E E4 BB 78 */ mr r4, r23 /* 801CBFF4 001C7C54 7D 89 03 A6 */ mtctr r12 /* 801CBFF8 001C7C58 4E 80 04 21 */ bctrl /* 801CBFFC 001C7C5C 2C 03 00 00 */ cmpwi r3, 0 /* 801CC000 001C7C60 40 82 00 0C */ bne lbl_801CC00C /* 801CC004 001C7C64 38 60 FF FF */ li r3, -1 /* 801CC008 001C7C68 48 00 07 84 */ b lbl_801CC78C lbl_801CC00C: /* 801CC00C 001C7C6C 7F 03 C3 78 */ mr r3, r24 /* 801CC010 001C7C70 7E 64 9B 78 */ mr r4, r19 /* 801CC014 001C7C74 38 A1 00 70 */ addi r5, r1, 0x70 /* 801CC018 001C7C78 4B FF E7 A9 */ bl func_801CA7C0 /* 801CC01C 001C7C7C 88 01 00 75 */ lbz r0, 0x75(r1) /* 801CC020 001C7C80 7C 77 1B 78 */ mr r23, r3 /* 801CC024 001C7C84 2C 00 00 68 */ cmpwi r0, 0x68 /* 801CC028 001C7C88 41 82 05 D4 */ beq lbl_801CC5FC /* 801CC02C 001C7C8C 40 80 00 60 */ bge lbl_801CC08C /* 801CC030 001C7C90 2C 00 00 58 */ cmpwi r0, 0x58 /* 801CC034 001C7C94 41 82 02 10 */ beq lbl_801CC244 /* 801CC038 001C7C98 40 80 00 30 */ bge lbl_801CC068 /* 801CC03C 001C7C9C 2C 00 00 41 */ cmpwi r0, 0x41 /* 801CC040 001C7CA0 41 82 03 D0 */ beq lbl_801CC410 /* 801CC044 001C7CA4 40 80 00 10 */ bge lbl_801CC054 /* 801CC048 001C7CA8 2C 00 00 25 */ cmpwi r0, 0x25 /* 801CC04C 001C7CAC 41 82 05 A0 */ beq lbl_801CC5EC /* 801CC050 001C7CB0 48 00 05 AC */ b lbl_801CC5FC lbl_801CC054: /* 801CC054 001C7CB4 2C 00 00 48 */ cmpwi r0, 0x48 /* 801CC058 001C7CB8 40 80 05 A4 */ bge lbl_801CC5FC /* 801CC05C 001C7CBC 2C 00 00 45 */ cmpwi r0, 0x45 /* 801CC060 001C7CC0 40 80 03 40 */ bge lbl_801CC3A0 /* 801CC064 001C7CC4 48 00 05 98 */ b lbl_801CC5FC lbl_801CC068: /* 801CC068 001C7CC8 2C 00 00 63 */ cmpwi r0, 0x63 /* 801CC06C 001C7CCC 41 82 05 60 */ beq lbl_801CC5CC /* 801CC070 001C7CD0 40 80 00 10 */ bge lbl_801CC080 /* 801CC074 001C7CD4 2C 00 00 61 */ cmpwi r0, 0x61 /* 801CC078 001C7CD8 41 82 03 98 */ beq lbl_801CC410 /* 801CC07C 001C7CDC 48 00 05 80 */ b lbl_801CC5FC lbl_801CC080: /* 801CC080 001C7CE0 2C 00 00 65 */ cmpwi r0, 0x65 /* 801CC084 001C7CE4 40 80 03 1C */ bge lbl_801CC3A0 /* 801CC088 001C7CE8 48 00 00 60 */ b lbl_801CC0E8 lbl_801CC08C: /* 801CC08C 001C7CEC 2C 00 00 74 */ cmpwi r0, 0x74 /* 801CC090 001C7CF0 41 82 05 6C */ beq lbl_801CC5FC /* 801CC094 001C7CF4 40 80 00 30 */ bge lbl_801CC0C4 /* 801CC098 001C7CF8 2C 00 00 6F */ cmpwi r0, 0x6f /* 801CC09C 001C7CFC 41 82 01 A8 */ beq lbl_801CC244 /* 801CC0A0 001C7D00 40 80 00 18 */ bge lbl_801CC0B8 /* 801CC0A4 001C7D04 2C 00 00 6E */ cmpwi r0, 0x6e /* 801CC0A8 001C7D08 40 80 04 AC */ bge lbl_801CC554 /* 801CC0AC 001C7D0C 2C 00 00 6A */ cmpwi r0, 0x6a /* 801CC0B0 001C7D10 40 80 05 4C */ bge lbl_801CC5FC /* 801CC0B4 001C7D14 48 00 00 34 */ b lbl_801CC0E8 lbl_801CC0B8: /* 801CC0B8 001C7D18 2C 00 00 73 */ cmpwi r0, 0x73 /* 801CC0BC 001C7D1C 40 80 03 C4 */ bge lbl_801CC480 /* 801CC0C0 001C7D20 48 00 05 3C */ b lbl_801CC5FC lbl_801CC0C4: /* 801CC0C4 001C7D24 2C 00 00 78 */ cmpwi r0, 0x78 /* 801CC0C8 001C7D28 41 82 01 7C */ beq lbl_801CC244 /* 801CC0CC 001C7D2C 40 80 00 10 */ bge lbl_801CC0DC /* 801CC0D0 001C7D30 2C 00 00 76 */ cmpwi r0, 0x76 /* 801CC0D4 001C7D34 40 80 05 28 */ bge lbl_801CC5FC /* 801CC0D8 001C7D38 48 00 01 6C */ b lbl_801CC244 lbl_801CC0DC: /* 801CC0DC 001C7D3C 2C 00 00 FF */ cmpwi r0, 0xff /* 801CC0E0 001C7D40 41 82 05 1C */ beq lbl_801CC5FC /* 801CC0E4 001C7D44 48 00 05 18 */ b lbl_801CC5FC lbl_801CC0E8: /* 801CC0E8 001C7D48 88 01 00 74 */ lbz r0, 0x74(r1) /* 801CC0EC 001C7D4C 28 00 00 03 */ cmplwi r0, 3 /* 801CC0F0 001C7D50 40 82 00 18 */ bne lbl_801CC108 /* 801CC0F4 001C7D54 7E 63 9B 78 */ mr r3, r19 /* 801CC0F8 001C7D58 38 80 00 01 */ li r4, 1 /* 801CC0FC 001C7D5C 4B FF AA 85 */ bl __va_arg /* 801CC100 001C7D60 82 C3 00 00 */ lwz r22, 0(r3) /* 801CC104 001C7D64 48 00 00 8C */ b lbl_801CC190 lbl_801CC108: /* 801CC108 001C7D68 28 00 00 04 */ cmplwi r0, 4 /* 801CC10C 001C7D6C 40 82 00 1C */ bne lbl_801CC128 /* 801CC110 001C7D70 7E 63 9B 78 */ mr r3, r19 /* 801CC114 001C7D74 38 80 00 02 */ li r4, 2 /* 801CC118 001C7D78 4B FF AA 69 */ bl __va_arg /* 801CC11C 001C7D7C 82 A3 00 00 */ lwz r21, 0(r3) /* 801CC120 001C7D80 82 83 00 04 */ lwz r20, 4(r3) /* 801CC124 001C7D84 48 00 00 6C */ b lbl_801CC190 lbl_801CC128: /* 801CC128 001C7D88 28 00 00 06 */ cmplwi r0, 6 /* 801CC12C 001C7D8C 40 82 00 1C */ bne lbl_801CC148 /* 801CC130 001C7D90 7E 63 9B 78 */ mr r3, r19 /* 801CC134 001C7D94 38 80 00 02 */ li r4, 2 /* 801CC138 001C7D98 4B FF AA 49 */ bl __va_arg /* 801CC13C 001C7D9C 82 A3 00 00 */ lwz r21, 0(r3) /* 801CC140 001C7DA0 82 83 00 04 */ lwz r20, 4(r3) /* 801CC144 001C7DA4 48 00 00 4C */ b lbl_801CC190 lbl_801CC148: /* 801CC148 001C7DA8 28 00 00 07 */ cmplwi r0, 7 /* 801CC14C 001C7DAC 40 82 00 18 */ bne lbl_801CC164 /* 801CC150 001C7DB0 7E 63 9B 78 */ mr r3, r19 /* 801CC154 001C7DB4 38 80 00 01 */ li r4, 1 /* 801CC158 001C7DB8 4B FF AA 29 */ bl __va_arg /* 801CC15C 001C7DBC 82 C3 00 00 */ lwz r22, 0(r3) /* 801CC160 001C7DC0 48 00 00 30 */ b lbl_801CC190 lbl_801CC164: /* 801CC164 001C7DC4 28 00 00 08 */ cmplwi r0, 8 /* 801CC168 001C7DC8 40 82 00 18 */ bne lbl_801CC180 /* 801CC16C 001C7DCC 7E 63 9B 78 */ mr r3, r19 /* 801CC170 001C7DD0 38 80 00 01 */ li r4, 1 /* 801CC174 001C7DD4 4B FF AA 0D */ bl __va_arg /* 801CC178 001C7DD8 82 C3 00 00 */ lwz r22, 0(r3) /* 801CC17C 001C7DDC 48 00 00 14 */ b lbl_801CC190 lbl_801CC180: /* 801CC180 001C7DE0 7E 63 9B 78 */ mr r3, r19 /* 801CC184 001C7DE4 38 80 00 01 */ li r4, 1 /* 801CC188 001C7DE8 4B FF A9 F9 */ bl __va_arg /* 801CC18C 001C7DEC 82 C3 00 00 */ lwz r22, 0(r3) lbl_801CC190: /* 801CC190 001C7DF0 88 01 00 74 */ lbz r0, 0x74(r1) /* 801CC194 001C7DF4 28 00 00 02 */ cmplwi r0, 2 /* 801CC198 001C7DF8 40 82 00 08 */ bne lbl_801CC1A0 /* 801CC19C 001C7DFC 7E D6 07 34 */ extsh r22, r22 lbl_801CC1A0: /* 801CC1A0 001C7E00 28 00 00 01 */ cmplwi r0, 1 /* 801CC1A4 001C7E04 40 82 00 08 */ bne lbl_801CC1AC /* 801CC1A8 001C7E08 7E D6 07 74 */ extsb r22, r22 lbl_801CC1AC: /* 801CC1AC 001C7E0C 28 00 00 04 */ cmplwi r0, 4 /* 801CC1B0 001C7E10 41 82 00 0C */ beq lbl_801CC1BC /* 801CC1B4 001C7E14 28 00 00 06 */ cmplwi r0, 6 /* 801CC1B8 001C7E18 40 82 00 48 */ bne lbl_801CC200 lbl_801CC1BC: /* 801CC1BC 001C7E1C 81 21 00 70 */ lwz r9, 0x70(r1) /* 801CC1C0 001C7E20 7E 84 A3 78 */ mr r4, r20 /* 801CC1C4 001C7E24 81 01 00 74 */ lwz r8, 0x74(r1) /* 801CC1C8 001C7E28 7E A3 AB 78 */ mr r3, r21 /* 801CC1CC 001C7E2C 80 E1 00 78 */ lwz r7, 0x78(r1) /* 801CC1D0 001C7E30 38 A1 02 80 */ addi r5, r1, 0x280 /* 801CC1D4 001C7E34 80 01 00 7C */ lwz r0, 0x7c(r1) /* 801CC1D8 001C7E38 38 C1 00 60 */ addi r6, r1, 0x60 /* 801CC1DC 001C7E3C 91 21 00 60 */ stw r9, 0x60(r1) /* 801CC1E0 001C7E40 91 01 00 64 */ stw r8, 0x64(r1) /* 801CC1E4 001C7E44 90 E1 00 68 */ stw r7, 0x68(r1) /* 801CC1E8 001C7E48 90 01 00 6C */ stw r0, 0x6c(r1) /* 801CC1EC 001C7E4C 4B FF ED F9 */ bl func_801CAFE4 /* 801CC1F0 001C7E50 2C 03 00 00 */ cmpwi r3, 0 /* 801CC1F4 001C7E54 7C 7A 1B 78 */ mr r26, r3 /* 801CC1F8 001C7E58 41 82 04 04 */ beq lbl_801CC5FC /* 801CC1FC 001C7E5C 48 00 00 40 */ b lbl_801CC23C lbl_801CC200: /* 801CC200 001C7E60 81 01 00 70 */ lwz r8, 0x70(r1) /* 801CC204 001C7E64 7E C3 B3 78 */ mr r3, r22 /* 801CC208 001C7E68 80 E1 00 74 */ lwz r7, 0x74(r1) /* 801CC20C 001C7E6C 38 81 02 80 */ addi r4, r1, 0x280 /* 801CC210 001C7E70 80 C1 00 78 */ lwz r6, 0x78(r1) /* 801CC214 001C7E74 38 A1 00 50 */ addi r5, r1, 0x50 /* 801CC218 001C7E78 80 01 00 7C */ lwz r0, 0x7c(r1) /* 801CC21C 001C7E7C 91 01 00 50 */ stw r8, 0x50(r1) /* 801CC220 001C7E80 90 E1 00 54 */ stw r7, 0x54(r1) /* 801CC224 001C7E84 90 C1 00 58 */ stw r6, 0x58(r1) /* 801CC228 001C7E88 90 01 00 5C */ stw r0, 0x5c(r1) /* 801CC22C 001C7E8C 4B FF EB 91 */ bl func_801CADBC /* 801CC230 001C7E90 2C 03 00 00 */ cmpwi r3, 0 /* 801CC234 001C7E94 7C 7A 1B 78 */ mr r26, r3 /* 801CC238 001C7E98 41 82 03 C4 */ beq lbl_801CC5FC lbl_801CC23C: /* 801CC23C 001C7E9C 7F 7A E0 50 */ subf r27, r26, r28 /* 801CC240 001C7EA0 48 00 04 00 */ b lbl_801CC640 lbl_801CC244: /* 801CC244 001C7EA4 88 01 00 74 */ lbz r0, 0x74(r1) /* 801CC248 001C7EA8 28 00 00 03 */ cmplwi r0, 3 /* 801CC24C 001C7EAC 40 82 00 18 */ bne lbl_801CC264 /* 801CC250 001C7EB0 7E 63 9B 78 */ mr r3, r19 /* 801CC254 001C7EB4 38 80 00 01 */ li r4, 1 /* 801CC258 001C7EB8 4B FF A9 29 */ bl __va_arg /* 801CC25C 001C7EBC 82 C3 00 00 */ lwz r22, 0(r3) /* 801CC260 001C7EC0 48 00 00 8C */ b lbl_801CC2EC lbl_801CC264: /* 801CC264 001C7EC4 28 00 00 04 */ cmplwi r0, 4 /* 801CC268 001C7EC8 40 82 00 1C */ bne lbl_801CC284 /* 801CC26C 001C7ECC 7E 63 9B 78 */ mr r3, r19 /* 801CC270 001C7ED0 38 80 00 02 */ li r4, 2 /* 801CC274 001C7ED4 4B FF A9 0D */ bl __va_arg /* 801CC278 001C7ED8 82 A3 00 00 */ lwz r21, 0(r3) /* 801CC27C 001C7EDC 82 83 00 04 */ lwz r20, 4(r3) /* 801CC280 001C7EE0 48 00 00 6C */ b lbl_801CC2EC lbl_801CC284: /* 801CC284 001C7EE4 28 00 00 06 */ cmplwi r0, 6 /* 801CC288 001C7EE8 40 82 00 1C */ bne lbl_801CC2A4 /* 801CC28C 001C7EEC 7E 63 9B 78 */ mr r3, r19 /* 801CC290 001C7EF0 38 80 00 02 */ li r4, 2 /* 801CC294 001C7EF4 4B FF A8 ED */ bl __va_arg /* 801CC298 001C7EF8 82 A3 00 00 */ lwz r21, 0(r3) /* 801CC29C 001C7EFC 82 83 00 04 */ lwz r20, 4(r3) /* 801CC2A0 001C7F00 48 00 00 4C */ b lbl_801CC2EC lbl_801CC2A4: /* 801CC2A4 001C7F04 28 00 00 07 */ cmplwi r0, 7 /* 801CC2A8 001C7F08 40 82 00 18 */ bne lbl_801CC2C0 /* 801CC2AC 001C7F0C 7E 63 9B 78 */ mr r3, r19 /* 801CC2B0 001C7F10 38 80 00 01 */ li r4, 1 /* 801CC2B4 001C7F14 4B FF A8 CD */ bl __va_arg /* 801CC2B8 001C7F18 82 C3 00 00 */ lwz r22, 0(r3) /* 801CC2BC 001C7F1C 48 00 00 30 */ b lbl_801CC2EC lbl_801CC2C0: /* 801CC2C0 001C7F20 28 00 00 08 */ cmplwi r0, 8 /* 801CC2C4 001C7F24 40 82 00 18 */ bne lbl_801CC2DC /* 801CC2C8 001C7F28 7E 63 9B 78 */ mr r3, r19 /* 801CC2CC 001C7F2C 38 80 00 01 */ li r4, 1 /* 801CC2D0 001C7F30 4B FF A8 B1 */ bl __va_arg /* 801CC2D4 001C7F34 82 C3 00 00 */ lwz r22, 0(r3) /* 801CC2D8 001C7F38 48 00 00 14 */ b lbl_801CC2EC lbl_801CC2DC: /* 801CC2DC 001C7F3C 7E 63 9B 78 */ mr r3, r19 /* 801CC2E0 001C7F40 38 80 00 01 */ li r4, 1 /* 801CC2E4 001C7F44 4B FF A8 9D */ bl __va_arg /* 801CC2E8 001C7F48 82 C3 00 00 */ lwz r22, 0(r3) lbl_801CC2EC: /* 801CC2EC 001C7F4C 88 01 00 74 */ lbz r0, 0x74(r1) /* 801CC2F0 001C7F50 28 00 00 02 */ cmplwi r0, 2 /* 801CC2F4 001C7F54 40 82 00 08 */ bne lbl_801CC2FC /* 801CC2F8 001C7F58 56 D6 04 3E */ clrlwi r22, r22, 0x10 lbl_801CC2FC: /* 801CC2FC 001C7F5C 28 00 00 01 */ cmplwi r0, 1 /* 801CC300 001C7F60 40 82 00 08 */ bne lbl_801CC308 /* 801CC304 001C7F64 56 D6 06 3E */ clrlwi r22, r22, 0x18 lbl_801CC308: /* 801CC308 001C7F68 28 00 00 04 */ cmplwi r0, 4 /* 801CC30C 001C7F6C 41 82 00 0C */ beq lbl_801CC318 /* 801CC310 001C7F70 28 00 00 06 */ cmplwi r0, 6 /* 801CC314 001C7F74 40 82 00 48 */ bne lbl_801CC35C lbl_801CC318: /* 801CC318 001C7F78 81 21 00 70 */ lwz r9, 0x70(r1) /* 801CC31C 001C7F7C 7E 84 A3 78 */ mr r4, r20 /* 801CC320 001C7F80 81 01 00 74 */ lwz r8, 0x74(r1) /* 801CC324 001C7F84 7E A3 AB 78 */ mr r3, r21 /* 801CC328 001C7F88 80 E1 00 78 */ lwz r7, 0x78(r1) /* 801CC32C 001C7F8C 38 A1 02 80 */ addi r5, r1, 0x280 /* 801CC330 001C7F90 80 01 00 7C */ lwz r0, 0x7c(r1) /* 801CC334 001C7F94 38 C1 00 40 */ addi r6, r1, 0x40 /* 801CC338 001C7F98 91 21 00 40 */ stw r9, 0x40(r1) /* 801CC33C 001C7F9C 91 01 00 44 */ stw r8, 0x44(r1) /* 801CC340 001C7FA0 90 E1 00 48 */ stw r7, 0x48(r1) /* 801CC344 001C7FA4 90 01 00 4C */ stw r0, 0x4c(r1) /* 801CC348 001C7FA8 4B FF EC 9D */ bl func_801CAFE4 /* 801CC34C 001C7FAC 2C 03 00 00 */ cmpwi r3, 0 /* 801CC350 001C7FB0 7C 7A 1B 78 */ mr r26, r3 /* 801CC354 001C7FB4 41 82 02 A8 */ beq lbl_801CC5FC /* 801CC358 001C7FB8 48 00 00 40 */ b lbl_801CC398 lbl_801CC35C: /* 801CC35C 001C7FBC 81 01 00 70 */ lwz r8, 0x70(r1) /* 801CC360 001C7FC0 7E C3 B3 78 */ mr r3, r22 /* 801CC364 001C7FC4 80 E1 00 74 */ lwz r7, 0x74(r1) /* 801CC368 001C7FC8 38 81 02 80 */ addi r4, r1, 0x280 /* 801CC36C 001C7FCC 80 C1 00 78 */ lwz r6, 0x78(r1) /* 801CC370 001C7FD0 38 A1 00 30 */ addi r5, r1, 0x30 /* 801CC374 001C7FD4 80 01 00 7C */ lwz r0, 0x7c(r1) /* 801CC378 001C7FD8 91 01 00 30 */ stw r8, 0x30(r1) /* 801CC37C 001C7FDC 90 E1 00 34 */ stw r7, 0x34(r1) /* 801CC380 001C7FE0 90 C1 00 38 */ stw r6, 0x38(r1) /* 801CC384 001C7FE4 90 01 00 3C */ stw r0, 0x3c(r1) /* 801CC388 001C7FE8 4B FF EA 35 */ bl func_801CADBC /* 801CC38C 001C7FEC 2C 03 00 00 */ cmpwi r3, 0 /* 801CC390 001C7FF0 7C 7A 1B 78 */ mr r26, r3 /* 801CC394 001C7FF4 41 82 02 68 */ beq lbl_801CC5FC lbl_801CC398: /* 801CC398 001C7FF8 7F 7A E0 50 */ subf r27, r26, r28 /* 801CC39C 001C7FFC 48 00 02 A4 */ b lbl_801CC640 lbl_801CC3A0: /* 801CC3A0 001C8000 88 01 00 74 */ lbz r0, 0x74(r1) /* 801CC3A4 001C8004 28 00 00 09 */ cmplwi r0, 9 /* 801CC3A8 001C8008 40 82 00 18 */ bne lbl_801CC3C0 /* 801CC3AC 001C800C 7E 63 9B 78 */ mr r3, r19 /* 801CC3B0 001C8010 38 80 00 03 */ li r4, 3 /* 801CC3B4 001C8014 4B FF A7 CD */ bl __va_arg /* 801CC3B8 001C8018 C8 23 00 00 */ lfd f1, 0(r3) /* 801CC3BC 001C801C 48 00 00 14 */ b lbl_801CC3D0 lbl_801CC3C0: /* 801CC3C0 001C8020 7E 63 9B 78 */ mr r3, r19 /* 801CC3C4 001C8024 38 80 00 03 */ li r4, 3 /* 801CC3C8 001C8028 4B FF A7 B9 */ bl __va_arg /* 801CC3CC 001C802C C8 23 00 00 */ lfd f1, 0(r3) lbl_801CC3D0: /* 801CC3D0 001C8030 80 E1 00 70 */ lwz r7, 0x70(r1) /* 801CC3D4 001C8034 38 61 02 80 */ addi r3, r1, 0x280 /* 801CC3D8 001C8038 80 C1 00 74 */ lwz r6, 0x74(r1) /* 801CC3DC 001C803C 38 81 00 20 */ addi r4, r1, 0x20 /* 801CC3E0 001C8040 80 A1 00 78 */ lwz r5, 0x78(r1) /* 801CC3E4 001C8044 80 01 00 7C */ lwz r0, 0x7c(r1) /* 801CC3E8 001C8048 90 E1 00 20 */ stw r7, 0x20(r1) /* 801CC3EC 001C804C 90 C1 00 24 */ stw r6, 0x24(r1) /* 801CC3F0 001C8050 90 A1 00 28 */ stw r5, 0x28(r1) /* 801CC3F4 001C8054 90 01 00 2C */ stw r0, 0x2c(r1) /* 801CC3F8 001C8058 4B FF F3 7D */ bl func_801CB774 /* 801CC3FC 001C805C 2C 03 00 00 */ cmpwi r3, 0 /* 801CC400 001C8060 7C 7A 1B 78 */ mr r26, r3 /* 801CC404 001C8064 41 82 01 F8 */ beq lbl_801CC5FC /* 801CC408 001C8068 7F 63 E0 50 */ subf r27, r3, r28 /* 801CC40C 001C806C 48 00 02 34 */ b lbl_801CC640 lbl_801CC410: /* 801CC410 001C8070 88 01 00 74 */ lbz r0, 0x74(r1) /* 801CC414 001C8074 28 00 00 09 */ cmplwi r0, 9 /* 801CC418 001C8078 40 82 00 18 */ bne lbl_801CC430 /* 801CC41C 001C807C 7E 63 9B 78 */ mr r3, r19 /* 801CC420 001C8080 38 80 00 03 */ li r4, 3 /* 801CC424 001C8084 4B FF A7 5D */ bl __va_arg /* 801CC428 001C8088 C8 23 00 00 */ lfd f1, 0(r3) /* 801CC42C 001C808C 48 00 00 14 */ b lbl_801CC440 lbl_801CC430: /* 801CC430 001C8090 7E 63 9B 78 */ mr r3, r19 /* 801CC434 001C8094 38 80 00 03 */ li r4, 3 /* 801CC438 001C8098 4B FF A7 49 */ bl __va_arg /* 801CC43C 001C809C C8 23 00 00 */ lfd f1, 0(r3) lbl_801CC440: /* 801CC440 001C80A0 80 E1 00 70 */ lwz r7, 0x70(r1) /* 801CC444 001C80A4 38 61 02 80 */ addi r3, r1, 0x280 /* 801CC448 001C80A8 80 C1 00 74 */ lwz r6, 0x74(r1) /* 801CC44C 001C80AC 38 81 00 10 */ addi r4, r1, 0x10 /* 801CC450 001C80B0 80 A1 00 78 */ lwz r5, 0x78(r1) /* 801CC454 001C80B4 80 01 00 7C */ lwz r0, 0x7c(r1) /* 801CC458 001C80B8 90 E1 00 10 */ stw r7, 0x10(r1) /* 801CC45C 001C80BC 90 C1 00 14 */ stw r6, 0x14(r1) /* 801CC460 001C80C0 90 A1 00 18 */ stw r5, 0x18(r1) /* 801CC464 001C80C4 90 01 00 1C */ stw r0, 0x1c(r1) /* 801CC468 001C80C8 4B FF EE 1D */ bl func_801CB284 /* 801CC46C 001C80CC 2C 03 00 00 */ cmpwi r3, 0 /* 801CC470 001C80D0 7C 7A 1B 78 */ mr r26, r3 /* 801CC474 001C80D4 41 82 01 88 */ beq lbl_801CC5FC /* 801CC478 001C80D8 7F 63 E0 50 */ subf r27, r3, r28 /* 801CC47C 001C80DC 48 00 01 C4 */ b lbl_801CC640 lbl_801CC480: /* 801CC480 001C80E0 88 01 00 74 */ lbz r0, 0x74(r1) /* 801CC484 001C80E4 28 00 00 05 */ cmplwi r0, 5 /* 801CC488 001C80E8 40 82 00 3C */ bne lbl_801CC4C4 /* 801CC48C 001C80EC 7E 63 9B 78 */ mr r3, r19 /* 801CC490 001C80F0 38 80 00 01 */ li r4, 1 /* 801CC494 001C80F4 4B FF A6 ED */ bl __va_arg /* 801CC498 001C80F8 80 83 00 00 */ lwz r4, 0(r3) /* 801CC49C 001C80FC 2C 04 00 00 */ cmpwi r4, 0 /* 801CC4A0 001C8100 40 82 00 08 */ bne lbl_801CC4A8 /* 801CC4A4 001C8104 38 8D 83 E0 */ addi r4, r13, lbl_8063D6A0-_SDA_BASE_ lbl_801CC4A8: /* 801CC4A8 001C8108 38 61 00 80 */ addi r3, r1, 0x80 /* 801CC4AC 001C810C 38 A0 02 00 */ li r5, 0x200 /* 801CC4B0 001C8110 4B FF DD 0D */ bl func_801CA1BC /* 801CC4B4 001C8114 2C 03 00 00 */ cmpwi r3, 0 /* 801CC4B8 001C8118 41 80 01 44 */ blt lbl_801CC5FC /* 801CC4BC 001C811C 3B 41 00 80 */ addi r26, r1, 0x80 /* 801CC4C0 001C8120 48 00 00 14 */ b lbl_801CC4D4 lbl_801CC4C4: /* 801CC4C4 001C8124 7E 63 9B 78 */ mr r3, r19 /* 801CC4C8 001C8128 38 80 00 01 */ li r4, 1 /* 801CC4CC 001C812C 4B FF A6 B5 */ bl __va_arg /* 801CC4D0 001C8130 83 43 00 00 */ lwz r26, 0(r3) lbl_801CC4D4: /* 801CC4D4 001C8134 2C 1A 00 00 */ cmpwi r26, 0 /* 801CC4D8 001C8138 40 82 00 08 */ bne lbl_801CC4E0 /* 801CC4DC 001C813C 3B 5D 00 2A */ addi r26, r29, 0x2a lbl_801CC4E0: /* 801CC4E0 001C8140 88 01 00 73 */ lbz r0, 0x73(r1) /* 801CC4E4 001C8144 2C 00 00 00 */ cmpwi r0, 0 /* 801CC4E8 001C8148 41 82 00 2C */ beq lbl_801CC514 /* 801CC4EC 001C814C 88 01 00 72 */ lbz r0, 0x72(r1) /* 801CC4F0 001C8150 8B 7A 00 00 */ lbz r27, 0(r26) /* 801CC4F4 001C8154 3B 5A 00 01 */ addi r26, r26, 1 /* 801CC4F8 001C8158 2C 00 00 00 */ cmpwi r0, 0 /* 801CC4FC 001C815C 41 82 01 44 */ beq lbl_801CC640 /* 801CC500 001C8160 80 01 00 7C */ lwz r0, 0x7c(r1) /* 801CC504 001C8164 7C 1B 00 00 */ cmpw r27, r0 /* 801CC508 001C8168 40 81 01 38 */ ble lbl_801CC640 /* 801CC50C 001C816C 7C 1B 03 78 */ mr r27, r0 /* 801CC510 001C8170 48 00 01 30 */ b lbl_801CC640 lbl_801CC514: /* 801CC514 001C8174 88 01 00 72 */ lbz r0, 0x72(r1) /* 801CC518 001C8178 2C 00 00 00 */ cmpwi r0, 0 /* 801CC51C 001C817C 41 82 00 28 */ beq lbl_801CC544 /* 801CC520 001C8180 83 61 00 7C */ lwz r27, 0x7c(r1) /* 801CC524 001C8184 7F 43 D3 78 */ mr r3, r26 /* 801CC528 001C8188 38 80 00 00 */ li r4, 0 /* 801CC52C 001C818C 7F 65 DB 78 */ mr r5, r27 /* 801CC530 001C8190 4B FF DE 11 */ bl memchr /* 801CC534 001C8194 2C 03 00 00 */ cmpwi r3, 0 /* 801CC538 001C8198 41 82 01 08 */ beq lbl_801CC640 /* 801CC53C 001C819C 7F 7A 18 50 */ subf r27, r26, r3 /* 801CC540 001C81A0 48 00 01 00 */ b lbl_801CC640 lbl_801CC544: /* 801CC544 001C81A4 7F 43 D3 78 */ mr r3, r26 /* 801CC548 001C81A8 4B FF A6 1D */ bl strlen /* 801CC54C 001C81AC 7C 7B 1B 78 */ mr r27, r3 /* 801CC550 001C81B0 48 00 00 F0 */ b lbl_801CC640 lbl_801CC554: /* 801CC554 001C81B4 7E 63 9B 78 */ mr r3, r19 /* 801CC558 001C81B8 38 80 00 01 */ li r4, 1 /* 801CC55C 001C81BC 4B FF A6 25 */ bl __va_arg /* 801CC560 001C81C0 88 01 00 74 */ lbz r0, 0x74(r1) /* 801CC564 001C81C4 80 83 00 00 */ lwz r4, 0(r3) /* 801CC568 001C81C8 28 00 00 08 */ cmplwi r0, 8 /* 801CC56C 001C81CC 41 81 02 10 */ bgt lbl_801CC77C /* 801CC570 001C81D0 38 7E 2F BC */ addi r3, r30, 0x2fbc /* 801CC574 001C81D4 54 00 10 3A */ slwi r0, r0, 2 /* 801CC578 001C81D8 7C 63 00 2E */ lwzx r3, r3, r0 /* 801CC57C 001C81DC 7C 69 03 A6 */ mtctr r3 /* 801CC580 001C81E0 4E 80 04 20 */ bctr /* 801CC584 001C81E4 93 24 00 00 */ stw r25, 0(r4) /* 801CC588 001C81E8 48 00 01 F4 */ b lbl_801CC77C /* 801CC58C 001C81EC B3 24 00 00 */ sth r25, 0(r4) /* 801CC590 001C81F0 48 00 01 EC */ b lbl_801CC77C /* 801CC594 001C81F4 93 24 00 00 */ stw r25, 0(r4) /* 801CC598 001C81F8 48 00 01 E4 */ b lbl_801CC77C /* 801CC59C 001C81FC 93 24 00 04 */ stw r25, 4(r4) /* 801CC5A0 001C8200 7F 20 FE 70 */ srawi r0, r25, 0x1f /* 801CC5A4 001C8204 90 04 00 00 */ stw r0, 0(r4) /* 801CC5A8 001C8208 48 00 01 D4 */ b lbl_801CC77C /* 801CC5AC 001C820C 93 24 00 00 */ stw r25, 0(r4) /* 801CC5B0 001C8210 48 00 01 CC */ b lbl_801CC77C /* 801CC5B4 001C8214 93 24 00 00 */ stw r25, 0(r4) /* 801CC5B8 001C8218 48 00 01 C4 */ b lbl_801CC77C /* 801CC5BC 001C821C 93 24 00 04 */ stw r25, 4(r4) /* 801CC5C0 001C8220 7F 20 FE 70 */ srawi r0, r25, 0x1f /* 801CC5C4 001C8224 90 04 00 00 */ stw r0, 0(r4) /* 801CC5C8 001C8228 48 00 01 B4 */ b lbl_801CC77C lbl_801CC5CC: /* 801CC5CC 001C822C 7E 63 9B 78 */ mr r3, r19 /* 801CC5D0 001C8230 3B 41 00 80 */ addi r26, r1, 0x80 /* 801CC5D4 001C8234 38 80 00 01 */ li r4, 1 /* 801CC5D8 001C8238 4B FF A5 A9 */ bl __va_arg /* 801CC5DC 001C823C 80 03 00 00 */ lwz r0, 0(r3) /* 801CC5E0 001C8240 3B 60 00 01 */ li r27, 1 /* 801CC5E4 001C8244 98 01 00 80 */ stb r0, 0x80(r1) /* 801CC5E8 001C8248 48 00 00 58 */ b lbl_801CC640 lbl_801CC5EC: /* 801CC5EC 001C824C 9B E1 00 80 */ stb r31, 0x80(r1) /* 801CC5F0 001C8250 3B 41 00 80 */ addi r26, r1, 0x80 /* 801CC5F4 001C8254 3B 60 00 01 */ li r27, 1 /* 801CC5F8 001C8258 48 00 00 48 */ b lbl_801CC640 lbl_801CC5FC: /* 801CC5FC 001C825C 7F 03 C3 78 */ mr r3, r24 /* 801CC600 001C8260 4B FF A5 65 */ bl strlen /* 801CC604 001C8264 2C 03 00 00 */ cmpwi r3, 0 /* 801CC608 001C8268 7C 65 1B 78 */ mr r5, r3 /* 801CC60C 001C826C 7F 39 1A 14 */ add r25, r25, r3 /* 801CC610 001C8270 41 82 00 28 */ beq lbl_801CC638 /* 801CC614 001C8274 7E 2C 8B 78 */ mr r12, r17 /* 801CC618 001C8278 7E 43 93 78 */ mr r3, r18 /* 801CC61C 001C827C 7F 04 C3 78 */ mr r4, r24 /* 801CC620 001C8280 7D 89 03 A6 */ mtctr r12 /* 801CC624 001C8284 4E 80 04 21 */ bctrl /* 801CC628 001C8288 2C 03 00 00 */ cmpwi r3, 0 /* 801CC62C 001C828C 40 82 00 0C */ bne lbl_801CC638 /* 801CC630 001C8290 38 60 FF FF */ li r3, -1 /* 801CC634 001C8294 48 00 01 58 */ b lbl_801CC78C lbl_801CC638: /* 801CC638 001C8298 7F 23 CB 78 */ mr r3, r25 /* 801CC63C 001C829C 48 00 01 50 */ b lbl_801CC78C lbl_801CC640: /* 801CC640 001C82A0 88 01 00 70 */ lbz r0, 0x70(r1) /* 801CC644 001C82A4 7F 78 DB 78 */ mr r24, r27 /* 801CC648 001C82A8 2C 00 00 00 */ cmpwi r0, 0 /* 801CC64C 001C82AC 41 82 00 B0 */ beq lbl_801CC6FC /* 801CC650 001C82B0 28 00 00 02 */ cmplwi r0, 2 /* 801CC654 001C82B4 38 60 00 20 */ li r3, 0x20 /* 801CC658 001C82B8 40 82 00 08 */ bne lbl_801CC660 /* 801CC65C 001C82BC 38 60 00 30 */ li r3, 0x30 lbl_801CC660: /* 801CC660 001C82C0 98 61 00 09 */ stb r3, 9(r1) /* 801CC664 001C82C4 88 1A 00 00 */ lbz r0, 0(r26) /* 801CC668 001C82C8 7C 00 07 74 */ extsb r0, r0 /* 801CC66C 001C82CC 2C 00 00 2B */ cmpwi r0, 0x2b /* 801CC670 001C82D0 41 82 00 14 */ beq lbl_801CC684 /* 801CC674 001C82D4 2C 00 00 2D */ cmpwi r0, 0x2d /* 801CC678 001C82D8 41 82 00 0C */ beq lbl_801CC684 /* 801CC67C 001C82DC 2C 00 00 20 */ cmpwi r0, 0x20 /* 801CC680 001C82E0 40 82 00 70 */ bne lbl_801CC6F0 lbl_801CC684: /* 801CC684 001C82E4 7C 60 07 74 */ extsb r0, r3 /* 801CC688 001C82E8 2C 00 00 30 */ cmpwi r0, 0x30 /* 801CC68C 001C82EC 40 82 00 64 */ bne lbl_801CC6F0 /* 801CC690 001C82F0 7E 2C 8B 78 */ mr r12, r17 /* 801CC694 001C82F4 7E 43 93 78 */ mr r3, r18 /* 801CC698 001C82F8 7F 44 D3 78 */ mr r4, r26 /* 801CC69C 001C82FC 38 A0 00 01 */ li r5, 1 /* 801CC6A0 001C8300 7D 89 03 A6 */ mtctr r12 /* 801CC6A4 001C8304 4E 80 04 21 */ bctrl /* 801CC6A8 001C8308 2C 03 00 00 */ cmpwi r3, 0 /* 801CC6AC 001C830C 40 82 00 0C */ bne lbl_801CC6B8 /* 801CC6B0 001C8310 38 60 FF FF */ li r3, -1 /* 801CC6B4 001C8314 48 00 00 D8 */ b lbl_801CC78C lbl_801CC6B8: /* 801CC6B8 001C8318 3B 5A 00 01 */ addi r26, r26, 1 /* 801CC6BC 001C831C 3B 7B FF FF */ addi r27, r27, -1 /* 801CC6C0 001C8320 48 00 00 30 */ b lbl_801CC6F0 lbl_801CC6C4: /* 801CC6C4 001C8324 7E 2C 8B 78 */ mr r12, r17 /* 801CC6C8 001C8328 7E 43 93 78 */ mr r3, r18 /* 801CC6CC 001C832C 38 81 00 09 */ addi r4, r1, 9 /* 801CC6D0 001C8330 38 A0 00 01 */ li r5, 1 /* 801CC6D4 001C8334 7D 89 03 A6 */ mtctr r12 /* 801CC6D8 001C8338 4E 80 04 21 */ bctrl /* 801CC6DC 001C833C 2C 03 00 00 */ cmpwi r3, 0 /* 801CC6E0 001C8340 40 82 00 0C */ bne lbl_801CC6EC /* 801CC6E4 001C8344 38 60 FF FF */ li r3, -1 /* 801CC6E8 001C8348 48 00 00 A4 */ b lbl_801CC78C lbl_801CC6EC: /* 801CC6EC 001C834C 3B 18 00 01 */ addi r24, r24, 1 lbl_801CC6F0: /* 801CC6F0 001C8350 80 01 00 78 */ lwz r0, 0x78(r1) /* 801CC6F4 001C8354 7C 18 00 00 */ cmpw r24, r0 /* 801CC6F8 001C8358 41 80 FF CC */ blt lbl_801CC6C4 lbl_801CC6FC: /* 801CC6FC 001C835C 2C 1B 00 00 */ cmpwi r27, 0 /* 801CC700 001C8360 41 82 00 2C */ beq lbl_801CC72C /* 801CC704 001C8364 7E 2C 8B 78 */ mr r12, r17 /* 801CC708 001C8368 7E 43 93 78 */ mr r3, r18 /* 801CC70C 001C836C 7F 44 D3 78 */ mr r4, r26 /* 801CC710 001C8370 7F 65 DB 78 */ mr r5, r27 /* 801CC714 001C8374 7D 89 03 A6 */ mtctr r12 /* 801CC718 001C8378 4E 80 04 21 */ bctrl /* 801CC71C 001C837C 2C 03 00 00 */ cmpwi r3, 0 /* 801CC720 001C8380 40 82 00 0C */ bne lbl_801CC72C /* 801CC724 001C8384 38 60 FF FF */ li r3, -1 /* 801CC728 001C8388 48 00 00 64 */ b lbl_801CC78C lbl_801CC72C: /* 801CC72C 001C838C 88 01 00 70 */ lbz r0, 0x70(r1) /* 801CC730 001C8390 2C 00 00 00 */ cmpwi r0, 0 /* 801CC734 001C8394 40 82 00 44 */ bne lbl_801CC778 /* 801CC738 001C8398 48 00 00 34 */ b lbl_801CC76C lbl_801CC73C: /* 801CC73C 001C839C 7E 2C 8B 78 */ mr r12, r17 /* 801CC740 001C83A0 7E 43 93 78 */ mr r3, r18 /* 801CC744 001C83A4 9A 01 00 08 */ stb r16, 8(r1) /* 801CC748 001C83A8 38 81 00 08 */ addi r4, r1, 8 /* 801CC74C 001C83AC 38 A0 00 01 */ li r5, 1 /* 801CC750 001C83B0 7D 89 03 A6 */ mtctr r12 /* 801CC754 001C83B4 4E 80 04 21 */ bctrl /* 801CC758 001C83B8 2C 03 00 00 */ cmpwi r3, 0 /* 801CC75C 001C83BC 40 82 00 0C */ bne lbl_801CC768 /* 801CC760 001C83C0 38 60 FF FF */ li r3, -1 /* 801CC764 001C83C4 48 00 00 28 */ b lbl_801CC78C lbl_801CC768: /* 801CC768 001C83C8 3B 18 00 01 */ addi r24, r24, 1 lbl_801CC76C: /* 801CC76C 001C83CC 80 01 00 78 */ lwz r0, 0x78(r1) /* 801CC770 001C83D0 7C 18 00 00 */ cmpw r24, r0 /* 801CC774 001C83D4 41 80 FF C8 */ blt lbl_801CC73C lbl_801CC778: /* 801CC778 001C83D8 7F 39 C2 14 */ add r25, r25, r24 lbl_801CC77C: /* 801CC77C 001C83DC 88 17 00 00 */ lbz r0, 0(r23) /* 801CC780 001C83E0 7C 00 07 75 */ extsb. r0, r0 /* 801CC784 001C83E4 40 82 F8 04 */ bne lbl_801CBF88 lbl_801CC788: /* 801CC788 001C83E8 7F 23 CB 78 */ mr r3, r25 lbl_801CC78C: /* 801CC78C 001C83EC BA 01 02 80 */ lmw r16, 0x280(r1) /* 801CC790 001C83F0 80 01 02 C4 */ lwz r0, 0x2c4(r1) /* 801CC794 001C83F4 7C 08 03 A6 */ mtlr r0 /* 801CC798 001C83F8 38 21 02 C0 */ addi r1, r1, 0x2c0 /* 801CC79C 001C83FC 4E 80 00 20 */ blr lbl_801CC7A0: /* 801CC7A0 001C8400 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801CC7A4 001C8404 7C 08 02 A6 */ mflr r0 /* 801CC7A8 001C8408 90 01 00 14 */ stw r0, 0x14(r1) /* 801CC7AC 001C840C 93 E1 00 0C */ stw r31, 0xc(r1) /* 801CC7B0 001C8410 7C BF 2B 78 */ mr r31, r5 /* 801CC7B4 001C8414 93 C1 00 08 */ stw r30, 8(r1) /* 801CC7B8 001C8418 7C 7E 1B 78 */ mr r30, r3 /* 801CC7BC 001C841C 7C 83 23 78 */ mr r3, r4 /* 801CC7C0 001C8420 38 80 00 01 */ li r4, 1 /* 801CC7C4 001C8424 7F C6 F3 78 */ mr r6, r30 /* 801CC7C8 001C8428 4B FF D1 01 */ bl func_801C98C8 /* 801CC7CC 001C842C 7C 1F 18 40 */ cmplw r31, r3 /* 801CC7D0 001C8430 40 82 00 08 */ bne lbl_801CC7D8 /* 801CC7D4 001C8434 48 00 00 08 */ b lbl_801CC7DC lbl_801CC7D8: /* 801CC7D8 001C8438 3B C0 00 00 */ li r30, 0 lbl_801CC7DC: /* 801CC7DC 001C843C 7F C3 F3 78 */ mr r3, r30 /* 801CC7E0 001C8440 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801CC7E4 001C8444 83 C1 00 08 */ lwz r30, 8(r1) /* 801CC7E8 001C8448 80 01 00 14 */ lwz r0, 0x14(r1) /* 801CC7EC 001C844C 7C 08 03 A6 */ mtlr r0 /* 801CC7F0 001C8450 38 21 00 10 */ addi r1, r1, 0x10 /* 801CC7F4 001C8454 4E 80 00 20 */ blr lbl_801CC7F8: /* 801CC7F8 001C8458 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801CC7FC 001C845C 7C 08 02 A6 */ mflr r0 /* 801CC800 001C8460 90 01 00 14 */ stw r0, 0x14(r1) /* 801CC804 001C8464 93 E1 00 0C */ stw r31, 0xc(r1) /* 801CC808 001C8468 93 C1 00 08 */ stw r30, 8(r1) /* 801CC80C 001C846C 7C 7E 1B 78 */ mr r30, r3 /* 801CC810 001C8470 80 C3 00 08 */ lwz r6, 8(r3) /* 801CC814 001C8474 80 E3 00 04 */ lwz r7, 4(r3) /* 801CC818 001C8478 7C 06 2A 14 */ add r0, r6, r5 /* 801CC81C 001C847C 7C 00 38 40 */ cmplw r0, r7 /* 801CC820 001C8480 7F E6 38 50 */ subf r31, r6, r7 /* 801CC824 001C8484 41 81 00 08 */ bgt lbl_801CC82C /* 801CC828 001C8488 7C BF 2B 78 */ mr r31, r5 lbl_801CC82C: /* 801CC82C 001C848C 80 03 00 00 */ lwz r0, 0(r3) /* 801CC830 001C8490 7F E5 FB 78 */ mr r5, r31 /* 801CC834 001C8494 7C 60 32 14 */ add r3, r0, r6 /* 801CC838 001C8498 4B E3 77 C9 */ bl memcpy /* 801CC83C 001C849C 80 1E 00 08 */ lwz r0, 8(r30) /* 801CC840 001C84A0 38 60 00 01 */ li r3, 1 /* 801CC844 001C84A4 7C 00 FA 14 */ add r0, r0, r31 /* 801CC848 001C84A8 90 1E 00 08 */ stw r0, 8(r30) /* 801CC84C 001C84AC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801CC850 001C84B0 83 C1 00 08 */ lwz r30, 8(r1) /* 801CC854 001C84B4 80 01 00 14 */ lwz r0, 0x14(r1) /* 801CC858 001C84B8 7C 08 03 A6 */ mtlr r0 /* 801CC85C 001C84BC 38 21 00 10 */ addi r1, r1, 0x10 /* 801CC860 001C84C0 4E 80 00 20 */ blr .global func_801CC864 func_801CC864: /* 801CC864 001C84C4 94 21 FF 80 */ stwu r1, -0x80(r1) /* 801CC868 001C84C8 7C 08 02 A6 */ mflr r0 /* 801CC86C 001C84CC 90 01 00 84 */ stw r0, 0x84(r1) /* 801CC870 001C84D0 93 E1 00 7C */ stw r31, 0x7c(r1) /* 801CC874 001C84D4 93 C1 00 78 */ stw r30, 0x78(r1) /* 801CC878 001C84D8 7C 7E 1B 78 */ mr r30, r3 /* 801CC87C 001C84DC 40 86 00 24 */ bne cr1, lbl_801CC8A0 /* 801CC880 001C84E0 D8 21 00 28 */ stfd f1, 0x28(r1) /* 801CC884 001C84E4 D8 41 00 30 */ stfd f2, 0x30(r1) /* 801CC888 001C84E8 D8 61 00 38 */ stfd f3, 0x38(r1) /* 801CC88C 001C84EC D8 81 00 40 */ stfd f4, 0x40(r1) /* 801CC890 001C84F0 D8 A1 00 48 */ stfd f5, 0x48(r1) /* 801CC894 001C84F4 D8 C1 00 50 */ stfd f6, 0x50(r1) /* 801CC898 001C84F8 D8 E1 00 58 */ stfd f7, 0x58(r1) /* 801CC89C 001C84FC D9 01 00 60 */ stfd f8, 0x60(r1) lbl_801CC8A0: /* 801CC8A0 001C8500 3F E0 80 42 */ lis r31, lbl_804228F0@ha /* 801CC8A4 001C8504 90 81 00 0C */ stw r4, 0xc(r1) /* 801CC8A8 001C8508 3B FF 28 F0 */ addi r31, r31, lbl_804228F0@l /* 801CC8AC 001C850C 38 80 FF FF */ li r4, -1 /* 801CC8B0 001C8510 90 61 00 08 */ stw r3, 8(r1) /* 801CC8B4 001C8514 38 7F 00 50 */ addi r3, r31, 0x50 /* 801CC8B8 001C8518 90 A1 00 10 */ stw r5, 0x10(r1) /* 801CC8BC 001C851C 90 C1 00 14 */ stw r6, 0x14(r1) /* 801CC8C0 001C8520 90 E1 00 18 */ stw r7, 0x18(r1) /* 801CC8C4 001C8524 91 01 00 1C */ stw r8, 0x1c(r1) /* 801CC8C8 001C8528 91 21 00 20 */ stw r9, 0x20(r1) /* 801CC8CC 001C852C 91 41 00 24 */ stw r10, 0x24(r1) /* 801CC8D0 001C8530 48 00 3F 95 */ bl func_801D0864 /* 801CC8D4 001C8534 2C 03 00 00 */ cmpwi r3, 0 /* 801CC8D8 001C8538 41 80 00 0C */ blt lbl_801CC8E4 /* 801CC8DC 001C853C 38 60 FF FF */ li r3, -1 /* 801CC8E0 001C8540 48 00 00 34 */ b lbl_801CC914 lbl_801CC8E4: /* 801CC8E4 001C8544 38 81 00 88 */ addi r4, r1, 0x88 /* 801CC8E8 001C8548 38 01 00 08 */ addi r0, r1, 8 /* 801CC8EC 001C854C 3C A0 01 00 */ lis r5, 0x100 /* 801CC8F0 001C8550 3C 60 80 1D */ lis r3, lbl_801CC7A0@ha /* 801CC8F4 001C8554 90 A1 00 68 */ stw r5, 0x68(r1) /* 801CC8F8 001C8558 38 C1 00 68 */ addi r6, r1, 0x68 /* 801CC8FC 001C855C 7F C5 F3 78 */ mr r5, r30 /* 801CC900 001C8560 38 63 C7 A0 */ addi r3, r3, lbl_801CC7A0@l /* 801CC904 001C8564 90 81 00 6C */ stw r4, 0x6c(r1) /* 801CC908 001C8568 38 9F 00 50 */ addi r4, r31, 0x50 /* 801CC90C 001C856C 90 01 00 70 */ stw r0, 0x70(r1) /* 801CC910 001C8570 4B FF F6 35 */ bl func_801CBF44 lbl_801CC914: /* 801CC914 001C8574 80 01 00 84 */ lwz r0, 0x84(r1) /* 801CC918 001C8578 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 801CC91C 001C857C 83 C1 00 78 */ lwz r30, 0x78(r1) /* 801CC920 001C8580 7C 08 03 A6 */ mtlr r0 /* 801CC924 001C8584 38 21 00 80 */ addi r1, r1, 0x80 /* 801CC928 001C8588 4E 80 00 20 */ blr .global func_801CC92C func_801CC92C: /* 801CC92C 001C858C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801CC930 001C8590 7C 08 02 A6 */ mflr r0 /* 801CC934 001C8594 90 01 00 24 */ stw r0, 0x24(r1) /* 801CC938 001C8598 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801CC93C 001C859C 3F E0 80 42 */ lis r31, lbl_804228F0@ha /* 801CC940 001C85A0 3B FF 28 F0 */ addi r31, r31, lbl_804228F0@l /* 801CC944 001C85A4 93 C1 00 18 */ stw r30, 0x18(r1) /* 801CC948 001C85A8 7C 9E 23 78 */ mr r30, r4 /* 801CC94C 001C85AC 38 80 FF FF */ li r4, -1 /* 801CC950 001C85B0 93 A1 00 14 */ stw r29, 0x14(r1) /* 801CC954 001C85B4 7C 7D 1B 78 */ mr r29, r3 /* 801CC958 001C85B8 38 7F 00 50 */ addi r3, r31, 0x50 /* 801CC95C 001C85BC 48 00 3F 09 */ bl func_801D0864 /* 801CC960 001C85C0 2C 03 00 00 */ cmpwi r3, 0 /* 801CC964 001C85C4 41 80 00 0C */ blt lbl_801CC970 /* 801CC968 001C85C8 38 60 FF FF */ li r3, -1 /* 801CC96C 001C85CC 48 00 00 1C */ b lbl_801CC988 lbl_801CC970: /* 801CC970 001C85D0 3C 60 80 1D */ lis r3, lbl_801CC7A0@ha /* 801CC974 001C85D4 7F A5 EB 78 */ mr r5, r29 /* 801CC978 001C85D8 7F C6 F3 78 */ mr r6, r30 /* 801CC97C 001C85DC 38 9F 00 50 */ addi r4, r31, 0x50 /* 801CC980 001C85E0 38 63 C7 A0 */ addi r3, r3, lbl_801CC7A0@l /* 801CC984 001C85E4 4B FF F5 C1 */ bl func_801CBF44 lbl_801CC988: /* 801CC988 001C85E8 80 01 00 24 */ lwz r0, 0x24(r1) /* 801CC98C 001C85EC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801CC990 001C85F0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801CC994 001C85F4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801CC998 001C85F8 7C 08 03 A6 */ mtlr r0 /* 801CC99C 001C85FC 38 21 00 20 */ addi r1, r1, 0x20 /* 801CC9A0 001C8600 4E 80 00 20 */ blr .global func_801CC9A4 func_801CC9A4: /* 801CC9A4 001C8604 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801CC9A8 001C8608 7C 08 02 A6 */ mflr r0 /* 801CC9AC 001C860C 7C A6 2B 78 */ mr r6, r5 /* 801CC9B0 001C8610 7C 85 23 78 */ mr r5, r4 /* 801CC9B4 001C8614 90 01 00 34 */ stw r0, 0x34(r1) /* 801CC9B8 001C8618 3C E0 80 1D */ lis r7, lbl_801CC7F8@ha /* 801CC9BC 001C861C 38 81 00 08 */ addi r4, r1, 8 /* 801CC9C0 001C8620 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801CC9C4 001C8624 3B E0 00 00 */ li r31, 0 /* 801CC9C8 001C8628 93 C1 00 28 */ stw r30, 0x28(r1) /* 801CC9CC 001C862C 3B C0 FF FF */ li r30, -1 /* 801CC9D0 001C8630 93 A1 00 24 */ stw r29, 0x24(r1) /* 801CC9D4 001C8634 7C 7D 1B 78 */ mr r29, r3 /* 801CC9D8 001C8638 90 61 00 08 */ stw r3, 8(r1) /* 801CC9DC 001C863C 38 67 C7 F8 */ addi r3, r7, lbl_801CC7F8@l /* 801CC9E0 001C8640 93 C1 00 0C */ stw r30, 0xc(r1) /* 801CC9E4 001C8644 93 E1 00 10 */ stw r31, 0x10(r1) /* 801CC9E8 001C8648 4B FF F5 5D */ bl func_801CBF44 /* 801CC9EC 001C864C 2C 1D 00 00 */ cmpwi r29, 0 /* 801CC9F0 001C8650 41 82 00 18 */ beq lbl_801CCA08 /* 801CC9F4 001C8654 7C 03 F0 40 */ cmplw r3, r30 /* 801CC9F8 001C8658 40 80 00 0C */ bge lbl_801CCA04 /* 801CC9FC 001C865C 7F FD 19 AE */ stbx r31, r29, r3 /* 801CCA00 001C8660 48 00 00 08 */ b lbl_801CCA08 lbl_801CCA04: /* 801CCA04 001C8664 9B FD FF FE */ stb r31, -2(r29) lbl_801CCA08: /* 801CCA08 001C8668 80 01 00 34 */ lwz r0, 0x34(r1) /* 801CCA0C 001C866C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801CCA10 001C8670 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801CCA14 001C8674 83 A1 00 24 */ lwz r29, 0x24(r1) /* 801CCA18 001C8678 7C 08 03 A6 */ mtlr r0 /* 801CCA1C 001C867C 38 21 00 30 */ addi r1, r1, 0x30 /* 801CCA20 001C8680 4E 80 00 20 */ blr .global func_801CCA24 func_801CCA24: /* 801CCA24 001C8684 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 801CCA28 001C8688 7C 08 02 A6 */ mflr r0 /* 801CCA2C 001C868C 90 01 00 A4 */ stw r0, 0xa4(r1) /* 801CCA30 001C8690 BF 61 00 8C */ stmw r27, 0x8c(r1) /* 801CCA34 001C8694 7C 7B 1B 78 */ mr r27, r3 /* 801CCA38 001C8698 7C 9C 23 78 */ mr r28, r4 /* 801CCA3C 001C869C 40 86 00 24 */ bne cr1, lbl_801CCA60 /* 801CCA40 001C86A0 D8 21 00 28 */ stfd f1, 0x28(r1) /* 801CCA44 001C86A4 D8 41 00 30 */ stfd f2, 0x30(r1) /* 801CCA48 001C86A8 D8 61 00 38 */ stfd f3, 0x38(r1) /* 801CCA4C 001C86AC D8 81 00 40 */ stfd f4, 0x40(r1) /* 801CCA50 001C86B0 D8 A1 00 48 */ stfd f5, 0x48(r1) /* 801CCA54 001C86B4 D8 C1 00 50 */ stfd f6, 0x50(r1) /* 801CCA58 001C86B8 D8 E1 00 58 */ stfd f7, 0x58(r1) /* 801CCA5C 001C86BC D9 01 00 60 */ stfd f8, 0x60(r1) lbl_801CCA60: /* 801CCA60 001C86C0 39 81 00 A8 */ addi r12, r1, 0xa8 /* 801CCA64 001C86C4 38 01 00 08 */ addi r0, r1, 8 /* 801CCA68 001C86C8 3F C0 03 00 */ lis r30, 0x300 /* 801CCA6C 001C86CC 3B E0 00 00 */ li r31, 0 /* 801CCA70 001C86D0 90 A1 00 10 */ stw r5, 0x10(r1) /* 801CCA74 001C86D4 3B A1 00 74 */ addi r29, r1, 0x74 /* 801CCA78 001C86D8 3D 60 80 1D */ lis r11, lbl_801CC7F8@ha /* 801CCA7C 001C86DC 90 C1 00 14 */ stw r6, 0x14(r1) /* 801CCA80 001C86E0 7F A6 EB 78 */ mr r6, r29 /* 801CCA84 001C86E4 90 61 00 08 */ stw r3, 8(r1) /* 801CCA88 001C86E8 90 61 00 68 */ stw r3, 0x68(r1) /* 801CCA8C 001C86EC 38 6B C7 F8 */ addi r3, r11, lbl_801CC7F8@l /* 801CCA90 001C86F0 90 81 00 0C */ stw r4, 0xc(r1) /* 801CCA94 001C86F4 90 81 00 6C */ stw r4, 0x6c(r1) /* 801CCA98 001C86F8 38 81 00 68 */ addi r4, r1, 0x68 /* 801CCA9C 001C86FC 90 E1 00 18 */ stw r7, 0x18(r1) /* 801CCAA0 001C8700 91 01 00 1C */ stw r8, 0x1c(r1) /* 801CCAA4 001C8704 91 21 00 20 */ stw r9, 0x20(r1) /* 801CCAA8 001C8708 91 41 00 24 */ stw r10, 0x24(r1) /* 801CCAAC 001C870C 93 C1 00 74 */ stw r30, 0x74(r1) /* 801CCAB0 001C8710 91 81 00 78 */ stw r12, 0x78(r1) /* 801CCAB4 001C8714 90 01 00 7C */ stw r0, 0x7c(r1) /* 801CCAB8 001C8718 93 E1 00 70 */ stw r31, 0x70(r1) /* 801CCABC 001C871C 4B FF F4 89 */ bl func_801CBF44 /* 801CCAC0 001C8720 2C 1B 00 00 */ cmpwi r27, 0 /* 801CCAC4 001C8724 41 82 00 24 */ beq lbl_801CCAE8 /* 801CCAC8 001C8728 7C 03 E0 40 */ cmplw r3, r28 /* 801CCACC 001C872C 40 80 00 0C */ bge lbl_801CCAD8 /* 801CCAD0 001C8730 7F FB 19 AE */ stbx r31, r27, r3 /* 801CCAD4 001C8734 48 00 00 14 */ b lbl_801CCAE8 lbl_801CCAD8: /* 801CCAD8 001C8738 2C 1C 00 00 */ cmpwi r28, 0 /* 801CCADC 001C873C 41 82 00 0C */ beq lbl_801CCAE8 /* 801CCAE0 001C8740 7C 9B E2 14 */ add r4, r27, r28 /* 801CCAE4 001C8744 9B E4 FF FF */ stb r31, -1(r4) lbl_801CCAE8: /* 801CCAE8 001C8748 BB 61 00 8C */ lmw r27, 0x8c(r1) /* 801CCAEC 001C874C 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 801CCAF0 001C8750 7C 08 03 A6 */ mtlr r0 /* 801CCAF4 001C8754 38 21 00 A0 */ addi r1, r1, 0xa0 /* 801CCAF8 001C8758 4E 80 00 20 */ blr .global func_801CCAFC func_801CCAFC: /* 801CCAFC 001C875C 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 801CCB00 001C8760 7C 08 02 A6 */ mflr r0 /* 801CCB04 001C8764 90 01 00 A4 */ stw r0, 0xa4(r1) /* 801CCB08 001C8768 BF 61 00 8C */ stmw r27, 0x8c(r1) /* 801CCB0C 001C876C 7C 7B 1B 78 */ mr r27, r3 /* 801CCB10 001C8770 40 86 00 24 */ bne cr1, lbl_801CCB34 /* 801CCB14 001C8774 D8 21 00 28 */ stfd f1, 0x28(r1) /* 801CCB18 001C8778 D8 41 00 30 */ stfd f2, 0x30(r1) /* 801CCB1C 001C877C D8 61 00 38 */ stfd f3, 0x38(r1) /* 801CCB20 001C8780 D8 81 00 40 */ stfd f4, 0x40(r1) /* 801CCB24 001C8784 D8 A1 00 48 */ stfd f5, 0x48(r1) /* 801CCB28 001C8788 D8 C1 00 50 */ stfd f6, 0x50(r1) /* 801CCB2C 001C878C D8 E1 00 58 */ stfd f7, 0x58(r1) /* 801CCB30 001C8790 D9 01 00 60 */ stfd f8, 0x60(r1) lbl_801CCB34: /* 801CCB34 001C8794 39 81 00 A8 */ addi r12, r1, 0xa8 /* 801CCB38 001C8798 38 01 00 08 */ addi r0, r1, 8 /* 801CCB3C 001C879C 3F A0 02 00 */ lis r29, 0x200 /* 801CCB40 001C87A0 3B C0 FF FF */ li r30, -1 /* 801CCB44 001C87A4 3B E0 00 00 */ li r31, 0 /* 801CCB48 001C87A8 90 A1 00 10 */ stw r5, 0x10(r1) /* 801CCB4C 001C87AC 3B 81 00 74 */ addi r28, r1, 0x74 /* 801CCB50 001C87B0 3D 60 80 1D */ lis r11, lbl_801CC7F8@ha /* 801CCB54 001C87B4 90 C1 00 14 */ stw r6, 0x14(r1) /* 801CCB58 001C87B8 7C 85 23 78 */ mr r5, r4 /* 801CCB5C 001C87BC 7F 86 E3 78 */ mr r6, r28 /* 801CCB60 001C87C0 90 81 00 0C */ stw r4, 0xc(r1) /* 801CCB64 001C87C4 38 81 00 68 */ addi r4, r1, 0x68 /* 801CCB68 001C87C8 90 61 00 08 */ stw r3, 8(r1) /* 801CCB6C 001C87CC 90 61 00 68 */ stw r3, 0x68(r1) /* 801CCB70 001C87D0 38 6B C7 F8 */ addi r3, r11, lbl_801CC7F8@l /* 801CCB74 001C87D4 90 E1 00 18 */ stw r7, 0x18(r1) /* 801CCB78 001C87D8 91 01 00 1C */ stw r8, 0x1c(r1) /* 801CCB7C 001C87DC 91 21 00 20 */ stw r9, 0x20(r1) /* 801CCB80 001C87E0 91 41 00 24 */ stw r10, 0x24(r1) /* 801CCB84 001C87E4 93 A1 00 74 */ stw r29, 0x74(r1) /* 801CCB88 001C87E8 91 81 00 78 */ stw r12, 0x78(r1) /* 801CCB8C 001C87EC 90 01 00 7C */ stw r0, 0x7c(r1) /* 801CCB90 001C87F0 93 C1 00 6C */ stw r30, 0x6c(r1) /* 801CCB94 001C87F4 93 E1 00 70 */ stw r31, 0x70(r1) /* 801CCB98 001C87F8 4B FF F3 AD */ bl func_801CBF44 /* 801CCB9C 001C87FC 2C 1B 00 00 */ cmpwi r27, 0 /* 801CCBA0 001C8800 41 82 00 18 */ beq lbl_801CCBB8 /* 801CCBA4 001C8804 7C 03 F0 40 */ cmplw r3, r30 /* 801CCBA8 001C8808 40 80 00 0C */ bge lbl_801CCBB4 /* 801CCBAC 001C880C 7F FB 19 AE */ stbx r31, r27, r3 /* 801CCBB0 001C8810 48 00 00 08 */ b lbl_801CCBB8 lbl_801CCBB4: /* 801CCBB4 001C8814 9B FB FF FE */ stb r31, -2(r27) lbl_801CCBB8: /* 801CCBB8 001C8818 BB 61 00 8C */ lmw r27, 0x8c(r1) /* 801CCBBC 001C881C 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 801CCBC0 001C8820 7C 08 03 A6 */ mtlr r0 /* 801CCBC4 001C8824 38 21 00 A0 */ addi r1, r1, 0xa0 /* 801CCBC8 001C8828 4E 80 00 20 */ blr .global qsort qsort: /* 801CCBCC 001C882C 94 21 FF C0 */ stwu r1, -0x40(r1) /* 801CCBD0 001C8830 7C 08 02 A6 */ mflr r0 /* 801CCBD4 001C8834 28 04 00 02 */ cmplwi r4, 2 /* 801CCBD8 001C8838 90 01 00 44 */ stw r0, 0x44(r1) /* 801CCBDC 001C883C BE 61 00 0C */ stmw r19, 0xc(r1) /* 801CCBE0 001C8840 7C 7B 1B 78 */ mr r27, r3 /* 801CCBE4 001C8844 7C BC 2B 78 */ mr r28, r5 /* 801CCBE8 001C8848 7C DD 33 78 */ mr r29, r6 /* 801CCBEC 001C884C 41 80 01 3C */ blt lbl_801CCD28 /* 801CCBF0 001C8850 54 87 F8 7E */ srwi r7, r4, 1 /* 801CCBF4 001C8854 54 A0 08 3C */ slwi r0, r5, 1 /* 801CCBF8 001C8858 3B E7 00 01 */ addi r31, r7, 1 /* 801CCBFC 001C885C 38 C4 FF FF */ addi r6, r4, -1 /* 801CCC00 001C8860 38 FF FF FF */ addi r7, r31, -1 /* 801CCC04 001C8864 7C 9E 23 78 */ mr r30, r4 /* 801CCC08 001C8868 7C 85 39 D6 */ mullw r4, r5, r7 /* 801CCC0C 001C886C 7F 20 28 50 */ subf r25, r0, r5 /* 801CCC10 001C8870 7C 05 31 D6 */ mullw r0, r5, r6 /* 801CCC14 001C8874 7E E3 22 14 */ add r23, r3, r4 /* 801CCC18 001C8878 7F 5F 29 D6 */ mullw r26, r31, r5 /* 801CCC1C 001C887C 7E C3 02 14 */ add r22, r3, r0 lbl_801CCC20: /* 801CCC20 001C8880 28 1F 00 01 */ cmplwi r31, 1 /* 801CCC24 001C8884 40 81 00 14 */ ble lbl_801CCC38 /* 801CCC28 001C8888 7F 5C D0 50 */ subf r26, r28, r26 /* 801CCC2C 001C888C 7E FC B8 50 */ subf r23, r28, r23 /* 801CCC30 001C8890 3B FF FF FF */ addi r31, r31, -1 /* 801CCC34 001C8894 48 00 00 40 */ b lbl_801CCC74 lbl_801CCC38: /* 801CCC38 001C8898 38 76 FF FF */ addi r3, r22, -1 /* 801CCC3C 001C889C 38 97 FF FF */ addi r4, r23, -1 /* 801CCC40 001C88A0 38 BC 00 01 */ addi r5, r28, 1 /* 801CCC44 001C88A4 48 00 00 18 */ b lbl_801CCC5C lbl_801CCC48: /* 801CCC48 001C88A8 88 C4 00 01 */ lbz r6, 1(r4) /* 801CCC4C 001C88AC 88 03 00 01 */ lbz r0, 1(r3) /* 801CCC50 001C88B0 7C C6 07 74 */ extsb r6, r6 /* 801CCC54 001C88B4 9C 04 00 01 */ stbu r0, 1(r4) /* 801CCC58 001C88B8 9C C3 00 01 */ stbu r6, 1(r3) lbl_801CCC5C: /* 801CCC5C 001C88BC 34 A5 FF FF */ addic. r5, r5, -1 /* 801CCC60 001C88C0 40 82 FF E8 */ bne lbl_801CCC48 /* 801CCC64 001C88C4 3B DE FF FF */ addi r30, r30, -1 /* 801CCC68 001C88C8 28 1E 00 01 */ cmplwi r30, 1 /* 801CCC6C 001C88CC 41 82 00 BC */ beq lbl_801CCD28 /* 801CCC70 001C88D0 7E DC B0 50 */ subf r22, r28, r22 lbl_801CCC74: /* 801CCC74 001C88D4 7C 1A CA 14 */ add r0, r26, r25 /* 801CCC78 001C88D8 7F F8 FB 78 */ mr r24, r31 /* 801CCC7C 001C88DC 7E 9B 02 14 */ add r20, r27, r0 /* 801CCC80 001C88E0 48 00 00 98 */ b lbl_801CCD18 lbl_801CCC84: /* 801CCC84 001C88E4 57 18 08 3C */ slwi r24, r24, 1 /* 801CCC88 001C88E8 7E 95 A3 78 */ mr r21, r20 /* 801CCC8C 001C88EC 38 18 FF FF */ addi r0, r24, -1 /* 801CCC90 001C88F0 7C 1C 01 D6 */ mullw r0, r28, r0 /* 801CCC94 001C88F4 7C 18 F0 40 */ cmplw r24, r30 /* 801CCC98 001C88F8 7E 9B 02 14 */ add r20, r27, r0 /* 801CCC9C 001C88FC 40 80 00 2C */ bge lbl_801CCCC8 /* 801CCCA0 001C8900 7E 74 E2 14 */ add r19, r20, r28 /* 801CCCA4 001C8904 7F AC EB 78 */ mr r12, r29 /* 801CCCA8 001C8908 7E 83 A3 78 */ mr r3, r20 /* 801CCCAC 001C890C 7E 64 9B 78 */ mr r4, r19 /* 801CCCB0 001C8910 7D 89 03 A6 */ mtctr r12 /* 801CCCB4 001C8914 4E 80 04 21 */ bctrl /* 801CCCB8 001C8918 2C 03 00 00 */ cmpwi r3, 0 /* 801CCCBC 001C891C 40 80 00 0C */ bge lbl_801CCCC8 /* 801CCCC0 001C8920 7E 74 9B 78 */ mr r20, r19 /* 801CCCC4 001C8924 3B 18 00 01 */ addi r24, r24, 1 lbl_801CCCC8: /* 801CCCC8 001C8928 7F AC EB 78 */ mr r12, r29 /* 801CCCCC 001C892C 7E A3 AB 78 */ mr r3, r21 /* 801CCCD0 001C8930 7E 84 A3 78 */ mr r4, r20 /* 801CCCD4 001C8934 7D 89 03 A6 */ mtctr r12 /* 801CCCD8 001C8938 4E 80 04 21 */ bctrl /* 801CCCDC 001C893C 2C 03 00 00 */ cmpwi r3, 0 /* 801CCCE0 001C8940 40 80 FF 40 */ bge lbl_801CCC20 /* 801CCCE4 001C8944 38 74 FF FF */ addi r3, r20, -1 /* 801CCCE8 001C8948 38 95 FF FF */ addi r4, r21, -1 /* 801CCCEC 001C894C 38 BC 00 01 */ addi r5, r28, 1 /* 801CCCF0 001C8950 48 00 00 20 */ b lbl_801CCD10 lbl_801CCCF4: /* 801CCCF4 001C8954 88 C4 00 01 */ lbz r6, 1(r4) /* 801CCCF8 001C8958 88 03 00 01 */ lbz r0, 1(r3) /* 801CCCFC 001C895C 7C C6 07 74 */ extsb r6, r6 /* 801CCD00 001C8960 98 04 00 01 */ stb r0, 1(r4) /* 801CCD04 001C8964 38 84 00 01 */ addi r4, r4, 1 /* 801CCD08 001C8968 98 C3 00 01 */ stb r6, 1(r3) /* 801CCD0C 001C896C 38 63 00 01 */ addi r3, r3, 1 lbl_801CCD10: /* 801CCD10 001C8970 34 A5 FF FF */ addic. r5, r5, -1 /* 801CCD14 001C8974 40 82 FF E0 */ bne lbl_801CCCF4 lbl_801CCD18: /* 801CCD18 001C8978 57 00 08 3C */ slwi r0, r24, 1 /* 801CCD1C 001C897C 7C 00 F0 40 */ cmplw r0, r30 /* 801CCD20 001C8980 40 81 FF 64 */ ble lbl_801CCC84 /* 801CCD24 001C8984 4B FF FE FC */ b lbl_801CCC20 lbl_801CCD28: /* 801CCD28 001C8988 BA 61 00 0C */ lmw r19, 0xc(r1) /* 801CCD2C 001C898C 80 01 00 44 */ lwz r0, 0x44(r1) /* 801CCD30 001C8990 7C 08 03 A6 */ mtlr r0 /* 801CCD34 001C8994 38 21 00 40 */ addi r1, r1, 0x40 /* 801CCD38 001C8998 4E 80 00 20 */ blr .global func_801CCD3C func_801CCD3C: /* 801CCD3C 001C899C 3C 60 41 C6 */ lis r3, 0x41C64E6D@ha /* 801CCD40 001C89A0 80 8D 83 E8 */ lwz r4, lbl_8063D6A8-_SDA_BASE_(r13) /* 801CCD44 001C89A4 38 03 4E 6D */ addi r0, r3, 0x41C64E6D@l /* 801CCD48 001C89A8 7C 64 01 D6 */ mullw r3, r4, r0 /* 801CCD4C 001C89AC 38 03 30 39 */ addi r0, r3, 0x3039 /* 801CCD50 001C89B0 90 0D 83 E8 */ stw r0, lbl_8063D6A8-_SDA_BASE_(r13) /* 801CCD54 001C89B4 54 03 84 7E */ rlwinm r3, r0, 0x10, 0x11, 0x1f /* 801CCD58 001C89B8 4E 80 00 20 */ blr .global func_801CCD5C func_801CCD5C: /* 801CCD5C 001C89BC 90 6D 83 E8 */ stw r3, lbl_8063D6A8-_SDA_BASE_(r13) /* 801CCD60 001C89C0 4E 80 00 20 */ blr .global func_801CCD64 func_801CCD64: /* 801CCD64 001C89C4 94 21 FF C0 */ stwu r1, -0x40(r1) /* 801CCD68 001C89C8 3C C0 80 40 */ lis r6, lbl_80400004@ha /* 801CCD6C 001C89CC 8C A3 00 01 */ lbzu r5, 1(r3) /* 801CCD70 001C89D0 93 E1 00 3C */ stw r31, 0x3c(r1) /* 801CCD74 001C89D4 7C A5 07 74 */ extsb r5, r5 /* 801CCD78 001C89D8 93 C1 00 38 */ stw r30, 0x38(r1) /* 801CCD7C 001C89DC 2C 05 00 25 */ cmpwi r5, 0x25 /* 801CCD80 001C89E0 84 06 CC F0 */ lwzu r0, -0x3310(r6) /* 801CCD84 001C89E4 83 C6 00 04 */ lwz r30, lbl_80400004@l(r6) /* 801CCD88 001C89E8 83 E6 00 08 */ lwz r31, 8(r6) /* 801CCD8C 001C89EC 81 86 00 0C */ lwz r12, 0xc(r6) /* 801CCD90 001C89F0 81 66 00 10 */ lwz r11, 0x10(r6) /* 801CCD94 001C89F4 81 46 00 14 */ lwz r10, 0x14(r6) /* 801CCD98 001C89F8 81 26 00 18 */ lwz r9, 0x18(r6) /* 801CCD9C 001C89FC 81 06 00 1C */ lwz r8, 0x1c(r6) /* 801CCDA0 001C8A00 80 E6 00 20 */ lwz r7, 0x20(r6) /* 801CCDA4 001C8A04 80 C6 00 24 */ lwz r6, 0x24(r6) /* 801CCDA8 001C8A08 90 01 00 08 */ stw r0, 8(r1) /* 801CCDAC 001C8A0C 93 C1 00 0C */ stw r30, 0xc(r1) /* 801CCDB0 001C8A10 93 E1 00 10 */ stw r31, 0x10(r1) /* 801CCDB4 001C8A14 91 81 00 14 */ stw r12, 0x14(r1) /* 801CCDB8 001C8A18 91 61 00 18 */ stw r11, 0x18(r1) /* 801CCDBC 001C8A1C 91 41 00 1C */ stw r10, 0x1c(r1) /* 801CCDC0 001C8A20 91 21 00 20 */ stw r9, 0x20(r1) /* 801CCDC4 001C8A24 91 01 00 24 */ stw r8, 0x24(r1) /* 801CCDC8 001C8A28 90 E1 00 28 */ stw r7, 0x28(r1) /* 801CCDCC 001C8A2C 90 C1 00 2C */ stw r6, 0x2c(r1) /* 801CCDD0 001C8A30 40 82 00 3C */ bne lbl_801CCE0C /* 801CCDD4 001C8A34 98 A1 00 0B */ stb r5, 0xb(r1) /* 801CCDD8 001C8A38 38 63 00 01 */ addi r3, r3, 1 /* 801CCDDC 001C8A3C 80 01 00 08 */ lwz r0, 8(r1) /* 801CCDE0 001C8A40 90 04 00 00 */ stw r0, 0(r4) /* 801CCDE4 001C8A44 93 C4 00 04 */ stw r30, 4(r4) /* 801CCDE8 001C8A48 93 E4 00 08 */ stw r31, 8(r4) /* 801CCDEC 001C8A4C 91 84 00 0C */ stw r12, 0xc(r4) /* 801CCDF0 001C8A50 91 64 00 10 */ stw r11, 0x10(r4) /* 801CCDF4 001C8A54 91 44 00 14 */ stw r10, 0x14(r4) /* 801CCDF8 001C8A58 91 24 00 18 */ stw r9, 0x18(r4) /* 801CCDFC 001C8A5C 91 04 00 1C */ stw r8, 0x1c(r4) /* 801CCE00 001C8A60 90 E4 00 20 */ stw r7, 0x20(r4) /* 801CCE04 001C8A64 90 C4 00 24 */ stw r6, 0x24(r4) /* 801CCE08 001C8A68 48 00 06 00 */ b lbl_801CD408 lbl_801CCE0C: /* 801CCE0C 001C8A6C 2C 05 00 2A */ cmpwi r5, 0x2a /* 801CCE10 001C8A70 40 82 00 14 */ bne lbl_801CCE24 /* 801CCE14 001C8A74 8C A3 00 01 */ lbzu r5, 1(r3) /* 801CCE18 001C8A78 38 00 00 01 */ li r0, 1 /* 801CCE1C 001C8A7C 98 01 00 08 */ stb r0, 8(r1) /* 801CCE20 001C8A80 7C A5 07 74 */ extsb r5, r5 lbl_801CCE24: /* 801CCE24 001C8A84 2C 05 00 00 */ cmpwi r5, 0 /* 801CCE28 001C8A88 38 00 00 00 */ li r0, 0 /* 801CCE2C 001C8A8C 41 80 00 0C */ blt lbl_801CCE38 /* 801CCE30 001C8A90 2C 05 01 00 */ cmpwi r5, 0x100 /* 801CCE34 001C8A94 41 80 00 08 */ blt lbl_801CCE3C lbl_801CCE38: /* 801CCE38 001C8A98 38 00 00 01 */ li r0, 1 lbl_801CCE3C: /* 801CCE3C 001C8A9C 2C 00 00 00 */ cmpwi r0, 0 /* 801CCE40 001C8AA0 41 82 00 0C */ beq lbl_801CCE4C /* 801CCE44 001C8AA4 38 00 00 00 */ li r0, 0 /* 801CCE48 001C8AA8 48 00 00 20 */ b lbl_801CCE68 lbl_801CCE4C: /* 801CCE4C 001C8AAC 3C C0 80 42 */ lis r6, lbl_80422D48@ha /* 801CCE50 001C8AB0 54 A0 08 3C */ slwi r0, r5, 1 /* 801CCE54 001C8AB4 38 C6 2D 48 */ addi r6, r6, lbl_80422D48@l /* 801CCE58 001C8AB8 80 C6 00 38 */ lwz r6, 0x38(r6) /* 801CCE5C 001C8ABC 80 C6 00 08 */ lwz r6, 8(r6) /* 801CCE60 001C8AC0 7C 06 02 2E */ lhzx r0, r6, r0 /* 801CCE64 001C8AC4 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c lbl_801CCE68: /* 801CCE68 001C8AC8 2C 00 00 00 */ cmpwi r0, 0 /* 801CCE6C 001C8ACC 41 82 00 E0 */ beq lbl_801CCF4C /* 801CCE70 001C8AD0 3C C0 80 42 */ lis r6, lbl_80422D48@ha /* 801CCE74 001C8AD4 38 00 00 00 */ li r0, 0 /* 801CCE78 001C8AD8 38 C6 2D 48 */ addi r6, r6, lbl_80422D48@l /* 801CCE7C 001C8ADC 90 01 00 0C */ stw r0, 0xc(r1) /* 801CCE80 001C8AE0 80 E6 00 38 */ lwz r7, 0x38(r6) lbl_801CCE84: /* 801CCE84 001C8AE4 80 C1 00 0C */ lwz r6, 0xc(r1) /* 801CCE88 001C8AE8 38 00 00 00 */ li r0, 0 /* 801CCE8C 001C8AEC 1C C6 00 0A */ mulli r6, r6, 0xa /* 801CCE90 001C8AF0 7C C5 32 14 */ add r6, r5, r6 /* 801CCE94 001C8AF4 8C A3 00 01 */ lbzu r5, 1(r3) /* 801CCE98 001C8AF8 38 C6 FF D0 */ addi r6, r6, -48 /* 801CCE9C 001C8AFC 7C A5 07 75 */ extsb. r5, r5 /* 801CCEA0 001C8B00 90 C1 00 0C */ stw r6, 0xc(r1) /* 801CCEA4 001C8B04 41 80 00 0C */ blt lbl_801CCEB0 /* 801CCEA8 001C8B08 2C 05 01 00 */ cmpwi r5, 0x100 /* 801CCEAC 001C8B0C 41 80 00 08 */ blt lbl_801CCEB4 lbl_801CCEB0: /* 801CCEB0 001C8B10 38 00 00 01 */ li r0, 1 lbl_801CCEB4: /* 801CCEB4 001C8B14 2C 00 00 00 */ cmpwi r0, 0 /* 801CCEB8 001C8B18 41 82 00 0C */ beq lbl_801CCEC4 /* 801CCEBC 001C8B1C 38 00 00 00 */ li r0, 0 /* 801CCEC0 001C8B20 48 00 00 14 */ b lbl_801CCED4 lbl_801CCEC4: /* 801CCEC4 001C8B24 80 C7 00 08 */ lwz r6, 8(r7) /* 801CCEC8 001C8B28 54 A0 08 3C */ slwi r0, r5, 1 /* 801CCECC 001C8B2C 7C 06 02 2E */ lhzx r0, r6, r0 /* 801CCED0 001C8B30 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c lbl_801CCED4: /* 801CCED4 001C8B34 2C 00 00 00 */ cmpwi r0, 0 /* 801CCED8 001C8B38 40 82 FF AC */ bne lbl_801CCE84 /* 801CCEDC 001C8B3C 80 C1 00 0C */ lwz r6, 0xc(r1) /* 801CCEE0 001C8B40 2C 06 00 00 */ cmpwi r6, 0 /* 801CCEE4 001C8B44 40 82 00 60 */ bne lbl_801CCF44 /* 801CCEE8 001C8B48 38 00 00 FF */ li r0, 0xff /* 801CCEEC 001C8B4C 38 63 00 01 */ addi r3, r3, 1 /* 801CCEF0 001C8B50 98 01 00 0B */ stb r0, 0xb(r1) /* 801CCEF4 001C8B54 80 01 00 08 */ lwz r0, 8(r1) /* 801CCEF8 001C8B58 90 04 00 00 */ stw r0, 0(r4) /* 801CCEFC 001C8B5C 90 C4 00 04 */ stw r6, 4(r4) /* 801CCF00 001C8B60 80 A1 00 10 */ lwz r5, 0x10(r1) /* 801CCF04 001C8B64 80 01 00 14 */ lwz r0, 0x14(r1) /* 801CCF08 001C8B68 90 A4 00 08 */ stw r5, 8(r4) /* 801CCF0C 001C8B6C 90 04 00 0C */ stw r0, 0xc(r4) /* 801CCF10 001C8B70 80 A1 00 18 */ lwz r5, 0x18(r1) /* 801CCF14 001C8B74 80 01 00 1C */ lwz r0, 0x1c(r1) /* 801CCF18 001C8B78 90 A4 00 10 */ stw r5, 0x10(r4) /* 801CCF1C 001C8B7C 90 04 00 14 */ stw r0, 0x14(r4) /* 801CCF20 001C8B80 80 A1 00 20 */ lwz r5, 0x20(r1) /* 801CCF24 001C8B84 80 01 00 24 */ lwz r0, 0x24(r1) /* 801CCF28 001C8B88 90 A4 00 18 */ stw r5, 0x18(r4) /* 801CCF2C 001C8B8C 90 04 00 1C */ stw r0, 0x1c(r4) /* 801CCF30 001C8B90 80 A1 00 28 */ lwz r5, 0x28(r1) /* 801CCF34 001C8B94 80 01 00 2C */ lwz r0, 0x2c(r1) /* 801CCF38 001C8B98 90 A4 00 20 */ stw r5, 0x20(r4) /* 801CCF3C 001C8B9C 90 04 00 24 */ stw r0, 0x24(r4) /* 801CCF40 001C8BA0 48 00 04 C8 */ b lbl_801CD408 lbl_801CCF44: /* 801CCF44 001C8BA4 38 00 00 01 */ li r0, 1 /* 801CCF48 001C8BA8 98 01 00 09 */ stb r0, 9(r1) lbl_801CCF4C: /* 801CCF4C 001C8BAC 2C 05 00 6B */ cmpwi r5, 0x6b /* 801CCF50 001C8BB0 38 E0 00 01 */ li r7, 1 /* 801CCF54 001C8BB4 41 82 00 D8 */ beq lbl_801CD02C /* 801CCF58 001C8BB8 40 80 00 28 */ bge lbl_801CCF80 /* 801CCF5C 001C8BBC 2C 05 00 68 */ cmpwi r5, 0x68 /* 801CCF60 001C8BC0 41 82 00 44 */ beq lbl_801CCFA4 /* 801CCF64 001C8BC4 40 80 00 10 */ bge lbl_801CCF74 /* 801CCF68 001C8BC8 2C 05 00 4C */ cmpwi r5, 0x4c /* 801CCF6C 001C8BCC 41 82 00 90 */ beq lbl_801CCFFC /* 801CCF70 001C8BD0 48 00 00 BC */ b lbl_801CD02C lbl_801CCF74: /* 801CCF74 001C8BD4 2C 05 00 6A */ cmpwi r5, 0x6a /* 801CCF78 001C8BD8 40 80 00 90 */ bge lbl_801CD008 /* 801CCF7C 001C8BDC 48 00 00 B0 */ b lbl_801CD02C lbl_801CCF80: /* 801CCF80 001C8BE0 2C 05 00 74 */ cmpwi r5, 0x74 /* 801CCF84 001C8BE4 41 82 00 9C */ beq lbl_801CD020 /* 801CCF88 001C8BE8 40 80 00 10 */ bge lbl_801CCF98 /* 801CCF8C 001C8BEC 2C 05 00 6D */ cmpwi r5, 0x6d /* 801CCF90 001C8BF0 40 80 00 9C */ bge lbl_801CD02C /* 801CCF94 001C8BF4 48 00 00 3C */ b lbl_801CCFD0 lbl_801CCF98: /* 801CCF98 001C8BF8 2C 05 00 7A */ cmpwi r5, 0x7a /* 801CCF9C 001C8BFC 41 82 00 78 */ beq lbl_801CD014 /* 801CCFA0 001C8C00 48 00 00 8C */ b lbl_801CD02C lbl_801CCFA4: /* 801CCFA4 001C8C04 88 03 00 01 */ lbz r0, 1(r3) /* 801CCFA8 001C8C08 38 C0 00 02 */ li r6, 2 /* 801CCFAC 001C8C0C 98 C1 00 0A */ stb r6, 0xa(r1) /* 801CCFB0 001C8C10 7C 06 07 74 */ extsb r6, r0 /* 801CCFB4 001C8C14 2C 06 00 68 */ cmpwi r6, 0x68 /* 801CCFB8 001C8C18 40 82 00 78 */ bne lbl_801CD030 /* 801CCFBC 001C8C1C 38 00 00 01 */ li r0, 1 /* 801CCFC0 001C8C20 7C C5 33 78 */ mr r5, r6 /* 801CCFC4 001C8C24 98 01 00 0A */ stb r0, 0xa(r1) /* 801CCFC8 001C8C28 38 63 00 01 */ addi r3, r3, 1 /* 801CCFCC 001C8C2C 48 00 00 64 */ b lbl_801CD030 lbl_801CCFD0: /* 801CCFD0 001C8C30 88 03 00 01 */ lbz r0, 1(r3) /* 801CCFD4 001C8C34 38 C0 00 03 */ li r6, 3 /* 801CCFD8 001C8C38 98 C1 00 0A */ stb r6, 0xa(r1) /* 801CCFDC 001C8C3C 7C 06 07 74 */ extsb r6, r0 /* 801CCFE0 001C8C40 2C 06 00 6C */ cmpwi r6, 0x6c /* 801CCFE4 001C8C44 40 82 00 4C */ bne lbl_801CD030 /* 801CCFE8 001C8C48 38 00 00 07 */ li r0, 7 /* 801CCFEC 001C8C4C 7C C5 33 78 */ mr r5, r6 /* 801CCFF0 001C8C50 98 01 00 0A */ stb r0, 0xa(r1) /* 801CCFF4 001C8C54 38 63 00 01 */ addi r3, r3, 1 /* 801CCFF8 001C8C58 48 00 00 38 */ b lbl_801CD030 lbl_801CCFFC: /* 801CCFFC 001C8C5C 38 00 00 09 */ li r0, 9 /* 801CD000 001C8C60 98 01 00 0A */ stb r0, 0xa(r1) /* 801CD004 001C8C64 48 00 00 2C */ b lbl_801CD030 lbl_801CD008: /* 801CD008 001C8C68 38 00 00 04 */ li r0, 4 /* 801CD00C 001C8C6C 98 01 00 0A */ stb r0, 0xa(r1) /* 801CD010 001C8C70 48 00 00 20 */ b lbl_801CD030 lbl_801CD014: /* 801CD014 001C8C74 38 00 00 05 */ li r0, 5 /* 801CD018 001C8C78 98 01 00 0A */ stb r0, 0xa(r1) /* 801CD01C 001C8C7C 48 00 00 14 */ b lbl_801CD030 lbl_801CD020: /* 801CD020 001C8C80 38 00 00 06 */ li r0, 6 /* 801CD024 001C8C84 98 01 00 0A */ stb r0, 0xa(r1) /* 801CD028 001C8C88 48 00 00 08 */ b lbl_801CD030 lbl_801CD02C: /* 801CD02C 001C8C8C 38 E0 00 00 */ li r7, 0 lbl_801CD030: /* 801CD030 001C8C90 2C 07 00 00 */ cmpwi r7, 0 /* 801CD034 001C8C94 41 82 00 0C */ beq lbl_801CD040 /* 801CD038 001C8C98 8C A3 00 01 */ lbzu r5, 1(r3) /* 801CD03C 001C8C9C 7C A5 07 74 */ extsb r5, r5 lbl_801CD040: /* 801CD040 001C8CA0 38 05 FF BF */ addi r0, r5, -65 /* 801CD044 001C8CA4 98 A1 00 0B */ stb r5, 0xb(r1) /* 801CD048 001C8CA8 28 00 00 37 */ cmplwi r0, 0x37 /* 801CD04C 001C8CAC 41 81 03 60 */ bgt lbl_801CD3AC /* 801CD050 001C8CB0 3C A0 80 42 */ lis r5, lbl_80422FE0@ha /* 801CD054 001C8CB4 54 00 10 3A */ slwi r0, r0, 2 /* 801CD058 001C8CB8 38 A5 2F E0 */ addi r5, r5, lbl_80422FE0@l /* 801CD05C 001C8CBC 7C A5 00 2E */ lwzx r5, r5, r0 /* 801CD060 001C8CC0 7C A9 03 A6 */ mtctr r5 /* 801CD064 001C8CC4 4E 80 04 20 */ bctr /* 801CD068 001C8CC8 88 01 00 0A */ lbz r0, 0xa(r1) /* 801CD06C 001C8CCC 28 00 00 09 */ cmplwi r0, 9 /* 801CD070 001C8CD0 40 82 03 44 */ bne lbl_801CD3B4 /* 801CD074 001C8CD4 38 00 00 FF */ li r0, 0xff /* 801CD078 001C8CD8 98 01 00 0B */ stb r0, 0xb(r1) /* 801CD07C 001C8CDC 48 00 03 38 */ b lbl_801CD3B4 /* 801CD080 001C8CE0 88 A1 00 0A */ lbz r5, 0xa(r1) /* 801CD084 001C8CE4 28 05 00 01 */ cmplwi r5, 1 /* 801CD088 001C8CE8 41 82 00 1C */ beq lbl_801CD0A4 /* 801CD08C 001C8CEC 28 05 00 02 */ cmplwi r5, 2 /* 801CD090 001C8CF0 41 82 00 14 */ beq lbl_801CD0A4 /* 801CD094 001C8CF4 38 05 00 FC */ addi r0, r5, 0xfc /* 801CD098 001C8CF8 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 801CD09C 001C8CFC 28 00 00 03 */ cmplwi r0, 3 /* 801CD0A0 001C8D00 41 81 00 10 */ bgt lbl_801CD0B0 lbl_801CD0A4: /* 801CD0A4 001C8D04 38 00 00 FF */ li r0, 0xff /* 801CD0A8 001C8D08 98 01 00 0B */ stb r0, 0xb(r1) /* 801CD0AC 001C8D0C 48 00 03 08 */ b lbl_801CD3B4 lbl_801CD0B0: /* 801CD0B0 001C8D10 28 05 00 03 */ cmplwi r5, 3 /* 801CD0B4 001C8D14 40 82 03 00 */ bne lbl_801CD3B4 /* 801CD0B8 001C8D18 38 00 00 08 */ li r0, 8 /* 801CD0BC 001C8D1C 98 01 00 0A */ stb r0, 0xa(r1) /* 801CD0C0 001C8D20 48 00 02 F4 */ b lbl_801CD3B4 /* 801CD0C4 001C8D24 38 A0 00 03 */ li r5, 3 /* 801CD0C8 001C8D28 38 00 00 78 */ li r0, 0x78 /* 801CD0CC 001C8D2C 98 A1 00 0A */ stb r5, 0xa(r1) /* 801CD0D0 001C8D30 98 01 00 0B */ stb r0, 0xb(r1) /* 801CD0D4 001C8D34 48 00 02 E0 */ b lbl_801CD3B4 /* 801CD0D8 001C8D38 88 01 00 0A */ lbz r0, 0xa(r1) /* 801CD0DC 001C8D3C 28 00 00 03 */ cmplwi r0, 3 /* 801CD0E0 001C8D40 40 82 00 10 */ bne lbl_801CD0F0 /* 801CD0E4 001C8D44 38 00 00 0A */ li r0, 0xa /* 801CD0E8 001C8D48 98 01 00 0A */ stb r0, 0xa(r1) /* 801CD0EC 001C8D4C 48 00 02 C8 */ b lbl_801CD3B4 lbl_801CD0F0: /* 801CD0F0 001C8D50 2C 00 00 00 */ cmpwi r0, 0 /* 801CD0F4 001C8D54 41 82 02 C0 */ beq lbl_801CD3B4 /* 801CD0F8 001C8D58 38 00 00 FF */ li r0, 0xff /* 801CD0FC 001C8D5C 98 01 00 0B */ stb r0, 0xb(r1) /* 801CD100 001C8D60 48 00 02 B4 */ b lbl_801CD3B4 /* 801CD104 001C8D64 88 01 00 0A */ lbz r0, 0xa(r1) /* 801CD108 001C8D68 28 00 00 03 */ cmplwi r0, 3 /* 801CD10C 001C8D6C 40 82 00 10 */ bne lbl_801CD11C /* 801CD110 001C8D70 38 00 00 0A */ li r0, 0xa /* 801CD114 001C8D74 98 01 00 0A */ stb r0, 0xa(r1) /* 801CD118 001C8D78 48 00 00 14 */ b lbl_801CD12C lbl_801CD11C: /* 801CD11C 001C8D7C 2C 00 00 00 */ cmpwi r0, 0 /* 801CD120 001C8D80 41 82 00 0C */ beq lbl_801CD12C /* 801CD124 001C8D84 38 00 00 FF */ li r0, 0xff /* 801CD128 001C8D88 98 01 00 0B */ stb r0, 0xb(r1) lbl_801CD12C: /* 801CD12C 001C8D8C 38 C0 00 FF */ li r6, 0xff /* 801CD130 001C8D90 38 A0 00 C1 */ li r5, 0xc1 /* 801CD134 001C8D94 38 00 00 FE */ li r0, 0xfe /* 801CD138 001C8D98 98 C1 00 10 */ stb r6, 0x10(r1) /* 801CD13C 001C8D9C 98 C1 00 12 */ stb r6, 0x12(r1) /* 801CD140 001C8DA0 98 C1 00 13 */ stb r6, 0x13(r1) /* 801CD144 001C8DA4 98 C1 00 15 */ stb r6, 0x15(r1) /* 801CD148 001C8DA8 98 C1 00 16 */ stb r6, 0x16(r1) /* 801CD14C 001C8DAC 98 C1 00 17 */ stb r6, 0x17(r1) /* 801CD150 001C8DB0 98 C1 00 18 */ stb r6, 0x18(r1) /* 801CD154 001C8DB4 98 C1 00 19 */ stb r6, 0x19(r1) /* 801CD158 001C8DB8 98 C1 00 1A */ stb r6, 0x1a(r1) /* 801CD15C 001C8DBC 98 C1 00 1B */ stb r6, 0x1b(r1) /* 801CD160 001C8DC0 98 C1 00 1C */ stb r6, 0x1c(r1) /* 801CD164 001C8DC4 98 C1 00 1D */ stb r6, 0x1d(r1) /* 801CD168 001C8DC8 98 C1 00 1E */ stb r6, 0x1e(r1) /* 801CD16C 001C8DCC 98 C1 00 1F */ stb r6, 0x1f(r1) /* 801CD170 001C8DD0 98 C1 00 20 */ stb r6, 0x20(r1) /* 801CD174 001C8DD4 98 C1 00 21 */ stb r6, 0x21(r1) /* 801CD178 001C8DD8 98 C1 00 22 */ stb r6, 0x22(r1) /* 801CD17C 001C8DDC 98 C1 00 23 */ stb r6, 0x23(r1) /* 801CD180 001C8DE0 98 C1 00 24 */ stb r6, 0x24(r1) /* 801CD184 001C8DE4 98 C1 00 25 */ stb r6, 0x25(r1) /* 801CD188 001C8DE8 98 C1 00 26 */ stb r6, 0x26(r1) /* 801CD18C 001C8DEC 98 C1 00 27 */ stb r6, 0x27(r1) /* 801CD190 001C8DF0 98 C1 00 28 */ stb r6, 0x28(r1) /* 801CD194 001C8DF4 98 C1 00 29 */ stb r6, 0x29(r1) /* 801CD198 001C8DF8 98 C1 00 2A */ stb r6, 0x2a(r1) /* 801CD19C 001C8DFC 98 C1 00 2B */ stb r6, 0x2b(r1) /* 801CD1A0 001C8E00 98 C1 00 2C */ stb r6, 0x2c(r1) /* 801CD1A4 001C8E04 98 C1 00 2D */ stb r6, 0x2d(r1) /* 801CD1A8 001C8E08 98 C1 00 2E */ stb r6, 0x2e(r1) /* 801CD1AC 001C8E0C 98 C1 00 2F */ stb r6, 0x2f(r1) /* 801CD1B0 001C8E10 98 A1 00 11 */ stb r5, 0x11(r1) /* 801CD1B4 001C8E14 98 01 00 14 */ stb r0, 0x14(r1) /* 801CD1B8 001C8E18 48 00 01 FC */ b lbl_801CD3B4 /* 801CD1BC 001C8E1C 88 01 00 0A */ lbz r0, 0xa(r1) /* 801CD1C0 001C8E20 28 00 00 03 */ cmplwi r0, 3 /* 801CD1C4 001C8E24 40 82 00 10 */ bne lbl_801CD1D4 /* 801CD1C8 001C8E28 38 00 00 0A */ li r0, 0xa /* 801CD1CC 001C8E2C 98 01 00 0A */ stb r0, 0xa(r1) /* 801CD1D0 001C8E30 48 00 00 14 */ b lbl_801CD1E4 lbl_801CD1D4: /* 801CD1D4 001C8E34 2C 00 00 00 */ cmpwi r0, 0 /* 801CD1D8 001C8E38 41 82 00 0C */ beq lbl_801CD1E4 /* 801CD1DC 001C8E3C 38 00 00 FF */ li r0, 0xff /* 801CD1E0 001C8E40 98 01 00 0B */ stb r0, 0xb(r1) lbl_801CD1E4: /* 801CD1E4 001C8E44 8D 43 00 01 */ lbzu r10, 1(r3) /* 801CD1E8 001C8E48 39 60 00 00 */ li r11, 0 /* 801CD1EC 001C8E4C 7D 4A 07 74 */ extsb r10, r10 /* 801CD1F0 001C8E50 2C 0A 00 5E */ cmpwi r10, 0x5e /* 801CD1F4 001C8E54 40 82 00 10 */ bne lbl_801CD204 /* 801CD1F8 001C8E58 8D 43 00 01 */ lbzu r10, 1(r3) /* 801CD1FC 001C8E5C 39 60 00 01 */ li r11, 1 /* 801CD200 001C8E60 7D 4A 07 74 */ extsb r10, r10 lbl_801CD204: /* 801CD204 001C8E64 2C 0A 00 5D */ cmpwi r10, 0x5d /* 801CD208 001C8E68 40 82 00 18 */ bne lbl_801CD220 /* 801CD20C 001C8E6C 88 01 00 1B */ lbz r0, 0x1b(r1) /* 801CD210 001C8E70 8D 43 00 01 */ lbzu r10, 1(r3) /* 801CD214 001C8E74 60 00 00 20 */ ori r0, r0, 0x20 /* 801CD218 001C8E78 98 01 00 1B */ stb r0, 0x1b(r1) /* 801CD21C 001C8E7C 7D 4A 07 74 */ extsb r10, r10 lbl_801CD220: /* 801CD220 001C8E80 39 01 00 08 */ addi r8, r1, 8 /* 801CD224 001C8E84 38 A0 00 01 */ li r5, 1 /* 801CD228 001C8E88 48 00 00 80 */ b lbl_801CD2A8 lbl_801CD22C: /* 801CD22C 001C8E8C 55 46 EE FE */ rlwinm r6, r10, 0x1d, 0x1b, 0x1f /* 801CD230 001C8E90 88 03 00 01 */ lbz r0, 1(r3) /* 801CD234 001C8E94 7D 28 32 14 */ add r9, r8, r6 /* 801CD238 001C8E98 55 46 07 7E */ clrlwi r6, r10, 0x1d /* 801CD23C 001C8E9C 88 E9 00 08 */ lbz r7, 8(r9) /* 801CD240 001C8EA0 7C A6 30 30 */ slw r6, r5, r6 /* 801CD244 001C8EA4 2C 00 00 2D */ cmpwi r0, 0x2d /* 801CD248 001C8EA8 7C E6 33 78 */ or r6, r7, r6 /* 801CD24C 001C8EAC 98 C9 00 08 */ stb r6, 8(r9) /* 801CD250 001C8EB0 40 82 00 50 */ bne lbl_801CD2A0 /* 801CD254 001C8EB4 89 23 00 02 */ lbz r9, 2(r3) /* 801CD258 001C8EB8 7D 29 07 75 */ extsb. r9, r9 /* 801CD25C 001C8EBC 41 82 00 44 */ beq lbl_801CD2A0 /* 801CD260 001C8EC0 2C 09 00 5D */ cmpwi r9, 0x5d /* 801CD264 001C8EC4 41 82 00 3C */ beq lbl_801CD2A0 /* 801CD268 001C8EC8 48 00 00 20 */ b lbl_801CD288 lbl_801CD26C: /* 801CD26C 001C8ECC 55 46 EE FE */ rlwinm r6, r10, 0x1d, 0x1b, 0x1f /* 801CD270 001C8ED0 55 40 07 7E */ clrlwi r0, r10, 0x1d /* 801CD274 001C8ED4 7C E8 32 14 */ add r7, r8, r6 /* 801CD278 001C8ED8 88 C7 00 08 */ lbz r6, 8(r7) /* 801CD27C 001C8EDC 7C A0 00 30 */ slw r0, r5, r0 /* 801CD280 001C8EE0 7C C0 03 78 */ or r0, r6, r0 /* 801CD284 001C8EE4 98 07 00 08 */ stb r0, 8(r7) lbl_801CD288: /* 801CD288 001C8EE8 39 4A 00 01 */ addi r10, r10, 1 /* 801CD28C 001C8EEC 7C 0A 48 00 */ cmpw r10, r9 /* 801CD290 001C8EF0 40 81 FF DC */ ble lbl_801CD26C /* 801CD294 001C8EF4 8D 43 00 03 */ lbzu r10, 3(r3) /* 801CD298 001C8EF8 7D 4A 07 74 */ extsb r10, r10 /* 801CD29C 001C8EFC 48 00 00 0C */ b lbl_801CD2A8 lbl_801CD2A0: /* 801CD2A0 001C8F00 8D 43 00 01 */ lbzu r10, 1(r3) /* 801CD2A4 001C8F04 7D 4A 07 74 */ extsb r10, r10 lbl_801CD2A8: /* 801CD2A8 001C8F08 2C 0A 00 00 */ cmpwi r10, 0 /* 801CD2AC 001C8F0C 41 82 00 0C */ beq lbl_801CD2B8 /* 801CD2B0 001C8F10 2C 0A 00 5D */ cmpwi r10, 0x5d /* 801CD2B4 001C8F14 40 82 FF 78 */ bne lbl_801CD22C lbl_801CD2B8: /* 801CD2B8 001C8F18 2C 0A 00 00 */ cmpwi r10, 0 /* 801CD2BC 001C8F1C 40 82 00 10 */ bne lbl_801CD2CC /* 801CD2C0 001C8F20 38 00 00 FF */ li r0, 0xff /* 801CD2C4 001C8F24 98 01 00 0B */ stb r0, 0xb(r1) /* 801CD2C8 001C8F28 48 00 00 EC */ b lbl_801CD3B4 lbl_801CD2CC: /* 801CD2CC 001C8F2C 2C 0B 00 00 */ cmpwi r11, 0 /* 801CD2D0 001C8F30 41 82 00 E4 */ beq lbl_801CD3B4 /* 801CD2D4 001C8F34 38 00 00 02 */ li r0, 2 /* 801CD2D8 001C8F38 38 A1 00 10 */ addi r5, r1, 0x10 /* 801CD2DC 001C8F3C 7C 09 03 A6 */ mtctr r0 lbl_801CD2E0: /* 801CD2E0 001C8F40 88 05 00 00 */ lbz r0, 0(r5) /* 801CD2E4 001C8F44 7C 00 00 F8 */ nor r0, r0, r0 /* 801CD2E8 001C8F48 98 05 00 00 */ stb r0, 0(r5) /* 801CD2EC 001C8F4C 88 05 00 01 */ lbz r0, 1(r5) /* 801CD2F0 001C8F50 7C 00 00 F8 */ nor r0, r0, r0 /* 801CD2F4 001C8F54 98 05 00 01 */ stb r0, 1(r5) /* 801CD2F8 001C8F58 88 05 00 02 */ lbz r0, 2(r5) /* 801CD2FC 001C8F5C 7C 00 00 F8 */ nor r0, r0, r0 /* 801CD300 001C8F60 98 05 00 02 */ stb r0, 2(r5) /* 801CD304 001C8F64 88 05 00 03 */ lbz r0, 3(r5) /* 801CD308 001C8F68 7C 00 00 F8 */ nor r0, r0, r0 /* 801CD30C 001C8F6C 98 05 00 03 */ stb r0, 3(r5) /* 801CD310 001C8F70 88 05 00 04 */ lbz r0, 4(r5) /* 801CD314 001C8F74 7C 00 00 F8 */ nor r0, r0, r0 /* 801CD318 001C8F78 98 05 00 04 */ stb r0, 4(r5) /* 801CD31C 001C8F7C 88 05 00 05 */ lbz r0, 5(r5) /* 801CD320 001C8F80 7C 00 00 F8 */ nor r0, r0, r0 /* 801CD324 001C8F84 98 05 00 05 */ stb r0, 5(r5) /* 801CD328 001C8F88 88 05 00 06 */ lbz r0, 6(r5) /* 801CD32C 001C8F8C 7C 00 00 F8 */ nor r0, r0, r0 /* 801CD330 001C8F90 98 05 00 06 */ stb r0, 6(r5) /* 801CD334 001C8F94 88 05 00 07 */ lbz r0, 7(r5) /* 801CD338 001C8F98 7C 00 00 F8 */ nor r0, r0, r0 /* 801CD33C 001C8F9C 98 05 00 07 */ stb r0, 7(r5) /* 801CD340 001C8FA0 88 05 00 08 */ lbz r0, 8(r5) /* 801CD344 001C8FA4 7C 00 00 F8 */ nor r0, r0, r0 /* 801CD348 001C8FA8 98 05 00 08 */ stb r0, 8(r5) /* 801CD34C 001C8FAC 88 05 00 09 */ lbz r0, 9(r5) /* 801CD350 001C8FB0 7C 00 00 F8 */ nor r0, r0, r0 /* 801CD354 001C8FB4 98 05 00 09 */ stb r0, 9(r5) /* 801CD358 001C8FB8 88 05 00 0A */ lbz r0, 0xa(r5) /* 801CD35C 001C8FBC 7C 00 00 F8 */ nor r0, r0, r0 /* 801CD360 001C8FC0 98 05 00 0A */ stb r0, 0xa(r5) /* 801CD364 001C8FC4 88 05 00 0B */ lbz r0, 0xb(r5) /* 801CD368 001C8FC8 7C 00 00 F8 */ nor r0, r0, r0 /* 801CD36C 001C8FCC 98 05 00 0B */ stb r0, 0xb(r5) /* 801CD370 001C8FD0 88 05 00 0C */ lbz r0, 0xc(r5) /* 801CD374 001C8FD4 7C 00 00 F8 */ nor r0, r0, r0 /* 801CD378 001C8FD8 98 05 00 0C */ stb r0, 0xc(r5) /* 801CD37C 001C8FDC 88 05 00 0D */ lbz r0, 0xd(r5) /* 801CD380 001C8FE0 7C 00 00 F8 */ nor r0, r0, r0 /* 801CD384 001C8FE4 98 05 00 0D */ stb r0, 0xd(r5) /* 801CD388 001C8FE8 88 05 00 0E */ lbz r0, 0xe(r5) /* 801CD38C 001C8FEC 7C 00 00 F8 */ nor r0, r0, r0 /* 801CD390 001C8FF0 98 05 00 0E */ stb r0, 0xe(r5) /* 801CD394 001C8FF4 88 05 00 0F */ lbz r0, 0xf(r5) /* 801CD398 001C8FF8 7C 00 00 F8 */ nor r0, r0, r0 /* 801CD39C 001C8FFC 98 05 00 0F */ stb r0, 0xf(r5) /* 801CD3A0 001C9000 38 A5 00 10 */ addi r5, r5, 0x10 /* 801CD3A4 001C9004 42 00 FF 3C */ bdnz lbl_801CD2E0 /* 801CD3A8 001C9008 48 00 00 0C */ b lbl_801CD3B4 lbl_801CD3AC: /* 801CD3AC 001C900C 38 00 00 FF */ li r0, 0xff /* 801CD3B0 001C9010 98 01 00 0B */ stb r0, 0xb(r1) lbl_801CD3B4: /* 801CD3B4 001C9014 80 A1 00 08 */ lwz r5, 8(r1) /* 801CD3B8 001C9018 38 63 00 01 */ addi r3, r3, 1 /* 801CD3BC 001C901C 80 01 00 0C */ lwz r0, 0xc(r1) /* 801CD3C0 001C9020 90 A4 00 00 */ stw r5, 0(r4) /* 801CD3C4 001C9024 90 04 00 04 */ stw r0, 4(r4) /* 801CD3C8 001C9028 80 A1 00 10 */ lwz r5, 0x10(r1) /* 801CD3CC 001C902C 80 01 00 14 */ lwz r0, 0x14(r1) /* 801CD3D0 001C9030 90 A4 00 08 */ stw r5, 8(r4) /* 801CD3D4 001C9034 90 04 00 0C */ stw r0, 0xc(r4) /* 801CD3D8 001C9038 80 A1 00 18 */ lwz r5, 0x18(r1) /* 801CD3DC 001C903C 80 01 00 1C */ lwz r0, 0x1c(r1) /* 801CD3E0 001C9040 90 A4 00 10 */ stw r5, 0x10(r4) /* 801CD3E4 001C9044 90 04 00 14 */ stw r0, 0x14(r4) /* 801CD3E8 001C9048 80 A1 00 20 */ lwz r5, 0x20(r1) /* 801CD3EC 001C904C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801CD3F0 001C9050 90 A4 00 18 */ stw r5, 0x18(r4) /* 801CD3F4 001C9054 90 04 00 1C */ stw r0, 0x1c(r4) /* 801CD3F8 001C9058 80 A1 00 28 */ lwz r5, 0x28(r1) /* 801CD3FC 001C905C 80 01 00 2C */ lwz r0, 0x2c(r1) /* 801CD400 001C9060 90 A4 00 20 */ stw r5, 0x20(r4) /* 801CD404 001C9064 90 04 00 24 */ stw r0, 0x24(r4) lbl_801CD408: /* 801CD408 001C9068 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 801CD40C 001C906C 83 C1 00 38 */ lwz r30, 0x38(r1) /* 801CD410 001C9070 38 21 00 40 */ addi r1, r1, 0x40 /* 801CD414 001C9074 4E 80 00 20 */ blr .global func_801CD418 func_801CD418: /* 801CD418 001C9078 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 801CD41C 001C907C 7C 08 02 A6 */ mflr r0 /* 801CD420 001C9080 90 01 00 B4 */ stw r0, 0xb4(r1) /* 801CD424 001C9084 39 61 00 B0 */ addi r11, r1, 0xb0 /* 801CD428 001C9088 4B FF 9C D1 */ bl _savegpr_15 /* 801CD42C 001C908C 38 00 00 00 */ li r0, 0 /* 801CD430 001C9090 3D 00 80 42 */ lis r8, lbl_80422D48@ha /* 801CD434 001C9094 90 01 00 5C */ stw r0, 0x5c(r1) /* 801CD438 001C9098 38 00 00 00 */ li r0, 0 /* 801CD43C 001C909C 7C 7A 1B 78 */ mr r26, r3 /* 801CD440 001C90A0 7C 9B 23 78 */ mr r27, r4 /* 801CD444 001C90A4 90 C1 00 08 */ stw r6, 8(r1) /* 801CD448 001C90A8 7C B1 2B 78 */ mr r17, r5 /* 801CD44C 001C90AC 7C FC 3B 78 */ mr r28, r7 /* 801CD450 001C90B0 3B 21 00 20 */ addi r25, r1, 0x20 /* 801CD454 001C90B4 90 01 00 58 */ stw r0, 0x58(r1) /* 801CD458 001C90B8 3A E8 2D 48 */ addi r23, r8, lbl_80422D48@l /* 801CD45C 001C90BC 3B A0 00 00 */ li r29, 0 /* 801CD460 001C90C0 3A A0 00 00 */ li r21, 0 /* 801CD464 001C90C4 3A 80 00 00 */ li r20, 0 /* 801CD468 001C90C8 3A 60 00 00 */ li r19, 0 /* 801CD46C 001C90CC 3B 00 00 01 */ li r24, 1 /* 801CD470 001C90D0 48 00 0C B0 */ b lbl_801CE120 lbl_801CD474: /* 801CD474 001C90D4 2C 16 00 00 */ cmpwi r22, 0 /* 801CD478 001C90D8 38 00 00 00 */ li r0, 0 /* 801CD47C 001C90DC 41 80 00 0C */ blt lbl_801CD488 /* 801CD480 001C90E0 2C 16 01 00 */ cmpwi r22, 0x100 /* 801CD484 001C90E4 41 80 00 08 */ blt lbl_801CD48C lbl_801CD488: /* 801CD488 001C90E8 38 00 00 01 */ li r0, 1 lbl_801CD48C: /* 801CD48C 001C90EC 2C 00 00 00 */ cmpwi r0, 0 /* 801CD490 001C90F0 41 82 00 0C */ beq lbl_801CD49C /* 801CD494 001C90F4 38 00 00 00 */ li r0, 0 /* 801CD498 001C90F8 48 00 00 18 */ b lbl_801CD4B0 lbl_801CD49C: /* 801CD49C 001C90FC 80 77 00 38 */ lwz r3, 0x38(r23) /* 801CD4A0 001C9100 56 C0 08 3C */ slwi r0, r22, 1 /* 801CD4A4 001C9104 80 63 00 08 */ lwz r3, 8(r3) /* 801CD4A8 001C9108 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CD4AC 001C910C 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17 lbl_801CD4B0: /* 801CD4B0 001C9110 2C 00 00 00 */ cmpwi r0, 0 /* 801CD4B4 001C9114 41 82 00 DC */ beq lbl_801CD590 /* 801CD4B8 001C9118 80 97 00 38 */ lwz r4, 0x38(r23) lbl_801CD4BC: /* 801CD4BC 001C911C 8C 71 00 01 */ lbzu r3, 1(r17) /* 801CD4C0 001C9120 38 00 00 00 */ li r0, 0 /* 801CD4C4 001C9124 7C 65 07 75 */ extsb. r5, r3 /* 801CD4C8 001C9128 41 80 00 0C */ blt lbl_801CD4D4 /* 801CD4CC 001C912C 2C 05 01 00 */ cmpwi r5, 0x100 /* 801CD4D0 001C9130 41 80 00 08 */ blt lbl_801CD4D8 lbl_801CD4D4: /* 801CD4D4 001C9134 38 00 00 01 */ li r0, 1 lbl_801CD4D8: /* 801CD4D8 001C9138 2C 00 00 00 */ cmpwi r0, 0 /* 801CD4DC 001C913C 41 82 00 0C */ beq lbl_801CD4E8 /* 801CD4E0 001C9140 38 00 00 00 */ li r0, 0 /* 801CD4E4 001C9144 48 00 00 14 */ b lbl_801CD4F8 lbl_801CD4E8: /* 801CD4E8 001C9148 80 64 00 08 */ lwz r3, 8(r4) /* 801CD4EC 001C914C 54 A0 08 3C */ slwi r0, r5, 1 /* 801CD4F0 001C9150 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CD4F4 001C9154 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17 lbl_801CD4F8: /* 801CD4F8 001C9158 2C 00 00 00 */ cmpwi r0, 0 /* 801CD4FC 001C915C 40 82 FF C0 */ bne lbl_801CD4BC /* 801CD500 001C9160 2C 1D 00 00 */ cmpwi r29, 0 /* 801CD504 001C9164 40 82 0C 1C */ bne lbl_801CE120 /* 801CD508 001C9168 48 00 00 08 */ b lbl_801CD510 lbl_801CD50C: /* 801CD50C 001C916C 3A B5 00 01 */ addi r21, r21, 1 lbl_801CD510: /* 801CD510 001C9170 7F 4C D3 78 */ mr r12, r26 /* 801CD514 001C9174 7F 63 DB 78 */ mr r3, r27 /* 801CD518 001C9178 38 80 00 00 */ li r4, 0 /* 801CD51C 001C917C 38 A0 00 00 */ li r5, 0 /* 801CD520 001C9180 7D 89 03 A6 */ mtctr r12 /* 801CD524 001C9184 4E 80 04 21 */ bctrl /* 801CD528 001C9188 7C 65 07 75 */ extsb. r5, r3 /* 801CD52C 001C918C 98 61 00 0C */ stb r3, 0xc(r1) /* 801CD530 001C9190 38 00 00 00 */ li r0, 0 /* 801CD534 001C9194 41 80 00 0C */ blt lbl_801CD540 /* 801CD538 001C9198 2C 05 01 00 */ cmpwi r5, 0x100 /* 801CD53C 001C919C 41 80 00 08 */ blt lbl_801CD544 lbl_801CD540: /* 801CD540 001C91A0 38 00 00 01 */ li r0, 1 lbl_801CD544: /* 801CD544 001C91A4 2C 00 00 00 */ cmpwi r0, 0 /* 801CD548 001C91A8 41 82 00 0C */ beq lbl_801CD554 /* 801CD54C 001C91AC 38 00 00 00 */ li r0, 0 /* 801CD550 001C91B0 48 00 00 18 */ b lbl_801CD568 lbl_801CD554: /* 801CD554 001C91B4 80 97 00 38 */ lwz r4, 0x38(r23) /* 801CD558 001C91B8 54 A0 08 3C */ slwi r0, r5, 1 /* 801CD55C 001C91BC 80 84 00 08 */ lwz r4, 8(r4) /* 801CD560 001C91C0 7C 04 02 2E */ lhzx r0, r4, r0 /* 801CD564 001C91C4 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17 lbl_801CD568: /* 801CD568 001C91C8 2C 00 00 00 */ cmpwi r0, 0 /* 801CD56C 001C91CC 40 82 FF A0 */ bne lbl_801CD50C /* 801CD570 001C91D0 54 64 06 3E */ clrlwi r4, r3, 0x18 /* 801CD574 001C91D4 7F 4C D3 78 */ mr r12, r26 /* 801CD578 001C91D8 7F 63 DB 78 */ mr r3, r27 /* 801CD57C 001C91DC 38 A0 00 01 */ li r5, 1 /* 801CD580 001C91E0 7C 84 07 74 */ extsb r4, r4 /* 801CD584 001C91E4 7D 89 03 A6 */ mtctr r12 /* 801CD588 001C91E8 4E 80 04 21 */ bctrl /* 801CD58C 001C91EC 48 00 0B 94 */ b lbl_801CE120 lbl_801CD590: /* 801CD590 001C91F0 2C 16 00 25 */ cmpwi r22, 0x25 /* 801CD594 001C91F4 41 82 00 74 */ beq lbl_801CD608 /* 801CD598 001C91F8 2C 1D 00 00 */ cmpwi r29, 0 /* 801CD59C 001C91FC 40 82 00 6C */ bne lbl_801CD608 /* 801CD5A0 001C9200 7F 4C D3 78 */ mr r12, r26 /* 801CD5A4 001C9204 7F 63 DB 78 */ mr r3, r27 /* 801CD5A8 001C9208 38 80 00 00 */ li r4, 0 /* 801CD5AC 001C920C 38 A0 00 00 */ li r5, 0 /* 801CD5B0 001C9210 7D 89 03 A6 */ mtctr r12 /* 801CD5B4 001C9214 4E 80 04 21 */ bctrl /* 801CD5B8 001C9218 7C 64 07 74 */ extsb r4, r3 /* 801CD5BC 001C921C 56 C0 06 3E */ clrlwi r0, r22, 0x18 /* 801CD5C0 001C9220 7C 00 20 00 */ cmpw r0, r4 /* 801CD5C4 001C9224 98 61 00 0C */ stb r3, 0xc(r1) /* 801CD5C8 001C9228 41 82 00 34 */ beq lbl_801CD5FC /* 801CD5CC 001C922C 54 64 06 3E */ clrlwi r4, r3, 0x18 /* 801CD5D0 001C9230 7F 4C D3 78 */ mr r12, r26 /* 801CD5D4 001C9234 7F 63 DB 78 */ mr r3, r27 /* 801CD5D8 001C9238 38 A0 00 01 */ li r5, 1 /* 801CD5DC 001C923C 7C 84 07 74 */ extsb r4, r4 /* 801CD5E0 001C9240 7D 89 03 A6 */ mtctr r12 /* 801CD5E4 001C9244 4E 80 04 21 */ bctrl /* 801CD5E8 001C9248 2C 1C 00 00 */ cmpwi r28, 0 /* 801CD5EC 001C924C 41 82 0B 40 */ beq lbl_801CE12C /* 801CD5F0 001C9250 3B A0 00 01 */ li r29, 1 /* 801CD5F4 001C9254 3A 31 00 01 */ addi r17, r17, 1 /* 801CD5F8 001C9258 48 00 0B 28 */ b lbl_801CE120 lbl_801CD5FC: /* 801CD5FC 001C925C 3A B5 00 01 */ addi r21, r21, 1 /* 801CD600 001C9260 3A 31 00 01 */ addi r17, r17, 1 /* 801CD604 001C9264 48 00 0B 1C */ b lbl_801CE120 lbl_801CD608: /* 801CD608 001C9268 7E 23 8B 78 */ mr r3, r17 /* 801CD60C 001C926C 38 81 00 20 */ addi r4, r1, 0x20 /* 801CD610 001C9270 4B FF F7 55 */ bl func_801CCD64 /* 801CD614 001C9274 88 01 00 20 */ lbz r0, 0x20(r1) /* 801CD618 001C9278 7C 71 1B 78 */ mr r17, r3 /* 801CD61C 001C927C 2C 00 00 00 */ cmpwi r0, 0 /* 801CD620 001C9280 40 82 00 24 */ bne lbl_801CD644 /* 801CD624 001C9284 88 01 00 23 */ lbz r0, 0x23(r1) /* 801CD628 001C9288 28 00 00 25 */ cmplwi r0, 0x25 /* 801CD62C 001C928C 41 82 00 18 */ beq lbl_801CD644 /* 801CD630 001C9290 80 61 00 08 */ lwz r3, 8(r1) /* 801CD634 001C9294 38 80 00 01 */ li r4, 1 /* 801CD638 001C9298 4B FF 95 49 */ bl __va_arg /* 801CD63C 001C929C 82 C3 00 00 */ lwz r22, 0(r3) /* 801CD640 001C92A0 48 00 00 08 */ b lbl_801CD648 lbl_801CD644: /* 801CD644 001C92A4 3A C0 00 00 */ li r22, 0 lbl_801CD648: /* 801CD648 001C92A8 88 01 00 23 */ lbz r0, 0x23(r1) /* 801CD64C 001C92AC 28 00 00 6E */ cmplwi r0, 0x6e /* 801CD650 001C92B0 41 82 00 38 */ beq lbl_801CD688 /* 801CD654 001C92B4 2C 1D 00 00 */ cmpwi r29, 0 /* 801CD658 001C92B8 40 82 00 30 */ bne lbl_801CD688 /* 801CD65C 001C92BC 7F 4C D3 78 */ mr r12, r26 /* 801CD660 001C92C0 7F 63 DB 78 */ mr r3, r27 /* 801CD664 001C92C4 38 80 00 00 */ li r4, 0 /* 801CD668 001C92C8 38 A0 00 02 */ li r5, 2 /* 801CD66C 001C92CC 7D 89 03 A6 */ mtctr r12 /* 801CD670 001C92D0 4E 80 04 21 */ bctrl /* 801CD674 001C92D4 2C 03 00 00 */ cmpwi r3, 0 /* 801CD678 001C92D8 41 82 00 10 */ beq lbl_801CD688 /* 801CD67C 001C92DC 2C 1C 00 00 */ cmpwi r28, 0 /* 801CD680 001C92E0 41 82 0A AC */ beq lbl_801CE12C /* 801CD684 001C92E4 3B A0 00 01 */ li r29, 1 lbl_801CD688: /* 801CD688 001C92E8 88 01 00 23 */ lbz r0, 0x23(r1) /* 801CD68C 001C92EC 2C 00 00 64 */ cmpwi r0, 0x64 /* 801CD690 001C92F0 41 82 00 C4 */ beq lbl_801CD754 /* 801CD694 001C92F4 40 80 00 60 */ bge lbl_801CD6F4 /* 801CD698 001C92F8 2C 00 00 58 */ cmpwi r0, 0x58 /* 801CD69C 001C92FC 41 82 02 7C */ beq lbl_801CD918 /* 801CD6A0 001C9300 40 80 00 30 */ bge lbl_801CD6D0 /* 801CD6A4 001C9304 2C 00 00 41 */ cmpwi r0, 0x41 /* 801CD6A8 001C9308 41 82 03 F8 */ beq lbl_801CDAA0 /* 801CD6AC 001C930C 40 80 00 10 */ bge lbl_801CD6BC /* 801CD6B0 001C9310 2C 00 00 25 */ cmpwi r0, 0x25 /* 801CD6B4 001C9314 41 82 06 48 */ beq lbl_801CDCFC /* 801CD6B8 001C9318 48 00 0A 74 */ b lbl_801CE12C lbl_801CD6BC: /* 801CD6BC 001C931C 2C 00 00 48 */ cmpwi r0, 0x48 /* 801CD6C0 001C9320 40 80 0A 6C */ bge lbl_801CE12C /* 801CD6C4 001C9324 2C 00 00 45 */ cmpwi r0, 0x45 /* 801CD6C8 001C9328 40 80 03 D8 */ bge lbl_801CDAA0 /* 801CD6CC 001C932C 48 00 0A 60 */ b lbl_801CE12C lbl_801CD6D0: /* 801CD6D0 001C9330 2C 00 00 61 */ cmpwi r0, 0x61 /* 801CD6D4 001C9334 41 82 03 CC */ beq lbl_801CDAA0 /* 801CD6D8 001C9338 40 80 00 10 */ bge lbl_801CD6E8 /* 801CD6DC 001C933C 2C 00 00 5B */ cmpwi r0, 0x5b /* 801CD6E0 001C9340 41 82 07 70 */ beq lbl_801CDE50 /* 801CD6E4 001C9344 48 00 0A 48 */ b lbl_801CE12C lbl_801CD6E8: /* 801CD6E8 001C9348 2C 00 00 63 */ cmpwi r0, 0x63 /* 801CD6EC 001C934C 40 80 04 64 */ bge lbl_801CDB50 /* 801CD6F0 001C9350 48 00 0A 3C */ b lbl_801CE12C lbl_801CD6F4: /* 801CD6F4 001C9354 2C 00 00 73 */ cmpwi r0, 0x73 /* 801CD6F8 001C9358 41 82 06 B0 */ beq lbl_801CDDA8 /* 801CD6FC 001C935C 40 80 00 34 */ bge lbl_801CD730 /* 801CD700 001C9360 2C 00 00 6E */ cmpwi r0, 0x6e /* 801CD704 001C9364 41 82 09 B4 */ beq lbl_801CE0B8 /* 801CD708 001C9368 40 80 00 1C */ bge lbl_801CD724 /* 801CD70C 001C936C 2C 00 00 69 */ cmpwi r0, 0x69 /* 801CD710 001C9370 41 82 00 4C */ beq lbl_801CD75C /* 801CD714 001C9374 40 80 0A 18 */ bge lbl_801CE12C /* 801CD718 001C9378 2C 00 00 68 */ cmpwi r0, 0x68 /* 801CD71C 001C937C 40 80 0A 10 */ bge lbl_801CE12C /* 801CD720 001C9380 48 00 03 80 */ b lbl_801CDAA0 lbl_801CD724: /* 801CD724 001C9384 2C 00 00 70 */ cmpwi r0, 0x70 /* 801CD728 001C9388 40 80 0A 04 */ bge lbl_801CE12C /* 801CD72C 001C938C 48 00 01 DC */ b lbl_801CD908 lbl_801CD730: /* 801CD730 001C9390 2C 00 00 78 */ cmpwi r0, 0x78 /* 801CD734 001C9394 41 82 01 E4 */ beq lbl_801CD918 /* 801CD738 001C9398 40 80 00 10 */ bge lbl_801CD748 /* 801CD73C 001C939C 2C 00 00 75 */ cmpwi r0, 0x75 /* 801CD740 001C93A0 41 82 01 D0 */ beq lbl_801CD910 /* 801CD744 001C93A4 48 00 09 E8 */ b lbl_801CE12C lbl_801CD748: /* 801CD748 001C93A8 2C 00 00 FF */ cmpwi r0, 0xff /* 801CD74C 001C93AC 41 82 09 E0 */ beq lbl_801CE12C /* 801CD750 001C93B0 48 00 09 DC */ b lbl_801CE12C lbl_801CD754: /* 801CD754 001C93B4 38 60 00 0A */ li r3, 0xa /* 801CD758 001C93B8 48 00 00 08 */ b lbl_801CD760 lbl_801CD75C: /* 801CD75C 001C93BC 38 60 00 00 */ li r3, 0 lbl_801CD760: /* 801CD760 001C93C0 2C 1D 00 00 */ cmpwi r29, 0 /* 801CD764 001C93C4 41 82 00 1C */ beq lbl_801CD780 /* 801CD768 001C93C8 38 00 00 00 */ li r0, 0 /* 801CD76C 001C93CC 3A 00 00 00 */ li r16, 0 /* 801CD770 001C93D0 90 01 00 5C */ stw r0, 0x5c(r1) /* 801CD774 001C93D4 38 00 00 00 */ li r0, 0 /* 801CD778 001C93D8 90 01 00 58 */ stw r0, 0x58(r1) /* 801CD77C 001C93DC 48 00 00 F8 */ b lbl_801CD874 lbl_801CD780: /* 801CD780 001C93E0 88 01 00 22 */ lbz r0, 0x22(r1) /* 801CD784 001C93E4 28 00 00 07 */ cmplwi r0, 7 /* 801CD788 001C93E8 41 82 00 0C */ beq lbl_801CD794 /* 801CD78C 001C93EC 28 00 00 04 */ cmplwi r0, 4 /* 801CD790 001C93F0 40 82 00 2C */ bne lbl_801CD7BC lbl_801CD794: /* 801CD794 001C93F4 80 81 00 24 */ lwz r4, 0x24(r1) /* 801CD798 001C93F8 7F 45 D3 78 */ mr r5, r26 /* 801CD79C 001C93FC 7F 66 DB 78 */ mr r6, r27 /* 801CD7A0 001C9400 38 E1 00 18 */ addi r7, r1, 0x18 /* 801CD7A4 001C9404 39 01 00 14 */ addi r8, r1, 0x14 /* 801CD7A8 001C9408 39 21 00 10 */ addi r9, r1, 0x10 /* 801CD7AC 001C940C 48 00 29 09 */ bl func_801D00B4 /* 801CD7B0 001C9410 90 81 00 54 */ stw r4, 0x54(r1) /* 801CD7B4 001C9414 90 61 00 50 */ stw r3, 0x50(r1) /* 801CD7B8 001C9418 48 00 00 24 */ b lbl_801CD7DC lbl_801CD7BC: /* 801CD7BC 001C941C 80 81 00 24 */ lwz r4, 0x24(r1) /* 801CD7C0 001C9420 7F 45 D3 78 */ mr r5, r26 /* 801CD7C4 001C9424 7F 66 DB 78 */ mr r6, r27 /* 801CD7C8 001C9428 38 E1 00 18 */ addi r7, r1, 0x18 /* 801CD7CC 001C942C 39 01 00 14 */ addi r8, r1, 0x14 /* 801CD7D0 001C9430 39 21 00 10 */ addi r9, r1, 0x10 /* 801CD7D4 001C9434 48 00 24 B1 */ bl func_801CFC84 /* 801CD7D8 001C9438 7C 6F 1B 78 */ mr r15, r3 lbl_801CD7DC: /* 801CD7DC 001C943C 80 61 00 18 */ lwz r3, 0x18(r1) /* 801CD7E0 001C9440 2C 03 00 00 */ cmpwi r3, 0 /* 801CD7E4 001C9444 40 82 00 28 */ bne lbl_801CD80C /* 801CD7E8 001C9448 2C 1C 00 00 */ cmpwi r28, 0 /* 801CD7EC 001C944C 41 82 09 40 */ beq lbl_801CE12C /* 801CD7F0 001C9450 38 00 00 00 */ li r0, 0 /* 801CD7F4 001C9454 3B A0 00 01 */ li r29, 1 /* 801CD7F8 001C9458 90 01 00 5C */ stw r0, 0x5c(r1) /* 801CD7FC 001C945C 38 00 00 00 */ li r0, 0 /* 801CD800 001C9460 3A 00 00 00 */ li r16, 0 /* 801CD804 001C9464 90 01 00 58 */ stw r0, 0x58(r1) /* 801CD808 001C9468 48 00 00 6C */ b lbl_801CD874 lbl_801CD80C: /* 801CD80C 001C946C 88 01 00 22 */ lbz r0, 0x22(r1) /* 801CD810 001C9470 7E B5 1A 14 */ add r21, r21, r3 /* 801CD814 001C9474 28 00 00 07 */ cmplwi r0, 7 /* 801CD818 001C9478 41 82 00 0C */ beq lbl_801CD824 /* 801CD81C 001C947C 28 00 00 04 */ cmplwi r0, 4 /* 801CD820 001C9480 40 82 00 40 */ bne lbl_801CD860 lbl_801CD824: /* 801CD824 001C9484 80 01 00 14 */ lwz r0, 0x14(r1) /* 801CD828 001C9488 2C 00 00 00 */ cmpwi r0, 0 /* 801CD82C 001C948C 41 82 00 20 */ beq lbl_801CD84C /* 801CD830 001C9490 80 01 00 54 */ lwz r0, 0x54(r1) /* 801CD834 001C9494 20 00 00 00 */ subfic r0, r0, 0 /* 801CD838 001C9498 90 01 00 5C */ stw r0, 0x5c(r1) /* 801CD83C 001C949C 80 01 00 50 */ lwz r0, 0x50(r1) /* 801CD840 001C94A0 7C 00 01 90 */ subfze r0, r0 /* 801CD844 001C94A4 90 01 00 58 */ stw r0, 0x58(r1) /* 801CD848 001C94A8 48 00 00 2C */ b lbl_801CD874 lbl_801CD84C: /* 801CD84C 001C94AC 80 01 00 54 */ lwz r0, 0x54(r1) /* 801CD850 001C94B0 90 01 00 5C */ stw r0, 0x5c(r1) /* 801CD854 001C94B4 80 01 00 50 */ lwz r0, 0x50(r1) /* 801CD858 001C94B8 90 01 00 58 */ stw r0, 0x58(r1) /* 801CD85C 001C94BC 48 00 00 18 */ b lbl_801CD874 lbl_801CD860: /* 801CD860 001C94C0 80 01 00 14 */ lwz r0, 0x14(r1) /* 801CD864 001C94C4 7D F0 7B 78 */ mr r16, r15 /* 801CD868 001C94C8 2C 00 00 00 */ cmpwi r0, 0 /* 801CD86C 001C94CC 41 82 00 08 */ beq lbl_801CD874 /* 801CD870 001C94D0 7E 0F 00 D0 */ neg r16, r15 lbl_801CD874: /* 801CD874 001C94D4 2C 16 00 00 */ cmpwi r22, 0 /* 801CD878 001C94D8 41 82 00 88 */ beq lbl_801CD900 /* 801CD87C 001C94DC 88 01 00 22 */ lbz r0, 0x22(r1) /* 801CD880 001C94E0 28 00 00 07 */ cmplwi r0, 7 /* 801CD884 001C94E4 41 81 00 70 */ bgt lbl_801CD8F4 /* 801CD888 001C94E8 3C 60 80 42 */ lis r3, lbl_804230E0@ha /* 801CD88C 001C94EC 54 00 10 3A */ slwi r0, r0, 2 /* 801CD890 001C94F0 38 63 30 E0 */ addi r3, r3, lbl_804230E0@l /* 801CD894 001C94F4 7C 63 00 2E */ lwzx r3, r3, r0 /* 801CD898 001C94F8 7C 69 03 A6 */ mtctr r3 /* 801CD89C 001C94FC 4E 80 04 20 */ bctr /* 801CD8A0 001C9500 92 16 00 00 */ stw r16, 0(r22) /* 801CD8A4 001C9504 48 00 00 50 */ b lbl_801CD8F4 /* 801CD8A8 001C9508 9A 16 00 00 */ stb r16, 0(r22) /* 801CD8AC 001C950C 48 00 00 48 */ b lbl_801CD8F4 /* 801CD8B0 001C9510 B2 16 00 00 */ sth r16, 0(r22) /* 801CD8B4 001C9514 48 00 00 40 */ b lbl_801CD8F4 /* 801CD8B8 001C9518 92 16 00 00 */ stw r16, 0(r22) /* 801CD8BC 001C951C 48 00 00 38 */ b lbl_801CD8F4 /* 801CD8C0 001C9520 80 01 00 5C */ lwz r0, 0x5c(r1) /* 801CD8C4 001C9524 90 16 00 04 */ stw r0, 4(r22) /* 801CD8C8 001C9528 80 01 00 58 */ lwz r0, 0x58(r1) /* 801CD8CC 001C952C 90 16 00 00 */ stw r0, 0(r22) /* 801CD8D0 001C9530 48 00 00 24 */ b lbl_801CD8F4 /* 801CD8D4 001C9534 92 16 00 00 */ stw r16, 0(r22) /* 801CD8D8 001C9538 48 00 00 1C */ b lbl_801CD8F4 /* 801CD8DC 001C953C 92 16 00 00 */ stw r16, 0(r22) /* 801CD8E0 001C9540 48 00 00 14 */ b lbl_801CD8F4 /* 801CD8E4 001C9544 80 01 00 5C */ lwz r0, 0x5c(r1) /* 801CD8E8 001C9548 90 16 00 04 */ stw r0, 4(r22) /* 801CD8EC 001C954C 80 01 00 58 */ lwz r0, 0x58(r1) /* 801CD8F0 001C9550 90 16 00 00 */ stw r0, 0(r22) lbl_801CD8F4: /* 801CD8F4 001C9554 2C 1D 00 00 */ cmpwi r29, 0 /* 801CD8F8 001C9558 40 82 00 08 */ bne lbl_801CD900 /* 801CD8FC 001C955C 3A 94 00 01 */ addi r20, r20, 1 lbl_801CD900: /* 801CD900 001C9560 3A 73 00 01 */ addi r19, r19, 1 /* 801CD904 001C9564 48 00 08 1C */ b lbl_801CE120 lbl_801CD908: /* 801CD908 001C9568 38 60 00 08 */ li r3, 8 /* 801CD90C 001C956C 48 00 00 10 */ b lbl_801CD91C lbl_801CD910: /* 801CD910 001C9570 38 60 00 0A */ li r3, 0xa /* 801CD914 001C9574 48 00 00 08 */ b lbl_801CD91C lbl_801CD918: /* 801CD918 001C9578 38 60 00 10 */ li r3, 0x10 lbl_801CD91C: /* 801CD91C 001C957C 2C 1D 00 00 */ cmpwi r29, 0 /* 801CD920 001C9580 41 82 00 1C */ beq lbl_801CD93C /* 801CD924 001C9584 38 00 00 00 */ li r0, 0 /* 801CD928 001C9588 39 E0 00 00 */ li r15, 0 /* 801CD92C 001C958C 90 01 00 54 */ stw r0, 0x54(r1) /* 801CD930 001C9590 38 00 00 00 */ li r0, 0 /* 801CD934 001C9594 90 01 00 50 */ stw r0, 0x50(r1) /* 801CD938 001C9598 48 00 00 D4 */ b lbl_801CDA0C lbl_801CD93C: /* 801CD93C 001C959C 88 01 00 22 */ lbz r0, 0x22(r1) /* 801CD940 001C95A0 28 00 00 07 */ cmplwi r0, 7 /* 801CD944 001C95A4 41 82 00 0C */ beq lbl_801CD950 /* 801CD948 001C95A8 28 00 00 04 */ cmplwi r0, 4 /* 801CD94C 001C95AC 40 82 00 2C */ bne lbl_801CD978 lbl_801CD950: /* 801CD950 001C95B0 80 81 00 24 */ lwz r4, 0x24(r1) /* 801CD954 001C95B4 7F 45 D3 78 */ mr r5, r26 /* 801CD958 001C95B8 7F 66 DB 78 */ mr r6, r27 /* 801CD95C 001C95BC 38 E1 00 18 */ addi r7, r1, 0x18 /* 801CD960 001C95C0 39 01 00 14 */ addi r8, r1, 0x14 /* 801CD964 001C95C4 39 21 00 10 */ addi r9, r1, 0x10 /* 801CD968 001C95C8 48 00 27 4D */ bl func_801D00B4 /* 801CD96C 001C95CC 90 81 00 54 */ stw r4, 0x54(r1) /* 801CD970 001C95D0 90 61 00 50 */ stw r3, 0x50(r1) /* 801CD974 001C95D4 48 00 00 24 */ b lbl_801CD998 lbl_801CD978: /* 801CD978 001C95D8 80 81 00 24 */ lwz r4, 0x24(r1) /* 801CD97C 001C95DC 7F 45 D3 78 */ mr r5, r26 /* 801CD980 001C95E0 7F 66 DB 78 */ mr r6, r27 /* 801CD984 001C95E4 38 E1 00 18 */ addi r7, r1, 0x18 /* 801CD988 001C95E8 39 01 00 14 */ addi r8, r1, 0x14 /* 801CD98C 001C95EC 39 21 00 10 */ addi r9, r1, 0x10 /* 801CD990 001C95F0 48 00 22 F5 */ bl func_801CFC84 /* 801CD994 001C95F4 7C 6F 1B 78 */ mr r15, r3 lbl_801CD998: /* 801CD998 001C95F8 80 61 00 18 */ lwz r3, 0x18(r1) /* 801CD99C 001C95FC 2C 03 00 00 */ cmpwi r3, 0 /* 801CD9A0 001C9600 40 82 00 28 */ bne lbl_801CD9C8 /* 801CD9A4 001C9604 2C 1C 00 00 */ cmpwi r28, 0 /* 801CD9A8 001C9608 41 82 07 84 */ beq lbl_801CE12C /* 801CD9AC 001C960C 38 00 00 00 */ li r0, 0 /* 801CD9B0 001C9610 3B A0 00 01 */ li r29, 1 /* 801CD9B4 001C9614 90 01 00 54 */ stw r0, 0x54(r1) /* 801CD9B8 001C9618 38 00 00 00 */ li r0, 0 /* 801CD9BC 001C961C 39 E0 00 00 */ li r15, 0 /* 801CD9C0 001C9620 90 01 00 50 */ stw r0, 0x50(r1) /* 801CD9C4 001C9624 48 00 00 48 */ b lbl_801CDA0C lbl_801CD9C8: /* 801CD9C8 001C9628 80 01 00 14 */ lwz r0, 0x14(r1) /* 801CD9CC 001C962C 7E B5 1A 14 */ add r21, r21, r3 /* 801CD9D0 001C9630 2C 00 00 00 */ cmpwi r0, 0 /* 801CD9D4 001C9634 41 82 00 38 */ beq lbl_801CDA0C /* 801CD9D8 001C9638 88 01 00 22 */ lbz r0, 0x22(r1) /* 801CD9DC 001C963C 28 00 00 07 */ cmplwi r0, 7 /* 801CD9E0 001C9640 40 82 00 1C */ bne lbl_801CD9FC /* 801CD9E4 001C9644 80 01 00 54 */ lwz r0, 0x54(r1) /* 801CD9E8 001C9648 20 00 00 00 */ subfic r0, r0, 0 /* 801CD9EC 001C964C 90 01 00 54 */ stw r0, 0x54(r1) /* 801CD9F0 001C9650 80 01 00 50 */ lwz r0, 0x50(r1) /* 801CD9F4 001C9654 7C 00 01 90 */ subfze r0, r0 /* 801CD9F8 001C9658 90 01 00 50 */ stw r0, 0x50(r1) lbl_801CD9FC: /* 801CD9FC 001C965C 88 01 00 22 */ lbz r0, 0x22(r1) /* 801CDA00 001C9660 28 00 00 07 */ cmplwi r0, 7 /* 801CDA04 001C9664 41 82 00 08 */ beq lbl_801CDA0C /* 801CDA08 001C9668 7D EF 00 D0 */ neg r15, r15 lbl_801CDA0C: /* 801CDA0C 001C966C 2C 16 00 00 */ cmpwi r22, 0 /* 801CDA10 001C9670 41 82 00 88 */ beq lbl_801CDA98 /* 801CDA14 001C9674 88 01 00 22 */ lbz r0, 0x22(r1) /* 801CDA18 001C9678 28 00 00 07 */ cmplwi r0, 7 /* 801CDA1C 001C967C 41 81 00 70 */ bgt lbl_801CDA8C /* 801CDA20 001C9680 3C 60 80 42 */ lis r3, lbl_804230C0@ha /* 801CDA24 001C9684 54 00 10 3A */ slwi r0, r0, 2 /* 801CDA28 001C9688 38 63 30 C0 */ addi r3, r3, lbl_804230C0@l /* 801CDA2C 001C968C 7C 63 00 2E */ lwzx r3, r3, r0 /* 801CDA30 001C9690 7C 69 03 A6 */ mtctr r3 /* 801CDA34 001C9694 4E 80 04 20 */ bctr /* 801CDA38 001C9698 91 F6 00 00 */ stw r15, 0(r22) /* 801CDA3C 001C969C 48 00 00 50 */ b lbl_801CDA8C /* 801CDA40 001C96A0 99 F6 00 00 */ stb r15, 0(r22) /* 801CDA44 001C96A4 48 00 00 48 */ b lbl_801CDA8C /* 801CDA48 001C96A8 B1 F6 00 00 */ sth r15, 0(r22) /* 801CDA4C 001C96AC 48 00 00 40 */ b lbl_801CDA8C /* 801CDA50 001C96B0 91 F6 00 00 */ stw r15, 0(r22) /* 801CDA54 001C96B4 48 00 00 38 */ b lbl_801CDA8C /* 801CDA58 001C96B8 80 01 00 54 */ lwz r0, 0x54(r1) /* 801CDA5C 001C96BC 90 16 00 04 */ stw r0, 4(r22) /* 801CDA60 001C96C0 80 01 00 50 */ lwz r0, 0x50(r1) /* 801CDA64 001C96C4 90 16 00 00 */ stw r0, 0(r22) /* 801CDA68 001C96C8 48 00 00 24 */ b lbl_801CDA8C /* 801CDA6C 001C96CC 91 F6 00 00 */ stw r15, 0(r22) /* 801CDA70 001C96D0 48 00 00 1C */ b lbl_801CDA8C /* 801CDA74 001C96D4 91 F6 00 00 */ stw r15, 0(r22) /* 801CDA78 001C96D8 48 00 00 14 */ b lbl_801CDA8C /* 801CDA7C 001C96DC 80 01 00 54 */ lwz r0, 0x54(r1) /* 801CDA80 001C96E0 90 16 00 04 */ stw r0, 4(r22) /* 801CDA84 001C96E4 80 01 00 50 */ lwz r0, 0x50(r1) /* 801CDA88 001C96E8 90 16 00 00 */ stw r0, 0(r22) lbl_801CDA8C: /* 801CDA8C 001C96EC 2C 1D 00 00 */ cmpwi r29, 0 /* 801CDA90 001C96F0 40 82 00 08 */ bne lbl_801CDA98 /* 801CDA94 001C96F4 3A 94 00 01 */ addi r20, r20, 1 lbl_801CDA98: /* 801CDA98 001C96F8 3A 73 00 01 */ addi r19, r19, 1 /* 801CDA9C 001C96FC 48 00 06 84 */ b lbl_801CE120 lbl_801CDAA0: /* 801CDAA0 001C9700 2C 1D 00 00 */ cmpwi r29, 0 /* 801CDAA4 001C9704 41 82 00 10 */ beq lbl_801CDAB4 /* 801CDAA8 001C9708 3C 60 80 64 */ lis r3, lbl_8063D6B8@ha /* 801CDAAC 001C970C C0 23 D6 B8 */ lfs f1, lbl_8063D6B8@l(r3) /* 801CDAB0 001C9710 48 00 00 44 */ b lbl_801CDAF4 lbl_801CDAB4: /* 801CDAB4 001C9714 80 61 00 24 */ lwz r3, 0x24(r1) /* 801CDAB8 001C9718 7F 44 D3 78 */ mr r4, r26 /* 801CDABC 001C971C 7F 65 DB 78 */ mr r5, r27 /* 801CDAC0 001C9720 38 C1 00 18 */ addi r6, r1, 0x18 /* 801CDAC4 001C9724 38 E1 00 10 */ addi r7, r1, 0x10 /* 801CDAC8 001C9728 48 00 0D 45 */ bl func_801CE80C /* 801CDACC 001C972C 80 01 00 18 */ lwz r0, 0x18(r1) /* 801CDAD0 001C9730 2C 00 00 00 */ cmpwi r0, 0 /* 801CDAD4 001C9734 40 82 00 1C */ bne lbl_801CDAF0 /* 801CDAD8 001C9738 2C 1C 00 00 */ cmpwi r28, 0 /* 801CDADC 001C973C 41 82 06 50 */ beq lbl_801CE12C /* 801CDAE0 001C9740 3C 60 80 64 */ lis r3, lbl_8063D6B8@ha /* 801CDAE4 001C9744 3B A0 00 01 */ li r29, 1 /* 801CDAE8 001C9748 C0 23 D6 B8 */ lfs f1, lbl_8063D6B8@l(r3) /* 801CDAEC 001C974C 48 00 00 08 */ b lbl_801CDAF4 lbl_801CDAF0: /* 801CDAF0 001C9750 7E B5 02 14 */ add r21, r21, r0 lbl_801CDAF4: /* 801CDAF4 001C9754 2C 16 00 00 */ cmpwi r22, 0 /* 801CDAF8 001C9758 41 82 00 50 */ beq lbl_801CDB48 /* 801CDAFC 001C975C 88 01 00 22 */ lbz r0, 0x22(r1) /* 801CDB00 001C9760 2C 00 00 08 */ cmpwi r0, 8 /* 801CDB04 001C9764 41 82 00 2C */ beq lbl_801CDB30 /* 801CDB08 001C9768 40 80 00 10 */ bge lbl_801CDB18 /* 801CDB0C 001C976C 2C 00 00 00 */ cmpwi r0, 0 /* 801CDB10 001C9770 41 82 00 14 */ beq lbl_801CDB24 /* 801CDB14 001C9774 48 00 00 28 */ b lbl_801CDB3C lbl_801CDB18: /* 801CDB18 001C9778 2C 00 00 0A */ cmpwi r0, 0xa /* 801CDB1C 001C977C 40 80 00 20 */ bge lbl_801CDB3C /* 801CDB20 001C9780 48 00 00 18 */ b lbl_801CDB38 lbl_801CDB24: /* 801CDB24 001C9784 FC 00 08 18 */ frsp f0, f1 /* 801CDB28 001C9788 D0 16 00 00 */ stfs f0, 0(r22) /* 801CDB2C 001C978C 48 00 00 10 */ b lbl_801CDB3C lbl_801CDB30: /* 801CDB30 001C9790 D8 36 00 00 */ stfd f1, 0(r22) /* 801CDB34 001C9794 48 00 00 08 */ b lbl_801CDB3C lbl_801CDB38: /* 801CDB38 001C9798 D8 36 00 00 */ stfd f1, 0(r22) lbl_801CDB3C: /* 801CDB3C 001C979C 2C 1D 00 00 */ cmpwi r29, 0 /* 801CDB40 001C97A0 40 82 00 08 */ bne lbl_801CDB48 /* 801CDB44 001C97A4 3A 94 00 01 */ addi r20, r20, 1 lbl_801CDB48: /* 801CDB48 001C97A8 3A 73 00 01 */ addi r19, r19, 1 /* 801CDB4C 001C97AC 48 00 05 D4 */ b lbl_801CE120 lbl_801CDB50: /* 801CDB50 001C97B0 88 01 00 21 */ lbz r0, 0x21(r1) /* 801CDB54 001C97B4 2C 00 00 00 */ cmpwi r0, 0 /* 801CDB58 001C97B8 40 82 00 08 */ bne lbl_801CDB60 /* 801CDB5C 001C97BC 93 01 00 24 */ stw r24, 0x24(r1) lbl_801CDB60: /* 801CDB60 001C97C0 2C 16 00 00 */ cmpwi r22, 0 /* 801CDB64 001C97C4 41 82 01 2C */ beq lbl_801CDC90 /* 801CDB68 001C97C8 2C 1C 00 00 */ cmpwi r28, 0 /* 801CDB6C 001C97CC 41 82 00 18 */ beq lbl_801CDB84 /* 801CDB70 001C97D0 80 61 00 08 */ lwz r3, 8(r1) /* 801CDB74 001C97D4 3B E0 00 01 */ li r31, 1 /* 801CDB78 001C97D8 38 80 00 01 */ li r4, 1 /* 801CDB7C 001C97DC 4B FF 90 05 */ bl __va_arg /* 801CDB80 001C97E0 83 C3 00 00 */ lwz r30, 0(r3) lbl_801CDB84: /* 801CDB84 001C97E4 38 00 00 00 */ li r0, 0 /* 801CDB88 001C97E8 2C 1D 00 00 */ cmpwi r29, 0 /* 801CDB8C 001C97EC 90 01 00 18 */ stw r0, 0x18(r1) /* 801CDB90 001C97F0 41 82 00 18 */ beq lbl_801CDBA8 /* 801CDB94 001C97F4 2C 1E 00 00 */ cmpwi r30, 0 /* 801CDB98 001C97F8 41 82 05 88 */ beq lbl_801CE120 /* 801CDB9C 001C97FC 38 00 00 00 */ li r0, 0 /* 801CDBA0 001C9800 98 16 00 00 */ stb r0, 0(r22) /* 801CDBA4 001C9804 48 00 05 7C */ b lbl_801CE120 lbl_801CDBA8: /* 801CDBA8 001C9808 92 C1 00 4C */ stw r22, 0x4c(r1) /* 801CDBAC 001C980C 48 00 00 40 */ b lbl_801CDBEC lbl_801CDBB0: /* 801CDBB0 001C9810 88 01 00 22 */ lbz r0, 0x22(r1) /* 801CDBB4 001C9814 98 61 00 0C */ stb r3, 0xc(r1) /* 801CDBB8 001C9818 28 00 00 0A */ cmplwi r0, 0xa /* 801CDBBC 001C981C 40 82 00 1C */ bne lbl_801CDBD8 /* 801CDBC0 001C9820 7E C3 B3 78 */ mr r3, r22 /* 801CDBC4 001C9824 38 81 00 0C */ addi r4, r1, 0xc /* 801CDBC8 001C9828 38 A0 00 01 */ li r5, 1 /* 801CDBCC 001C982C 4B FF C5 71 */ bl func_801CA13C /* 801CDBD0 001C9830 3A D6 00 01 */ addi r22, r22, 1 /* 801CDBD4 001C9834 48 00 00 0C */ b lbl_801CDBE0 lbl_801CDBD8: /* 801CDBD8 001C9838 98 76 00 00 */ stb r3, 0(r22) /* 801CDBDC 001C983C 3A D6 00 01 */ addi r22, r22, 1 lbl_801CDBE0: /* 801CDBE0 001C9840 80 61 00 18 */ lwz r3, 0x18(r1) /* 801CDBE4 001C9844 38 03 00 01 */ addi r0, r3, 1 /* 801CDBE8 001C9848 90 01 00 18 */ stw r0, 0x18(r1) lbl_801CDBEC: /* 801CDBEC 001C984C 80 81 00 24 */ lwz r4, 0x24(r1) /* 801CDBF0 001C9850 38 64 FF FF */ addi r3, r4, -1 /* 801CDBF4 001C9854 2C 04 00 00 */ cmpwi r4, 0 /* 801CDBF8 001C9858 90 61 00 24 */ stw r3, 0x24(r1) /* 801CDBFC 001C985C 41 82 00 44 */ beq lbl_801CDC40 /* 801CDC00 001C9860 2C 1C 00 00 */ cmpwi r28, 0 /* 801CDC04 001C9864 41 82 00 18 */ beq lbl_801CDC1C /* 801CDC08 001C9868 7F C0 02 78 */ xor r0, r30, r0 /* 801CDC0C 001C986C 7C 00 00 34 */ cntlzw r0, r0 /* 801CDC10 001C9870 7F C0 00 30 */ slw r0, r30, r0 /* 801CDC14 001C9874 54 1F 0F FF */ rlwinm. r31, r0, 1, 0x1f, 0x1f /* 801CDC18 001C9878 41 82 00 28 */ beq lbl_801CDC40 lbl_801CDC1C: /* 801CDC1C 001C987C 7F 4C D3 78 */ mr r12, r26 /* 801CDC20 001C9880 7F 63 DB 78 */ mr r3, r27 /* 801CDC24 001C9884 38 80 00 00 */ li r4, 0 /* 801CDC28 001C9888 38 A0 00 00 */ li r5, 0 /* 801CDC2C 001C988C 7D 89 03 A6 */ mtctr r12 /* 801CDC30 001C9890 4E 80 04 21 */ bctrl /* 801CDC34 001C9894 2C 03 FF FF */ cmpwi r3, -1 /* 801CDC38 001C9898 7C 72 1B 78 */ mr r18, r3 /* 801CDC3C 001C989C 40 82 FF 74 */ bne lbl_801CDBB0 lbl_801CDC40: /* 801CDC40 001C98A0 80 01 00 18 */ lwz r0, 0x18(r1) /* 801CDC44 001C98A4 9A 41 00 0C */ stb r18, 0xc(r1) /* 801CDC48 001C98A8 2C 00 00 00 */ cmpwi r0, 0 /* 801CDC4C 001C98AC 41 82 00 14 */ beq lbl_801CDC60 /* 801CDC50 001C98B0 2C 1C 00 00 */ cmpwi r28, 0 /* 801CDC54 001C98B4 41 82 00 30 */ beq lbl_801CDC84 /* 801CDC58 001C98B8 2C 1F 00 00 */ cmpwi r31, 0 /* 801CDC5C 001C98BC 40 82 00 28 */ bne lbl_801CDC84 lbl_801CDC60: /* 801CDC60 001C98C0 2C 1C 00 00 */ cmpwi r28, 0 /* 801CDC64 001C98C4 41 82 04 C8 */ beq lbl_801CE12C /* 801CDC68 001C98C8 2C 1E 00 00 */ cmpwi r30, 0 /* 801CDC6C 001C98CC 3B A0 00 01 */ li r29, 1 /* 801CDC70 001C98D0 41 82 04 B0 */ beq lbl_801CE120 /* 801CDC74 001C98D4 80 61 00 4C */ lwz r3, 0x4c(r1) /* 801CDC78 001C98D8 38 00 00 00 */ li r0, 0 /* 801CDC7C 001C98DC 98 03 00 00 */ stb r0, 0(r3) /* 801CDC80 001C98E0 48 00 04 A0 */ b lbl_801CE120 lbl_801CDC84: /* 801CDC84 001C98E4 7E B5 02 14 */ add r21, r21, r0 /* 801CDC88 001C98E8 3A 94 00 01 */ addi r20, r20, 1 /* 801CDC8C 001C98EC 48 00 00 68 */ b lbl_801CDCF4 lbl_801CDC90: /* 801CDC90 001C98F0 38 00 00 00 */ li r0, 0 /* 801CDC94 001C98F4 90 01 00 18 */ stw r0, 0x18(r1) /* 801CDC98 001C98F8 48 00 00 14 */ b lbl_801CDCAC lbl_801CDC9C: /* 801CDC9C 001C98FC 80 81 00 18 */ lwz r4, 0x18(r1) /* 801CDCA0 001C9900 98 61 00 0C */ stb r3, 0xc(r1) /* 801CDCA4 001C9904 38 04 00 01 */ addi r0, r4, 1 /* 801CDCA8 001C9908 90 01 00 18 */ stw r0, 0x18(r1) lbl_801CDCAC: /* 801CDCAC 001C990C 80 61 00 24 */ lwz r3, 0x24(r1) /* 801CDCB0 001C9910 38 03 FF FF */ addi r0, r3, -1 /* 801CDCB4 001C9914 2C 03 00 00 */ cmpwi r3, 0 /* 801CDCB8 001C9918 90 01 00 24 */ stw r0, 0x24(r1) /* 801CDCBC 001C991C 41 82 00 28 */ beq lbl_801CDCE4 /* 801CDCC0 001C9920 7F 4C D3 78 */ mr r12, r26 /* 801CDCC4 001C9924 7F 63 DB 78 */ mr r3, r27 /* 801CDCC8 001C9928 38 80 00 00 */ li r4, 0 /* 801CDCCC 001C992C 38 A0 00 00 */ li r5, 0 /* 801CDCD0 001C9930 7D 89 03 A6 */ mtctr r12 /* 801CDCD4 001C9934 4E 80 04 21 */ bctrl /* 801CDCD8 001C9938 2C 03 FF FF */ cmpwi r3, -1 /* 801CDCDC 001C993C 7C 72 1B 78 */ mr r18, r3 /* 801CDCE0 001C9940 40 82 FF BC */ bne lbl_801CDC9C lbl_801CDCE4: /* 801CDCE4 001C9944 80 01 00 18 */ lwz r0, 0x18(r1) /* 801CDCE8 001C9948 9A 41 00 0C */ stb r18, 0xc(r1) /* 801CDCEC 001C994C 2C 00 00 00 */ cmpwi r0, 0 /* 801CDCF0 001C9950 41 82 04 3C */ beq lbl_801CE12C lbl_801CDCF4: /* 801CDCF4 001C9954 3A 73 00 01 */ addi r19, r19, 1 /* 801CDCF8 001C9958 48 00 04 28 */ b lbl_801CE120 lbl_801CDCFC: /* 801CDCFC 001C995C 2C 1D 00 00 */ cmpwi r29, 0 /* 801CDD00 001C9960 40 82 04 20 */ bne lbl_801CE120 /* 801CDD04 001C9964 48 00 00 08 */ b lbl_801CDD0C lbl_801CDD08: /* 801CDD08 001C9968 3A B5 00 01 */ addi r21, r21, 1 lbl_801CDD0C: /* 801CDD0C 001C996C 7F 4C D3 78 */ mr r12, r26 /* 801CDD10 001C9970 7F 63 DB 78 */ mr r3, r27 /* 801CDD14 001C9974 38 80 00 00 */ li r4, 0 /* 801CDD18 001C9978 38 A0 00 00 */ li r5, 0 /* 801CDD1C 001C997C 7D 89 03 A6 */ mtctr r12 /* 801CDD20 001C9980 4E 80 04 21 */ bctrl /* 801CDD24 001C9984 7C 65 07 75 */ extsb. r5, r3 /* 801CDD28 001C9988 98 61 00 0C */ stb r3, 0xc(r1) /* 801CDD2C 001C998C 38 00 00 00 */ li r0, 0 /* 801CDD30 001C9990 41 80 00 0C */ blt lbl_801CDD3C /* 801CDD34 001C9994 2C 05 01 00 */ cmpwi r5, 0x100 /* 801CDD38 001C9998 41 80 00 08 */ blt lbl_801CDD40 lbl_801CDD3C: /* 801CDD3C 001C999C 38 00 00 01 */ li r0, 1 lbl_801CDD40: /* 801CDD40 001C99A0 2C 00 00 00 */ cmpwi r0, 0 /* 801CDD44 001C99A4 41 82 00 0C */ beq lbl_801CDD50 /* 801CDD48 001C99A8 38 00 00 00 */ li r0, 0 /* 801CDD4C 001C99AC 48 00 00 18 */ b lbl_801CDD64 lbl_801CDD50: /* 801CDD50 001C99B0 80 97 00 38 */ lwz r4, 0x38(r23) /* 801CDD54 001C99B4 54 A0 08 3C */ slwi r0, r5, 1 /* 801CDD58 001C99B8 80 84 00 08 */ lwz r4, 8(r4) /* 801CDD5C 001C99BC 7C 04 02 2E */ lhzx r0, r4, r0 /* 801CDD60 001C99C0 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17 lbl_801CDD64: /* 801CDD64 001C99C4 2C 00 00 00 */ cmpwi r0, 0 /* 801CDD68 001C99C8 40 82 FF A0 */ bne lbl_801CDD08 /* 801CDD6C 001C99CC 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 801CDD70 001C99D0 7C 04 07 74 */ extsb r4, r0 /* 801CDD74 001C99D4 2C 04 00 25 */ cmpwi r4, 0x25 /* 801CDD78 001C99D8 41 82 00 28 */ beq lbl_801CDDA0 /* 801CDD7C 001C99DC 7F 4C D3 78 */ mr r12, r26 /* 801CDD80 001C99E0 7F 63 DB 78 */ mr r3, r27 /* 801CDD84 001C99E4 38 A0 00 01 */ li r5, 1 /* 801CDD88 001C99E8 7D 89 03 A6 */ mtctr r12 /* 801CDD8C 001C99EC 4E 80 04 21 */ bctrl /* 801CDD90 001C99F0 2C 1C 00 00 */ cmpwi r28, 0 /* 801CDD94 001C99F4 41 82 03 98 */ beq lbl_801CE12C /* 801CDD98 001C99F8 3B A0 00 01 */ li r29, 1 /* 801CDD9C 001C99FC 48 00 03 84 */ b lbl_801CE120 lbl_801CDDA0: /* 801CDDA0 001C9A00 3A B5 00 01 */ addi r21, r21, 1 /* 801CDDA4 001C9A04 48 00 03 7C */ b lbl_801CE120 lbl_801CDDA8: /* 801CDDA8 001C9A08 2C 1D 00 00 */ cmpwi r29, 0 /* 801CDDAC 001C9A0C 40 82 00 A4 */ bne lbl_801CDE50 /* 801CDDB0 001C9A10 7F 4C D3 78 */ mr r12, r26 /* 801CDDB4 001C9A14 7F 63 DB 78 */ mr r3, r27 /* 801CDDB8 001C9A18 38 80 00 00 */ li r4, 0 /* 801CDDBC 001C9A1C 38 A0 00 00 */ li r5, 0 /* 801CDDC0 001C9A20 7D 89 03 A6 */ mtctr r12 /* 801CDDC4 001C9A24 4E 80 04 21 */ bctrl /* 801CDDC8 001C9A28 98 61 00 0C */ stb r3, 0xc(r1) /* 801CDDCC 001C9A2C 48 00 00 24 */ b lbl_801CDDF0 lbl_801CDDD0: /* 801CDDD0 001C9A30 7F 4C D3 78 */ mr r12, r26 /* 801CDDD4 001C9A34 7F 63 DB 78 */ mr r3, r27 /* 801CDDD8 001C9A38 38 80 00 00 */ li r4, 0 /* 801CDDDC 001C9A3C 38 A0 00 00 */ li r5, 0 /* 801CDDE0 001C9A40 7D 89 03 A6 */ mtctr r12 /* 801CDDE4 001C9A44 3A B5 00 01 */ addi r21, r21, 1 /* 801CDDE8 001C9A48 4E 80 04 21 */ bctrl /* 801CDDEC 001C9A4C 98 61 00 0C */ stb r3, 0xc(r1) lbl_801CDDF0: /* 801CDDF0 001C9A50 54 65 06 3E */ clrlwi r5, r3, 0x18 /* 801CDDF4 001C9A54 38 00 00 00 */ li r0, 0 /* 801CDDF8 001C9A58 7C A4 07 75 */ extsb. r4, r5 /* 801CDDFC 001C9A5C 41 80 00 0C */ blt lbl_801CDE08 /* 801CDE00 001C9A60 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CDE04 001C9A64 41 80 00 08 */ blt lbl_801CDE0C lbl_801CDE08: /* 801CDE08 001C9A68 38 00 00 01 */ li r0, 1 lbl_801CDE0C: /* 801CDE0C 001C9A6C 2C 00 00 00 */ cmpwi r0, 0 /* 801CDE10 001C9A70 41 82 00 0C */ beq lbl_801CDE1C /* 801CDE14 001C9A74 38 00 00 00 */ li r0, 0 /* 801CDE18 001C9A78 48 00 00 18 */ b lbl_801CDE30 lbl_801CDE1C: /* 801CDE1C 001C9A7C 80 77 00 38 */ lwz r3, 0x38(r23) /* 801CDE20 001C9A80 54 80 08 3C */ slwi r0, r4, 1 /* 801CDE24 001C9A84 80 63 00 08 */ lwz r3, 8(r3) /* 801CDE28 001C9A88 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CDE2C 001C9A8C 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17 lbl_801CDE30: /* 801CDE30 001C9A90 2C 00 00 00 */ cmpwi r0, 0 /* 801CDE34 001C9A94 40 82 FF 9C */ bne lbl_801CDDD0 /* 801CDE38 001C9A98 7F 4C D3 78 */ mr r12, r26 /* 801CDE3C 001C9A9C 7C A4 07 74 */ extsb r4, r5 /* 801CDE40 001C9AA0 7F 63 DB 78 */ mr r3, r27 /* 801CDE44 001C9AA4 38 A0 00 01 */ li r5, 1 /* 801CDE48 001C9AA8 7D 89 03 A6 */ mtctr r12 /* 801CDE4C 001C9AAC 4E 80 04 21 */ bctrl lbl_801CDE50: /* 801CDE50 001C9AB0 2C 16 00 00 */ cmpwi r22, 0 /* 801CDE54 001C9AB4 41 82 01 90 */ beq lbl_801CDFE4 /* 801CDE58 001C9AB8 2C 1C 00 00 */ cmpwi r28, 0 /* 801CDE5C 001C9ABC 41 82 00 1C */ beq lbl_801CDE78 /* 801CDE60 001C9AC0 80 61 00 08 */ lwz r3, 8(r1) /* 801CDE64 001C9AC4 3B E0 00 01 */ li r31, 1 /* 801CDE68 001C9AC8 38 80 00 01 */ li r4, 1 /* 801CDE6C 001C9ACC 4B FF 8D 15 */ bl __va_arg /* 801CDE70 001C9AD0 80 63 00 00 */ lwz r3, 0(r3) /* 801CDE74 001C9AD4 3B C3 FF FF */ addi r30, r3, -1 lbl_801CDE78: /* 801CDE78 001C9AD8 38 00 00 00 */ li r0, 0 /* 801CDE7C 001C9ADC 2C 1D 00 00 */ cmpwi r29, 0 /* 801CDE80 001C9AE0 90 01 00 18 */ stw r0, 0x18(r1) /* 801CDE84 001C9AE4 41 82 00 18 */ beq lbl_801CDE9C /* 801CDE88 001C9AE8 2C 1E 00 00 */ cmpwi r30, 0 /* 801CDE8C 001C9AEC 41 82 02 94 */ beq lbl_801CE120 /* 801CDE90 001C9AF0 38 00 00 00 */ li r0, 0 /* 801CDE94 001C9AF4 98 16 00 00 */ stb r0, 0(r22) /* 801CDE98 001C9AF8 48 00 02 88 */ b lbl_801CE120 lbl_801CDE9C: /* 801CDE9C 001C9AFC 92 C1 00 48 */ stw r22, 0x48(r1) /* 801CDEA0 001C9B00 48 00 00 60 */ b lbl_801CDF00 lbl_801CDEA4: /* 801CDEA4 001C9B04 54 60 EE FE */ rlwinm r0, r3, 0x1d, 0x1b, 0x1f /* 801CDEA8 001C9B08 54 65 07 7E */ clrlwi r5, r3, 0x1d /* 801CDEAC 001C9B0C 7C 99 02 14 */ add r4, r25, r0 /* 801CDEB0 001C9B10 98 61 00 0C */ stb r3, 0xc(r1) /* 801CDEB4 001C9B14 88 04 00 08 */ lbz r0, 8(r4) /* 801CDEB8 001C9B18 7F 04 28 30 */ slw r4, r24, r5 /* 801CDEBC 001C9B1C 54 63 06 3E */ clrlwi r3, r3, 0x18 /* 801CDEC0 001C9B20 7C 80 00 39 */ and. r0, r4, r0 /* 801CDEC4 001C9B24 41 82 00 94 */ beq lbl_801CDF58 /* 801CDEC8 001C9B28 88 01 00 22 */ lbz r0, 0x22(r1) /* 801CDECC 001C9B2C 28 00 00 0A */ cmplwi r0, 0xa /* 801CDED0 001C9B30 40 82 00 1C */ bne lbl_801CDEEC /* 801CDED4 001C9B34 7E C3 B3 78 */ mr r3, r22 /* 801CDED8 001C9B38 38 81 00 0C */ addi r4, r1, 0xc /* 801CDEDC 001C9B3C 38 A0 00 01 */ li r5, 1 /* 801CDEE0 001C9B40 4B FF C2 5D */ bl func_801CA13C /* 801CDEE4 001C9B44 3A D6 00 02 */ addi r22, r22, 2 /* 801CDEE8 001C9B48 48 00 00 0C */ b lbl_801CDEF4 lbl_801CDEEC: /* 801CDEEC 001C9B4C 98 76 00 00 */ stb r3, 0(r22) /* 801CDEF0 001C9B50 3A D6 00 01 */ addi r22, r22, 1 lbl_801CDEF4: /* 801CDEF4 001C9B54 80 61 00 18 */ lwz r3, 0x18(r1) /* 801CDEF8 001C9B58 38 03 00 01 */ addi r0, r3, 1 /* 801CDEFC 001C9B5C 90 01 00 18 */ stw r0, 0x18(r1) lbl_801CDF00: /* 801CDF00 001C9B60 80 81 00 24 */ lwz r4, 0x24(r1) /* 801CDF04 001C9B64 38 64 FF FF */ addi r3, r4, -1 /* 801CDF08 001C9B68 2C 04 00 00 */ cmpwi r4, 0 /* 801CDF0C 001C9B6C 90 61 00 24 */ stw r3, 0x24(r1) /* 801CDF10 001C9B70 41 82 00 48 */ beq lbl_801CDF58 /* 801CDF14 001C9B74 2C 1C 00 00 */ cmpwi r28, 0 /* 801CDF18 001C9B78 41 82 00 1C */ beq lbl_801CDF34 /* 801CDF1C 001C9B7C 7C 80 F0 50 */ subf r4, r0, r30 /* 801CDF20 001C9B80 7F C3 03 38 */ orc r3, r30, r0 /* 801CDF24 001C9B84 54 80 F8 7E */ srwi r0, r4, 1 /* 801CDF28 001C9B88 7C 00 18 50 */ subf r0, r0, r3 /* 801CDF2C 001C9B8C 54 1F 0F FF */ rlwinm. r31, r0, 1, 0x1f, 0x1f /* 801CDF30 001C9B90 41 82 00 28 */ beq lbl_801CDF58 lbl_801CDF34: /* 801CDF34 001C9B94 7F 4C D3 78 */ mr r12, r26 /* 801CDF38 001C9B98 7F 63 DB 78 */ mr r3, r27 /* 801CDF3C 001C9B9C 38 80 00 00 */ li r4, 0 /* 801CDF40 001C9BA0 38 A0 00 00 */ li r5, 0 /* 801CDF44 001C9BA4 7D 89 03 A6 */ mtctr r12 /* 801CDF48 001C9BA8 4E 80 04 21 */ bctrl /* 801CDF4C 001C9BAC 2C 03 FF FF */ cmpwi r3, -1 /* 801CDF50 001C9BB0 7C 72 1B 78 */ mr r18, r3 /* 801CDF54 001C9BB4 40 82 FF 50 */ bne lbl_801CDEA4 lbl_801CDF58: /* 801CDF58 001C9BB8 80 61 00 18 */ lwz r3, 0x18(r1) /* 801CDF5C 001C9BBC 9A 41 00 0C */ stb r18, 0xc(r1) /* 801CDF60 001C9BC0 2C 03 00 00 */ cmpwi r3, 0 /* 801CDF64 001C9BC4 41 82 00 14 */ beq lbl_801CDF78 /* 801CDF68 001C9BC8 2C 1C 00 00 */ cmpwi r28, 0 /* 801CDF6C 001C9BCC 41 82 00 4C */ beq lbl_801CDFB8 /* 801CDF70 001C9BD0 2C 1F 00 00 */ cmpwi r31, 0 /* 801CDF74 001C9BD4 40 82 00 44 */ bne lbl_801CDFB8 lbl_801CDF78: /* 801CDF78 001C9BD8 56 44 06 3E */ clrlwi r4, r18, 0x18 /* 801CDF7C 001C9BDC 7F 4C D3 78 */ mr r12, r26 /* 801CDF80 001C9BE0 7F 63 DB 78 */ mr r3, r27 /* 801CDF84 001C9BE4 38 A0 00 01 */ li r5, 1 /* 801CDF88 001C9BE8 7C 84 07 74 */ extsb r4, r4 /* 801CDF8C 001C9BEC 7D 89 03 A6 */ mtctr r12 /* 801CDF90 001C9BF0 4E 80 04 21 */ bctrl /* 801CDF94 001C9BF4 2C 1C 00 00 */ cmpwi r28, 0 /* 801CDF98 001C9BF8 41 82 01 94 */ beq lbl_801CE12C /* 801CDF9C 001C9BFC 2C 1E 00 00 */ cmpwi r30, 0 /* 801CDFA0 001C9C00 3B A0 00 01 */ li r29, 1 /* 801CDFA4 001C9C04 41 82 01 7C */ beq lbl_801CE120 /* 801CDFA8 001C9C08 80 61 00 48 */ lwz r3, 0x48(r1) /* 801CDFAC 001C9C0C 38 00 00 00 */ li r0, 0 /* 801CDFB0 001C9C10 98 03 00 00 */ stb r0, 0(r3) /* 801CDFB4 001C9C14 48 00 01 6C */ b lbl_801CE120 lbl_801CDFB8: /* 801CDFB8 001C9C18 88 01 00 22 */ lbz r0, 0x22(r1) /* 801CDFBC 001C9C1C 7E B5 1A 14 */ add r21, r21, r3 /* 801CDFC0 001C9C20 28 00 00 0A */ cmplwi r0, 0xa /* 801CDFC4 001C9C24 40 82 00 10 */ bne lbl_801CDFD4 /* 801CDFC8 001C9C28 38 00 00 00 */ li r0, 0 /* 801CDFCC 001C9C2C B0 16 00 00 */ sth r0, 0(r22) /* 801CDFD0 001C9C30 48 00 00 0C */ b lbl_801CDFDC lbl_801CDFD4: /* 801CDFD4 001C9C34 38 00 00 00 */ li r0, 0 /* 801CDFD8 001C9C38 98 16 00 00 */ stb r0, 0(r22) lbl_801CDFDC: /* 801CDFDC 001C9C3C 3A 94 00 01 */ addi r20, r20, 1 /* 801CDFE0 001C9C40 48 00 00 A8 */ b lbl_801CE088 lbl_801CDFE4: /* 801CDFE4 001C9C44 38 00 00 00 */ li r0, 0 /* 801CDFE8 001C9C48 90 01 00 18 */ stw r0, 0x18(r1) /* 801CDFEC 001C9C4C 48 00 00 30 */ b lbl_801CE01C lbl_801CDFF0: /* 801CDFF0 001C9C50 54 60 EE FE */ rlwinm r0, r3, 0x1d, 0x1b, 0x1f /* 801CDFF4 001C9C54 54 65 07 7E */ clrlwi r5, r3, 0x1d /* 801CDFF8 001C9C58 7C 99 02 14 */ add r4, r25, r0 /* 801CDFFC 001C9C5C 98 61 00 0C */ stb r3, 0xc(r1) /* 801CE000 001C9C60 88 04 00 08 */ lbz r0, 8(r4) /* 801CE004 001C9C64 7F 03 28 30 */ slw r3, r24, r5 /* 801CE008 001C9C68 7C 60 00 39 */ and. r0, r3, r0 /* 801CE00C 001C9C6C 41 82 00 48 */ beq lbl_801CE054 /* 801CE010 001C9C70 80 61 00 18 */ lwz r3, 0x18(r1) /* 801CE014 001C9C74 38 03 00 01 */ addi r0, r3, 1 /* 801CE018 001C9C78 90 01 00 18 */ stw r0, 0x18(r1) lbl_801CE01C: /* 801CE01C 001C9C7C 80 61 00 24 */ lwz r3, 0x24(r1) /* 801CE020 001C9C80 38 03 FF FF */ addi r0, r3, -1 /* 801CE024 001C9C84 2C 03 00 00 */ cmpwi r3, 0 /* 801CE028 001C9C88 90 01 00 24 */ stw r0, 0x24(r1) /* 801CE02C 001C9C8C 41 82 00 28 */ beq lbl_801CE054 /* 801CE030 001C9C90 7F 4C D3 78 */ mr r12, r26 /* 801CE034 001C9C94 7F 63 DB 78 */ mr r3, r27 /* 801CE038 001C9C98 38 80 00 00 */ li r4, 0 /* 801CE03C 001C9C9C 38 A0 00 00 */ li r5, 0 /* 801CE040 001C9CA0 7D 89 03 A6 */ mtctr r12 /* 801CE044 001C9CA4 4E 80 04 21 */ bctrl /* 801CE048 001C9CA8 2C 03 FF FF */ cmpwi r3, -1 /* 801CE04C 001C9CAC 7C 72 1B 78 */ mr r18, r3 /* 801CE050 001C9CB0 40 82 FF A0 */ bne lbl_801CDFF0 lbl_801CE054: /* 801CE054 001C9CB4 80 01 00 18 */ lwz r0, 0x18(r1) /* 801CE058 001C9CB8 9A 41 00 0C */ stb r18, 0xc(r1) /* 801CE05C 001C9CBC 2C 00 00 00 */ cmpwi r0, 0 /* 801CE060 001C9CC0 40 82 00 24 */ bne lbl_801CE084 /* 801CE064 001C9CC4 56 44 06 3E */ clrlwi r4, r18, 0x18 /* 801CE068 001C9CC8 7F 4C D3 78 */ mr r12, r26 /* 801CE06C 001C9CCC 7F 63 DB 78 */ mr r3, r27 /* 801CE070 001C9CD0 38 A0 00 01 */ li r5, 1 /* 801CE074 001C9CD4 7C 84 07 74 */ extsb r4, r4 /* 801CE078 001C9CD8 7D 89 03 A6 */ mtctr r12 /* 801CE07C 001C9CDC 4E 80 04 21 */ bctrl /* 801CE080 001C9CE0 48 00 00 A0 */ b lbl_801CE120 lbl_801CE084: /* 801CE084 001C9CE4 7E B5 02 14 */ add r21, r21, r0 lbl_801CE088: /* 801CE088 001C9CE8 80 01 00 24 */ lwz r0, 0x24(r1) /* 801CE08C 001C9CEC 2C 00 00 00 */ cmpwi r0, 0 /* 801CE090 001C9CF0 41 80 00 20 */ blt lbl_801CE0B0 /* 801CE094 001C9CF4 88 81 00 0C */ lbz r4, 0xc(r1) /* 801CE098 001C9CF8 7F 4C D3 78 */ mr r12, r26 /* 801CE09C 001C9CFC 7F 63 DB 78 */ mr r3, r27 /* 801CE0A0 001C9D00 38 A0 00 01 */ li r5, 1 /* 801CE0A4 001C9D04 7C 84 07 74 */ extsb r4, r4 /* 801CE0A8 001C9D08 7D 89 03 A6 */ mtctr r12 /* 801CE0AC 001C9D0C 4E 80 04 21 */ bctrl lbl_801CE0B0: /* 801CE0B0 001C9D10 3A 73 00 01 */ addi r19, r19, 1 /* 801CE0B4 001C9D14 48 00 00 6C */ b lbl_801CE120 lbl_801CE0B8: /* 801CE0B8 001C9D18 2C 16 00 00 */ cmpwi r22, 0 /* 801CE0BC 001C9D1C 41 82 00 64 */ beq lbl_801CE120 /* 801CE0C0 001C9D20 88 01 00 22 */ lbz r0, 0x22(r1) /* 801CE0C4 001C9D24 2C 00 00 03 */ cmpwi r0, 3 /* 801CE0C8 001C9D28 41 82 00 3C */ beq lbl_801CE104 /* 801CE0CC 001C9D2C 40 80 00 1C */ bge lbl_801CE0E8 /* 801CE0D0 001C9D30 2C 00 00 01 */ cmpwi r0, 1 /* 801CE0D4 001C9D34 41 82 00 38 */ beq lbl_801CE10C /* 801CE0D8 001C9D38 40 80 00 24 */ bge lbl_801CE0FC /* 801CE0DC 001C9D3C 2C 00 00 00 */ cmpwi r0, 0 /* 801CE0E0 001C9D40 40 80 00 14 */ bge lbl_801CE0F4 /* 801CE0E4 001C9D44 48 00 00 3C */ b lbl_801CE120 lbl_801CE0E8: /* 801CE0E8 001C9D48 2C 00 00 07 */ cmpwi r0, 7 /* 801CE0EC 001C9D4C 41 82 00 28 */ beq lbl_801CE114 /* 801CE0F0 001C9D50 48 00 00 30 */ b lbl_801CE120 lbl_801CE0F4: /* 801CE0F4 001C9D54 92 B6 00 00 */ stw r21, 0(r22) /* 801CE0F8 001C9D58 48 00 00 28 */ b lbl_801CE120 lbl_801CE0FC: /* 801CE0FC 001C9D5C B2 B6 00 00 */ sth r21, 0(r22) /* 801CE100 001C9D60 48 00 00 20 */ b lbl_801CE120 lbl_801CE104: /* 801CE104 001C9D64 92 B6 00 00 */ stw r21, 0(r22) /* 801CE108 001C9D68 48 00 00 18 */ b lbl_801CE120 lbl_801CE10C: /* 801CE10C 001C9D6C 9A B6 00 00 */ stb r21, 0(r22) /* 801CE110 001C9D70 48 00 00 10 */ b lbl_801CE120 lbl_801CE114: /* 801CE114 001C9D74 92 B6 00 04 */ stw r21, 4(r22) /* 801CE118 001C9D78 7E A0 FE 70 */ srawi r0, r21, 0x1f /* 801CE11C 001C9D7C 90 16 00 00 */ stw r0, 0(r22) lbl_801CE120: /* 801CE120 001C9D80 88 11 00 00 */ lbz r0, 0(r17) /* 801CE124 001C9D84 7C 16 07 75 */ extsb. r22, r0 /* 801CE128 001C9D88 40 82 F3 4C */ bne lbl_801CD474 lbl_801CE12C: /* 801CE12C 001C9D8C 7F 4C D3 78 */ mr r12, r26 /* 801CE130 001C9D90 7F 63 DB 78 */ mr r3, r27 /* 801CE134 001C9D94 38 80 00 00 */ li r4, 0 /* 801CE138 001C9D98 38 A0 00 02 */ li r5, 2 /* 801CE13C 001C9D9C 7D 89 03 A6 */ mtctr r12 /* 801CE140 001C9DA0 4E 80 04 21 */ bctrl /* 801CE144 001C9DA4 2C 03 00 00 */ cmpwi r3, 0 /* 801CE148 001C9DA8 41 82 00 14 */ beq lbl_801CE15C /* 801CE14C 001C9DAC 2C 13 00 00 */ cmpwi r19, 0 /* 801CE150 001C9DB0 40 82 00 0C */ bne lbl_801CE15C /* 801CE154 001C9DB4 38 60 FF FF */ li r3, -1 /* 801CE158 001C9DB8 48 00 00 08 */ b lbl_801CE160 lbl_801CE15C: /* 801CE15C 001C9DBC 7E 83 A3 78 */ mr r3, r20 lbl_801CE160: /* 801CE160 001C9DC0 39 61 00 B0 */ addi r11, r1, 0xb0 /* 801CE164 001C9DC4 4B FF 8F E1 */ bl _restgpr_15 /* 801CE168 001C9DC8 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 801CE16C 001C9DCC 7C 08 03 A6 */ mtlr r0 /* 801CE170 001C9DD0 38 21 00 B0 */ addi r1, r1, 0xb0 /* 801CE174 001C9DD4 4E 80 00 20 */ blr lbl_801CE178: /* 801CE178 001C9DD8 2C 05 00 01 */ cmpwi r5, 1 /* 801CE17C 001C9DDC 41 82 00 50 */ beq lbl_801CE1CC /* 801CE180 001C9DE0 40 80 00 10 */ bge lbl_801CE190 /* 801CE184 001C9DE4 2C 05 00 00 */ cmpwi r5, 0 /* 801CE188 001C9DE8 40 80 00 14 */ bge lbl_801CE19C /* 801CE18C 001C9DEC 48 00 00 74 */ b lbl_801CE200 lbl_801CE190: /* 801CE190 001C9DF0 2C 05 00 03 */ cmpwi r5, 3 /* 801CE194 001C9DF4 40 80 00 6C */ bge lbl_801CE200 /* 801CE198 001C9DF8 48 00 00 60 */ b lbl_801CE1F8 lbl_801CE19C: /* 801CE19C 001C9DFC 80 83 00 00 */ lwz r4, 0(r3) /* 801CE1A0 001C9E00 88 A4 00 00 */ lbz r5, 0(r4) /* 801CE1A4 001C9E04 7C A0 07 75 */ extsb. r0, r5 /* 801CE1A8 001C9E08 40 82 00 14 */ bne lbl_801CE1BC /* 801CE1AC 001C9E0C 38 00 00 01 */ li r0, 1 /* 801CE1B0 001C9E10 90 03 00 04 */ stw r0, 4(r3) /* 801CE1B4 001C9E14 38 60 FF FF */ li r3, -1 /* 801CE1B8 001C9E18 4E 80 00 20 */ blr lbl_801CE1BC: /* 801CE1BC 001C9E1C 38 04 00 01 */ addi r0, r4, 1 /* 801CE1C0 001C9E20 90 03 00 00 */ stw r0, 0(r3) /* 801CE1C4 001C9E24 7C A3 2B 78 */ mr r3, r5 /* 801CE1C8 001C9E28 4E 80 00 20 */ blr lbl_801CE1CC: /* 801CE1CC 001C9E2C 80 03 00 04 */ lwz r0, 4(r3) /* 801CE1D0 001C9E30 2C 00 00 00 */ cmpwi r0, 0 /* 801CE1D4 001C9E34 40 82 00 14 */ bne lbl_801CE1E8 /* 801CE1D8 001C9E38 80 A3 00 00 */ lwz r5, 0(r3) /* 801CE1DC 001C9E3C 38 05 FF FF */ addi r0, r5, -1 /* 801CE1E0 001C9E40 90 03 00 00 */ stw r0, 0(r3) /* 801CE1E4 001C9E44 48 00 00 0C */ b lbl_801CE1F0 lbl_801CE1E8: /* 801CE1E8 001C9E48 38 00 00 00 */ li r0, 0 /* 801CE1EC 001C9E4C 90 03 00 04 */ stw r0, 4(r3) lbl_801CE1F0: /* 801CE1F0 001C9E50 7C 83 23 78 */ mr r3, r4 /* 801CE1F4 001C9E54 4E 80 00 20 */ blr lbl_801CE1F8: /* 801CE1F8 001C9E58 80 63 00 04 */ lwz r3, 4(r3) /* 801CE1FC 001C9E5C 4E 80 00 20 */ blr lbl_801CE200: /* 801CE200 001C9E60 38 60 00 00 */ li r3, 0 /* 801CE204 001C9E64 4E 80 00 20 */ blr .global func_801CE208 func_801CE208: /* 801CE208 001C9E68 94 21 FF 70 */ stwu r1, -0x90(r1) /* 801CE20C 001C9E6C 7C 08 02 A6 */ mflr r0 /* 801CE210 001C9E70 90 01 00 94 */ stw r0, 0x94(r1) /* 801CE214 001C9E74 93 E1 00 8C */ stw r31, 0x8c(r1) /* 801CE218 001C9E78 40 86 00 24 */ bne cr1, lbl_801CE23C /* 801CE21C 001C9E7C D8 21 00 28 */ stfd f1, 0x28(r1) /* 801CE220 001C9E80 D8 41 00 30 */ stfd f2, 0x30(r1) /* 801CE224 001C9E84 D8 61 00 38 */ stfd f3, 0x38(r1) /* 801CE228 001C9E88 D8 81 00 40 */ stfd f4, 0x40(r1) /* 801CE22C 001C9E8C D8 A1 00 48 */ stfd f5, 0x48(r1) /* 801CE230 001C9E90 D8 C1 00 50 */ stfd f6, 0x50(r1) /* 801CE234 001C9E94 D8 E1 00 58 */ stfd f7, 0x58(r1) /* 801CE238 001C9E98 D9 01 00 60 */ stfd f8, 0x60(r1) lbl_801CE23C: /* 801CE23C 001C9E9C 39 61 00 98 */ addi r11, r1, 0x98 /* 801CE240 001C9EA0 38 01 00 08 */ addi r0, r1, 8 /* 801CE244 001C9EA4 3D 80 02 00 */ lis r12, 0x200 /* 801CE248 001C9EA8 2C 03 00 00 */ cmpwi r3, 0 /* 801CE24C 001C9EAC 90 61 00 08 */ stw r3, 8(r1) /* 801CE250 001C9EB0 3B E1 00 70 */ addi r31, r1, 0x70 /* 801CE254 001C9EB4 90 81 00 0C */ stw r4, 0xc(r1) /* 801CE258 001C9EB8 90 A1 00 10 */ stw r5, 0x10(r1) /* 801CE25C 001C9EBC 90 C1 00 14 */ stw r6, 0x14(r1) /* 801CE260 001C9EC0 90 E1 00 18 */ stw r7, 0x18(r1) /* 801CE264 001C9EC4 91 01 00 1C */ stw r8, 0x1c(r1) /* 801CE268 001C9EC8 91 21 00 20 */ stw r9, 0x20(r1) /* 801CE26C 001C9ECC 91 41 00 24 */ stw r10, 0x24(r1) /* 801CE270 001C9ED0 91 81 00 70 */ stw r12, 0x70(r1) /* 801CE274 001C9ED4 91 61 00 74 */ stw r11, 0x74(r1) /* 801CE278 001C9ED8 90 01 00 78 */ stw r0, 0x78(r1) /* 801CE27C 001C9EDC 90 61 00 68 */ stw r3, 0x68(r1) /* 801CE280 001C9EE0 41 82 00 10 */ beq lbl_801CE290 /* 801CE284 001C9EE4 88 03 00 00 */ lbz r0, 0(r3) /* 801CE288 001C9EE8 7C 00 07 75 */ extsb. r0, r0 /* 801CE28C 001C9EEC 40 82 00 0C */ bne lbl_801CE298 lbl_801CE290: /* 801CE290 001C9EF0 38 60 FF FF */ li r3, -1 /* 801CE294 001C9EF4 48 00 00 28 */ b lbl_801CE2BC lbl_801CE298: /* 801CE298 001C9EF8 38 00 00 00 */ li r0, 0 /* 801CE29C 001C9EFC 3C 60 80 1D */ lis r3, lbl_801CE178@ha /* 801CE2A0 001C9F00 90 01 00 6C */ stw r0, 0x6c(r1) /* 801CE2A4 001C9F04 7C 85 23 78 */ mr r5, r4 /* 801CE2A8 001C9F08 7F E6 FB 78 */ mr r6, r31 /* 801CE2AC 001C9F0C 38 63 E1 78 */ addi r3, r3, lbl_801CE178@l /* 801CE2B0 001C9F10 38 81 00 68 */ addi r4, r1, 0x68 /* 801CE2B4 001C9F14 38 E0 00 00 */ li r7, 0 /* 801CE2B8 001C9F18 4B FF F1 61 */ bl func_801CD418 lbl_801CE2BC: /* 801CE2BC 001C9F1C 80 01 00 94 */ lwz r0, 0x94(r1) /* 801CE2C0 001C9F20 83 E1 00 8C */ lwz r31, 0x8c(r1) /* 801CE2C4 001C9F24 7C 08 03 A6 */ mtlr r0 /* 801CE2C8 001C9F28 38 21 00 90 */ addi r1, r1, 0x90 /* 801CE2CC 001C9F2C 4E 80 00 20 */ blr .global func_801CE2D0 func_801CE2D0: /* 801CE2D0 001C9F30 54 60 07 BE */ clrlwi r0, r3, 0x1e /* 801CE2D4 001C9F34 54 85 07 BE */ clrlwi r5, r4, 0x1e /* 801CE2D8 001C9F38 7C 00 28 40 */ cmplw r0, r5 /* 801CE2DC 001C9F3C 7C 67 1B 78 */ mr r7, r3 /* 801CE2E0 001C9F40 40 82 00 8C */ bne lbl_801CE36C /* 801CE2E4 001C9F44 2C 05 00 00 */ cmpwi r5, 0 /* 801CE2E8 001C9F48 41 82 00 40 */ beq lbl_801CE328 /* 801CE2EC 001C9F4C 88 04 00 00 */ lbz r0, 0(r4) /* 801CE2F0 001C9F50 2C 00 00 00 */ cmpwi r0, 0 /* 801CE2F4 001C9F54 98 03 00 00 */ stb r0, 0(r3) /* 801CE2F8 001C9F58 4D 82 00 20 */ beqlr /* 801CE2FC 001C9F5C 20 05 00 03 */ subfic r0, r5, 3 /* 801CE300 001C9F60 7C 09 03 A6 */ mtctr r0 /* 801CE304 001C9F64 2C 00 00 00 */ cmpwi r0, 0 /* 801CE308 001C9F68 41 82 00 18 */ beq lbl_801CE320 lbl_801CE30C: /* 801CE30C 001C9F6C 8C 04 00 01 */ lbzu r0, 1(r4) /* 801CE310 001C9F70 2C 00 00 00 */ cmpwi r0, 0 /* 801CE314 001C9F74 9C 07 00 01 */ stbu r0, 1(r7) /* 801CE318 001C9F78 4D 82 00 20 */ beqlr /* 801CE31C 001C9F7C 42 00 FF F0 */ bdnz lbl_801CE30C lbl_801CE320: /* 801CE320 001C9F80 38 E7 00 01 */ addi r7, r7, 1 /* 801CE324 001C9F84 38 84 00 01 */ addi r4, r4, 1 lbl_801CE328: /* 801CE328 001C9F88 81 04 00 00 */ lwz r8, 0(r4) /* 801CE32C 001C9F8C 3C A0 80 81 */ lis r5, 0x80808080@ha /* 801CE330 001C9F90 38 A5 80 80 */ addi r5, r5, 0x80808080@l /* 801CE334 001C9F94 3C C8 FE FF */ addis r6, r8, 0xfeff /* 801CE338 001C9F98 38 C6 FE FF */ addi r6, r6, -257 /* 801CE33C 001C9F9C 7C C6 40 78 */ andc r6, r6, r8 /* 801CE340 001C9FA0 7C C0 28 39 */ and. r0, r6, r5 /* 801CE344 001C9FA4 40 82 00 28 */ bne lbl_801CE36C /* 801CE348 001C9FA8 38 E7 FF FC */ addi r7, r7, -4 lbl_801CE34C: /* 801CE34C 001C9FAC 95 07 00 04 */ stwu r8, 4(r7) /* 801CE350 001C9FB0 85 04 00 04 */ lwzu r8, 4(r4) /* 801CE354 001C9FB4 3C C8 FE FF */ addis r6, r8, 0xfeff /* 801CE358 001C9FB8 38 C6 FE FF */ addi r6, r6, -257 /* 801CE35C 001C9FBC 7C C6 40 78 */ andc r6, r6, r8 /* 801CE360 001C9FC0 7C C0 28 39 */ and. r0, r6, r5 /* 801CE364 001C9FC4 41 82 FF E8 */ beq lbl_801CE34C /* 801CE368 001C9FC8 38 E7 00 04 */ addi r7, r7, 4 lbl_801CE36C: /* 801CE36C 001C9FCC 88 04 00 00 */ lbz r0, 0(r4) /* 801CE370 001C9FD0 2C 00 00 00 */ cmpwi r0, 0 /* 801CE374 001C9FD4 98 07 00 00 */ stb r0, 0(r7) /* 801CE378 001C9FD8 4D 82 00 20 */ beqlr lbl_801CE37C: /* 801CE37C 001C9FDC 8C 04 00 01 */ lbzu r0, 1(r4) /* 801CE380 001C9FE0 2C 00 00 00 */ cmpwi r0, 0 /* 801CE384 001C9FE4 9C 07 00 01 */ stbu r0, 1(r7) /* 801CE388 001C9FE8 40 82 FF F4 */ bne lbl_801CE37C /* 801CE38C 001C9FEC 4E 80 00 20 */ blr .global func_801CE390 func_801CE390: /* 801CE390 001C9FF0 38 84 FF FF */ addi r4, r4, -1 /* 801CE394 001C9FF4 38 C3 FF FF */ addi r6, r3, -1 /* 801CE398 001C9FF8 38 A5 00 01 */ addi r5, r5, 1 /* 801CE39C 001C9FFC 48 00 00 2C */ b lbl_801CE3C8 lbl_801CE3A0: /* 801CE3A0 001CA000 8C 04 00 01 */ lbzu r0, 1(r4) /* 801CE3A4 001CA004 2C 00 00 00 */ cmpwi r0, 0 /* 801CE3A8 001CA008 9C 06 00 01 */ stbu r0, 1(r6) /* 801CE3AC 001CA00C 40 82 00 1C */ bne lbl_801CE3C8 /* 801CE3B0 001CA010 38 00 00 00 */ li r0, 0 /* 801CE3B4 001CA014 48 00 00 08 */ b lbl_801CE3BC lbl_801CE3B8: /* 801CE3B8 001CA018 9C 06 00 01 */ stbu r0, 1(r6) lbl_801CE3BC: /* 801CE3BC 001CA01C 34 A5 FF FF */ addic. r5, r5, -1 /* 801CE3C0 001CA020 40 82 FF F8 */ bne lbl_801CE3B8 /* 801CE3C4 001CA024 4E 80 00 20 */ blr lbl_801CE3C8: /* 801CE3C8 001CA028 34 A5 FF FF */ addic. r5, r5, -1 /* 801CE3CC 001CA02C 40 82 FF D4 */ bne lbl_801CE3A0 /* 801CE3D0 001CA030 4E 80 00 20 */ blr .global func_801CE3D4 func_801CE3D4: /* 801CE3D4 001CA034 38 84 FF FF */ addi r4, r4, -1 /* 801CE3D8 001CA038 38 A3 FF FF */ addi r5, r3, -1 lbl_801CE3DC: /* 801CE3DC 001CA03C 8C 05 00 01 */ lbzu r0, 1(r5) /* 801CE3E0 001CA040 2C 00 00 00 */ cmpwi r0, 0 /* 801CE3E4 001CA044 40 82 FF F8 */ bne lbl_801CE3DC /* 801CE3E8 001CA048 38 A5 FF FF */ addi r5, r5, -1 lbl_801CE3EC: /* 801CE3EC 001CA04C 8C 04 00 01 */ lbzu r0, 1(r4) /* 801CE3F0 001CA050 2C 00 00 00 */ cmpwi r0, 0 /* 801CE3F4 001CA054 9C 05 00 01 */ stbu r0, 1(r5) /* 801CE3F8 001CA058 40 82 FF F4 */ bne lbl_801CE3EC /* 801CE3FC 001CA05C 4E 80 00 20 */ blr .global func_801CE400 func_801CE400: /* 801CE400 001CA060 38 84 FF FF */ addi r4, r4, -1 /* 801CE404 001CA064 38 C3 FF FF */ addi r6, r3, -1 lbl_801CE408: /* 801CE408 001CA068 8C 06 00 01 */ lbzu r0, 1(r6) /* 801CE40C 001CA06C 2C 00 00 00 */ cmpwi r0, 0 /* 801CE410 001CA070 40 82 FF F8 */ bne lbl_801CE408 /* 801CE414 001CA074 38 C6 FF FF */ addi r6, r6, -1 /* 801CE418 001CA078 38 A5 00 01 */ addi r5, r5, 1 /* 801CE41C 001CA07C 48 00 00 1C */ b lbl_801CE438 lbl_801CE420: /* 801CE420 001CA080 8C 04 00 01 */ lbzu r0, 1(r4) /* 801CE424 001CA084 2C 00 00 00 */ cmpwi r0, 0 /* 801CE428 001CA088 9C 06 00 01 */ stbu r0, 1(r6) /* 801CE42C 001CA08C 40 82 00 0C */ bne lbl_801CE438 /* 801CE430 001CA090 38 C6 FF FF */ addi r6, r6, -1 /* 801CE434 001CA094 48 00 00 0C */ b lbl_801CE440 lbl_801CE438: /* 801CE438 001CA098 34 A5 FF FF */ addic. r5, r5, -1 /* 801CE43C 001CA09C 40 82 FF E4 */ bne lbl_801CE420 lbl_801CE440: /* 801CE440 001CA0A0 38 00 00 00 */ li r0, 0 /* 801CE444 001CA0A4 98 06 00 01 */ stb r0, 1(r6) /* 801CE448 001CA0A8 4E 80 00 20 */ blr .global func_801CE44C func_801CE44C: /* 801CE44C 001CA0AC 88 A3 00 00 */ lbz r5, 0(r3) /* 801CE450 001CA0B0 88 04 00 00 */ lbz r0, 0(r4) /* 801CE454 001CA0B4 7C 00 28 51 */ subf. r0, r0, r5 /* 801CE458 001CA0B8 41 82 00 0C */ beq lbl_801CE464 /* 801CE45C 001CA0BC 7C 03 03 78 */ mr r3, r0 /* 801CE460 001CA0C0 4E 80 00 20 */ blr lbl_801CE464: /* 801CE464 001CA0C4 54 80 07 BE */ clrlwi r0, r4, 0x1e /* 801CE468 001CA0C8 54 66 07 BE */ clrlwi r6, r3, 0x1e /* 801CE46C 001CA0CC 7C 00 30 40 */ cmplw r0, r6 /* 801CE470 001CA0D0 40 82 00 C0 */ bne lbl_801CE530 /* 801CE474 001CA0D4 2C 06 00 00 */ cmpwi r6, 0 /* 801CE478 001CA0D8 41 82 00 58 */ beq lbl_801CE4D0 /* 801CE47C 001CA0DC 2C 05 00 00 */ cmpwi r5, 0 /* 801CE480 001CA0E0 40 82 00 0C */ bne lbl_801CE48C /* 801CE484 001CA0E4 38 60 00 00 */ li r3, 0 /* 801CE488 001CA0E8 4E 80 00 20 */ blr lbl_801CE48C: /* 801CE48C 001CA0EC 20 06 00 03 */ subfic r0, r6, 3 /* 801CE490 001CA0F0 7C 09 03 A6 */ mtctr r0 /* 801CE494 001CA0F4 2C 00 00 00 */ cmpwi r0, 0 /* 801CE498 001CA0F8 41 82 00 30 */ beq lbl_801CE4C8 lbl_801CE49C: /* 801CE49C 001CA0FC 8C A3 00 01 */ lbzu r5, 1(r3) /* 801CE4A0 001CA100 8C 04 00 01 */ lbzu r0, 1(r4) /* 801CE4A4 001CA104 7C 00 28 51 */ subf. r0, r0, r5 /* 801CE4A8 001CA108 41 82 00 0C */ beq lbl_801CE4B4 /* 801CE4AC 001CA10C 7C 03 03 78 */ mr r3, r0 /* 801CE4B0 001CA110 4E 80 00 20 */ blr lbl_801CE4B4: /* 801CE4B4 001CA114 2C 05 00 00 */ cmpwi r5, 0 /* 801CE4B8 001CA118 40 82 00 0C */ bne lbl_801CE4C4 /* 801CE4BC 001CA11C 38 60 00 00 */ li r3, 0 /* 801CE4C0 001CA120 4E 80 00 20 */ blr lbl_801CE4C4: /* 801CE4C4 001CA124 42 00 FF D8 */ bdnz lbl_801CE49C lbl_801CE4C8: /* 801CE4C8 001CA128 38 63 00 01 */ addi r3, r3, 1 /* 801CE4CC 001CA12C 38 84 00 01 */ addi r4, r4, 1 lbl_801CE4D0: /* 801CE4D0 001CA130 80 E3 00 00 */ lwz r7, 0(r3) /* 801CE4D4 001CA134 3C A0 80 81 */ lis r5, 0x80808080@ha /* 801CE4D8 001CA138 38 C5 80 80 */ addi r6, r5, 0x80808080@l /* 801CE4DC 001CA13C 81 04 00 00 */ lwz r8, 0(r4) /* 801CE4E0 001CA140 3C A7 FE FF */ addis r5, r7, 0xfeff /* 801CE4E4 001CA144 38 A5 FE FF */ addi r5, r5, -257 /* 801CE4E8 001CA148 7C A5 38 78 */ andc r5, r5, r7 /* 801CE4EC 001CA14C 7C A0 30 39 */ and. r0, r5, r6 /* 801CE4F0 001CA150 40 82 00 28 */ bne lbl_801CE518 /* 801CE4F4 001CA154 48 00 00 1C */ b lbl_801CE510 lbl_801CE4F8: /* 801CE4F8 001CA158 84 E3 00 04 */ lwzu r7, 4(r3) /* 801CE4FC 001CA15C 85 04 00 04 */ lwzu r8, 4(r4) /* 801CE500 001CA160 3C A7 FE FF */ addis r5, r7, 0xfeff /* 801CE504 001CA164 38 05 FE FF */ addi r0, r5, -257 /* 801CE508 001CA168 7C 00 30 39 */ and. r0, r0, r6 /* 801CE50C 001CA16C 40 82 00 0C */ bne lbl_801CE518 lbl_801CE510: /* 801CE510 001CA170 7C 07 40 40 */ cmplw r7, r8 /* 801CE514 001CA174 41 82 FF E4 */ beq lbl_801CE4F8 lbl_801CE518: /* 801CE518 001CA178 88 A3 00 00 */ lbz r5, 0(r3) /* 801CE51C 001CA17C 88 04 00 00 */ lbz r0, 0(r4) /* 801CE520 001CA180 7C 00 28 51 */ subf. r0, r0, r5 /* 801CE524 001CA184 41 82 00 0C */ beq lbl_801CE530 /* 801CE528 001CA188 7C 03 03 78 */ mr r3, r0 /* 801CE52C 001CA18C 4E 80 00 20 */ blr lbl_801CE530: /* 801CE530 001CA190 2C 05 00 00 */ cmpwi r5, 0 /* 801CE534 001CA194 40 82 00 0C */ bne lbl_801CE540 /* 801CE538 001CA198 38 60 00 00 */ li r3, 0 /* 801CE53C 001CA19C 4E 80 00 20 */ blr lbl_801CE540: /* 801CE540 001CA1A0 8C A3 00 01 */ lbzu r5, 1(r3) /* 801CE544 001CA1A4 8C 04 00 01 */ lbzu r0, 1(r4) /* 801CE548 001CA1A8 7C 00 28 51 */ subf. r0, r0, r5 /* 801CE54C 001CA1AC 41 82 00 0C */ beq lbl_801CE558 /* 801CE550 001CA1B0 7C 03 03 78 */ mr r3, r0 /* 801CE554 001CA1B4 4E 80 00 20 */ blr lbl_801CE558: /* 801CE558 001CA1B8 2C 05 00 00 */ cmpwi r5, 0 /* 801CE55C 001CA1BC 40 82 FF E4 */ bne lbl_801CE540 /* 801CE560 001CA1C0 38 60 00 00 */ li r3, 0 /* 801CE564 001CA1C4 4E 80 00 20 */ blr .global func_801CE568 func_801CE568: /* 801CE568 001CA1C8 38 63 FF FF */ addi r3, r3, -1 /* 801CE56C 001CA1CC 38 84 FF FF */ addi r4, r4, -1 /* 801CE570 001CA1D0 38 C5 00 01 */ addi r6, r5, 1 /* 801CE574 001CA1D4 48 00 00 24 */ b lbl_801CE598 lbl_801CE578: /* 801CE578 001CA1D8 8C 03 00 01 */ lbzu r0, 1(r3) /* 801CE57C 001CA1DC 8C A4 00 01 */ lbzu r5, 1(r4) /* 801CE580 001CA1E0 7C 00 28 40 */ cmplw r0, r5 /* 801CE584 001CA1E4 41 82 00 0C */ beq lbl_801CE590 /* 801CE588 001CA1E8 7C 65 00 50 */ subf r3, r5, r0 /* 801CE58C 001CA1EC 4E 80 00 20 */ blr lbl_801CE590: /* 801CE590 001CA1F0 2C 00 00 00 */ cmpwi r0, 0 /* 801CE594 001CA1F4 41 82 00 0C */ beq lbl_801CE5A0 lbl_801CE598: /* 801CE598 001CA1F8 34 C6 FF FF */ addic. r6, r6, -1 /* 801CE59C 001CA1FC 40 82 FF DC */ bne lbl_801CE578 lbl_801CE5A0: /* 801CE5A0 001CA200 38 60 00 00 */ li r3, 0 /* 801CE5A4 001CA204 4E 80 00 20 */ blr .global func_801CE5A8 func_801CE5A8: /* 801CE5A8 001CA208 38 63 FF FF */ addi r3, r3, -1 /* 801CE5AC 001CA20C 54 80 06 3E */ clrlwi r0, r4, 0x18 /* 801CE5B0 001CA210 48 00 00 0C */ b lbl_801CE5BC lbl_801CE5B4: /* 801CE5B4 001CA214 7C 04 00 40 */ cmplw r4, r0 /* 801CE5B8 001CA218 4D 82 00 20 */ beqlr lbl_801CE5BC: /* 801CE5BC 001CA21C 8C 83 00 01 */ lbzu r4, 1(r3) /* 801CE5C0 001CA220 2C 04 00 00 */ cmpwi r4, 0 /* 801CE5C4 001CA224 40 82 FF F0 */ bne lbl_801CE5B4 /* 801CE5C8 001CA228 2C 00 00 00 */ cmpwi r0, 0 /* 801CE5CC 001CA22C 4D 82 00 20 */ beqlr /* 801CE5D0 001CA230 38 60 00 00 */ li r3, 0 /* 801CE5D4 001CA234 4E 80 00 20 */ blr .global func_801CE5D8 func_801CE5D8: /* 801CE5D8 001CA238 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801CE5DC 001CA23C 38 00 00 00 */ li r0, 0 /* 801CE5E0 001CA240 39 04 FF FF */ addi r8, r4, -1 /* 801CE5E4 001CA244 38 80 00 01 */ li r4, 1 /* 801CE5E8 001CA248 90 01 00 08 */ stw r0, 8(r1) /* 801CE5EC 001CA24C 38 C1 00 08 */ addi r6, r1, 8 /* 801CE5F0 001CA250 90 01 00 0C */ stw r0, 0xc(r1) /* 801CE5F4 001CA254 90 01 00 10 */ stw r0, 0x10(r1) /* 801CE5F8 001CA258 90 01 00 14 */ stw r0, 0x14(r1) /* 801CE5FC 001CA25C 90 01 00 18 */ stw r0, 0x18(r1) /* 801CE600 001CA260 90 01 00 1C */ stw r0, 0x1c(r1) /* 801CE604 001CA264 90 01 00 20 */ stw r0, 0x20(r1) /* 801CE608 001CA268 90 01 00 24 */ stw r0, 0x24(r1) /* 801CE60C 001CA26C 48 00 00 20 */ b lbl_801CE62C lbl_801CE610: /* 801CE610 001CA270 54 07 EE FE */ rlwinm r7, r0, 0x1d, 0x1b, 0x1f /* 801CE614 001CA274 54 00 07 7E */ clrlwi r0, r0, 0x1d /* 801CE618 001CA278 7C 80 00 30 */ slw r0, r4, r0 /* 801CE61C 001CA27C 7C A6 38 AE */ lbzx r5, r6, r7 /* 801CE620 001CA280 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 801CE624 001CA284 7C A0 03 78 */ or r0, r5, r0 /* 801CE628 001CA288 7C 06 39 AE */ stbx r0, r6, r7 lbl_801CE62C: /* 801CE62C 001CA28C 8C 08 00 01 */ lbzu r0, 1(r8) /* 801CE630 001CA290 2C 00 00 00 */ cmpwi r0, 0 /* 801CE634 001CA294 40 82 FF DC */ bne lbl_801CE610 /* 801CE638 001CA298 38 E3 FF FF */ addi r7, r3, -1 /* 801CE63C 001CA29C 38 C1 00 08 */ addi r6, r1, 8 /* 801CE640 001CA2A0 38 80 00 01 */ li r4, 1 /* 801CE644 001CA2A4 48 00 00 20 */ b lbl_801CE664 lbl_801CE648: /* 801CE648 001CA2A8 54 05 EE FE */ rlwinm r5, r0, 0x1d, 0x1b, 0x1f /* 801CE64C 001CA2AC 54 00 07 7E */ clrlwi r0, r0, 0x1d /* 801CE650 001CA2B0 7C 80 00 30 */ slw r0, r4, r0 /* 801CE654 001CA2B4 7C A6 28 AE */ lbzx r5, r6, r5 /* 801CE658 001CA2B8 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 801CE65C 001CA2BC 7C A0 00 39 */ and. r0, r5, r0 /* 801CE660 001CA2C0 40 82 00 10 */ bne lbl_801CE670 lbl_801CE664: /* 801CE664 001CA2C4 8C 07 00 01 */ lbzu r0, 1(r7) /* 801CE668 001CA2C8 2C 00 00 00 */ cmpwi r0, 0 /* 801CE66C 001CA2CC 40 82 FF DC */ bne lbl_801CE648 lbl_801CE670: /* 801CE670 001CA2D0 7C 63 38 50 */ subf r3, r3, r7 /* 801CE674 001CA2D4 38 21 00 30 */ addi r1, r1, 0x30 /* 801CE678 001CA2D8 4E 80 00 20 */ blr .global func_801CE67C func_801CE67C: /* 801CE67C 001CA2DC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801CE680 001CA2E0 38 00 00 00 */ li r0, 0 /* 801CE684 001CA2E4 2C 03 00 00 */ cmpwi r3, 0 /* 801CE688 001CA2E8 90 01 00 08 */ stw r0, 8(r1) /* 801CE68C 001CA2EC 90 01 00 0C */ stw r0, 0xc(r1) /* 801CE690 001CA2F0 90 01 00 10 */ stw r0, 0x10(r1) /* 801CE694 001CA2F4 90 01 00 14 */ stw r0, 0x14(r1) /* 801CE698 001CA2F8 90 01 00 18 */ stw r0, 0x18(r1) /* 801CE69C 001CA2FC 90 01 00 1C */ stw r0, 0x1c(r1) /* 801CE6A0 001CA300 90 01 00 20 */ stw r0, 0x20(r1) /* 801CE6A4 001CA304 90 01 00 24 */ stw r0, 0x24(r1) /* 801CE6A8 001CA308 41 82 00 08 */ beq lbl_801CE6B0 /* 801CE6AC 001CA30C 90 6D 83 F4 */ stw r3, lbl_8063D6B4-_SDA_BASE_(r13) lbl_801CE6B0: /* 801CE6B0 001CA310 38 E4 FF FF */ addi r7, r4, -1 /* 801CE6B4 001CA314 38 A1 00 08 */ addi r5, r1, 8 /* 801CE6B8 001CA318 38 60 00 01 */ li r3, 1 /* 801CE6BC 001CA31C 48 00 00 20 */ b lbl_801CE6DC lbl_801CE6C0: /* 801CE6C0 001CA320 54 06 EE FE */ rlwinm r6, r0, 0x1d, 0x1b, 0x1f /* 801CE6C4 001CA324 54 00 07 7E */ clrlwi r0, r0, 0x1d /* 801CE6C8 001CA328 7C 60 00 30 */ slw r0, r3, r0 /* 801CE6CC 001CA32C 7C 85 30 AE */ lbzx r4, r5, r6 /* 801CE6D0 001CA330 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 801CE6D4 001CA334 7C 80 03 78 */ or r0, r4, r0 /* 801CE6D8 001CA338 7C 05 31 AE */ stbx r0, r5, r6 lbl_801CE6DC: /* 801CE6DC 001CA33C 8C 07 00 01 */ lbzu r0, 1(r7) /* 801CE6E0 001CA340 2C 00 00 00 */ cmpwi r0, 0 /* 801CE6E4 001CA344 40 82 FF DC */ bne lbl_801CE6C0 /* 801CE6E8 001CA348 80 8D 83 F4 */ lwz r4, lbl_8063D6B4-_SDA_BASE_(r13) /* 801CE6EC 001CA34C 38 A1 00 08 */ addi r5, r1, 8 /* 801CE6F0 001CA350 38 60 00 01 */ li r3, 1 /* 801CE6F4 001CA354 38 E4 FF FF */ addi r7, r4, -1 /* 801CE6F8 001CA358 48 00 00 20 */ b lbl_801CE718 lbl_801CE6FC: /* 801CE6FC 001CA35C 54 C4 EE FE */ rlwinm r4, r6, 0x1d, 0x1b, 0x1f /* 801CE700 001CA360 54 C0 07 7E */ clrlwi r0, r6, 0x1d /* 801CE704 001CA364 7C 60 00 30 */ slw r0, r3, r0 /* 801CE708 001CA368 7C 85 20 AE */ lbzx r4, r5, r4 /* 801CE70C 001CA36C 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 801CE710 001CA370 7C 80 00 39 */ and. r0, r4, r0 /* 801CE714 001CA374 41 82 00 10 */ beq lbl_801CE724 lbl_801CE718: /* 801CE718 001CA378 8C C7 00 01 */ lbzu r6, 1(r7) /* 801CE71C 001CA37C 2C 06 00 00 */ cmpwi r6, 0 /* 801CE720 001CA380 40 82 FF DC */ bne lbl_801CE6FC lbl_801CE724: /* 801CE724 001CA384 2C 06 00 00 */ cmpwi r6, 0 /* 801CE728 001CA388 40 82 00 14 */ bne lbl_801CE73C /* 801CE72C 001CA38C 80 0D 83 F0 */ lwz r0, lbl_8063D6B0-_SDA_BASE_(r13) /* 801CE730 001CA390 38 60 00 00 */ li r3, 0 /* 801CE734 001CA394 90 0D 83 F4 */ stw r0, lbl_8063D6B4-_SDA_BASE_(r13) /* 801CE738 001CA398 48 00 00 60 */ b lbl_801CE798 lbl_801CE73C: /* 801CE73C 001CA39C 7C E3 3B 78 */ mr r3, r7 /* 801CE740 001CA3A0 38 C1 00 08 */ addi r6, r1, 8 /* 801CE744 001CA3A4 38 80 00 01 */ li r4, 1 /* 801CE748 001CA3A8 48 00 00 20 */ b lbl_801CE768 lbl_801CE74C: /* 801CE74C 001CA3AC 55 05 EE FE */ rlwinm r5, r8, 0x1d, 0x1b, 0x1f /* 801CE750 001CA3B0 55 00 07 7E */ clrlwi r0, r8, 0x1d /* 801CE754 001CA3B4 7C 80 00 30 */ slw r0, r4, r0 /* 801CE758 001CA3B8 7C A6 28 AE */ lbzx r5, r6, r5 /* 801CE75C 001CA3BC 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 801CE760 001CA3C0 7C A0 00 39 */ and. r0, r5, r0 /* 801CE764 001CA3C4 40 82 00 10 */ bne lbl_801CE774 lbl_801CE768: /* 801CE768 001CA3C8 8D 07 00 01 */ lbzu r8, 1(r7) /* 801CE76C 001CA3CC 2C 08 00 00 */ cmpwi r8, 0 /* 801CE770 001CA3D0 40 82 FF DC */ bne lbl_801CE74C lbl_801CE774: /* 801CE774 001CA3D4 2C 08 00 00 */ cmpwi r8, 0 /* 801CE778 001CA3D8 40 82 00 10 */ bne lbl_801CE788 /* 801CE77C 001CA3DC 80 0D 83 F0 */ lwz r0, lbl_8063D6B0-_SDA_BASE_(r13) /* 801CE780 001CA3E0 90 0D 83 F4 */ stw r0, lbl_8063D6B4-_SDA_BASE_(r13) /* 801CE784 001CA3E4 48 00 00 14 */ b lbl_801CE798 lbl_801CE788: /* 801CE788 001CA3E8 38 87 00 01 */ addi r4, r7, 1 /* 801CE78C 001CA3EC 38 00 00 00 */ li r0, 0 /* 801CE790 001CA3F0 90 8D 83 F4 */ stw r4, lbl_8063D6B4-_SDA_BASE_(r13) /* 801CE794 001CA3F4 98 07 00 00 */ stb r0, 0(r7) lbl_801CE798: /* 801CE798 001CA3F8 38 21 00 30 */ addi r1, r1, 0x30 /* 801CE79C 001CA3FC 4E 80 00 20 */ blr .global func_801CE7A0 func_801CE7A0: /* 801CE7A0 001CA400 2C 04 00 00 */ cmpwi r4, 0 /* 801CE7A4 001CA404 38 A3 FF FF */ addi r5, r3, -1 /* 801CE7A8 001CA408 4D 82 00 20 */ beqlr /* 801CE7AC 001CA40C 88 C4 00 00 */ lbz r6, 0(r4) /* 801CE7B0 001CA410 2C 06 00 00 */ cmpwi r6, 0 /* 801CE7B4 001CA414 40 82 00 44 */ bne lbl_801CE7F8 /* 801CE7B8 001CA418 4E 80 00 20 */ blr /* 801CE7BC 001CA41C 48 00 00 3C */ b lbl_801CE7F8 lbl_801CE7C0: /* 801CE7C0 001CA420 7C 00 30 40 */ cmplw r0, r6 /* 801CE7C4 001CA424 40 82 00 34 */ bne lbl_801CE7F8 /* 801CE7C8 001CA428 38 E5 FF FF */ addi r7, r5, -1 /* 801CE7CC 001CA42C 39 04 FF FF */ addi r8, r4, -1 lbl_801CE7D0: /* 801CE7D0 001CA430 8C 07 00 01 */ lbzu r0, 1(r7) /* 801CE7D4 001CA434 8C 68 00 01 */ lbzu r3, 1(r8) /* 801CE7D8 001CA438 7C 00 18 40 */ cmplw r0, r3 /* 801CE7DC 001CA43C 40 82 00 0C */ bne lbl_801CE7E8 /* 801CE7E0 001CA440 2C 00 00 00 */ cmpwi r0, 0 /* 801CE7E4 001CA444 40 82 FF EC */ bne lbl_801CE7D0 lbl_801CE7E8: /* 801CE7E8 001CA448 2C 03 00 00 */ cmpwi r3, 0 /* 801CE7EC 001CA44C 40 82 00 0C */ bne lbl_801CE7F8 /* 801CE7F0 001CA450 7C A3 2B 78 */ mr r3, r5 /* 801CE7F4 001CA454 4E 80 00 20 */ blr lbl_801CE7F8: /* 801CE7F8 001CA458 8C 05 00 01 */ lbzu r0, 1(r5) /* 801CE7FC 001CA45C 2C 00 00 00 */ cmpwi r0, 0 /* 801CE800 001CA460 40 82 FF C0 */ bne lbl_801CE7C0 /* 801CE804 001CA464 38 60 00 00 */ li r3, 0 /* 801CE808 001CA468 4E 80 00 20 */ blr .global func_801CE80C func_801CE80C: /* 801CE80C 001CA46C 94 21 FF 20 */ stwu r1, -0xe0(r1) /* 801CE810 001CA470 7C 08 02 A6 */ mflr r0 /* 801CE814 001CA474 90 01 00 E4 */ stw r0, 0xe4(r1) /* 801CE818 001CA478 39 61 00 E0 */ addi r11, r1, 0xe0 /* 801CE81C 001CA47C 4B FF 88 D9 */ bl __save_gpr /* 801CE820 001CA480 3B E0 00 00 */ li r31, 0 /* 801CE824 001CA484 3D 00 80 42 */ lis r8, lbl_80422B98@ha /* 801CE828 001CA488 38 00 00 00 */ li r0, 0 /* 801CE82C 001CA48C 93 E1 00 58 */ stw r31, 0x58(r1) /* 801CE830 001CA490 81 08 2B 98 */ lwz r8, lbl_80422B98@l(r8) /* 801CE834 001CA494 7C 92 23 78 */ mr r18, r4 /* 801CE838 001CA498 90 01 00 90 */ stw r0, 0x90(r1) /* 801CE83C 001CA49C 38 00 00 00 */ li r0, 0 /* 801CE840 001CA4A0 7C B3 2B 78 */ mr r19, r5 /* 801CE844 001CA4A4 7E 4C 93 78 */ mr r12, r18 /* 801CE848 001CA4A8 90 01 00 8C */ stw r0, 0x8c(r1) /* 801CE84C 001CA4AC 38 00 00 00 */ li r0, 0 /* 801CE850 001CA4B0 7C F4 3B 78 */ mr r20, r7 /* 801CE854 001CA4B4 3A 20 00 01 */ li r17, 1 /* 801CE858 001CA4B8 90 01 00 88 */ stw r0, 0x88(r1) /* 801CE85C 001CA4BC 38 00 00 00 */ li r0, 0 /* 801CE860 001CA4C0 39 C0 00 00 */ li r14, 0 /* 801CE864 001CA4C4 3B A0 00 00 */ li r29, 0 /* 801CE868 001CA4C8 90 61 00 08 */ stw r3, 8(r1) /* 801CE86C 001CA4CC 7E 63 9B 78 */ mr r3, r19 /* 801CE870 001CA4D0 3B 80 00 00 */ li r28, 0 /* 801CE874 001CA4D4 3B 20 00 00 */ li r25, 0 /* 801CE878 001CA4D8 93 E1 00 5C */ stw r31, 0x5c(r1) /* 801CE87C 001CA4DC 3A E0 00 00 */ li r23, 0 /* 801CE880 001CA4E0 3B C0 00 01 */ li r30, 1 /* 801CE884 001CA4E4 38 80 00 00 */ li r4, 0 /* 801CE888 001CA4E8 93 E1 00 60 */ stw r31, 0x60(r1) /* 801CE88C 001CA4EC 38 A0 00 00 */ li r5, 0 /* 801CE890 001CA4F0 93 E1 00 64 */ stw r31, 0x64(r1) /* 801CE894 001CA4F4 93 E1 00 68 */ stw r31, 0x68(r1) /* 801CE898 001CA4F8 93 E1 00 6C */ stw r31, 0x6c(r1) /* 801CE89C 001CA4FC 93 E1 00 70 */ stw r31, 0x70(r1) /* 801CE8A0 001CA500 93 E1 00 74 */ stw r31, 0x74(r1) /* 801CE8A4 001CA504 93 E1 00 78 */ stw r31, 0x78(r1) /* 801CE8A8 001CA508 93 E1 00 7C */ stw r31, 0x7c(r1) /* 801CE8AC 001CA50C B3 E1 00 80 */ sth r31, 0x80(r1) /* 801CE8B0 001CA510 8B 68 00 00 */ lbz r27, 0(r8) /* 801CE8B4 001CA514 90 C1 00 0C */ stw r6, 0xc(r1) /* 801CE8B8 001CA518 90 01 00 84 */ stw r0, 0x84(r1) /* 801CE8BC 001CA51C 93 E7 00 00 */ stw r31, 0(r7) /* 801CE8C0 001CA520 7D 89 03 A6 */ mtctr r12 /* 801CE8C4 001CA524 4E 80 04 21 */ bctrl /* 801CE8C8 001CA528 3E 00 80 42 */ lis r16, lbl_80422D48@ha /* 801CE8CC 001CA52C 3D E0 80 40 */ lis r15, lbl_803FCD18@ha /* 801CE8D0 001CA530 7C 64 1B 78 */ mr r4, r3 /* 801CE8D4 001CA534 3A 10 2D 48 */ addi r16, r16, lbl_80422D48@l /* 801CE8D8 001CA538 39 EF CD 18 */ addi r15, r15, lbl_803FCD18@l /* 801CE8DC 001CA53C 48 00 0F D0 */ b lbl_801CF8AC lbl_801CE8E0: /* 801CE8E0 001CA540 2C 11 00 80 */ cmpwi r17, 0x80 /* 801CE8E4 001CA544 41 82 08 A0 */ beq lbl_801CF184 /* 801CE8E8 001CA548 40 80 00 5C */ bge lbl_801CE944 /* 801CE8EC 001CA54C 2C 11 00 08 */ cmpwi r17, 8 /* 801CE8F0 001CA550 41 82 06 64 */ beq lbl_801CEF54 /* 801CE8F4 001CA554 40 80 00 2C */ bge lbl_801CE920 /* 801CE8F8 001CA558 2C 11 00 03 */ cmpwi r17, 3 /* 801CE8FC 001CA55C 41 82 0F B0 */ beq lbl_801CF8AC /* 801CE900 001CA560 40 80 00 14 */ bge lbl_801CE914 /* 801CE904 001CA564 2C 11 00 01 */ cmpwi r17, 1 /* 801CE908 001CA568 41 82 00 8C */ beq lbl_801CE994 /* 801CE90C 001CA56C 40 80 05 18 */ bge lbl_801CEE24 /* 801CE910 001CA570 48 00 0F 9C */ b lbl_801CF8AC lbl_801CE914: /* 801CE914 001CA574 2C 11 00 05 */ cmpwi r17, 5 /* 801CE918 001CA578 40 80 0F 94 */ bge lbl_801CF8AC /* 801CE91C 001CA57C 48 00 06 04 */ b lbl_801CEF20 lbl_801CE920: /* 801CE920 001CA580 2C 11 00 20 */ cmpwi r17, 0x20 /* 801CE924 001CA584 41 82 07 4C */ beq lbl_801CF070 /* 801CE928 001CA588 40 80 00 10 */ bge lbl_801CE938 /* 801CE92C 001CA58C 2C 11 00 10 */ cmpwi r17, 0x10 /* 801CE930 001CA590 41 82 06 EC */ beq lbl_801CF01C /* 801CE934 001CA594 48 00 0F 78 */ b lbl_801CF8AC lbl_801CE938: /* 801CE938 001CA598 2C 11 00 40 */ cmpwi r17, 0x40 /* 801CE93C 001CA59C 41 82 07 DC */ beq lbl_801CF118 /* 801CE940 001CA5A0 48 00 0F 6C */ b lbl_801CF8AC lbl_801CE944: /* 801CE944 001CA5A4 2C 11 20 00 */ cmpwi r17, 0x2000 /* 801CE948 001CA5A8 41 82 02 D0 */ beq lbl_801CEC18 /* 801CE94C 001CA5AC 40 80 00 28 */ bge lbl_801CE974 /* 801CE950 001CA5B0 2C 11 02 00 */ cmpwi r17, 0x200 /* 801CE954 001CA5B4 41 82 09 18 */ beq lbl_801CF26C /* 801CE958 001CA5B8 40 80 00 10 */ bge lbl_801CE968 /* 801CE95C 001CA5BC 2C 11 01 00 */ cmpwi r17, 0x100 /* 801CE960 001CA5C0 41 82 08 88 */ beq lbl_801CF1E8 /* 801CE964 001CA5C4 48 00 0F 48 */ b lbl_801CF8AC lbl_801CE968: /* 801CE968 001CA5C8 2C 11 04 00 */ cmpwi r17, 0x400 /* 801CE96C 001CA5CC 41 82 09 34 */ beq lbl_801CF2A0 /* 801CE970 001CA5D0 48 00 0F 3C */ b lbl_801CF8AC lbl_801CE974: /* 801CE974 001CA5D4 3C 60 00 01 */ lis r3, 0x00008000@ha /* 801CE978 001CA5D8 38 03 80 00 */ addi r0, r3, 0x00008000@l /* 801CE97C 001CA5DC 7C 11 00 00 */ cmpw r17, r0 /* 801CE980 001CA5E0 41 82 09 AC */ beq lbl_801CF32C /* 801CE984 001CA5E4 40 80 0F 28 */ bge lbl_801CF8AC /* 801CE988 001CA5E8 2C 11 40 00 */ cmpwi r17, 0x4000 /* 801CE98C 001CA5EC 41 82 01 6C */ beq lbl_801CEAF8 /* 801CE990 001CA5F0 48 00 0F 1C */ b lbl_801CF8AC lbl_801CE994: /* 801CE994 001CA5F4 2C 04 00 00 */ cmpwi r4, 0 /* 801CE998 001CA5F8 38 00 00 00 */ li r0, 0 /* 801CE99C 001CA5FC 41 80 00 0C */ blt lbl_801CE9A8 /* 801CE9A0 001CA600 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CE9A4 001CA604 41 80 00 08 */ blt lbl_801CE9AC lbl_801CE9A8: /* 801CE9A8 001CA608 38 00 00 01 */ li r0, 1 lbl_801CE9AC: /* 801CE9AC 001CA60C 2C 00 00 00 */ cmpwi r0, 0 /* 801CE9B0 001CA610 41 82 00 0C */ beq lbl_801CE9BC /* 801CE9B4 001CA614 38 00 00 00 */ li r0, 0 /* 801CE9B8 001CA618 48 00 00 18 */ b lbl_801CE9D0 lbl_801CE9BC: /* 801CE9BC 001CA61C 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CE9C0 001CA620 54 80 08 3C */ slwi r0, r4, 1 /* 801CE9C4 001CA624 80 63 00 08 */ lwz r3, 8(r3) /* 801CE9C8 001CA628 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CE9CC 001CA62C 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17 lbl_801CE9D0: /* 801CE9D0 001CA630 2C 00 00 00 */ cmpwi r0, 0 /* 801CE9D4 001CA634 41 82 00 28 */ beq lbl_801CE9FC /* 801CE9D8 001CA638 7E 4C 93 78 */ mr r12, r18 /* 801CE9DC 001CA63C 7E 63 9B 78 */ mr r3, r19 /* 801CE9E0 001CA640 38 80 00 00 */ li r4, 0 /* 801CE9E4 001CA644 38 A0 00 00 */ li r5, 0 /* 801CE9E8 001CA648 7D 89 03 A6 */ mtctr r12 /* 801CE9EC 001CA64C 4E 80 04 21 */ bctrl /* 801CE9F0 001CA650 7C 64 1B 78 */ mr r4, r3 /* 801CE9F4 001CA654 39 CE 00 01 */ addi r14, r14, 1 /* 801CE9F8 001CA658 48 00 0E B4 */ b lbl_801CF8AC lbl_801CE9FC: /* 801CE9FC 001CA65C 2C 04 00 00 */ cmpwi r4, 0 /* 801CEA00 001CA660 38 00 00 00 */ li r0, 0 /* 801CEA04 001CA664 41 80 00 0C */ blt lbl_801CEA10 /* 801CEA08 001CA668 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CEA0C 001CA66C 41 80 00 08 */ blt lbl_801CEA14 lbl_801CEA10: /* 801CEA10 001CA670 38 00 00 01 */ li r0, 1 lbl_801CEA14: /* 801CEA14 001CA674 2C 00 00 00 */ cmpwi r0, 0 /* 801CEA18 001CA678 41 82 00 0C */ beq lbl_801CEA24 /* 801CEA1C 001CA67C 7C 80 23 78 */ mr r0, r4 /* 801CEA20 001CA680 48 00 00 10 */ b lbl_801CEA30 lbl_801CEA24: /* 801CEA24 001CA684 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CEA28 001CA688 80 63 00 0C */ lwz r3, 0xc(r3) /* 801CEA2C 001CA68C 7C 03 20 AE */ lbzx r0, r3, r4 lbl_801CEA30: /* 801CEA30 001CA690 2C 00 00 49 */ cmpwi r0, 0x49 /* 801CEA34 001CA694 41 82 00 6C */ beq lbl_801CEAA0 /* 801CEA38 001CA698 40 80 00 28 */ bge lbl_801CEA60 /* 801CEA3C 001CA69C 2C 00 00 2C */ cmpwi r0, 0x2c /* 801CEA40 001CA6A0 41 82 00 B0 */ beq lbl_801CEAF0 /* 801CEA44 001CA6A4 40 80 00 10 */ bge lbl_801CEA54 /* 801CEA48 001CA6A8 2C 00 00 2B */ cmpwi r0, 0x2b /* 801CEA4C 001CA6AC 40 80 00 28 */ bge lbl_801CEA74 /* 801CEA50 001CA6B0 48 00 00 A0 */ b lbl_801CEAF0 lbl_801CEA54: /* 801CEA54 001CA6B4 2C 00 00 2E */ cmpwi r0, 0x2e /* 801CEA58 001CA6B8 40 80 00 98 */ bge lbl_801CEAF0 /* 801CEA5C 001CA6BC 48 00 00 10 */ b lbl_801CEA6C lbl_801CEA60: /* 801CEA60 001CA6C0 2C 00 00 4E */ cmpwi r0, 0x4e /* 801CEA64 001CA6C4 41 82 00 64 */ beq lbl_801CEAC8 /* 801CEA68 001CA6C8 48 00 00 88 */ b lbl_801CEAF0 lbl_801CEA6C: /* 801CEA6C 001CA6CC 38 00 00 01 */ li r0, 1 /* 801CEA70 001CA6D0 90 01 00 90 */ stw r0, 0x90(r1) lbl_801CEA74: /* 801CEA74 001CA6D4 7E 4C 93 78 */ mr r12, r18 /* 801CEA78 001CA6D8 7E 63 9B 78 */ mr r3, r19 /* 801CEA7C 001CA6DC 38 80 00 00 */ li r4, 0 /* 801CEA80 001CA6E0 38 A0 00 00 */ li r5, 0 /* 801CEA84 001CA6E4 7D 89 03 A6 */ mtctr r12 /* 801CEA88 001CA6E8 3B DE 00 01 */ addi r30, r30, 1 /* 801CEA8C 001CA6EC 4E 80 04 21 */ bctrl /* 801CEA90 001CA6F0 38 00 00 01 */ li r0, 1 /* 801CEA94 001CA6F4 7C 64 1B 78 */ mr r4, r3 /* 801CEA98 001CA6F8 90 01 00 88 */ stw r0, 0x88(r1) /* 801CEA9C 001CA6FC 48 00 0E 10 */ b lbl_801CF8AC lbl_801CEAA0: /* 801CEAA0 001CA700 7E 4C 93 78 */ mr r12, r18 /* 801CEAA4 001CA704 7E 63 9B 78 */ mr r3, r19 /* 801CEAA8 001CA708 38 80 00 00 */ li r4, 0 /* 801CEAAC 001CA70C 38 A0 00 00 */ li r5, 0 /* 801CEAB0 001CA710 7D 89 03 A6 */ mtctr r12 /* 801CEAB4 001CA714 3B DE 00 01 */ addi r30, r30, 1 /* 801CEAB8 001CA718 4E 80 04 21 */ bctrl /* 801CEABC 001CA71C 7C 64 1B 78 */ mr r4, r3 /* 801CEAC0 001CA720 3A 20 40 00 */ li r17, 0x4000 /* 801CEAC4 001CA724 48 00 0D E8 */ b lbl_801CF8AC lbl_801CEAC8: /* 801CEAC8 001CA728 7E 4C 93 78 */ mr r12, r18 /* 801CEACC 001CA72C 7E 63 9B 78 */ mr r3, r19 /* 801CEAD0 001CA730 38 80 00 00 */ li r4, 0 /* 801CEAD4 001CA734 38 A0 00 00 */ li r5, 0 /* 801CEAD8 001CA738 7D 89 03 A6 */ mtctr r12 /* 801CEADC 001CA73C 3B DE 00 01 */ addi r30, r30, 1 /* 801CEAE0 001CA740 4E 80 04 21 */ bctrl /* 801CEAE4 001CA744 7C 64 1B 78 */ mr r4, r3 /* 801CEAE8 001CA748 3A 20 20 00 */ li r17, 0x2000 /* 801CEAEC 001CA74C 48 00 0D C0 */ b lbl_801CF8AC lbl_801CEAF0: /* 801CEAF0 001CA750 3A 20 00 02 */ li r17, 2 /* 801CEAF4 001CA754 48 00 0D B8 */ b lbl_801CF8AC lbl_801CEAF8: /* 801CEAF8 001CA758 89 6F 00 00 */ lbz r11, 0(r15) /* 801CEAFC 001CA75C 3A 21 00 29 */ addi r17, r1, 0x29 /* 801CEB00 001CA760 89 4F 00 01 */ lbz r10, 1(r15) /* 801CEB04 001CA764 3A A0 00 01 */ li r21, 1 /* 801CEB08 001CA768 89 2F 00 02 */ lbz r9, 2(r15) /* 801CEB0C 001CA76C 89 0F 00 03 */ lbz r8, 3(r15) /* 801CEB10 001CA770 88 EF 00 04 */ lbz r7, 4(r15) /* 801CEB14 001CA774 88 CF 00 05 */ lbz r6, 5(r15) /* 801CEB18 001CA778 88 AF 00 06 */ lbz r5, 6(r15) /* 801CEB1C 001CA77C 88 6F 00 07 */ lbz r3, 7(r15) /* 801CEB20 001CA780 88 0F 00 08 */ lbz r0, 8(r15) /* 801CEB24 001CA784 99 61 00 28 */ stb r11, 0x28(r1) /* 801CEB28 001CA788 99 41 00 29 */ stb r10, 0x29(r1) /* 801CEB2C 001CA78C 99 21 00 2A */ stb r9, 0x2a(r1) /* 801CEB30 001CA790 99 01 00 2B */ stb r8, 0x2b(r1) /* 801CEB34 001CA794 98 E1 00 2C */ stb r7, 0x2c(r1) /* 801CEB38 001CA798 98 C1 00 2D */ stb r6, 0x2d(r1) /* 801CEB3C 001CA79C 98 A1 00 2E */ stb r5, 0x2e(r1) /* 801CEB40 001CA7A0 98 61 00 2F */ stb r3, 0x2f(r1) /* 801CEB44 001CA7A4 98 01 00 30 */ stb r0, 0x30(r1) /* 801CEB48 001CA7A8 48 00 00 2C */ b lbl_801CEB74 lbl_801CEB4C: /* 801CEB4C 001CA7AC 7E 4C 93 78 */ mr r12, r18 /* 801CEB50 001CA7B0 7E 63 9B 78 */ mr r3, r19 /* 801CEB54 001CA7B4 38 80 00 00 */ li r4, 0 /* 801CEB58 001CA7B8 38 A0 00 00 */ li r5, 0 /* 801CEB5C 001CA7BC 7D 89 03 A6 */ mtctr r12 /* 801CEB60 001CA7C0 3A 31 00 01 */ addi r17, r17, 1 /* 801CEB64 001CA7C4 3A B5 00 01 */ addi r21, r21, 1 /* 801CEB68 001CA7C8 3B DE 00 01 */ addi r30, r30, 1 /* 801CEB6C 001CA7CC 4E 80 04 21 */ bctrl /* 801CEB70 001CA7D0 7C 64 1B 78 */ mr r4, r3 lbl_801CEB74: /* 801CEB74 001CA7D4 2C 15 00 08 */ cmpwi r21, 8 /* 801CEB78 001CA7D8 40 80 00 48 */ bge lbl_801CEBC0 /* 801CEB7C 001CA7DC 88 71 00 00 */ lbz r3, 0(r17) /* 801CEB80 001CA7E0 2C 04 00 00 */ cmpwi r4, 0 /* 801CEB84 001CA7E4 38 00 00 00 */ li r0, 0 /* 801CEB88 001CA7E8 7C 65 07 74 */ extsb r5, r3 /* 801CEB8C 001CA7EC 41 80 00 0C */ blt lbl_801CEB98 /* 801CEB90 001CA7F0 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CEB94 001CA7F4 41 80 00 08 */ blt lbl_801CEB9C lbl_801CEB98: /* 801CEB98 001CA7F8 38 00 00 01 */ li r0, 1 lbl_801CEB9C: /* 801CEB9C 001CA7FC 2C 00 00 00 */ cmpwi r0, 0 /* 801CEBA0 001CA800 41 82 00 0C */ beq lbl_801CEBAC /* 801CEBA4 001CA804 7C 80 23 78 */ mr r0, r4 /* 801CEBA8 001CA808 48 00 00 10 */ b lbl_801CEBB8 lbl_801CEBAC: /* 801CEBAC 001CA80C 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CEBB0 001CA810 80 63 00 0C */ lwz r3, 0xc(r3) /* 801CEBB4 001CA814 7C 03 20 AE */ lbzx r0, r3, r4 lbl_801CEBB8: /* 801CEBB8 001CA818 7C 05 00 00 */ cmpw r5, r0 /* 801CEBBC 001CA81C 41 82 FF 90 */ beq lbl_801CEB4C lbl_801CEBC0: /* 801CEBC0 001CA820 2C 15 00 03 */ cmpwi r21, 3 /* 801CEBC4 001CA824 41 82 00 0C */ beq lbl_801CEBD0 /* 801CEBC8 001CA828 2C 15 00 08 */ cmpwi r21, 8 /* 801CEBCC 001CA82C 40 82 00 44 */ bne lbl_801CEC10 lbl_801CEBD0: /* 801CEBD0 001CA830 80 01 00 90 */ lwz r0, 0x90(r1) /* 801CEBD4 001CA834 2C 00 00 00 */ cmpwi r0, 0 /* 801CEBD8 001CA838 41 82 00 18 */ beq lbl_801CEBF0 /* 801CEBDC 001CA83C 3C 60 80 64 */ lis r3, lbl_8063D6BC@ha /* 801CEBE0 001CA840 C0 03 D6 BC */ lfs f0, lbl_8063D6BC@l(r3) /* 801CEBE4 001CA844 FC 20 00 50 */ fneg f1, f0 /* 801CEBE8 001CA848 FC 20 08 18 */ frsp f1, f1 /* 801CEBEC 001CA84C 48 00 00 0C */ b lbl_801CEBF8 lbl_801CEBF0: /* 801CEBF0 001CA850 3C 60 80 64 */ lis r3, lbl_8063D6BC@ha /* 801CEBF4 001CA854 C0 23 D6 BC */ lfs f1, lbl_8063D6BC@l(r3) lbl_801CEBF8: /* 801CEBF8 001CA858 80 01 00 88 */ lwz r0, 0x88(r1) /* 801CEBFC 001CA85C 80 61 00 0C */ lwz r3, 0xc(r1) /* 801CEC00 001CA860 7C 00 72 14 */ add r0, r0, r14 /* 801CEC04 001CA864 7C 15 02 14 */ add r0, r21, r0 /* 801CEC08 001CA868 90 03 00 00 */ stw r0, 0(r3) /* 801CEC0C 001CA86C 48 00 0F DC */ b lbl_801CFBE8 lbl_801CEC10: /* 801CEC10 001CA870 3A 20 10 00 */ li r17, 0x1000 /* 801CEC14 001CA874 48 00 0C 98 */ b lbl_801CF8AC lbl_801CEC18: /* 801CEC18 001CA878 88 E2 91 58 */ lbz r7, lbl_80641758-_SDA2_BASE_(r2) /* 801CEC1C 001CA87C 3A A0 00 00 */ li r21, 0 /* 801CEC20 001CA880 88 C2 91 59 */ lbz r6, lbl_80641759-_SDA2_BASE_(r2) /* 801CEC24 001CA884 3A 21 00 19 */ addi r17, r1, 0x19 /* 801CEC28 001CA888 88 A2 91 5A */ lbz r5, lbl_8064175A-_SDA2_BASE_(r2) /* 801CEC2C 001CA88C 3A C0 00 01 */ li r22, 1 /* 801CEC30 001CA890 88 62 91 5B */ lbz r3, lbl_8064175B-_SDA2_BASE_(r2) /* 801CEC34 001CA894 88 02 91 5C */ lbz r0, lbl_8064175C-_SDA2_BASE_(r2) /* 801CEC38 001CA898 98 E1 00 18 */ stb r7, 0x18(r1) /* 801CEC3C 001CA89C 98 C1 00 19 */ stb r6, 0x19(r1) /* 801CEC40 001CA8A0 98 A1 00 1A */ stb r5, 0x1a(r1) /* 801CEC44 001CA8A4 98 61 00 1B */ stb r3, 0x1b(r1) /* 801CEC48 001CA8A8 98 01 00 1C */ stb r0, 0x1c(r1) /* 801CEC4C 001CA8AC 92 A1 00 38 */ stw r21, 0x38(r1) /* 801CEC50 001CA8B0 92 A1 00 3C */ stw r21, 0x3c(r1) /* 801CEC54 001CA8B4 92 A1 00 40 */ stw r21, 0x40(r1) /* 801CEC58 001CA8B8 92 A1 00 44 */ stw r21, 0x44(r1) /* 801CEC5C 001CA8BC 92 A1 00 48 */ stw r21, 0x48(r1) /* 801CEC60 001CA8C0 92 A1 00 4C */ stw r21, 0x4c(r1) /* 801CEC64 001CA8C4 92 A1 00 50 */ stw r21, 0x50(r1) /* 801CEC68 001CA8C8 92 A1 00 54 */ stw r21, 0x54(r1) /* 801CEC6C 001CA8CC 48 00 00 2C */ b lbl_801CEC98 lbl_801CEC70: /* 801CEC70 001CA8D0 7E 4C 93 78 */ mr r12, r18 /* 801CEC74 001CA8D4 7E 63 9B 78 */ mr r3, r19 /* 801CEC78 001CA8D8 38 80 00 00 */ li r4, 0 /* 801CEC7C 001CA8DC 38 A0 00 00 */ li r5, 0 /* 801CEC80 001CA8E0 7D 89 03 A6 */ mtctr r12 /* 801CEC84 001CA8E4 3A 31 00 01 */ addi r17, r17, 1 /* 801CEC88 001CA8E8 3A D6 00 01 */ addi r22, r22, 1 /* 801CEC8C 001CA8EC 3B DE 00 01 */ addi r30, r30, 1 /* 801CEC90 001CA8F0 4E 80 04 21 */ bctrl /* 801CEC94 001CA8F4 7C 64 1B 78 */ mr r4, r3 lbl_801CEC98: /* 801CEC98 001CA8F8 2C 16 00 04 */ cmpwi r22, 4 /* 801CEC9C 001CA8FC 40 80 00 48 */ bge lbl_801CECE4 /* 801CECA0 001CA900 88 71 00 00 */ lbz r3, 0(r17) /* 801CECA4 001CA904 2C 04 00 00 */ cmpwi r4, 0 /* 801CECA8 001CA908 38 00 00 00 */ li r0, 0 /* 801CECAC 001CA90C 7C 65 07 74 */ extsb r5, r3 /* 801CECB0 001CA910 41 80 00 0C */ blt lbl_801CECBC /* 801CECB4 001CA914 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CECB8 001CA918 41 80 00 08 */ blt lbl_801CECC0 lbl_801CECBC: /* 801CECBC 001CA91C 38 00 00 01 */ li r0, 1 lbl_801CECC0: /* 801CECC0 001CA920 2C 00 00 00 */ cmpwi r0, 0 /* 801CECC4 001CA924 41 82 00 0C */ beq lbl_801CECD0 /* 801CECC8 001CA928 7C 80 23 78 */ mr r0, r4 /* 801CECCC 001CA92C 48 00 00 10 */ b lbl_801CECDC lbl_801CECD0: /* 801CECD0 001CA930 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CECD4 001CA934 80 63 00 0C */ lwz r3, 0xc(r3) /* 801CECD8 001CA938 7C 03 20 AE */ lbzx r0, r3, r4 lbl_801CECDC: /* 801CECDC 001CA93C 7C 05 00 00 */ cmpw r5, r0 /* 801CECE0 001CA940 41 82 FF 90 */ beq lbl_801CEC70 lbl_801CECE4: /* 801CECE4 001CA944 38 16 FF FD */ addi r0, r22, -3 /* 801CECE8 001CA948 28 00 00 01 */ cmplwi r0, 1 /* 801CECEC 001CA94C 41 81 01 30 */ bgt lbl_801CEE1C /* 801CECF0 001CA950 2C 16 00 04 */ cmpwi r22, 4 /* 801CECF4 001CA954 40 82 00 E4 */ bne lbl_801CEDD8 /* 801CECF8 001CA958 3A 21 00 38 */ addi r17, r1, 0x38 /* 801CECFC 001CA95C 48 00 00 30 */ b lbl_801CED2C lbl_801CED00: /* 801CED00 001CA960 7E 4C 93 78 */ mr r12, r18 /* 801CED04 001CA964 98 91 00 00 */ stb r4, 0(r17) /* 801CED08 001CA968 7E 63 9B 78 */ mr r3, r19 /* 801CED0C 001CA96C 38 80 00 00 */ li r4, 0 /* 801CED10 001CA970 38 A0 00 00 */ li r5, 0 /* 801CED14 001CA974 7D 89 03 A6 */ mtctr r12 /* 801CED18 001CA978 3A B5 00 01 */ addi r21, r21, 1 /* 801CED1C 001CA97C 3A 31 00 01 */ addi r17, r17, 1 /* 801CED20 001CA980 3B DE 00 01 */ addi r30, r30, 1 /* 801CED24 001CA984 4E 80 04 21 */ bctrl /* 801CED28 001CA988 7C 64 1B 78 */ mr r4, r3 lbl_801CED2C: /* 801CED2C 001CA98C 2C 15 00 20 */ cmpwi r21, 0x20 /* 801CED30 001CA990 40 80 00 94 */ bge lbl_801CEDC4 /* 801CED34 001CA994 2C 04 00 00 */ cmpwi r4, 0 /* 801CED38 001CA998 38 00 00 00 */ li r0, 0 /* 801CED3C 001CA99C 41 80 00 0C */ blt lbl_801CED48 /* 801CED40 001CA9A0 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CED44 001CA9A4 41 80 00 08 */ blt lbl_801CED4C lbl_801CED48: /* 801CED48 001CA9A8 38 00 00 01 */ li r0, 1 lbl_801CED4C: /* 801CED4C 001CA9AC 2C 00 00 00 */ cmpwi r0, 0 /* 801CED50 001CA9B0 41 82 00 0C */ beq lbl_801CED5C /* 801CED54 001CA9B4 38 00 00 00 */ li r0, 0 /* 801CED58 001CA9B8 48 00 00 18 */ b lbl_801CED70 lbl_801CED5C: /* 801CED5C 001CA9BC 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CED60 001CA9C0 54 80 08 3C */ slwi r0, r4, 1 /* 801CED64 001CA9C4 80 63 00 08 */ lwz r3, 8(r3) /* 801CED68 001CA9C8 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CED6C 001CA9CC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c lbl_801CED70: /* 801CED70 001CA9D0 2C 00 00 00 */ cmpwi r0, 0 /* 801CED74 001CA9D4 40 82 FF 8C */ bne lbl_801CED00 /* 801CED78 001CA9D8 2C 04 00 00 */ cmpwi r4, 0 /* 801CED7C 001CA9DC 38 00 00 00 */ li r0, 0 /* 801CED80 001CA9E0 41 80 00 0C */ blt lbl_801CED8C /* 801CED84 001CA9E4 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CED88 001CA9E8 41 80 00 08 */ blt lbl_801CED90 lbl_801CED8C: /* 801CED8C 001CA9EC 38 00 00 01 */ li r0, 1 lbl_801CED90: /* 801CED90 001CA9F0 2C 00 00 00 */ cmpwi r0, 0 /* 801CED94 001CA9F4 41 82 00 0C */ beq lbl_801CEDA0 /* 801CED98 001CA9F8 38 00 00 00 */ li r0, 0 /* 801CED9C 001CA9FC 48 00 00 18 */ b lbl_801CEDB4 lbl_801CEDA0: /* 801CEDA0 001CAA00 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CEDA4 001CAA04 54 80 08 3C */ slwi r0, r4, 1 /* 801CEDA8 001CAA08 80 63 00 08 */ lwz r3, 8(r3) /* 801CEDAC 001CAA0C 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CEDB0 001CAA10 54 00 07 FE */ clrlwi r0, r0, 0x1f lbl_801CEDB4: /* 801CEDB4 001CAA14 2C 00 00 00 */ cmpwi r0, 0 /* 801CEDB8 001CAA18 40 82 FF 48 */ bne lbl_801CED00 /* 801CEDBC 001CAA1C 7C 04 D8 00 */ cmpw r4, r27 /* 801CEDC0 001CAA20 41 82 FF 40 */ beq lbl_801CED00 lbl_801CEDC4: /* 801CEDC4 001CAA24 2C 04 00 29 */ cmpwi r4, 0x29 /* 801CEDC8 001CAA28 41 82 00 0C */ beq lbl_801CEDD4 /* 801CEDCC 001CAA2C 3A 20 10 00 */ li r17, 0x1000 /* 801CEDD0 001CAA30 48 00 0A DC */ b lbl_801CF8AC lbl_801CEDD4: /* 801CEDD4 001CAA34 3A B5 00 01 */ addi r21, r21, 1 lbl_801CEDD8: /* 801CEDD8 001CAA38 80 01 00 90 */ lwz r0, 0x90(r1) /* 801CEDDC 001CAA3C 38 61 00 38 */ addi r3, r1, 0x38 /* 801CEDE0 001CAA40 2C 00 00 00 */ cmpwi r0, 0 /* 801CEDE4 001CAA44 38 00 00 00 */ li r0, 0 /* 801CEDE8 001CAA48 7C 03 A9 AE */ stbx r0, r3, r21 /* 801CEDEC 001CAA4C 41 82 00 10 */ beq lbl_801CEDFC /* 801CEDF0 001CAA50 48 00 5A 41 */ bl func_801D4830 /* 801CEDF4 001CAA54 FC 20 08 50 */ fneg f1, f1 /* 801CEDF8 001CAA58 48 00 00 08 */ b lbl_801CEE00 lbl_801CEDFC: /* 801CEDFC 001CAA5C 48 00 5A 35 */ bl func_801D4830 lbl_801CEE00: /* 801CEE00 001CAA60 80 01 00 88 */ lwz r0, 0x88(r1) /* 801CEE04 001CAA64 7C 60 B2 14 */ add r3, r0, r22 /* 801CEE08 001CAA68 7C 15 72 14 */ add r0, r21, r14 /* 801CEE0C 001CAA6C 7C 03 02 14 */ add r0, r3, r0 /* 801CEE10 001CAA70 80 61 00 0C */ lwz r3, 0xc(r1) /* 801CEE14 001CAA74 90 03 00 00 */ stw r0, 0(r3) /* 801CEE18 001CAA78 48 00 0D D0 */ b lbl_801CFBE8 lbl_801CEE1C: /* 801CEE1C 001CAA7C 3A 20 10 00 */ li r17, 0x1000 /* 801CEE20 001CAA80 48 00 0A 8C */ b lbl_801CF8AC lbl_801CEE24: /* 801CEE24 001CAA84 7C 04 D8 00 */ cmpw r4, r27 /* 801CEE28 001CAA88 40 82 00 2C */ bne lbl_801CEE54 /* 801CEE2C 001CAA8C 7E 4C 93 78 */ mr r12, r18 /* 801CEE30 001CAA90 7E 63 9B 78 */ mr r3, r19 /* 801CEE34 001CAA94 3A 20 00 10 */ li r17, 0x10 /* 801CEE38 001CAA98 38 80 00 00 */ li r4, 0 /* 801CEE3C 001CAA9C 38 A0 00 00 */ li r5, 0 /* 801CEE40 001CAAA0 7D 89 03 A6 */ mtctr r12 /* 801CEE44 001CAAA4 3B DE 00 01 */ addi r30, r30, 1 /* 801CEE48 001CAAA8 4E 80 04 21 */ bctrl /* 801CEE4C 001CAAAC 7C 64 1B 78 */ mr r4, r3 /* 801CEE50 001CAAB0 48 00 0A 5C */ b lbl_801CF8AC lbl_801CEE54: /* 801CEE54 001CAAB4 2C 04 00 00 */ cmpwi r4, 0 /* 801CEE58 001CAAB8 38 00 00 00 */ li r0, 0 /* 801CEE5C 001CAABC 41 80 00 0C */ blt lbl_801CEE68 /* 801CEE60 001CAAC0 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CEE64 001CAAC4 41 80 00 08 */ blt lbl_801CEE6C lbl_801CEE68: /* 801CEE68 001CAAC8 38 00 00 01 */ li r0, 1 lbl_801CEE6C: /* 801CEE6C 001CAACC 2C 00 00 00 */ cmpwi r0, 0 /* 801CEE70 001CAAD0 41 82 00 0C */ beq lbl_801CEE7C /* 801CEE74 001CAAD4 38 00 00 00 */ li r0, 0 /* 801CEE78 001CAAD8 48 00 00 18 */ b lbl_801CEE90 lbl_801CEE7C: /* 801CEE7C 001CAADC 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CEE80 001CAAE0 54 80 08 3C */ slwi r0, r4, 1 /* 801CEE84 001CAAE4 80 63 00 08 */ lwz r3, 8(r3) /* 801CEE88 001CAAE8 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CEE8C 001CAAEC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c lbl_801CEE90: /* 801CEE90 001CAAF0 2C 00 00 00 */ cmpwi r0, 0 /* 801CEE94 001CAAF4 40 82 00 0C */ bne lbl_801CEEA0 /* 801CEE98 001CAAF8 3A 20 10 00 */ li r17, 0x1000 /* 801CEE9C 001CAAFC 48 00 0A 10 */ b lbl_801CF8AC lbl_801CEEA0: /* 801CEEA0 001CAB00 2C 04 00 30 */ cmpwi r4, 0x30 /* 801CEEA4 001CAB04 40 82 00 74 */ bne lbl_801CEF18 /* 801CEEA8 001CAB08 7E 4C 93 78 */ mr r12, r18 /* 801CEEAC 001CAB0C 7E 63 9B 78 */ mr r3, r19 /* 801CEEB0 001CAB10 38 80 00 00 */ li r4, 0 /* 801CEEB4 001CAB14 38 A0 00 00 */ li r5, 0 /* 801CEEB8 001CAB18 7D 89 03 A6 */ mtctr r12 /* 801CEEBC 001CAB1C 3B DE 00 01 */ addi r30, r30, 1 /* 801CEEC0 001CAB20 4E 80 04 21 */ bctrl /* 801CEEC4 001CAB24 2C 03 00 00 */ cmpwi r3, 0 /* 801CEEC8 001CAB28 7C 64 1B 78 */ mr r4, r3 /* 801CEECC 001CAB2C 38 00 00 00 */ li r0, 0 /* 801CEED0 001CAB30 41 80 00 0C */ blt lbl_801CEEDC /* 801CEED4 001CAB34 2C 03 01 00 */ cmpwi r3, 0x100 /* 801CEED8 001CAB38 41 80 00 08 */ blt lbl_801CEEE0 lbl_801CEEDC: /* 801CEEDC 001CAB3C 38 00 00 01 */ li r0, 1 lbl_801CEEE0: /* 801CEEE0 001CAB40 2C 00 00 00 */ cmpwi r0, 0 /* 801CEEE4 001CAB44 41 82 00 08 */ beq lbl_801CEEEC /* 801CEEE8 001CAB48 48 00 00 10 */ b lbl_801CEEF8 lbl_801CEEEC: /* 801CEEEC 001CAB4C 80 B0 00 38 */ lwz r5, 0x38(r16) /* 801CEEF0 001CAB50 80 A5 00 0C */ lwz r5, 0xc(r5) /* 801CEEF4 001CAB54 7C 65 18 AE */ lbzx r3, r5, r3 lbl_801CEEF8: /* 801CEEF8 001CAB58 2C 03 00 58 */ cmpwi r3, 0x58 /* 801CEEFC 001CAB5C 40 82 00 14 */ bne lbl_801CEF10 /* 801CEF00 001CAB60 3C 60 00 01 */ lis r3, 0x00008000@ha /* 801CEF04 001CAB64 3B E0 00 01 */ li r31, 1 /* 801CEF08 001CAB68 3A 23 80 00 */ addi r17, r3, 0x00008000@l /* 801CEF0C 001CAB6C 48 00 09 A0 */ b lbl_801CF8AC lbl_801CEF10: /* 801CEF10 001CAB70 3A 20 00 04 */ li r17, 4 /* 801CEF14 001CAB74 48 00 09 98 */ b lbl_801CF8AC lbl_801CEF18: /* 801CEF18 001CAB78 3A 20 00 08 */ li r17, 8 /* 801CEF1C 001CAB7C 48 00 09 90 */ b lbl_801CF8AC lbl_801CEF20: /* 801CEF20 001CAB80 2C 04 00 30 */ cmpwi r4, 0x30 /* 801CEF24 001CAB84 40 82 00 28 */ bne lbl_801CEF4C /* 801CEF28 001CAB88 7E 4C 93 78 */ mr r12, r18 /* 801CEF2C 001CAB8C 7E 63 9B 78 */ mr r3, r19 /* 801CEF30 001CAB90 38 80 00 00 */ li r4, 0 /* 801CEF34 001CAB94 38 A0 00 00 */ li r5, 0 /* 801CEF38 001CAB98 7D 89 03 A6 */ mtctr r12 /* 801CEF3C 001CAB9C 3B DE 00 01 */ addi r30, r30, 1 /* 801CEF40 001CABA0 4E 80 04 21 */ bctrl /* 801CEF44 001CABA4 7C 64 1B 78 */ mr r4, r3 /* 801CEF48 001CABA8 48 00 09 64 */ b lbl_801CF8AC lbl_801CEF4C: /* 801CEF4C 001CABAC 3A 20 00 08 */ li r17, 8 /* 801CEF50 001CABB0 48 00 09 5C */ b lbl_801CF8AC lbl_801CEF54: /* 801CEF54 001CABB4 2C 04 00 00 */ cmpwi r4, 0 /* 801CEF58 001CABB8 38 00 00 00 */ li r0, 0 /* 801CEF5C 001CABBC 41 80 00 0C */ blt lbl_801CEF68 /* 801CEF60 001CABC0 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CEF64 001CABC4 41 80 00 08 */ blt lbl_801CEF6C lbl_801CEF68: /* 801CEF68 001CABC8 38 00 00 01 */ li r0, 1 lbl_801CEF6C: /* 801CEF6C 001CABCC 2C 00 00 00 */ cmpwi r0, 0 /* 801CEF70 001CABD0 41 82 00 0C */ beq lbl_801CEF7C /* 801CEF74 001CABD4 38 00 00 00 */ li r0, 0 /* 801CEF78 001CABD8 48 00 00 18 */ b lbl_801CEF90 lbl_801CEF7C: /* 801CEF7C 001CABDC 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CEF80 001CABE0 54 80 08 3C */ slwi r0, r4, 1 /* 801CEF84 001CABE4 80 63 00 08 */ lwz r3, 8(r3) /* 801CEF88 001CABE8 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CEF8C 001CABEC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c lbl_801CEF90: /* 801CEF90 001CABF0 2C 00 00 00 */ cmpwi r0, 0 /* 801CEF94 001CABF4 40 82 00 3C */ bne lbl_801CEFD0 /* 801CEF98 001CABF8 7C 04 D8 00 */ cmpw r4, r27 /* 801CEF9C 001CABFC 40 82 00 2C */ bne lbl_801CEFC8 /* 801CEFA0 001CAC00 7E 4C 93 78 */ mr r12, r18 /* 801CEFA4 001CAC04 7E 63 9B 78 */ mr r3, r19 /* 801CEFA8 001CAC08 3A 20 00 20 */ li r17, 0x20 /* 801CEFAC 001CAC0C 38 80 00 00 */ li r4, 0 /* 801CEFB0 001CAC10 38 A0 00 00 */ li r5, 0 /* 801CEFB4 001CAC14 7D 89 03 A6 */ mtctr r12 /* 801CEFB8 001CAC18 3B DE 00 01 */ addi r30, r30, 1 /* 801CEFBC 001CAC1C 4E 80 04 21 */ bctrl /* 801CEFC0 001CAC20 7C 64 1B 78 */ mr r4, r3 /* 801CEFC4 001CAC24 48 00 08 E8 */ b lbl_801CF8AC lbl_801CEFC8: /* 801CEFC8 001CAC28 3A 20 00 40 */ li r17, 0x40 /* 801CEFCC 001CAC2C 48 00 08 E0 */ b lbl_801CF8AC lbl_801CEFD0: /* 801CEFD0 001CAC30 88 A1 00 5C */ lbz r5, 0x5c(r1) /* 801CEFD4 001CAC34 28 05 00 14 */ cmplwi r5, 0x14 /* 801CEFD8 001CAC38 40 80 00 1C */ bge lbl_801CEFF4 /* 801CEFDC 001CAC3C 38 01 00 58 */ addi r0, r1, 0x58 /* 801CEFE0 001CAC40 7C 60 2A 14 */ add r3, r0, r5 /* 801CEFE4 001CAC44 98 83 00 05 */ stb r4, 5(r3) /* 801CEFE8 001CAC48 38 05 00 01 */ addi r0, r5, 1 /* 801CEFEC 001CAC4C 98 01 00 5C */ stb r0, 0x5c(r1) /* 801CEFF0 001CAC50 48 00 00 08 */ b lbl_801CEFF8 lbl_801CEFF4: /* 801CEFF4 001CAC54 3B 9C 00 01 */ addi r28, r28, 1 lbl_801CEFF8: /* 801CEFF8 001CAC58 7E 4C 93 78 */ mr r12, r18 /* 801CEFFC 001CAC5C 7E 63 9B 78 */ mr r3, r19 /* 801CF000 001CAC60 38 80 00 00 */ li r4, 0 /* 801CF004 001CAC64 38 A0 00 00 */ li r5, 0 /* 801CF008 001CAC68 7D 89 03 A6 */ mtctr r12 /* 801CF00C 001CAC6C 3B DE 00 01 */ addi r30, r30, 1 /* 801CF010 001CAC70 4E 80 04 21 */ bctrl /* 801CF014 001CAC74 7C 64 1B 78 */ mr r4, r3 /* 801CF018 001CAC78 48 00 08 94 */ b lbl_801CF8AC lbl_801CF01C: /* 801CF01C 001CAC7C 2C 04 00 00 */ cmpwi r4, 0 /* 801CF020 001CAC80 38 00 00 00 */ li r0, 0 /* 801CF024 001CAC84 41 80 00 0C */ blt lbl_801CF030 /* 801CF028 001CAC88 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CF02C 001CAC8C 41 80 00 08 */ blt lbl_801CF034 lbl_801CF030: /* 801CF030 001CAC90 38 00 00 01 */ li r0, 1 lbl_801CF034: /* 801CF034 001CAC94 2C 00 00 00 */ cmpwi r0, 0 /* 801CF038 001CAC98 41 82 00 0C */ beq lbl_801CF044 /* 801CF03C 001CAC9C 38 00 00 00 */ li r0, 0 /* 801CF040 001CACA0 48 00 00 18 */ b lbl_801CF058 lbl_801CF044: /* 801CF044 001CACA4 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CF048 001CACA8 54 80 08 3C */ slwi r0, r4, 1 /* 801CF04C 001CACAC 80 63 00 08 */ lwz r3, 8(r3) /* 801CF050 001CACB0 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CF054 001CACB4 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c lbl_801CF058: /* 801CF058 001CACB8 2C 00 00 00 */ cmpwi r0, 0 /* 801CF05C 001CACBC 40 82 00 0C */ bne lbl_801CF068 /* 801CF060 001CACC0 3A 20 10 00 */ li r17, 0x1000 /* 801CF064 001CACC4 48 00 08 48 */ b lbl_801CF8AC lbl_801CF068: /* 801CF068 001CACC8 3A 20 00 20 */ li r17, 0x20 /* 801CF06C 001CACCC 48 00 08 40 */ b lbl_801CF8AC lbl_801CF070: /* 801CF070 001CACD0 2C 04 00 00 */ cmpwi r4, 0 /* 801CF074 001CACD4 38 00 00 00 */ li r0, 0 /* 801CF078 001CACD8 41 80 00 0C */ blt lbl_801CF084 /* 801CF07C 001CACDC 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CF080 001CACE0 41 80 00 08 */ blt lbl_801CF088 lbl_801CF084: /* 801CF084 001CACE4 38 00 00 01 */ li r0, 1 lbl_801CF088: /* 801CF088 001CACE8 2C 00 00 00 */ cmpwi r0, 0 /* 801CF08C 001CACEC 41 82 00 0C */ beq lbl_801CF098 /* 801CF090 001CACF0 38 00 00 00 */ li r0, 0 /* 801CF094 001CACF4 48 00 00 18 */ b lbl_801CF0AC lbl_801CF098: /* 801CF098 001CACF8 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CF09C 001CACFC 54 80 08 3C */ slwi r0, r4, 1 /* 801CF0A0 001CAD00 80 63 00 08 */ lwz r3, 8(r3) /* 801CF0A4 001CAD04 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CF0A8 001CAD08 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c lbl_801CF0AC: /* 801CF0AC 001CAD0C 2C 00 00 00 */ cmpwi r0, 0 /* 801CF0B0 001CAD10 40 82 00 0C */ bne lbl_801CF0BC /* 801CF0B4 001CAD14 3A 20 00 40 */ li r17, 0x40 /* 801CF0B8 001CAD18 48 00 07 F4 */ b lbl_801CF8AC lbl_801CF0BC: /* 801CF0BC 001CAD1C 88 01 00 5C */ lbz r0, 0x5c(r1) /* 801CF0C0 001CAD20 28 00 00 14 */ cmplwi r0, 0x14 /* 801CF0C4 001CAD24 40 80 00 30 */ bge lbl_801CF0F4 /* 801CF0C8 001CAD28 2C 04 00 30 */ cmpwi r4, 0x30 /* 801CF0CC 001CAD2C 40 82 00 0C */ bne lbl_801CF0D8 /* 801CF0D0 001CAD30 2C 00 00 00 */ cmpwi r0, 0 /* 801CF0D4 001CAD34 41 82 00 1C */ beq lbl_801CF0F0 lbl_801CF0D8: /* 801CF0D8 001CAD38 88 A1 00 5C */ lbz r5, 0x5c(r1) /* 801CF0DC 001CAD3C 38 01 00 58 */ addi r0, r1, 0x58 /* 801CF0E0 001CAD40 7C 60 2A 14 */ add r3, r0, r5 /* 801CF0E4 001CAD44 38 05 00 01 */ addi r0, r5, 1 /* 801CF0E8 001CAD48 98 83 00 05 */ stb r4, 5(r3) /* 801CF0EC 001CAD4C 98 01 00 5C */ stb r0, 0x5c(r1) lbl_801CF0F0: /* 801CF0F0 001CAD50 3B 9C FF FF */ addi r28, r28, -1 lbl_801CF0F4: /* 801CF0F4 001CAD54 7E 4C 93 78 */ mr r12, r18 /* 801CF0F8 001CAD58 7E 63 9B 78 */ mr r3, r19 /* 801CF0FC 001CAD5C 38 80 00 00 */ li r4, 0 /* 801CF100 001CAD60 38 A0 00 00 */ li r5, 0 /* 801CF104 001CAD64 7D 89 03 A6 */ mtctr r12 /* 801CF108 001CAD68 3B DE 00 01 */ addi r30, r30, 1 /* 801CF10C 001CAD6C 4E 80 04 21 */ bctrl /* 801CF110 001CAD70 7C 64 1B 78 */ mr r4, r3 /* 801CF114 001CAD74 48 00 07 98 */ b lbl_801CF8AC lbl_801CF118: /* 801CF118 001CAD78 2C 04 00 00 */ cmpwi r4, 0 /* 801CF11C 001CAD7C 38 00 00 00 */ li r0, 0 /* 801CF120 001CAD80 41 80 00 0C */ blt lbl_801CF12C /* 801CF124 001CAD84 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CF128 001CAD88 41 80 00 08 */ blt lbl_801CF130 lbl_801CF12C: /* 801CF12C 001CAD8C 38 00 00 01 */ li r0, 1 lbl_801CF130: /* 801CF130 001CAD90 2C 00 00 00 */ cmpwi r0, 0 /* 801CF134 001CAD94 41 82 00 0C */ beq lbl_801CF140 /* 801CF138 001CAD98 7C 80 23 78 */ mr r0, r4 /* 801CF13C 001CAD9C 48 00 00 10 */ b lbl_801CF14C lbl_801CF140: /* 801CF140 001CADA0 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CF144 001CADA4 80 63 00 0C */ lwz r3, 0xc(r3) /* 801CF148 001CADA8 7C 03 20 AE */ lbzx r0, r3, r4 lbl_801CF14C: /* 801CF14C 001CADAC 2C 00 00 45 */ cmpwi r0, 0x45 /* 801CF150 001CADB0 40 82 00 2C */ bne lbl_801CF17C /* 801CF154 001CADB4 7E 4C 93 78 */ mr r12, r18 /* 801CF158 001CADB8 7E 63 9B 78 */ mr r3, r19 /* 801CF15C 001CADBC 3A 20 00 80 */ li r17, 0x80 /* 801CF160 001CADC0 38 80 00 00 */ li r4, 0 /* 801CF164 001CADC4 38 A0 00 00 */ li r5, 0 /* 801CF168 001CADC8 7D 89 03 A6 */ mtctr r12 /* 801CF16C 001CADCC 3B DE 00 01 */ addi r30, r30, 1 /* 801CF170 001CADD0 4E 80 04 21 */ bctrl /* 801CF174 001CADD4 7C 64 1B 78 */ mr r4, r3 /* 801CF178 001CADD8 48 00 07 34 */ b lbl_801CF8AC lbl_801CF17C: /* 801CF17C 001CADDC 3A 20 08 00 */ li r17, 0x800 /* 801CF180 001CADE0 48 00 07 2C */ b lbl_801CF8AC lbl_801CF184: /* 801CF184 001CADE4 2C 04 00 2B */ cmpwi r4, 0x2b /* 801CF188 001CADE8 40 82 00 28 */ bne lbl_801CF1B0 /* 801CF18C 001CADEC 7E 4C 93 78 */ mr r12, r18 /* 801CF190 001CADF0 7E 63 9B 78 */ mr r3, r19 /* 801CF194 001CADF4 38 80 00 00 */ li r4, 0 /* 801CF198 001CADF8 38 A0 00 00 */ li r5, 0 /* 801CF19C 001CADFC 7D 89 03 A6 */ mtctr r12 /* 801CF1A0 001CAE00 3B DE 00 01 */ addi r30, r30, 1 /* 801CF1A4 001CAE04 4E 80 04 21 */ bctrl /* 801CF1A8 001CAE08 7C 64 1B 78 */ mr r4, r3 /* 801CF1AC 001CAE0C 48 00 00 34 */ b lbl_801CF1E0 lbl_801CF1B0: /* 801CF1B0 001CAE10 2C 04 00 2D */ cmpwi r4, 0x2d /* 801CF1B4 001CAE14 40 82 00 2C */ bne lbl_801CF1E0 /* 801CF1B8 001CAE18 7E 4C 93 78 */ mr r12, r18 /* 801CF1BC 001CAE1C 7E 63 9B 78 */ mr r3, r19 /* 801CF1C0 001CAE20 38 80 00 00 */ li r4, 0 /* 801CF1C4 001CAE24 38 A0 00 00 */ li r5, 0 /* 801CF1C8 001CAE28 7D 89 03 A6 */ mtctr r12 /* 801CF1CC 001CAE2C 3B DE 00 01 */ addi r30, r30, 1 /* 801CF1D0 001CAE30 4E 80 04 21 */ bctrl /* 801CF1D4 001CAE34 38 00 00 01 */ li r0, 1 /* 801CF1D8 001CAE38 7C 64 1B 78 */ mr r4, r3 /* 801CF1DC 001CAE3C 90 01 00 8C */ stw r0, 0x8c(r1) lbl_801CF1E0: /* 801CF1E0 001CAE40 3A 20 01 00 */ li r17, 0x100 /* 801CF1E4 001CAE44 48 00 06 C8 */ b lbl_801CF8AC lbl_801CF1E8: /* 801CF1E8 001CAE48 2C 04 00 00 */ cmpwi r4, 0 /* 801CF1EC 001CAE4C 38 00 00 00 */ li r0, 0 /* 801CF1F0 001CAE50 41 80 00 0C */ blt lbl_801CF1FC /* 801CF1F4 001CAE54 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CF1F8 001CAE58 41 80 00 08 */ blt lbl_801CF200 lbl_801CF1FC: /* 801CF1FC 001CAE5C 38 00 00 01 */ li r0, 1 lbl_801CF200: /* 801CF200 001CAE60 2C 00 00 00 */ cmpwi r0, 0 /* 801CF204 001CAE64 41 82 00 0C */ beq lbl_801CF210 /* 801CF208 001CAE68 38 00 00 00 */ li r0, 0 /* 801CF20C 001CAE6C 48 00 00 18 */ b lbl_801CF224 lbl_801CF210: /* 801CF210 001CAE70 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CF214 001CAE74 54 80 08 3C */ slwi r0, r4, 1 /* 801CF218 001CAE78 80 63 00 08 */ lwz r3, 8(r3) /* 801CF21C 001CAE7C 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CF220 001CAE80 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c lbl_801CF224: /* 801CF224 001CAE84 2C 00 00 00 */ cmpwi r0, 0 /* 801CF228 001CAE88 40 82 00 0C */ bne lbl_801CF234 /* 801CF22C 001CAE8C 3A 20 10 00 */ li r17, 0x1000 /* 801CF230 001CAE90 48 00 06 7C */ b lbl_801CF8AC lbl_801CF234: /* 801CF234 001CAE94 2C 04 00 30 */ cmpwi r4, 0x30 /* 801CF238 001CAE98 40 82 00 2C */ bne lbl_801CF264 /* 801CF23C 001CAE9C 7E 4C 93 78 */ mr r12, r18 /* 801CF240 001CAEA0 7E 63 9B 78 */ mr r3, r19 /* 801CF244 001CAEA4 3A 20 02 00 */ li r17, 0x200 /* 801CF248 001CAEA8 38 80 00 00 */ li r4, 0 /* 801CF24C 001CAEAC 38 A0 00 00 */ li r5, 0 /* 801CF250 001CAEB0 7D 89 03 A6 */ mtctr r12 /* 801CF254 001CAEB4 3B DE 00 01 */ addi r30, r30, 1 /* 801CF258 001CAEB8 4E 80 04 21 */ bctrl /* 801CF25C 001CAEBC 7C 64 1B 78 */ mr r4, r3 /* 801CF260 001CAEC0 48 00 06 4C */ b lbl_801CF8AC lbl_801CF264: /* 801CF264 001CAEC4 3A 20 04 00 */ li r17, 0x400 /* 801CF268 001CAEC8 48 00 06 44 */ b lbl_801CF8AC lbl_801CF26C: /* 801CF26C 001CAECC 2C 04 00 30 */ cmpwi r4, 0x30 /* 801CF270 001CAED0 40 82 00 28 */ bne lbl_801CF298 /* 801CF274 001CAED4 7E 4C 93 78 */ mr r12, r18 /* 801CF278 001CAED8 7E 63 9B 78 */ mr r3, r19 /* 801CF27C 001CAEDC 38 80 00 00 */ li r4, 0 /* 801CF280 001CAEE0 38 A0 00 00 */ li r5, 0 /* 801CF284 001CAEE4 7D 89 03 A6 */ mtctr r12 /* 801CF288 001CAEE8 3B DE 00 01 */ addi r30, r30, 1 /* 801CF28C 001CAEEC 4E 80 04 21 */ bctrl /* 801CF290 001CAEF0 7C 64 1B 78 */ mr r4, r3 /* 801CF294 001CAEF4 48 00 06 18 */ b lbl_801CF8AC lbl_801CF298: /* 801CF298 001CAEF8 3A 20 04 00 */ li r17, 0x400 /* 801CF29C 001CAEFC 48 00 06 10 */ b lbl_801CF8AC lbl_801CF2A0: /* 801CF2A0 001CAF00 2C 04 00 00 */ cmpwi r4, 0 /* 801CF2A4 001CAF04 38 00 00 00 */ li r0, 0 /* 801CF2A8 001CAF08 41 80 00 0C */ blt lbl_801CF2B4 /* 801CF2AC 001CAF0C 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CF2B0 001CAF10 41 80 00 08 */ blt lbl_801CF2B8 lbl_801CF2B4: /* 801CF2B4 001CAF14 38 00 00 01 */ li r0, 1 lbl_801CF2B8: /* 801CF2B8 001CAF18 2C 00 00 00 */ cmpwi r0, 0 /* 801CF2BC 001CAF1C 41 82 00 0C */ beq lbl_801CF2C8 /* 801CF2C0 001CAF20 38 00 00 00 */ li r0, 0 /* 801CF2C4 001CAF24 48 00 00 18 */ b lbl_801CF2DC lbl_801CF2C8: /* 801CF2C8 001CAF28 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CF2CC 001CAF2C 54 80 08 3C */ slwi r0, r4, 1 /* 801CF2D0 001CAF30 80 63 00 08 */ lwz r3, 8(r3) /* 801CF2D4 001CAF34 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CF2D8 001CAF38 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c lbl_801CF2DC: /* 801CF2DC 001CAF3C 2C 00 00 00 */ cmpwi r0, 0 /* 801CF2E0 001CAF40 40 82 00 0C */ bne lbl_801CF2EC /* 801CF2E4 001CAF44 3A 20 08 00 */ li r17, 0x800 /* 801CF2E8 001CAF48 48 00 05 C4 */ b lbl_801CF8AC lbl_801CF2EC: /* 801CF2EC 001CAF4C 1C 1D 00 0A */ mulli r0, r29, 0xa /* 801CF2F0 001CAF50 7C 64 02 14 */ add r3, r4, r0 /* 801CF2F4 001CAF54 3B A3 FF D0 */ addi r29, r3, -48 /* 801CF2F8 001CAF58 2C 1D 7F FF */ cmpwi r29, 0x7fff /* 801CF2FC 001CAF5C 40 81 00 0C */ ble lbl_801CF308 /* 801CF300 001CAF60 38 00 00 01 */ li r0, 1 /* 801CF304 001CAF64 90 14 00 00 */ stw r0, 0(r20) lbl_801CF308: /* 801CF308 001CAF68 7E 4C 93 78 */ mr r12, r18 /* 801CF30C 001CAF6C 7E 63 9B 78 */ mr r3, r19 /* 801CF310 001CAF70 38 80 00 00 */ li r4, 0 /* 801CF314 001CAF74 38 A0 00 00 */ li r5, 0 /* 801CF318 001CAF78 7D 89 03 A6 */ mtctr r12 /* 801CF31C 001CAF7C 3B DE 00 01 */ addi r30, r30, 1 /* 801CF320 001CAF80 4E 80 04 21 */ bctrl /* 801CF324 001CAF84 7C 64 1B 78 */ mr r4, r3 /* 801CF328 001CAF88 48 00 05 84 */ b lbl_801CF8AC lbl_801CF32C: /* 801CF32C 001CAF8C 2C 1F 00 10 */ cmpwi r31, 0x10 /* 801CF330 001CAF90 41 82 03 74 */ beq lbl_801CF6A4 /* 801CF334 001CAF94 40 80 00 34 */ bge lbl_801CF368 /* 801CF338 001CAF98 2C 1F 00 04 */ cmpwi r31, 4 /* 801CF33C 001CAF9C 41 82 00 D4 */ beq lbl_801CF410 /* 801CF340 001CAFA0 40 80 00 1C */ bge lbl_801CF35C /* 801CF344 001CAFA4 2C 1F 00 02 */ cmpwi r31, 2 /* 801CF348 001CAFA8 41 82 00 94 */ beq lbl_801CF3DC /* 801CF34C 001CAFAC 40 80 05 60 */ bge lbl_801CF8AC /* 801CF350 001CAFB0 2C 1F 00 01 */ cmpwi r31, 1 /* 801CF354 001CAFB4 40 80 00 44 */ bge lbl_801CF398 /* 801CF358 001CAFB8 48 00 05 54 */ b lbl_801CF8AC lbl_801CF35C: /* 801CF35C 001CAFBC 2C 1F 00 08 */ cmpwi r31, 8 /* 801CF360 001CAFC0 41 82 02 14 */ beq lbl_801CF574 /* 801CF364 001CAFC4 48 00 05 48 */ b lbl_801CF8AC lbl_801CF368: /* 801CF368 001CAFC8 2C 1F 00 80 */ cmpwi r31, 0x80 /* 801CF36C 001CAFCC 41 82 04 84 */ beq lbl_801CF7F0 /* 801CF370 001CAFD0 40 80 00 1C */ bge lbl_801CF38C /* 801CF374 001CAFD4 2C 1F 00 40 */ cmpwi r31, 0x40 /* 801CF378 001CAFD8 41 82 03 F4 */ beq lbl_801CF76C /* 801CF37C 001CAFDC 40 80 05 30 */ bge lbl_801CF8AC /* 801CF380 001CAFE0 2C 1F 00 20 */ cmpwi r31, 0x20 /* 801CF384 001CAFE4 41 82 03 8C */ beq lbl_801CF710 /* 801CF388 001CAFE8 48 00 05 24 */ b lbl_801CF8AC lbl_801CF38C: /* 801CF38C 001CAFEC 2C 1F 01 00 */ cmpwi r31, 0x100 /* 801CF390 001CAFF0 41 82 04 94 */ beq lbl_801CF824 /* 801CF394 001CAFF4 48 00 05 18 */ b lbl_801CF8AC lbl_801CF398: /* 801CF398 001CAFF8 38 61 00 20 */ addi r3, r1, 0x20 /* 801CF39C 001CAFFC 38 80 00 00 */ li r4, 0 /* 801CF3A0 001CB000 38 A0 00 08 */ li r5, 8 /* 801CF3A4 001CB004 4B E3 4D 61 */ bl memset /* 801CF3A8 001CB008 7E 4C 93 78 */ mr r12, r18 /* 801CF3AC 001CB00C 7E 63 9B 78 */ mr r3, r19 /* 801CF3B0 001CB010 3B 41 00 20 */ addi r26, r1, 0x20 /* 801CF3B4 001CB014 3A E0 00 00 */ li r23, 0 /* 801CF3B8 001CB018 3B 00 00 00 */ li r24, 0 /* 801CF3BC 001CB01C 3B E0 00 02 */ li r31, 2 /* 801CF3C0 001CB020 38 80 00 00 */ li r4, 0 /* 801CF3C4 001CB024 38 A0 00 00 */ li r5, 0 /* 801CF3C8 001CB028 7D 89 03 A6 */ mtctr r12 /* 801CF3CC 001CB02C 3B DE 00 01 */ addi r30, r30, 1 /* 801CF3D0 001CB030 4E 80 04 21 */ bctrl /* 801CF3D4 001CB034 7C 64 1B 78 */ mr r4, r3 /* 801CF3D8 001CB038 48 00 04 D4 */ b lbl_801CF8AC lbl_801CF3DC: /* 801CF3DC 001CB03C 2C 04 00 30 */ cmpwi r4, 0x30 /* 801CF3E0 001CB040 40 82 00 28 */ bne lbl_801CF408 /* 801CF3E4 001CB044 7E 4C 93 78 */ mr r12, r18 /* 801CF3E8 001CB048 7E 63 9B 78 */ mr r3, r19 /* 801CF3EC 001CB04C 38 80 00 00 */ li r4, 0 /* 801CF3F0 001CB050 38 A0 00 00 */ li r5, 0 /* 801CF3F4 001CB054 7D 89 03 A6 */ mtctr r12 /* 801CF3F8 001CB058 3B DE 00 01 */ addi r30, r30, 1 /* 801CF3FC 001CB05C 4E 80 04 21 */ bctrl /* 801CF400 001CB060 7C 64 1B 78 */ mr r4, r3 /* 801CF404 001CB064 48 00 04 A8 */ b lbl_801CF8AC lbl_801CF408: /* 801CF408 001CB068 3B E0 00 04 */ li r31, 4 /* 801CF40C 001CB06C 48 00 04 A0 */ b lbl_801CF8AC lbl_801CF410: /* 801CF410 001CB070 2C 04 00 00 */ cmpwi r4, 0 /* 801CF414 001CB074 38 00 00 00 */ li r0, 0 /* 801CF418 001CB078 41 80 00 0C */ blt lbl_801CF424 /* 801CF41C 001CB07C 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CF420 001CB080 41 80 00 08 */ blt lbl_801CF428 lbl_801CF424: /* 801CF424 001CB084 38 00 00 01 */ li r0, 1 lbl_801CF428: /* 801CF428 001CB088 2C 00 00 00 */ cmpwi r0, 0 /* 801CF42C 001CB08C 41 82 00 0C */ beq lbl_801CF438 /* 801CF430 001CB090 38 00 00 00 */ li r0, 0 /* 801CF434 001CB094 48 00 00 18 */ b lbl_801CF44C lbl_801CF438: /* 801CF438 001CB098 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CF43C 001CB09C 54 80 08 3C */ slwi r0, r4, 1 /* 801CF440 001CB0A0 80 63 00 08 */ lwz r3, 8(r3) /* 801CF444 001CB0A4 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CF448 001CB0A8 54 00 05 6A */ rlwinm r0, r0, 0, 0x15, 0x15 lbl_801CF44C: /* 801CF44C 001CB0AC 2C 00 00 00 */ cmpwi r0, 0 /* 801CF450 001CB0B0 40 82 00 3C */ bne lbl_801CF48C /* 801CF454 001CB0B4 7C 04 D8 00 */ cmpw r4, r27 /* 801CF458 001CB0B8 40 82 00 2C */ bne lbl_801CF484 /* 801CF45C 001CB0BC 7E 4C 93 78 */ mr r12, r18 /* 801CF460 001CB0C0 7E 63 9B 78 */ mr r3, r19 /* 801CF464 001CB0C4 3B E0 00 08 */ li r31, 8 /* 801CF468 001CB0C8 38 80 00 00 */ li r4, 0 /* 801CF46C 001CB0CC 38 A0 00 00 */ li r5, 0 /* 801CF470 001CB0D0 7D 89 03 A6 */ mtctr r12 /* 801CF474 001CB0D4 3B DE 00 01 */ addi r30, r30, 1 /* 801CF478 001CB0D8 4E 80 04 21 */ bctrl /* 801CF47C 001CB0DC 7C 64 1B 78 */ mr r4, r3 /* 801CF480 001CB0E0 48 00 04 2C */ b lbl_801CF8AC lbl_801CF484: /* 801CF484 001CB0E4 3B E0 00 10 */ li r31, 0x10 /* 801CF488 001CB0E8 48 00 04 24 */ b lbl_801CF8AC lbl_801CF48C: /* 801CF48C 001CB0EC 38 00 00 0E */ li r0, 0xe /* 801CF490 001CB0F0 7C 17 00 40 */ cmplw r23, r0 /* 801CF494 001CB0F4 40 80 00 BC */ bge lbl_801CF550 /* 801CF498 001CB0F8 57 00 0F FE */ srwi r0, r24, 0x1f /* 801CF49C 001CB0FC 2C 04 00 00 */ cmpwi r4, 0 /* 801CF4A0 001CB100 7C 00 C2 14 */ add r0, r0, r24 /* 801CF4A4 001CB104 38 60 00 00 */ li r3, 0 /* 801CF4A8 001CB108 7C 00 0E 70 */ srawi r0, r0, 1 /* 801CF4AC 001CB10C 3A F7 00 01 */ addi r23, r23, 1 /* 801CF4B0 001CB110 7C 1A 00 AE */ lbzx r0, r26, r0 /* 801CF4B4 001CB114 41 80 00 0C */ blt lbl_801CF4C0 /* 801CF4B8 001CB118 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CF4BC 001CB11C 41 80 00 08 */ blt lbl_801CF4C4 lbl_801CF4C0: /* 801CF4C0 001CB120 38 60 00 01 */ li r3, 1 lbl_801CF4C4: /* 801CF4C4 001CB124 2C 03 00 00 */ cmpwi r3, 0 /* 801CF4C8 001CB128 41 82 00 08 */ beq lbl_801CF4D0 /* 801CF4CC 001CB12C 48 00 00 10 */ b lbl_801CF4DC lbl_801CF4D0: /* 801CF4D0 001CB130 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CF4D4 001CB134 80 63 00 0C */ lwz r3, 0xc(r3) /* 801CF4D8 001CB138 7C 83 20 AE */ lbzx r4, r3, r4 lbl_801CF4DC: /* 801CF4DC 001CB13C 2C 04 00 41 */ cmpwi r4, 0x41 /* 801CF4E0 001CB140 38 C4 FF D0 */ addi r6, r4, -48 /* 801CF4E4 001CB144 41 80 00 08 */ blt lbl_801CF4EC /* 801CF4E8 001CB148 38 C4 FF C9 */ addi r6, r4, -55 lbl_801CF4EC: /* 801CF4EC 001CB14C 57 05 0F FE */ srwi r5, r24, 0x1f /* 801CF4F0 001CB150 57 03 07 FE */ clrlwi r3, r24, 0x1f /* 801CF4F4 001CB154 7C 64 2A 78 */ xor r4, r3, r5 /* 801CF4F8 001CB158 54 C3 26 36 */ rlwinm r3, r6, 4, 0x18, 0x1b /* 801CF4FC 001CB15C 7C 85 20 51 */ subf. r4, r5, r4 /* 801CF500 001CB160 7C 03 1B 78 */ or r3, r0, r3 /* 801CF504 001CB164 54 C4 06 3E */ clrlwi r4, r6, 0x18 /* 801CF508 001CB168 54 65 06 3E */ clrlwi r5, r3, 0x18 /* 801CF50C 001CB16C 41 82 00 0C */ beq lbl_801CF518 /* 801CF510 001CB170 7C 00 23 78 */ or r0, r0, r4 /* 801CF514 001CB174 54 05 06 3E */ clrlwi r5, r0, 0x18 lbl_801CF518: /* 801CF518 001CB178 57 00 0F FE */ srwi r0, r24, 0x1f /* 801CF51C 001CB17C 7E 4C 93 78 */ mr r12, r18 /* 801CF520 001CB180 7C 00 C2 14 */ add r0, r0, r24 /* 801CF524 001CB184 7E 63 9B 78 */ mr r3, r19 /* 801CF528 001CB188 7C 00 0E 70 */ srawi r0, r0, 1 /* 801CF52C 001CB18C 38 80 00 00 */ li r4, 0 /* 801CF530 001CB190 7C BA 01 AE */ stbx r5, r26, r0 /* 801CF534 001CB194 38 A0 00 00 */ li r5, 0 /* 801CF538 001CB198 7D 89 03 A6 */ mtctr r12 /* 801CF53C 001CB19C 3B 18 00 01 */ addi r24, r24, 1 /* 801CF540 001CB1A0 3B DE 00 01 */ addi r30, r30, 1 /* 801CF544 001CB1A4 4E 80 04 21 */ bctrl /* 801CF548 001CB1A8 7C 64 1B 78 */ mr r4, r3 /* 801CF54C 001CB1AC 48 00 03 60 */ b lbl_801CF8AC lbl_801CF550: /* 801CF550 001CB1B0 7E 4C 93 78 */ mr r12, r18 /* 801CF554 001CB1B4 7E 63 9B 78 */ mr r3, r19 /* 801CF558 001CB1B8 38 80 00 00 */ li r4, 0 /* 801CF55C 001CB1BC 38 A0 00 00 */ li r5, 0 /* 801CF560 001CB1C0 7D 89 03 A6 */ mtctr r12 /* 801CF564 001CB1C4 3B DE 00 01 */ addi r30, r30, 1 /* 801CF568 001CB1C8 4E 80 04 21 */ bctrl /* 801CF56C 001CB1CC 7C 64 1B 78 */ mr r4, r3 /* 801CF570 001CB1D0 48 00 03 3C */ b lbl_801CF8AC lbl_801CF574: /* 801CF574 001CB1D4 2C 04 00 00 */ cmpwi r4, 0 /* 801CF578 001CB1D8 38 00 00 00 */ li r0, 0 /* 801CF57C 001CB1DC 41 80 00 0C */ blt lbl_801CF588 /* 801CF580 001CB1E0 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CF584 001CB1E4 41 80 00 08 */ blt lbl_801CF58C lbl_801CF588: /* 801CF588 001CB1E8 38 00 00 01 */ li r0, 1 lbl_801CF58C: /* 801CF58C 001CB1EC 2C 00 00 00 */ cmpwi r0, 0 /* 801CF590 001CB1F0 41 82 00 0C */ beq lbl_801CF59C /* 801CF594 001CB1F4 38 00 00 00 */ li r0, 0 /* 801CF598 001CB1F8 48 00 00 18 */ b lbl_801CF5B0 lbl_801CF59C: /* 801CF59C 001CB1FC 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CF5A0 001CB200 54 80 08 3C */ slwi r0, r4, 1 /* 801CF5A4 001CB204 80 63 00 08 */ lwz r3, 8(r3) /* 801CF5A8 001CB208 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CF5AC 001CB20C 54 00 05 6A */ rlwinm r0, r0, 0, 0x15, 0x15 lbl_801CF5B0: /* 801CF5B0 001CB210 2C 00 00 00 */ cmpwi r0, 0 /* 801CF5B4 001CB214 40 82 00 0C */ bne lbl_801CF5C0 /* 801CF5B8 001CB218 3B E0 00 10 */ li r31, 0x10 /* 801CF5BC 001CB21C 48 00 02 F0 */ b lbl_801CF8AC lbl_801CF5C0: /* 801CF5C0 001CB220 38 00 00 0E */ li r0, 0xe /* 801CF5C4 001CB224 7C 17 00 40 */ cmplw r23, r0 /* 801CF5C8 001CB228 40 80 00 B8 */ bge lbl_801CF680 /* 801CF5CC 001CB22C 57 00 0F FE */ srwi r0, r24, 0x1f /* 801CF5D0 001CB230 2C 04 00 00 */ cmpwi r4, 0 /* 801CF5D4 001CB234 7C 00 C2 14 */ add r0, r0, r24 /* 801CF5D8 001CB238 38 60 00 00 */ li r3, 0 /* 801CF5DC 001CB23C 7C 00 0E 70 */ srawi r0, r0, 1 /* 801CF5E0 001CB240 7C 1A 00 AE */ lbzx r0, r26, r0 /* 801CF5E4 001CB244 41 80 00 0C */ blt lbl_801CF5F0 /* 801CF5E8 001CB248 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CF5EC 001CB24C 41 80 00 08 */ blt lbl_801CF5F4 lbl_801CF5F0: /* 801CF5F0 001CB250 38 60 00 01 */ li r3, 1 lbl_801CF5F4: /* 801CF5F4 001CB254 2C 03 00 00 */ cmpwi r3, 0 /* 801CF5F8 001CB258 41 82 00 08 */ beq lbl_801CF600 /* 801CF5FC 001CB25C 48 00 00 10 */ b lbl_801CF60C lbl_801CF600: /* 801CF600 001CB260 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CF604 001CB264 80 63 00 0C */ lwz r3, 0xc(r3) /* 801CF608 001CB268 7C 83 20 AE */ lbzx r4, r3, r4 lbl_801CF60C: /* 801CF60C 001CB26C 2C 04 00 41 */ cmpwi r4, 0x41 /* 801CF610 001CB270 38 C4 FF D0 */ addi r6, r4, -48 /* 801CF614 001CB274 41 80 00 08 */ blt lbl_801CF61C /* 801CF618 001CB278 38 C4 FF C9 */ addi r6, r4, -55 lbl_801CF61C: /* 801CF61C 001CB27C 57 05 0F FE */ srwi r5, r24, 0x1f /* 801CF620 001CB280 57 03 07 FE */ clrlwi r3, r24, 0x1f /* 801CF624 001CB284 7C 64 2A 78 */ xor r4, r3, r5 /* 801CF628 001CB288 54 C3 26 36 */ rlwinm r3, r6, 4, 0x18, 0x1b /* 801CF62C 001CB28C 7C 85 20 51 */ subf. r4, r5, r4 /* 801CF630 001CB290 7C 03 1B 78 */ or r3, r0, r3 /* 801CF634 001CB294 54 C4 06 3E */ clrlwi r4, r6, 0x18 /* 801CF638 001CB298 54 65 06 3E */ clrlwi r5, r3, 0x18 /* 801CF63C 001CB29C 41 82 00 0C */ beq lbl_801CF648 /* 801CF640 001CB2A0 7C 00 23 78 */ or r0, r0, r4 /* 801CF644 001CB2A4 54 05 06 3E */ clrlwi r5, r0, 0x18 lbl_801CF648: /* 801CF648 001CB2A8 57 00 0F FE */ srwi r0, r24, 0x1f /* 801CF64C 001CB2AC 7E 4C 93 78 */ mr r12, r18 /* 801CF650 001CB2B0 7C 00 C2 14 */ add r0, r0, r24 /* 801CF654 001CB2B4 7E 63 9B 78 */ mr r3, r19 /* 801CF658 001CB2B8 7C 00 0E 70 */ srawi r0, r0, 1 /* 801CF65C 001CB2BC 38 80 00 00 */ li r4, 0 /* 801CF660 001CB2C0 7C BA 01 AE */ stbx r5, r26, r0 /* 801CF664 001CB2C4 38 A0 00 00 */ li r5, 0 /* 801CF668 001CB2C8 7D 89 03 A6 */ mtctr r12 /* 801CF66C 001CB2CC 3B 18 00 01 */ addi r24, r24, 1 /* 801CF670 001CB2D0 3B DE 00 01 */ addi r30, r30, 1 /* 801CF674 001CB2D4 4E 80 04 21 */ bctrl /* 801CF678 001CB2D8 7C 64 1B 78 */ mr r4, r3 /* 801CF67C 001CB2DC 48 00 02 30 */ b lbl_801CF8AC lbl_801CF680: /* 801CF680 001CB2E0 7E 4C 93 78 */ mr r12, r18 /* 801CF684 001CB2E4 7E 63 9B 78 */ mr r3, r19 /* 801CF688 001CB2E8 38 80 00 00 */ li r4, 0 /* 801CF68C 001CB2EC 38 A0 00 00 */ li r5, 0 /* 801CF690 001CB2F0 7D 89 03 A6 */ mtctr r12 /* 801CF694 001CB2F4 3B DE 00 01 */ addi r30, r30, 1 /* 801CF698 001CB2F8 4E 80 04 21 */ bctrl /* 801CF69C 001CB2FC 7C 64 1B 78 */ mr r4, r3 /* 801CF6A0 001CB300 48 00 02 0C */ b lbl_801CF8AC lbl_801CF6A4: /* 801CF6A4 001CB304 2C 04 00 00 */ cmpwi r4, 0 /* 801CF6A8 001CB308 38 00 00 00 */ li r0, 0 /* 801CF6AC 001CB30C 41 80 00 0C */ blt lbl_801CF6B8 /* 801CF6B0 001CB310 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CF6B4 001CB314 41 80 00 08 */ blt lbl_801CF6BC lbl_801CF6B8: /* 801CF6B8 001CB318 38 00 00 01 */ li r0, 1 lbl_801CF6BC: /* 801CF6BC 001CB31C 2C 00 00 00 */ cmpwi r0, 0 /* 801CF6C0 001CB320 41 82 00 0C */ beq lbl_801CF6CC /* 801CF6C4 001CB324 7C 80 23 78 */ mr r0, r4 /* 801CF6C8 001CB328 48 00 00 10 */ b lbl_801CF6D8 lbl_801CF6CC: /* 801CF6CC 001CB32C 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CF6D0 001CB330 80 63 00 0C */ lwz r3, 0xc(r3) /* 801CF6D4 001CB334 7C 03 20 AE */ lbzx r0, r3, r4 lbl_801CF6D8: /* 801CF6D8 001CB338 2C 00 00 50 */ cmpwi r0, 0x50 /* 801CF6DC 001CB33C 40 82 00 2C */ bne lbl_801CF708 /* 801CF6E0 001CB340 7E 4C 93 78 */ mr r12, r18 /* 801CF6E4 001CB344 7E 63 9B 78 */ mr r3, r19 /* 801CF6E8 001CB348 3B E0 00 20 */ li r31, 0x20 /* 801CF6EC 001CB34C 38 80 00 00 */ li r4, 0 /* 801CF6F0 001CB350 38 A0 00 00 */ li r5, 0 /* 801CF6F4 001CB354 7D 89 03 A6 */ mtctr r12 /* 801CF6F8 001CB358 3B DE 00 01 */ addi r30, r30, 1 /* 801CF6FC 001CB35C 4E 80 04 21 */ bctrl /* 801CF700 001CB360 7C 64 1B 78 */ mr r4, r3 /* 801CF704 001CB364 48 00 01 A8 */ b lbl_801CF8AC lbl_801CF708: /* 801CF708 001CB368 3A 20 08 00 */ li r17, 0x800 /* 801CF70C 001CB36C 48 00 01 A0 */ b lbl_801CF8AC lbl_801CF710: /* 801CF710 001CB370 2C 04 00 2D */ cmpwi r4, 0x2d /* 801CF714 001CB374 40 82 00 10 */ bne lbl_801CF724 /* 801CF718 001CB378 38 00 00 01 */ li r0, 1 /* 801CF71C 001CB37C 90 01 00 84 */ stw r0, 0x84(r1) /* 801CF720 001CB380 48 00 00 24 */ b lbl_801CF744 lbl_801CF724: /* 801CF724 001CB384 2C 04 00 2B */ cmpwi r4, 0x2b /* 801CF728 001CB388 41 82 00 1C */ beq lbl_801CF744 /* 801CF72C 001CB38C 7E 4C 93 78 */ mr r12, r18 /* 801CF730 001CB390 7E 63 9B 78 */ mr r3, r19 /* 801CF734 001CB394 38 A0 00 01 */ li r5, 1 /* 801CF738 001CB398 7D 89 03 A6 */ mtctr r12 /* 801CF73C 001CB39C 4E 80 04 21 */ bctrl /* 801CF740 001CB3A0 3B DE FF FF */ addi r30, r30, -1 lbl_801CF744: /* 801CF744 001CB3A4 7E 4C 93 78 */ mr r12, r18 /* 801CF748 001CB3A8 7E 63 9B 78 */ mr r3, r19 /* 801CF74C 001CB3AC 3B E0 00 40 */ li r31, 0x40 /* 801CF750 001CB3B0 38 80 00 00 */ li r4, 0 /* 801CF754 001CB3B4 38 A0 00 00 */ li r5, 0 /* 801CF758 001CB3B8 7D 89 03 A6 */ mtctr r12 /* 801CF75C 001CB3BC 3B DE 00 01 */ addi r30, r30, 1 /* 801CF760 001CB3C0 4E 80 04 21 */ bctrl /* 801CF764 001CB3C4 7C 64 1B 78 */ mr r4, r3 /* 801CF768 001CB3C8 48 00 01 44 */ b lbl_801CF8AC lbl_801CF76C: /* 801CF76C 001CB3CC 2C 04 00 00 */ cmpwi r4, 0 /* 801CF770 001CB3D0 38 00 00 00 */ li r0, 0 /* 801CF774 001CB3D4 41 80 00 0C */ blt lbl_801CF780 /* 801CF778 001CB3D8 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CF77C 001CB3DC 41 80 00 08 */ blt lbl_801CF784 lbl_801CF780: /* 801CF780 001CB3E0 38 00 00 01 */ li r0, 1 lbl_801CF784: /* 801CF784 001CB3E4 2C 00 00 00 */ cmpwi r0, 0 /* 801CF788 001CB3E8 41 82 00 0C */ beq lbl_801CF794 /* 801CF78C 001CB3EC 38 00 00 00 */ li r0, 0 /* 801CF790 001CB3F0 48 00 00 18 */ b lbl_801CF7A8 lbl_801CF794: /* 801CF794 001CB3F4 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CF798 001CB3F8 54 80 08 3C */ slwi r0, r4, 1 /* 801CF79C 001CB3FC 80 63 00 08 */ lwz r3, 8(r3) /* 801CF7A0 001CB400 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CF7A4 001CB404 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c lbl_801CF7A8: /* 801CF7A8 001CB408 2C 00 00 00 */ cmpwi r0, 0 /* 801CF7AC 001CB40C 40 82 00 0C */ bne lbl_801CF7B8 /* 801CF7B0 001CB410 3A 20 10 00 */ li r17, 0x1000 /* 801CF7B4 001CB414 48 00 00 F8 */ b lbl_801CF8AC lbl_801CF7B8: /* 801CF7B8 001CB418 2C 04 00 30 */ cmpwi r4, 0x30 /* 801CF7BC 001CB41C 40 82 00 2C */ bne lbl_801CF7E8 /* 801CF7C0 001CB420 7E 4C 93 78 */ mr r12, r18 /* 801CF7C4 001CB424 7E 63 9B 78 */ mr r3, r19 /* 801CF7C8 001CB428 3B E0 00 80 */ li r31, 0x80 /* 801CF7CC 001CB42C 38 80 00 00 */ li r4, 0 /* 801CF7D0 001CB430 38 A0 00 00 */ li r5, 0 /* 801CF7D4 001CB434 7D 89 03 A6 */ mtctr r12 /* 801CF7D8 001CB438 3B DE 00 01 */ addi r30, r30, 1 /* 801CF7DC 001CB43C 4E 80 04 21 */ bctrl /* 801CF7E0 001CB440 7C 64 1B 78 */ mr r4, r3 /* 801CF7E4 001CB444 48 00 00 C8 */ b lbl_801CF8AC lbl_801CF7E8: /* 801CF7E8 001CB448 3B E0 01 00 */ li r31, 0x100 /* 801CF7EC 001CB44C 48 00 00 C0 */ b lbl_801CF8AC lbl_801CF7F0: /* 801CF7F0 001CB450 2C 04 00 30 */ cmpwi r4, 0x30 /* 801CF7F4 001CB454 40 82 00 28 */ bne lbl_801CF81C /* 801CF7F8 001CB458 7E 4C 93 78 */ mr r12, r18 /* 801CF7FC 001CB45C 7E 63 9B 78 */ mr r3, r19 /* 801CF800 001CB460 38 80 00 00 */ li r4, 0 /* 801CF804 001CB464 38 A0 00 00 */ li r5, 0 /* 801CF808 001CB468 7D 89 03 A6 */ mtctr r12 /* 801CF80C 001CB46C 3B DE 00 01 */ addi r30, r30, 1 /* 801CF810 001CB470 4E 80 04 21 */ bctrl /* 801CF814 001CB474 7C 64 1B 78 */ mr r4, r3 /* 801CF818 001CB478 48 00 00 94 */ b lbl_801CF8AC lbl_801CF81C: /* 801CF81C 001CB47C 3B E0 01 00 */ li r31, 0x100 /* 801CF820 001CB480 48 00 00 8C */ b lbl_801CF8AC lbl_801CF824: /* 801CF824 001CB484 2C 04 00 00 */ cmpwi r4, 0 /* 801CF828 001CB488 38 00 00 00 */ li r0, 0 /* 801CF82C 001CB48C 41 80 00 0C */ blt lbl_801CF838 /* 801CF830 001CB490 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CF834 001CB494 41 80 00 08 */ blt lbl_801CF83C lbl_801CF838: /* 801CF838 001CB498 38 00 00 01 */ li r0, 1 lbl_801CF83C: /* 801CF83C 001CB49C 2C 00 00 00 */ cmpwi r0, 0 /* 801CF840 001CB4A0 41 82 00 0C */ beq lbl_801CF84C /* 801CF844 001CB4A4 38 00 00 00 */ li r0, 0 /* 801CF848 001CB4A8 48 00 00 18 */ b lbl_801CF860 lbl_801CF84C: /* 801CF84C 001CB4AC 80 70 00 38 */ lwz r3, 0x38(r16) /* 801CF850 001CB4B0 54 80 08 3C */ slwi r0, r4, 1 /* 801CF854 001CB4B4 80 63 00 08 */ lwz r3, 8(r3) /* 801CF858 001CB4B8 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CF85C 001CB4BC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c lbl_801CF860: /* 801CF860 001CB4C0 2C 00 00 00 */ cmpwi r0, 0 /* 801CF864 001CB4C4 40 82 00 0C */ bne lbl_801CF870 /* 801CF868 001CB4C8 3A 20 08 00 */ li r17, 0x800 /* 801CF86C 001CB4CC 48 00 00 40 */ b lbl_801CF8AC lbl_801CF870: /* 801CF870 001CB4D0 1C 19 00 0A */ mulli r0, r25, 0xa /* 801CF874 001CB4D4 2C 1D 7F FF */ cmpwi r29, 0x7fff /* 801CF878 001CB4D8 7C 64 02 14 */ add r3, r4, r0 /* 801CF87C 001CB4DC 3B 23 FF D0 */ addi r25, r3, -48 /* 801CF880 001CB4E0 40 81 00 0C */ ble lbl_801CF88C /* 801CF884 001CB4E4 38 00 00 01 */ li r0, 1 /* 801CF888 001CB4E8 90 14 00 00 */ stw r0, 0(r20) lbl_801CF88C: /* 801CF88C 001CB4EC 7E 4C 93 78 */ mr r12, r18 /* 801CF890 001CB4F0 7E 63 9B 78 */ mr r3, r19 /* 801CF894 001CB4F4 38 80 00 00 */ li r4, 0 /* 801CF898 001CB4F8 38 A0 00 00 */ li r5, 0 /* 801CF89C 001CB4FC 7D 89 03 A6 */ mtctr r12 /* 801CF8A0 001CB500 3B DE 00 01 */ addi r30, r30, 1 /* 801CF8A4 001CB504 4E 80 04 21 */ bctrl /* 801CF8A8 001CB508 7C 64 1B 78 */ mr r4, r3 lbl_801CF8AC: /* 801CF8AC 001CB50C 80 01 00 08 */ lwz r0, 8(r1) /* 801CF8B0 001CB510 7C 1E 00 00 */ cmpw r30, r0 /* 801CF8B4 001CB514 41 81 00 14 */ bgt lbl_801CF8C8 /* 801CF8B8 001CB518 2C 04 FF FF */ cmpwi r4, -1 /* 801CF8BC 001CB51C 41 82 00 0C */ beq lbl_801CF8C8 /* 801CF8C0 001CB520 56 20 04 E9 */ rlwinm. r0, r17, 0, 0x13, 0x14 /* 801CF8C4 001CB524 41 82 F0 1C */ beq lbl_801CE8E0 lbl_801CF8C8: /* 801CF8C8 001CB528 3C 11 00 00 */ addis r0, r17, 0 /* 801CF8CC 001CB52C 28 00 80 00 */ cmplwi r0, 0x8000 /* 801CF8D0 001CB530 41 82 00 14 */ beq lbl_801CF8E4 /* 801CF8D4 001CB534 72 20 0E 2C */ andi. r0, r17, 0xe2c /* 801CF8D8 001CB538 7C 00 00 34 */ cntlzw r0, r0 /* 801CF8DC 001CB53C 54 03 D9 7E */ srwi r3, r0, 5 /* 801CF8E0 001CB540 48 00 00 20 */ b lbl_801CF900 lbl_801CF8E4: /* 801CF8E4 001CB544 38 1E FF FF */ addi r0, r30, -1 /* 801CF8E8 001CB548 38 60 00 00 */ li r3, 0 /* 801CF8EC 001CB54C 2C 00 00 02 */ cmpwi r0, 2 /* 801CF8F0 001CB550 40 81 00 0C */ ble lbl_801CF8FC /* 801CF8F4 001CB554 73 E0 01 8E */ andi. r0, r31, 0x18e /* 801CF8F8 001CB558 40 82 00 08 */ bne lbl_801CF900 lbl_801CF8FC: /* 801CF8FC 001CB55C 38 60 00 01 */ li r3, 1 lbl_801CF900: /* 801CF900 001CB560 2C 03 00 00 */ cmpwi r3, 0 /* 801CF904 001CB564 41 82 00 14 */ beq lbl_801CF918 /* 801CF908 001CB568 80 61 00 0C */ lwz r3, 0xc(r1) /* 801CF90C 001CB56C 38 00 00 00 */ li r0, 0 /* 801CF910 001CB570 90 03 00 00 */ stw r0, 0(r3) /* 801CF914 001CB574 48 00 00 14 */ b lbl_801CF928 lbl_801CF918: /* 801CF918 001CB578 7C 7E 72 14 */ add r3, r30, r14 /* 801CF91C 001CB57C 38 03 FF FF */ addi r0, r3, -1 /* 801CF920 001CB580 80 61 00 0C */ lwz r3, 0xc(r1) /* 801CF924 001CB584 90 03 00 00 */ stw r0, 0(r3) lbl_801CF928: /* 801CF928 001CB588 7E 4C 93 78 */ mr r12, r18 /* 801CF92C 001CB58C 7E 63 9B 78 */ mr r3, r19 /* 801CF930 001CB590 38 A0 00 01 */ li r5, 1 /* 801CF934 001CB594 7D 89 03 A6 */ mtctr r12 /* 801CF938 001CB598 4E 80 04 21 */ bctrl /* 801CF93C 001CB59C 2C 1F 00 00 */ cmpwi r31, 0 /* 801CF940 001CB5A0 40 82 01 30 */ bne lbl_801CFA70 /* 801CF944 001CB5A4 80 01 00 8C */ lwz r0, 0x8c(r1) /* 801CF948 001CB5A8 2C 00 00 00 */ cmpwi r0, 0 /* 801CF94C 001CB5AC 41 82 00 08 */ beq lbl_801CF954 /* 801CF950 001CB5B0 7F BD 00 D0 */ neg r29, r29 lbl_801CF954: /* 801CF954 001CB5B4 88 61 00 5C */ lbz r3, 0x5c(r1) /* 801CF958 001CB5B8 38 81 00 5D */ addi r4, r1, 0x5d /* 801CF95C 001CB5BC 7C 84 1A 14 */ add r4, r4, r3 /* 801CF960 001CB5C0 48 00 00 08 */ b lbl_801CF968 lbl_801CF964: /* 801CF964 001CB5C4 3B 9C 00 01 */ addi r28, r28, 1 lbl_801CF968: /* 801CF968 001CB5C8 2C 03 00 00 */ cmpwi r3, 0 /* 801CF96C 001CB5CC 38 63 FF FF */ addi r3, r3, -1 /* 801CF970 001CB5D0 41 82 00 10 */ beq lbl_801CF980 /* 801CF974 001CB5D4 8C 04 FF FF */ lbzu r0, -1(r4) /* 801CF978 001CB5D8 28 00 00 30 */ cmplwi r0, 0x30 /* 801CF97C 001CB5DC 41 82 FF E8 */ beq lbl_801CF964 lbl_801CF980: /* 801CF980 001CB5E0 38 03 00 01 */ addi r0, r3, 1 /* 801CF984 001CB5E4 54 04 06 3F */ clrlwi. r4, r0, 0x18 /* 801CF988 001CB5E8 98 01 00 5C */ stb r0, 0x5c(r1) /* 801CF98C 001CB5EC 40 82 00 18 */ bne lbl_801CF9A4 /* 801CF990 001CB5F0 38 61 00 5D */ addi r3, r1, 0x5d /* 801CF994 001CB5F4 38 00 00 30 */ li r0, 0x30 /* 801CF998 001CB5F8 7C 03 21 AE */ stbx r0, r3, r4 /* 801CF99C 001CB5FC 38 04 00 01 */ addi r0, r4, 1 /* 801CF9A0 001CB600 98 01 00 5C */ stb r0, 0x5c(r1) lbl_801CF9A4: /* 801CF9A4 001CB604 7F BD E2 14 */ add r29, r29, r28 /* 801CF9A8 001CB608 2C 1D 80 00 */ cmpwi r29, -32768 /* 801CF9AC 001CB60C 41 80 00 0C */ blt lbl_801CF9B8 /* 801CF9B0 001CB610 2C 1D 7F FF */ cmpwi r29, 0x7fff /* 801CF9B4 001CB614 40 81 00 0C */ ble lbl_801CF9C0 lbl_801CF9B8: /* 801CF9B8 001CB618 38 00 00 01 */ li r0, 1 /* 801CF9BC 001CB61C 90 14 00 00 */ stw r0, 0(r20) lbl_801CF9C0: /* 801CF9C0 001CB620 80 14 00 00 */ lwz r0, 0(r20) /* 801CF9C4 001CB624 2C 00 00 00 */ cmpwi r0, 0 /* 801CF9C8 001CB628 41 82 00 40 */ beq lbl_801CFA08 /* 801CF9CC 001CB62C 80 01 00 8C */ lwz r0, 0x8c(r1) /* 801CF9D0 001CB630 2C 00 00 00 */ cmpwi r0, 0 /* 801CF9D4 001CB634 41 82 00 0C */ beq lbl_801CF9E0 /* 801CF9D8 001CB638 C8 22 91 60 */ lfd f1, lbl_80641760-_SDA2_BASE_(r2) /* 801CF9DC 001CB63C 48 00 02 0C */ b lbl_801CFBE8 lbl_801CF9E0: /* 801CF9E0 001CB640 80 01 00 90 */ lwz r0, 0x90(r1) /* 801CF9E4 001CB644 2C 00 00 00 */ cmpwi r0, 0 /* 801CF9E8 001CB648 41 82 00 14 */ beq lbl_801CF9FC /* 801CF9EC 001CB64C 3C 60 80 64 */ lis r3, lbl_8063D6C0@ha /* 801CF9F0 001CB650 C8 03 D6 C0 */ lfd f0, lbl_8063D6C0@l(r3) /* 801CF9F4 001CB654 FC 20 00 50 */ fneg f1, f0 /* 801CF9F8 001CB658 48 00 01 F0 */ b lbl_801CFBE8 lbl_801CF9FC: /* 801CF9FC 001CB65C 3C 60 80 64 */ lis r3, lbl_8063D6C0@ha /* 801CFA00 001CB660 C8 23 D6 C0 */ lfd f1, lbl_8063D6C0@l(r3) /* 801CFA04 001CB664 48 00 01 E4 */ b lbl_801CFBE8 lbl_801CFA08: /* 801CFA08 001CB668 B3 A1 00 5A */ sth r29, 0x5a(r1) /* 801CFA0C 001CB66C 38 61 00 58 */ addi r3, r1, 0x58 /* 801CFA10 001CB670 4B FF 91 D9 */ bl func_801C8BE8 /* 801CFA14 001CB674 C8 02 91 60 */ lfd f0, lbl_80641760-_SDA2_BASE_(r2) /* 801CFA18 001CB678 FC 00 08 00 */ fcmpu cr0, f0, f1 /* 801CFA1C 001CB67C 41 82 00 1C */ beq lbl_801CFA38 /* 801CFA20 001CB680 C8 02 91 68 */ lfd f0, lbl_80641768-_SDA2_BASE_(r2) /* 801CFA24 001CB684 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801CFA28 001CB688 40 80 00 10 */ bge lbl_801CFA38 /* 801CFA2C 001CB68C 38 00 00 01 */ li r0, 1 /* 801CFA30 001CB690 90 14 00 00 */ stw r0, 0(r20) /* 801CFA34 001CB694 48 00 00 20 */ b lbl_801CFA54 lbl_801CFA38: /* 801CFA38 001CB698 C8 02 91 70 */ lfd f0, lbl_80641770-_SDA2_BASE_(r2) /* 801CFA3C 001CB69C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801CFA40 001CB6A0 40 81 00 14 */ ble lbl_801CFA54 /* 801CFA44 001CB6A4 38 00 00 01 */ li r0, 1 /* 801CFA48 001CB6A8 3C 60 80 64 */ lis r3, lbl_8063D6C0@ha /* 801CFA4C 001CB6AC 90 14 00 00 */ stw r0, 0(r20) /* 801CFA50 001CB6B0 C8 23 D6 C0 */ lfd f1, lbl_8063D6C0@l(r3) lbl_801CFA54: /* 801CFA54 001CB6B4 80 01 00 90 */ lwz r0, 0x90(r1) /* 801CFA58 001CB6B8 2C 00 00 00 */ cmpwi r0, 0 /* 801CFA5C 001CB6BC 41 82 01 8C */ beq lbl_801CFBE8 /* 801CFA60 001CB6C0 72 20 0E 2C */ andi. r0, r17, 0xe2c /* 801CFA64 001CB6C4 41 82 01 84 */ beq lbl_801CFBE8 /* 801CFA68 001CB6C8 FC 20 08 50 */ fneg f1, f1 /* 801CFA6C 001CB6CC 48 00 01 7C */ b lbl_801CFBE8 lbl_801CFA70: /* 801CFA70 001CB6D0 80 01 00 84 */ lwz r0, 0x84(r1) /* 801CFA74 001CB6D4 38 61 00 10 */ addi r3, r1, 0x10 /* 801CFA78 001CB6D8 2C 00 00 00 */ cmpwi r0, 0 /* 801CFA7C 001CB6DC 41 82 00 08 */ beq lbl_801CFA84 /* 801CFA80 001CB6E0 7F 39 00 D0 */ neg r25, r25 lbl_801CFA84: /* 801CFA84 001CB6E4 56 E0 10 3A */ slwi r0, r23, 2 /* 801CFA88 001CB6E8 88 A1 00 20 */ lbz r5, 0x20(r1) /* 801CFA8C 001CB6EC 7F 39 02 14 */ add r25, r25, r0 /* 801CFA90 001CB6F0 38 C0 00 00 */ li r6, 0 /* 801CFA94 001CB6F4 38 80 00 80 */ li r4, 0x80 /* 801CFA98 001CB6F8 48 00 00 0C */ b lbl_801CFAA4 lbl_801CFA9C: /* 801CFA9C 001CB6FC 38 C6 00 01 */ addi r6, r6, 1 /* 801CFAA0 001CB700 3B 39 FF FF */ addi r25, r25, -1 lbl_801CFAA4: /* 801CFAA4 001CB704 28 06 00 04 */ cmplwi r6, 4 /* 801CFAA8 001CB708 40 80 00 10 */ bge lbl_801CFAB8 /* 801CFAAC 001CB70C 7C 80 36 30 */ sraw r0, r4, r6 /* 801CFAB0 001CB710 7C A0 00 39 */ and. r0, r5, r0 /* 801CFAB4 001CB714 41 82 FF E8 */ beq lbl_801CFA9C lbl_801CFAB8: /* 801CFAB8 001CB718 34 A6 00 01 */ addic. r5, r6, 1 /* 801CFABC 001CB71C 41 82 00 4C */ beq lbl_801CFB08 /* 801CFAC0 001CB720 3B 41 00 27 */ addi r26, r1, 0x27 /* 801CFAC4 001CB724 38 81 00 20 */ addi r4, r1, 0x20 /* 801CFAC8 001CB728 7C 1A 20 40 */ cmplw r26, r4 /* 801CFACC 001CB72C 38 E0 00 00 */ li r7, 0 /* 801CFAD0 001CB730 41 80 00 38 */ blt lbl_801CFB08 /* 801CFAD4 001CB734 38 1A 00 01 */ addi r0, r26, 1 /* 801CFAD8 001CB738 20 C5 00 08 */ subfic r6, r5, 8 /* 801CFADC 001CB73C 7C 04 00 50 */ subf r0, r4, r0 /* 801CFAE0 001CB740 7C 09 03 A6 */ mtctr r0 /* 801CFAE4 001CB744 41 80 00 24 */ blt lbl_801CFB08 lbl_801CFAE8: /* 801CFAE8 001CB748 88 1A 00 00 */ lbz r0, 0(r26) /* 801CFAEC 001CB74C 7C 04 28 30 */ slw r4, r0, r5 /* 801CFAF0 001CB750 7C 00 36 30 */ sraw r0, r0, r6 /* 801CFAF4 001CB754 7C E4 23 78 */ or r4, r7, r4 /* 801CFAF8 001CB758 98 9A 00 00 */ stb r4, 0(r26) /* 801CFAFC 001CB75C 54 07 06 3E */ clrlwi r7, r0, 0x18 /* 801CFB00 001CB760 3B 5A FF FF */ addi r26, r26, -1 /* 801CFB04 001CB764 42 00 FF E4 */ bdnz lbl_801CFAE8 lbl_801CFB08: /* 801CFB08 001CB768 38 80 00 00 */ li r4, 0 /* 801CFB0C 001CB76C 38 A0 00 08 */ li r5, 8 /* 801CFB10 001CB770 4B E3 45 F5 */ bl memset /* 801CFB14 001CB774 38 00 00 07 */ li r0, 7 /* 801CFB18 001CB778 38 81 00 20 */ addi r4, r1, 0x20 /* 801CFB1C 001CB77C 38 61 00 11 */ addi r3, r1, 0x11 /* 801CFB20 001CB780 39 00 00 00 */ li r8, 0 /* 801CFB24 001CB784 38 E0 00 FF */ li r7, 0xff /* 801CFB28 001CB788 7C 09 03 A6 */ mtctr r0 lbl_801CFB2C: /* 801CFB2C 001CB78C 38 08 00 08 */ addi r0, r8, 8 /* 801CFB30 001CB790 89 24 00 00 */ lbz r9, 0(r4) /* 801CFB34 001CB794 28 00 00 34 */ cmplwi r0, 0x34 /* 801CFB38 001CB798 38 A8 00 0C */ addi r5, r8, 0xc /* 801CFB3C 001CB79C 40 81 00 14 */ ble lbl_801CFB50 /* 801CFB40 001CB7A0 20 08 00 34 */ subfic r0, r8, 0x34 /* 801CFB44 001CB7A4 7C E0 00 30 */ slw r0, r7, r0 /* 801CFB48 001CB7A8 7D 20 00 38 */ and r0, r9, r0 /* 801CFB4C 001CB7AC 54 09 06 3E */ clrlwi r9, r0, 0x18 lbl_801CFB50: /* 801CFB50 001CB7B0 54 AA 07 7E */ clrlwi r10, r5, 0x1d /* 801CFB54 001CB7B4 88 C3 00 00 */ lbz r6, 0(r3) /* 801CFB58 001CB7B8 7D 20 56 30 */ sraw r0, r9, r10 /* 801CFB5C 001CB7BC 38 84 00 01 */ addi r4, r4, 1 /* 801CFB60 001CB7C0 54 05 06 3E */ clrlwi r5, r0, 0x18 /* 801CFB64 001CB7C4 39 08 00 08 */ addi r8, r8, 8 /* 801CFB68 001CB7C8 7C C5 2B 78 */ or r5, r6, r5 /* 801CFB6C 001CB7CC 20 0A 00 08 */ subfic r0, r10, 8 /* 801CFB70 001CB7D0 98 A3 00 00 */ stb r5, 0(r3) /* 801CFB74 001CB7D4 7D 20 00 30 */ slw r0, r9, r0 /* 801CFB78 001CB7D8 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 801CFB7C 001CB7DC 8C A3 00 01 */ lbzu r5, 1(r3) /* 801CFB80 001CB7E0 7C A0 03 78 */ or r0, r5, r0 /* 801CFB84 001CB7E4 98 03 00 00 */ stb r0, 0(r3) /* 801CFB88 001CB7E8 42 00 FF A4 */ bdnz lbl_801CFB2C /* 801CFB8C 001CB7EC 3B 39 03 FE */ addi r25, r25, 0x3fe /* 801CFB90 001CB7F0 57 20 00 29 */ rlwinm. r0, r25, 0, 0, 0x14 /* 801CFB94 001CB7F4 41 82 00 14 */ beq lbl_801CFBA8 /* 801CFB98 001CB7F8 38 00 00 01 */ li r0, 1 /* 801CFB9C 001CB7FC C8 22 91 60 */ lfd f1, lbl_80641760-_SDA2_BASE_(r2) /* 801CFBA0 001CB800 90 14 00 00 */ stw r0, 0(r20) /* 801CFBA4 001CB804 48 00 00 44 */ b lbl_801CFBE8 lbl_801CFBA8: /* 801CFBA8 001CB808 57 39 A8 14 */ slwi r25, r25, 0x15 /* 801CFBAC 001CB80C 80 01 00 90 */ lwz r0, 0x90(r1) /* 801CFBB0 001CB810 88 C1 00 10 */ lbz r6, 0x10(r1) /* 801CFBB4 001CB814 57 25 3E 7E */ srwi r5, r25, 0x19 /* 801CFBB8 001CB818 88 81 00 11 */ lbz r4, 0x11(r1) /* 801CFBBC 001CB81C 57 23 7C 7E */ srwi r3, r25, 0x11 /* 801CFBC0 001CB820 2C 00 00 00 */ cmpwi r0, 0 /* 801CFBC4 001CB824 7C C5 2B 78 */ or r5, r6, r5 /* 801CFBC8 001CB828 7C 80 1B 78 */ or r0, r4, r3 /* 801CFBCC 001CB82C 98 A1 00 10 */ stb r5, 0x10(r1) /* 801CFBD0 001CB830 98 01 00 11 */ stb r0, 0x11(r1) /* 801CFBD4 001CB834 41 82 00 10 */ beq lbl_801CFBE4 /* 801CFBD8 001CB838 54 A0 06 3E */ clrlwi r0, r5, 0x18 /* 801CFBDC 001CB83C 60 00 00 80 */ ori r0, r0, 0x80 /* 801CFBE0 001CB840 98 01 00 10 */ stb r0, 0x10(r1) lbl_801CFBE4: /* 801CFBE4 001CB844 C8 21 00 10 */ lfd f1, 0x10(r1) lbl_801CFBE8: /* 801CFBE8 001CB848 39 61 00 E0 */ addi r11, r1, 0xe0 /* 801CFBEC 001CB84C 4B FF 75 55 */ bl __restore_gpr /* 801CFBF0 001CB850 80 01 00 E4 */ lwz r0, 0xe4(r1) /* 801CFBF4 001CB854 7C 08 03 A6 */ mtlr r0 /* 801CFBF8 001CB858 38 21 00 E0 */ addi r1, r1, 0xe0 /* 801CFBFC 001CB85C 4E 80 00 20 */ blr .global func_801CFC00 func_801CFC00: /* 801CFC00 001CB860 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801CFC04 001CB864 7C 08 02 A6 */ mflr r0 /* 801CFC08 001CB868 3C 80 80 1D */ lis r4, lbl_801CE178@ha /* 801CFC0C 001CB86C 90 01 00 24 */ stw r0, 0x24(r1) /* 801CFC10 001CB870 38 00 00 00 */ li r0, 0 /* 801CFC14 001CB874 38 84 E1 78 */ addi r4, r4, lbl_801CE178@l /* 801CFC18 001CB878 38 A1 00 10 */ addi r5, r1, 0x10 /* 801CFC1C 001CB87C 90 61 00 10 */ stw r3, 0x10(r1) /* 801CFC20 001CB880 3C 60 80 00 */ lis r3, 0x7FFFFFFF@ha /* 801CFC24 001CB884 38 63 FF FF */ addi r3, r3, 0x7FFFFFFF@l /* 801CFC28 001CB888 38 C1 00 08 */ addi r6, r1, 8 /* 801CFC2C 001CB88C 90 01 00 14 */ stw r0, 0x14(r1) /* 801CFC30 001CB890 38 E1 00 0C */ addi r7, r1, 0xc /* 801CFC34 001CB894 4B FF EB D9 */ bl func_801CE80C /* 801CFC38 001CB898 80 01 00 0C */ lwz r0, 0xc(r1) /* 801CFC3C 001CB89C FC 40 0A 10 */ fabs f2, f1 /* 801CFC40 001CB8A0 2C 00 00 00 */ cmpwi r0, 0 /* 801CFC44 001CB8A4 40 82 00 28 */ bne lbl_801CFC6C /* 801CFC48 001CB8A8 C8 02 91 78 */ lfd f0, lbl_80641778-_SDA2_BASE_(r2) /* 801CFC4C 001CB8AC FC 00 08 00 */ fcmpu cr0, f0, f1 /* 801CFC50 001CB8B0 41 82 00 24 */ beq lbl_801CFC74 /* 801CFC54 001CB8B4 C8 02 91 80 */ lfd f0, lbl_80641780-_SDA2_BASE_(r2) /* 801CFC58 001CB8B8 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801CFC5C 001CB8BC 41 80 00 10 */ blt lbl_801CFC6C /* 801CFC60 001CB8C0 C8 02 91 88 */ lfd f0, lbl_80641788-_SDA2_BASE_(r2) /* 801CFC64 001CB8C4 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801CFC68 001CB8C8 40 81 00 0C */ ble lbl_801CFC74 lbl_801CFC6C: /* 801CFC6C 001CB8CC 38 00 00 22 */ li r0, 0x22 /* 801CFC70 001CB8D0 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13) lbl_801CFC74: /* 801CFC74 001CB8D4 80 01 00 24 */ lwz r0, 0x24(r1) /* 801CFC78 001CB8D8 7C 08 03 A6 */ mtlr r0 /* 801CFC7C 001CB8DC 38 21 00 20 */ addi r1, r1, 0x20 /* 801CFC80 001CB8E0 4E 80 00 20 */ blr .global func_801CFC84 func_801CFC84: /* 801CFC84 001CB8E4 94 21 FF B0 */ stwu r1, -0x50(r1) /* 801CFC88 001CB8E8 7C 08 02 A6 */ mflr r0 /* 801CFC8C 001CB8EC 2C 03 00 00 */ cmpwi r3, 0 /* 801CFC90 001CB8F0 90 01 00 54 */ stw r0, 0x54(r1) /* 801CFC94 001CB8F4 BE 01 00 10 */ stmw r16, 0x10(r1) /* 801CFC98 001CB8F8 3B 40 00 00 */ li r26, 0 /* 801CFC9C 001CB8FC 7C 70 1B 78 */ mr r16, r3 /* 801CFCA0 001CB900 7C 91 23 78 */ mr r17, r4 /* 801CFCA4 001CB904 7C B2 2B 78 */ mr r18, r5 /* 801CFCA8 001CB908 7C D3 33 78 */ mr r19, r6 /* 801CFCAC 001CB90C 7C F4 3B 78 */ mr r20, r7 /* 801CFCB0 001CB910 7D 15 43 78 */ mr r21, r8 /* 801CFCB4 001CB914 7D 36 4B 78 */ mr r22, r9 /* 801CFCB8 001CB918 3B 60 00 01 */ li r27, 1 /* 801CFCBC 001CB91C 3B 20 00 00 */ li r25, 0 /* 801CFCC0 001CB920 3B 00 00 00 */ li r24, 0 /* 801CFCC4 001CB924 3A E0 00 00 */ li r23, 0 /* 801CFCC8 001CB928 93 49 00 00 */ stw r26, 0(r9) /* 801CFCCC 001CB92C 93 48 00 00 */ stw r26, 0(r8) /* 801CFCD0 001CB930 41 80 00 1C */ blt lbl_801CFCEC /* 801CFCD4 001CB934 2C 03 00 01 */ cmpwi r3, 1 /* 801CFCD8 001CB938 41 82 00 14 */ beq lbl_801CFCEC /* 801CFCDC 001CB93C 2C 03 00 24 */ cmpwi r3, 0x24 /* 801CFCE0 001CB940 41 81 00 0C */ bgt lbl_801CFCEC /* 801CFCE4 001CB944 2C 04 00 01 */ cmpwi r4, 1 /* 801CFCE8 001CB948 40 80 00 0C */ bge lbl_801CFCF4 lbl_801CFCEC: /* 801CFCEC 001CB94C 3B 60 00 40 */ li r27, 0x40 /* 801CFCF0 001CB950 48 00 00 24 */ b lbl_801CFD14 lbl_801CFCF4: /* 801CFCF4 001CB954 7E 4C 93 78 */ mr r12, r18 /* 801CFCF8 001CB958 7E 63 9B 78 */ mr r3, r19 /* 801CFCFC 001CB95C 38 80 00 00 */ li r4, 0 /* 801CFD00 001CB960 38 A0 00 00 */ li r5, 0 /* 801CFD04 001CB964 7D 89 03 A6 */ mtctr r12 /* 801CFD08 001CB968 3B 40 00 01 */ li r26, 1 /* 801CFD0C 001CB96C 4E 80 04 21 */ bctrl /* 801CFD10 001CB970 7C 64 1B 78 */ mr r4, r3 lbl_801CFD14: /* 801CFD14 001CB974 2C 10 00 00 */ cmpwi r16, 0 /* 801CFD18 001CB978 41 82 00 0C */ beq lbl_801CFD24 /* 801CFD1C 001CB97C 38 00 FF FF */ li r0, -1 /* 801CFD20 001CB980 7E E0 83 96 */ divwu r23, r0, r16 lbl_801CFD24: /* 801CFD24 001CB984 3C 60 80 42 */ lis r3, lbl_80422D48@ha /* 801CFD28 001CB988 3B C0 00 01 */ li r30, 1 /* 801CFD2C 001CB98C 3B E0 FF FF */ li r31, -1 /* 801CFD30 001CB990 3F 80 80 42 */ lis r28, 0x8042 /* 801CFD34 001CB994 3B A3 2D 48 */ addi r29, r3, lbl_80422D48@l /* 801CFD38 001CB998 48 00 03 18 */ b lbl_801D0050 lbl_801CFD3C: /* 801CFD3C 001CB99C 28 1B 00 10 */ cmplwi r27, 0x10 /* 801CFD40 001CB9A0 41 81 03 10 */ bgt lbl_801D0050 /* 801CFD44 001CB9A4 38 7C 31 00 */ addi r3, r28, 0x3100 /* 801CFD48 001CB9A8 57 60 10 3A */ slwi r0, r27, 2 /* 801CFD4C 001CB9AC 7C 63 00 2E */ lwzx r3, r3, r0 /* 801CFD50 001CB9B0 7C 69 03 A6 */ mtctr r3 /* 801CFD54 001CB9B4 4E 80 04 20 */ bctr /* 801CFD58 001CB9B8 2C 04 00 00 */ cmpwi r4, 0 /* 801CFD5C 001CB9BC 38 00 00 00 */ li r0, 0 /* 801CFD60 001CB9C0 41 80 00 0C */ blt lbl_801CFD6C /* 801CFD64 001CB9C4 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CFD68 001CB9C8 41 80 00 08 */ blt lbl_801CFD70 lbl_801CFD6C: /* 801CFD6C 001CB9CC 38 00 00 01 */ li r0, 1 lbl_801CFD70: /* 801CFD70 001CB9D0 2C 00 00 00 */ cmpwi r0, 0 /* 801CFD74 001CB9D4 41 82 00 0C */ beq lbl_801CFD80 /* 801CFD78 001CB9D8 38 00 00 00 */ li r0, 0 /* 801CFD7C 001CB9DC 48 00 00 18 */ b lbl_801CFD94 lbl_801CFD80: /* 801CFD80 001CB9E0 80 7D 00 38 */ lwz r3, 0x38(r29) /* 801CFD84 001CB9E4 54 80 08 3C */ slwi r0, r4, 1 /* 801CFD88 001CB9E8 80 63 00 08 */ lwz r3, 8(r3) /* 801CFD8C 001CB9EC 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CFD90 001CB9F0 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17 lbl_801CFD94: /* 801CFD94 001CB9F4 2C 00 00 00 */ cmpwi r0, 0 /* 801CFD98 001CB9F8 41 82 00 28 */ beq lbl_801CFDC0 /* 801CFD9C 001CB9FC 7E 4C 93 78 */ mr r12, r18 /* 801CFDA0 001CBA00 7E 63 9B 78 */ mr r3, r19 /* 801CFDA4 001CBA04 38 80 00 00 */ li r4, 0 /* 801CFDA8 001CBA08 38 A0 00 00 */ li r5, 0 /* 801CFDAC 001CBA0C 7D 89 03 A6 */ mtctr r12 /* 801CFDB0 001CBA10 4E 80 04 21 */ bctrl /* 801CFDB4 001CBA14 7C 64 1B 78 */ mr r4, r3 /* 801CFDB8 001CBA18 3B 39 00 01 */ addi r25, r25, 1 /* 801CFDBC 001CBA1C 48 00 02 94 */ b lbl_801D0050 lbl_801CFDC0: /* 801CFDC0 001CBA20 2C 04 00 2B */ cmpwi r4, 0x2b /* 801CFDC4 001CBA24 40 82 00 28 */ bne lbl_801CFDEC /* 801CFDC8 001CBA28 7E 4C 93 78 */ mr r12, r18 /* 801CFDCC 001CBA2C 7E 63 9B 78 */ mr r3, r19 /* 801CFDD0 001CBA30 38 80 00 00 */ li r4, 0 /* 801CFDD4 001CBA34 38 A0 00 00 */ li r5, 0 /* 801CFDD8 001CBA38 7D 89 03 A6 */ mtctr r12 /* 801CFDDC 001CBA3C 3B 5A 00 01 */ addi r26, r26, 1 /* 801CFDE0 001CBA40 4E 80 04 21 */ bctrl /* 801CFDE4 001CBA44 7C 64 1B 78 */ mr r4, r3 /* 801CFDE8 001CBA48 48 00 00 30 */ b lbl_801CFE18 lbl_801CFDEC: /* 801CFDEC 001CBA4C 2C 04 00 2D */ cmpwi r4, 0x2d /* 801CFDF0 001CBA50 40 82 00 28 */ bne lbl_801CFE18 /* 801CFDF4 001CBA54 7E 4C 93 78 */ mr r12, r18 /* 801CFDF8 001CBA58 7E 63 9B 78 */ mr r3, r19 /* 801CFDFC 001CBA5C 38 80 00 00 */ li r4, 0 /* 801CFE00 001CBA60 38 A0 00 00 */ li r5, 0 /* 801CFE04 001CBA64 7D 89 03 A6 */ mtctr r12 /* 801CFE08 001CBA68 3B 5A 00 01 */ addi r26, r26, 1 /* 801CFE0C 001CBA6C 4E 80 04 21 */ bctrl /* 801CFE10 001CBA70 7C 64 1B 78 */ mr r4, r3 /* 801CFE14 001CBA74 93 D5 00 00 */ stw r30, 0(r21) lbl_801CFE18: /* 801CFE18 001CBA78 3B 60 00 02 */ li r27, 2 /* 801CFE1C 001CBA7C 48 00 02 34 */ b lbl_801D0050 /* 801CFE20 001CBA80 2C 10 00 00 */ cmpwi r16, 0 /* 801CFE24 001CBA84 41 82 00 0C */ beq lbl_801CFE30 /* 801CFE28 001CBA88 2C 10 00 10 */ cmpwi r16, 0x10 /* 801CFE2C 001CBA8C 40 82 00 34 */ bne lbl_801CFE60 lbl_801CFE30: /* 801CFE30 001CBA90 2C 04 00 30 */ cmpwi r4, 0x30 /* 801CFE34 001CBA94 40 82 00 2C */ bne lbl_801CFE60 /* 801CFE38 001CBA98 7E 4C 93 78 */ mr r12, r18 /* 801CFE3C 001CBA9C 7E 63 9B 78 */ mr r3, r19 /* 801CFE40 001CBAA0 3B 60 00 04 */ li r27, 4 /* 801CFE44 001CBAA4 38 80 00 00 */ li r4, 0 /* 801CFE48 001CBAA8 38 A0 00 00 */ li r5, 0 /* 801CFE4C 001CBAAC 7D 89 03 A6 */ mtctr r12 /* 801CFE50 001CBAB0 3B 5A 00 01 */ addi r26, r26, 1 /* 801CFE54 001CBAB4 4E 80 04 21 */ bctrl /* 801CFE58 001CBAB8 7C 64 1B 78 */ mr r4, r3 /* 801CFE5C 001CBABC 48 00 01 F4 */ b lbl_801D0050 lbl_801CFE60: /* 801CFE60 001CBAC0 3B 60 00 08 */ li r27, 8 /* 801CFE64 001CBAC4 48 00 01 EC */ b lbl_801D0050 /* 801CFE68 001CBAC8 2C 04 00 58 */ cmpwi r4, 0x58 /* 801CFE6C 001CBACC 41 82 00 0C */ beq lbl_801CFE78 /* 801CFE70 001CBAD0 2C 04 00 78 */ cmpwi r4, 0x78 /* 801CFE74 001CBAD4 40 82 00 30 */ bne lbl_801CFEA4 lbl_801CFE78: /* 801CFE78 001CBAD8 7E 4C 93 78 */ mr r12, r18 /* 801CFE7C 001CBADC 7E 63 9B 78 */ mr r3, r19 /* 801CFE80 001CBAE0 3A 00 00 10 */ li r16, 0x10 /* 801CFE84 001CBAE4 3B 60 00 08 */ li r27, 8 /* 801CFE88 001CBAE8 38 80 00 00 */ li r4, 0 /* 801CFE8C 001CBAEC 38 A0 00 00 */ li r5, 0 /* 801CFE90 001CBAF0 7D 89 03 A6 */ mtctr r12 /* 801CFE94 001CBAF4 3B 5A 00 01 */ addi r26, r26, 1 /* 801CFE98 001CBAF8 4E 80 04 21 */ bctrl /* 801CFE9C 001CBAFC 7C 64 1B 78 */ mr r4, r3 /* 801CFEA0 001CBB00 48 00 01 B0 */ b lbl_801D0050 lbl_801CFEA4: /* 801CFEA4 001CBB04 2C 10 00 00 */ cmpwi r16, 0 /* 801CFEA8 001CBB08 40 82 00 08 */ bne lbl_801CFEB0 /* 801CFEAC 001CBB0C 3A 00 00 08 */ li r16, 8 lbl_801CFEB0: /* 801CFEB0 001CBB10 3B 60 00 10 */ li r27, 0x10 /* 801CFEB4 001CBB14 48 00 01 9C */ b lbl_801D0050 /* 801CFEB8 001CBB18 2C 10 00 00 */ cmpwi r16, 0 /* 801CFEBC 001CBB1C 40 82 00 08 */ bne lbl_801CFEC4 /* 801CFEC0 001CBB20 3A 00 00 0A */ li r16, 0xa lbl_801CFEC4: /* 801CFEC4 001CBB24 2C 17 00 00 */ cmpwi r23, 0 /* 801CFEC8 001CBB28 40 82 00 08 */ bne lbl_801CFED0 /* 801CFECC 001CBB2C 7E FF 83 96 */ divwu r23, r31, r16 lbl_801CFED0: /* 801CFED0 001CBB30 2C 04 00 00 */ cmpwi r4, 0 /* 801CFED4 001CBB34 38 00 00 00 */ li r0, 0 /* 801CFED8 001CBB38 41 80 00 0C */ blt lbl_801CFEE4 /* 801CFEDC 001CBB3C 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CFEE0 001CBB40 41 80 00 08 */ blt lbl_801CFEE8 lbl_801CFEE4: /* 801CFEE4 001CBB44 38 00 00 01 */ li r0, 1 lbl_801CFEE8: /* 801CFEE8 001CBB48 2C 00 00 00 */ cmpwi r0, 0 /* 801CFEEC 001CBB4C 41 82 00 0C */ beq lbl_801CFEF8 /* 801CFEF0 001CBB50 38 00 00 00 */ li r0, 0 /* 801CFEF4 001CBB54 48 00 00 18 */ b lbl_801CFF0C lbl_801CFEF8: /* 801CFEF8 001CBB58 80 7D 00 38 */ lwz r3, 0x38(r29) /* 801CFEFC 001CBB5C 54 80 08 3C */ slwi r0, r4, 1 /* 801CFF00 001CBB60 80 63 00 08 */ lwz r3, 8(r3) /* 801CFF04 001CBB64 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CFF08 001CBB68 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c lbl_801CFF0C: /* 801CFF0C 001CBB6C 2C 00 00 00 */ cmpwi r0, 0 /* 801CFF10 001CBB70 41 82 00 28 */ beq lbl_801CFF38 /* 801CFF14 001CBB74 38 84 FF D0 */ addi r4, r4, -48 /* 801CFF18 001CBB78 7C 04 80 00 */ cmpw r4, r16 /* 801CFF1C 001CBB7C 41 80 00 EC */ blt lbl_801D0008 /* 801CFF20 001CBB80 2C 1B 00 10 */ cmpwi r27, 0x10 /* 801CFF24 001CBB84 3B 60 00 40 */ li r27, 0x40 /* 801CFF28 001CBB88 40 82 00 08 */ bne lbl_801CFF30 /* 801CFF2C 001CBB8C 3B 60 00 20 */ li r27, 0x20 lbl_801CFF30: /* 801CFF30 001CBB90 38 84 00 30 */ addi r4, r4, 0x30 /* 801CFF34 001CBB94 48 00 01 1C */ b lbl_801D0050 lbl_801CFF38: /* 801CFF38 001CBB98 2C 04 00 00 */ cmpwi r4, 0 /* 801CFF3C 001CBB9C 38 00 00 00 */ li r0, 0 /* 801CFF40 001CBBA0 41 80 00 0C */ blt lbl_801CFF4C /* 801CFF44 001CBBA4 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CFF48 001CBBA8 41 80 00 08 */ blt lbl_801CFF50 lbl_801CFF4C: /* 801CFF4C 001CBBAC 38 00 00 01 */ li r0, 1 lbl_801CFF50: /* 801CFF50 001CBBB0 2C 00 00 00 */ cmpwi r0, 0 /* 801CFF54 001CBBB4 41 82 00 0C */ beq lbl_801CFF60 /* 801CFF58 001CBBB8 38 00 00 00 */ li r0, 0 /* 801CFF5C 001CBBBC 48 00 00 18 */ b lbl_801CFF74 lbl_801CFF60: /* 801CFF60 001CBBC0 80 7D 00 38 */ lwz r3, 0x38(r29) /* 801CFF64 001CBBC4 54 80 08 3C */ slwi r0, r4, 1 /* 801CFF68 001CBBC8 80 63 00 08 */ lwz r3, 8(r3) /* 801CFF6C 001CBBCC 7C 03 02 2E */ lhzx r0, r3, r0 /* 801CFF70 001CBBD0 54 00 07 FE */ clrlwi r0, r0, 0x1f lbl_801CFF74: /* 801CFF74 001CBBD4 2C 00 00 00 */ cmpwi r0, 0 /* 801CFF78 001CBBD8 41 82 00 44 */ beq lbl_801CFFBC /* 801CFF7C 001CBBDC 2C 04 00 00 */ cmpwi r4, 0 /* 801CFF80 001CBBE0 38 00 00 00 */ li r0, 0 /* 801CFF84 001CBBE4 41 80 00 0C */ blt lbl_801CFF90 /* 801CFF88 001CBBE8 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CFF8C 001CBBEC 41 80 00 08 */ blt lbl_801CFF94 lbl_801CFF90: /* 801CFF90 001CBBF0 38 00 00 01 */ li r0, 1 lbl_801CFF94: /* 801CFF94 001CBBF4 2C 00 00 00 */ cmpwi r0, 0 /* 801CFF98 001CBBF8 41 82 00 0C */ beq lbl_801CFFA4 /* 801CFF9C 001CBBFC 7C 83 23 78 */ mr r3, r4 /* 801CFFA0 001CBC00 48 00 00 10 */ b lbl_801CFFB0 lbl_801CFFA4: /* 801CFFA4 001CBC04 80 7D 00 38 */ lwz r3, 0x38(r29) /* 801CFFA8 001CBC08 80 63 00 0C */ lwz r3, 0xc(r3) /* 801CFFAC 001CBC0C 7C 63 20 AE */ lbzx r3, r3, r4 lbl_801CFFB0: /* 801CFFB0 001CBC10 38 03 FF C9 */ addi r0, r3, -55 /* 801CFFB4 001CBC14 7C 00 80 00 */ cmpw r0, r16 /* 801CFFB8 001CBC18 41 80 00 1C */ blt lbl_801CFFD4 lbl_801CFFBC: /* 801CFFBC 001CBC1C 2C 1B 00 10 */ cmpwi r27, 0x10 /* 801CFFC0 001CBC20 40 82 00 0C */ bne lbl_801CFFCC /* 801CFFC4 001CBC24 3B 60 00 20 */ li r27, 0x20 /* 801CFFC8 001CBC28 48 00 00 88 */ b lbl_801D0050 lbl_801CFFCC: /* 801CFFCC 001CBC2C 3B 60 00 40 */ li r27, 0x40 /* 801CFFD0 001CBC30 48 00 00 80 */ b lbl_801D0050 lbl_801CFFD4: /* 801CFFD4 001CBC34 2C 04 00 00 */ cmpwi r4, 0 /* 801CFFD8 001CBC38 38 00 00 00 */ li r0, 0 /* 801CFFDC 001CBC3C 41 80 00 0C */ blt lbl_801CFFE8 /* 801CFFE0 001CBC40 2C 04 01 00 */ cmpwi r4, 0x100 /* 801CFFE4 001CBC44 41 80 00 08 */ blt lbl_801CFFEC lbl_801CFFE8: /* 801CFFE8 001CBC48 38 00 00 01 */ li r0, 1 lbl_801CFFEC: /* 801CFFEC 001CBC4C 2C 00 00 00 */ cmpwi r0, 0 /* 801CFFF0 001CBC50 41 82 00 08 */ beq lbl_801CFFF8 /* 801CFFF4 001CBC54 48 00 00 10 */ b lbl_801D0004 lbl_801CFFF8: /* 801CFFF8 001CBC58 80 7D 00 38 */ lwz r3, 0x38(r29) /* 801CFFFC 001CBC5C 80 63 00 0C */ lwz r3, 0xc(r3) /* 801D0000 001CBC60 7C 83 20 AE */ lbzx r4, r3, r4 lbl_801D0004: /* 801D0004 001CBC64 38 84 FF C9 */ addi r4, r4, -55 lbl_801D0008: /* 801D0008 001CBC68 7C 18 B8 40 */ cmplw r24, r23 /* 801D000C 001CBC6C 40 81 00 08 */ ble lbl_801D0014 /* 801D0010 001CBC70 93 D6 00 00 */ stw r30, 0(r22) lbl_801D0014: /* 801D0014 001CBC74 7F 18 81 D6 */ mullw r24, r24, r16 /* 801D0018 001CBC78 20 18 FF FF */ subfic r0, r24, -1 /* 801D001C 001CBC7C 7C 04 00 40 */ cmplw r4, r0 /* 801D0020 001CBC80 40 81 00 08 */ ble lbl_801D0028 /* 801D0024 001CBC84 93 D6 00 00 */ stw r30, 0(r22) lbl_801D0028: /* 801D0028 001CBC88 7E 4C 93 78 */ mr r12, r18 /* 801D002C 001CBC8C 7F 18 22 14 */ add r24, r24, r4 /* 801D0030 001CBC90 7E 63 9B 78 */ mr r3, r19 /* 801D0034 001CBC94 3B 60 00 10 */ li r27, 0x10 /* 801D0038 001CBC98 38 80 00 00 */ li r4, 0 /* 801D003C 001CBC9C 38 A0 00 00 */ li r5, 0 /* 801D0040 001CBCA0 7D 89 03 A6 */ mtctr r12 /* 801D0044 001CBCA4 3B 5A 00 01 */ addi r26, r26, 1 /* 801D0048 001CBCA8 4E 80 04 21 */ bctrl /* 801D004C 001CBCAC 7C 64 1B 78 */ mr r4, r3 lbl_801D0050: /* 801D0050 001CBCB0 7C 1A 88 00 */ cmpw r26, r17 /* 801D0054 001CBCB4 41 81 00 14 */ bgt lbl_801D0068 /* 801D0058 001CBCB8 2C 04 FF FF */ cmpwi r4, -1 /* 801D005C 001CBCBC 41 82 00 0C */ beq lbl_801D0068 /* 801D0060 001CBCC0 57 60 06 75 */ rlwinm. r0, r27, 0, 0x19, 0x1a /* 801D0064 001CBCC4 41 82 FC D8 */ beq lbl_801CFD3C lbl_801D0068: /* 801D0068 001CBCC8 73 60 00 34 */ andi. r0, r27, 0x34 /* 801D006C 001CBCCC 40 82 00 10 */ bne lbl_801D007C /* 801D0070 001CBCD0 3B 00 00 00 */ li r24, 0 /* 801D0074 001CBCD4 93 14 00 00 */ stw r24, 0(r20) /* 801D0078 001CBCD8 48 00 00 10 */ b lbl_801D0088 lbl_801D007C: /* 801D007C 001CBCDC 7C 7A CA 14 */ add r3, r26, r25 /* 801D0080 001CBCE0 38 03 FF FF */ addi r0, r3, -1 /* 801D0084 001CBCE4 90 14 00 00 */ stw r0, 0(r20) lbl_801D0088: /* 801D0088 001CBCE8 7E 4C 93 78 */ mr r12, r18 /* 801D008C 001CBCEC 7E 63 9B 78 */ mr r3, r19 /* 801D0090 001CBCF0 38 A0 00 01 */ li r5, 1 /* 801D0094 001CBCF4 7D 89 03 A6 */ mtctr r12 /* 801D0098 001CBCF8 4E 80 04 21 */ bctrl /* 801D009C 001CBCFC 7F 03 C3 78 */ mr r3, r24 /* 801D00A0 001CBD00 BA 01 00 10 */ lmw r16, 0x10(r1) /* 801D00A4 001CBD04 80 01 00 54 */ lwz r0, 0x54(r1) /* 801D00A8 001CBD08 7C 08 03 A6 */ mtlr r0 /* 801D00AC 001CBD0C 38 21 00 50 */ addi r1, r1, 0x50 /* 801D00B0 001CBD10 4E 80 00 20 */ blr .global func_801D00B4 func_801D00B4: /* 801D00B4 001CBD14 94 21 FF A0 */ stwu r1, -0x60(r1) /* 801D00B8 001CBD18 7C 08 02 A6 */ mflr r0 /* 801D00BC 001CBD1C 2C 03 00 00 */ cmpwi r3, 0 /* 801D00C0 001CBD20 90 01 00 64 */ stw r0, 0x64(r1) /* 801D00C4 001CBD24 BD C1 00 18 */ stmw r14, 0x18(r1) /* 801D00C8 001CBD28 3B 60 00 00 */ li r27, 0 /* 801D00CC 001CBD2C 7C 6F 1B 78 */ mr r15, r3 /* 801D00D0 001CBD30 7C 90 23 78 */ mr r16, r4 /* 801D00D4 001CBD34 90 E1 00 08 */ stw r7, 8(r1) /* 801D00D8 001CBD38 7C B1 2B 78 */ mr r17, r5 /* 801D00DC 001CBD3C 7C D2 33 78 */ mr r18, r6 /* 801D00E0 001CBD40 7D 13 43 78 */ mr r19, r8 /* 801D00E4 001CBD44 7D 34 4B 78 */ mr r20, r9 /* 801D00E8 001CBD48 3B 80 00 01 */ li r28, 1 /* 801D00EC 001CBD4C 3B 40 00 00 */ li r26, 0 /* 801D00F0 001CBD50 3B 00 00 00 */ li r24, 0 /* 801D00F4 001CBD54 3B 20 00 00 */ li r25, 0 /* 801D00F8 001CBD58 3A C0 00 00 */ li r22, 0 /* 801D00FC 001CBD5C 3A E0 00 00 */ li r23, 0 /* 801D0100 001CBD60 93 69 00 00 */ stw r27, 0(r9) /* 801D0104 001CBD64 93 68 00 00 */ stw r27, 0(r8) /* 801D0108 001CBD68 41 80 00 1C */ blt lbl_801D0124 /* 801D010C 001CBD6C 2C 03 00 01 */ cmpwi r3, 1 /* 801D0110 001CBD70 41 82 00 14 */ beq lbl_801D0124 /* 801D0114 001CBD74 2C 03 00 24 */ cmpwi r3, 0x24 /* 801D0118 001CBD78 41 81 00 0C */ bgt lbl_801D0124 /* 801D011C 001CBD7C 2C 04 00 01 */ cmpwi r4, 1 /* 801D0120 001CBD80 40 80 00 0C */ bge lbl_801D012C lbl_801D0124: /* 801D0124 001CBD84 3B 80 00 40 */ li r28, 0x40 /* 801D0128 001CBD88 48 00 00 24 */ b lbl_801D014C lbl_801D012C: /* 801D012C 001CBD8C 7E 2C 8B 78 */ mr r12, r17 /* 801D0130 001CBD90 7E 43 93 78 */ mr r3, r18 /* 801D0134 001CBD94 38 80 00 00 */ li r4, 0 /* 801D0138 001CBD98 38 A0 00 00 */ li r5, 0 /* 801D013C 001CBD9C 7D 89 03 A6 */ mtctr r12 /* 801D0140 001CBDA0 3B 60 00 01 */ li r27, 1 /* 801D0144 001CBDA4 4E 80 04 21 */ bctrl /* 801D0148 001CBDA8 7C 75 1B 78 */ mr r21, r3 lbl_801D014C: /* 801D014C 001CBDAC 2C 0F 00 00 */ cmpwi r15, 0 /* 801D0150 001CBDB0 41 82 00 20 */ beq lbl_801D0170 /* 801D0154 001CBDB4 7D E6 7B 78 */ mr r6, r15 /* 801D0158 001CBDB8 7D E5 FE 70 */ srawi r5, r15, 0x1f /* 801D015C 001CBDBC 38 60 FF FF */ li r3, -1 /* 801D0160 001CBDC0 38 80 FF FF */ li r4, -1 /* 801D0164 001CBDC4 4B FF 70 29 */ bl __div2u /* 801D0168 001CBDC8 7C 96 23 78 */ mr r22, r4 /* 801D016C 001CBDCC 7C 77 1B 78 */ mr r23, r3 lbl_801D0170: /* 801D0170 001CBDD0 3C 60 80 42 */ lis r3, lbl_80422D48@ha /* 801D0174 001CBDD4 3B C0 00 01 */ li r30, 1 /* 801D0178 001CBDD8 3B E0 FF FF */ li r31, -1 /* 801D017C 001CBDDC 3D C0 80 42 */ lis r14, 0x8042 /* 801D0180 001CBDE0 3B A3 2D 48 */ addi r29, r3, lbl_80422D48@l /* 801D0184 001CBDE4 48 00 03 7C */ b lbl_801D0500 lbl_801D0188: /* 801D0188 001CBDE8 28 1C 00 10 */ cmplwi r28, 0x10 /* 801D018C 001CBDEC 41 81 03 74 */ bgt lbl_801D0500 /* 801D0190 001CBDF0 38 6E 31 44 */ addi r3, r14, 0x3144 /* 801D0194 001CBDF4 57 80 10 3A */ slwi r0, r28, 2 /* 801D0198 001CBDF8 7C 63 00 2E */ lwzx r3, r3, r0 /* 801D019C 001CBDFC 7C 69 03 A6 */ mtctr r3 /* 801D01A0 001CBE00 4E 80 04 20 */ bctr /* 801D01A4 001CBE04 2C 15 00 00 */ cmpwi r21, 0 /* 801D01A8 001CBE08 38 00 00 00 */ li r0, 0 /* 801D01AC 001CBE0C 41 80 00 0C */ blt lbl_801D01B8 /* 801D01B0 001CBE10 2C 15 01 00 */ cmpwi r21, 0x100 /* 801D01B4 001CBE14 41 80 00 08 */ blt lbl_801D01BC lbl_801D01B8: /* 801D01B8 001CBE18 38 00 00 01 */ li r0, 1 lbl_801D01BC: /* 801D01BC 001CBE1C 2C 00 00 00 */ cmpwi r0, 0 /* 801D01C0 001CBE20 41 82 00 0C */ beq lbl_801D01CC /* 801D01C4 001CBE24 38 00 00 00 */ li r0, 0 /* 801D01C8 001CBE28 48 00 00 18 */ b lbl_801D01E0 lbl_801D01CC: /* 801D01CC 001CBE2C 80 7D 00 38 */ lwz r3, 0x38(r29) /* 801D01D0 001CBE30 56 A0 08 3C */ slwi r0, r21, 1 /* 801D01D4 001CBE34 80 63 00 08 */ lwz r3, 8(r3) /* 801D01D8 001CBE38 7C 03 02 2E */ lhzx r0, r3, r0 /* 801D01DC 001CBE3C 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17 lbl_801D01E0: /* 801D01E0 001CBE40 2C 00 00 00 */ cmpwi r0, 0 /* 801D01E4 001CBE44 41 82 00 28 */ beq lbl_801D020C /* 801D01E8 001CBE48 7E 2C 8B 78 */ mr r12, r17 /* 801D01EC 001CBE4C 7E 43 93 78 */ mr r3, r18 /* 801D01F0 001CBE50 38 80 00 00 */ li r4, 0 /* 801D01F4 001CBE54 38 A0 00 00 */ li r5, 0 /* 801D01F8 001CBE58 7D 89 03 A6 */ mtctr r12 /* 801D01FC 001CBE5C 4E 80 04 21 */ bctrl /* 801D0200 001CBE60 7C 75 1B 78 */ mr r21, r3 /* 801D0204 001CBE64 3B 5A 00 01 */ addi r26, r26, 1 /* 801D0208 001CBE68 48 00 02 F8 */ b lbl_801D0500 lbl_801D020C: /* 801D020C 001CBE6C 2C 15 00 2B */ cmpwi r21, 0x2b /* 801D0210 001CBE70 40 82 00 28 */ bne lbl_801D0238 /* 801D0214 001CBE74 7E 2C 8B 78 */ mr r12, r17 /* 801D0218 001CBE78 7E 43 93 78 */ mr r3, r18 /* 801D021C 001CBE7C 38 80 00 00 */ li r4, 0 /* 801D0220 001CBE80 38 A0 00 00 */ li r5, 0 /* 801D0224 001CBE84 7D 89 03 A6 */ mtctr r12 /* 801D0228 001CBE88 3B 7B 00 01 */ addi r27, r27, 1 /* 801D022C 001CBE8C 4E 80 04 21 */ bctrl /* 801D0230 001CBE90 7C 75 1B 78 */ mr r21, r3 /* 801D0234 001CBE94 48 00 00 30 */ b lbl_801D0264 lbl_801D0238: /* 801D0238 001CBE98 2C 15 00 2D */ cmpwi r21, 0x2d /* 801D023C 001CBE9C 40 82 00 28 */ bne lbl_801D0264 /* 801D0240 001CBEA0 7E 2C 8B 78 */ mr r12, r17 /* 801D0244 001CBEA4 7E 43 93 78 */ mr r3, r18 /* 801D0248 001CBEA8 38 80 00 00 */ li r4, 0 /* 801D024C 001CBEAC 38 A0 00 00 */ li r5, 0 /* 801D0250 001CBEB0 7D 89 03 A6 */ mtctr r12 /* 801D0254 001CBEB4 3B 7B 00 01 */ addi r27, r27, 1 /* 801D0258 001CBEB8 4E 80 04 21 */ bctrl /* 801D025C 001CBEBC 7C 75 1B 78 */ mr r21, r3 /* 801D0260 001CBEC0 93 D3 00 00 */ stw r30, 0(r19) lbl_801D0264: /* 801D0264 001CBEC4 3B 80 00 02 */ li r28, 2 /* 801D0268 001CBEC8 48 00 02 98 */ b lbl_801D0500 /* 801D026C 001CBECC 2C 0F 00 00 */ cmpwi r15, 0 /* 801D0270 001CBED0 41 82 00 0C */ beq lbl_801D027C /* 801D0274 001CBED4 2C 0F 00 10 */ cmpwi r15, 0x10 /* 801D0278 001CBED8 40 82 00 34 */ bne lbl_801D02AC lbl_801D027C: /* 801D027C 001CBEDC 2C 15 00 30 */ cmpwi r21, 0x30 /* 801D0280 001CBEE0 40 82 00 2C */ bne lbl_801D02AC /* 801D0284 001CBEE4 7E 2C 8B 78 */ mr r12, r17 /* 801D0288 001CBEE8 7E 43 93 78 */ mr r3, r18 /* 801D028C 001CBEEC 3B 80 00 04 */ li r28, 4 /* 801D0290 001CBEF0 38 80 00 00 */ li r4, 0 /* 801D0294 001CBEF4 38 A0 00 00 */ li r5, 0 /* 801D0298 001CBEF8 7D 89 03 A6 */ mtctr r12 /* 801D029C 001CBEFC 3B 7B 00 01 */ addi r27, r27, 1 /* 801D02A0 001CBF00 4E 80 04 21 */ bctrl /* 801D02A4 001CBF04 7C 75 1B 78 */ mr r21, r3 /* 801D02A8 001CBF08 48 00 02 58 */ b lbl_801D0500 lbl_801D02AC: /* 801D02AC 001CBF0C 3B 80 00 08 */ li r28, 8 /* 801D02B0 001CBF10 48 00 02 50 */ b lbl_801D0500 /* 801D02B4 001CBF14 2C 15 00 58 */ cmpwi r21, 0x58 /* 801D02B8 001CBF18 41 82 00 0C */ beq lbl_801D02C4 /* 801D02BC 001CBF1C 2C 15 00 78 */ cmpwi r21, 0x78 /* 801D02C0 001CBF20 40 82 00 30 */ bne lbl_801D02F0 lbl_801D02C4: /* 801D02C4 001CBF24 7E 2C 8B 78 */ mr r12, r17 /* 801D02C8 001CBF28 7E 43 93 78 */ mr r3, r18 /* 801D02CC 001CBF2C 39 E0 00 10 */ li r15, 0x10 /* 801D02D0 001CBF30 3B 80 00 08 */ li r28, 8 /* 801D02D4 001CBF34 38 80 00 00 */ li r4, 0 /* 801D02D8 001CBF38 38 A0 00 00 */ li r5, 0 /* 801D02DC 001CBF3C 7D 89 03 A6 */ mtctr r12 /* 801D02E0 001CBF40 3B 7B 00 01 */ addi r27, r27, 1 /* 801D02E4 001CBF44 4E 80 04 21 */ bctrl /* 801D02E8 001CBF48 7C 75 1B 78 */ mr r21, r3 /* 801D02EC 001CBF4C 48 00 02 14 */ b lbl_801D0500 lbl_801D02F0: /* 801D02F0 001CBF50 2C 0F 00 00 */ cmpwi r15, 0 /* 801D02F4 001CBF54 40 82 00 08 */ bne lbl_801D02FC /* 801D02F8 001CBF58 39 E0 00 08 */ li r15, 8 lbl_801D02FC: /* 801D02FC 001CBF5C 3B 80 00 10 */ li r28, 0x10 /* 801D0300 001CBF60 48 00 02 00 */ b lbl_801D0500 /* 801D0304 001CBF64 2C 0F 00 00 */ cmpwi r15, 0 /* 801D0308 001CBF68 40 82 00 08 */ bne lbl_801D0310 /* 801D030C 001CBF6C 39 E0 00 0A */ li r15, 0xa lbl_801D0310: /* 801D0310 001CBF70 38 00 00 00 */ li r0, 0 /* 801D0314 001CBF74 7C 00 FE 70 */ srawi r0, r0, 0x1f /* 801D0318 001CBF78 7E E0 02 78 */ xor r0, r23, r0 /* 801D031C 001CBF7C 7E C0 03 79 */ or. r0, r22, r0 /* 801D0320 001CBF80 40 82 00 20 */ bne lbl_801D0340 /* 801D0324 001CBF84 7D E6 7B 78 */ mr r6, r15 /* 801D0328 001CBF88 7D E5 FE 70 */ srawi r5, r15, 0x1f /* 801D032C 001CBF8C 38 60 FF FF */ li r3, -1 /* 801D0330 001CBF90 38 80 FF FF */ li r4, -1 /* 801D0334 001CBF94 4B FF 6E 59 */ bl __div2u /* 801D0338 001CBF98 7C 96 23 78 */ mr r22, r4 /* 801D033C 001CBF9C 7C 77 1B 78 */ mr r23, r3 lbl_801D0340: /* 801D0340 001CBFA0 2C 15 00 00 */ cmpwi r21, 0 /* 801D0344 001CBFA4 38 00 00 00 */ li r0, 0 /* 801D0348 001CBFA8 41 80 00 0C */ blt lbl_801D0354 /* 801D034C 001CBFAC 2C 15 01 00 */ cmpwi r21, 0x100 /* 801D0350 001CBFB0 41 80 00 08 */ blt lbl_801D0358 lbl_801D0354: /* 801D0354 001CBFB4 38 00 00 01 */ li r0, 1 lbl_801D0358: /* 801D0358 001CBFB8 2C 00 00 00 */ cmpwi r0, 0 /* 801D035C 001CBFBC 41 82 00 0C */ beq lbl_801D0368 /* 801D0360 001CBFC0 38 00 00 00 */ li r0, 0 /* 801D0364 001CBFC4 48 00 00 18 */ b lbl_801D037C lbl_801D0368: /* 801D0368 001CBFC8 80 7D 00 38 */ lwz r3, 0x38(r29) /* 801D036C 001CBFCC 56 A0 08 3C */ slwi r0, r21, 1 /* 801D0370 001CBFD0 80 63 00 08 */ lwz r3, 8(r3) /* 801D0374 001CBFD4 7C 03 02 2E */ lhzx r0, r3, r0 /* 801D0378 001CBFD8 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c lbl_801D037C: /* 801D037C 001CBFDC 2C 00 00 00 */ cmpwi r0, 0 /* 801D0380 001CBFE0 41 82 00 28 */ beq lbl_801D03A8 /* 801D0384 001CBFE4 3A B5 FF D0 */ addi r21, r21, -48 /* 801D0388 001CBFE8 7C 15 78 00 */ cmpw r21, r15 /* 801D038C 001CBFEC 41 80 00 EC */ blt lbl_801D0478 /* 801D0390 001CBFF0 2C 1C 00 10 */ cmpwi r28, 0x10 /* 801D0394 001CBFF4 3B 80 00 40 */ li r28, 0x40 /* 801D0398 001CBFF8 40 82 00 08 */ bne lbl_801D03A0 /* 801D039C 001CBFFC 3B 80 00 20 */ li r28, 0x20 lbl_801D03A0: /* 801D03A0 001CC000 3A B5 00 30 */ addi r21, r21, 0x30 /* 801D03A4 001CC004 48 00 01 5C */ b lbl_801D0500 lbl_801D03A8: /* 801D03A8 001CC008 2C 15 00 00 */ cmpwi r21, 0 /* 801D03AC 001CC00C 38 00 00 00 */ li r0, 0 /* 801D03B0 001CC010 41 80 00 0C */ blt lbl_801D03BC /* 801D03B4 001CC014 2C 15 01 00 */ cmpwi r21, 0x100 /* 801D03B8 001CC018 41 80 00 08 */ blt lbl_801D03C0 lbl_801D03BC: /* 801D03BC 001CC01C 38 00 00 01 */ li r0, 1 lbl_801D03C0: /* 801D03C0 001CC020 2C 00 00 00 */ cmpwi r0, 0 /* 801D03C4 001CC024 41 82 00 0C */ beq lbl_801D03D0 /* 801D03C8 001CC028 38 00 00 00 */ li r0, 0 /* 801D03CC 001CC02C 48 00 00 18 */ b lbl_801D03E4 lbl_801D03D0: /* 801D03D0 001CC030 80 7D 00 38 */ lwz r3, 0x38(r29) /* 801D03D4 001CC034 56 A0 08 3C */ slwi r0, r21, 1 /* 801D03D8 001CC038 80 63 00 08 */ lwz r3, 8(r3) /* 801D03DC 001CC03C 7C 03 02 2E */ lhzx r0, r3, r0 /* 801D03E0 001CC040 54 00 07 FE */ clrlwi r0, r0, 0x1f lbl_801D03E4: /* 801D03E4 001CC044 2C 00 00 00 */ cmpwi r0, 0 /* 801D03E8 001CC048 41 82 00 44 */ beq lbl_801D042C /* 801D03EC 001CC04C 2C 15 00 00 */ cmpwi r21, 0 /* 801D03F0 001CC050 38 00 00 00 */ li r0, 0 /* 801D03F4 001CC054 41 80 00 0C */ blt lbl_801D0400 /* 801D03F8 001CC058 2C 15 01 00 */ cmpwi r21, 0x100 /* 801D03FC 001CC05C 41 80 00 08 */ blt lbl_801D0404 lbl_801D0400: /* 801D0400 001CC060 38 00 00 01 */ li r0, 1 lbl_801D0404: /* 801D0404 001CC064 2C 00 00 00 */ cmpwi r0, 0 /* 801D0408 001CC068 41 82 00 0C */ beq lbl_801D0414 /* 801D040C 001CC06C 7E A3 AB 78 */ mr r3, r21 /* 801D0410 001CC070 48 00 00 10 */ b lbl_801D0420 lbl_801D0414: /* 801D0414 001CC074 80 7D 00 38 */ lwz r3, 0x38(r29) /* 801D0418 001CC078 80 63 00 0C */ lwz r3, 0xc(r3) /* 801D041C 001CC07C 7C 63 A8 AE */ lbzx r3, r3, r21 lbl_801D0420: /* 801D0420 001CC080 38 03 FF C9 */ addi r0, r3, -55 /* 801D0424 001CC084 7C 00 78 00 */ cmpw r0, r15 /* 801D0428 001CC088 41 80 00 1C */ blt lbl_801D0444 lbl_801D042C: /* 801D042C 001CC08C 2C 1C 00 10 */ cmpwi r28, 0x10 /* 801D0430 001CC090 40 82 00 0C */ bne lbl_801D043C /* 801D0434 001CC094 3B 80 00 20 */ li r28, 0x20 /* 801D0438 001CC098 48 00 00 C8 */ b lbl_801D0500 lbl_801D043C: /* 801D043C 001CC09C 3B 80 00 40 */ li r28, 0x40 /* 801D0440 001CC0A0 48 00 00 C0 */ b lbl_801D0500 lbl_801D0444: /* 801D0444 001CC0A4 2C 15 00 00 */ cmpwi r21, 0 /* 801D0448 001CC0A8 38 00 00 00 */ li r0, 0 /* 801D044C 001CC0AC 41 80 00 0C */ blt lbl_801D0458 /* 801D0450 001CC0B0 2C 15 01 00 */ cmpwi r21, 0x100 /* 801D0454 001CC0B4 41 80 00 08 */ blt lbl_801D045C lbl_801D0458: /* 801D0458 001CC0B8 38 00 00 01 */ li r0, 1 lbl_801D045C: /* 801D045C 001CC0BC 2C 00 00 00 */ cmpwi r0, 0 /* 801D0460 001CC0C0 41 82 00 08 */ beq lbl_801D0468 /* 801D0464 001CC0C4 48 00 00 10 */ b lbl_801D0474 lbl_801D0468: /* 801D0468 001CC0C8 80 7D 00 38 */ lwz r3, 0x38(r29) /* 801D046C 001CC0CC 80 63 00 0C */ lwz r3, 0xc(r3) /* 801D0470 001CC0D0 7E A3 A8 AE */ lbzx r21, r3, r21 lbl_801D0474: /* 801D0474 001CC0D4 3A B5 FF C9 */ addi r21, r21, -55 lbl_801D0478: /* 801D0478 001CC0D8 7C 18 B0 10 */ subfc r0, r24, r22 /* 801D047C 001CC0DC 7C 19 B9 10 */ subfe r0, r25, r23 /* 801D0480 001CC0E0 7C 16 B1 10 */ subfe r0, r22, r22 /* 801D0484 001CC0E4 7C 00 00 D1 */ neg. r0, r0 /* 801D0488 001CC0E8 41 82 00 08 */ beq lbl_801D0490 /* 801D048C 001CC0EC 93 D4 00 00 */ stw r30, 0(r20) lbl_801D0490: /* 801D0490 001CC0F0 7C 78 78 16 */ mulhwu r3, r24, r15 /* 801D0494 001CC0F4 7D E5 FE 70 */ srawi r5, r15, 0x1f /* 801D0498 001CC0F8 7E A6 FE 70 */ srawi r6, r21, 0x1f /* 801D049C 001CC0FC 7C 99 79 D6 */ mullw r4, r25, r15 /* 801D04A0 001CC100 7C 83 22 14 */ add r4, r3, r4 /* 801D04A4 001CC104 7C 78 29 D6 */ mullw r3, r24, r5 /* 801D04A8 001CC108 7C 18 79 D6 */ mullw r0, r24, r15 /* 801D04AC 001CC10C 7C E4 1A 14 */ add r7, r4, r3 /* 801D04B0 001CC110 7C A0 F8 10 */ subfc r5, r0, r31 /* 801D04B4 001CC114 7C 87 F9 10 */ subfe r4, r7, r31 /* 801D04B8 001CC118 7C 75 28 10 */ subfc r3, r21, r5 /* 801D04BC 001CC11C 7C 66 21 10 */ subfe r3, r6, r4 /* 801D04C0 001CC120 7C 65 29 10 */ subfe r3, r5, r5 /* 801D04C4 001CC124 7C 63 00 D1 */ neg. r3, r3 /* 801D04C8 001CC128 41 82 00 08 */ beq lbl_801D04D0 /* 801D04CC 001CC12C 93 D4 00 00 */ stw r30, 0(r20) lbl_801D04D0: /* 801D04D0 001CC130 7E A4 FE 70 */ srawi r4, r21, 0x1f /* 801D04D4 001CC134 7E 2C 8B 78 */ mr r12, r17 /* 801D04D8 001CC138 7F 00 A8 14 */ addc r24, r0, r21 /* 801D04DC 001CC13C 7E 43 93 78 */ mr r3, r18 /* 801D04E0 001CC140 7F 27 21 14 */ adde r25, r7, r4 /* 801D04E4 001CC144 3B 80 00 10 */ li r28, 0x10 /* 801D04E8 001CC148 38 80 00 00 */ li r4, 0 /* 801D04EC 001CC14C 38 A0 00 00 */ li r5, 0 /* 801D04F0 001CC150 7D 89 03 A6 */ mtctr r12 /* 801D04F4 001CC154 3B 7B 00 01 */ addi r27, r27, 1 /* 801D04F8 001CC158 4E 80 04 21 */ bctrl /* 801D04FC 001CC15C 7C 75 1B 78 */ mr r21, r3 lbl_801D0500: /* 801D0500 001CC160 7C 1B 80 00 */ cmpw r27, r16 /* 801D0504 001CC164 41 81 00 14 */ bgt lbl_801D0518 /* 801D0508 001CC168 2C 15 FF FF */ cmpwi r21, -1 /* 801D050C 001CC16C 41 82 00 0C */ beq lbl_801D0518 /* 801D0510 001CC170 57 80 06 75 */ rlwinm. r0, r28, 0, 0x19, 0x1a /* 801D0514 001CC174 41 82 FC 74 */ beq lbl_801D0188 lbl_801D0518: /* 801D0518 001CC178 73 80 00 34 */ andi. r0, r28, 0x34 /* 801D051C 001CC17C 40 82 00 18 */ bne lbl_801D0534 /* 801D0520 001CC180 80 61 00 08 */ lwz r3, 8(r1) /* 801D0524 001CC184 3B 00 00 00 */ li r24, 0 /* 801D0528 001CC188 3B 20 00 00 */ li r25, 0 /* 801D052C 001CC18C 93 03 00 00 */ stw r24, 0(r3) /* 801D0530 001CC190 48 00 00 14 */ b lbl_801D0544 lbl_801D0534: /* 801D0534 001CC194 7C 7B D2 14 */ add r3, r27, r26 /* 801D0538 001CC198 38 03 FF FF */ addi r0, r3, -1 /* 801D053C 001CC19C 80 61 00 08 */ lwz r3, 8(r1) /* 801D0540 001CC1A0 90 03 00 00 */ stw r0, 0(r3) lbl_801D0544: /* 801D0544 001CC1A4 7E 2C 8B 78 */ mr r12, r17 /* 801D0548 001CC1A8 7E 43 93 78 */ mr r3, r18 /* 801D054C 001CC1AC 7E A4 AB 78 */ mr r4, r21 /* 801D0550 001CC1B0 38 A0 00 01 */ li r5, 1 /* 801D0554 001CC1B4 7D 89 03 A6 */ mtctr r12 /* 801D0558 001CC1B8 4E 80 04 21 */ bctrl /* 801D055C 001CC1BC 7F 04 C3 78 */ mr r4, r24 /* 801D0560 001CC1C0 7F 23 CB 78 */ mr r3, r25 /* 801D0564 001CC1C4 B9 C1 00 18 */ lmw r14, 0x18(r1) /* 801D0568 001CC1C8 80 01 00 64 */ lwz r0, 0x64(r1) /* 801D056C 001CC1CC 7C 08 03 A6 */ mtlr r0 /* 801D0570 001CC1D0 38 21 00 60 */ addi r1, r1, 0x60 /* 801D0574 001CC1D4 4E 80 00 20 */ blr .global func_801D0578 func_801D0578: /* 801D0578 001CC1D8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801D057C 001CC1DC 7C 08 02 A6 */ mflr r0 /* 801D0580 001CC1E0 3C E0 80 00 */ lis r7, 0x7FFFFFFF@ha /* 801D0584 001CC1E4 3C C0 80 1D */ lis r6, lbl_801CE178@ha /* 801D0588 001CC1E8 90 01 00 34 */ stw r0, 0x34(r1) /* 801D058C 001CC1EC 38 00 00 00 */ li r0, 0 /* 801D0590 001CC1F0 39 01 00 0C */ addi r8, r1, 0xc /* 801D0594 001CC1F4 39 21 00 08 */ addi r9, r1, 8 /* 801D0598 001CC1F8 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801D059C 001CC1FC 7C 9F 23 78 */ mr r31, r4 /* 801D05A0 001CC200 38 87 FF FF */ addi r4, r7, 0x7FFFFFFF@l /* 801D05A4 001CC204 38 E1 00 10 */ addi r7, r1, 0x10 /* 801D05A8 001CC208 93 C1 00 28 */ stw r30, 0x28(r1) /* 801D05AC 001CC20C 7C 7E 1B 78 */ mr r30, r3 /* 801D05B0 001CC210 7C A3 2B 78 */ mr r3, r5 /* 801D05B4 001CC214 38 A6 E1 78 */ addi r5, r6, lbl_801CE178@l /* 801D05B8 001CC218 93 C1 00 18 */ stw r30, 0x18(r1) /* 801D05BC 001CC21C 38 C1 00 18 */ addi r6, r1, 0x18 /* 801D05C0 001CC220 90 01 00 1C */ stw r0, 0x1c(r1) /* 801D05C4 001CC224 4B FF F6 C1 */ bl func_801CFC84 /* 801D05C8 001CC228 2C 1F 00 00 */ cmpwi r31, 0 /* 801D05CC 001CC22C 41 82 00 10 */ beq lbl_801D05DC /* 801D05D0 001CC230 80 01 00 10 */ lwz r0, 0x10(r1) /* 801D05D4 001CC234 7C 1E 02 14 */ add r0, r30, r0 /* 801D05D8 001CC238 90 1F 00 00 */ stw r0, 0(r31) lbl_801D05DC: /* 801D05DC 001CC23C 80 01 00 08 */ lwz r0, 8(r1) /* 801D05E0 001CC240 2C 00 00 00 */ cmpwi r0, 0 /* 801D05E4 001CC244 41 82 00 14 */ beq lbl_801D05F8 /* 801D05E8 001CC248 38 00 00 22 */ li r0, 0x22 /* 801D05EC 001CC24C 38 60 FF FF */ li r3, -1 /* 801D05F0 001CC250 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13) /* 801D05F4 001CC254 48 00 00 14 */ b lbl_801D0608 lbl_801D05F8: /* 801D05F8 001CC258 80 01 00 0C */ lwz r0, 0xc(r1) /* 801D05FC 001CC25C 2C 00 00 00 */ cmpwi r0, 0 /* 801D0600 001CC260 41 82 00 08 */ beq lbl_801D0608 /* 801D0604 001CC264 7C 63 00 D0 */ neg r3, r3 lbl_801D0608: /* 801D0608 001CC268 80 01 00 34 */ lwz r0, 0x34(r1) /* 801D060C 001CC26C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801D0610 001CC270 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801D0614 001CC274 7C 08 03 A6 */ mtlr r0 /* 801D0618 001CC278 38 21 00 30 */ addi r1, r1, 0x30 /* 801D061C 001CC27C 4E 80 00 20 */ blr .global func_801D0620 func_801D0620: /* 801D0620 001CC280 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801D0624 001CC284 7C 08 02 A6 */ mflr r0 /* 801D0628 001CC288 3C E0 80 00 */ lis r7, 0x7FFFFFFF@ha /* 801D062C 001CC28C 3C C0 80 1D */ lis r6, lbl_801CE178@ha /* 801D0630 001CC290 90 01 00 34 */ stw r0, 0x34(r1) /* 801D0634 001CC294 38 00 00 00 */ li r0, 0 /* 801D0638 001CC298 39 01 00 0C */ addi r8, r1, 0xc /* 801D063C 001CC29C 39 21 00 08 */ addi r9, r1, 8 /* 801D0640 001CC2A0 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801D0644 001CC2A4 7C 9F 23 78 */ mr r31, r4 /* 801D0648 001CC2A8 38 87 FF FF */ addi r4, r7, 0x7FFFFFFF@l /* 801D064C 001CC2AC 38 E1 00 10 */ addi r7, r1, 0x10 /* 801D0650 001CC2B0 93 C1 00 28 */ stw r30, 0x28(r1) /* 801D0654 001CC2B4 7C 7E 1B 78 */ mr r30, r3 /* 801D0658 001CC2B8 7C A3 2B 78 */ mr r3, r5 /* 801D065C 001CC2BC 38 A6 E1 78 */ addi r5, r6, lbl_801CE178@l /* 801D0660 001CC2C0 93 C1 00 18 */ stw r30, 0x18(r1) /* 801D0664 001CC2C4 38 C1 00 18 */ addi r6, r1, 0x18 /* 801D0668 001CC2C8 90 01 00 1C */ stw r0, 0x1c(r1) /* 801D066C 001CC2CC 4B FF F6 19 */ bl func_801CFC84 /* 801D0670 001CC2D0 2C 1F 00 00 */ cmpwi r31, 0 /* 801D0674 001CC2D4 41 82 00 10 */ beq lbl_801D0684 /* 801D0678 001CC2D8 80 01 00 10 */ lwz r0, 0x10(r1) /* 801D067C 001CC2DC 7C 1E 02 14 */ add r0, r30, r0 /* 801D0680 001CC2E0 90 1F 00 00 */ stw r0, 0(r31) lbl_801D0684: /* 801D0684 001CC2E4 80 01 00 08 */ lwz r0, 8(r1) /* 801D0688 001CC2E8 2C 00 00 00 */ cmpwi r0, 0 /* 801D068C 001CC2EC 40 82 00 34 */ bne lbl_801D06C0 /* 801D0690 001CC2F0 80 A1 00 0C */ lwz r5, 0xc(r1) /* 801D0694 001CC2F4 2C 05 00 00 */ cmpwi r5, 0 /* 801D0698 001CC2F8 40 82 00 14 */ bne lbl_801D06AC /* 801D069C 001CC2FC 3C 80 80 00 */ lis r4, 0x7FFFFFFF@ha /* 801D06A0 001CC300 38 04 FF FF */ addi r0, r4, 0x7FFFFFFF@l /* 801D06A4 001CC304 7C 03 00 40 */ cmplw r3, r0 /* 801D06A8 001CC308 41 81 00 18 */ bgt lbl_801D06C0 lbl_801D06AC: /* 801D06AC 001CC30C 2C 05 00 00 */ cmpwi r5, 0 /* 801D06B0 001CC310 41 82 00 38 */ beq lbl_801D06E8 /* 801D06B4 001CC314 3C 00 80 00 */ lis r0, 0x8000 /* 801D06B8 001CC318 7C 03 00 40 */ cmplw r3, r0 /* 801D06BC 001CC31C 40 81 00 2C */ ble lbl_801D06E8 lbl_801D06C0: /* 801D06C0 001CC320 80 A1 00 0C */ lwz r5, 0xc(r1) /* 801D06C4 001CC324 38 00 00 22 */ li r0, 0x22 /* 801D06C8 001CC328 3C 60 80 00 */ lis r3, 0x7FFFFFFF@ha /* 801D06CC 001CC32C 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13) /* 801D06D0 001CC330 7C 85 00 D0 */ neg r4, r5 /* 801D06D4 001CC334 7C 84 2B 78 */ or r4, r4, r5 /* 801D06D8 001CC338 38 03 FF FF */ addi r0, r3, 0x7FFFFFFF@l /* 801D06DC 001CC33C 54 83 0F FE */ srwi r3, r4, 0x1f /* 801D06E0 001CC340 7C 63 02 14 */ add r3, r3, r0 /* 801D06E4 001CC344 48 00 00 10 */ b lbl_801D06F4 lbl_801D06E8: /* 801D06E8 001CC348 2C 05 00 00 */ cmpwi r5, 0 /* 801D06EC 001CC34C 41 82 00 08 */ beq lbl_801D06F4 /* 801D06F0 001CC350 7C 63 00 D0 */ neg r3, r3 lbl_801D06F4: /* 801D06F4 001CC354 80 01 00 34 */ lwz r0, 0x34(r1) /* 801D06F8 001CC358 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801D06FC 001CC35C 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801D0700 001CC360 7C 08 03 A6 */ mtlr r0 /* 801D0704 001CC364 38 21 00 30 */ addi r1, r1, 0x30 /* 801D0708 001CC368 4E 80 00 20 */ blr .global func_801D070C func_801D070C: /* 801D070C 001CC36C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801D0710 001CC370 7C 08 02 A6 */ mflr r0 /* 801D0714 001CC374 3C A0 80 1D */ lis r5, lbl_801CE178@ha /* 801D0718 001CC378 90 01 00 34 */ stw r0, 0x34(r1) /* 801D071C 001CC37C 38 00 00 00 */ li r0, 0 /* 801D0720 001CC380 38 A5 E1 78 */ addi r5, r5, lbl_801CE178@l /* 801D0724 001CC384 38 C1 00 18 */ addi r6, r1, 0x18 /* 801D0728 001CC388 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801D072C 001CC38C 3F E0 80 00 */ lis r31, 0x7FFFFFFF@ha /* 801D0730 001CC390 38 9F FF FF */ addi r4, r31, 0x7FFFFFFF@l /* 801D0734 001CC394 38 E1 00 08 */ addi r7, r1, 8 /* 801D0738 001CC398 90 61 00 18 */ stw r3, 0x18(r1) /* 801D073C 001CC39C 39 01 00 0C */ addi r8, r1, 0xc /* 801D0740 001CC3A0 39 21 00 10 */ addi r9, r1, 0x10 /* 801D0744 001CC3A4 38 60 00 0A */ li r3, 0xa /* 801D0748 001CC3A8 90 01 00 1C */ stw r0, 0x1c(r1) /* 801D074C 001CC3AC 4B FF F5 39 */ bl func_801CFC84 /* 801D0750 001CC3B0 80 01 00 10 */ lwz r0, 0x10(r1) /* 801D0754 001CC3B4 2C 00 00 00 */ cmpwi r0, 0 /* 801D0758 001CC3B8 40 82 00 30 */ bne lbl_801D0788 /* 801D075C 001CC3BC 80 81 00 0C */ lwz r4, 0xc(r1) /* 801D0760 001CC3C0 2C 04 00 00 */ cmpwi r4, 0 /* 801D0764 001CC3C4 40 82 00 10 */ bne lbl_801D0774 /* 801D0768 001CC3C8 38 1F FF FF */ addi r0, r31, -1 /* 801D076C 001CC3CC 7C 03 00 40 */ cmplw r3, r0 /* 801D0770 001CC3D0 41 81 00 18 */ bgt lbl_801D0788 lbl_801D0774: /* 801D0774 001CC3D4 2C 04 00 00 */ cmpwi r4, 0 /* 801D0778 001CC3D8 41 82 00 38 */ beq lbl_801D07B0 /* 801D077C 001CC3DC 3C 00 80 00 */ lis r0, 0x8000 /* 801D0780 001CC3E0 7C 03 00 40 */ cmplw r3, r0 /* 801D0784 001CC3E4 40 81 00 2C */ ble lbl_801D07B0 lbl_801D0788: /* 801D0788 001CC3E8 80 A1 00 0C */ lwz r5, 0xc(r1) /* 801D078C 001CC3EC 38 00 00 22 */ li r0, 0x22 /* 801D0790 001CC3F0 3C 60 80 00 */ lis r3, 0x7FFFFFFF@ha /* 801D0794 001CC3F4 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13) /* 801D0798 001CC3F8 7C 85 00 D0 */ neg r4, r5 /* 801D079C 001CC3FC 7C 84 2B 78 */ or r4, r4, r5 /* 801D07A0 001CC400 38 03 FF FF */ addi r0, r3, 0x7FFFFFFF@l /* 801D07A4 001CC404 54 83 0F FE */ srwi r3, r4, 0x1f /* 801D07A8 001CC408 7C 63 02 14 */ add r3, r3, r0 /* 801D07AC 001CC40C 48 00 00 10 */ b lbl_801D07BC lbl_801D07B0: /* 801D07B0 001CC410 2C 04 00 00 */ cmpwi r4, 0 /* 801D07B4 001CC414 41 82 00 08 */ beq lbl_801D07BC /* 801D07B8 001CC418 7C 63 00 D0 */ neg r3, r3 lbl_801D07BC: /* 801D07BC 001CC41C 80 01 00 34 */ lwz r0, 0x34(r1) /* 801D07C0 001CC420 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801D07C4 001CC424 7C 08 03 A6 */ mtlr r0 /* 801D07C8 001CC428 38 21 00 30 */ addi r1, r1, 0x30 /* 801D07CC 001CC42C 4E 80 00 20 */ blr .global func_801D07D0 func_801D07D0: /* 801D07D0 001CC430 38 83 FF FE */ addi r4, r3, -2 /* 801D07D4 001CC434 38 60 FF FF */ li r3, -1 lbl_801D07D8: /* 801D07D8 001CC438 A4 04 00 02 */ lhzu r0, 2(r4) /* 801D07DC 001CC43C 38 63 00 01 */ addi r3, r3, 1 /* 801D07E0 001CC440 2C 00 00 00 */ cmpwi r0, 0 /* 801D07E4 001CC444 40 82 FF F4 */ bne lbl_801D07D8 /* 801D07E8 001CC448 4E 80 00 20 */ blr .global func_801D07EC func_801D07EC: /* 801D07EC 001CC44C 38 84 FF FE */ addi r4, r4, -2 /* 801D07F0 001CC450 38 C3 FF FE */ addi r6, r3, -2 /* 801D07F4 001CC454 38 A5 00 01 */ addi r5, r5, 1 /* 801D07F8 001CC458 48 00 00 2C */ b lbl_801D0824 lbl_801D07FC: /* 801D07FC 001CC45C A4 04 00 02 */ lhzu r0, 2(r4) /* 801D0800 001CC460 2C 00 00 00 */ cmpwi r0, 0 /* 801D0804 001CC464 B4 06 00 02 */ sthu r0, 2(r6) /* 801D0808 001CC468 40 82 00 1C */ bne lbl_801D0824 /* 801D080C 001CC46C 38 00 00 00 */ li r0, 0 /* 801D0810 001CC470 48 00 00 08 */ b lbl_801D0818 lbl_801D0814: /* 801D0814 001CC474 B4 06 00 02 */ sthu r0, 2(r6) lbl_801D0818: /* 801D0818 001CC478 34 A5 FF FF */ addic. r5, r5, -1 /* 801D081C 001CC47C 40 82 FF F8 */ bne lbl_801D0814 /* 801D0820 001CC480 4E 80 00 20 */ blr lbl_801D0824: /* 801D0824 001CC484 34 A5 FF FF */ addic. r5, r5, -1 /* 801D0828 001CC488 40 82 FF D4 */ bne lbl_801D07FC /* 801D082C 001CC48C 4E 80 00 20 */ blr .global func_801D0830 func_801D0830: /* 801D0830 001CC490 38 A3 FF FE */ addi r5, r3, -2 /* 801D0834 001CC494 38 84 FF FE */ addi r4, r4, -2 /* 801D0838 001CC498 48 00 00 14 */ b lbl_801D084C lbl_801D083C: /* 801D083C 001CC49C 2C 03 00 00 */ cmpwi r3, 0 /* 801D0840 001CC4A0 40 82 00 0C */ bne lbl_801D084C /* 801D0844 001CC4A4 38 60 00 00 */ li r3, 0 /* 801D0848 001CC4A8 4E 80 00 20 */ blr lbl_801D084C: /* 801D084C 001CC4AC A4 65 00 02 */ lhzu r3, 2(r5) /* 801D0850 001CC4B0 A4 04 00 02 */ lhzu r0, 2(r4) /* 801D0854 001CC4B4 7C 03 00 40 */ cmplw r3, r0 /* 801D0858 001CC4B8 41 82 FF E4 */ beq lbl_801D083C /* 801D085C 001CC4BC 7C 60 18 50 */ subf r3, r0, r3 /* 801D0860 001CC4C0 4E 80 00 20 */ blr .global func_801D0864 func_801D0864: /* 801D0864 001CC4C4 2C 03 00 00 */ cmpwi r3, 0 /* 801D0868 001CC4C8 41 82 00 10 */ beq lbl_801D0878 /* 801D086C 001CC4CC 80 A3 00 04 */ lwz r5, 4(r3) /* 801D0870 001CC4D0 54 A0 57 7F */ rlwinm. r0, r5, 0xa, 0x1d, 0x1f /* 801D0874 001CC4D4 40 82 00 0C */ bne lbl_801D0880 lbl_801D0878: /* 801D0878 001CC4D8 38 60 00 00 */ li r3, 0 /* 801D087C 001CC4DC 4E 80 00 20 */ blr lbl_801D0880: /* 801D0880 001CC4E0 54 A0 67 BE */ rlwinm r0, r5, 0xc, 0x1e, 0x1f /* 801D0884 001CC4E4 2C 00 00 01 */ cmpwi r0, 1 /* 801D0888 001CC4E8 41 82 00 54 */ beq lbl_801D08DC /* 801D088C 001CC4EC 40 80 00 10 */ bge lbl_801D089C /* 801D0890 001CC4F0 2C 00 00 00 */ cmpwi r0, 0 /* 801D0894 001CC4F4 40 80 00 14 */ bge lbl_801D08A8 /* 801D0898 001CC4F8 48 00 00 48 */ b lbl_801D08E0 lbl_801D089C: /* 801D089C 001CC4FC 2C 00 00 03 */ cmpwi r0, 3 /* 801D08A0 001CC500 40 80 00 40 */ bge lbl_801D08E0 /* 801D08A4 001CC504 48 00 00 30 */ b lbl_801D08D4 lbl_801D08A8: /* 801D08A8 001CC508 2C 04 00 00 */ cmpwi r4, 0 /* 801D08AC 001CC50C 40 81 00 14 */ ble lbl_801D08C0 /* 801D08B0 001CC510 38 00 00 02 */ li r0, 2 /* 801D08B4 001CC514 50 05 A2 96 */ rlwimi r5, r0, 0x14, 0xa, 0xb /* 801D08B8 001CC518 90 A3 00 04 */ stw r5, 4(r3) /* 801D08BC 001CC51C 48 00 00 24 */ b lbl_801D08E0 lbl_801D08C0: /* 801D08C0 001CC520 40 80 00 20 */ bge lbl_801D08E0 /* 801D08C4 001CC524 38 00 00 01 */ li r0, 1 /* 801D08C8 001CC528 50 05 A2 96 */ rlwimi r5, r0, 0x14, 0xa, 0xb /* 801D08CC 001CC52C 90 A3 00 04 */ stw r5, 4(r3) /* 801D08D0 001CC530 48 00 00 10 */ b lbl_801D08E0 lbl_801D08D4: /* 801D08D4 001CC534 38 80 00 01 */ li r4, 1 /* 801D08D8 001CC538 48 00 00 08 */ b lbl_801D08E0 lbl_801D08DC: /* 801D08DC 001CC53C 38 80 FF FF */ li r4, -1 lbl_801D08E0: /* 801D08E0 001CC540 7C 83 23 78 */ mr r3, r4 /* 801D08E4 001CC544 4E 80 00 20 */ blr .global __write_console __write_console: /* 801D08E8 001CC548 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D08EC 001CC54C 7C 08 02 A6 */ mflr r0 /* 801D08F0 001CC550 90 01 00 24 */ stw r0, 0x24(r1) /* 801D08F4 001CC554 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D08F8 001CC558 7C DF 33 78 */ mr r31, r6 /* 801D08FC 001CC55C 93 C1 00 18 */ stw r30, 0x18(r1) /* 801D0900 001CC560 7C BE 2B 78 */ mr r30, r5 /* 801D0904 001CC564 93 A1 00 14 */ stw r29, 0x14(r1) /* 801D0908 001CC568 7C 9D 23 78 */ mr r29, r4 /* 801D090C 001CC56C 93 81 00 10 */ stw r28, 0x10(r1) /* 801D0910 001CC570 7C 7C 1B 78 */ mr r28, r3 /* 801D0914 001CC574 48 09 7C 19 */ bl OSGetConsoleType /* 801D0918 001CC578 54 60 00 85 */ rlwinm. r0, r3, 0, 2, 2 /* 801D091C 001CC57C 40 82 00 64 */ bne lbl_801D0980 /* 801D0920 001CC580 80 0D 9F D0 */ lwz r0, lbl_8063F290-_SDA_BASE_(r13) /* 801D0924 001CC584 38 60 00 00 */ li r3, 0 /* 801D0928 001CC588 2C 00 00 00 */ cmpwi r0, 0 /* 801D092C 001CC58C 40 82 00 20 */ bne lbl_801D094C /* 801D0930 001CC590 3C 60 00 01 */ lis r3, 0x0000E100@ha /* 801D0934 001CC594 38 63 E1 00 */ addi r3, r3, 0x0000E100@l /* 801D0938 001CC598 48 0E 30 75 */ bl func_802B39AC /* 801D093C 001CC59C 2C 03 00 00 */ cmpwi r3, 0 /* 801D0940 001CC5A0 40 82 00 0C */ bne lbl_801D094C /* 801D0944 001CC5A4 38 00 00 01 */ li r0, 1 /* 801D0948 001CC5A8 90 0D 9F D0 */ stw r0, lbl_8063F290-_SDA_BASE_(r13) lbl_801D094C: /* 801D094C 001CC5AC 2C 03 00 00 */ cmpwi r3, 0 /* 801D0950 001CC5B0 41 82 00 0C */ beq lbl_801D095C /* 801D0954 001CC5B4 38 60 00 01 */ li r3, 1 /* 801D0958 001CC5B8 48 00 00 40 */ b lbl_801D0998 lbl_801D095C: /* 801D095C 001CC5BC 80 9E 00 00 */ lwz r4, 0(r30) /* 801D0960 001CC5C0 7F A3 EB 78 */ mr r3, r29 /* 801D0964 001CC5C4 48 0E 30 91 */ bl func_802B39F4 /* 801D0968 001CC5C8 2C 03 00 00 */ cmpwi r3, 0 /* 801D096C 001CC5CC 41 82 00 14 */ beq lbl_801D0980 /* 801D0970 001CC5D0 38 00 00 00 */ li r0, 0 /* 801D0974 001CC5D4 38 60 00 01 */ li r3, 1 /* 801D0978 001CC5D8 90 1E 00 00 */ stw r0, 0(r30) /* 801D097C 001CC5DC 48 00 00 1C */ b lbl_801D0998 lbl_801D0980: /* 801D0980 001CC5E0 7F 83 E3 78 */ mr r3, r28 /* 801D0984 001CC5E4 7F A4 EB 78 */ mr r4, r29 /* 801D0988 001CC5E8 7F C5 F3 78 */ mr r5, r30 /* 801D098C 001CC5EC 7F E6 FB 78 */ mr r6, r31 /* 801D0990 001CC5F0 48 00 86 31 */ bl func_801D8FC0 /* 801D0994 001CC5F4 38 60 00 00 */ li r3, 0 lbl_801D0998: /* 801D0998 001CC5F8 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D099C 001CC5FC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D09A0 001CC600 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801D09A4 001CC604 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801D09A8 001CC608 83 81 00 10 */ lwz r28, 0x10(r1) /* 801D09AC 001CC60C 7C 08 03 A6 */ mtlr r0 /* 801D09B0 001CC610 38 21 00 20 */ addi r1, r1, 0x20 /* 801D09B4 001CC614 4E 80 00 20 */ blr /* 801D09B8 001CC618 38 60 00 00 */ li r3, 0 /* 801D09BC 001CC61C 4E 80 00 20 */ blr .global func_801D09C0 func_801D09C0: /* 801D09C0 001CC620 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D09C4 001CC624 7C 08 02 A6 */ mflr r0 /* 801D09C8 001CC628 90 01 00 24 */ stw r0, 0x24(r1) /* 801D09CC 001CC62C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D09D0 001CC630 7C 7F 1B 78 */ mr r31, r3 /* 801D09D4 001CC634 38 61 00 08 */ addi r3, r1, 8 /* 801D09D8 001CC638 48 00 38 B9 */ bl func_801D4290 /* 801D09DC 001CC63C 80 01 00 08 */ lwz r0, 8(r1) /* 801D09E0 001CC640 7C 60 FA 14 */ add r3, r0, r31 /* 801D09E4 001CC644 90 61 00 08 */ stw r3, 8(r1) /* 801D09E8 001CC648 48 00 39 31 */ bl func_801D4318 /* 801D09EC 001CC64C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D09F0 001CC650 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D09F4 001CC654 7C 08 03 A6 */ mtlr r0 /* 801D09F8 001CC658 38 21 00 20 */ addi r1, r1, 0x20 /* 801D09FC 001CC65C 4E 80 00 20 */ blr .global func_801D0A00 func_801D0A00: /* 801D0A00 001CC660 3C A0 80 42 */ lis r5, lbl_80422D48@ha /* 801D0A04 001CC664 38 A5 2D 48 */ addi r5, r5, lbl_80422D48@l /* 801D0A08 001CC668 80 C5 00 38 */ lwz r6, 0x38(r5) lbl_801D0A0C: /* 801D0A0C 001CC66C 88 A3 00 00 */ lbz r5, 0(r3) /* 801D0A10 001CC670 38 00 00 00 */ li r0, 0 /* 801D0A14 001CC674 38 63 00 01 */ addi r3, r3, 1 /* 801D0A18 001CC678 7C A7 07 75 */ extsb. r7, r5 /* 801D0A1C 001CC67C 41 80 00 0C */ blt lbl_801D0A28 /* 801D0A20 001CC680 2C 07 01 00 */ cmpwi r7, 0x100 /* 801D0A24 001CC684 41 80 00 08 */ blt lbl_801D0A2C lbl_801D0A28: /* 801D0A28 001CC688 38 00 00 01 */ li r0, 1 lbl_801D0A2C: /* 801D0A2C 001CC68C 2C 00 00 00 */ cmpwi r0, 0 /* 801D0A30 001CC690 41 82 00 08 */ beq lbl_801D0A38 /* 801D0A34 001CC694 48 00 00 0C */ b lbl_801D0A40 lbl_801D0A38: /* 801D0A38 001CC698 80 A6 00 10 */ lwz r5, 0x10(r6) /* 801D0A3C 001CC69C 7C E5 38 AE */ lbzx r7, r5, r7 lbl_801D0A40: /* 801D0A40 001CC6A0 88 A4 00 00 */ lbz r5, 0(r4) /* 801D0A44 001CC6A4 7C E8 07 74 */ extsb r8, r7 /* 801D0A48 001CC6A8 38 00 00 00 */ li r0, 0 /* 801D0A4C 001CC6AC 38 84 00 01 */ addi r4, r4, 1 /* 801D0A50 001CC6B0 7C A7 07 75 */ extsb. r7, r5 /* 801D0A54 001CC6B4 41 80 00 0C */ blt lbl_801D0A60 /* 801D0A58 001CC6B8 2C 07 01 00 */ cmpwi r7, 0x100 /* 801D0A5C 001CC6BC 41 80 00 08 */ blt lbl_801D0A64 lbl_801D0A60: /* 801D0A60 001CC6C0 38 00 00 01 */ li r0, 1 lbl_801D0A64: /* 801D0A64 001CC6C4 2C 00 00 00 */ cmpwi r0, 0 /* 801D0A68 001CC6C8 41 82 00 08 */ beq lbl_801D0A70 /* 801D0A6C 001CC6CC 48 00 00 0C */ b lbl_801D0A78 lbl_801D0A70: /* 801D0A70 001CC6D0 80 A6 00 10 */ lwz r5, 0x10(r6) /* 801D0A74 001CC6D4 7C E5 38 AE */ lbzx r7, r5, r7 lbl_801D0A78: /* 801D0A78 001CC6D8 7C E0 07 74 */ extsb r0, r7 /* 801D0A7C 001CC6DC 7C 08 00 00 */ cmpw r8, r0 /* 801D0A80 001CC6E0 40 80 00 0C */ bge lbl_801D0A8C /* 801D0A84 001CC6E4 38 60 FF FF */ li r3, -1 /* 801D0A88 001CC6E8 4E 80 00 20 */ blr lbl_801D0A8C: /* 801D0A8C 001CC6EC 40 81 00 0C */ ble lbl_801D0A98 /* 801D0A90 001CC6F0 38 60 00 01 */ li r3, 1 /* 801D0A94 001CC6F4 4E 80 00 20 */ blr lbl_801D0A98: /* 801D0A98 001CC6F8 2C 08 00 00 */ cmpwi r8, 0 /* 801D0A9C 001CC6FC 40 82 FF 70 */ bne lbl_801D0A0C /* 801D0AA0 001CC700 38 60 00 00 */ li r3, 0 /* 801D0AA4 001CC704 4E 80 00 20 */ blr .global func_801D0AA8 func_801D0AA8: /* 801D0AA8 001CC708 4B FF 93 18 */ b func_801C9DC0 .global func_801D0AAC func_801D0AAC: /* 801D0AAC 001CC70C 3C A0 80 42 */ lis r5, lbl_80422D48@ha /* 801D0AB0 001CC710 38 A5 2D 48 */ addi r5, r5, lbl_80422D48@l /* 801D0AB4 001CC714 80 C5 00 38 */ lwz r6, 0x38(r5) lbl_801D0AB8: /* 801D0AB8 001CC718 88 A3 00 00 */ lbz r5, 0(r3) /* 801D0ABC 001CC71C 38 00 00 00 */ li r0, 0 /* 801D0AC0 001CC720 38 63 00 01 */ addi r3, r3, 1 /* 801D0AC4 001CC724 7C A7 07 75 */ extsb. r7, r5 /* 801D0AC8 001CC728 41 80 00 0C */ blt lbl_801D0AD4 /* 801D0ACC 001CC72C 2C 07 01 00 */ cmpwi r7, 0x100 /* 801D0AD0 001CC730 41 80 00 08 */ blt lbl_801D0AD8 lbl_801D0AD4: /* 801D0AD4 001CC734 38 00 00 01 */ li r0, 1 lbl_801D0AD8: /* 801D0AD8 001CC738 2C 00 00 00 */ cmpwi r0, 0 /* 801D0ADC 001CC73C 41 82 00 08 */ beq lbl_801D0AE4 /* 801D0AE0 001CC740 48 00 00 0C */ b lbl_801D0AEC lbl_801D0AE4: /* 801D0AE4 001CC744 80 A6 00 10 */ lwz r5, 0x10(r6) /* 801D0AE8 001CC748 7C E5 38 AE */ lbzx r7, r5, r7 lbl_801D0AEC: /* 801D0AEC 001CC74C 88 A4 00 00 */ lbz r5, 0(r4) /* 801D0AF0 001CC750 7C E8 07 74 */ extsb r8, r7 /* 801D0AF4 001CC754 38 00 00 00 */ li r0, 0 /* 801D0AF8 001CC758 38 84 00 01 */ addi r4, r4, 1 /* 801D0AFC 001CC75C 7C A7 07 75 */ extsb. r7, r5 /* 801D0B00 001CC760 41 80 00 0C */ blt lbl_801D0B0C /* 801D0B04 001CC764 2C 07 01 00 */ cmpwi r7, 0x100 /* 801D0B08 001CC768 41 80 00 08 */ blt lbl_801D0B10 lbl_801D0B0C: /* 801D0B0C 001CC76C 38 00 00 01 */ li r0, 1 lbl_801D0B10: /* 801D0B10 001CC770 2C 00 00 00 */ cmpwi r0, 0 /* 801D0B14 001CC774 41 82 00 08 */ beq lbl_801D0B1C /* 801D0B18 001CC778 48 00 00 0C */ b lbl_801D0B24 lbl_801D0B1C: /* 801D0B1C 001CC77C 80 A6 00 10 */ lwz r5, 0x10(r6) /* 801D0B20 001CC780 7C E5 38 AE */ lbzx r7, r5, r7 lbl_801D0B24: /* 801D0B24 001CC784 7C E0 07 74 */ extsb r0, r7 /* 801D0B28 001CC788 7C 08 00 00 */ cmpw r8, r0 /* 801D0B2C 001CC78C 40 80 00 0C */ bge lbl_801D0B38 /* 801D0B30 001CC790 38 60 FF FF */ li r3, -1 /* 801D0B34 001CC794 4E 80 00 20 */ blr lbl_801D0B38: /* 801D0B38 001CC798 40 81 00 0C */ ble lbl_801D0B44 /* 801D0B3C 001CC79C 38 60 00 01 */ li r3, 1 /* 801D0B40 001CC7A0 4E 80 00 20 */ blr lbl_801D0B44: /* 801D0B44 001CC7A4 2C 08 00 00 */ cmpwi r8, 0 /* 801D0B48 001CC7A8 40 82 FF 70 */ bne lbl_801D0AB8 /* 801D0B4C 001CC7AC 38 60 00 00 */ li r3, 0 /* 801D0B50 001CC7B0 4E 80 00 20 */ blr .global func_801D0B54 func_801D0B54: /* 801D0B54 001CC7B4 3C A0 80 42 */ lis r5, lbl_80422D48@ha /* 801D0B58 001CC7B8 38 A5 2D 48 */ addi r5, r5, lbl_80422D48@l /* 801D0B5C 001CC7BC 80 C5 00 38 */ lwz r6, 0x38(r5) lbl_801D0B60: /* 801D0B60 001CC7C0 88 A3 00 00 */ lbz r5, 0(r3) /* 801D0B64 001CC7C4 38 00 00 00 */ li r0, 0 /* 801D0B68 001CC7C8 38 63 00 01 */ addi r3, r3, 1 /* 801D0B6C 001CC7CC 7C A7 07 75 */ extsb. r7, r5 /* 801D0B70 001CC7D0 41 80 00 0C */ blt lbl_801D0B7C /* 801D0B74 001CC7D4 2C 07 01 00 */ cmpwi r7, 0x100 /* 801D0B78 001CC7D8 41 80 00 08 */ blt lbl_801D0B80 lbl_801D0B7C: /* 801D0B7C 001CC7DC 38 00 00 01 */ li r0, 1 lbl_801D0B80: /* 801D0B80 001CC7E0 2C 00 00 00 */ cmpwi r0, 0 /* 801D0B84 001CC7E4 41 82 00 08 */ beq lbl_801D0B8C /* 801D0B88 001CC7E8 48 00 00 0C */ b lbl_801D0B94 lbl_801D0B8C: /* 801D0B8C 001CC7EC 80 A6 00 10 */ lwz r5, 0x10(r6) /* 801D0B90 001CC7F0 7C E5 38 AE */ lbzx r7, r5, r7 lbl_801D0B94: /* 801D0B94 001CC7F4 88 A4 00 00 */ lbz r5, 0(r4) /* 801D0B98 001CC7F8 7C E8 07 74 */ extsb r8, r7 /* 801D0B9C 001CC7FC 38 00 00 00 */ li r0, 0 /* 801D0BA0 001CC800 38 84 00 01 */ addi r4, r4, 1 /* 801D0BA4 001CC804 7C A7 07 75 */ extsb. r7, r5 /* 801D0BA8 001CC808 41 80 00 0C */ blt lbl_801D0BB4 /* 801D0BAC 001CC80C 2C 07 01 00 */ cmpwi r7, 0x100 /* 801D0BB0 001CC810 41 80 00 08 */ blt lbl_801D0BB8 lbl_801D0BB4: /* 801D0BB4 001CC814 38 00 00 01 */ li r0, 1 lbl_801D0BB8: /* 801D0BB8 001CC818 2C 00 00 00 */ cmpwi r0, 0 /* 801D0BBC 001CC81C 41 82 00 08 */ beq lbl_801D0BC4 /* 801D0BC0 001CC820 48 00 00 0C */ b lbl_801D0BCC lbl_801D0BC4: /* 801D0BC4 001CC824 80 A6 00 10 */ lwz r5, 0x10(r6) /* 801D0BC8 001CC828 7C E5 38 AE */ lbzx r7, r5, r7 lbl_801D0BCC: /* 801D0BCC 001CC82C 7C E0 07 74 */ extsb r0, r7 /* 801D0BD0 001CC830 7C 08 00 00 */ cmpw r8, r0 /* 801D0BD4 001CC834 40 80 00 0C */ bge lbl_801D0BE0 /* 801D0BD8 001CC838 38 60 FF FF */ li r3, -1 /* 801D0BDC 001CC83C 4E 80 00 20 */ blr lbl_801D0BE0: /* 801D0BE0 001CC840 40 81 00 0C */ ble lbl_801D0BEC /* 801D0BE4 001CC844 38 60 00 01 */ li r3, 1 /* 801D0BE8 001CC848 4E 80 00 20 */ blr lbl_801D0BEC: /* 801D0BEC 001CC84C 2C 08 00 00 */ cmpwi r8, 0 /* 801D0BF0 001CC850 40 82 FF 70 */ bne lbl_801D0B60 /* 801D0BF4 001CC854 38 60 00 00 */ li r3, 0 /* 801D0BF8 001CC858 4E 80 00 20 */ blr lbl_801D0BFC: /* 801D0BFC 001CC85C 94 21 FF C0 */ stwu r1, -0x40(r1) /* 801D0C00 001CC860 7C 08 02 A6 */ mflr r0 /* 801D0C04 001CC864 90 01 00 44 */ stw r0, 0x44(r1) /* 801D0C08 001CC868 DB E1 00 30 */ stfd f31, 0x30(r1) /* 801D0C0C 001CC86C F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 801D0C10 001CC870 DB C1 00 20 */ stfd f30, 0x20(r1) /* 801D0C14 001CC874 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0 /* 801D0C18 001CC878 D8 21 00 08 */ stfd f1, 8(r1) /* 801D0C1C 001CC87C 3C 00 3F F0 */ lis r0, 0x3ff0 /* 801D0C20 001CC880 80 81 00 08 */ lwz r4, 8(r1) /* 801D0C24 001CC884 54 83 00 7E */ clrlwi r3, r4, 1 /* 801D0C28 001CC888 7C 03 00 00 */ cmpw r3, r0 /* 801D0C2C 001CC88C 41 80 00 38 */ blt lbl_801D0C64 /* 801D0C30 001CC890 80 01 00 0C */ lwz r0, 0xc(r1) /* 801D0C34 001CC894 3C 63 C0 10 */ addis r3, r3, 0xc010 /* 801D0C38 001CC898 7C 60 03 79 */ or. r0, r3, r0 /* 801D0C3C 001CC89C 40 82 00 1C */ bne lbl_801D0C58 /* 801D0C40 001CC8A0 2C 04 00 00 */ cmpwi r4, 0 /* 801D0C44 001CC8A4 40 81 00 0C */ ble lbl_801D0C50 /* 801D0C48 001CC8A8 C8 22 91 90 */ lfd f1, lbl_80641790-_SDA2_BASE_(r2) /* 801D0C4C 001CC8AC 48 00 02 54 */ b lbl_801D0EA0 lbl_801D0C50: /* 801D0C50 001CC8B0 C8 22 91 98 */ lfd f1, lbl_80641798-_SDA2_BASE_(r2) /* 801D0C54 001CC8B4 48 00 02 4C */ b lbl_801D0EA0 lbl_801D0C58: /* 801D0C58 001CC8B8 3C 60 80 64 */ lis r3, lbl_8063D6B8@ha /* 801D0C5C 001CC8BC C0 23 D6 B8 */ lfs f1, lbl_8063D6B8@l(r3) /* 801D0C60 001CC8C0 48 00 02 40 */ b lbl_801D0EA0 lbl_801D0C64: /* 801D0C64 001CC8C4 3C 00 3F E0 */ lis r0, 0x3fe0 /* 801D0C68 001CC8C8 7C 03 00 00 */ cmpw r3, r0 /* 801D0C6C 001CC8CC 40 80 00 B4 */ bge lbl_801D0D20 /* 801D0C70 001CC8D0 3C 00 3C 60 */ lis r0, 0x3c60 /* 801D0C74 001CC8D4 7C 03 00 00 */ cmpw r3, r0 /* 801D0C78 001CC8D8 41 81 00 0C */ bgt lbl_801D0C84 /* 801D0C7C 001CC8DC C8 22 91 A0 */ lfd f1, lbl_806417A0-_SDA2_BASE_(r2) /* 801D0C80 001CC8E0 48 00 02 20 */ b lbl_801D0EA0 lbl_801D0C84: /* 801D0C84 001CC8E4 FD 81 00 72 */ fmul f12, f1, f1 /* 801D0C88 001CC8E8 C8 02 91 D0 */ lfd f0, lbl_806417D0-_SDA2_BASE_(r2) /* 801D0C8C 001CC8EC C8 42 91 F8 */ lfd f2, lbl_806417F8-_SDA2_BASE_(r2) /* 801D0C90 001CC8F0 C8 62 91 C8 */ lfd f3, lbl_806417C8-_SDA2_BASE_(r2) /* 801D0C94 001CC8F4 C9 42 91 C0 */ lfd f10, lbl_806417C0-_SDA2_BASE_(r2) /* 801D0C98 001CC8F8 FC 80 03 32 */ fmul f4, f0, f12 /* 801D0C9C 001CC8FC C8 02 91 F0 */ lfd f0, lbl_806417F0-_SDA2_BASE_(r2) /* 801D0CA0 001CC900 FC 42 03 32 */ fmul f2, f2, f12 /* 801D0CA4 001CC904 C8 A2 91 E8 */ lfd f5, lbl_806417E8-_SDA2_BASE_(r2) /* 801D0CA8 001CC908 C9 22 91 B8 */ lfd f9, lbl_806417B8-_SDA2_BASE_(r2) /* 801D0CAC 001CC90C FC 63 20 2A */ fadd f3, f3, f4 /* 801D0CB0 001CC910 C8 82 91 E0 */ lfd f4, lbl_806417E0-_SDA2_BASE_(r2) /* 801D0CB4 001CC914 FC 00 10 2A */ fadd f0, f0, f2 /* 801D0CB8 001CC918 FD 6C 00 F2 */ fmul f11, f12, f3 /* 801D0CBC 001CC91C C9 02 91 B0 */ lfd f8, lbl_806417B0-_SDA2_BASE_(r2) /* 801D0CC0 001CC920 C8 62 91 D8 */ lfd f3, lbl_806417D8-_SDA2_BASE_(r2) /* 801D0CC4 001CC924 FC CC 00 32 */ fmul f6, f12, f0 /* 801D0CC8 001CC928 C8 E2 91 A8 */ lfd f7, lbl_806417A8-_SDA2_BASE_(r2) /* 801D0CCC 001CC92C C8 42 92 00 */ lfd f2, lbl_80641800-_SDA2_BASE_(r2) /* 801D0CD0 001CC930 FD 4A 58 2A */ fadd f10, f10, f11 /* 801D0CD4 001CC934 C8 02 91 A0 */ lfd f0, lbl_806417A0-_SDA2_BASE_(r2) /* 801D0CD8 001CC938 FC A5 30 2A */ fadd f5, f5, f6 /* 801D0CDC 001CC93C FC CC 02 B2 */ fmul f6, f12, f10 /* 801D0CE0 001CC940 FC AC 01 72 */ fmul f5, f12, f5 /* 801D0CE4 001CC944 FC C9 30 2A */ fadd f6, f9, f6 /* 801D0CE8 001CC948 FC 84 28 2A */ fadd f4, f4, f5 /* 801D0CEC 001CC94C FC AC 01 B2 */ fmul f5, f12, f6 /* 801D0CF0 001CC950 FC 8C 01 32 */ fmul f4, f12, f4 /* 801D0CF4 001CC954 FC A8 28 2A */ fadd f5, f8, f5 /* 801D0CF8 001CC958 FC 83 20 2A */ fadd f4, f3, f4 /* 801D0CFC 001CC95C FC 6C 01 72 */ fmul f3, f12, f5 /* 801D0D00 001CC960 FC 67 18 2A */ fadd f3, f7, f3 /* 801D0D04 001CC964 FC 6C 00 F2 */ fmul f3, f12, f3 /* 801D0D08 001CC968 FC 63 20 24 */ fdiv f3, f3, f4 /* 801D0D0C 001CC96C FC 61 00 F2 */ fmul f3, f1, f3 /* 801D0D10 001CC970 FC 42 18 28 */ fsub f2, f2, f3 /* 801D0D14 001CC974 FC 21 10 28 */ fsub f1, f1, f2 /* 801D0D18 001CC978 FC 20 08 28 */ fsub f1, f0, f1 /* 801D0D1C 001CC97C 48 00 01 84 */ b lbl_801D0EA0 lbl_801D0D20: /* 801D0D20 001CC980 2C 04 00 00 */ cmpwi r4, 0 /* 801D0D24 001CC984 40 80 00 B4 */ bge lbl_801D0DD8 /* 801D0D28 001CC988 C9 62 91 D8 */ lfd f11, lbl_806417D8-_SDA2_BASE_(r2) /* 801D0D2C 001CC98C C8 02 92 08 */ lfd f0, lbl_80641808-_SDA2_BASE_(r2) /* 801D0D30 001CC990 FC 2B 08 2A */ fadd f1, f11, f1 /* 801D0D34 001CC994 C8 82 91 D0 */ lfd f4, lbl_806417D0-_SDA2_BASE_(r2) /* 801D0D38 001CC998 C9 22 91 C8 */ lfd f9, lbl_806417C8-_SDA2_BASE_(r2) /* 801D0D3C 001CC99C C8 62 91 F0 */ lfd f3, lbl_806417F0-_SDA2_BASE_(r2) /* 801D0D40 001CC9A0 FC 20 00 72 */ fmul f1, f0, f1 /* 801D0D44 001CC9A4 C8 02 91 F8 */ lfd f0, lbl_806417F8-_SDA2_BASE_(r2) /* 801D0D48 001CC9A8 C9 02 91 C0 */ lfd f8, lbl_806417C0-_SDA2_BASE_(r2) /* 801D0D4C 001CC9AC C8 42 91 E8 */ lfd f2, lbl_806417E8-_SDA2_BASE_(r2) /* 801D0D50 001CC9B0 C8 E2 91 B8 */ lfd f7, lbl_806417B8-_SDA2_BASE_(r2) /* 801D0D54 001CC9B4 FD 44 00 72 */ fmul f10, f4, f1 /* 801D0D58 001CC9B8 C8 C2 91 B0 */ lfd f6, lbl_806417B0-_SDA2_BASE_(r2) /* 801D0D5C 001CC9BC FC 80 00 72 */ fmul f4, f0, f1 /* 801D0D60 001CC9C0 C8 02 91 E0 */ lfd f0, lbl_806417E0-_SDA2_BASE_(r2) /* 801D0D64 001CC9C4 C8 A2 91 A8 */ lfd f5, lbl_806417A8-_SDA2_BASE_(r2) /* 801D0D68 001CC9C8 FD 29 50 2A */ fadd f9, f9, f10 /* 801D0D6C 001CC9CC FC 63 20 2A */ fadd f3, f3, f4 /* 801D0D70 001CC9D0 FC 81 02 72 */ fmul f4, f1, f9 /* 801D0D74 001CC9D4 FC 61 00 F2 */ fmul f3, f1, f3 /* 801D0D78 001CC9D8 FC 88 20 2A */ fadd f4, f8, f4 /* 801D0D7C 001CC9DC FC 42 18 2A */ fadd f2, f2, f3 /* 801D0D80 001CC9E0 FC 61 01 32 */ fmul f3, f1, f4 /* 801D0D84 001CC9E4 FC 41 00 B2 */ fmul f2, f1, f2 /* 801D0D88 001CC9E8 FC 67 18 2A */ fadd f3, f7, f3 /* 801D0D8C 001CC9EC FC 00 10 2A */ fadd f0, f0, f2 /* 801D0D90 001CC9F0 FC 41 00 F2 */ fmul f2, f1, f3 /* 801D0D94 001CC9F4 FC 01 00 32 */ fmul f0, f1, f0 /* 801D0D98 001CC9F8 FC 46 10 2A */ fadd f2, f6, f2 /* 801D0D9C 001CC9FC FF CB 00 2A */ fadd f30, f11, f0 /* 801D0DA0 001CCA00 FC 01 00 B2 */ fmul f0, f1, f2 /* 801D0DA4 001CCA04 FC 05 00 2A */ fadd f0, f5, f0 /* 801D0DA8 001CCA08 FF E1 00 32 */ fmul f31, f1, f0 /* 801D0DAC 001CCA0C 48 00 3A 89 */ bl func_801D4834 /* 801D0DB0 001CCA10 FC 9F F0 24 */ fdiv f4, f31, f30 /* 801D0DB4 001CCA14 C8 62 92 00 */ lfd f3, lbl_80641800-_SDA2_BASE_(r2) /* 801D0DB8 001CCA18 C8 42 92 10 */ lfd f2, lbl_80641810-_SDA2_BASE_(r2) /* 801D0DBC 001CCA1C C8 02 91 98 */ lfd f0, lbl_80641798-_SDA2_BASE_(r2) /* 801D0DC0 001CCA20 FC 84 00 72 */ fmul f4, f4, f1 /* 801D0DC4 001CCA24 FC 64 18 28 */ fsub f3, f4, f3 /* 801D0DC8 001CCA28 FC 21 18 2A */ fadd f1, f1, f3 /* 801D0DCC 001CCA2C FC 22 00 72 */ fmul f1, f2, f1 /* 801D0DD0 001CCA30 FC 20 08 28 */ fsub f1, f0, f1 /* 801D0DD4 001CCA34 48 00 00 CC */ b lbl_801D0EA0 lbl_801D0DD8: /* 801D0DD8 001CCA38 C8 42 91 D8 */ lfd f2, lbl_806417D8-_SDA2_BASE_(r2) /* 801D0DDC 001CCA3C C8 02 92 08 */ lfd f0, lbl_80641808-_SDA2_BASE_(r2) /* 801D0DE0 001CCA40 FC 22 08 28 */ fsub f1, f2, f1 /* 801D0DE4 001CCA44 FF E0 00 72 */ fmul f31, f0, f1 /* 801D0DE8 001CCA48 FC 20 F8 90 */ fmr f1, f31 /* 801D0DEC 001CCA4C 48 00 3A 49 */ bl func_801D4834 /* 801D0DF0 001CCA50 C8 42 91 D0 */ lfd f2, lbl_806417D0-_SDA2_BASE_(r2) /* 801D0DF4 001CCA54 38 00 00 00 */ li r0, 0 /* 801D0DF8 001CCA58 D8 21 00 10 */ stfd f1, 0x10(r1) /* 801D0DFC 001CCA5C FC 82 07 F2 */ fmul f4, f2, f31 /* 801D0E00 001CCA60 C8 02 91 F8 */ lfd f0, lbl_806417F8-_SDA2_BASE_(r2) /* 801D0E04 001CCA64 C8 62 91 C8 */ lfd f3, lbl_806417C8-_SDA2_BASE_(r2) /* 801D0E08 001CCA68 FC 40 07 F2 */ fmul f2, f0, f31 /* 801D0E0C 001CCA6C C8 02 91 F0 */ lfd f0, lbl_806417F0-_SDA2_BASE_(r2) /* 801D0E10 001CCA70 90 01 00 14 */ stw r0, 0x14(r1) /* 801D0E14 001CCA74 FC 63 20 2A */ fadd f3, f3, f4 /* 801D0E18 001CCA78 C9 61 00 10 */ lfd f11, 0x10(r1) /* 801D0E1C 001CCA7C FC 00 10 2A */ fadd f0, f0, f2 /* 801D0E20 001CCA80 FD 4B 02 F2 */ fmul f10, f11, f11 /* 801D0E24 001CCA84 C8 C2 91 C0 */ lfd f6, lbl_806417C0-_SDA2_BASE_(r2) /* 801D0E28 001CCA88 C9 02 91 B8 */ lfd f8, lbl_806417B8-_SDA2_BASE_(r2) /* 801D0E2C 001CCA8C FC 5F 00 F2 */ fmul f2, f31, f3 /* 801D0E30 001CCA90 C8 82 91 E8 */ lfd f4, lbl_806417E8-_SDA2_BASE_(r2) /* 801D0E34 001CCA94 C8 E2 91 B0 */ lfd f7, lbl_806417B0-_SDA2_BASE_(r2) /* 801D0E38 001CCA98 FC BF 00 32 */ fmul f5, f31, f0 /* 801D0E3C 001CCA9C C8 62 91 E0 */ lfd f3, lbl_806417E0-_SDA2_BASE_(r2) /* 801D0E40 001CCAA0 FC 06 10 2A */ fadd f0, f6, f2 /* 801D0E44 001CCAA4 C8 C2 91 A8 */ lfd f6, lbl_806417A8-_SDA2_BASE_(r2) /* 801D0E48 001CCAA8 C8 42 91 D8 */ lfd f2, lbl_806417D8-_SDA2_BASE_(r2) /* 801D0E4C 001CCAAC FD 5F 50 28 */ fsub f10, f31, f10 /* 801D0E50 001CCAB0 FD 3F 00 32 */ fmul f9, f31, f0 /* 801D0E54 001CCAB4 C8 02 92 10 */ lfd f0, lbl_80641810-_SDA2_BASE_(r2) /* 801D0E58 001CCAB8 FC 84 28 2A */ fadd f4, f4, f5 /* 801D0E5C 001CCABC FC A8 48 2A */ fadd f5, f8, f9 /* 801D0E60 001CCAC0 FC 9F 01 32 */ fmul f4, f31, f4 /* 801D0E64 001CCAC4 FC BF 01 72 */ fmul f5, f31, f5 /* 801D0E68 001CCAC8 FC 63 20 2A */ fadd f3, f3, f4 /* 801D0E6C 001CCACC FD 01 58 2A */ fadd f8, f1, f11 /* 801D0E70 001CCAD0 FC 87 28 2A */ fadd f4, f7, f5 /* 801D0E74 001CCAD4 FC 7F 00 F2 */ fmul f3, f31, f3 /* 801D0E78 001CCAD8 FC 9F 01 32 */ fmul f4, f31, f4 /* 801D0E7C 001CCADC FC 62 18 2A */ fadd f3, f2, f3 /* 801D0E80 001CCAE0 FC AA 40 24 */ fdiv f5, f10, f8 /* 801D0E84 001CCAE4 FC 46 20 2A */ fadd f2, f6, f4 /* 801D0E88 001CCAE8 FC 5F 00 B2 */ fmul f2, f31, f2 /* 801D0E8C 001CCAEC FC 42 18 24 */ fdiv f2, f2, f3 /* 801D0E90 001CCAF0 FC 22 00 72 */ fmul f1, f2, f1 /* 801D0E94 001CCAF4 FC 25 08 2A */ fadd f1, f5, f1 /* 801D0E98 001CCAF8 FC 2B 08 2A */ fadd f1, f11, f1 /* 801D0E9C 001CCAFC FC 20 00 72 */ fmul f1, f0, f1 lbl_801D0EA0: /* 801D0EA0 001CCB00 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 801D0EA4 001CCB04 CB E1 00 30 */ lfd f31, 0x30(r1) /* 801D0EA8 001CCB08 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0 /* 801D0EAC 001CCB0C 80 01 00 44 */ lwz r0, 0x44(r1) /* 801D0EB0 001CCB10 CB C1 00 20 */ lfd f30, 0x20(r1) /* 801D0EB4 001CCB14 7C 08 03 A6 */ mtlr r0 /* 801D0EB8 001CCB18 38 21 00 40 */ addi r1, r1, 0x40 /* 801D0EBC 001CCB1C 4E 80 00 20 */ blr lbl_801D0EC0: /* 801D0EC0 001CCB20 94 21 FF B0 */ stwu r1, -0x50(r1) /* 801D0EC4 001CCB24 7C 08 02 A6 */ mflr r0 /* 801D0EC8 001CCB28 90 01 00 54 */ stw r0, 0x54(r1) /* 801D0ECC 001CCB2C DB E1 00 40 */ stfd f31, 0x40(r1) /* 801D0ED0 001CCB30 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 801D0ED4 001CCB34 DB C1 00 30 */ stfd f30, 0x30(r1) /* 801D0ED8 001CCB38 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0 /* 801D0EDC 001CCB3C DB A1 00 20 */ stfd f29, 0x20(r1) /* 801D0EE0 001CCB40 F3 A1 00 28 */ psq_st f29, 40(r1), 0, qr0 /* 801D0EE4 001CCB44 3C 00 3F F0 */ lis r0, 0x3ff0 /* 801D0EE8 001CCB48 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D0EEC 001CCB4C D8 21 00 08 */ stfd f1, 8(r1) /* 801D0EF0 001CCB50 83 E1 00 08 */ lwz r31, 8(r1) /* 801D0EF4 001CCB54 93 C1 00 18 */ stw r30, 0x18(r1) /* 801D0EF8 001CCB58 57 FE 00 7E */ clrlwi r30, r31, 1 /* 801D0EFC 001CCB5C 7C 1E 00 00 */ cmpw r30, r0 /* 801D0F00 001CCB60 41 80 00 38 */ blt lbl_801D0F38 /* 801D0F04 001CCB64 80 01 00 0C */ lwz r0, 0xc(r1) /* 801D0F08 001CCB68 3C 7E C0 10 */ addis r3, r30, 0xc010 /* 801D0F0C 001CCB6C 7C 60 03 79 */ or. r0, r3, r0 /* 801D0F10 001CCB70 40 82 00 1C */ bne lbl_801D0F2C /* 801D0F14 001CCB74 C8 42 92 18 */ lfd f2, lbl_80641818-_SDA2_BASE_(r2) /* 801D0F18 001CCB78 C8 02 92 20 */ lfd f0, lbl_80641820-_SDA2_BASE_(r2) /* 801D0F1C 001CCB7C FC 42 00 72 */ fmul f2, f2, f1 /* 801D0F20 001CCB80 FC 00 00 72 */ fmul f0, f0, f1 /* 801D0F24 001CCB84 FC 22 00 2A */ fadd f1, f2, f0 /* 801D0F28 001CCB88 48 00 02 00 */ b lbl_801D1128 lbl_801D0F2C: /* 801D0F2C 001CCB8C 3C 60 80 64 */ lis r3, lbl_8063D6B8@ha /* 801D0F30 001CCB90 C0 23 D6 B8 */ lfs f1, lbl_8063D6B8@l(r3) /* 801D0F34 001CCB94 48 00 01 F4 */ b lbl_801D1128 lbl_801D0F38: /* 801D0F38 001CCB98 3C 00 3F E0 */ lis r0, 0x3fe0 /* 801D0F3C 001CCB9C 7C 1E 00 00 */ cmpw r30, r0 /* 801D0F40 001CCBA0 40 80 00 B8 */ bge lbl_801D0FF8 /* 801D0F44 001CCBA4 3C 00 3E 40 */ lis r0, 0x3e40 /* 801D0F48 001CCBA8 7C 1E 00 00 */ cmpw r30, r0 /* 801D0F4C 001CCBAC 40 80 00 1C */ bge lbl_801D0F68 /* 801D0F50 001CCBB0 C8 42 92 28 */ lfd f2, lbl_80641828-_SDA2_BASE_(r2) /* 801D0F54 001CCBB4 C8 02 92 30 */ lfd f0, lbl_80641830-_SDA2_BASE_(r2) /* 801D0F58 001CCBB8 FC 42 08 2A */ fadd f2, f2, f1 /* 801D0F5C 001CCBBC FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801D0F60 001CCBC0 40 81 00 0C */ ble lbl_801D0F6C /* 801D0F64 001CCBC4 48 00 01 C4 */ b lbl_801D1128 lbl_801D0F68: /* 801D0F68 001CCBC8 FF E1 00 72 */ fmul f31, f1, f1 lbl_801D0F6C: /* 801D0F6C 001CCBCC C8 42 92 60 */ lfd f2, lbl_80641860-_SDA2_BASE_(r2) /* 801D0F70 001CCBD0 C8 02 92 80 */ lfd f0, lbl_80641880-_SDA2_BASE_(r2) /* 801D0F74 001CCBD4 FC 82 07 F2 */ fmul f4, f2, f31 /* 801D0F78 001CCBD8 C8 62 92 58 */ lfd f3, lbl_80641858-_SDA2_BASE_(r2) /* 801D0F7C 001CCBDC C9 02 92 50 */ lfd f8, lbl_80641850-_SDA2_BASE_(r2) /* 801D0F80 001CCBE0 FC 40 07 F2 */ fmul f2, f0, f31 /* 801D0F84 001CCBE4 C8 02 92 78 */ lfd f0, lbl_80641878-_SDA2_BASE_(r2) /* 801D0F88 001CCBE8 C8 E2 92 48 */ lfd f7, lbl_80641848-_SDA2_BASE_(r2) /* 801D0F8C 001CCBEC FC 83 20 2A */ fadd f4, f3, f4 /* 801D0F90 001CCBF0 C8 62 92 70 */ lfd f3, lbl_80641870-_SDA2_BASE_(r2) /* 801D0F94 001CCBF4 FC 00 10 2A */ fadd f0, f0, f2 /* 801D0F98 001CCBF8 C8 42 92 68 */ lfd f2, lbl_80641868-_SDA2_BASE_(r2) /* 801D0F9C 001CCBFC FD 3F 01 32 */ fmul f9, f31, f4 /* 801D0FA0 001CCC00 C8 C2 92 40 */ lfd f6, lbl_80641840-_SDA2_BASE_(r2) /* 801D0FA4 001CCC04 C8 A2 92 38 */ lfd f5, lbl_80641838-_SDA2_BASE_(r2) /* 801D0FA8 001CCC08 FC 9F 00 32 */ fmul f4, f31, f0 /* 801D0FAC 001CCC0C C8 02 92 30 */ lfd f0, lbl_80641830-_SDA2_BASE_(r2) /* 801D0FB0 001CCC10 FD 08 48 2A */ fadd f8, f8, f9 /* 801D0FB4 001CCC14 FC 63 20 2A */ fadd f3, f3, f4 /* 801D0FB8 001CCC18 FC 9F 02 32 */ fmul f4, f31, f8 /* 801D0FBC 001CCC1C FC 7F 00 F2 */ fmul f3, f31, f3 /* 801D0FC0 001CCC20 FC 87 20 2A */ fadd f4, f7, f4 /* 801D0FC4 001CCC24 FC 42 18 2A */ fadd f2, f2, f3 /* 801D0FC8 001CCC28 FC 7F 01 32 */ fmul f3, f31, f4 /* 801D0FCC 001CCC2C FC 5F 00 B2 */ fmul f2, f31, f2 /* 801D0FD0 001CCC30 FC 66 18 2A */ fadd f3, f6, f3 /* 801D0FD4 001CCC34 FC 40 10 2A */ fadd f2, f0, f2 /* 801D0FD8 001CCC38 FC 1F 00 F2 */ fmul f0, f31, f3 /* 801D0FDC 001CCC3C FC 05 00 2A */ fadd f0, f5, f0 /* 801D0FE0 001CCC40 FC 1F 00 32 */ fmul f0, f31, f0 /* 801D0FE4 001CCC44 FC 40 10 24 */ fdiv f2, f0, f2 /* 801D0FE8 001CCC48 FC 01 00 B2 */ fmul f0, f1, f2 /* 801D0FEC 001CCC4C D8 41 00 10 */ stfd f2, 0x10(r1) /* 801D0FF0 001CCC50 FC 21 00 2A */ fadd f1, f1, f0 /* 801D0FF4 001CCC54 48 00 01 34 */ b lbl_801D1128 lbl_801D0FF8: /* 801D0FF8 001CCC58 FC 20 0A 10 */ fabs f1, f1 /* 801D0FFC 001CCC5C C9 62 92 30 */ lfd f11, lbl_80641830-_SDA2_BASE_(r2) /* 801D1000 001CCC60 C8 42 92 88 */ lfd f2, lbl_80641888-_SDA2_BASE_(r2) /* 801D1004 001CCC64 C8 02 92 60 */ lfd f0, lbl_80641860-_SDA2_BASE_(r2) /* 801D1008 001CCC68 FC 6B 08 28 */ fsub f3, f11, f1 /* 801D100C 001CCC6C C8 22 92 80 */ lfd f1, lbl_80641880-_SDA2_BASE_(r2) /* 801D1010 001CCC70 C9 22 92 58 */ lfd f9, lbl_80641858-_SDA2_BASE_(r2) /* 801D1014 001CCC74 C9 02 92 50 */ lfd f8, lbl_80641850-_SDA2_BASE_(r2) /* 801D1018 001CCC78 FF E2 00 F2 */ fmul f31, f2, f3 /* 801D101C 001CCC7C C8 62 92 78 */ lfd f3, lbl_80641878-_SDA2_BASE_(r2) /* 801D1020 001CCC80 C8 42 92 70 */ lfd f2, lbl_80641870-_SDA2_BASE_(r2) /* 801D1024 001CCC84 C8 E2 92 48 */ lfd f7, lbl_80641848-_SDA2_BASE_(r2) /* 801D1028 001CCC88 C8 C2 92 40 */ lfd f6, lbl_80641840-_SDA2_BASE_(r2) /* 801D102C 001CCC8C FD 40 07 F2 */ fmul f10, f0, f31 /* 801D1030 001CCC90 C8 02 92 68 */ lfd f0, lbl_80641868-_SDA2_BASE_(r2) /* 801D1034 001CCC94 FC 81 07 F2 */ fmul f4, f1, f31 /* 801D1038 001CCC98 C8 A2 92 38 */ lfd f5, lbl_80641838-_SDA2_BASE_(r2) /* 801D103C 001CCC9C FD 29 50 2A */ fadd f9, f9, f10 /* 801D1040 001CCCA0 FC 20 F8 90 */ fmr f1, f31 /* 801D1044 001CCCA4 FC 63 20 2A */ fadd f3, f3, f4 /* 801D1048 001CCCA8 FC 9F 02 72 */ fmul f4, f31, f9 /* 801D104C 001CCCAC FC 7F 00 F2 */ fmul f3, f31, f3 /* 801D1050 001CCCB0 FC 88 20 2A */ fadd f4, f8, f4 /* 801D1054 001CCCB4 FC 42 18 2A */ fadd f2, f2, f3 /* 801D1058 001CCCB8 FC 7F 01 32 */ fmul f3, f31, f4 /* 801D105C 001CCCBC FC 5F 00 B2 */ fmul f2, f31, f2 /* 801D1060 001CCCC0 FC 67 18 2A */ fadd f3, f7, f3 /* 801D1064 001CCCC4 FC 00 10 2A */ fadd f0, f0, f2 /* 801D1068 001CCCC8 FC 5F 00 F2 */ fmul f2, f31, f3 /* 801D106C 001CCCCC FC 1F 00 32 */ fmul f0, f31, f0 /* 801D1070 001CCCD0 FC 46 10 2A */ fadd f2, f6, f2 /* 801D1074 001CCCD4 FF AB 00 2A */ fadd f29, f11, f0 /* 801D1078 001CCCD8 FC 1F 00 B2 */ fmul f0, f31, f2 /* 801D107C 001CCCDC FC 05 00 2A */ fadd f0, f5, f0 /* 801D1080 001CCCE0 FF DF 00 32 */ fmul f30, f31, f0 /* 801D1084 001CCCE4 48 00 37 B1 */ bl func_801D4834 /* 801D1088 001CCCE8 3C 60 3F EF */ lis r3, 0x3FEF3333@ha /* 801D108C 001CCCEC 38 03 33 33 */ addi r0, r3, 0x3FEF3333@l /* 801D1090 001CCCF0 7C 1E 00 00 */ cmpw r30, r0 /* 801D1094 001CCCF4 41 80 00 30 */ blt lbl_801D10C4 /* 801D1098 001CCCF8 FC BE E8 24 */ fdiv f5, f30, f29 /* 801D109C 001CCCFC C8 62 92 90 */ lfd f3, lbl_80641890-_SDA2_BASE_(r2) /* 801D10A0 001CCD00 C8 42 92 20 */ lfd f2, lbl_80641820-_SDA2_BASE_(r2) /* 801D10A4 001CCD04 C8 02 92 18 */ lfd f0, lbl_80641818-_SDA2_BASE_(r2) /* 801D10A8 001CCD08 FC 81 01 72 */ fmul f4, f1, f5 /* 801D10AC 001CCD0C D8 A1 00 10 */ stfd f5, 0x10(r1) /* 801D10B0 001CCD10 FC 21 20 2A */ fadd f1, f1, f4 /* 801D10B4 001CCD14 FC 23 00 72 */ fmul f1, f3, f1 /* 801D10B8 001CCD18 FC 21 10 28 */ fsub f1, f1, f2 /* 801D10BC 001CCD1C FC 20 08 28 */ fsub f1, f0, f1 /* 801D10C0 001CCD20 48 00 00 58 */ b lbl_801D1118 lbl_801D10C4: /* 801D10C4 001CCD24 D8 21 00 10 */ stfd f1, 0x10(r1) /* 801D10C8 001CCD28 38 00 00 00 */ li r0, 0 /* 801D10CC 001CCD2C C8 A2 92 90 */ lfd f5, lbl_80641890-_SDA2_BASE_(r2) /* 801D10D0 001CCD30 FD 1E E8 24 */ fdiv f8, f30, f29 /* 801D10D4 001CCD34 90 01 00 14 */ stw r0, 0x14(r1) /* 801D10D8 001CCD38 C8 62 92 20 */ lfd f3, lbl_80641820-_SDA2_BASE_(r2) /* 801D10DC 001CCD3C C8 E1 00 10 */ lfd f7, 0x10(r1) /* 801D10E0 001CCD40 C8 42 92 98 */ lfd f2, lbl_80641898-_SDA2_BASE_(r2) /* 801D10E4 001CCD44 FC 85 00 72 */ fmul f4, f5, f1 /* 801D10E8 001CCD48 FC 07 01 F2 */ fmul f0, f7, f7 /* 801D10EC 001CCD4C FC C1 38 2A */ fadd f6, f1, f7 /* 801D10F0 001CCD50 FC 84 02 32 */ fmul f4, f4, f8 /* 801D10F4 001CCD54 FC 3F 00 28 */ fsub f1, f31, f0 /* 801D10F8 001CCD58 FC 05 01 F2 */ fmul f0, f5, f7 /* 801D10FC 001CCD5C FC 21 30 24 */ fdiv f1, f1, f6 /* 801D1100 001CCD60 FC 25 00 72 */ fmul f1, f5, f1 /* 801D1104 001CCD64 FC 23 08 28 */ fsub f1, f3, f1 /* 801D1108 001CCD68 FC 62 00 28 */ fsub f3, f2, f0 /* 801D110C 001CCD6C FC 04 08 28 */ fsub f0, f4, f1 /* 801D1110 001CCD70 FC 00 18 28 */ fsub f0, f0, f3 /* 801D1114 001CCD74 FC 22 00 28 */ fsub f1, f2, f0 lbl_801D1118: /* 801D1118 001CCD78 2C 1F 00 00 */ cmpwi r31, 0 /* 801D111C 001CCD7C 40 81 00 08 */ ble lbl_801D1124 /* 801D1120 001CCD80 48 00 00 08 */ b lbl_801D1128 lbl_801D1124: /* 801D1124 001CCD84 FC 20 08 50 */ fneg f1, f1 lbl_801D1128: /* 801D1128 001CCD88 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 801D112C 001CCD8C CB E1 00 40 */ lfd f31, 0x40(r1) /* 801D1130 001CCD90 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0 /* 801D1134 001CCD94 CB C1 00 30 */ lfd f30, 0x30(r1) /* 801D1138 001CCD98 E3 A1 00 28 */ psq_l f29, 40(r1), 0, qr0 /* 801D113C 001CCD9C CB A1 00 20 */ lfd f29, 0x20(r1) /* 801D1140 001CCDA0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D1144 001CCDA4 80 01 00 54 */ lwz r0, 0x54(r1) /* 801D1148 001CCDA8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801D114C 001CCDAC 7C 08 03 A6 */ mtlr r0 /* 801D1150 001CCDB0 38 21 00 50 */ addi r1, r1, 0x50 /* 801D1154 001CCDB4 4E 80 00 20 */ blr lbl_801D1158: /* 801D1158 001CCDB8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801D115C 001CCDBC 7C 08 02 A6 */ mflr r0 /* 801D1160 001CCDC0 3C 60 7F F0 */ lis r3, 0x7ff0 /* 801D1164 001CCDC4 D8 41 00 10 */ stfd f2, 0x10(r1) /* 801D1168 001CCDC8 81 01 00 14 */ lwz r8, 0x14(r1) /* 801D116C 001CCDCC 90 01 00 34 */ stw r0, 0x34(r1) /* 801D1170 001CCDD0 7C 08 00 D0 */ neg r0, r8 /* 801D1174 001CCDD4 80 81 00 10 */ lwz r4, 0x10(r1) /* 801D1178 001CCDD8 7D 00 03 78 */ or r0, r8, r0 /* 801D117C 001CCDDC D8 21 00 08 */ stfd f1, 8(r1) /* 801D1180 001CCDE0 54 86 00 7E */ clrlwi r6, r4, 1 /* 801D1184 001CCDE4 54 00 0F FE */ srwi r0, r0, 0x1f /* 801D1188 001CCDE8 80 A1 00 08 */ lwz r5, 8(r1) /* 801D118C 001CCDEC 7C C0 03 78 */ or r0, r6, r0 /* 801D1190 001CCDF0 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801D1194 001CCDF4 7C 00 18 40 */ cmplw r0, r3 /* 801D1198 001CCDF8 81 21 00 0C */ lwz r9, 0xc(r1) /* 801D119C 001CCDFC 54 A7 00 7E */ clrlwi r7, r5, 1 /* 801D11A0 001CCE00 41 81 00 1C */ bgt lbl_801D11BC /* 801D11A4 001CCE04 7C 09 00 D0 */ neg r0, r9 /* 801D11A8 001CCE08 7D 20 03 78 */ or r0, r9, r0 /* 801D11AC 001CCE0C 54 00 0F FE */ srwi r0, r0, 0x1f /* 801D11B0 001CCE10 7C E0 03 78 */ or r0, r7, r0 /* 801D11B4 001CCE14 7C 00 18 40 */ cmplw r0, r3 /* 801D11B8 001CCE18 40 81 00 0C */ ble lbl_801D11C4 lbl_801D11BC: /* 801D11BC 001CCE1C FC 22 08 2A */ fadd f1, f2, f1 /* 801D11C0 001CCE20 48 00 01 F4 */ b lbl_801D13B4 lbl_801D11C4: /* 801D11C4 001CCE24 3C 04 C0 10 */ addis r0, r4, 0xc010 /* 801D11C8 001CCE28 7C 00 43 79 */ or. r0, r0, r8 /* 801D11CC 001CCE2C 40 82 00 0C */ bne lbl_801D11D8 /* 801D11D0 001CCE30 48 00 2C 3D */ bl func_801D3E0C /* 801D11D4 001CCE34 48 00 01 E0 */ b lbl_801D13B4 lbl_801D11D8: /* 801D11D8 001CCE38 7C E0 4B 79 */ or. r0, r7, r9 /* 801D11DC 001CCE3C 54 9F 17 BC */ rlwinm r31, r4, 2, 0x1e, 0x1e /* 801D11E0 001CCE40 50 BF 0F FE */ rlwimi r31, r5, 1, 0x1f, 0x1f /* 801D11E4 001CCE44 40 82 00 3C */ bne lbl_801D1220 /* 801D11E8 001CCE48 2C 1F 00 02 */ cmpwi r31, 2 /* 801D11EC 001CCE4C 41 82 00 24 */ beq lbl_801D1210 /* 801D11F0 001CCE50 40 80 00 10 */ bge lbl_801D1200 /* 801D11F4 001CCE54 2C 1F 00 00 */ cmpwi r31, 0 /* 801D11F8 001CCE58 40 80 01 BC */ bge lbl_801D13B4 /* 801D11FC 001CCE5C 48 00 00 24 */ b lbl_801D1220 lbl_801D1200: /* 801D1200 001CCE60 2C 1F 00 04 */ cmpwi r31, 4 /* 801D1204 001CCE64 40 80 00 1C */ bge lbl_801D1220 /* 801D1208 001CCE68 48 00 00 10 */ b lbl_801D1218 /* 801D120C 001CCE6C 48 00 01 A8 */ b lbl_801D13B4 lbl_801D1210: /* 801D1210 001CCE70 C8 22 92 A0 */ lfd f1, lbl_806418A0-_SDA2_BASE_(r2) /* 801D1214 001CCE74 48 00 01 A0 */ b lbl_801D13B4 lbl_801D1218: /* 801D1218 001CCE78 C8 22 92 A8 */ lfd f1, lbl_806418A8-_SDA2_BASE_(r2) /* 801D121C 001CCE7C 48 00 01 98 */ b lbl_801D13B4 lbl_801D1220: /* 801D1220 001CCE80 7C C0 43 79 */ or. r0, r6, r8 /* 801D1224 001CCE84 40 82 00 1C */ bne lbl_801D1240 /* 801D1228 001CCE88 2C 05 00 00 */ cmpwi r5, 0 /* 801D122C 001CCE8C 40 80 00 0C */ bge lbl_801D1238 /* 801D1230 001CCE90 C8 22 92 B0 */ lfd f1, lbl_806418B0-_SDA2_BASE_(r2) /* 801D1234 001CCE94 48 00 01 80 */ b lbl_801D13B4 lbl_801D1238: /* 801D1238 001CCE98 C8 22 92 B8 */ lfd f1, lbl_806418B8-_SDA2_BASE_(r2) /* 801D123C 001CCE9C 48 00 01 78 */ b lbl_801D13B4 lbl_801D1240: /* 801D1240 001CCEA0 3C 06 80 10 */ addis r0, r6, 0x8010 /* 801D1244 001CCEA4 28 00 00 00 */ cmplwi r0, 0 /* 801D1248 001CCEA8 40 82 00 A0 */ bne lbl_801D12E8 /* 801D124C 001CCEAC 3C 07 80 10 */ addis r0, r7, 0x8010 /* 801D1250 001CCEB0 28 00 00 00 */ cmplwi r0, 0 /* 801D1254 001CCEB4 40 82 00 4C */ bne lbl_801D12A0 /* 801D1258 001CCEB8 2C 1F 00 02 */ cmpwi r31, 2 /* 801D125C 001CCEBC 41 82 00 34 */ beq lbl_801D1290 /* 801D1260 001CCEC0 40 80 00 14 */ bge lbl_801D1274 /* 801D1264 001CCEC4 2C 1F 00 00 */ cmpwi r31, 0 /* 801D1268 001CCEC8 41 82 00 18 */ beq lbl_801D1280 /* 801D126C 001CCECC 40 80 00 1C */ bge lbl_801D1288 /* 801D1270 001CCED0 48 00 00 78 */ b lbl_801D12E8 lbl_801D1274: /* 801D1274 001CCED4 2C 1F 00 04 */ cmpwi r31, 4 /* 801D1278 001CCED8 40 80 00 70 */ bge lbl_801D12E8 /* 801D127C 001CCEDC 48 00 00 1C */ b lbl_801D1298 lbl_801D1280: /* 801D1280 001CCEE0 C8 22 92 C0 */ lfd f1, lbl_806418C0-_SDA2_BASE_(r2) /* 801D1284 001CCEE4 48 00 01 30 */ b lbl_801D13B4 lbl_801D1288: /* 801D1288 001CCEE8 C8 22 92 C8 */ lfd f1, lbl_806418C8-_SDA2_BASE_(r2) /* 801D128C 001CCEEC 48 00 01 28 */ b lbl_801D13B4 lbl_801D1290: /* 801D1290 001CCEF0 C8 22 92 D0 */ lfd f1, lbl_806418D0-_SDA2_BASE_(r2) /* 801D1294 001CCEF4 48 00 01 20 */ b lbl_801D13B4 lbl_801D1298: /* 801D1298 001CCEF8 C8 22 92 D8 */ lfd f1, lbl_806418D8-_SDA2_BASE_(r2) /* 801D129C 001CCEFC 48 00 01 18 */ b lbl_801D13B4 lbl_801D12A0: /* 801D12A0 001CCF00 2C 1F 00 02 */ cmpwi r31, 2 /* 801D12A4 001CCF04 41 82 00 34 */ beq lbl_801D12D8 /* 801D12A8 001CCF08 40 80 00 14 */ bge lbl_801D12BC /* 801D12AC 001CCF0C 2C 1F 00 00 */ cmpwi r31, 0 /* 801D12B0 001CCF10 41 82 00 18 */ beq lbl_801D12C8 /* 801D12B4 001CCF14 40 80 00 1C */ bge lbl_801D12D0 /* 801D12B8 001CCF18 48 00 00 30 */ b lbl_801D12E8 lbl_801D12BC: /* 801D12BC 001CCF1C 2C 1F 00 04 */ cmpwi r31, 4 /* 801D12C0 001CCF20 40 80 00 28 */ bge lbl_801D12E8 /* 801D12C4 001CCF24 48 00 00 1C */ b lbl_801D12E0 lbl_801D12C8: /* 801D12C8 001CCF28 C8 22 92 E0 */ lfd f1, lbl_806418E0-_SDA2_BASE_(r2) /* 801D12CC 001CCF2C 48 00 00 E8 */ b lbl_801D13B4 lbl_801D12D0: /* 801D12D0 001CCF30 C8 22 92 E8 */ lfd f1, lbl_806418E8-_SDA2_BASE_(r2) /* 801D12D4 001CCF34 48 00 00 E0 */ b lbl_801D13B4 lbl_801D12D8: /* 801D12D8 001CCF38 C8 22 92 A0 */ lfd f1, lbl_806418A0-_SDA2_BASE_(r2) /* 801D12DC 001CCF3C 48 00 00 D8 */ b lbl_801D13B4 lbl_801D12E0: /* 801D12E0 001CCF40 C8 22 92 A8 */ lfd f1, lbl_806418A8-_SDA2_BASE_(r2) /* 801D12E4 001CCF44 48 00 00 D0 */ b lbl_801D13B4 lbl_801D12E8: /* 801D12E8 001CCF48 3C 07 80 10 */ addis r0, r7, 0x8010 /* 801D12EC 001CCF4C 28 00 00 00 */ cmplwi r0, 0 /* 801D12F0 001CCF50 40 82 00 1C */ bne lbl_801D130C /* 801D12F4 001CCF54 2C 05 00 00 */ cmpwi r5, 0 /* 801D12F8 001CCF58 40 80 00 0C */ bge lbl_801D1304 /* 801D12FC 001CCF5C C8 22 92 B0 */ lfd f1, lbl_806418B0-_SDA2_BASE_(r2) /* 801D1300 001CCF60 48 00 00 B4 */ b lbl_801D13B4 lbl_801D1304: /* 801D1304 001CCF64 C8 22 92 B8 */ lfd f1, lbl_806418B8-_SDA2_BASE_(r2) /* 801D1308 001CCF68 48 00 00 AC */ b lbl_801D13B4 lbl_801D130C: /* 801D130C 001CCF6C 7C 06 38 50 */ subf r0, r6, r7 /* 801D1310 001CCF70 7C 00 A6 70 */ srawi r0, r0, 0x14 /* 801D1314 001CCF74 2C 00 00 3C */ cmpwi r0, 0x3c /* 801D1318 001CCF78 40 81 00 10 */ ble lbl_801D1328 /* 801D131C 001CCF7C C8 22 92 B8 */ lfd f1, lbl_806418B8-_SDA2_BASE_(r2) /* 801D1320 001CCF80 D8 21 00 18 */ stfd f1, 0x18(r1) /* 801D1324 001CCF84 48 00 00 30 */ b lbl_801D1354 lbl_801D1328: /* 801D1328 001CCF88 2C 04 00 00 */ cmpwi r4, 0 /* 801D132C 001CCF8C 40 80 00 18 */ bge lbl_801D1344 /* 801D1330 001CCF90 2C 00 FF C4 */ cmpwi r0, -60 /* 801D1334 001CCF94 40 80 00 10 */ bge lbl_801D1344 /* 801D1338 001CCF98 C8 22 92 E0 */ lfd f1, lbl_806418E0-_SDA2_BASE_(r2) /* 801D133C 001CCF9C D8 21 00 18 */ stfd f1, 0x18(r1) /* 801D1340 001CCFA0 48 00 00 14 */ b lbl_801D1354 lbl_801D1344: /* 801D1344 001CCFA4 FC 01 10 24 */ fdiv f0, f1, f2 /* 801D1348 001CCFA8 FC 20 02 10 */ fabs f1, f0 /* 801D134C 001CCFAC 48 00 2A C1 */ bl func_801D3E0C /* 801D1350 001CCFB0 D8 21 00 18 */ stfd f1, 0x18(r1) lbl_801D1354: /* 801D1354 001CCFB4 2C 1F 00 01 */ cmpwi r31, 1 /* 801D1358 001CCFB8 41 82 00 24 */ beq lbl_801D137C /* 801D135C 001CCFBC 40 80 00 10 */ bge lbl_801D136C /* 801D1360 001CCFC0 2C 1F 00 00 */ cmpwi r31, 0 /* 801D1364 001CCFC4 40 80 00 50 */ bge lbl_801D13B4 /* 801D1368 001CCFC8 48 00 00 3C */ b lbl_801D13A4 lbl_801D136C: /* 801D136C 001CCFCC 2C 1F 00 03 */ cmpwi r31, 3 /* 801D1370 001CCFD0 40 80 00 34 */ bge lbl_801D13A4 /* 801D1374 001CCFD4 48 00 00 1C */ b lbl_801D1390 /* 801D1378 001CCFD8 48 00 00 3C */ b lbl_801D13B4 lbl_801D137C: /* 801D137C 001CCFDC 80 01 00 18 */ lwz r0, 0x18(r1) /* 801D1380 001CCFE0 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D1384 001CCFE4 90 01 00 18 */ stw r0, 0x18(r1) /* 801D1388 001CCFE8 C8 21 00 18 */ lfd f1, 0x18(r1) /* 801D138C 001CCFEC 48 00 00 28 */ b lbl_801D13B4 lbl_801D1390: /* 801D1390 001CCFF0 C8 42 92 F0 */ lfd f2, lbl_806418F0-_SDA2_BASE_(r2) /* 801D1394 001CCFF4 C8 02 92 A0 */ lfd f0, lbl_806418A0-_SDA2_BASE_(r2) /* 801D1398 001CCFF8 FC 21 10 28 */ fsub f1, f1, f2 /* 801D139C 001CCFFC FC 20 08 28 */ fsub f1, f0, f1 /* 801D13A0 001CD000 48 00 00 14 */ b lbl_801D13B4 lbl_801D13A4: /* 801D13A4 001CD004 C8 42 92 F0 */ lfd f2, lbl_806418F0-_SDA2_BASE_(r2) /* 801D13A8 001CD008 C8 02 92 A0 */ lfd f0, lbl_806418A0-_SDA2_BASE_(r2) /* 801D13AC 001CD00C FC 21 10 28 */ fsub f1, f1, f2 /* 801D13B0 001CD010 FC 21 00 28 */ fsub f1, f1, f0 lbl_801D13B4: /* 801D13B4 001CD014 80 01 00 34 */ lwz r0, 0x34(r1) /* 801D13B8 001CD018 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801D13BC 001CD01C 7C 08 03 A6 */ mtlr r0 /* 801D13C0 001CD020 38 21 00 30 */ addi r1, r1, 0x30 /* 801D13C4 001CD024 4E 80 00 20 */ blr lbl_801D13C8: /* 801D13C8 001CD028 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D13CC 001CD02C D8 41 00 10 */ stfd f2, 0x10(r1) /* 801D13D0 001CD030 D8 21 00 08 */ stfd f1, 8(r1) /* 801D13D4 001CD034 80 01 00 10 */ lwz r0, 0x10(r1) /* 801D13D8 001CD038 80 E1 00 08 */ lwz r7, 8(r1) /* 801D13DC 001CD03C 80 C1 00 14 */ lwz r6, 0x14(r1) /* 801D13E0 001CD040 54 00 00 7E */ clrlwi r0, r0, 1 /* 801D13E4 001CD044 54 E4 00 00 */ rlwinm r4, r7, 0, 0, 0 /* 801D13E8 001CD048 80 A1 00 0C */ lwz r5, 0xc(r1) /* 801D13EC 001CD04C 7C 03 33 79 */ or. r3, r0, r6 /* 801D13F0 001CD050 7C E8 22 78 */ xor r8, r7, r4 /* 801D13F4 001CD054 41 82 00 28 */ beq lbl_801D141C /* 801D13F8 001CD058 3C E0 7F F0 */ lis r7, 0x7ff0 /* 801D13FC 001CD05C 7C 08 38 00 */ cmpw r8, r7 /* 801D1400 001CD060 40 80 00 1C */ bge lbl_801D141C /* 801D1404 001CD064 7C 66 00 D0 */ neg r3, r6 /* 801D1408 001CD068 7C C3 1B 78 */ or r3, r6, r3 /* 801D140C 001CD06C 54 63 0F FE */ srwi r3, r3, 0x1f /* 801D1410 001CD070 7C 03 1B 78 */ or r3, r0, r3 /* 801D1414 001CD074 7C 03 38 40 */ cmplw r3, r7 /* 801D1418 001CD078 40 81 00 10 */ ble lbl_801D1428 lbl_801D141C: /* 801D141C 001CD07C FC 01 00 B2 */ fmul f0, f1, f2 /* 801D1420 001CD080 FC 20 00 24 */ fdiv f1, f0, f0 /* 801D1424 001CD084 48 00 02 CC */ b lbl_801D16F0 lbl_801D1428: /* 801D1428 001CD088 7C 08 00 00 */ cmpw r8, r0 /* 801D142C 001CD08C 41 81 00 2C */ bgt lbl_801D1458 /* 801D1430 001CD090 41 80 02 C0 */ blt lbl_801D16F0 /* 801D1434 001CD094 7C 05 30 40 */ cmplw r5, r6 /* 801D1438 001CD098 40 80 00 08 */ bge lbl_801D1440 /* 801D143C 001CD09C 48 00 02 B4 */ b lbl_801D16F0 lbl_801D1440: /* 801D1440 001CD0A0 40 82 00 18 */ bne lbl_801D1458 /* 801D1444 001CD0A4 3C 60 80 40 */ lis r3, lbl_803FD328@ha /* 801D1448 001CD0A8 54 80 27 38 */ rlwinm r0, r4, 4, 0x1c, 0x1c /* 801D144C 001CD0AC 38 63 D3 28 */ addi r3, r3, lbl_803FD328@l /* 801D1450 001CD0B0 7C 23 04 AE */ lfdx f1, r3, r0 /* 801D1454 001CD0B4 48 00 02 9C */ b lbl_801D16F0 lbl_801D1458: /* 801D1458 001CD0B8 3C 60 00 10 */ lis r3, 0x10 /* 801D145C 001CD0BC 7C 08 18 00 */ cmpw r8, r3 /* 801D1460 001CD0C0 40 80 00 4C */ bge lbl_801D14AC /* 801D1464 001CD0C4 2C 08 00 00 */ cmpwi r8, 0 /* 801D1468 001CD0C8 40 82 00 24 */ bne lbl_801D148C /* 801D146C 001CD0CC 7C A3 2B 78 */ mr r3, r5 /* 801D1470 001CD0D0 39 60 FB ED */ li r11, -1043 /* 801D1474 001CD0D4 48 00 00 0C */ b lbl_801D1480 lbl_801D1478: /* 801D1478 001CD0D8 54 63 08 3C */ slwi r3, r3, 1 /* 801D147C 001CD0DC 39 6B FF FF */ addi r11, r11, -1 lbl_801D1480: /* 801D1480 001CD0E0 2C 03 00 00 */ cmpwi r3, 0 /* 801D1484 001CD0E4 41 81 FF F4 */ bgt lbl_801D1478 /* 801D1488 001CD0E8 48 00 00 2C */ b lbl_801D14B4 lbl_801D148C: /* 801D148C 001CD0EC 55 03 58 28 */ slwi r3, r8, 0xb /* 801D1490 001CD0F0 39 60 FC 02 */ li r11, -1022 /* 801D1494 001CD0F4 48 00 00 0C */ b lbl_801D14A0 lbl_801D1498: /* 801D1498 001CD0F8 54 63 08 3C */ slwi r3, r3, 1 /* 801D149C 001CD0FC 39 6B FF FF */ addi r11, r11, -1 lbl_801D14A0: /* 801D14A0 001CD100 2C 03 00 00 */ cmpwi r3, 0 /* 801D14A4 001CD104 41 81 FF F4 */ bgt lbl_801D1498 /* 801D14A8 001CD108 48 00 00 0C */ b lbl_801D14B4 lbl_801D14AC: /* 801D14AC 001CD10C 7D 03 A6 70 */ srawi r3, r8, 0x14 /* 801D14B0 001CD110 39 63 FC 01 */ addi r11, r3, -1023 lbl_801D14B4: /* 801D14B4 001CD114 3C 60 00 10 */ lis r3, 0x10 /* 801D14B8 001CD118 7C 00 18 00 */ cmpw r0, r3 /* 801D14BC 001CD11C 40 80 00 4C */ bge lbl_801D1508 /* 801D14C0 001CD120 2C 00 00 00 */ cmpwi r0, 0 /* 801D14C4 001CD124 40 82 00 24 */ bne lbl_801D14E8 /* 801D14C8 001CD128 7C C7 33 78 */ mr r7, r6 /* 801D14CC 001CD12C 38 60 FB ED */ li r3, -1043 /* 801D14D0 001CD130 48 00 00 0C */ b lbl_801D14DC lbl_801D14D4: /* 801D14D4 001CD134 54 E7 08 3C */ slwi r7, r7, 1 /* 801D14D8 001CD138 38 63 FF FF */ addi r3, r3, -1 lbl_801D14DC: /* 801D14DC 001CD13C 2C 07 00 00 */ cmpwi r7, 0 /* 801D14E0 001CD140 41 81 FF F4 */ bgt lbl_801D14D4 /* 801D14E4 001CD144 48 00 00 2C */ b lbl_801D1510 lbl_801D14E8: /* 801D14E8 001CD148 54 07 58 28 */ slwi r7, r0, 0xb /* 801D14EC 001CD14C 38 60 FC 02 */ li r3, -1022 /* 801D14F0 001CD150 48 00 00 0C */ b lbl_801D14FC lbl_801D14F4: /* 801D14F4 001CD154 54 E7 08 3C */ slwi r7, r7, 1 /* 801D14F8 001CD158 38 63 FF FF */ addi r3, r3, -1 lbl_801D14FC: /* 801D14FC 001CD15C 2C 07 00 00 */ cmpwi r7, 0 /* 801D1500 001CD160 41 81 FF F4 */ bgt lbl_801D14F4 /* 801D1504 001CD164 48 00 00 0C */ b lbl_801D1510 lbl_801D1508: /* 801D1508 001CD168 7C 03 A6 70 */ srawi r3, r0, 0x14 /* 801D150C 001CD16C 38 63 FC 01 */ addi r3, r3, -1023 lbl_801D1510: /* 801D1510 001CD170 2C 0B FC 02 */ cmpwi r11, -1022 /* 801D1514 001CD174 41 80 00 10 */ blt lbl_801D1524 /* 801D1518 001CD178 55 07 03 3E */ clrlwi r7, r8, 0xc /* 801D151C 001CD17C 64 E9 00 10 */ oris r9, r7, 0x10 /* 801D1520 001CD180 48 00 00 34 */ b lbl_801D1554 lbl_801D1524: /* 801D1524 001CD184 21 2B FC 02 */ subfic r9, r11, -1022 /* 801D1528 001CD188 2C 09 00 1F */ cmpwi r9, 0x1f /* 801D152C 001CD18C 41 81 00 1C */ bgt lbl_801D1548 /* 801D1530 001CD190 20 E9 00 20 */ subfic r7, r9, 0x20 /* 801D1534 001CD194 7D 08 48 30 */ slw r8, r8, r9 /* 801D1538 001CD198 7C A7 3C 30 */ srw r7, r5, r7 /* 801D153C 001CD19C 7C A5 48 30 */ slw r5, r5, r9 /* 801D1540 001CD1A0 7D 09 3B 78 */ or r9, r8, r7 /* 801D1544 001CD1A4 48 00 00 10 */ b lbl_801D1554 lbl_801D1548: /* 801D1548 001CD1A8 38 E9 FF E0 */ addi r7, r9, -32 /* 801D154C 001CD1AC 7C A9 38 30 */ slw r9, r5, r7 /* 801D1550 001CD1B0 38 A0 00 00 */ li r5, 0 lbl_801D1554: /* 801D1554 001CD1B4 2C 03 FC 02 */ cmpwi r3, -1022 /* 801D1558 001CD1B8 41 80 00 10 */ blt lbl_801D1568 /* 801D155C 001CD1BC 54 00 03 3E */ clrlwi r0, r0, 0xc /* 801D1560 001CD1C0 64 08 00 10 */ oris r8, r0, 0x10 /* 801D1564 001CD1C4 48 00 00 34 */ b lbl_801D1598 lbl_801D1568: /* 801D1568 001CD1C8 21 43 FC 02 */ subfic r10, r3, -1022 /* 801D156C 001CD1CC 2C 0A 00 1F */ cmpwi r10, 0x1f /* 801D1570 001CD1D0 41 81 00 1C */ bgt lbl_801D158C /* 801D1574 001CD1D4 20 EA 00 20 */ subfic r7, r10, 0x20 /* 801D1578 001CD1D8 7C 08 50 30 */ slw r8, r0, r10 /* 801D157C 001CD1DC 7C C0 3C 30 */ srw r0, r6, r7 /* 801D1580 001CD1E0 7C C6 50 30 */ slw r6, r6, r10 /* 801D1584 001CD1E4 7D 08 03 78 */ or r8, r8, r0 /* 801D1588 001CD1E8 48 00 00 10 */ b lbl_801D1598 lbl_801D158C: /* 801D158C 001CD1EC 38 0A FF E0 */ addi r0, r10, -32 /* 801D1590 001CD1F0 7C C8 00 30 */ slw r8, r6, r0 /* 801D1594 001CD1F4 38 C0 00 00 */ li r6, 0 lbl_801D1598: /* 801D1598 001CD1F8 7C 03 58 51 */ subf. r0, r3, r11 /* 801D159C 001CD1FC 7C 09 03 A6 */ mtctr r0 /* 801D15A0 001CD200 41 82 00 64 */ beq lbl_801D1604 lbl_801D15A4: /* 801D15A4 001CD204 7C 05 30 40 */ cmplw r5, r6 /* 801D15A8 001CD208 7C E8 48 50 */ subf r7, r8, r9 /* 801D15AC 001CD20C 7D 46 28 50 */ subf r10, r6, r5 /* 801D15B0 001CD210 40 80 00 08 */ bge lbl_801D15B8 /* 801D15B4 001CD214 38 E7 FF FF */ addi r7, r7, -1 lbl_801D15B8: /* 801D15B8 001CD218 2C 07 00 00 */ cmpwi r7, 0 /* 801D15BC 001CD21C 40 80 00 18 */ bge lbl_801D15D4 /* 801D15C0 001CD220 54 A7 0F FE */ srwi r7, r5, 0x1f /* 801D15C4 001CD224 55 20 08 3C */ slwi r0, r9, 1 /* 801D15C8 001CD228 7D 27 02 14 */ add r9, r7, r0 /* 801D15CC 001CD22C 7C A5 2A 14 */ add r5, r5, r5 /* 801D15D0 001CD230 48 00 00 30 */ b lbl_801D1600 lbl_801D15D4: /* 801D15D4 001CD234 7C E0 53 79 */ or. r0, r7, r10 /* 801D15D8 001CD238 40 82 00 18 */ bne lbl_801D15F0 /* 801D15DC 001CD23C 3C 60 80 40 */ lis r3, lbl_803FD328@ha /* 801D15E0 001CD240 54 80 27 38 */ rlwinm r0, r4, 4, 0x1c, 0x1c /* 801D15E4 001CD244 38 63 D3 28 */ addi r3, r3, lbl_803FD328@l /* 801D15E8 001CD248 7C 23 04 AE */ lfdx f1, r3, r0 /* 801D15EC 001CD24C 48 00 01 04 */ b lbl_801D16F0 lbl_801D15F0: /* 801D15F0 001CD250 55 45 0F FE */ srwi r5, r10, 0x1f /* 801D15F4 001CD254 54 E0 08 3C */ slwi r0, r7, 1 /* 801D15F8 001CD258 7D 25 02 14 */ add r9, r5, r0 /* 801D15FC 001CD25C 55 45 08 3C */ slwi r5, r10, 1 lbl_801D1600: /* 801D1600 001CD260 42 00 FF A4 */ bdnz lbl_801D15A4 lbl_801D1604: /* 801D1604 001CD264 7C 05 30 40 */ cmplw r5, r6 /* 801D1608 001CD268 7C E8 48 50 */ subf r7, r8, r9 /* 801D160C 001CD26C 7C 06 28 50 */ subf r0, r6, r5 /* 801D1610 001CD270 40 80 00 08 */ bge lbl_801D1618 /* 801D1614 001CD274 38 E7 FF FF */ addi r7, r7, -1 lbl_801D1618: /* 801D1618 001CD278 2C 07 00 00 */ cmpwi r7, 0 /* 801D161C 001CD27C 41 80 00 0C */ blt lbl_801D1628 /* 801D1620 001CD280 7C E9 3B 78 */ mr r9, r7 /* 801D1624 001CD284 7C 05 03 78 */ mr r5, r0 lbl_801D1628: /* 801D1628 001CD288 7D 20 2B 79 */ or. r0, r9, r5 /* 801D162C 001CD28C 40 82 00 18 */ bne lbl_801D1644 /* 801D1630 001CD290 3C 60 80 40 */ lis r3, lbl_803FD328@ha /* 801D1634 001CD294 54 80 27 38 */ rlwinm r0, r4, 4, 0x1c, 0x1c /* 801D1638 001CD298 38 63 D3 28 */ addi r3, r3, lbl_803FD328@l /* 801D163C 001CD29C 7C 23 04 AE */ lfdx f1, r3, r0 /* 801D1640 001CD2A0 48 00 00 B0 */ b lbl_801D16F0 lbl_801D1644: /* 801D1644 001CD2A4 3C 00 00 10 */ lis r0, 0x10 /* 801D1648 001CD2A8 48 00 00 18 */ b lbl_801D1660 lbl_801D164C: /* 801D164C 001CD2AC 54 A7 0F FE */ srwi r7, r5, 0x1f /* 801D1650 001CD2B0 55 26 08 3C */ slwi r6, r9, 1 /* 801D1654 001CD2B4 7D 27 32 14 */ add r9, r7, r6 /* 801D1658 001CD2B8 7C A5 2A 14 */ add r5, r5, r5 /* 801D165C 001CD2BC 38 63 FF FF */ addi r3, r3, -1 lbl_801D1660: /* 801D1660 001CD2C0 7C 09 00 00 */ cmpw r9, r0 /* 801D1664 001CD2C4 41 80 FF E8 */ blt lbl_801D164C /* 801D1668 001CD2C8 2C 03 FC 02 */ cmpwi r3, -1022 /* 801D166C 001CD2CC 41 80 00 24 */ blt lbl_801D1690 /* 801D1670 001CD2D0 38 03 03 FF */ addi r0, r3, 0x3ff /* 801D1674 001CD2D4 3C 69 FF F0 */ addis r3, r9, 0xfff0 /* 801D1678 001CD2D8 54 00 A0 16 */ slwi r0, r0, 0x14 /* 801D167C 001CD2DC 90 A1 00 0C */ stw r5, 0xc(r1) /* 801D1680 001CD2E0 7C 60 03 78 */ or r0, r3, r0 /* 801D1684 001CD2E4 7C 00 23 78 */ or r0, r0, r4 /* 801D1688 001CD2E8 90 01 00 08 */ stw r0, 8(r1) /* 801D168C 001CD2EC 48 00 00 60 */ b lbl_801D16EC lbl_801D1690: /* 801D1690 001CD2F0 20 C3 FC 02 */ subfic r6, r3, -1022 /* 801D1694 001CD2F4 2C 06 00 14 */ cmpwi r6, 0x14 /* 801D1698 001CD2F8 41 81 00 1C */ bgt lbl_801D16B4 /* 801D169C 001CD2FC 20 06 00 20 */ subfic r0, r6, 0x20 /* 801D16A0 001CD300 7C A3 34 30 */ srw r3, r5, r6 /* 801D16A4 001CD304 7D 20 00 30 */ slw r0, r9, r0 /* 801D16A8 001CD308 7D 29 36 30 */ sraw r9, r9, r6 /* 801D16AC 001CD30C 7C 63 03 78 */ or r3, r3, r0 /* 801D16B0 001CD310 48 00 00 30 */ b lbl_801D16E0 lbl_801D16B4: /* 801D16B4 001CD314 2C 06 00 1F */ cmpwi r6, 0x1f /* 801D16B8 001CD318 41 81 00 1C */ bgt lbl_801D16D4 /* 801D16BC 001CD31C 20 66 00 20 */ subfic r3, r6, 0x20 /* 801D16C0 001CD320 7C A0 34 30 */ srw r0, r5, r6 /* 801D16C4 001CD324 7D 23 18 30 */ slw r3, r9, r3 /* 801D16C8 001CD328 7C 89 23 78 */ mr r9, r4 /* 801D16CC 001CD32C 7C 63 03 78 */ or r3, r3, r0 /* 801D16D0 001CD330 48 00 00 10 */ b lbl_801D16E0 lbl_801D16D4: /* 801D16D4 001CD334 38 06 FF E0 */ addi r0, r6, -32 /* 801D16D8 001CD338 7D 23 06 30 */ sraw r3, r9, r0 /* 801D16DC 001CD33C 7C 89 23 78 */ mr r9, r4 lbl_801D16E0: /* 801D16E0 001CD340 7D 20 23 78 */ or r0, r9, r4 /* 801D16E4 001CD344 90 61 00 0C */ stw r3, 0xc(r1) /* 801D16E8 001CD348 90 01 00 08 */ stw r0, 8(r1) lbl_801D16EC: /* 801D16EC 001CD34C C8 21 00 08 */ lfd f1, 8(r1) lbl_801D16F0: /* 801D16F0 001CD350 38 21 00 20 */ addi r1, r1, 0x20 /* 801D16F4 001CD354 4E 80 00 20 */ blr lbl_801D16F8: /* 801D16F8 001CD358 94 21 FF 40 */ stwu r1, -0xc0(r1) /* 801D16FC 001CD35C 7C 08 02 A6 */ mflr r0 /* 801D1700 001CD360 90 01 00 C4 */ stw r0, 0xc4(r1) /* 801D1704 001CD364 DB E1 00 B0 */ stfd f31, 0xb0(r1) /* 801D1708 001CD368 F3 E1 00 B8 */ psq_st f31, 184(r1), 0, qr0 /* 801D170C 001CD36C DB C1 00 A0 */ stfd f30, 0xa0(r1) /* 801D1710 001CD370 F3 C1 00 A8 */ psq_st f30, 168(r1), 0, qr0 /* 801D1714 001CD374 DB A1 00 90 */ stfd f29, 0x90(r1) /* 801D1718 001CD378 F3 A1 00 98 */ psq_st f29, 152(r1), 0, qr0 /* 801D171C 001CD37C DB 81 00 80 */ stfd f28, 0x80(r1) /* 801D1720 001CD380 F3 81 00 88 */ psq_st f28, 136(r1), 0, qr0 /* 801D1724 001CD384 DB 61 00 70 */ stfd f27, 0x70(r1) /* 801D1728 001CD388 F3 61 00 78 */ psq_st f27, 120(r1), 0, qr0 /* 801D172C 001CD38C DB 41 00 60 */ stfd f26, 0x60(r1) /* 801D1730 001CD390 F3 41 00 68 */ psq_st f26, 104(r1), 0, qr0 /* 801D1734 001CD394 D8 41 00 10 */ stfd f2, 0x10(r1) /* 801D1738 001CD398 3C 60 80 40 */ lis r3, lbl_803FD338@ha /* 801D173C 001CD39C 38 63 D3 38 */ addi r3, r3, lbl_803FD338@l /* 801D1740 001CD3A0 80 A1 00 10 */ lwz r5, 0x10(r1) /* 801D1744 001CD3A4 D8 21 00 08 */ stfd f1, 8(r1) /* 801D1748 001CD3A8 81 61 00 14 */ lwz r11, 0x14(r1) /* 801D174C 001CD3AC 54 A7 00 7E */ clrlwi r7, r5, 1 /* 801D1750 001CD3B0 81 21 00 08 */ lwz r9, 8(r1) /* 801D1754 001CD3B4 7C E0 5B 79 */ or. r0, r7, r11 /* 801D1758 001CD3B8 81 41 00 0C */ lwz r10, 0xc(r1) /* 801D175C 001CD3BC 55 26 00 7E */ clrlwi r6, r9, 1 /* 801D1760 001CD3C0 40 82 00 0C */ bne lbl_801D176C /* 801D1764 001CD3C4 C8 22 92 F8 */ lfd f1, lbl_806418F8-_SDA2_BASE_(r2) /* 801D1768 001CD3C8 48 00 07 98 */ b lbl_801D1F00 lbl_801D176C: /* 801D176C 001CD3CC 3C 00 7F F0 */ lis r0, 0x7ff0 /* 801D1770 001CD3D0 7C 06 00 00 */ cmpw r6, r0 /* 801D1774 001CD3D4 41 81 00 38 */ bgt lbl_801D17AC /* 801D1778 001CD3D8 3C 06 80 10 */ addis r0, r6, 0x8010 /* 801D177C 001CD3DC 28 00 00 00 */ cmplwi r0, 0 /* 801D1780 001CD3E0 40 82 00 0C */ bne lbl_801D178C /* 801D1784 001CD3E4 2C 0A 00 00 */ cmpwi r10, 0 /* 801D1788 001CD3E8 40 82 00 24 */ bne lbl_801D17AC lbl_801D178C: /* 801D178C 001CD3EC 3C 00 7F F0 */ lis r0, 0x7ff0 /* 801D1790 001CD3F0 7C 07 00 00 */ cmpw r7, r0 /* 801D1794 001CD3F4 41 81 00 18 */ bgt lbl_801D17AC /* 801D1798 001CD3F8 3C 07 80 10 */ addis r0, r7, 0x8010 /* 801D179C 001CD3FC 28 00 00 00 */ cmplwi r0, 0 /* 801D17A0 001CD400 40 82 00 14 */ bne lbl_801D17B4 /* 801D17A4 001CD404 2C 0B 00 00 */ cmpwi r11, 0 /* 801D17A8 001CD408 41 82 00 0C */ beq lbl_801D17B4 lbl_801D17AC: /* 801D17AC 001CD40C FC 21 10 2A */ fadd f1, f1, f2 /* 801D17B0 001CD410 48 00 07 50 */ b lbl_801D1F00 lbl_801D17B4: /* 801D17B4 001CD414 2C 09 00 00 */ cmpwi r9, 0 /* 801D17B8 001CD418 38 80 00 00 */ li r4, 0 /* 801D17BC 001CD41C 40 80 00 78 */ bge lbl_801D1834 /* 801D17C0 001CD420 3C 00 43 40 */ lis r0, 0x4340 /* 801D17C4 001CD424 7C 07 00 00 */ cmpw r7, r0 /* 801D17C8 001CD428 41 80 00 0C */ blt lbl_801D17D4 /* 801D17CC 001CD42C 38 80 00 02 */ li r4, 2 /* 801D17D0 001CD430 48 00 00 64 */ b lbl_801D1834 lbl_801D17D4: /* 801D17D4 001CD434 3C 00 3F F0 */ lis r0, 0x3ff0 /* 801D17D8 001CD438 7C 07 00 00 */ cmpw r7, r0 /* 801D17DC 001CD43C 41 80 00 58 */ blt lbl_801D1834 /* 801D17E0 001CD440 7C E8 A6 70 */ srawi r8, r7, 0x14 /* 801D17E4 001CD444 38 08 FC 01 */ addi r0, r8, -1023 /* 801D17E8 001CD448 2C 00 00 14 */ cmpwi r0, 0x14 /* 801D17EC 001CD44C 40 81 00 24 */ ble lbl_801D1810 /* 801D17F0 001CD450 20 00 00 34 */ subfic r0, r0, 0x34 /* 801D17F4 001CD454 7D 68 04 30 */ srw r8, r11, r0 /* 801D17F8 001CD458 7D 00 00 30 */ slw r0, r8, r0 /* 801D17FC 001CD45C 7C 0B 00 40 */ cmplw r11, r0 /* 801D1800 001CD460 40 82 00 34 */ bne lbl_801D1834 /* 801D1804 001CD464 55 00 07 FE */ clrlwi r0, r8, 0x1f /* 801D1808 001CD468 20 80 00 02 */ subfic r4, r0, 2 /* 801D180C 001CD46C 48 00 00 28 */ b lbl_801D1834 lbl_801D1810: /* 801D1810 001CD470 2C 0B 00 00 */ cmpwi r11, 0 /* 801D1814 001CD474 40 82 00 20 */ bne lbl_801D1834 /* 801D1818 001CD478 20 00 00 14 */ subfic r0, r0, 0x14 /* 801D181C 001CD47C 7C E8 06 30 */ sraw r8, r7, r0 /* 801D1820 001CD480 7D 00 00 30 */ slw r0, r8, r0 /* 801D1824 001CD484 7C 07 00 00 */ cmpw r7, r0 /* 801D1828 001CD488 40 82 00 0C */ bne lbl_801D1834 /* 801D182C 001CD48C 55 00 07 FE */ clrlwi r0, r8, 0x1f /* 801D1830 001CD490 20 80 00 02 */ subfic r4, r0, 2 lbl_801D1834: /* 801D1834 001CD494 2C 0B 00 00 */ cmpwi r11, 0 /* 801D1838 001CD498 40 82 00 B0 */ bne lbl_801D18E8 /* 801D183C 001CD49C 3C 07 80 10 */ addis r0, r7, 0x8010 /* 801D1840 001CD4A0 28 00 00 00 */ cmplwi r0, 0 /* 801D1844 001CD4A4 40 82 00 54 */ bne lbl_801D1898 /* 801D1848 001CD4A8 3C 06 C0 10 */ addis r0, r6, 0xc010 /* 801D184C 001CD4AC 7C 00 53 79 */ or. r0, r0, r10 /* 801D1850 001CD4B0 40 82 00 0C */ bne lbl_801D185C /* 801D1854 001CD4B4 FC 22 10 28 */ fsub f1, f2, f2 /* 801D1858 001CD4B8 48 00 06 A8 */ b lbl_801D1F00 lbl_801D185C: /* 801D185C 001CD4BC 3C 00 3F F0 */ lis r0, 0x3ff0 /* 801D1860 001CD4C0 7C 06 00 00 */ cmpw r6, r0 /* 801D1864 001CD4C4 41 80 00 1C */ blt lbl_801D1880 /* 801D1868 001CD4C8 2C 05 00 00 */ cmpwi r5, 0 /* 801D186C 001CD4CC 41 80 00 0C */ blt lbl_801D1878 /* 801D1870 001CD4D0 FC 20 10 90 */ fmr f1, f2 /* 801D1874 001CD4D4 48 00 06 8C */ b lbl_801D1F00 lbl_801D1878: /* 801D1878 001CD4D8 C8 22 93 00 */ lfd f1, lbl_80641900-_SDA2_BASE_(r2) /* 801D187C 001CD4DC 48 00 06 84 */ b lbl_801D1F00 lbl_801D1880: /* 801D1880 001CD4E0 2C 05 00 00 */ cmpwi r5, 0 /* 801D1884 001CD4E4 40 80 00 0C */ bge lbl_801D1890 /* 801D1888 001CD4E8 FC 20 10 50 */ fneg f1, f2 /* 801D188C 001CD4EC 48 00 06 74 */ b lbl_801D1F00 lbl_801D1890: /* 801D1890 001CD4F0 C8 22 93 00 */ lfd f1, lbl_80641900-_SDA2_BASE_(r2) /* 801D1894 001CD4F4 48 00 06 6C */ b lbl_801D1F00 lbl_801D1898: /* 801D1898 001CD4F8 3C 07 C0 10 */ addis r0, r7, 0xc010 /* 801D189C 001CD4FC 28 00 00 00 */ cmplwi r0, 0 /* 801D18A0 001CD500 40 82 00 18 */ bne lbl_801D18B8 /* 801D18A4 001CD504 2C 05 00 00 */ cmpwi r5, 0 /* 801D18A8 001CD508 40 80 06 58 */ bge lbl_801D1F00 /* 801D18AC 001CD50C C8 02 92 F8 */ lfd f0, lbl_806418F8-_SDA2_BASE_(r2) /* 801D18B0 001CD510 FC 20 08 24 */ fdiv f1, f0, f1 /* 801D18B4 001CD514 48 00 06 4C */ b lbl_801D1F00 lbl_801D18B8: /* 801D18B8 001CD518 3C 05 C0 00 */ addis r0, r5, 0xc000 /* 801D18BC 001CD51C 28 00 00 00 */ cmplwi r0, 0 /* 801D18C0 001CD520 40 82 00 0C */ bne lbl_801D18CC /* 801D18C4 001CD524 FC 21 00 72 */ fmul f1, f1, f1 /* 801D18C8 001CD528 48 00 06 38 */ b lbl_801D1F00 lbl_801D18CC: /* 801D18CC 001CD52C 3C 05 C0 20 */ addis r0, r5, 0xc020 /* 801D18D0 001CD530 28 00 00 00 */ cmplwi r0, 0 /* 801D18D4 001CD534 40 82 00 14 */ bne lbl_801D18E8 /* 801D18D8 001CD538 2C 09 00 00 */ cmpwi r9, 0 /* 801D18DC 001CD53C 41 80 00 0C */ blt lbl_801D18E8 /* 801D18E0 001CD540 48 00 2F 55 */ bl func_801D4834 /* 801D18E4 001CD544 48 00 06 1C */ b lbl_801D1F00 lbl_801D18E8: /* 801D18E8 001CD548 FC 00 0A 10 */ fabs f0, f1 /* 801D18EC 001CD54C 2C 0A 00 00 */ cmpwi r10, 0 /* 801D18F0 001CD550 D8 01 00 48 */ stfd f0, 0x48(r1) /* 801D18F4 001CD554 40 82 00 78 */ bne lbl_801D196C /* 801D18F8 001CD558 3C 06 80 10 */ addis r0, r6, 0x8010 /* 801D18FC 001CD55C 28 00 00 00 */ cmplwi r0, 0 /* 801D1900 001CD560 41 82 00 18 */ beq lbl_801D1918 /* 801D1904 001CD564 2C 06 00 00 */ cmpwi r6, 0 /* 801D1908 001CD568 41 82 00 10 */ beq lbl_801D1918 /* 801D190C 001CD56C 3C 06 C0 10 */ addis r0, r6, 0xc010 /* 801D1910 001CD570 28 00 00 00 */ cmplwi r0, 0 /* 801D1914 001CD574 40 82 00 58 */ bne lbl_801D196C lbl_801D1918: /* 801D1918 001CD578 2C 05 00 00 */ cmpwi r5, 0 /* 801D191C 001CD57C D8 01 00 50 */ stfd f0, 0x50(r1) /* 801D1920 001CD580 40 80 00 10 */ bge lbl_801D1930 /* 801D1924 001CD584 C8 22 92 F8 */ lfd f1, lbl_806418F8-_SDA2_BASE_(r2) /* 801D1928 001CD588 FC 01 00 24 */ fdiv f0, f1, f0 /* 801D192C 001CD58C D8 01 00 50 */ stfd f0, 0x50(r1) lbl_801D1930: /* 801D1930 001CD590 2C 09 00 00 */ cmpwi r9, 0 /* 801D1934 001CD594 40 80 00 30 */ bge lbl_801D1964 /* 801D1938 001CD598 3C 06 C0 10 */ addis r0, r6, 0xc010 /* 801D193C 001CD59C 7C 00 23 79 */ or. r0, r0, r4 /* 801D1940 001CD5A0 40 82 00 14 */ bne lbl_801D1954 /* 801D1944 001CD5A4 FC 00 00 28 */ fsub f0, f0, f0 /* 801D1948 001CD5A8 FC 00 00 24 */ fdiv f0, f0, f0 /* 801D194C 001CD5AC D8 01 00 50 */ stfd f0, 0x50(r1) /* 801D1950 001CD5B0 48 00 00 14 */ b lbl_801D1964 lbl_801D1954: /* 801D1954 001CD5B4 2C 04 00 01 */ cmpwi r4, 1 /* 801D1958 001CD5B8 40 82 00 0C */ bne lbl_801D1964 /* 801D195C 001CD5BC FC 00 00 50 */ fneg f0, f0 /* 801D1960 001CD5C0 D8 01 00 50 */ stfd f0, 0x50(r1) lbl_801D1964: /* 801D1964 001CD5C4 FC 20 00 90 */ fmr f1, f0 /* 801D1968 001CD5C8 48 00 05 98 */ b lbl_801D1F00 lbl_801D196C: /* 801D196C 001CD5CC 7D 28 FE 70 */ srawi r8, r9, 0x1f /* 801D1970 001CD5D0 38 08 00 01 */ addi r0, r8, 1 /* 801D1974 001CD5D4 7C 08 23 79 */ or. r8, r0, r4 /* 801D1978 001CD5D8 40 82 00 18 */ bne lbl_801D1990 /* 801D197C 001CD5DC 38 00 00 21 */ li r0, 0x21 /* 801D1980 001CD5E0 3C 60 80 64 */ lis r3, lbl_8063D6B8@ha /* 801D1984 001CD5E4 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13) /* 801D1988 001CD5E8 C0 23 D6 B8 */ lfs f1, lbl_8063D6B8@l(r3) /* 801D198C 001CD5EC 48 00 05 74 */ b lbl_801D1F00 lbl_801D1990: /* 801D1990 001CD5F0 3D 00 41 E0 */ lis r8, 0x41e0 /* 801D1994 001CD5F4 7C 07 40 00 */ cmpw r7, r8 /* 801D1998 001CD5F8 40 81 01 0C */ ble lbl_801D1AA4 /* 801D199C 001CD5FC 3C 60 43 F0 */ lis r3, 0x43f0 /* 801D19A0 001CD600 7C 07 18 00 */ cmpw r7, r3 /* 801D19A4 001CD604 40 81 00 4C */ ble lbl_801D19F0 /* 801D19A8 001CD608 3C 60 3F F0 */ lis r3, 0x3FEFFFFF@ha /* 801D19AC 001CD60C 38 E3 FF FF */ addi r7, r3, 0x3FEFFFFF@l /* 801D19B0 001CD610 7C 06 38 00 */ cmpw r6, r7 /* 801D19B4 001CD614 41 81 00 1C */ bgt lbl_801D19D0 /* 801D19B8 001CD618 2C 05 00 00 */ cmpwi r5, 0 /* 801D19BC 001CD61C 40 80 00 0C */ bge lbl_801D19C8 /* 801D19C0 001CD620 C8 22 93 08 */ lfd f1, lbl_80641908-_SDA2_BASE_(r2) /* 801D19C4 001CD624 48 00 05 3C */ b lbl_801D1F00 lbl_801D19C8: /* 801D19C8 001CD628 C8 22 93 00 */ lfd f1, lbl_80641900-_SDA2_BASE_(r2) /* 801D19CC 001CD62C 48 00 05 34 */ b lbl_801D1F00 lbl_801D19D0: /* 801D19D0 001CD630 7C 06 18 00 */ cmpw r6, r3 /* 801D19D4 001CD634 41 80 00 1C */ blt lbl_801D19F0 /* 801D19D8 001CD638 2C 05 00 00 */ cmpwi r5, 0 /* 801D19DC 001CD63C 40 81 00 0C */ ble lbl_801D19E8 /* 801D19E0 001CD640 C8 22 93 08 */ lfd f1, lbl_80641908-_SDA2_BASE_(r2) /* 801D19E4 001CD644 48 00 05 1C */ b lbl_801D1F00 lbl_801D19E8: /* 801D19E8 001CD648 C8 22 93 00 */ lfd f1, lbl_80641900-_SDA2_BASE_(r2) /* 801D19EC 001CD64C 48 00 05 14 */ b lbl_801D1F00 lbl_801D19F0: /* 801D19F0 001CD650 3C 60 3F F0 */ lis r3, 0x3FEFFFFF@ha /* 801D19F4 001CD654 38 E3 FF FF */ addi r7, r3, 0x3FEFFFFF@l /* 801D19F8 001CD658 7C 06 38 00 */ cmpw r6, r7 /* 801D19FC 001CD65C 40 80 00 1C */ bge lbl_801D1A18 /* 801D1A00 001CD660 2C 05 00 00 */ cmpwi r5, 0 /* 801D1A04 001CD664 40 80 00 0C */ bge lbl_801D1A10 /* 801D1A08 001CD668 C8 22 93 08 */ lfd f1, lbl_80641908-_SDA2_BASE_(r2) /* 801D1A0C 001CD66C 48 00 04 F4 */ b lbl_801D1F00 lbl_801D1A10: /* 801D1A10 001CD670 C8 22 93 00 */ lfd f1, lbl_80641900-_SDA2_BASE_(r2) /* 801D1A14 001CD674 48 00 04 EC */ b lbl_801D1F00 lbl_801D1A18: /* 801D1A18 001CD678 7C 06 18 00 */ cmpw r6, r3 /* 801D1A1C 001CD67C 40 81 00 1C */ ble lbl_801D1A38 /* 801D1A20 001CD680 2C 05 00 00 */ cmpwi r5, 0 /* 801D1A24 001CD684 40 81 00 0C */ ble lbl_801D1A30 /* 801D1A28 001CD688 C8 22 93 08 */ lfd f1, lbl_80641908-_SDA2_BASE_(r2) /* 801D1A2C 001CD68C 48 00 04 D4 */ b lbl_801D1F00 lbl_801D1A30: /* 801D1A30 001CD690 C8 22 93 00 */ lfd f1, lbl_80641900-_SDA2_BASE_(r2) /* 801D1A34 001CD694 48 00 04 CC */ b lbl_801D1F00 lbl_801D1A38: /* 801D1A38 001CD698 C8 62 92 F8 */ lfd f3, lbl_806418F8-_SDA2_BASE_(r2) /* 801D1A3C 001CD69C 38 60 00 00 */ li r3, 0 /* 801D1A40 001CD6A0 C8 02 93 20 */ lfd f0, lbl_80641920-_SDA2_BASE_(r2) /* 801D1A44 001CD6A4 FD 01 18 28 */ fsub f8, f1, f3 /* 801D1A48 001CD6A8 C8 22 93 30 */ lfd f1, lbl_80641930-_SDA2_BASE_(r2) /* 801D1A4C 001CD6AC C8 A2 93 18 */ lfd f5, lbl_80641918-_SDA2_BASE_(r2) /* 801D1A50 001CD6B0 C8 62 93 28 */ lfd f3, lbl_80641928-_SDA2_BASE_(r2) /* 801D1A54 001CD6B4 FC C0 02 32 */ fmul f6, f0, f8 /* 801D1A58 001CD6B8 C8 82 93 10 */ lfd f4, lbl_80641910-_SDA2_BASE_(r2) /* 801D1A5C 001CD6BC C8 02 93 38 */ lfd f0, lbl_80641938-_SDA2_BASE_(r2) /* 801D1A60 001CD6C0 FC E8 02 32 */ fmul f7, f8, f8 /* 801D1A64 001CD6C4 D9 01 00 28 */ stfd f8, 0x28(r1) /* 801D1A68 001CD6C8 FC A5 30 28 */ fsub f5, f5, f6 /* 801D1A6C 001CD6CC FC C3 02 32 */ fmul f6, f3, f8 /* 801D1A70 001CD6D0 FC A8 01 72 */ fmul f5, f8, f5 /* 801D1A74 001CD6D4 FC 21 02 32 */ fmul f1, f1, f8 /* 801D1A78 001CD6D8 FC 64 28 28 */ fsub f3, f4, f5 /* 801D1A7C 001CD6DC FC 67 00 F2 */ fmul f3, f7, f3 /* 801D1A80 001CD6E0 FC 00 00 F2 */ fmul f0, f0, f3 /* 801D1A84 001CD6E4 FC 21 00 28 */ fsub f1, f1, f0 /* 801D1A88 001CD6E8 FC 06 08 2A */ fadd f0, f6, f1 /* 801D1A8C 001CD6EC D8 01 00 30 */ stfd f0, 0x30(r1) /* 801D1A90 001CD6F0 90 61 00 34 */ stw r3, 0x34(r1) /* 801D1A94 001CD6F4 C8 01 00 30 */ lfd f0, 0x30(r1) /* 801D1A98 001CD6F8 FC 00 30 28 */ fsub f0, f0, f6 /* 801D1A9C 001CD6FC FC 01 00 28 */ fsub f0, f1, f0 /* 801D1AA0 001CD700 48 00 02 10 */ b lbl_801D1CB0 lbl_801D1AA4: /* 801D1AA4 001CD704 3C A0 00 10 */ lis r5, 0x10 /* 801D1AA8 001CD708 39 60 00 00 */ li r11, 0 /* 801D1AAC 001CD70C 7C 06 28 00 */ cmpw r6, r5 /* 801D1AB0 001CD710 40 80 00 18 */ bge lbl_801D1AC8 /* 801D1AB4 001CD714 C8 22 93 40 */ lfd f1, lbl_80641940-_SDA2_BASE_(r2) /* 801D1AB8 001CD718 39 60 FF CB */ li r11, -53 /* 801D1ABC 001CD71C FC 00 00 72 */ fmul f0, f0, f1 /* 801D1AC0 001CD720 D8 01 00 48 */ stfd f0, 0x48(r1) /* 801D1AC4 001CD724 80 C1 00 48 */ lwz r6, 0x48(r1) lbl_801D1AC8: /* 801D1AC8 001CD728 3C A0 00 04 */ lis r5, 0x0003988E@ha /* 801D1ACC 001CD72C 54 C8 03 3E */ clrlwi r8, r6, 0xc /* 801D1AD0 001CD730 38 A5 98 8E */ addi r5, r5, 0x0003988E@l /* 801D1AD4 001CD734 7C C6 A6 70 */ srawi r6, r6, 0x14 /* 801D1AD8 001CD738 7C 08 28 00 */ cmpw r8, r5 /* 801D1ADC 001CD73C 65 07 3F F0 */ oris r7, r8, 0x3ff0 /* 801D1AE0 001CD740 7C AB 32 14 */ add r5, r11, r6 /* 801D1AE4 001CD744 39 65 FC 01 */ addi r11, r5, -1023 /* 801D1AE8 001CD748 41 81 00 0C */ bgt lbl_801D1AF4 /* 801D1AEC 001CD74C 38 C0 00 00 */ li r6, 0 /* 801D1AF0 001CD750 48 00 00 28 */ b lbl_801D1B18 lbl_801D1AF4: /* 801D1AF4 001CD754 3C A0 00 0C */ lis r5, 0x000BB67A@ha /* 801D1AF8 001CD758 38 A5 B6 7A */ addi r5, r5, 0x000BB67A@l /* 801D1AFC 001CD75C 7C 08 28 00 */ cmpw r8, r5 /* 801D1B00 001CD760 40 80 00 0C */ bge lbl_801D1B0C /* 801D1B04 001CD764 38 C0 00 01 */ li r6, 1 /* 801D1B08 001CD768 48 00 00 10 */ b lbl_801D1B18 lbl_801D1B0C: /* 801D1B0C 001CD76C 3C E7 FF F0 */ addis r7, r7, 0xfff0 /* 801D1B10 001CD770 38 C0 00 00 */ li r6, 0 /* 801D1B14 001CD774 39 6B 00 01 */ addi r11, r11, 1 lbl_801D1B18: /* 801D1B18 001CD778 90 E1 00 48 */ stw r7, 0x48(r1) /* 801D1B1C 001CD77C 7C E9 0E 70 */ srawi r9, r7, 1 /* 801D1B20 001CD780 54 CA 18 38 */ slwi r10, r6, 3 /* 801D1B24 001CD784 38 A3 00 00 */ addi r5, r3, 0 /* 801D1B28 001CD788 7C E5 54 AE */ lfdx f7, r5, r10 /* 801D1B2C 001CD78C 54 C8 90 1A */ slwi r8, r6, 0x12 /* 801D1B30 001CD790 C9 41 00 48 */ lfd f10, 0x48(r1) /* 801D1B34 001CD794 6D 66 80 00 */ xoris r6, r11, 0x8000 /* 801D1B38 001CD798 C8 82 93 00 */ lfd f4, lbl_80641900-_SDA2_BASE_(r2) /* 801D1B3C 001CD79C 3C A0 43 30 */ lis r5, 0x4330 /* 801D1B40 001CD7A0 FC 6A 38 2A */ fadd f3, f10, f7 /* 801D1B44 001CD7A4 C8 22 92 F8 */ lfd f1, lbl_806418F8-_SDA2_BASE_(r2) /* 801D1B48 001CD7A8 FF 4A 38 28 */ fsub f26, f10, f7 /* 801D1B4C 001CD7AC D8 81 00 18 */ stfd f4, 0x18(r1) /* 801D1B50 001CD7B0 65 29 20 00 */ oris r9, r9, 0x2000 /* 801D1B54 001CD7B4 3D 08 00 08 */ addis r8, r8, 8 /* 801D1B58 001CD7B8 FC 21 18 24 */ fdiv f1, f1, f3 /* 801D1B5C 001CD7BC 7D 09 42 14 */ add r8, r9, r8 /* 801D1B60 001CD7C0 91 01 00 18 */ stw r8, 0x18(r1) /* 801D1B64 001CD7C4 39 20 00 00 */ li r9, 0 /* 801D1B68 001CD7C8 C8 02 93 70 */ lfd f0, lbl_80641970-_SDA2_BASE_(r2) /* 801D1B6C 001CD7CC 38 E3 00 20 */ addi r7, r3, 0x20 /* 801D1B70 001CD7D0 FC 9A 00 72 */ fmul f4, f26, f1 /* 801D1B74 001CD7D4 C9 21 00 18 */ lfd f9, 0x18(r1) /* 801D1B78 001CD7D8 C8 62 93 68 */ lfd f3, lbl_80641968-_SDA2_BASE_(r2) /* 801D1B7C 001CD7DC FD 09 38 28 */ fsub f8, f9, f7 /* 801D1B80 001CD7E0 C8 C2 93 60 */ lfd f6, lbl_80641960-_SDA2_BASE_(r2) /* 801D1B84 001CD7E4 90 C1 00 5C */ stw r6, 0x5c(r1) /* 801D1B88 001CD7E8 FC A4 01 32 */ fmul f5, f4, f4 /* 801D1B8C 001CD7EC D8 81 00 20 */ stfd f4, 0x20(r1) /* 801D1B90 001CD7F0 CB C2 93 58 */ lfd f30, lbl_80641958-_SDA2_BASE_(r2) /* 801D1B94 001CD7F4 FD 6A 40 28 */ fsub f11, f10, f8 /* 801D1B98 001CD7F8 90 A1 00 58 */ stw r5, 0x58(r1) /* 801D1B9C 001CD7FC CB E2 93 50 */ lfd f31, lbl_80641950-_SDA2_BASE_(r2) /* 801D1BA0 001CD800 FC E0 01 72 */ fmul f7, f0, f5 /* 801D1BA4 001CD804 91 21 00 24 */ stw r9, 0x24(r1) /* 801D1BA8 001CD808 C9 A2 93 48 */ lfd f13, lbl_80641948-_SDA2_BASE_(r2) /* 801D1BAC 001CD80C C8 01 00 20 */ lfd f0, 0x20(r1) /* 801D1BB0 001CD810 C9 82 93 78 */ lfd f12, lbl_80641978-_SDA2_BASE_(r2) /* 801D1BB4 001CD814 FC E3 38 2A */ fadd f7, f3, f7 /* 801D1BB8 001CD818 FF 60 02 72 */ fmul f27, f0, f9 /* 801D1BBC 001CD81C C9 42 93 88 */ lfd f10, lbl_80641988-_SDA2_BASE_(r2) /* 801D1BC0 001CD820 C9 22 93 90 */ lfd f9, lbl_80641990-_SDA2_BASE_(r2) /* 801D1BC4 001CD824 FD 05 01 F2 */ fmul f8, f5, f7 /* 801D1BC8 001CD828 C8 E2 94 00 */ lfd f7, lbl_80641A00-_SDA2_BASE_(r2) /* 801D1BCC 001CD82C FF 80 02 F2 */ fmul f28, f0, f11 /* 801D1BD0 001CD830 C9 62 93 80 */ lfd f11, lbl_80641980-_SDA2_BASE_(r2) /* 801D1BD4 001CD834 FF A6 40 2A */ fadd f29, f6, f8 /* 801D1BD8 001CD838 C8 C1 00 58 */ lfd f6, 0x58(r1) /* 801D1BDC 001CD83C FF 7A D8 28 */ fsub f27, f26, f27 /* 801D1BE0 001CD840 7D 07 54 AE */ lfdx f8, r7, r10 /* 801D1BE4 001CD844 FC C6 38 28 */ fsub f6, f6, f7 /* 801D1BE8 001CD848 FF A5 07 72 */ fmul f29, f5, f29 /* 801D1BEC 001CD84C FF 9B E0 28 */ fsub f28, f27, f28 /* 801D1BF0 001CD850 D8 C1 00 28 */ stfd f6, 0x28(r1) /* 801D1BF4 001CD854 FC 60 00 32 */ fmul f3, f0, f0 /* 801D1BF8 001CD858 FC FE E8 2A */ fadd f7, f30, f29 /* 801D1BFC 001CD85C FF 41 07 32 */ fmul f26, f1, f28 /* 801D1C00 001CD860 FC E5 01 F2 */ fmul f7, f5, f7 /* 801D1C04 001CD864 FF A5 01 72 */ fmul f29, f5, f5 /* 801D1C08 001CD868 FF FF 38 2A */ fadd f31, f31, f7 /* 801D1C0C 001CD86C FC 20 20 2A */ fadd f1, f0, f4 /* 801D1C10 001CD870 FC A5 07 F2 */ fmul f5, f5, f31 /* 801D1C14 001CD874 FC FA 00 72 */ fmul f7, f26, f1 /* 801D1C18 001CD878 FC AD 28 2A */ fadd f5, f13, f5 /* 801D1C1C 001CD87C FC 2C 18 2A */ fadd f1, f12, f3 /* 801D1C20 001CD880 FD BD 01 72 */ fmul f13, f29, f5 /* 801D1C24 001CD884 FD AD 38 2A */ fadd f13, f13, f7 /* 801D1C28 001CD888 FC 21 68 2A */ fadd f1, f1, f13 /* 801D1C2C 001CD88C D8 21 00 18 */ stfd f1, 0x18(r1) /* 801D1C30 001CD890 91 21 00 1C */ stw r9, 0x1c(r1) /* 801D1C34 001CD894 C8 E1 00 18 */ lfd f7, 0x18(r1) /* 801D1C38 001CD898 FC A7 60 28 */ fsub f5, f7, f12 /* 801D1C3C 001CD89C FC 3A 01 F2 */ fmul f1, f26, f7 /* 801D1C40 001CD8A0 FC 65 18 28 */ fsub f3, f5, f3 /* 801D1C44 001CD8A4 FC A0 01 F2 */ fmul f5, f0, f7 /* 801D1C48 001CD8A8 FC 0D 18 28 */ fsub f0, f13, f3 /* 801D1C4C 001CD8AC FC 00 01 32 */ fmul f0, f0, f4 /* 801D1C50 001CD8B0 FC 81 00 2A */ fadd f4, f1, f0 /* 801D1C54 001CD8B4 FC 65 20 2A */ fadd f3, f5, f4 /* 801D1C58 001CD8B8 D8 61 00 40 */ stfd f3, 0x40(r1) /* 801D1C5C 001CD8BC 91 21 00 44 */ stw r9, 0x44(r1) /* 801D1C60 001CD8C0 C8 61 00 40 */ lfd f3, 0x40(r1) /* 801D1C64 001CD8C4 FC 03 28 28 */ fsub f0, f3, f5 /* 801D1C68 001CD8C8 FC 2A 00 F2 */ fmul f1, f10, f3 /* 801D1C6C 001CD8CC FC 04 00 28 */ fsub f0, f4, f0 /* 801D1C70 001CD8D0 FC 6B 00 F2 */ fmul f3, f11, f3 /* 801D1C74 001CD8D4 FC 09 00 32 */ fmul f0, f9, f0 /* 801D1C78 001CD8D8 FC 01 00 2A */ fadd f0, f1, f0 /* 801D1C7C 001CD8DC FC 88 00 2A */ fadd f4, f8, f0 /* 801D1C80 001CD8E0 38 63 00 10 */ addi r3, r3, 0x10 /* 801D1C84 001CD8E4 FC 03 20 2A */ fadd f0, f3, f4 /* 801D1C88 001CD8E8 7C 23 54 AE */ lfdx f1, r3, r10 /* 801D1C8C 001CD8EC FC 00 08 2A */ fadd f0, f0, f1 /* 801D1C90 001CD8F0 FC 06 00 2A */ fadd f0, f6, f0 /* 801D1C94 001CD8F4 D8 01 00 30 */ stfd f0, 0x30(r1) /* 801D1C98 001CD8F8 91 21 00 34 */ stw r9, 0x34(r1) /* 801D1C9C 001CD8FC C8 01 00 30 */ lfd f0, 0x30(r1) /* 801D1CA0 001CD900 FC 00 30 28 */ fsub f0, f0, f6 /* 801D1CA4 001CD904 FC 00 08 28 */ fsub f0, f0, f1 /* 801D1CA8 001CD908 FC 00 18 28 */ fsub f0, f0, f3 /* 801D1CAC 001CD90C FC 04 00 28 */ fsub f0, f4, f0 lbl_801D1CB0: /* 801D1CB0 001CD910 38 64 FF FF */ addi r3, r4, -1 /* 801D1CB4 001CD914 CB E2 92 F8 */ lfd f31, lbl_806418F8-_SDA2_BASE_(r2) /* 801D1CB8 001CD918 7C 00 1B 79 */ or. r0, r0, r3 /* 801D1CBC 001CD91C 40 82 00 08 */ bne lbl_801D1CC4 /* 801D1CC0 001CD920 CB E2 93 98 */ lfd f31, lbl_80641998-_SDA2_BASE_(r2) lbl_801D1CC4: /* 801D1CC4 001CD924 D8 41 00 38 */ stfd f2, 0x38(r1) /* 801D1CC8 001CD928 38 00 00 00 */ li r0, 0 /* 801D1CCC 001CD92C FC 02 00 32 */ fmul f0, f2, f0 /* 801D1CD0 001CD930 C8 21 00 30 */ lfd f1, 0x30(r1) /* 801D1CD4 001CD934 90 01 00 3C */ stw r0, 0x3c(r1) /* 801D1CD8 001CD938 3C 00 40 90 */ lis r0, 0x4090 /* 801D1CDC 001CD93C C8 61 00 38 */ lfd f3, 0x38(r1) /* 801D1CE0 001CD940 FC 42 18 28 */ fsub f2, f2, f3 /* 801D1CE4 001CD944 FC 63 00 72 */ fmul f3, f3, f1 /* 801D1CE8 001CD948 FC 21 00 B2 */ fmul f1, f1, f2 /* 801D1CEC 001CD94C D8 61 00 40 */ stfd f3, 0x40(r1) /* 801D1CF0 001CD950 FD 61 00 2A */ fadd f11, f1, f0 /* 801D1CF4 001CD954 FC 0B 18 2A */ fadd f0, f11, f3 /* 801D1CF8 001CD958 D8 01 00 50 */ stfd f0, 0x50(r1) /* 801D1CFC 001CD95C 80 C1 00 50 */ lwz r6, 0x50(r1) /* 801D1D00 001CD960 80 A1 00 54 */ lwz r5, 0x54(r1) /* 801D1D04 001CD964 7C 06 00 00 */ cmpw r6, r0 /* 801D1D08 001CD968 41 80 00 44 */ blt lbl_801D1D4C /* 801D1D0C 001CD96C 3C 06 BF 70 */ addis r0, r6, 0xbf70 /* 801D1D10 001CD970 7C 00 2B 79 */ or. r0, r0, r5 /* 801D1D14 001CD974 41 82 00 14 */ beq lbl_801D1D28 /* 801D1D18 001CD978 C8 22 93 A0 */ lfd f1, lbl_806419A0-_SDA2_BASE_(r2) /* 801D1D1C 001CD97C FC 01 07 F2 */ fmul f0, f1, f31 /* 801D1D20 001CD980 FC 21 00 32 */ fmul f1, f1, f0 /* 801D1D24 001CD984 48 00 01 DC */ b lbl_801D1F00 lbl_801D1D28: /* 801D1D28 001CD988 C8 22 93 A8 */ lfd f1, lbl_806419A8-_SDA2_BASE_(r2) /* 801D1D2C 001CD98C FC 00 18 28 */ fsub f0, f0, f3 /* 801D1D30 001CD990 FC 21 58 2A */ fadd f1, f1, f11 /* 801D1D34 001CD994 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801D1D38 001CD998 40 81 00 68 */ ble lbl_801D1DA0 /* 801D1D3C 001CD99C C8 22 93 A0 */ lfd f1, lbl_806419A0-_SDA2_BASE_(r2) /* 801D1D40 001CD9A0 FC 01 07 F2 */ fmul f0, f1, f31 /* 801D1D44 001CD9A4 FC 21 00 32 */ fmul f1, f1, f0 /* 801D1D48 001CD9A8 48 00 01 B8 */ b lbl_801D1F00 lbl_801D1D4C: /* 801D1D4C 001CD9AC 3C 60 40 91 */ lis r3, 0x4090CC00@ha /* 801D1D50 001CD9B0 54 C4 00 7E */ clrlwi r4, r6, 1 /* 801D1D54 001CD9B4 38 03 CC 00 */ addi r0, r3, 0x4090CC00@l /* 801D1D58 001CD9B8 7C 04 00 00 */ cmpw r4, r0 /* 801D1D5C 001CD9BC 41 80 00 44 */ blt lbl_801D1DA0 /* 801D1D60 001CD9C0 3C 66 3F 6F */ addis r3, r6, 0x3f6f /* 801D1D64 001CD9C4 38 03 34 00 */ addi r0, r3, 0x3400 /* 801D1D68 001CD9C8 7C 00 2B 79 */ or. r0, r0, r5 /* 801D1D6C 001CD9CC 41 82 00 14 */ beq lbl_801D1D80 /* 801D1D70 001CD9D0 C8 22 93 B0 */ lfd f1, lbl_806419B0-_SDA2_BASE_(r2) /* 801D1D74 001CD9D4 FC 01 07 F2 */ fmul f0, f1, f31 /* 801D1D78 001CD9D8 FC 21 00 32 */ fmul f1, f1, f0 /* 801D1D7C 001CD9DC 48 00 01 84 */ b lbl_801D1F00 lbl_801D1D80: /* 801D1D80 001CD9E0 FC 00 18 28 */ fsub f0, f0, f3 /* 801D1D84 001CD9E4 FC 0B 00 40 */ fcmpo cr0, f11, f0 /* 801D1D88 001CD9E8 4C 40 13 82 */ cror 2, 0, 2 /* 801D1D8C 001CD9EC 40 82 00 14 */ bne lbl_801D1DA0 /* 801D1D90 001CD9F0 C8 22 93 B0 */ lfd f1, lbl_806419B0-_SDA2_BASE_(r2) /* 801D1D94 001CD9F4 FC 01 07 F2 */ fmul f0, f1, f31 /* 801D1D98 001CD9F8 FC 21 00 32 */ fmul f1, f1, f0 /* 801D1D9C 001CD9FC 48 00 01 64 */ b lbl_801D1F00 lbl_801D1DA0: /* 801D1DA0 001CDA00 54 C3 00 7E */ clrlwi r3, r6, 1 /* 801D1DA4 001CDA04 3C 00 3F E0 */ lis r0, 0x3fe0 /* 801D1DA8 001CDA08 7C 03 00 00 */ cmpw r3, r0 /* 801D1DAC 001CDA0C 54 C4 65 7E */ rlwinm r4, r6, 0xc, 0x15, 0x1f /* 801D1DB0 001CDA10 38 60 00 00 */ li r3, 0 /* 801D1DB4 001CDA14 40 81 00 60 */ ble lbl_801D1E14 /* 801D1DB8 001CDA18 3C 60 00 10 */ lis r3, 0x000FFFFF@ha /* 801D1DBC 001CDA1C 38 04 FC 02 */ addi r0, r4, -1022 /* 801D1DC0 001CDA20 7C 60 06 30 */ sraw r0, r3, r0 /* 801D1DC4 001CDA24 C8 02 93 00 */ lfd f0, lbl_80641900-_SDA2_BASE_(r2) /* 801D1DC8 001CDA28 7C E6 02 14 */ add r7, r6, r0 /* 801D1DCC 001CDA2C 38 63 FF FF */ addi r3, r3, 0x000FFFFF@l /* 801D1DD0 001CDA30 54 E0 00 7E */ clrlwi r0, r7, 1 /* 801D1DD4 001CDA34 D8 01 00 28 */ stfd f0, 0x28(r1) /* 801D1DD8 001CDA38 7C 04 A6 70 */ srawi r4, r0, 0x14 /* 801D1DDC 001CDA3C 2C 06 00 00 */ cmpwi r6, 0 /* 801D1DE0 001CDA40 38 A4 FC 01 */ addi r5, r4, -1023 /* 801D1DE4 001CDA44 54 E0 03 3E */ clrlwi r0, r7, 0xc /* 801D1DE8 001CDA48 7C 64 2E 30 */ sraw r4, r3, r5 /* 801D1DEC 001CDA4C 7C E4 20 78 */ andc r4, r7, r4 /* 801D1DF0 001CDA50 64 03 00 10 */ oris r3, r0, 0x10 /* 801D1DF4 001CDA54 20 05 00 14 */ subfic r0, r5, 0x14 /* 801D1DF8 001CDA58 90 81 00 28 */ stw r4, 0x28(r1) /* 801D1DFC 001CDA5C 7C 63 06 30 */ sraw r3, r3, r0 /* 801D1E00 001CDA60 40 80 00 08 */ bge lbl_801D1E08 /* 801D1E04 001CDA64 7C 63 00 D0 */ neg r3, r3 lbl_801D1E08: /* 801D1E08 001CDA68 C8 01 00 28 */ lfd f0, 0x28(r1) /* 801D1E0C 001CDA6C FC 63 00 28 */ fsub f3, f3, f0 /* 801D1E10 001CDA70 D8 61 00 40 */ stfd f3, 0x40(r1) lbl_801D1E14: /* 801D1E14 001CDA74 FC 2B 18 2A */ fadd f1, f11, f3 /* 801D1E18 001CDA78 38 00 00 00 */ li r0, 0 /* 801D1E1C 001CDA7C C8 02 93 C8 */ lfd f0, lbl_806419C8-_SDA2_BASE_(r2) /* 801D1E20 001CDA80 54 64 A0 16 */ slwi r4, r3, 0x14 /* 801D1E24 001CDA84 C9 02 93 C0 */ lfd f8, lbl_806419C0-_SDA2_BASE_(r2) /* 801D1E28 001CDA88 D8 21 00 28 */ stfd f1, 0x28(r1) /* 801D1E2C 001CDA8C C9 42 93 B8 */ lfd f10, lbl_806419B8-_SDA2_BASE_(r2) /* 801D1E30 001CDA90 90 01 00 2C */ stw r0, 0x2c(r1) /* 801D1E34 001CDA94 C8 C2 93 F0 */ lfd f6, lbl_806419F0-_SDA2_BASE_(r2) /* 801D1E38 001CDA98 C9 21 00 28 */ lfd f9, 0x28(r1) /* 801D1E3C 001CDA9C C8 22 93 E8 */ lfd f1, lbl_806419E8-_SDA2_BASE_(r2) /* 801D1E40 001CDAA0 FC 49 18 28 */ fsub f2, f9, f3 /* 801D1E44 001CDAA4 C8 A2 93 E0 */ lfd f5, lbl_806419E0-_SDA2_BASE_(r2) /* 801D1E48 001CDAA8 FC E0 02 72 */ fmul f7, f0, f9 /* 801D1E4C 001CDAAC C8 82 93 D8 */ lfd f4, lbl_806419D8-_SDA2_BASE_(r2) /* 801D1E50 001CDAB0 C8 62 93 D0 */ lfd f3, lbl_806419D0-_SDA2_BASE_(r2) /* 801D1E54 001CDAB4 FC 0B 10 28 */ fsub f0, f11, f2 /* 801D1E58 001CDAB8 FD 4A 02 72 */ fmul f10, f10, f9 /* 801D1E5C 001CDABC C8 42 93 F8 */ lfd f2, lbl_806419F8-_SDA2_BASE_(r2) /* 801D1E60 001CDAC0 FD 08 00 32 */ fmul f8, f8, f0 /* 801D1E64 001CDAC4 C8 02 92 F8 */ lfd f0, lbl_806418F8-_SDA2_BASE_(r2) /* 801D1E68 001CDAC8 FD 68 38 2A */ fadd f11, f8, f7 /* 801D1E6C 001CDACC FD 2A 58 2A */ fadd f9, f10, f11 /* 801D1E70 001CDAD0 FC E9 02 72 */ fmul f7, f9, f9 /* 801D1E74 001CDAD4 FD 09 50 28 */ fsub f8, f9, f10 /* 801D1E78 001CDAD8 FC C6 01 F2 */ fmul f6, f6, f7 /* 801D1E7C 001CDADC D8 E1 00 28 */ stfd f7, 0x28(r1) /* 801D1E80 001CDAE0 FD 0B 40 28 */ fsub f8, f11, f8 /* 801D1E84 001CDAE4 FC C1 30 2A */ fadd f6, f1, f6 /* 801D1E88 001CDAE8 FC 29 02 32 */ fmul f1, f9, f8 /* 801D1E8C 001CDAEC FC C7 01 B2 */ fmul f6, f7, f6 /* 801D1E90 001CDAF0 FC 28 08 2A */ fadd f1, f8, f1 /* 801D1E94 001CDAF4 FC A5 30 2A */ fadd f5, f5, f6 /* 801D1E98 001CDAF8 FC A7 01 72 */ fmul f5, f7, f5 /* 801D1E9C 001CDAFC FC 84 28 2A */ fadd f4, f4, f5 /* 801D1EA0 001CDB00 FC 87 01 32 */ fmul f4, f7, f4 /* 801D1EA4 001CDB04 FC 63 20 2A */ fadd f3, f3, f4 /* 801D1EA8 001CDB08 FC 67 00 F2 */ fmul f3, f7, f3 /* 801D1EAC 001CDB0C FC 89 18 28 */ fsub f4, f9, f3 /* 801D1EB0 001CDB10 FC 69 01 32 */ fmul f3, f9, f4 /* 801D1EB4 001CDB14 D8 81 00 30 */ stfd f4, 0x30(r1) /* 801D1EB8 001CDB18 FC 44 10 28 */ fsub f2, f4, f2 /* 801D1EBC 001CDB1C FC 43 10 24 */ fdiv f2, f3, f2 /* 801D1EC0 001CDB20 FC 22 08 28 */ fsub f1, f2, f1 /* 801D1EC4 001CDB24 FC 21 48 28 */ fsub f1, f1, f9 /* 801D1EC8 001CDB28 FC 20 08 28 */ fsub f1, f0, f1 /* 801D1ECC 001CDB2C D8 21 00 50 */ stfd f1, 0x50(r1) /* 801D1ED0 001CDB30 80 01 00 50 */ lwz r0, 0x50(r1) /* 801D1ED4 001CDB34 7C 00 22 14 */ add r0, r0, r4 /* 801D1ED8 001CDB38 7C 00 A6 71 */ srawi. r0, r0, 0x14 /* 801D1EDC 001CDB3C 41 81 00 10 */ bgt lbl_801D1EEC /* 801D1EE0 001CDB40 4B FF EA E1 */ bl func_801D09C0 /* 801D1EE4 001CDB44 D8 21 00 50 */ stfd f1, 0x50(r1) /* 801D1EE8 001CDB48 48 00 00 10 */ b lbl_801D1EF8 lbl_801D1EEC: /* 801D1EEC 001CDB4C 80 01 00 50 */ lwz r0, 0x50(r1) /* 801D1EF0 001CDB50 7C 00 22 14 */ add r0, r0, r4 /* 801D1EF4 001CDB54 90 01 00 50 */ stw r0, 0x50(r1) lbl_801D1EF8: /* 801D1EF8 001CDB58 C8 01 00 50 */ lfd f0, 0x50(r1) /* 801D1EFC 001CDB5C FC 3F 00 32 */ fmul f1, f31, f0 lbl_801D1F00: /* 801D1F00 001CDB60 E3 E1 00 B8 */ psq_l f31, 184(r1), 0, qr0 /* 801D1F04 001CDB64 CB E1 00 B0 */ lfd f31, 0xb0(r1) /* 801D1F08 001CDB68 E3 C1 00 A8 */ psq_l f30, 168(r1), 0, qr0 /* 801D1F0C 001CDB6C CB C1 00 A0 */ lfd f30, 0xa0(r1) /* 801D1F10 001CDB70 E3 A1 00 98 */ psq_l f29, 152(r1), 0, qr0 /* 801D1F14 001CDB74 CB A1 00 90 */ lfd f29, 0x90(r1) /* 801D1F18 001CDB78 E3 81 00 88 */ psq_l f28, 136(r1), 0, qr0 /* 801D1F1C 001CDB7C CB 81 00 80 */ lfd f28, 0x80(r1) /* 801D1F20 001CDB80 E3 61 00 78 */ psq_l f27, 120(r1), 0, qr0 /* 801D1F24 001CDB84 CB 61 00 70 */ lfd f27, 0x70(r1) /* 801D1F28 001CDB88 E3 41 00 68 */ psq_l f26, 104(r1), 0, qr0 /* 801D1F2C 001CDB8C 80 01 00 C4 */ lwz r0, 0xc4(r1) /* 801D1F30 001CDB90 CB 41 00 60 */ lfd f26, 0x60(r1) /* 801D1F34 001CDB94 7C 08 03 A6 */ mtlr r0 /* 801D1F38 001CDB98 38 21 00 C0 */ addi r1, r1, 0xc0 /* 801D1F3C 001CDB9C 4E 80 00 20 */ blr .global func_801D1F40 func_801D1F40: /* 801D1F40 001CDBA0 94 21 FF A0 */ stwu r1, -0x60(r1) /* 801D1F44 001CDBA4 7C 08 02 A6 */ mflr r0 /* 801D1F48 001CDBA8 3C 80 3F E9 */ lis r4, 0x3FE921FB@ha /* 801D1F4C 001CDBAC 90 01 00 64 */ stw r0, 0x64(r1) /* 801D1F50 001CDBB0 38 04 21 FB */ addi r0, r4, 0x3FE921FB@l /* 801D1F54 001CDBB4 93 E1 00 5C */ stw r31, 0x5c(r1) /* 801D1F58 001CDBB8 D8 21 00 08 */ stfd f1, 8(r1) /* 801D1F5C 001CDBBC 83 E1 00 08 */ lwz r31, 8(r1) /* 801D1F60 001CDBC0 93 C1 00 58 */ stw r30, 0x58(r1) /* 801D1F64 001CDBC4 7C 7E 1B 78 */ mr r30, r3 /* 801D1F68 001CDBC8 57 E6 00 7E */ clrlwi r6, r31, 1 /* 801D1F6C 001CDBCC 7C 06 00 00 */ cmpw r6, r0 /* 801D1F70 001CDBD0 41 81 00 18 */ bgt lbl_801D1F88 /* 801D1F74 001CDBD4 C8 02 94 08 */ lfd f0, lbl_80641A08-_SDA2_BASE_(r2) /* 801D1F78 001CDBD8 D8 23 00 00 */ stfd f1, 0(r3) /* 801D1F7C 001CDBDC D8 03 00 08 */ stfd f0, 8(r3) /* 801D1F80 001CDBE0 38 60 00 00 */ li r3, 0 /* 801D1F84 001CDBE4 48 00 03 3C */ b lbl_801D22C0 lbl_801D1F88: /* 801D1F88 001CDBE8 3C 80 40 03 */ lis r4, 0x4002D97C@ha /* 801D1F8C 001CDBEC 38 04 D9 7C */ addi r0, r4, 0x4002D97C@l /* 801D1F90 001CDBF0 7C 06 00 00 */ cmpw r6, r0 /* 801D1F94 001CDBF4 40 80 00 CC */ bge lbl_801D2060 /* 801D1F98 001CDBF8 2C 1F 00 00 */ cmpwi r31, 0 /* 801D1F9C 001CDBFC 40 81 00 64 */ ble lbl_801D2000 /* 801D1FA0 001CDC00 C8 02 94 10 */ lfd f0, lbl_80641A10-_SDA2_BASE_(r2) /* 801D1FA4 001CDC04 3C 06 C0 07 */ addis r0, r6, 0xc007 /* 801D1FA8 001CDC08 28 00 21 FB */ cmplwi r0, 0x21fb /* 801D1FAC 001CDC0C FC 61 00 28 */ fsub f3, f1, f0 /* 801D1FB0 001CDC10 D8 61 00 10 */ stfd f3, 0x10(r1) /* 801D1FB4 001CDC14 41 82 00 20 */ beq lbl_801D1FD4 /* 801D1FB8 001CDC18 C8 42 94 18 */ lfd f2, lbl_80641A18-_SDA2_BASE_(r2) /* 801D1FBC 001CDC1C FC 23 10 28 */ fsub f1, f3, f2 /* 801D1FC0 001CDC20 FC 03 08 28 */ fsub f0, f3, f1 /* 801D1FC4 001CDC24 D8 23 00 00 */ stfd f1, 0(r3) /* 801D1FC8 001CDC28 FC 00 10 28 */ fsub f0, f0, f2 /* 801D1FCC 001CDC2C D8 03 00 08 */ stfd f0, 8(r3) /* 801D1FD0 001CDC30 48 00 00 28 */ b lbl_801D1FF8 lbl_801D1FD4: /* 801D1FD4 001CDC34 C8 02 94 20 */ lfd f0, lbl_80641A20-_SDA2_BASE_(r2) /* 801D1FD8 001CDC38 C8 42 94 28 */ lfd f2, lbl_80641A28-_SDA2_BASE_(r2) /* 801D1FDC 001CDC3C FC 03 00 28 */ fsub f0, f3, f0 /* 801D1FE0 001CDC40 FC 20 10 28 */ fsub f1, f0, f2 /* 801D1FE4 001CDC44 D8 01 00 10 */ stfd f0, 0x10(r1) /* 801D1FE8 001CDC48 FC 00 08 28 */ fsub f0, f0, f1 /* 801D1FEC 001CDC4C D8 23 00 00 */ stfd f1, 0(r3) /* 801D1FF0 001CDC50 FC 00 10 28 */ fsub f0, f0, f2 /* 801D1FF4 001CDC54 D8 03 00 08 */ stfd f0, 8(r3) lbl_801D1FF8: /* 801D1FF8 001CDC58 38 60 00 01 */ li r3, 1 /* 801D1FFC 001CDC5C 48 00 02 C4 */ b lbl_801D22C0 lbl_801D2000: /* 801D2000 001CDC60 C8 02 94 10 */ lfd f0, lbl_80641A10-_SDA2_BASE_(r2) /* 801D2004 001CDC64 3C 06 C0 07 */ addis r0, r6, 0xc007 /* 801D2008 001CDC68 28 00 21 FB */ cmplwi r0, 0x21fb /* 801D200C 001CDC6C FC 60 08 2A */ fadd f3, f0, f1 /* 801D2010 001CDC70 D8 61 00 10 */ stfd f3, 0x10(r1) /* 801D2014 001CDC74 41 82 00 20 */ beq lbl_801D2034 /* 801D2018 001CDC78 C8 42 94 18 */ lfd f2, lbl_80641A18-_SDA2_BASE_(r2) /* 801D201C 001CDC7C FC 22 18 2A */ fadd f1, f2, f3 /* 801D2020 001CDC80 FC 03 08 28 */ fsub f0, f3, f1 /* 801D2024 001CDC84 D8 23 00 00 */ stfd f1, 0(r3) /* 801D2028 001CDC88 FC 02 00 2A */ fadd f0, f2, f0 /* 801D202C 001CDC8C D8 03 00 08 */ stfd f0, 8(r3) /* 801D2030 001CDC90 48 00 00 28 */ b lbl_801D2058 lbl_801D2034: /* 801D2034 001CDC94 C8 02 94 20 */ lfd f0, lbl_80641A20-_SDA2_BASE_(r2) /* 801D2038 001CDC98 C8 42 94 28 */ lfd f2, lbl_80641A28-_SDA2_BASE_(r2) /* 801D203C 001CDC9C FC 03 00 2A */ fadd f0, f3, f0 /* 801D2040 001CDCA0 FC 22 00 2A */ fadd f1, f2, f0 /* 801D2044 001CDCA4 D8 01 00 10 */ stfd f0, 0x10(r1) /* 801D2048 001CDCA8 FC 00 08 28 */ fsub f0, f0, f1 /* 801D204C 001CDCAC D8 23 00 00 */ stfd f1, 0(r3) /* 801D2050 001CDCB0 FC 02 00 2A */ fadd f0, f2, f0 /* 801D2054 001CDCB4 D8 03 00 08 */ stfd f0, 8(r3) lbl_801D2058: /* 801D2058 001CDCB8 38 60 FF FF */ li r3, -1 /* 801D205C 001CDCBC 48 00 02 64 */ b lbl_801D22C0 lbl_801D2060: /* 801D2060 001CDCC0 3C 80 41 39 */ lis r4, 0x413921FB@ha /* 801D2064 001CDCC4 38 04 21 FB */ addi r0, r4, 0x413921FB@l /* 801D2068 001CDCC8 7C 06 00 00 */ cmpw r6, r0 /* 801D206C 001CDCCC 41 81 01 48 */ bgt lbl_801D21B4 /* 801D2070 001CDCD0 FC A0 0A 10 */ fabs f5, f1 /* 801D2074 001CDCD4 C8 02 94 38 */ lfd f0, lbl_80641A38-_SDA2_BASE_(r2) /* 801D2078 001CDCD8 3C 00 43 30 */ lis r0, 0x4330 /* 801D207C 001CDCDC C8 42 94 30 */ lfd f2, lbl_80641A30-_SDA2_BASE_(r2) /* 801D2080 001CDCE0 90 01 00 38 */ stw r0, 0x38(r1) /* 801D2084 001CDCE4 FC 80 01 72 */ fmul f4, f0, f5 /* 801D2088 001CDCE8 C8 62 94 58 */ lfd f3, lbl_80641A58-_SDA2_BASE_(r2) /* 801D208C 001CDCEC C8 22 94 10 */ lfd f1, lbl_80641A10-_SDA2_BASE_(r2) /* 801D2090 001CDCF0 C8 02 94 18 */ lfd f0, lbl_80641A18-_SDA2_BASE_(r2) /* 801D2094 001CDCF4 FC 42 20 2A */ fadd f2, f2, f4 /* 801D2098 001CDCF8 FC 40 10 1E */ fctiwz f2, f2 /* 801D209C 001CDCFC D8 41 00 30 */ stfd f2, 0x30(r1) /* 801D20A0 001CDD00 80 A1 00 34 */ lwz r5, 0x34(r1) /* 801D20A4 001CDD04 6C A0 80 00 */ xoris r0, r5, 0x8000 /* 801D20A8 001CDD08 2C 05 00 20 */ cmpwi r5, 0x20 /* 801D20AC 001CDD0C 90 01 00 3C */ stw r0, 0x3c(r1) /* 801D20B0 001CDD10 C8 41 00 38 */ lfd f2, 0x38(r1) /* 801D20B4 001CDD14 FC C2 18 28 */ fsub f6, f2, f3 /* 801D20B8 001CDD18 FC 21 01 B2 */ fmul f1, f1, f6 /* 801D20BC 001CDD1C FC 40 01 B2 */ fmul f2, f0, f6 /* 801D20C0 001CDD20 FC 85 08 28 */ fsub f4, f5, f1 /* 801D20C4 001CDD24 40 80 00 2C */ bge lbl_801D20F0 /* 801D20C8 001CDD28 38 05 FF FF */ addi r0, r5, -1 /* 801D20CC 001CDD2C 3C 80 80 40 */ lis r4, lbl_803FD470@ha /* 801D20D0 001CDD30 54 00 10 3A */ slwi r0, r0, 2 /* 801D20D4 001CDD34 38 84 D4 70 */ addi r4, r4, lbl_803FD470@l /* 801D20D8 001CDD38 7C 04 00 2E */ lwzx r0, r4, r0 /* 801D20DC 001CDD3C 7C 06 00 00 */ cmpw r6, r0 /* 801D20E0 001CDD40 41 82 00 10 */ beq lbl_801D20F0 /* 801D20E4 001CDD44 FC 04 10 28 */ fsub f0, f4, f2 /* 801D20E8 001CDD48 D8 03 00 00 */ stfd f0, 0(r3) /* 801D20EC 001CDD4C 48 00 00 90 */ b lbl_801D217C lbl_801D20F0: /* 801D20F0 001CDD50 FC 04 10 28 */ fsub f0, f4, f2 /* 801D20F4 001CDD54 7C C4 A6 70 */ srawi r4, r6, 0x14 /* 801D20F8 001CDD58 D8 03 00 00 */ stfd f0, 0(r3) /* 801D20FC 001CDD5C 80 03 00 00 */ lwz r0, 0(r3) /* 801D2100 001CDD60 54 00 65 7E */ rlwinm r0, r0, 0xc, 0x15, 0x1f /* 801D2104 001CDD64 7C 00 20 50 */ subf r0, r0, r4 /* 801D2108 001CDD68 2C 00 00 10 */ cmpwi r0, 0x10 /* 801D210C 001CDD6C 40 81 00 70 */ ble lbl_801D217C /* 801D2110 001CDD70 C8 22 94 20 */ lfd f1, lbl_80641A20-_SDA2_BASE_(r2) /* 801D2114 001CDD74 FC 40 20 90 */ fmr f2, f4 /* 801D2118 001CDD78 C8 02 94 28 */ lfd f0, lbl_80641A28-_SDA2_BASE_(r2) /* 801D211C 001CDD7C FC 61 01 B2 */ fmul f3, f1, f6 /* 801D2120 001CDD80 FC 20 01 B2 */ fmul f1, f0, f6 /* 801D2124 001CDD84 FC 84 18 28 */ fsub f4, f4, f3 /* 801D2128 001CDD88 FC 02 20 28 */ fsub f0, f2, f4 /* 801D212C 001CDD8C FC 00 18 28 */ fsub f0, f0, f3 /* 801D2130 001CDD90 FC 41 00 28 */ fsub f2, f1, f0 /* 801D2134 001CDD94 FC 04 10 28 */ fsub f0, f4, f2 /* 801D2138 001CDD98 D8 03 00 00 */ stfd f0, 0(r3) /* 801D213C 001CDD9C 80 03 00 00 */ lwz r0, 0(r3) /* 801D2140 001CDDA0 54 00 65 7E */ rlwinm r0, r0, 0xc, 0x15, 0x1f /* 801D2144 001CDDA4 7C 00 20 50 */ subf r0, r0, r4 /* 801D2148 001CDDA8 2C 00 00 31 */ cmpwi r0, 0x31 /* 801D214C 001CDDAC 40 81 00 30 */ ble lbl_801D217C /* 801D2150 001CDDB0 C8 22 94 40 */ lfd f1, lbl_80641A40-_SDA2_BASE_(r2) /* 801D2154 001CDDB4 FC 40 20 90 */ fmr f2, f4 /* 801D2158 001CDDB8 C8 02 94 48 */ lfd f0, lbl_80641A48-_SDA2_BASE_(r2) /* 801D215C 001CDDBC FC 61 01 B2 */ fmul f3, f1, f6 /* 801D2160 001CDDC0 FC 20 01 B2 */ fmul f1, f0, f6 /* 801D2164 001CDDC4 FC 84 18 28 */ fsub f4, f4, f3 /* 801D2168 001CDDC8 FC 02 20 28 */ fsub f0, f2, f4 /* 801D216C 001CDDCC FC 00 18 28 */ fsub f0, f0, f3 /* 801D2170 001CDDD0 FC 41 00 28 */ fsub f2, f1, f0 /* 801D2174 001CDDD4 FC 04 10 28 */ fsub f0, f4, f2 /* 801D2178 001CDDD8 D8 03 00 00 */ stfd f0, 0(r3) lbl_801D217C: /* 801D217C 001CDDDC C8 23 00 00 */ lfd f1, 0(r3) /* 801D2180 001CDDE0 2C 1F 00 00 */ cmpwi r31, 0 /* 801D2184 001CDDE4 FC 04 08 28 */ fsub f0, f4, f1 /* 801D2188 001CDDE8 FC 00 10 28 */ fsub f0, f0, f2 /* 801D218C 001CDDEC D8 03 00 08 */ stfd f0, 8(r3) /* 801D2190 001CDDF0 40 80 00 1C */ bge lbl_801D21AC /* 801D2194 001CDDF4 FC 20 08 50 */ fneg f1, f1 /* 801D2198 001CDDF8 FC 00 00 50 */ fneg f0, f0 /* 801D219C 001CDDFC D8 23 00 00 */ stfd f1, 0(r3) /* 801D21A0 001CDE00 D8 03 00 08 */ stfd f0, 8(r3) /* 801D21A4 001CDE04 7C 65 00 D0 */ neg r3, r5 /* 801D21A8 001CDE08 48 00 01 18 */ b lbl_801D22C0 lbl_801D21AC: /* 801D21AC 001CDE0C 7C A3 2B 78 */ mr r3, r5 /* 801D21B0 001CDE10 48 00 01 10 */ b lbl_801D22C0 lbl_801D21B4: /* 801D21B4 001CDE14 3C 00 7F F0 */ lis r0, 0x7ff0 /* 801D21B8 001CDE18 7C 06 00 00 */ cmpw r6, r0 /* 801D21BC 001CDE1C 41 80 00 18 */ blt lbl_801D21D4 /* 801D21C0 001CDE20 FC 01 08 28 */ fsub f0, f1, f1 /* 801D21C4 001CDE24 D8 03 00 08 */ stfd f0, 8(r3) /* 801D21C8 001CDE28 D8 03 00 00 */ stfd f0, 0(r3) /* 801D21CC 001CDE2C 38 60 00 00 */ li r3, 0 /* 801D21D0 001CDE30 48 00 00 F0 */ b lbl_801D22C0 lbl_801D21D4: /* 801D21D4 001CDE34 7C C3 A6 70 */ srawi r3, r6, 0x14 /* 801D21D8 001CDE38 3C 00 43 30 */ lis r0, 0x4330 /* 801D21DC 001CDE3C 38 A3 FB EA */ addi r5, r3, -1046 /* 801D21E0 001CDE40 80 81 00 0C */ lwz r4, 0xc(r1) /* 801D21E4 001CDE44 54 A3 A0 16 */ slwi r3, r5, 0x14 /* 801D21E8 001CDE48 90 01 00 30 */ stw r0, 0x30(r1) /* 801D21EC 001CDE4C 7C 63 30 50 */ subf r3, r3, r6 /* 801D21F0 001CDE50 C8 A2 94 58 */ lfd f5, lbl_80641A58-_SDA2_BASE_(r2) /* 801D21F4 001CDE54 90 81 00 14 */ stw r4, 0x14(r1) /* 801D21F8 001CDE58 38 81 00 30 */ addi r4, r1, 0x30 /* 801D21FC 001CDE5C C8 82 94 50 */ lfd f4, lbl_80641A50-_SDA2_BASE_(r2) /* 801D2200 001CDE60 38 C0 00 03 */ li r6, 3 /* 801D2204 001CDE64 90 61 00 10 */ stw r3, 0x10(r1) /* 801D2208 001CDE68 C8 22 94 08 */ lfd f1, lbl_80641A08-_SDA2_BASE_(r2) /* 801D220C 001CDE6C C8 61 00 10 */ lfd f3, 0x10(r1) /* 801D2210 001CDE70 90 01 00 48 */ stw r0, 0x48(r1) /* 801D2214 001CDE74 FC 00 18 1E */ fctiwz f0, f3 /* 801D2218 001CDE78 D8 01 00 38 */ stfd f0, 0x38(r1) /* 801D221C 001CDE7C 80 01 00 3C */ lwz r0, 0x3c(r1) /* 801D2220 001CDE80 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D2224 001CDE84 90 01 00 34 */ stw r0, 0x34(r1) /* 801D2228 001CDE88 C8 01 00 30 */ lfd f0, 0x30(r1) /* 801D222C 001CDE8C FC 40 28 28 */ fsub f2, f0, f5 /* 801D2230 001CDE90 FC 03 10 28 */ fsub f0, f3, f2 /* 801D2234 001CDE94 D8 41 00 18 */ stfd f2, 0x18(r1) /* 801D2238 001CDE98 FC 64 00 32 */ fmul f3, f4, f0 /* 801D223C 001CDE9C FC 00 18 1E */ fctiwz f0, f3 /* 801D2240 001CDEA0 D8 01 00 40 */ stfd f0, 0x40(r1) /* 801D2244 001CDEA4 80 01 00 44 */ lwz r0, 0x44(r1) /* 801D2248 001CDEA8 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D224C 001CDEAC 90 01 00 4C */ stw r0, 0x4c(r1) /* 801D2250 001CDEB0 C8 01 00 48 */ lfd f0, 0x48(r1) /* 801D2254 001CDEB4 FC 40 28 28 */ fsub f2, f0, f5 /* 801D2258 001CDEB8 FC 03 10 28 */ fsub f0, f3, f2 /* 801D225C 001CDEBC D8 41 00 20 */ stfd f2, 0x20(r1) /* 801D2260 001CDEC0 FC 04 00 32 */ fmul f0, f4, f0 /* 801D2264 001CDEC4 D8 01 00 10 */ stfd f0, 0x10(r1) /* 801D2268 001CDEC8 D8 01 00 28 */ stfd f0, 0x28(r1) /* 801D226C 001CDECC 48 00 00 0C */ b lbl_801D2278 lbl_801D2270: /* 801D2270 001CDED0 38 84 FF F8 */ addi r4, r4, -8 /* 801D2274 001CDED4 38 C6 FF FF */ addi r6, r6, -1 lbl_801D2278: /* 801D2278 001CDED8 C8 04 FF F8 */ lfd f0, -8(r4) /* 801D227C 001CDEDC FC 01 00 00 */ fcmpu cr0, f1, f0 /* 801D2280 001CDEE0 41 82 FF F0 */ beq lbl_801D2270 /* 801D2284 001CDEE4 3D 00 80 40 */ lis r8, lbl_803FD368@ha /* 801D2288 001CDEE8 7F C4 F3 78 */ mr r4, r30 /* 801D228C 001CDEEC 38 61 00 18 */ addi r3, r1, 0x18 /* 801D2290 001CDEF0 38 E0 00 02 */ li r7, 2 /* 801D2294 001CDEF4 39 08 D3 68 */ addi r8, r8, lbl_803FD368@l /* 801D2298 001CDEF8 48 00 01 51 */ bl func_801D23E8 /* 801D229C 001CDEFC 2C 1F 00 00 */ cmpwi r31, 0 /* 801D22A0 001CDF00 40 80 00 20 */ bge lbl_801D22C0 /* 801D22A4 001CDF04 C8 3E 00 00 */ lfd f1, 0(r30) /* 801D22A8 001CDF08 7C 63 00 D0 */ neg r3, r3 /* 801D22AC 001CDF0C C8 1E 00 08 */ lfd f0, 8(r30) /* 801D22B0 001CDF10 FC 20 08 50 */ fneg f1, f1 /* 801D22B4 001CDF14 FC 00 00 50 */ fneg f0, f0 /* 801D22B8 001CDF18 D8 3E 00 00 */ stfd f1, 0(r30) /* 801D22BC 001CDF1C D8 1E 00 08 */ stfd f0, 8(r30) lbl_801D22C0: /* 801D22C0 001CDF20 80 01 00 64 */ lwz r0, 0x64(r1) /* 801D22C4 001CDF24 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 801D22C8 001CDF28 83 C1 00 58 */ lwz r30, 0x58(r1) /* 801D22CC 001CDF2C 7C 08 03 A6 */ mtlr r0 /* 801D22D0 001CDF30 38 21 00 60 */ addi r1, r1, 0x60 /* 801D22D4 001CDF34 4E 80 00 20 */ blr .global func_801D22D8 func_801D22D8: /* 801D22D8 001CDF38 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D22DC 001CDF3C 3C 00 3E 40 */ lis r0, 0x3e40 /* 801D22E0 001CDF40 D8 21 00 08 */ stfd f1, 8(r1) /* 801D22E4 001CDF44 80 61 00 08 */ lwz r3, 8(r1) /* 801D22E8 001CDF48 54 64 00 7E */ clrlwi r4, r3, 1 /* 801D22EC 001CDF4C 7C 04 00 00 */ cmpw r4, r0 /* 801D22F0 001CDF50 40 80 00 20 */ bge lbl_801D2310 /* 801D22F4 001CDF54 FC 00 08 1E */ fctiwz f0, f1 /* 801D22F8 001CDF58 D8 01 00 18 */ stfd f0, 0x18(r1) /* 801D22FC 001CDF5C 80 01 00 1C */ lwz r0, 0x1c(r1) /* 801D2300 001CDF60 2C 00 00 00 */ cmpwi r0, 0 /* 801D2304 001CDF64 40 82 00 0C */ bne lbl_801D2310 /* 801D2308 001CDF68 C8 22 94 60 */ lfd f1, lbl_80641A60-_SDA2_BASE_(r2) /* 801D230C 001CDF6C 48 00 00 D4 */ b lbl_801D23E0 lbl_801D2310: /* 801D2310 001CDF70 FD 01 00 72 */ fmul f8, f1, f1 /* 801D2314 001CDF74 C8 02 94 90 */ lfd f0, lbl_80641A90-_SDA2_BASE_(r2) /* 801D2318 001CDF78 3C 60 3F D3 */ lis r3, 0x3FD33333@ha /* 801D231C 001CDF7C C8 C2 94 88 */ lfd f6, lbl_80641A88-_SDA2_BASE_(r2) /* 801D2320 001CDF80 38 03 33 33 */ addi r0, r3, 0x3FD33333@l /* 801D2324 001CDF84 C8 A2 94 80 */ lfd f5, lbl_80641A80-_SDA2_BASE_(r2) /* 801D2328 001CDF88 FC E0 02 32 */ fmul f7, f0, f8 /* 801D232C 001CDF8C C8 82 94 78 */ lfd f4, lbl_80641A78-_SDA2_BASE_(r2) /* 801D2330 001CDF90 C8 62 94 70 */ lfd f3, lbl_80641A70-_SDA2_BASE_(r2) /* 801D2334 001CDF94 7C 04 00 00 */ cmpw r4, r0 /* 801D2338 001CDF98 C8 02 94 68 */ lfd f0, lbl_80641A68-_SDA2_BASE_(r2) /* 801D233C 001CDF9C FC C6 38 2A */ fadd f6, f6, f7 /* 801D2340 001CDFA0 FC C8 01 B2 */ fmul f6, f8, f6 /* 801D2344 001CDFA4 FC A5 30 2A */ fadd f5, f5, f6 /* 801D2348 001CDFA8 FC A8 01 72 */ fmul f5, f8, f5 /* 801D234C 001CDFAC FC 84 28 2A */ fadd f4, f4, f5 /* 801D2350 001CDFB0 FC 88 01 32 */ fmul f4, f8, f4 /* 801D2354 001CDFB4 FC 63 20 2A */ fadd f3, f3, f4 /* 801D2358 001CDFB8 FC 68 00 F2 */ fmul f3, f8, f3 /* 801D235C 001CDFBC FC 00 18 2A */ fadd f0, f0, f3 /* 801D2360 001CDFC0 FC 68 00 32 */ fmul f3, f8, f0 /* 801D2364 001CDFC4 40 80 00 28 */ bge lbl_801D238C /* 801D2368 001CDFC8 FC 68 00 F2 */ fmul f3, f8, f3 /* 801D236C 001CDFCC C8 82 94 98 */ lfd f4, lbl_80641A98-_SDA2_BASE_(r2) /* 801D2370 001CDFD0 C8 02 94 60 */ lfd f0, lbl_80641A60-_SDA2_BASE_(r2) /* 801D2374 001CDFD4 FC 21 00 B2 */ fmul f1, f1, f2 /* 801D2378 001CDFD8 FC 44 02 32 */ fmul f2, f4, f8 /* 801D237C 001CDFDC FC 23 08 28 */ fsub f1, f3, f1 /* 801D2380 001CDFE0 FC 22 08 28 */ fsub f1, f2, f1 /* 801D2384 001CDFE4 FC 20 08 28 */ fsub f1, f0, f1 /* 801D2388 001CDFE8 48 00 00 58 */ b lbl_801D23E0 lbl_801D238C: /* 801D238C 001CDFEC 3C 00 3F E9 */ lis r0, 0x3fe9 /* 801D2390 001CDFF0 7C 04 00 00 */ cmpw r4, r0 /* 801D2394 001CDFF4 40 81 00 10 */ ble lbl_801D23A4 /* 801D2398 001CDFF8 C8 02 94 A0 */ lfd f0, lbl_80641AA0-_SDA2_BASE_(r2) /* 801D239C 001CDFFC D8 01 00 10 */ stfd f0, 0x10(r1) /* 801D23A0 001CE000 48 00 00 14 */ b lbl_801D23B4 lbl_801D23A4: /* 801D23A4 001CE004 3C 64 FF E0 */ addis r3, r4, 0xffe0 /* 801D23A8 001CE008 38 00 00 00 */ li r0, 0 /* 801D23AC 001CE00C 90 61 00 10 */ stw r3, 0x10(r1) /* 801D23B0 001CE010 90 01 00 14 */ stw r0, 0x14(r1) lbl_801D23B4: /* 801D23B4 001CE014 C8 02 94 98 */ lfd f0, lbl_80641A98-_SDA2_BASE_(r2) /* 801D23B8 001CE018 FC 68 00 F2 */ fmul f3, f8, f3 /* 801D23BC 001CE01C C8 A1 00 10 */ lfd f5, 0x10(r1) /* 801D23C0 001CE020 FC C0 02 32 */ fmul f6, f0, f8 /* 801D23C4 001CE024 C8 82 94 60 */ lfd f4, lbl_80641A60-_SDA2_BASE_(r2) /* 801D23C8 001CE028 FC 01 00 B2 */ fmul f0, f1, f2 /* 801D23CC 001CE02C FC 46 28 28 */ fsub f2, f6, f5 /* 801D23D0 001CE030 FC 24 28 28 */ fsub f1, f4, f5 /* 801D23D4 001CE034 FC 03 00 28 */ fsub f0, f3, f0 /* 801D23D8 001CE038 FC 02 00 28 */ fsub f0, f2, f0 /* 801D23DC 001CE03C FC 21 00 28 */ fsub f1, f1, f0 lbl_801D23E0: /* 801D23E0 001CE040 38 21 00 20 */ addi r1, r1, 0x20 /* 801D23E4 001CE044 4E 80 00 20 */ blr .global func_801D23E8 func_801D23E8: /* 801D23E8 001CE048 94 21 FC 90 */ stwu r1, -0x370(r1) /* 801D23EC 001CE04C 7C 08 02 A6 */ mflr r0 /* 801D23F0 001CE050 90 01 03 74 */ stw r0, 0x374(r1) /* 801D23F4 001CE054 39 61 03 70 */ addi r11, r1, 0x370 /* 801D23F8 001CE058 4B FF 4C 89 */ bl _savefpr_23 /* 801D23FC 001CE05C BD C1 02 E0 */ stmw r14, 0x2e0(r1) /* 801D2400 001CE060 3D 20 2A AB */ lis r9, 0x2AAAAAAB@ha /* 801D2404 001CE064 3D 80 43 30 */ lis r12, 0x4330 /* 801D2408 001CE068 38 05 FF FD */ addi r0, r5, -3 /* 801D240C 001CE06C 3D 40 80 40 */ lis r10, lbl_803FD4F0@ha /* 801D2410 001CE070 39 29 AA AB */ addi r9, r9, 0x2AAAAAAB@l /* 801D2414 001CE074 54 EB 10 3A */ slwi r11, r7, 2 /* 801D2418 001CE078 7C 09 00 96 */ mulhw r0, r9, r0 /* 801D241C 001CE07C 39 4A D4 F0 */ addi r10, r10, lbl_803FD4F0@l /* 801D2420 001CE080 7C 91 23 78 */ mr r17, r4 /* 801D2424 001CE084 7E AA 58 2E */ lwzx r21, r10, r11 /* 801D2428 001CE088 91 81 02 40 */ stw r12, 0x240(r1) /* 801D242C 001CE08C 7C 70 1B 78 */ mr r16, r3 /* 801D2430 001CE090 7C 00 16 70 */ srawi r0, r0, 2 /* 801D2434 001CE094 91 81 02 48 */ stw r12, 0x248(r1) /* 801D2438 001CE098 54 04 0F FE */ srwi r4, r0, 0x1f /* 801D243C 001CE09C 3A C6 FF FF */ addi r22, r6, -1 /* 801D2440 001CE0A0 7D 40 22 15 */ add. r10, r0, r4 /* 801D2444 001CE0A4 90 E1 00 08 */ stw r7, 8(r1) /* 801D2448 001CE0A8 40 80 00 08 */ bge lbl_801D2450 /* 801D244C 001CE0AC 39 40 00 00 */ li r10, 0 lbl_801D2450: /* 801D2450 001CE0B0 38 0A 00 01 */ addi r0, r10, 1 /* 801D2454 001CE0B4 7D 36 AA 15 */ add. r9, r22, r21 /* 801D2458 001CE0B8 1C C0 00 18 */ mulli r6, r0, 0x18 /* 801D245C 001CE0BC 7C F6 50 50 */ subf r7, r22, r10 /* 801D2460 001CE0C0 C8 22 94 E0 */ lfd f1, lbl_80641AE0-_SDA2_BASE_(r2) /* 801D2464 001CE0C4 54 E4 10 3A */ slwi r4, r7, 2 /* 801D2468 001CE0C8 7E 66 28 50 */ subf r19, r6, r5 /* 801D246C 001CE0CC 38 09 00 01 */ addi r0, r9, 1 /* 801D2470 001CE0D0 7C 88 22 14 */ add r4, r8, r4 /* 801D2474 001CE0D4 38 A1 01 A0 */ addi r5, r1, 0x1a0 /* 801D2478 001CE0D8 7C 09 03 A6 */ mtctr r0 /* 801D247C 001CE0DC 41 80 00 3C */ blt lbl_801D24B8 lbl_801D2480: /* 801D2480 001CE0E0 2C 07 00 00 */ cmpwi r7, 0 /* 801D2484 001CE0E4 40 80 00 0C */ bge lbl_801D2490 /* 801D2488 001CE0E8 C8 02 94 A8 */ lfd f0, lbl_80641AA8-_SDA2_BASE_(r2) /* 801D248C 001CE0EC 48 00 00 18 */ b lbl_801D24A4 lbl_801D2490: /* 801D2490 001CE0F0 80 04 00 00 */ lwz r0, 0(r4) /* 801D2494 001CE0F4 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D2498 001CE0F8 90 01 02 44 */ stw r0, 0x244(r1) /* 801D249C 001CE0FC C8 01 02 40 */ lfd f0, 0x240(r1) /* 801D24A0 001CE100 FC 00 08 28 */ fsub f0, f0, f1 lbl_801D24A4: /* 801D24A4 001CE104 D8 05 00 00 */ stfd f0, 0(r5) /* 801D24A8 001CE108 38 A5 00 08 */ addi r5, r5, 8 /* 801D24AC 001CE10C 38 84 00 04 */ addi r4, r4, 4 /* 801D24B0 001CE110 38 E7 00 01 */ addi r7, r7, 1 /* 801D24B4 001CE114 42 00 FF CC */ bdnz lbl_801D2480 lbl_801D24B8: /* 801D24B8 001CE118 38 16 00 01 */ addi r0, r22, 1 /* 801D24BC 001CE11C 38 A1 00 60 */ addi r5, r1, 0x60 /* 801D24C0 001CE120 56 D9 00 00 */ rlwinm r25, r22, 0, 0, 0 /* 801D24C4 001CE124 39 81 01 A0 */ addi r12, r1, 0x1a0 /* 801D24C8 001CE128 54 18 00 00 */ rlwinm r24, r0, 0, 0, 0 /* 801D24CC 001CE12C 39 20 00 00 */ li r9, 0 /* 801D24D0 001CE130 3C 80 80 00 */ lis r4, 0x8000 /* 801D24D4 001CE134 48 00 01 C8 */ b lbl_801D269C lbl_801D24D8: /* 801D24D8 001CE138 2C 96 00 00 */ cmpwi cr1, r22, 0 /* 801D24DC 001CE13C C8 C2 94 A8 */ lfd f6, lbl_80641AA8-_SDA2_BASE_(r2) /* 801D24E0 001CE140 38 E0 00 00 */ li r7, 0 /* 801D24E4 001CE144 41 84 01 AC */ blt cr1, lbl_801D2690 /* 801D24E8 001CE148 38 16 00 01 */ addi r0, r22, 1 /* 801D24EC 001CE14C 39 D6 FF F8 */ addi r14, r22, -8 /* 801D24F0 001CE150 2C 00 00 08 */ cmpwi r0, 8 /* 801D24F4 001CE154 40 81 01 58 */ ble lbl_801D264C /* 801D24F8 001CE158 38 C0 00 00 */ li r6, 0 /* 801D24FC 001CE15C 39 60 00 00 */ li r11, 0 /* 801D2500 001CE160 41 84 00 14 */ blt cr1, lbl_801D2514 /* 801D2504 001CE164 38 04 FF FE */ addi r0, r4, -2 /* 801D2508 001CE168 7C 16 00 00 */ cmpw r22, r0 /* 801D250C 001CE16C 41 81 00 08 */ bgt lbl_801D2514 /* 801D2510 001CE170 39 60 00 01 */ li r11, 1 lbl_801D2514: /* 801D2514 001CE174 2C 0B 00 00 */ cmpwi r11, 0 /* 801D2518 001CE178 41 82 00 28 */ beq lbl_801D2540 /* 801D251C 001CE17C 2C 19 00 00 */ cmpwi r25, 0 /* 801D2520 001CE180 38 00 00 01 */ li r0, 1 /* 801D2524 001CE184 40 82 00 10 */ bne lbl_801D2534 /* 801D2528 001CE188 2C 18 00 00 */ cmpwi r24, 0 /* 801D252C 001CE18C 41 82 00 08 */ beq lbl_801D2534 /* 801D2530 001CE190 38 00 00 00 */ li r0, 0 lbl_801D2534: /* 801D2534 001CE194 2C 00 00 00 */ cmpwi r0, 0 /* 801D2538 001CE198 41 82 00 08 */ beq lbl_801D2540 /* 801D253C 001CE19C 38 C0 00 01 */ li r6, 1 lbl_801D2540: /* 801D2540 001CE1A0 2C 06 00 00 */ cmpwi r6, 0 /* 801D2544 001CE1A4 41 82 01 08 */ beq lbl_801D264C /* 801D2548 001CE1A8 39 6E 00 08 */ addi r11, r14, 8 /* 801D254C 001CE1AC 7E 06 83 78 */ mr r6, r16 /* 801D2550 001CE1B0 55 6B E8 FE */ srwi r11, r11, 3 /* 801D2554 001CE1B4 7C 16 4A 14 */ add r0, r22, r9 /* 801D2558 001CE1B8 7D 69 03 A6 */ mtctr r11 /* 801D255C 001CE1BC 2C 0E 00 00 */ cmpwi r14, 0 /* 801D2560 001CE1C0 41 80 00 EC */ blt lbl_801D264C lbl_801D2564: /* 801D2564 001CE1C4 7D 67 00 50 */ subf r11, r7, r0 /* 801D2568 001CE1C8 39 C7 00 01 */ addi r14, r7, 1 /* 801D256C 001CE1CC 55 6F 18 38 */ slwi r15, r11, 3 /* 801D2570 001CE1D0 C8 26 00 00 */ lfd f1, 0(r6) /* 801D2574 001CE1D4 7C 0C 7C AE */ lfdx f0, r12, r15 /* 801D2578 001CE1D8 7D CE 00 50 */ subf r14, r14, r0 /* 801D257C 001CE1DC 55 CF 18 38 */ slwi r15, r14, 3 /* 801D2580 001CE1E0 39 67 00 02 */ addi r11, r7, 2 /* 801D2584 001CE1E4 FC 41 00 32 */ fmul f2, f1, f0 /* 801D2588 001CE1E8 7D CB 00 50 */ subf r14, r11, r0 /* 801D258C 001CE1EC 7C 0C 7C AE */ lfdx f0, r12, r15 /* 801D2590 001CE1F0 55 CF 18 38 */ slwi r15, r14, 3 /* 801D2594 001CE1F4 C8 26 00 08 */ lfd f1, 8(r6) /* 801D2598 001CE1F8 39 67 00 03 */ addi r11, r7, 3 /* 801D259C 001CE1FC FC 61 00 32 */ fmul f3, f1, f0 /* 801D25A0 001CE200 7D CB 00 50 */ subf r14, r11, r0 /* 801D25A4 001CE204 C8 26 00 10 */ lfd f1, 0x10(r6) /* 801D25A8 001CE208 55 CE 18 38 */ slwi r14, r14, 3 /* 801D25AC 001CE20C FC C6 10 2A */ fadd f6, f6, f2 /* 801D25B0 001CE210 7C 0C 7C AE */ lfdx f0, r12, r15 /* 801D25B4 001CE214 FC 41 00 32 */ fmul f2, f1, f0 /* 801D25B8 001CE218 39 67 00 04 */ addi r11, r7, 4 /* 801D25BC 001CE21C 7C 0C 74 AE */ lfdx f0, r12, r14 /* 801D25C0 001CE220 7D 6B 00 50 */ subf r11, r11, r0 /* 801D25C4 001CE224 FC C6 18 2A */ fadd f6, f6, f3 /* 801D25C8 001CE228 C8 26 00 18 */ lfd f1, 0x18(r6) /* 801D25CC 001CE22C 55 72 18 38 */ slwi r18, r11, 3 /* 801D25D0 001CE230 FC 21 00 32 */ fmul f1, f1, f0 /* 801D25D4 001CE234 39 67 00 05 */ addi r11, r7, 5 /* 801D25D8 001CE238 39 C7 00 06 */ addi r14, r7, 6 /* 801D25DC 001CE23C FC C6 10 2A */ fadd f6, f6, f2 /* 801D25E0 001CE240 7D 6B 00 50 */ subf r11, r11, r0 /* 801D25E4 001CE244 55 6F 18 38 */ slwi r15, r11, 3 /* 801D25E8 001CE248 39 67 00 07 */ addi r11, r7, 7 /* 801D25EC 001CE24C FC C6 08 2A */ fadd f6, f6, f1 /* 801D25F0 001CE250 7D CE 00 50 */ subf r14, r14, r0 /* 801D25F4 001CE254 C8 46 00 20 */ lfd f2, 0x20(r6) /* 801D25F8 001CE258 7C 0C 94 AE */ lfdx f0, r12, r18 /* 801D25FC 001CE25C 7D 6B 00 50 */ subf r11, r11, r0 /* 801D2600 001CE260 C8 26 00 28 */ lfd f1, 0x28(r6) /* 801D2604 001CE264 FC A2 00 32 */ fmul f5, f2, f0 /* 801D2608 001CE268 7C 0C 7C AE */ lfdx f0, r12, r15 /* 801D260C 001CE26C 55 CE 18 38 */ slwi r14, r14, 3 /* 801D2610 001CE270 C8 66 00 30 */ lfd f3, 0x30(r6) /* 801D2614 001CE274 FC 81 00 32 */ fmul f4, f1, f0 /* 801D2618 001CE278 7C 4C 74 AE */ lfdx f2, r12, r14 /* 801D261C 001CE27C FC C6 28 2A */ fadd f6, f6, f5 /* 801D2620 001CE280 55 6B 18 38 */ slwi r11, r11, 3 /* 801D2624 001CE284 C8 26 00 38 */ lfd f1, 0x38(r6) /* 801D2628 001CE288 FC 43 00 B2 */ fmul f2, f3, f2 /* 801D262C 001CE28C 7C 0C 5C AE */ lfdx f0, r12, r11 /* 801D2630 001CE290 38 E7 00 08 */ addi r7, r7, 8 /* 801D2634 001CE294 FC C6 20 2A */ fadd f6, f6, f4 /* 801D2638 001CE298 38 C6 00 40 */ addi r6, r6, 0x40 /* 801D263C 001CE29C FC 01 00 32 */ fmul f0, f1, f0 /* 801D2640 001CE2A0 FC C6 10 2A */ fadd f6, f6, f2 /* 801D2644 001CE2A4 FC C6 00 2A */ fadd f6, f6, f0 /* 801D2648 001CE2A8 42 00 FF 1C */ bdnz lbl_801D2564 lbl_801D264C: /* 801D264C 001CE2AC 38 16 00 01 */ addi r0, r22, 1 /* 801D2650 001CE2B0 54 E6 18 38 */ slwi r6, r7, 3 /* 801D2654 001CE2B4 7C 07 00 50 */ subf r0, r7, r0 /* 801D2658 001CE2B8 7D 76 4A 14 */ add r11, r22, r9 /* 801D265C 001CE2BC 7C C3 32 14 */ add r6, r3, r6 /* 801D2660 001CE2C0 7C 09 03 A6 */ mtctr r0 /* 801D2664 001CE2C4 7C 07 B0 00 */ cmpw r7, r22 /* 801D2668 001CE2C8 41 81 00 28 */ bgt lbl_801D2690 lbl_801D266C: /* 801D266C 001CE2CC 7C 07 58 50 */ subf r0, r7, r11 /* 801D2670 001CE2D0 C8 26 00 00 */ lfd f1, 0(r6) /* 801D2674 001CE2D4 54 00 18 38 */ slwi r0, r0, 3 /* 801D2678 001CE2D8 38 C6 00 08 */ addi r6, r6, 8 /* 801D267C 001CE2DC 7C 0C 04 AE */ lfdx f0, r12, r0 /* 801D2680 001CE2E0 38 E7 00 01 */ addi r7, r7, 1 /* 801D2684 001CE2E4 FC 01 00 32 */ fmul f0, f1, f0 /* 801D2688 001CE2E8 FC C6 00 2A */ fadd f6, f6, f0 /* 801D268C 001CE2EC 42 00 FF E0 */ bdnz lbl_801D266C lbl_801D2690: /* 801D2690 001CE2F0 D8 C5 00 00 */ stfd f6, 0(r5) /* 801D2694 001CE2F4 38 A5 00 08 */ addi r5, r5, 8 /* 801D2698 001CE2F8 39 29 00 01 */ addi r9, r9, 1 lbl_801D269C: /* 801D269C 001CE2FC 7C 09 A8 00 */ cmpw r9, r21 /* 801D26A0 001CE300 40 81 FE 38 */ ble lbl_801D24D8 /* 801D26A4 001CE304 23 93 00 18 */ subfic r28, r19, 0x18 /* 801D26A8 001CE308 7C B5 00 D0 */ neg r5, r21 /* 801D26AC 001CE30C 20 13 00 17 */ subfic r0, r19, 0x17 /* 801D26B0 001CE310 55 44 10 3A */ slwi r4, r10, 2 /* 801D26B4 001CE314 56 C3 18 38 */ slwi r3, r22, 3 /* 801D26B8 001CE318 3B 41 01 A0 */ addi r26, r1, 0x1a0 /* 801D26BC 001CE31C CB 02 94 B0 */ lfd f24, lbl_80641AB0-_SDA2_BASE_(r2) /* 801D26C0 001CE320 7E B7 AB 78 */ mr r23, r21 /* 801D26C4 001CE324 CB 22 94 E0 */ lfd f25, lbl_80641AE0-_SDA2_BASE_(r2) /* 801D26C8 001CE328 54 AE 00 00 */ rlwinm r14, r5, 0, 0, 0 /* 801D26CC 001CE32C CB 42 94 B8 */ lfd f26, lbl_80641AB8-_SDA2_BASE_(r2) /* 801D26D0 001CE330 7F 68 22 14 */ add r27, r8, r4 /* 801D26D4 001CE334 90 01 02 D0 */ stw r0, 0x2d0(r1) /* 801D26D8 001CE338 7F 5A 1A 14 */ add r26, r26, r3 /* 801D26DC 001CE33C CB 62 94 C8 */ lfd f27, lbl_80641AC8-_SDA2_BASE_(r2) /* 801D26E0 001CE340 3B A1 00 10 */ addi r29, r1, 0x10 /* 801D26E4 001CE344 CB 82 94 C0 */ lfd f28, lbl_80641AC0-_SDA2_BASE_(r2) /* 801D26E8 001CE348 39 E1 01 A0 */ addi r15, r1, 0x1a0 /* 801D26EC 001CE34C CB A2 94 D0 */ lfd f29, lbl_80641AD0-_SDA2_BASE_(r2) /* 801D26F0 001CE350 3F C0 01 00 */ lis r30, 0x100 /* 801D26F4 001CE354 CB C2 94 D8 */ lfd f30, lbl_80641AD8-_SDA2_BASE_(r2) /* 801D26F8 001CE358 3F E0 80 00 */ lis r31, 0x8000 /* 801D26FC 001CE35C CB E2 94 A8 */ lfd f31, lbl_80641AA8-_SDA2_BASE_(r2) lbl_801D2700: /* 801D2700 001CE360 56 E0 18 38 */ slwi r0, r23, 3 /* 801D2704 001CE364 2C 97 00 00 */ cmpwi cr1, r23, 0 /* 801D2708 001CE368 38 61 00 60 */ addi r3, r1, 0x60 /* 801D270C 001CE36C 7C 23 04 EE */ lfdux f1, r3, r0 /* 801D2710 001CE370 7E E4 BB 78 */ mr r4, r23 /* 801D2714 001CE374 38 A0 00 00 */ li r5, 0 /* 801D2718 001CE378 38 C0 00 00 */ li r6, 0 /* 801D271C 001CE37C 40 85 02 F8 */ ble cr1, lbl_801D2A14 /* 801D2720 001CE380 2C 17 00 08 */ cmpwi r23, 8 /* 801D2724 001CE384 40 81 02 80 */ ble lbl_801D29A4 /* 801D2728 001CE388 38 E0 00 00 */ li r7, 0 /* 801D272C 001CE38C 41 84 00 14 */ blt cr1, lbl_801D2740 /* 801D2730 001CE390 38 1F 00 01 */ addi r0, r31, 1 /* 801D2734 001CE394 7C 17 00 00 */ cmpw r23, r0 /* 801D2738 001CE398 41 80 00 08 */ blt lbl_801D2740 /* 801D273C 001CE39C 38 E0 00 01 */ li r7, 1 lbl_801D2740: /* 801D2740 001CE3A0 2C 07 00 00 */ cmpwi r7, 0 /* 801D2744 001CE3A4 41 82 02 60 */ beq lbl_801D29A4 /* 801D2748 001CE3A8 38 17 FF FF */ addi r0, r23, -1 /* 801D274C 001CE3AC 54 00 E8 FE */ srwi r0, r0, 3 /* 801D2750 001CE3B0 7C 09 03 A6 */ mtctr r0 /* 801D2754 001CE3B4 2C 17 00 08 */ cmpwi r23, 8 /* 801D2758 001CE3B8 40 81 02 4C */ ble lbl_801D29A4 lbl_801D275C: /* 801D275C 001CE3BC FC 18 00 72 */ fmul f0, f24, f1 /* 801D2760 001CE3C0 38 05 00 01 */ addi r0, r5, 1 /* 801D2764 001CE3C4 39 25 00 02 */ addi r9, r5, 2 /* 801D2768 001CE3C8 39 05 00 03 */ addi r8, r5, 3 /* 801D276C 001CE3CC 38 E5 00 04 */ addi r7, r5, 4 /* 801D2770 001CE3D0 C8 83 FF F8 */ lfd f4, -8(r3) /* 801D2774 001CE3D4 FC A0 00 1E */ fctiwz f5, f0 /* 801D2778 001CE3D8 C8 63 FF F0 */ lfd f3, -0x10(r3) /* 801D277C 001CE3DC C8 43 FF E8 */ lfd f2, -0x18(r3) /* 801D2780 001CE3E0 54 00 10 3A */ slwi r0, r0, 2 /* 801D2784 001CE3E4 C8 03 FF E0 */ lfd f0, -0x20(r3) /* 801D2788 001CE3E8 55 29 10 3A */ slwi r9, r9, 2 /* 801D278C 001CE3EC D8 A1 02 50 */ stfd f5, 0x250(r1) /* 801D2790 001CE3F0 55 08 10 3A */ slwi r8, r8, 2 /* 801D2794 001CE3F4 54 E7 10 3A */ slwi r7, r7, 2 /* 801D2798 001CE3F8 81 41 02 54 */ lwz r10, 0x254(r1) /* 801D279C 001CE3FC 6D 4A 80 00 */ xoris r10, r10, 0x8000 /* 801D27A0 001CE400 91 41 02 4C */ stw r10, 0x24c(r1) /* 801D27A4 001CE404 C8 A1 02 48 */ lfd f5, 0x248(r1) /* 801D27A8 001CE408 FC A5 C8 28 */ fsub f5, f5, f25 /* 801D27AC 001CE40C FC C5 20 2A */ fadd f6, f5, f4 /* 801D27B0 001CE410 FC BA 01 72 */ fmul f5, f26, f5 /* 801D27B4 001CE414 FC 98 01 B2 */ fmul f4, f24, f6 /* 801D27B8 001CE418 FC A1 28 28 */ fsub f5, f1, f5 /* 801D27BC 001CE41C FC 20 20 1E */ fctiwz f1, f4 /* 801D27C0 001CE420 FC 80 28 1E */ fctiwz f4, f5 /* 801D27C4 001CE424 D8 21 02 60 */ stfd f1, 0x260(r1) /* 801D27C8 001CE428 81 41 02 64 */ lwz r10, 0x264(r1) /* 801D27CC 001CE42C D8 81 02 58 */ stfd f4, 0x258(r1) /* 801D27D0 001CE430 6D 4A 80 00 */ xoris r10, r10, 0x8000 /* 801D27D4 001CE434 91 41 02 44 */ stw r10, 0x244(r1) /* 801D27D8 001CE438 81 41 02 5C */ lwz r10, 0x25c(r1) /* 801D27DC 001CE43C C8 21 02 40 */ lfd f1, 0x240(r1) /* 801D27E0 001CE440 7D 5D 31 2E */ stwx r10, r29, r6 /* 801D27E4 001CE444 FC 21 C8 28 */ fsub f1, f1, f25 /* 801D27E8 001CE448 FC 81 18 2A */ fadd f4, f1, f3 /* 801D27EC 001CE44C FC 7A 00 72 */ fmul f3, f26, f1 /* 801D27F0 001CE450 FC 38 01 32 */ fmul f1, f24, f4 /* 801D27F4 001CE454 FC 66 18 28 */ fsub f3, f6, f3 /* 801D27F8 001CE458 FC 20 08 1E */ fctiwz f1, f1 /* 801D27FC 001CE45C FC 60 18 1E */ fctiwz f3, f3 /* 801D2800 001CE460 D8 21 02 70 */ stfd f1, 0x270(r1) /* 801D2804 001CE464 81 41 02 74 */ lwz r10, 0x274(r1) /* 801D2808 001CE468 D8 61 02 68 */ stfd f3, 0x268(r1) /* 801D280C 001CE46C 6D 4A 80 00 */ xoris r10, r10, 0x8000 /* 801D2810 001CE470 91 41 02 4C */ stw r10, 0x24c(r1) /* 801D2814 001CE474 81 41 02 6C */ lwz r10, 0x26c(r1) /* 801D2818 001CE478 C8 21 02 48 */ lfd f1, 0x248(r1) /* 801D281C 001CE47C 7D 5D 01 2E */ stwx r10, r29, r0 /* 801D2820 001CE480 FC 21 C8 28 */ fsub f1, f1, f25 /* 801D2824 001CE484 FC 61 10 2A */ fadd f3, f1, f2 /* 801D2828 001CE488 FC 5A 00 72 */ fmul f2, f26, f1 /* 801D282C 001CE48C FC 38 00 F2 */ fmul f1, f24, f3 /* 801D2830 001CE490 FC 44 10 28 */ fsub f2, f4, f2 /* 801D2834 001CE494 FC 20 08 1E */ fctiwz f1, f1 /* 801D2838 001CE498 FC 40 10 1E */ fctiwz f2, f2 /* 801D283C 001CE49C D8 21 02 80 */ stfd f1, 0x280(r1) /* 801D2840 001CE4A0 80 01 02 84 */ lwz r0, 0x284(r1) /* 801D2844 001CE4A4 D8 41 02 78 */ stfd f2, 0x278(r1) /* 801D2848 001CE4A8 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D284C 001CE4AC 90 01 02 44 */ stw r0, 0x244(r1) /* 801D2850 001CE4B0 80 01 02 7C */ lwz r0, 0x27c(r1) /* 801D2854 001CE4B4 C8 21 02 40 */ lfd f1, 0x240(r1) /* 801D2858 001CE4B8 7C 1D 49 2E */ stwx r0, r29, r9 /* 801D285C 001CE4BC FC 21 C8 28 */ fsub f1, f1, f25 /* 801D2860 001CE4C0 FC 41 00 2A */ fadd f2, f1, f0 /* 801D2864 001CE4C4 FC 3A 00 72 */ fmul f1, f26, f1 /* 801D2868 001CE4C8 FC 18 00 B2 */ fmul f0, f24, f2 /* 801D286C 001CE4CC FC 23 08 28 */ fsub f1, f3, f1 /* 801D2870 001CE4D0 FC 00 00 1E */ fctiwz f0, f0 /* 801D2874 001CE4D4 FC 20 08 1E */ fctiwz f1, f1 /* 801D2878 001CE4D8 D8 01 02 90 */ stfd f0, 0x290(r1) /* 801D287C 001CE4DC 80 01 02 94 */ lwz r0, 0x294(r1) /* 801D2880 001CE4E0 D8 21 02 88 */ stfd f1, 0x288(r1) /* 801D2884 001CE4E4 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D2888 001CE4E8 90 01 02 4C */ stw r0, 0x24c(r1) /* 801D288C 001CE4EC 80 01 02 8C */ lwz r0, 0x28c(r1) /* 801D2890 001CE4F0 C8 01 02 48 */ lfd f0, 0x248(r1) /* 801D2894 001CE4F4 7C 1D 41 2E */ stwx r0, r29, r8 /* 801D2898 001CE4F8 FC 20 C8 28 */ fsub f1, f0, f25 /* 801D289C 001CE4FC FC 1A 00 72 */ fmul f0, f26, f1 /* 801D28A0 001CE500 FC 02 00 28 */ fsub f0, f2, f0 /* 801D28A4 001CE504 FC 00 00 1E */ fctiwz f0, f0 /* 801D28A8 001CE508 D8 01 02 98 */ stfd f0, 0x298(r1) /* 801D28AC 001CE50C 80 01 02 9C */ lwz r0, 0x29c(r1) /* 801D28B0 001CE510 7C 1D 39 2E */ stwx r0, r29, r7 /* 801D28B4 001CE514 C8 03 FF D8 */ lfd f0, -0x28(r3) /* 801D28B8 001CE518 39 05 00 05 */ addi r8, r5, 5 /* 801D28BC 001CE51C 38 05 00 07 */ addi r0, r5, 7 /* 801D28C0 001CE520 38 E5 00 06 */ addi r7, r5, 6 /* 801D28C4 001CE524 FC A1 00 2A */ fadd f5, f1, f0 /* 801D28C8 001CE528 55 09 10 3A */ slwi r9, r8, 2 /* 801D28CC 001CE52C 54 E8 10 3A */ slwi r8, r7, 2 /* 801D28D0 001CE530 C8 43 FF D0 */ lfd f2, -0x30(r3) /* 801D28D4 001CE534 C8 23 FF C8 */ lfd f1, -0x38(r3) /* 801D28D8 001CE538 54 00 10 3A */ slwi r0, r0, 2 /* 801D28DC 001CE53C FC 78 01 72 */ fmul f3, f24, f5 /* 801D28E0 001CE540 CC 03 FF C0 */ lfdu f0, -0x40(r3) /* 801D28E4 001CE544 38 A5 00 08 */ addi r5, r5, 8 /* 801D28E8 001CE548 38 C6 00 20 */ addi r6, r6, 0x20 /* 801D28EC 001CE54C 38 84 FF F8 */ addi r4, r4, -8 /* 801D28F0 001CE550 FC 60 18 1E */ fctiwz f3, f3 /* 801D28F4 001CE554 D8 61 02 A0 */ stfd f3, 0x2a0(r1) /* 801D28F8 001CE558 80 E1 02 A4 */ lwz r7, 0x2a4(r1) /* 801D28FC 001CE55C 6C E7 80 00 */ xoris r7, r7, 0x8000 /* 801D2900 001CE560 90 E1 02 44 */ stw r7, 0x244(r1) /* 801D2904 001CE564 C8 61 02 40 */ lfd f3, 0x240(r1) /* 801D2908 001CE568 FC 63 C8 28 */ fsub f3, f3, f25 /* 801D290C 001CE56C FC 83 10 2A */ fadd f4, f3, f2 /* 801D2910 001CE570 FC 7A 00 F2 */ fmul f3, f26, f3 /* 801D2914 001CE574 FC 58 01 32 */ fmul f2, f24, f4 /* 801D2918 001CE578 FC 65 18 28 */ fsub f3, f5, f3 /* 801D291C 001CE57C FC 40 10 1E */ fctiwz f2, f2 /* 801D2920 001CE580 FC 60 18 1E */ fctiwz f3, f3 /* 801D2924 001CE584 D8 41 02 B0 */ stfd f2, 0x2b0(r1) /* 801D2928 001CE588 80 E1 02 B4 */ lwz r7, 0x2b4(r1) /* 801D292C 001CE58C D8 61 02 A8 */ stfd f3, 0x2a8(r1) /* 801D2930 001CE590 6C E7 80 00 */ xoris r7, r7, 0x8000 /* 801D2934 001CE594 90 E1 02 4C */ stw r7, 0x24c(r1) /* 801D2938 001CE598 80 E1 02 AC */ lwz r7, 0x2ac(r1) /* 801D293C 001CE59C C8 41 02 48 */ lfd f2, 0x248(r1) /* 801D2940 001CE5A0 7C FD 49 2E */ stwx r7, r29, r9 /* 801D2944 001CE5A4 FC 42 C8 28 */ fsub f2, f2, f25 /* 801D2948 001CE5A8 FC 62 08 2A */ fadd f3, f2, f1 /* 801D294C 001CE5AC FC 5A 00 B2 */ fmul f2, f26, f2 /* 801D2950 001CE5B0 FC 38 00 F2 */ fmul f1, f24, f3 /* 801D2954 001CE5B4 FC 44 10 28 */ fsub f2, f4, f2 /* 801D2958 001CE5B8 FC 20 08 1E */ fctiwz f1, f1 /* 801D295C 001CE5BC FC 40 10 1E */ fctiwz f2, f2 /* 801D2960 001CE5C0 D8 21 02 C0 */ stfd f1, 0x2c0(r1) /* 801D2964 001CE5C4 80 E1 02 C4 */ lwz r7, 0x2c4(r1) /* 801D2968 001CE5C8 D8 41 02 B8 */ stfd f2, 0x2b8(r1) /* 801D296C 001CE5CC 6C E7 80 00 */ xoris r7, r7, 0x8000 /* 801D2970 001CE5D0 90 E1 02 44 */ stw r7, 0x244(r1) /* 801D2974 001CE5D4 80 E1 02 BC */ lwz r7, 0x2bc(r1) /* 801D2978 001CE5D8 C8 21 02 40 */ lfd f1, 0x240(r1) /* 801D297C 001CE5DC 7C FD 41 2E */ stwx r7, r29, r8 /* 801D2980 001CE5E0 FC 21 C8 28 */ fsub f1, f1, f25 /* 801D2984 001CE5E4 FC 5A 00 72 */ fmul f2, f26, f1 /* 801D2988 001CE5E8 FC 21 00 2A */ fadd f1, f1, f0 /* 801D298C 001CE5EC FC 03 10 28 */ fsub f0, f3, f2 /* 801D2990 001CE5F0 FC 00 00 1E */ fctiwz f0, f0 /* 801D2994 001CE5F4 D8 01 02 C8 */ stfd f0, 0x2c8(r1) /* 801D2998 001CE5F8 80 E1 02 CC */ lwz r7, 0x2cc(r1) /* 801D299C 001CE5FC 7C FD 01 2E */ stwx r7, r29, r0 /* 801D29A0 001CE600 42 00 FD BC */ bdnz lbl_801D275C lbl_801D29A4: /* 801D29A4 001CE604 54 A3 10 3A */ slwi r3, r5, 2 /* 801D29A8 001CE608 38 A1 00 10 */ addi r5, r1, 0x10 /* 801D29AC 001CE60C 54 80 18 38 */ slwi r0, r4, 3 /* 801D29B0 001CE610 38 C1 00 60 */ addi r6, r1, 0x60 /* 801D29B4 001CE614 7C A5 1A 14 */ add r5, r5, r3 /* 801D29B8 001CE618 7C C6 02 14 */ add r6, r6, r0 /* 801D29BC 001CE61C 7C 89 03 A6 */ mtctr r4 /* 801D29C0 001CE620 2C 04 00 00 */ cmpwi r4, 0 /* 801D29C4 001CE624 40 81 00 50 */ ble lbl_801D2A14 lbl_801D29C8: /* 801D29C8 001CE628 FC 58 00 72 */ fmul f2, f24, f1 /* 801D29CC 001CE62C CC 06 FF F8 */ lfdu f0, -8(r6) /* 801D29D0 001CE630 38 84 FF FF */ addi r4, r4, -1 /* 801D29D4 001CE634 FC 40 10 1E */ fctiwz f2, f2 /* 801D29D8 001CE638 D8 41 02 C8 */ stfd f2, 0x2c8(r1) /* 801D29DC 001CE63C 80 01 02 CC */ lwz r0, 0x2cc(r1) /* 801D29E0 001CE640 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D29E4 001CE644 90 01 02 4C */ stw r0, 0x24c(r1) /* 801D29E8 001CE648 C8 41 02 48 */ lfd f2, 0x248(r1) /* 801D29EC 001CE64C FC 62 C8 28 */ fsub f3, f2, f25 /* 801D29F0 001CE650 FC 5A 00 F2 */ fmul f2, f26, f3 /* 801D29F4 001CE654 FC 41 10 28 */ fsub f2, f1, f2 /* 801D29F8 001CE658 FC 23 00 2A */ fadd f1, f3, f0 /* 801D29FC 001CE65C FC 00 10 1E */ fctiwz f0, f2 /* 801D2A00 001CE660 D8 01 02 C0 */ stfd f0, 0x2c0(r1) /* 801D2A04 001CE664 80 01 02 C4 */ lwz r0, 0x2c4(r1) /* 801D2A08 001CE668 90 05 00 00 */ stw r0, 0(r5) /* 801D2A0C 001CE66C 38 A5 00 04 */ addi r5, r5, 4 /* 801D2A10 001CE670 42 00 FF B8 */ bdnz lbl_801D29C8 lbl_801D2A14: /* 801D2A14 001CE674 7E 63 9B 78 */ mr r3, r19 /* 801D2A18 001CE678 4B FF DF A9 */ bl func_801D09C0 /* 801D2A1C 001CE67C FE E0 08 90 */ fmr f23, f1 /* 801D2A20 001CE680 FC 3B 00 72 */ fmul f1, f27, f1 /* 801D2A24 001CE684 48 00 17 29 */ bl func_801D414C /* 801D2A28 001CE688 FC 1C 00 72 */ fmul f0, f28, f1 /* 801D2A2C 001CE68C 2C 13 00 00 */ cmpwi r19, 0 /* 801D2A30 001CE690 3A 40 00 00 */ li r18, 0 /* 801D2A34 001CE694 FE F7 00 28 */ fsub f23, f23, f0 /* 801D2A38 001CE698 FC 00 B8 1E */ fctiwz f0, f23 /* 801D2A3C 001CE69C D8 01 02 C8 */ stfd f0, 0x2c8(r1) /* 801D2A40 001CE6A0 82 81 02 CC */ lwz r20, 0x2cc(r1) /* 801D2A44 001CE6A4 6E 80 80 00 */ xoris r0, r20, 0x8000 /* 801D2A48 001CE6A8 90 01 02 44 */ stw r0, 0x244(r1) /* 801D2A4C 001CE6AC C8 01 02 40 */ lfd f0, 0x240(r1) /* 801D2A50 001CE6B0 FC 00 C8 28 */ fsub f0, f0, f25 /* 801D2A54 001CE6B4 FE F7 00 28 */ fsub f23, f23, f0 /* 801D2A58 001CE6B8 40 81 00 30 */ ble lbl_801D2A88 /* 801D2A5C 001CE6BC 56 E0 10 3A */ slwi r0, r23, 2 /* 801D2A60 001CE6C0 7C 9D 02 14 */ add r4, r29, r0 /* 801D2A64 001CE6C4 80 64 FF FC */ lwz r3, -4(r4) /* 801D2A68 001CE6C8 7C 65 E6 30 */ sraw r5, r3, r28 /* 801D2A6C 001CE6CC 7C A0 E0 30 */ slw r0, r5, r28 /* 801D2A70 001CE6D0 7C 60 18 50 */ subf r3, r0, r3 /* 801D2A74 001CE6D4 80 01 02 D0 */ lwz r0, 0x2d0(r1) /* 801D2A78 001CE6D8 90 64 FF FC */ stw r3, -4(r4) /* 801D2A7C 001CE6DC 7E 94 2A 14 */ add r20, r20, r5 /* 801D2A80 001CE6E0 7C 72 06 30 */ sraw r18, r3, r0 /* 801D2A84 001CE6E4 48 00 00 2C */ b lbl_801D2AB0 lbl_801D2A88: /* 801D2A88 001CE6E8 40 82 00 18 */ bne lbl_801D2AA0 /* 801D2A8C 001CE6EC 56 E0 10 3A */ slwi r0, r23, 2 /* 801D2A90 001CE6F0 7C 7D 02 14 */ add r3, r29, r0 /* 801D2A94 001CE6F4 80 03 FF FC */ lwz r0, -4(r3) /* 801D2A98 001CE6F8 7C 12 BE 70 */ srawi r18, r0, 0x17 /* 801D2A9C 001CE6FC 48 00 00 14 */ b lbl_801D2AB0 lbl_801D2AA0: /* 801D2AA0 001CE700 FC 17 E8 40 */ fcmpo cr0, f23, f29 /* 801D2AA4 001CE704 4C 41 13 82 */ cror 2, 1, 2 /* 801D2AA8 001CE708 40 82 00 08 */ bne lbl_801D2AB0 /* 801D2AAC 001CE70C 3A 40 00 02 */ li r18, 2 lbl_801D2AB0: /* 801D2AB0 001CE710 2C 12 00 00 */ cmpwi r18, 0 /* 801D2AB4 001CE714 40 81 00 C4 */ ble lbl_801D2B78 /* 801D2AB8 001CE718 38 A1 00 10 */ addi r5, r1, 0x10 /* 801D2ABC 001CE71C 38 9E FF FF */ addi r4, r30, -1 /* 801D2AC0 001CE720 38 00 00 00 */ li r0, 0 /* 801D2AC4 001CE724 7E E9 03 A6 */ mtctr r23 /* 801D2AC8 001CE728 2C 17 00 00 */ cmpwi r23, 0 /* 801D2ACC 001CE72C 3A 94 00 01 */ addi r20, r20, 1 /* 801D2AD0 001CE730 40 81 00 38 */ ble lbl_801D2B08 lbl_801D2AD4: /* 801D2AD4 001CE734 2C 00 00 00 */ cmpwi r0, 0 /* 801D2AD8 001CE738 80 65 00 00 */ lwz r3, 0(r5) /* 801D2ADC 001CE73C 40 82 00 1C */ bne lbl_801D2AF8 /* 801D2AE0 001CE740 2C 03 00 00 */ cmpwi r3, 0 /* 801D2AE4 001CE744 41 82 00 1C */ beq lbl_801D2B00 /* 801D2AE8 001CE748 7C 63 F0 50 */ subf r3, r3, r30 /* 801D2AEC 001CE74C 38 00 00 01 */ li r0, 1 /* 801D2AF0 001CE750 90 65 00 00 */ stw r3, 0(r5) /* 801D2AF4 001CE754 48 00 00 0C */ b lbl_801D2B00 lbl_801D2AF8: /* 801D2AF8 001CE758 7C 63 20 50 */ subf r3, r3, r4 /* 801D2AFC 001CE75C 90 65 00 00 */ stw r3, 0(r5) lbl_801D2B00: /* 801D2B00 001CE760 38 A5 00 04 */ addi r5, r5, 4 /* 801D2B04 001CE764 42 00 FF D0 */ bdnz lbl_801D2AD4 lbl_801D2B08: /* 801D2B08 001CE768 2C 13 00 00 */ cmpwi r19, 0 /* 801D2B0C 001CE76C 40 81 00 48 */ ble lbl_801D2B54 /* 801D2B10 001CE770 2C 13 00 02 */ cmpwi r19, 2 /* 801D2B14 001CE774 41 82 00 2C */ beq lbl_801D2B40 /* 801D2B18 001CE778 40 80 00 3C */ bge lbl_801D2B54 /* 801D2B1C 001CE77C 2C 13 00 01 */ cmpwi r19, 1 /* 801D2B20 001CE780 40 80 00 08 */ bge lbl_801D2B28 /* 801D2B24 001CE784 48 00 00 30 */ b lbl_801D2B54 lbl_801D2B28: /* 801D2B28 001CE788 56 E3 10 3A */ slwi r3, r23, 2 /* 801D2B2C 001CE78C 7C 9D 1A 14 */ add r4, r29, r3 /* 801D2B30 001CE790 80 64 FF FC */ lwz r3, -4(r4) /* 801D2B34 001CE794 54 63 02 7E */ clrlwi r3, r3, 9 /* 801D2B38 001CE798 90 64 FF FC */ stw r3, -4(r4) /* 801D2B3C 001CE79C 48 00 00 18 */ b lbl_801D2B54 lbl_801D2B40: /* 801D2B40 001CE7A0 56 E3 10 3A */ slwi r3, r23, 2 /* 801D2B44 001CE7A4 7C 9D 1A 14 */ add r4, r29, r3 /* 801D2B48 001CE7A8 80 64 FF FC */ lwz r3, -4(r4) /* 801D2B4C 001CE7AC 54 63 02 BE */ clrlwi r3, r3, 0xa /* 801D2B50 001CE7B0 90 64 FF FC */ stw r3, -4(r4) lbl_801D2B54: /* 801D2B54 001CE7B4 2C 12 00 02 */ cmpwi r18, 2 /* 801D2B58 001CE7B8 40 82 00 20 */ bne lbl_801D2B78 /* 801D2B5C 001CE7BC 2C 00 00 00 */ cmpwi r0, 0 /* 801D2B60 001CE7C0 FE FE B8 28 */ fsub f23, f30, f23 /* 801D2B64 001CE7C4 41 82 00 14 */ beq lbl_801D2B78 /* 801D2B68 001CE7C8 FC 20 F0 90 */ fmr f1, f30 /* 801D2B6C 001CE7CC 7E 63 9B 78 */ mr r3, r19 /* 801D2B70 001CE7D0 4B FF DE 51 */ bl func_801D09C0 /* 801D2B74 001CE7D4 FE F7 08 28 */ fsub f23, f23, f1 lbl_801D2B78: /* 801D2B78 001CE7D8 FC 1F B8 00 */ fcmpu cr0, f31, f23 /* 801D2B7C 001CE7DC 40 82 03 D4 */ bne lbl_801D2F50 /* 801D2B80 001CE7E0 39 57 FF FF */ addi r10, r23, -1 /* 801D2B84 001CE7E4 39 20 00 00 */ li r9, 0 /* 801D2B88 001CE7E8 7C 8A A8 00 */ cmpw cr1, r10, r21 /* 801D2B8C 001CE7EC 41 84 01 84 */ blt cr1, lbl_801D2D10 /* 801D2B90 001CE7F0 7C F5 50 50 */ subf r7, r21, r10 /* 801D2B94 001CE7F4 38 15 00 08 */ addi r0, r21, 8 /* 801D2B98 001CE7F8 39 07 00 01 */ addi r8, r7, 1 /* 801D2B9C 001CE7FC 2C 08 00 08 */ cmpwi r8, 8 /* 801D2BA0 001CE800 40 81 01 3C */ ble lbl_801D2CDC /* 801D2BA4 001CE804 38 60 00 00 */ li r3, 0 /* 801D2BA8 001CE808 38 80 00 00 */ li r4, 0 /* 801D2BAC 001CE80C 38 A0 00 00 */ li r5, 0 /* 801D2BB0 001CE810 38 C0 00 00 */ li r6, 0 /* 801D2BB4 001CE814 39 80 00 00 */ li r12, 0 /* 801D2BB8 001CE818 41 84 00 14 */ blt cr1, lbl_801D2BCC /* 801D2BBC 001CE81C 39 7F 00 01 */ addi r11, r31, 1 /* 801D2BC0 001CE820 7C 15 58 00 */ cmpw r21, r11 /* 801D2BC4 001CE824 41 80 00 08 */ blt lbl_801D2BCC /* 801D2BC8 001CE828 39 80 00 01 */ li r12, 1 lbl_801D2BCC: /* 801D2BCC 001CE82C 2C 0C 00 00 */ cmpwi r12, 0 /* 801D2BD0 001CE830 41 82 00 18 */ beq lbl_801D2BE8 /* 801D2BD4 001CE834 39 97 FF FF */ addi r12, r23, -1 /* 801D2BD8 001CE838 39 7F 00 01 */ addi r11, r31, 1 /* 801D2BDC 001CE83C 7C 0C 58 00 */ cmpw r12, r11 /* 801D2BE0 001CE840 41 80 00 08 */ blt lbl_801D2BE8 /* 801D2BE4 001CE844 38 C0 00 01 */ li r6, 1 lbl_801D2BE8: /* 801D2BE8 001CE848 2C 06 00 00 */ cmpwi r6, 0 /* 801D2BEC 001CE84C 41 82 00 14 */ beq lbl_801D2C00 /* 801D2BF0 001CE850 3C D5 80 00 */ addis r6, r21, 0x8000 /* 801D2BF4 001CE854 28 06 00 00 */ cmplwi r6, 0 /* 801D2BF8 001CE858 41 82 00 08 */ beq lbl_801D2C00 /* 801D2BFC 001CE85C 38 A0 00 01 */ li r5, 1 lbl_801D2C00: /* 801D2C00 001CE860 2C 05 00 00 */ cmpwi r5, 0 /* 801D2C04 001CE864 41 82 00 34 */ beq lbl_801D2C38 /* 801D2C08 001CE868 38 B7 FF FF */ addi r5, r23, -1 /* 801D2C0C 001CE86C 38 C0 00 01 */ li r6, 1 /* 801D2C10 001CE870 54 AB 00 00 */ rlwinm r11, r5, 0, 0, 0 /* 801D2C14 001CE874 7C 0B 70 00 */ cmpw r11, r14 /* 801D2C18 001CE878 40 82 00 14 */ bne lbl_801D2C2C /* 801D2C1C 001CE87C 54 E5 00 00 */ rlwinm r5, r7, 0, 0, 0 /* 801D2C20 001CE880 7C 0B 28 00 */ cmpw r11, r5 /* 801D2C24 001CE884 41 82 00 08 */ beq lbl_801D2C2C /* 801D2C28 001CE888 38 C0 00 00 */ li r6, 0 lbl_801D2C2C: /* 801D2C2C 001CE88C 2C 06 00 00 */ cmpwi r6, 0 /* 801D2C30 001CE890 41 82 00 08 */ beq lbl_801D2C38 /* 801D2C34 001CE894 38 80 00 01 */ li r4, 1 lbl_801D2C38: /* 801D2C38 001CE898 2C 04 00 00 */ cmpwi r4, 0 /* 801D2C3C 001CE89C 41 82 00 28 */ beq lbl_801D2C64 /* 801D2C40 001CE8A0 54 E4 00 01 */ rlwinm. r4, r7, 0, 0, 0 /* 801D2C44 001CE8A4 38 A0 00 01 */ li r5, 1 /* 801D2C48 001CE8A8 40 82 00 10 */ bne lbl_801D2C58 /* 801D2C4C 001CE8AC 55 04 00 01 */ rlwinm. r4, r8, 0, 0, 0 /* 801D2C50 001CE8B0 41 82 00 08 */ beq lbl_801D2C58 /* 801D2C54 001CE8B4 38 A0 00 00 */ li r5, 0 lbl_801D2C58: /* 801D2C58 001CE8B8 2C 05 00 00 */ cmpwi r5, 0 /* 801D2C5C 001CE8BC 41 82 00 08 */ beq lbl_801D2C64 /* 801D2C60 001CE8C0 38 60 00 01 */ li r3, 1 lbl_801D2C64: /* 801D2C64 001CE8C4 2C 03 00 00 */ cmpwi r3, 0 /* 801D2C68 001CE8C8 41 82 00 74 */ beq lbl_801D2CDC /* 801D2C6C 001CE8CC 38 8A 00 08 */ addi r4, r10, 8 /* 801D2C70 001CE8D0 55 45 10 3A */ slwi r5, r10, 2 /* 801D2C74 001CE8D4 7C 80 20 50 */ subf r4, r0, r4 /* 801D2C78 001CE8D8 38 61 00 10 */ addi r3, r1, 0x10 /* 801D2C7C 001CE8DC 54 84 E8 FE */ srwi r4, r4, 3 /* 801D2C80 001CE8E0 7C 63 2A 14 */ add r3, r3, r5 /* 801D2C84 001CE8E4 7C 89 03 A6 */ mtctr r4 /* 801D2C88 001CE8E8 7C 0A 00 00 */ cmpw r10, r0 /* 801D2C8C 001CE8EC 41 80 00 50 */ blt lbl_801D2CDC lbl_801D2C90: /* 801D2C90 001CE8F0 80 83 00 00 */ lwz r4, 0(r3) /* 801D2C94 001CE8F4 39 4A FF F8 */ addi r10, r10, -8 /* 801D2C98 001CE8F8 80 03 FF FC */ lwz r0, -4(r3) /* 801D2C9C 001CE8FC 7D 29 23 78 */ or r9, r9, r4 /* 801D2CA0 001CE900 80 83 FF F8 */ lwz r4, -8(r3) /* 801D2CA4 001CE904 7D 29 03 78 */ or r9, r9, r0 /* 801D2CA8 001CE908 80 03 FF F4 */ lwz r0, -0xc(r3) /* 801D2CAC 001CE90C 7D 29 23 78 */ or r9, r9, r4 /* 801D2CB0 001CE910 80 83 FF F0 */ lwz r4, -0x10(r3) /* 801D2CB4 001CE914 7D 29 03 78 */ or r9, r9, r0 /* 801D2CB8 001CE918 80 03 FF EC */ lwz r0, -0x14(r3) /* 801D2CBC 001CE91C 7D 29 23 78 */ or r9, r9, r4 /* 801D2CC0 001CE920 80 83 FF E8 */ lwz r4, -0x18(r3) /* 801D2CC4 001CE924 7D 29 03 78 */ or r9, r9, r0 /* 801D2CC8 001CE928 80 03 FF E4 */ lwz r0, -0x1c(r3) /* 801D2CCC 001CE92C 7D 29 23 78 */ or r9, r9, r4 /* 801D2CD0 001CE930 38 63 FF E0 */ addi r3, r3, -32 /* 801D2CD4 001CE934 7D 29 03 78 */ or r9, r9, r0 /* 801D2CD8 001CE938 42 00 FF B8 */ bdnz lbl_801D2C90 lbl_801D2CDC: /* 801D2CDC 001CE93C 38 0A 00 01 */ addi r0, r10, 1 /* 801D2CE0 001CE940 55 43 10 3A */ slwi r3, r10, 2 /* 801D2CE4 001CE944 38 81 00 10 */ addi r4, r1, 0x10 /* 801D2CE8 001CE948 7C 15 00 50 */ subf r0, r21, r0 /* 801D2CEC 001CE94C 7C 84 1A 14 */ add r4, r4, r3 /* 801D2CF0 001CE950 7C 09 03 A6 */ mtctr r0 /* 801D2CF4 001CE954 7C 0A A8 00 */ cmpw r10, r21 /* 801D2CF8 001CE958 41 80 00 18 */ blt lbl_801D2D10 lbl_801D2CFC: /* 801D2CFC 001CE95C 80 04 00 00 */ lwz r0, 0(r4) /* 801D2D00 001CE960 38 84 FF FC */ addi r4, r4, -4 /* 801D2D04 001CE964 39 4A FF FF */ addi r10, r10, -1 /* 801D2D08 001CE968 7D 29 03 78 */ or r9, r9, r0 /* 801D2D0C 001CE96C 42 00 FF F0 */ bdnz lbl_801D2CFC lbl_801D2D10: /* 801D2D10 001CE970 2C 09 00 00 */ cmpwi r9, 0 /* 801D2D14 001CE974 40 82 02 3C */ bne lbl_801D2F50 /* 801D2D18 001CE978 3A 40 00 01 */ li r18, 1 /* 801D2D1C 001CE97C 48 00 00 08 */ b lbl_801D2D24 lbl_801D2D20: /* 801D2D20 001CE980 3A 52 00 01 */ addi r18, r18, 1 lbl_801D2D24: /* 801D2D24 001CE984 7C 12 A8 50 */ subf r0, r18, r21 /* 801D2D28 001CE988 54 00 10 3A */ slwi r0, r0, 2 /* 801D2D2C 001CE98C 7C 1D 00 2E */ lwzx r0, r29, r0 /* 801D2D30 001CE990 2C 00 00 00 */ cmpwi r0, 0 /* 801D2D34 001CE994 41 82 FF EC */ beq lbl_801D2D20 /* 801D2D38 001CE998 39 97 00 01 */ addi r12, r23, 1 /* 801D2D3C 001CE99C 38 E1 00 60 */ addi r7, r1, 0x60 /* 801D2D40 001CE9A0 55 83 18 38 */ slwi r3, r12, 3 /* 801D2D44 001CE9A4 7D 17 92 14 */ add r8, r23, r18 /* 801D2D48 001CE9A8 55 80 10 3A */ slwi r0, r12, 2 /* 801D2D4C 001CE9AC 7C BB 02 14 */ add r5, r27, r0 /* 801D2D50 001CE9B0 7C DA 1A 14 */ add r6, r26, r3 /* 801D2D54 001CE9B4 7C E7 1A 14 */ add r7, r7, r3 /* 801D2D58 001CE9B8 48 00 01 E8 */ b lbl_801D2F40 lbl_801D2D5C: /* 801D2D5C 001CE9BC 80 05 00 00 */ lwz r0, 0(r5) /* 801D2D60 001CE9C0 2C 96 00 00 */ cmpwi cr1, r22, 0 /* 801D2D64 001CE9C4 C8 02 94 A8 */ lfd f0, lbl_80641AA8-_SDA2_BASE_(r2) /* 801D2D68 001CE9C8 39 60 00 00 */ li r11, 0 /* 801D2D6C 001CE9CC 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D2D70 001CE9D0 90 01 02 4C */ stw r0, 0x24c(r1) /* 801D2D74 001CE9D4 C8 21 02 48 */ lfd f1, 0x248(r1) /* 801D2D78 001CE9D8 FC 21 C8 28 */ fsub f1, f1, f25 /* 801D2D7C 001CE9DC D8 26 00 00 */ stfd f1, 0(r6) /* 801D2D80 001CE9E0 41 84 01 AC */ blt cr1, lbl_801D2F2C /* 801D2D84 001CE9E4 38 16 00 01 */ addi r0, r22, 1 /* 801D2D88 001CE9E8 38 76 FF F8 */ addi r3, r22, -8 /* 801D2D8C 001CE9EC 2C 00 00 08 */ cmpwi r0, 8 /* 801D2D90 001CE9F0 40 81 01 58 */ ble lbl_801D2EE8 /* 801D2D94 001CE9F4 38 80 00 00 */ li r4, 0 /* 801D2D98 001CE9F8 39 20 00 00 */ li r9, 0 /* 801D2D9C 001CE9FC 41 84 00 14 */ blt cr1, lbl_801D2DB0 /* 801D2DA0 001CEA00 38 1F FF FE */ addi r0, r31, -2 /* 801D2DA4 001CEA04 7C 16 00 00 */ cmpw r22, r0 /* 801D2DA8 001CEA08 41 81 00 08 */ bgt lbl_801D2DB0 /* 801D2DAC 001CEA0C 39 20 00 01 */ li r9, 1 lbl_801D2DB0: /* 801D2DB0 001CEA10 2C 09 00 00 */ cmpwi r9, 0 /* 801D2DB4 001CEA14 41 82 00 28 */ beq lbl_801D2DDC /* 801D2DB8 001CEA18 2C 19 00 00 */ cmpwi r25, 0 /* 801D2DBC 001CEA1C 38 00 00 01 */ li r0, 1 /* 801D2DC0 001CEA20 40 82 00 10 */ bne lbl_801D2DD0 /* 801D2DC4 001CEA24 2C 18 00 00 */ cmpwi r24, 0 /* 801D2DC8 001CEA28 41 82 00 08 */ beq lbl_801D2DD0 /* 801D2DCC 001CEA2C 38 00 00 00 */ li r0, 0 lbl_801D2DD0: /* 801D2DD0 001CEA30 2C 00 00 00 */ cmpwi r0, 0 /* 801D2DD4 001CEA34 41 82 00 08 */ beq lbl_801D2DDC /* 801D2DD8 001CEA38 38 80 00 01 */ li r4, 1 lbl_801D2DDC: /* 801D2DDC 001CEA3C 2C 04 00 00 */ cmpwi r4, 0 /* 801D2DE0 001CEA40 41 82 01 08 */ beq lbl_801D2EE8 /* 801D2DE4 001CEA44 38 03 00 08 */ addi r0, r3, 8 /* 801D2DE8 001CEA48 7E 09 83 78 */ mr r9, r16 /* 801D2DEC 001CEA4C 54 00 E8 FE */ srwi r0, r0, 3 /* 801D2DF0 001CEA50 7D 56 62 14 */ add r10, r22, r12 /* 801D2DF4 001CEA54 7C 09 03 A6 */ mtctr r0 /* 801D2DF8 001CEA58 2C 03 00 00 */ cmpwi r3, 0 /* 801D2DFC 001CEA5C 41 80 00 EC */ blt lbl_801D2EE8 lbl_801D2E00: /* 801D2E00 001CEA60 7C 0B 50 50 */ subf r0, r11, r10 /* 801D2E04 001CEA64 38 8B 00 01 */ addi r4, r11, 1 /* 801D2E08 001CEA68 54 00 18 38 */ slwi r0, r0, 3 /* 801D2E0C 001CEA6C 38 6B 00 02 */ addi r3, r11, 2 /* 801D2E10 001CEA70 C8 49 00 00 */ lfd f2, 0(r9) /* 801D2E14 001CEA74 7C 63 50 50 */ subf r3, r3, r10 /* 801D2E18 001CEA78 7C 2F 04 AE */ lfdx f1, r15, r0 /* 801D2E1C 001CEA7C 7C 84 50 50 */ subf r4, r4, r10 /* 801D2E20 001CEA80 54 80 18 38 */ slwi r0, r4, 3 /* 801D2E24 001CEA84 3A 8B 00 07 */ addi r20, r11, 7 /* 801D2E28 001CEA88 FC 62 00 72 */ fmul f3, f2, f1 /* 801D2E2C 001CEA8C C8 49 00 08 */ lfd f2, 8(r9) /* 801D2E30 001CEA90 7C 2F 04 AE */ lfdx f1, r15, r0 /* 801D2E34 001CEA94 38 8B 00 03 */ addi r4, r11, 3 /* 801D2E38 001CEA98 54 63 18 38 */ slwi r3, r3, 3 /* 801D2E3C 001CEA9C 7E 94 50 50 */ subf r20, r20, r10 /* 801D2E40 001CEAA0 FC 82 00 72 */ fmul f4, f2, f1 /* 801D2E44 001CEAA4 7C 04 50 50 */ subf r0, r4, r10 /* 801D2E48 001CEAA8 7C 2F 1C AE */ lfdx f1, r15, r3 /* 801D2E4C 001CEAAC 38 8B 00 04 */ addi r4, r11, 4 /* 801D2E50 001CEAB0 FC 00 18 2A */ fadd f0, f0, f3 /* 801D2E54 001CEAB4 C8 49 00 10 */ lfd f2, 0x10(r9) /* 801D2E58 001CEAB8 FC 62 00 72 */ fmul f3, f2, f1 /* 801D2E5C 001CEABC 54 00 18 38 */ slwi r0, r0, 3 /* 801D2E60 001CEAC0 7C 2F 04 AE */ lfdx f1, r15, r0 /* 801D2E64 001CEAC4 7C 84 50 50 */ subf r4, r4, r10 /* 801D2E68 001CEAC8 FC 00 20 2A */ fadd f0, f0, f4 /* 801D2E6C 001CEACC C8 49 00 18 */ lfd f2, 0x18(r9) /* 801D2E70 001CEAD0 38 6B 00 05 */ addi r3, r11, 5 /* 801D2E74 001CEAD4 38 0B 00 06 */ addi r0, r11, 6 /* 801D2E78 001CEAD8 FC 00 18 2A */ fadd f0, f0, f3 /* 801D2E7C 001CEADC 7C 63 50 50 */ subf r3, r3, r10 /* 801D2E80 001CEAE0 FC 42 00 72 */ fmul f2, f2, f1 /* 801D2E84 001CEAE4 54 84 18 38 */ slwi r4, r4, 3 /* 801D2E88 001CEAE8 7C 00 50 50 */ subf r0, r0, r10 /* 801D2E8C 001CEAEC C8 69 00 20 */ lfd f3, 0x20(r9) /* 801D2E90 001CEAF0 7C 2F 24 AE */ lfdx f1, r15, r4 /* 801D2E94 001CEAF4 54 63 18 38 */ slwi r3, r3, 3 /* 801D2E98 001CEAF8 FC C3 00 72 */ fmul f6, f3, f1 /* 801D2E9C 001CEAFC 54 00 18 38 */ slwi r0, r0, 3 /* 801D2EA0 001CEB00 7C 2F 1C AE */ lfdx f1, r15, r3 /* 801D2EA4 001CEB04 56 94 18 38 */ slwi r20, r20, 3 /* 801D2EA8 001CEB08 FC 00 10 2A */ fadd f0, f0, f2 /* 801D2EAC 001CEB0C C8 49 00 28 */ lfd f2, 0x28(r9) /* 801D2EB0 001CEB10 FC A2 00 72 */ fmul f5, f2, f1 /* 801D2EB4 001CEB14 C8 89 00 30 */ lfd f4, 0x30(r9) /* 801D2EB8 001CEB18 7C 6F 04 AE */ lfdx f3, r15, r0 /* 801D2EBC 001CEB1C 39 6B 00 08 */ addi r11, r11, 8 /* 801D2EC0 001CEB20 FC 00 30 2A */ fadd f0, f0, f6 /* 801D2EC4 001CEB24 C8 49 00 38 */ lfd f2, 0x38(r9) /* 801D2EC8 001CEB28 7C 2F A4 AE */ lfdx f1, r15, r20 /* 801D2ECC 001CEB2C FC 64 00 F2 */ fmul f3, f4, f3 /* 801D2ED0 001CEB30 39 29 00 40 */ addi r9, r9, 0x40 /* 801D2ED4 001CEB34 FC 00 28 2A */ fadd f0, f0, f5 /* 801D2ED8 001CEB38 FC 22 00 72 */ fmul f1, f2, f1 /* 801D2EDC 001CEB3C FC 00 18 2A */ fadd f0, f0, f3 /* 801D2EE0 001CEB40 FC 00 08 2A */ fadd f0, f0, f1 /* 801D2EE4 001CEB44 42 00 FF 1C */ bdnz lbl_801D2E00 lbl_801D2EE8: /* 801D2EE8 001CEB48 38 96 00 01 */ addi r4, r22, 1 /* 801D2EEC 001CEB4C 55 63 18 38 */ slwi r3, r11, 3 /* 801D2EF0 001CEB50 7C 8B 20 50 */ subf r4, r11, r4 /* 801D2EF4 001CEB54 7C 16 62 14 */ add r0, r22, r12 /* 801D2EF8 001CEB58 7C 70 1A 14 */ add r3, r16, r3 /* 801D2EFC 001CEB5C 7C 89 03 A6 */ mtctr r4 /* 801D2F00 001CEB60 7C 0B B0 00 */ cmpw r11, r22 /* 801D2F04 001CEB64 41 81 00 28 */ bgt lbl_801D2F2C lbl_801D2F08: /* 801D2F08 001CEB68 7C 8B 00 50 */ subf r4, r11, r0 /* 801D2F0C 001CEB6C C8 43 00 00 */ lfd f2, 0(r3) /* 801D2F10 001CEB70 54 84 18 38 */ slwi r4, r4, 3 /* 801D2F14 001CEB74 38 63 00 08 */ addi r3, r3, 8 /* 801D2F18 001CEB78 7C 2F 24 AE */ lfdx f1, r15, r4 /* 801D2F1C 001CEB7C 39 6B 00 01 */ addi r11, r11, 1 /* 801D2F20 001CEB80 FC 22 00 72 */ fmul f1, f2, f1 /* 801D2F24 001CEB84 FC 00 08 2A */ fadd f0, f0, f1 /* 801D2F28 001CEB88 42 00 FF E0 */ bdnz lbl_801D2F08 lbl_801D2F2C: /* 801D2F2C 001CEB8C D8 07 00 00 */ stfd f0, 0(r7) /* 801D2F30 001CEB90 38 A5 00 04 */ addi r5, r5, 4 /* 801D2F34 001CEB94 38 C6 00 08 */ addi r6, r6, 8 /* 801D2F38 001CEB98 38 E7 00 08 */ addi r7, r7, 8 /* 801D2F3C 001CEB9C 39 8C 00 01 */ addi r12, r12, 1 lbl_801D2F40: /* 801D2F40 001CEBA0 7C 0C 40 00 */ cmpw r12, r8 /* 801D2F44 001CEBA4 40 81 FE 18 */ ble lbl_801D2D5C /* 801D2F48 001CEBA8 7E F7 92 14 */ add r23, r23, r18 /* 801D2F4C 001CEBAC 4B FF F7 B4 */ b lbl_801D2700 lbl_801D2F50: /* 801D2F50 001CEBB0 C8 02 94 A8 */ lfd f0, lbl_80641AA8-_SDA2_BASE_(r2) /* 801D2F54 001CEBB4 FC 00 B8 00 */ fcmpu cr0, f0, f23 /* 801D2F58 001CEBB8 40 82 00 38 */ bne lbl_801D2F90 /* 801D2F5C 001CEBBC 3A F7 FF FF */ addi r23, r23, -1 /* 801D2F60 001CEBC0 38 61 00 10 */ addi r3, r1, 0x10 /* 801D2F64 001CEBC4 56 E0 10 3A */ slwi r0, r23, 2 /* 801D2F68 001CEBC8 3A 73 FF E8 */ addi r19, r19, -24 /* 801D2F6C 001CEBCC 7C 63 02 14 */ add r3, r3, r0 /* 801D2F70 001CEBD0 48 00 00 10 */ b lbl_801D2F80 lbl_801D2F74: /* 801D2F74 001CEBD4 38 63 FF FC */ addi r3, r3, -4 /* 801D2F78 001CEBD8 3A F7 FF FF */ addi r23, r23, -1 /* 801D2F7C 001CEBDC 3A 73 FF E8 */ addi r19, r19, -24 lbl_801D2F80: /* 801D2F80 001CEBE0 80 03 00 00 */ lwz r0, 0(r3) /* 801D2F84 001CEBE4 2C 00 00 00 */ cmpwi r0, 0 /* 801D2F88 001CEBE8 41 82 FF EC */ beq lbl_801D2F74 /* 801D2F8C 001CEBEC 48 00 00 A0 */ b lbl_801D302C lbl_801D2F90: /* 801D2F90 001CEBF0 FC 20 B8 90 */ fmr f1, f23 /* 801D2F94 001CEBF4 7C 73 00 D0 */ neg r3, r19 /* 801D2F98 001CEBF8 4B FF DA 29 */ bl func_801D09C0 /* 801D2F9C 001CEBFC C8 62 94 B8 */ lfd f3, lbl_80641AB8-_SDA2_BASE_(r2) /* 801D2FA0 001CEC00 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 801D2FA4 001CEC04 4C 41 13 82 */ cror 2, 1, 2 /* 801D2FA8 001CEC08 40 82 00 6C */ bne lbl_801D3014 /* 801D2FAC 001CEC0C C8 02 94 B0 */ lfd f0, lbl_80641AB0-_SDA2_BASE_(r2) /* 801D2FB0 001CEC10 56 E5 10 3A */ slwi r5, r23, 2 /* 801D2FB4 001CEC14 3A F7 00 01 */ addi r23, r23, 1 /* 801D2FB8 001CEC18 C8 42 94 E0 */ lfd f2, lbl_80641AE0-_SDA2_BASE_(r2) /* 801D2FBC 001CEC1C FC 00 00 72 */ fmul f0, f0, f1 /* 801D2FC0 001CEC20 38 81 00 10 */ addi r4, r1, 0x10 /* 801D2FC4 001CEC24 56 E0 10 3A */ slwi r0, r23, 2 /* 801D2FC8 001CEC28 3A 73 00 18 */ addi r19, r19, 0x18 /* 801D2FCC 001CEC2C FC 00 00 1E */ fctiwz f0, f0 /* 801D2FD0 001CEC30 D8 01 02 C8 */ stfd f0, 0x2c8(r1) /* 801D2FD4 001CEC34 80 61 02 CC */ lwz r3, 0x2cc(r1) /* 801D2FD8 001CEC38 6C 63 80 00 */ xoris r3, r3, 0x8000 /* 801D2FDC 001CEC3C 90 61 02 44 */ stw r3, 0x244(r1) /* 801D2FE0 001CEC40 C8 01 02 40 */ lfd f0, 0x240(r1) /* 801D2FE4 001CEC44 FC 00 10 28 */ fsub f0, f0, f2 /* 801D2FE8 001CEC48 FC 43 00 32 */ fmul f2, f3, f0 /* 801D2FEC 001CEC4C FC 00 00 1E */ fctiwz f0, f0 /* 801D2FF0 001CEC50 FC 21 10 28 */ fsub f1, f1, f2 /* 801D2FF4 001CEC54 D8 01 02 B8 */ stfd f0, 0x2b8(r1) /* 801D2FF8 001CEC58 FC 00 08 1E */ fctiwz f0, f1 /* 801D2FFC 001CEC5C 80 61 02 BC */ lwz r3, 0x2bc(r1) /* 801D3000 001CEC60 D8 01 02 C0 */ stfd f0, 0x2c0(r1) /* 801D3004 001CEC64 80 C1 02 C4 */ lwz r6, 0x2c4(r1) /* 801D3008 001CEC68 7C C4 29 2E */ stwx r6, r4, r5 /* 801D300C 001CEC6C 7C 64 01 2E */ stwx r3, r4, r0 /* 801D3010 001CEC70 48 00 00 1C */ b lbl_801D302C lbl_801D3014: /* 801D3014 001CEC74 FC 00 08 1E */ fctiwz f0, f1 /* 801D3018 001CEC78 56 E0 10 3A */ slwi r0, r23, 2 /* 801D301C 001CEC7C 38 61 00 10 */ addi r3, r1, 0x10 /* 801D3020 001CEC80 D8 01 02 C8 */ stfd f0, 0x2c8(r1) /* 801D3024 001CEC84 80 81 02 CC */ lwz r4, 0x2cc(r1) /* 801D3028 001CEC88 7C 83 01 2E */ stwx r4, r3, r0 lbl_801D302C: /* 801D302C 001CEC8C C8 22 94 D8 */ lfd f1, lbl_80641AD8-_SDA2_BASE_(r2) /* 801D3030 001CEC90 7E 63 9B 78 */ mr r3, r19 /* 801D3034 001CEC94 4B FF D9 8D */ bl func_801D09C0 /* 801D3038 001CEC98 2C 97 00 00 */ cmpwi cr1, r23, 0 /* 801D303C 001CEC9C 7E E3 BB 78 */ mr r3, r23 /* 801D3040 001CECA0 41 84 02 04 */ blt cr1, lbl_801D3244 /* 801D3044 001CECA4 38 17 00 01 */ addi r0, r23, 1 /* 801D3048 001CECA8 2C 00 00 08 */ cmpwi r0, 8 /* 801D304C 001CECAC 40 81 01 9C */ ble lbl_801D31E8 /* 801D3050 001CECB0 38 A0 00 00 */ li r5, 0 /* 801D3054 001CECB4 38 C0 00 00 */ li r6, 0 /* 801D3058 001CECB8 41 84 00 18 */ blt cr1, lbl_801D3070 /* 801D305C 001CECBC 3C 80 80 00 */ lis r4, 0x80000001@ha /* 801D3060 001CECC0 38 04 00 01 */ addi r0, r4, 0x80000001@l /* 801D3064 001CECC4 7C 17 00 00 */ cmpw r23, r0 /* 801D3068 001CECC8 41 80 00 08 */ blt lbl_801D3070 /* 801D306C 001CECCC 38 C0 00 01 */ li r6, 1 lbl_801D3070: /* 801D3070 001CECD0 2C 06 00 00 */ cmpwi r6, 0 /* 801D3074 001CECD4 41 82 00 2C */ beq lbl_801D30A0 /* 801D3078 001CECD8 56 E0 00 01 */ rlwinm. r0, r23, 0, 0, 0 /* 801D307C 001CECDC 38 80 00 01 */ li r4, 1 /* 801D3080 001CECE0 40 82 00 14 */ bne lbl_801D3094 /* 801D3084 001CECE4 38 17 00 01 */ addi r0, r23, 1 /* 801D3088 001CECE8 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 801D308C 001CECEC 41 82 00 08 */ beq lbl_801D3094 /* 801D3090 001CECF0 38 80 00 00 */ li r4, 0 lbl_801D3094: /* 801D3094 001CECF4 2C 04 00 00 */ cmpwi r4, 0 /* 801D3098 001CECF8 41 82 00 08 */ beq lbl_801D30A0 /* 801D309C 001CECFC 38 A0 00 01 */ li r5, 1 lbl_801D30A0: /* 801D30A0 001CED00 2C 05 00 00 */ cmpwi r5, 0 /* 801D30A4 001CED04 41 82 01 44 */ beq lbl_801D31E8 /* 801D30A8 001CED08 56 E5 10 3A */ slwi r5, r23, 2 /* 801D30AC 001CED0C 38 C1 00 10 */ addi r6, r1, 0x10 /* 801D30B0 001CED10 56 E4 18 38 */ slwi r4, r23, 3 /* 801D30B4 001CED14 38 E1 00 60 */ addi r7, r1, 0x60 /* 801D30B8 001CED18 56 E0 E8 FE */ srwi r0, r23, 3 /* 801D30BC 001CED1C 7C C6 2A 14 */ add r6, r6, r5 /* 801D30C0 001CED20 7C E7 22 14 */ add r7, r7, r4 /* 801D30C4 001CED24 C9 42 94 E0 */ lfd f10, lbl_80641AE0-_SDA2_BASE_(r2) /* 801D30C8 001CED28 C9 02 94 B0 */ lfd f8, lbl_80641AB0-_SDA2_BASE_(r2) /* 801D30CC 001CED2C 7C 09 03 A6 */ mtctr r0 /* 801D30D0 001CED30 2C 17 00 08 */ cmpwi r23, 8 /* 801D30D4 001CED34 41 80 01 14 */ blt lbl_801D31E8 lbl_801D30D8: /* 801D30D8 001CED38 80 86 00 00 */ lwz r4, 0(r6) /* 801D30DC 001CED3C 38 63 FF F8 */ addi r3, r3, -8 /* 801D30E0 001CED40 80 06 FF FC */ lwz r0, -4(r6) /* 801D30E4 001CED44 6C 85 80 00 */ xoris r5, r4, 0x8000 /* 801D30E8 001CED48 80 86 FF F8 */ lwz r4, -8(r6) /* 801D30EC 001CED4C 90 A1 02 4C */ stw r5, 0x24c(r1) /* 801D30F0 001CED50 6C 05 80 00 */ xoris r5, r0, 0x8000 /* 801D30F4 001CED54 6C 84 80 00 */ xoris r4, r4, 0x8000 /* 801D30F8 001CED58 80 06 FF F4 */ lwz r0, -0xc(r6) /* 801D30FC 001CED5C C8 01 02 48 */ lfd f0, 0x248(r1) /* 801D3100 001CED60 90 A1 02 44 */ stw r5, 0x244(r1) /* 801D3104 001CED64 6C 05 80 00 */ xoris r5, r0, 0x8000 /* 801D3108 001CED68 FC 00 50 28 */ fsub f0, f0, f10 /* 801D310C 001CED6C 80 06 FF F0 */ lwz r0, -0x10(r6) /* 801D3110 001CED70 C8 41 02 40 */ lfd f2, 0x240(r1) /* 801D3114 001CED74 90 81 02 4C */ stw r4, 0x24c(r1) /* 801D3118 001CED78 6C 04 80 00 */ xoris r4, r0, 0x8000 /* 801D311C 001CED7C FD 21 00 32 */ fmul f9, f1, f0 /* 801D3120 001CED80 C8 01 02 48 */ lfd f0, 0x248(r1) /* 801D3124 001CED84 FC 21 02 32 */ fmul f1, f1, f8 /* 801D3128 001CED88 90 A1 02 44 */ stw r5, 0x244(r1) /* 801D312C 001CED8C 80 06 FF EC */ lwz r0, -0x14(r6) /* 801D3130 001CED90 FC 42 50 28 */ fsub f2, f2, f10 /* 801D3134 001CED94 FC 60 50 28 */ fsub f3, f0, f10 /* 801D3138 001CED98 C8 01 02 40 */ lfd f0, 0x240(r1) /* 801D313C 001CED9C FC E1 00 B2 */ fmul f7, f1, f2 /* 801D3140 001CEDA0 90 81 02 4C */ stw r4, 0x24c(r1) /* 801D3144 001CEDA4 6C 05 80 00 */ xoris r5, r0, 0x8000 /* 801D3148 001CEDA8 80 86 FF E8 */ lwz r4, -0x18(r6) /* 801D314C 001CEDAC FC 21 02 32 */ fmul f1, f1, f8 /* 801D3150 001CEDB0 80 06 FF E4 */ lwz r0, -0x1c(r6) /* 801D3154 001CEDB4 C8 41 02 48 */ lfd f2, 0x248(r1) /* 801D3158 001CEDB8 FC A0 50 28 */ fsub f5, f0, f10 /* 801D315C 001CEDBC FC C1 00 F2 */ fmul f6, f1, f3 /* 801D3160 001CEDC0 90 A1 02 44 */ stw r5, 0x244(r1) /* 801D3164 001CEDC4 6C 84 80 00 */ xoris r4, r4, 0x8000 /* 801D3168 001CEDC8 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D316C 001CEDCC C8 01 02 40 */ lfd f0, 0x240(r1) /* 801D3170 001CEDD0 FC 21 02 32 */ fmul f1, f1, f8 /* 801D3174 001CEDD4 D9 27 00 00 */ stfd f9, 0(r7) /* 801D3178 001CEDD8 FC 82 50 28 */ fsub f4, f2, f10 /* 801D317C 001CEDDC FC 60 50 28 */ fsub f3, f0, f10 /* 801D3180 001CEDE0 38 C6 FF E0 */ addi r6, r6, -32 /* 801D3184 001CEDE4 FC A1 01 72 */ fmul f5, f1, f5 /* 801D3188 001CEDE8 90 81 02 4C */ stw r4, 0x24c(r1) /* 801D318C 001CEDEC FC 21 02 32 */ fmul f1, f1, f8 /* 801D3190 001CEDF0 C8 01 02 48 */ lfd f0, 0x248(r1) /* 801D3194 001CEDF4 D8 E7 FF F8 */ stfd f7, -8(r7) /* 801D3198 001CEDF8 FC 40 50 28 */ fsub f2, f0, f10 /* 801D319C 001CEDFC FC 81 01 32 */ fmul f4, f1, f4 /* 801D31A0 001CEE00 90 01 02 44 */ stw r0, 0x244(r1) /* 801D31A4 001CEE04 FC 21 02 32 */ fmul f1, f1, f8 /* 801D31A8 001CEE08 D8 C7 FF F0 */ stfd f6, -0x10(r7) /* 801D31AC 001CEE0C C8 01 02 40 */ lfd f0, 0x240(r1) /* 801D31B0 001CEE10 D8 A7 FF E8 */ stfd f5, -0x18(r7) /* 801D31B4 001CEE14 FC 00 50 28 */ fsub f0, f0, f10 /* 801D31B8 001CEE18 FC 61 00 F2 */ fmul f3, f1, f3 /* 801D31BC 001CEE1C D8 87 FF E0 */ stfd f4, -0x20(r7) /* 801D31C0 001CEE20 FC 21 02 32 */ fmul f1, f1, f8 /* 801D31C4 001CEE24 D8 67 FF D8 */ stfd f3, -0x28(r7) /* 801D31C8 001CEE28 FC 41 00 B2 */ fmul f2, f1, f2 /* 801D31CC 001CEE2C FC 21 02 32 */ fmul f1, f1, f8 /* 801D31D0 001CEE30 D8 47 FF D0 */ stfd f2, -0x30(r7) /* 801D31D4 001CEE34 FC 01 00 32 */ fmul f0, f1, f0 /* 801D31D8 001CEE38 FC 21 02 32 */ fmul f1, f1, f8 /* 801D31DC 001CEE3C D8 07 FF C8 */ stfd f0, -0x38(r7) /* 801D31E0 001CEE40 38 E7 FF C0 */ addi r7, r7, -64 /* 801D31E4 001CEE44 42 00 FE F4 */ bdnz lbl_801D30D8 lbl_801D31E8: /* 801D31E8 001CEE48 54 65 10 3A */ slwi r5, r3, 2 /* 801D31EC 001CEE4C 38 C1 00 10 */ addi r6, r1, 0x10 /* 801D31F0 001CEE50 54 64 18 38 */ slwi r4, r3, 3 /* 801D31F4 001CEE54 38 E1 00 60 */ addi r7, r1, 0x60 /* 801D31F8 001CEE58 38 03 00 01 */ addi r0, r3, 1 /* 801D31FC 001CEE5C 7C C6 2A 14 */ add r6, r6, r5 /* 801D3200 001CEE60 7C E7 22 14 */ add r7, r7, r4 /* 801D3204 001CEE64 C8 62 94 E0 */ lfd f3, lbl_80641AE0-_SDA2_BASE_(r2) /* 801D3208 001CEE68 C8 02 94 B0 */ lfd f0, lbl_80641AB0-_SDA2_BASE_(r2) /* 801D320C 001CEE6C 7C 09 03 A6 */ mtctr r0 /* 801D3210 001CEE70 2C 03 00 00 */ cmpwi r3, 0 /* 801D3214 001CEE74 41 80 00 30 */ blt lbl_801D3244 lbl_801D3218: /* 801D3218 001CEE78 80 06 00 00 */ lwz r0, 0(r6) /* 801D321C 001CEE7C 38 C6 FF FC */ addi r6, r6, -4 /* 801D3220 001CEE80 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D3224 001CEE84 90 01 02 4C */ stw r0, 0x24c(r1) /* 801D3228 001CEE88 C8 41 02 48 */ lfd f2, 0x248(r1) /* 801D322C 001CEE8C FC 42 18 28 */ fsub f2, f2, f3 /* 801D3230 001CEE90 FC 41 00 B2 */ fmul f2, f1, f2 /* 801D3234 001CEE94 FC 21 00 32 */ fmul f1, f1, f0 /* 801D3238 001CEE98 D8 47 00 00 */ stfd f2, 0(r7) /* 801D323C 001CEE9C 38 E7 FF F8 */ addi r7, r7, -8 /* 801D3240 001CEEA0 42 00 FF D8 */ bdnz lbl_801D3218 lbl_801D3244: /* 801D3244 001CEEA4 38 17 00 01 */ addi r0, r23, 1 /* 801D3248 001CEEA8 7E E8 BB 78 */ mr r8, r23 /* 801D324C 001CEEAC 38 81 01 00 */ addi r4, r1, 0x100 /* 801D3250 001CEEB0 56 E3 18 38 */ slwi r3, r23, 3 /* 801D3254 001CEEB4 3C A0 80 40 */ lis r5, 0x8040 /* 801D3258 001CEEB8 7C 09 03 A6 */ mtctr r0 /* 801D325C 001CEEBC 2C 17 00 00 */ cmpwi r23, 0 /* 801D3260 001CEEC0 41 80 00 60 */ blt lbl_801D32C0 lbl_801D3264: /* 801D3264 001CEEC4 38 C1 00 60 */ addi r6, r1, 0x60 /* 801D3268 001CEEC8 C8 42 94 A8 */ lfd f2, lbl_80641AA8-_SDA2_BASE_(r2) /* 801D326C 001CEECC 7C C6 1A 14 */ add r6, r6, r3 /* 801D3270 001CEED0 38 E5 D5 00 */ addi r7, r5, -11008 /* 801D3274 001CEED4 7C 08 B8 50 */ subf r0, r8, r23 /* 801D3278 001CEED8 39 20 00 00 */ li r9, 0 /* 801D327C 001CEEDC 48 00 00 20 */ b lbl_801D329C lbl_801D3280: /* 801D3280 001CEEE0 C8 27 00 00 */ lfd f1, 0(r7) /* 801D3284 001CEEE4 38 E7 00 08 */ addi r7, r7, 8 /* 801D3288 001CEEE8 C8 06 00 00 */ lfd f0, 0(r6) /* 801D328C 001CEEEC 38 C6 00 08 */ addi r6, r6, 8 /* 801D3290 001CEEF0 39 29 00 01 */ addi r9, r9, 1 /* 801D3294 001CEEF4 FC 01 00 32 */ fmul f0, f1, f0 /* 801D3298 001CEEF8 FC 42 00 2A */ fadd f2, f2, f0 lbl_801D329C: /* 801D329C 001CEEFC 7C 09 A8 00 */ cmpw r9, r21 /* 801D32A0 001CEF00 41 81 00 0C */ bgt lbl_801D32AC /* 801D32A4 001CEF04 7C 09 00 00 */ cmpw r9, r0 /* 801D32A8 001CEF08 40 81 FF D8 */ ble lbl_801D3280 lbl_801D32AC: /* 801D32AC 001CEF0C 54 00 18 38 */ slwi r0, r0, 3 /* 801D32B0 001CEF10 38 63 FF F8 */ addi r3, r3, -8 /* 801D32B4 001CEF14 7C 44 05 AE */ stfdx f2, r4, r0 /* 801D32B8 001CEF18 39 08 FF FF */ addi r8, r8, -1 /* 801D32BC 001CEF1C 42 00 FF A8 */ bdnz lbl_801D3264 lbl_801D32C0: /* 801D32C0 001CEF20 80 01 00 08 */ lwz r0, 8(r1) /* 801D32C4 001CEF24 2C 00 00 03 */ cmpwi r0, 3 /* 801D32C8 001CEF28 41 82 03 B8 */ beq lbl_801D3680 /* 801D32CC 001CEF2C 40 80 08 08 */ bge lbl_801D3AD4 /* 801D32D0 001CEF30 2C 00 00 00 */ cmpwi r0, 0 /* 801D32D4 001CEF34 41 82 00 0C */ beq lbl_801D32E0 /* 801D32D8 001CEF38 40 80 01 24 */ bge lbl_801D33FC /* 801D32DC 001CEF3C 48 00 07 F8 */ b lbl_801D3AD4 lbl_801D32E0: /* 801D32E0 001CEF40 2C 97 00 00 */ cmpwi cr1, r23, 0 /* 801D32E4 001CEF44 C8 C2 94 A8 */ lfd f6, lbl_80641AA8-_SDA2_BASE_(r2) /* 801D32E8 001CEF48 41 84 00 FC */ blt cr1, lbl_801D33E4 /* 801D32EC 001CEF4C 38 17 00 01 */ addi r0, r23, 1 /* 801D32F0 001CEF50 2C 00 00 08 */ cmpwi r0, 8 /* 801D32F4 001CEF54 40 81 00 C4 */ ble lbl_801D33B8 /* 801D32F8 001CEF58 38 80 00 00 */ li r4, 0 /* 801D32FC 001CEF5C 38 A0 00 00 */ li r5, 0 /* 801D3300 001CEF60 41 84 00 18 */ blt cr1, lbl_801D3318 /* 801D3304 001CEF64 3C 60 80 00 */ lis r3, 0x80000001@ha /* 801D3308 001CEF68 38 03 00 01 */ addi r0, r3, 0x80000001@l /* 801D330C 001CEF6C 7C 17 00 00 */ cmpw r23, r0 /* 801D3310 001CEF70 41 80 00 08 */ blt lbl_801D3318 /* 801D3314 001CEF74 38 A0 00 01 */ li r5, 1 lbl_801D3318: /* 801D3318 001CEF78 2C 05 00 00 */ cmpwi r5, 0 /* 801D331C 001CEF7C 41 82 00 2C */ beq lbl_801D3348 /* 801D3320 001CEF80 56 E0 00 01 */ rlwinm. r0, r23, 0, 0, 0 /* 801D3324 001CEF84 38 60 00 01 */ li r3, 1 /* 801D3328 001CEF88 40 82 00 14 */ bne lbl_801D333C /* 801D332C 001CEF8C 38 17 00 01 */ addi r0, r23, 1 /* 801D3330 001CEF90 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 801D3334 001CEF94 41 82 00 08 */ beq lbl_801D333C /* 801D3338 001CEF98 38 60 00 00 */ li r3, 0 lbl_801D333C: /* 801D333C 001CEF9C 2C 03 00 00 */ cmpwi r3, 0 /* 801D3340 001CEFA0 41 82 00 08 */ beq lbl_801D3348 /* 801D3344 001CEFA4 38 80 00 01 */ li r4, 1 lbl_801D3348: /* 801D3348 001CEFA8 2C 04 00 00 */ cmpwi r4, 0 /* 801D334C 001CEFAC 41 82 00 6C */ beq lbl_801D33B8 /* 801D3350 001CEFB0 56 E3 18 38 */ slwi r3, r23, 3 /* 801D3354 001CEFB4 38 81 01 00 */ addi r4, r1, 0x100 /* 801D3358 001CEFB8 56 E0 E8 FE */ srwi r0, r23, 3 /* 801D335C 001CEFBC 7C 84 1A 14 */ add r4, r4, r3 /* 801D3360 001CEFC0 7C 09 03 A6 */ mtctr r0 /* 801D3364 001CEFC4 2C 17 00 08 */ cmpwi r23, 8 /* 801D3368 001CEFC8 41 80 00 50 */ blt lbl_801D33B8 lbl_801D336C: /* 801D336C 001CEFCC C8 24 00 00 */ lfd f1, 0(r4) /* 801D3370 001CEFD0 3A F7 FF F8 */ addi r23, r23, -8 /* 801D3374 001CEFD4 C8 04 FF F8 */ lfd f0, -8(r4) /* 801D3378 001CEFD8 FC C6 08 2A */ fadd f6, f6, f1 /* 801D337C 001CEFDC C8 A4 FF F0 */ lfd f5, -0x10(r4) /* 801D3380 001CEFE0 C8 84 FF E8 */ lfd f4, -0x18(r4) /* 801D3384 001CEFE4 C8 64 FF E0 */ lfd f3, -0x20(r4) /* 801D3388 001CEFE8 FC C6 00 2A */ fadd f6, f6, f0 /* 801D338C 001CEFEC C8 44 FF D8 */ lfd f2, -0x28(r4) /* 801D3390 001CEFF0 C8 24 FF D0 */ lfd f1, -0x30(r4) /* 801D3394 001CEFF4 C8 04 FF C8 */ lfd f0, -0x38(r4) /* 801D3398 001CEFF8 38 84 FF C0 */ addi r4, r4, -64 /* 801D339C 001CEFFC FC C6 28 2A */ fadd f6, f6, f5 /* 801D33A0 001CF000 FC C6 20 2A */ fadd f6, f6, f4 /* 801D33A4 001CF004 FC C6 18 2A */ fadd f6, f6, f3 /* 801D33A8 001CF008 FC C6 10 2A */ fadd f6, f6, f2 /* 801D33AC 001CF00C FC C6 08 2A */ fadd f6, f6, f1 /* 801D33B0 001CF010 FC C6 00 2A */ fadd f6, f6, f0 /* 801D33B4 001CF014 42 00 FF B8 */ bdnz lbl_801D336C lbl_801D33B8: /* 801D33B8 001CF018 56 E3 18 38 */ slwi r3, r23, 3 /* 801D33BC 001CF01C 38 81 01 00 */ addi r4, r1, 0x100 /* 801D33C0 001CF020 38 17 00 01 */ addi r0, r23, 1 /* 801D33C4 001CF024 7C 84 1A 14 */ add r4, r4, r3 /* 801D33C8 001CF028 7C 09 03 A6 */ mtctr r0 /* 801D33CC 001CF02C 2C 17 00 00 */ cmpwi r23, 0 /* 801D33D0 001CF030 41 80 00 14 */ blt lbl_801D33E4 lbl_801D33D4: /* 801D33D4 001CF034 C8 04 00 00 */ lfd f0, 0(r4) /* 801D33D8 001CF038 38 84 FF F8 */ addi r4, r4, -8 /* 801D33DC 001CF03C FC C6 00 2A */ fadd f6, f6, f0 /* 801D33E0 001CF040 42 00 FF F4 */ bdnz lbl_801D33D4 lbl_801D33E4: /* 801D33E4 001CF044 2C 12 00 00 */ cmpwi r18, 0 /* 801D33E8 001CF048 40 82 00 08 */ bne lbl_801D33F0 /* 801D33EC 001CF04C 48 00 00 08 */ b lbl_801D33F4 lbl_801D33F0: /* 801D33F0 001CF050 FC C0 30 50 */ fneg f6, f6 lbl_801D33F4: /* 801D33F4 001CF054 D8 D1 00 00 */ stfd f6, 0(r17) /* 801D33F8 001CF058 48 00 06 DC */ b lbl_801D3AD4 lbl_801D33FC: /* 801D33FC 001CF05C 2C 97 00 00 */ cmpwi cr1, r23, 0 /* 801D3400 001CF060 C8 C2 94 A8 */ lfd f6, lbl_80641AA8-_SDA2_BASE_(r2) /* 801D3404 001CF064 7E E6 BB 78 */ mr r6, r23 /* 801D3408 001CF068 41 84 00 FC */ blt cr1, lbl_801D3504 /* 801D340C 001CF06C 38 17 00 01 */ addi r0, r23, 1 /* 801D3410 001CF070 2C 00 00 08 */ cmpwi r0, 8 /* 801D3414 001CF074 40 81 00 C4 */ ble lbl_801D34D8 /* 801D3418 001CF078 38 80 00 00 */ li r4, 0 /* 801D341C 001CF07C 38 A0 00 00 */ li r5, 0 /* 801D3420 001CF080 41 84 00 18 */ blt cr1, lbl_801D3438 /* 801D3424 001CF084 3C 60 80 00 */ lis r3, 0x80000001@ha /* 801D3428 001CF088 38 03 00 01 */ addi r0, r3, 0x80000001@l /* 801D342C 001CF08C 7C 17 00 00 */ cmpw r23, r0 /* 801D3430 001CF090 41 80 00 08 */ blt lbl_801D3438 /* 801D3434 001CF094 38 A0 00 01 */ li r5, 1 lbl_801D3438: /* 801D3438 001CF098 2C 05 00 00 */ cmpwi r5, 0 /* 801D343C 001CF09C 41 82 00 2C */ beq lbl_801D3468 /* 801D3440 001CF0A0 56 E0 00 01 */ rlwinm. r0, r23, 0, 0, 0 /* 801D3444 001CF0A4 38 60 00 01 */ li r3, 1 /* 801D3448 001CF0A8 40 82 00 14 */ bne lbl_801D345C /* 801D344C 001CF0AC 38 17 00 01 */ addi r0, r23, 1 /* 801D3450 001CF0B0 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 801D3454 001CF0B4 41 82 00 08 */ beq lbl_801D345C /* 801D3458 001CF0B8 38 60 00 00 */ li r3, 0 lbl_801D345C: /* 801D345C 001CF0BC 2C 03 00 00 */ cmpwi r3, 0 /* 801D3460 001CF0C0 41 82 00 08 */ beq lbl_801D3468 /* 801D3464 001CF0C4 38 80 00 01 */ li r4, 1 lbl_801D3468: /* 801D3468 001CF0C8 2C 04 00 00 */ cmpwi r4, 0 /* 801D346C 001CF0CC 41 82 00 6C */ beq lbl_801D34D8 /* 801D3470 001CF0D0 56 E3 18 38 */ slwi r3, r23, 3 /* 801D3474 001CF0D4 38 81 01 00 */ addi r4, r1, 0x100 /* 801D3478 001CF0D8 56 E0 E8 FE */ srwi r0, r23, 3 /* 801D347C 001CF0DC 7C 84 1A 14 */ add r4, r4, r3 /* 801D3480 001CF0E0 7C 09 03 A6 */ mtctr r0 /* 801D3484 001CF0E4 2C 17 00 08 */ cmpwi r23, 8 /* 801D3488 001CF0E8 41 80 00 50 */ blt lbl_801D34D8 lbl_801D348C: /* 801D348C 001CF0EC C8 24 00 00 */ lfd f1, 0(r4) /* 801D3490 001CF0F0 38 C6 FF F8 */ addi r6, r6, -8 /* 801D3494 001CF0F4 C8 04 FF F8 */ lfd f0, -8(r4) /* 801D3498 001CF0F8 FC C6 08 2A */ fadd f6, f6, f1 /* 801D349C 001CF0FC C8 A4 FF F0 */ lfd f5, -0x10(r4) /* 801D34A0 001CF100 C8 84 FF E8 */ lfd f4, -0x18(r4) /* 801D34A4 001CF104 C8 64 FF E0 */ lfd f3, -0x20(r4) /* 801D34A8 001CF108 FC C6 00 2A */ fadd f6, f6, f0 /* 801D34AC 001CF10C C8 44 FF D8 */ lfd f2, -0x28(r4) /* 801D34B0 001CF110 C8 24 FF D0 */ lfd f1, -0x30(r4) /* 801D34B4 001CF114 C8 04 FF C8 */ lfd f0, -0x38(r4) /* 801D34B8 001CF118 38 84 FF C0 */ addi r4, r4, -64 /* 801D34BC 001CF11C FC C6 28 2A */ fadd f6, f6, f5 /* 801D34C0 001CF120 FC C6 20 2A */ fadd f6, f6, f4 /* 801D34C4 001CF124 FC C6 18 2A */ fadd f6, f6, f3 /* 801D34C8 001CF128 FC C6 10 2A */ fadd f6, f6, f2 /* 801D34CC 001CF12C FC C6 08 2A */ fadd f6, f6, f1 /* 801D34D0 001CF130 FC C6 00 2A */ fadd f6, f6, f0 /* 801D34D4 001CF134 42 00 FF B8 */ bdnz lbl_801D348C lbl_801D34D8: /* 801D34D8 001CF138 54 C3 18 38 */ slwi r3, r6, 3 /* 801D34DC 001CF13C 38 81 01 00 */ addi r4, r1, 0x100 /* 801D34E0 001CF140 38 06 00 01 */ addi r0, r6, 1 /* 801D34E4 001CF144 7C 84 1A 14 */ add r4, r4, r3 /* 801D34E8 001CF148 7C 09 03 A6 */ mtctr r0 /* 801D34EC 001CF14C 2C 06 00 00 */ cmpwi r6, 0 /* 801D34F0 001CF150 41 80 00 14 */ blt lbl_801D3504 lbl_801D34F4: /* 801D34F4 001CF154 C8 04 00 00 */ lfd f0, 0(r4) /* 801D34F8 001CF158 38 84 FF F8 */ addi r4, r4, -8 /* 801D34FC 001CF15C FC C6 00 2A */ fadd f6, f6, f0 /* 801D3500 001CF160 42 00 FF F4 */ bdnz lbl_801D34F4 lbl_801D3504: /* 801D3504 001CF164 2C 12 00 00 */ cmpwi r18, 0 /* 801D3508 001CF168 40 82 00 0C */ bne lbl_801D3514 /* 801D350C 001CF16C FC 20 30 90 */ fmr f1, f6 /* 801D3510 001CF170 48 00 00 08 */ b lbl_801D3518 lbl_801D3514: /* 801D3514 001CF174 FC 20 30 50 */ fneg f1, f6 lbl_801D3518: /* 801D3518 001CF178 C8 01 01 00 */ lfd f0, 0x100(r1) /* 801D351C 001CF17C 2C 97 00 01 */ cmpwi cr1, r23, 1 /* 801D3520 001CF180 D8 31 00 00 */ stfd f1, 0(r17) /* 801D3524 001CF184 39 00 00 01 */ li r8, 1 /* 801D3528 001CF188 FC C0 30 28 */ fsub f6, f0, f6 /* 801D352C 001CF18C 41 84 01 3C */ blt cr1, lbl_801D3668 /* 801D3530 001CF190 2C 17 00 08 */ cmpwi r23, 8 /* 801D3534 001CF194 38 97 FF F8 */ addi r4, r23, -8 /* 801D3538 001CF198 40 81 01 00 */ ble lbl_801D3638 /* 801D353C 001CF19C 38 A0 00 00 */ li r5, 0 /* 801D3540 001CF1A0 38 C0 00 00 */ li r6, 0 /* 801D3544 001CF1A4 38 E0 00 00 */ li r7, 0 /* 801D3548 001CF1A8 41 84 00 18 */ blt cr1, lbl_801D3560 /* 801D354C 001CF1AC 3C 60 80 00 */ lis r3, 0x7FFFFFFE@ha /* 801D3550 001CF1B0 38 03 FF FE */ addi r0, r3, 0x7FFFFFFE@l /* 801D3554 001CF1B4 7C 17 00 00 */ cmpw r23, r0 /* 801D3558 001CF1B8 41 81 00 08 */ bgt lbl_801D3560 /* 801D355C 001CF1BC 38 E0 00 01 */ li r7, 1 lbl_801D3560: /* 801D3560 001CF1C0 2C 07 00 00 */ cmpwi r7, 0 /* 801D3564 001CF1C4 41 82 00 38 */ beq lbl_801D359C /* 801D3568 001CF1C8 56 E7 00 00 */ rlwinm r7, r23, 0, 0, 0 /* 801D356C 001CF1CC 38 60 00 01 */ li r3, 1 /* 801D3570 001CF1D0 3C 07 80 00 */ addis r0, r7, 0x8000 /* 801D3574 001CF1D4 28 00 00 00 */ cmplwi r0, 0 /* 801D3578 001CF1D8 40 82 00 18 */ bne lbl_801D3590 /* 801D357C 001CF1DC 38 17 FF FF */ addi r0, r23, -1 /* 801D3580 001CF1E0 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0 /* 801D3584 001CF1E4 7C 07 00 00 */ cmpw r7, r0 /* 801D3588 001CF1E8 41 82 00 08 */ beq lbl_801D3590 /* 801D358C 001CF1EC 38 60 00 00 */ li r3, 0 lbl_801D3590: /* 801D3590 001CF1F0 2C 03 00 00 */ cmpwi r3, 0 /* 801D3594 001CF1F4 41 82 00 08 */ beq lbl_801D359C /* 801D3598 001CF1F8 38 C0 00 01 */ li r6, 1 lbl_801D359C: /* 801D359C 001CF1FC 2C 06 00 00 */ cmpwi r6, 0 /* 801D35A0 001CF200 41 82 00 2C */ beq lbl_801D35CC /* 801D35A4 001CF204 38 17 FF FF */ addi r0, r23, -1 /* 801D35A8 001CF208 38 60 00 01 */ li r3, 1 /* 801D35AC 001CF20C 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 801D35B0 001CF210 40 82 00 10 */ bne lbl_801D35C0 /* 801D35B4 001CF214 56 E0 00 01 */ rlwinm. r0, r23, 0, 0, 0 /* 801D35B8 001CF218 41 82 00 08 */ beq lbl_801D35C0 /* 801D35BC 001CF21C 38 60 00 00 */ li r3, 0 lbl_801D35C0: /* 801D35C0 001CF220 2C 03 00 00 */ cmpwi r3, 0 /* 801D35C4 001CF224 41 82 00 08 */ beq lbl_801D35CC /* 801D35C8 001CF228 38 A0 00 01 */ li r5, 1 lbl_801D35CC: /* 801D35CC 001CF22C 2C 05 00 00 */ cmpwi r5, 0 /* 801D35D0 001CF230 41 82 00 68 */ beq lbl_801D3638 /* 801D35D4 001CF234 38 04 00 07 */ addi r0, r4, 7 /* 801D35D8 001CF238 38 61 01 08 */ addi r3, r1, 0x108 /* 801D35DC 001CF23C 54 00 E8 FE */ srwi r0, r0, 3 /* 801D35E0 001CF240 7C 09 03 A6 */ mtctr r0 /* 801D35E4 001CF244 2C 04 00 01 */ cmpwi r4, 1 /* 801D35E8 001CF248 41 80 00 50 */ blt lbl_801D3638 lbl_801D35EC: /* 801D35EC 001CF24C C8 23 00 00 */ lfd f1, 0(r3) /* 801D35F0 001CF250 39 08 00 08 */ addi r8, r8, 8 /* 801D35F4 001CF254 C8 03 00 08 */ lfd f0, 8(r3) /* 801D35F8 001CF258 FC C6 08 2A */ fadd f6, f6, f1 /* 801D35FC 001CF25C C8 A3 00 10 */ lfd f5, 0x10(r3) /* 801D3600 001CF260 C8 83 00 18 */ lfd f4, 0x18(r3) /* 801D3604 001CF264 C8 63 00 20 */ lfd f3, 0x20(r3) /* 801D3608 001CF268 FC C6 00 2A */ fadd f6, f6, f0 /* 801D360C 001CF26C C8 43 00 28 */ lfd f2, 0x28(r3) /* 801D3610 001CF270 C8 23 00 30 */ lfd f1, 0x30(r3) /* 801D3614 001CF274 C8 03 00 38 */ lfd f0, 0x38(r3) /* 801D3618 001CF278 38 63 00 40 */ addi r3, r3, 0x40 /* 801D361C 001CF27C FC C6 28 2A */ fadd f6, f6, f5 /* 801D3620 001CF280 FC C6 20 2A */ fadd f6, f6, f4 /* 801D3624 001CF284 FC C6 18 2A */ fadd f6, f6, f3 /* 801D3628 001CF288 FC C6 10 2A */ fadd f6, f6, f2 /* 801D362C 001CF28C FC C6 08 2A */ fadd f6, f6, f1 /* 801D3630 001CF290 FC C6 00 2A */ fadd f6, f6, f0 /* 801D3634 001CF294 42 00 FF B8 */ bdnz lbl_801D35EC lbl_801D3638: /* 801D3638 001CF298 38 17 00 01 */ addi r0, r23, 1 /* 801D363C 001CF29C 55 03 18 38 */ slwi r3, r8, 3 /* 801D3640 001CF2A0 38 81 01 00 */ addi r4, r1, 0x100 /* 801D3644 001CF2A4 7C 08 00 50 */ subf r0, r8, r0 /* 801D3648 001CF2A8 7C 84 1A 14 */ add r4, r4, r3 /* 801D364C 001CF2AC 7C 09 03 A6 */ mtctr r0 /* 801D3650 001CF2B0 7C 08 B8 00 */ cmpw r8, r23 /* 801D3654 001CF2B4 41 81 00 14 */ bgt lbl_801D3668 lbl_801D3658: /* 801D3658 001CF2B8 C8 04 00 00 */ lfd f0, 0(r4) /* 801D365C 001CF2BC 38 84 00 08 */ addi r4, r4, 8 /* 801D3660 001CF2C0 FC C6 00 2A */ fadd f6, f6, f0 /* 801D3664 001CF2C4 42 00 FF F4 */ bdnz lbl_801D3658 lbl_801D3668: /* 801D3668 001CF2C8 2C 12 00 00 */ cmpwi r18, 0 /* 801D366C 001CF2CC 40 82 00 08 */ bne lbl_801D3674 /* 801D3670 001CF2D0 48 00 00 08 */ b lbl_801D3678 lbl_801D3674: /* 801D3674 001CF2D4 FC C0 30 50 */ fneg f6, f6 lbl_801D3678: /* 801D3678 001CF2D8 D8 D1 00 08 */ stfd f6, 8(r17) /* 801D367C 001CF2DC 48 00 04 58 */ b lbl_801D3AD4 lbl_801D3680: /* 801D3680 001CF2E0 2C 97 00 00 */ cmpwi cr1, r23, 0 /* 801D3684 001CF2E4 7E E5 BB 78 */ mr r5, r23 /* 801D3688 001CF2E8 40 85 01 38 */ ble cr1, lbl_801D37C0 /* 801D368C 001CF2EC 2C 17 00 08 */ cmpwi r23, 8 /* 801D3690 001CF2F0 40 81 00 F8 */ ble lbl_801D3788 /* 801D3694 001CF2F4 38 80 00 00 */ li r4, 0 /* 801D3698 001CF2F8 41 84 00 18 */ blt cr1, lbl_801D36B0 /* 801D369C 001CF2FC 3C 60 80 00 */ lis r3, 0x80000001@ha /* 801D36A0 001CF300 38 03 00 01 */ addi r0, r3, 0x80000001@l /* 801D36A4 001CF304 7C 17 00 00 */ cmpw r23, r0 /* 801D36A8 001CF308 41 80 00 08 */ blt lbl_801D36B0 /* 801D36AC 001CF30C 38 80 00 01 */ li r4, 1 lbl_801D36B0: /* 801D36B0 001CF310 2C 04 00 00 */ cmpwi r4, 0 /* 801D36B4 001CF314 41 82 00 D4 */ beq lbl_801D3788 /* 801D36B8 001CF318 38 17 FF FF */ addi r0, r23, -1 /* 801D36BC 001CF31C 56 E3 18 38 */ slwi r3, r23, 3 /* 801D36C0 001CF320 38 81 01 00 */ addi r4, r1, 0x100 /* 801D36C4 001CF324 54 00 E8 FE */ srwi r0, r0, 3 /* 801D36C8 001CF328 7C 84 1A 14 */ add r4, r4, r3 /* 801D36CC 001CF32C 7C 09 03 A6 */ mtctr r0 /* 801D36D0 001CF330 2C 17 00 08 */ cmpwi r23, 8 /* 801D36D4 001CF334 40 81 00 B4 */ ble lbl_801D3788 lbl_801D36D8: /* 801D36D8 001CF338 C8 04 FF F8 */ lfd f0, -8(r4) /* 801D36DC 001CF33C 38 A5 FF F8 */ addi r5, r5, -8 /* 801D36E0 001CF340 C8 24 00 00 */ lfd f1, 0(r4) /* 801D36E4 001CF344 FC 40 08 2A */ fadd f2, f0, f1 /* 801D36E8 001CF348 FC 00 10 28 */ fsub f0, f0, f2 /* 801D36EC 001CF34C FC 01 00 2A */ fadd f0, f1, f0 /* 801D36F0 001CF350 D8 04 00 00 */ stfd f0, 0(r4) /* 801D36F4 001CF354 C8 04 FF F0 */ lfd f0, -0x10(r4) /* 801D36F8 001CF358 FC 20 10 2A */ fadd f1, f0, f2 /* 801D36FC 001CF35C FC 00 08 28 */ fsub f0, f0, f1 /* 801D3700 001CF360 FC 02 00 2A */ fadd f0, f2, f0 /* 801D3704 001CF364 D8 04 FF F8 */ stfd f0, -8(r4) /* 801D3708 001CF368 C8 04 FF E8 */ lfd f0, -0x18(r4) /* 801D370C 001CF36C FC 40 08 2A */ fadd f2, f0, f1 /* 801D3710 001CF370 FC 00 10 28 */ fsub f0, f0, f2 /* 801D3714 001CF374 FC 01 00 2A */ fadd f0, f1, f0 /* 801D3718 001CF378 D8 04 FF F0 */ stfd f0, -0x10(r4) /* 801D371C 001CF37C C8 04 FF E0 */ lfd f0, -0x20(r4) /* 801D3720 001CF380 FC 20 10 2A */ fadd f1, f0, f2 /* 801D3724 001CF384 FC 00 08 28 */ fsub f0, f0, f1 /* 801D3728 001CF388 FC 02 00 2A */ fadd f0, f2, f0 /* 801D372C 001CF38C D8 04 FF E8 */ stfd f0, -0x18(r4) /* 801D3730 001CF390 C8 04 FF D8 */ lfd f0, -0x28(r4) /* 801D3734 001CF394 FC 40 08 2A */ fadd f2, f0, f1 /* 801D3738 001CF398 FC 00 10 28 */ fsub f0, f0, f2 /* 801D373C 001CF39C FC 01 00 2A */ fadd f0, f1, f0 /* 801D3740 001CF3A0 D8 04 FF E0 */ stfd f0, -0x20(r4) /* 801D3744 001CF3A4 C8 04 FF D0 */ lfd f0, -0x30(r4) /* 801D3748 001CF3A8 FC 20 10 2A */ fadd f1, f0, f2 /* 801D374C 001CF3AC FC 00 08 28 */ fsub f0, f0, f1 /* 801D3750 001CF3B0 FC 02 00 2A */ fadd f0, f2, f0 /* 801D3754 001CF3B4 D8 04 FF D8 */ stfd f0, -0x28(r4) /* 801D3758 001CF3B8 C8 04 FF C8 */ lfd f0, -0x38(r4) /* 801D375C 001CF3BC FC 40 08 2A */ fadd f2, f0, f1 /* 801D3760 001CF3C0 FC 00 10 28 */ fsub f0, f0, f2 /* 801D3764 001CF3C4 FC 01 00 2A */ fadd f0, f1, f0 /* 801D3768 001CF3C8 D8 04 FF D0 */ stfd f0, -0x30(r4) /* 801D376C 001CF3CC C8 04 FF C0 */ lfd f0, -0x40(r4) /* 801D3770 001CF3D0 FC 20 10 2A */ fadd f1, f0, f2 /* 801D3774 001CF3D4 FC 00 08 28 */ fsub f0, f0, f1 /* 801D3778 001CF3D8 FC 02 00 2A */ fadd f0, f2, f0 /* 801D377C 001CF3DC D8 04 FF C8 */ stfd f0, -0x38(r4) /* 801D3780 001CF3E0 DC 24 FF C0 */ stfdu f1, -0x40(r4) /* 801D3784 001CF3E4 42 00 FF 54 */ bdnz lbl_801D36D8 lbl_801D3788: /* 801D3788 001CF3E8 54 A0 18 38 */ slwi r0, r5, 3 /* 801D378C 001CF3EC 38 61 01 00 */ addi r3, r1, 0x100 /* 801D3790 001CF3F0 7C 63 02 14 */ add r3, r3, r0 /* 801D3794 001CF3F4 7C A9 03 A6 */ mtctr r5 /* 801D3798 001CF3F8 2C 05 00 00 */ cmpwi r5, 0 /* 801D379C 001CF3FC 40 81 00 24 */ ble lbl_801D37C0 lbl_801D37A0: /* 801D37A0 001CF400 C8 03 FF F8 */ lfd f0, -8(r3) /* 801D37A4 001CF404 C8 23 00 00 */ lfd f1, 0(r3) /* 801D37A8 001CF408 FC 40 08 2A */ fadd f2, f0, f1 /* 801D37AC 001CF40C FC 00 10 28 */ fsub f0, f0, f2 /* 801D37B0 001CF410 FC 01 00 2A */ fadd f0, f1, f0 /* 801D37B4 001CF414 D8 03 00 00 */ stfd f0, 0(r3) /* 801D37B8 001CF418 DC 43 FF F8 */ stfdu f2, -8(r3) /* 801D37BC 001CF41C 42 00 FF E4 */ bdnz lbl_801D37A0 lbl_801D37C0: /* 801D37C0 001CF420 2C 97 00 01 */ cmpwi cr1, r23, 1 /* 801D37C4 001CF424 7E E6 BB 78 */ mr r6, r23 /* 801D37C8 001CF428 40 85 01 80 */ ble cr1, lbl_801D3948 /* 801D37CC 001CF42C 38 17 FF FF */ addi r0, r23, -1 /* 801D37D0 001CF430 2C 00 00 08 */ cmpwi r0, 8 /* 801D37D4 001CF434 40 81 01 38 */ ble lbl_801D390C /* 801D37D8 001CF438 38 80 00 00 */ li r4, 0 /* 801D37DC 001CF43C 38 A0 00 00 */ li r5, 0 /* 801D37E0 001CF440 41 84 00 18 */ blt cr1, lbl_801D37F8 /* 801D37E4 001CF444 3C 60 80 00 */ lis r3, 0x80000001@ha /* 801D37E8 001CF448 38 03 00 01 */ addi r0, r3, 0x80000001@l /* 801D37EC 001CF44C 7C 17 00 00 */ cmpw r23, r0 /* 801D37F0 001CF450 41 80 00 08 */ blt lbl_801D37F8 /* 801D37F4 001CF454 38 A0 00 01 */ li r5, 1 lbl_801D37F8: /* 801D37F8 001CF458 2C 05 00 00 */ cmpwi r5, 0 /* 801D37FC 001CF45C 41 82 00 38 */ beq lbl_801D3834 /* 801D3800 001CF460 56 E5 00 00 */ rlwinm r5, r23, 0, 0, 0 /* 801D3804 001CF464 38 60 00 01 */ li r3, 1 /* 801D3808 001CF468 3C 05 80 00 */ addis r0, r5, 0x8000 /* 801D380C 001CF46C 28 00 00 00 */ cmplwi r0, 0 /* 801D3810 001CF470 40 82 00 18 */ bne lbl_801D3828 /* 801D3814 001CF474 38 17 FF FF */ addi r0, r23, -1 /* 801D3818 001CF478 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0 /* 801D381C 001CF47C 7C 05 00 00 */ cmpw r5, r0 /* 801D3820 001CF480 41 82 00 08 */ beq lbl_801D3828 /* 801D3824 001CF484 38 60 00 00 */ li r3, 0 lbl_801D3828: /* 801D3828 001CF488 2C 03 00 00 */ cmpwi r3, 0 /* 801D382C 001CF48C 41 82 00 08 */ beq lbl_801D3834 /* 801D3830 001CF490 38 80 00 01 */ li r4, 1 lbl_801D3834: /* 801D3834 001CF494 2C 04 00 00 */ cmpwi r4, 0 /* 801D3838 001CF498 41 82 00 D4 */ beq lbl_801D390C /* 801D383C 001CF49C 38 17 FF FE */ addi r0, r23, -2 /* 801D3840 001CF4A0 56 E3 18 38 */ slwi r3, r23, 3 /* 801D3844 001CF4A4 38 81 01 00 */ addi r4, r1, 0x100 /* 801D3848 001CF4A8 54 00 E8 FE */ srwi r0, r0, 3 /* 801D384C 001CF4AC 7C 84 1A 14 */ add r4, r4, r3 /* 801D3850 001CF4B0 7C 09 03 A6 */ mtctr r0 /* 801D3854 001CF4B4 2C 17 00 09 */ cmpwi r23, 9 /* 801D3858 001CF4B8 40 81 00 B4 */ ble lbl_801D390C lbl_801D385C: /* 801D385C 001CF4BC C8 04 FF F8 */ lfd f0, -8(r4) /* 801D3860 001CF4C0 38 C6 FF F8 */ addi r6, r6, -8 /* 801D3864 001CF4C4 C8 24 00 00 */ lfd f1, 0(r4) /* 801D3868 001CF4C8 FC 40 08 2A */ fadd f2, f0, f1 /* 801D386C 001CF4CC FC 00 10 28 */ fsub f0, f0, f2 /* 801D3870 001CF4D0 FC 01 00 2A */ fadd f0, f1, f0 /* 801D3874 001CF4D4 D8 04 00 00 */ stfd f0, 0(r4) /* 801D3878 001CF4D8 C8 04 FF F0 */ lfd f0, -0x10(r4) /* 801D387C 001CF4DC FC 20 10 2A */ fadd f1, f0, f2 /* 801D3880 001CF4E0 FC 00 08 28 */ fsub f0, f0, f1 /* 801D3884 001CF4E4 FC 02 00 2A */ fadd f0, f2, f0 /* 801D3888 001CF4E8 D8 04 FF F8 */ stfd f0, -8(r4) /* 801D388C 001CF4EC C8 04 FF E8 */ lfd f0, -0x18(r4) /* 801D3890 001CF4F0 FC 40 08 2A */ fadd f2, f0, f1 /* 801D3894 001CF4F4 FC 00 10 28 */ fsub f0, f0, f2 /* 801D3898 001CF4F8 FC 01 00 2A */ fadd f0, f1, f0 /* 801D389C 001CF4FC D8 04 FF F0 */ stfd f0, -0x10(r4) /* 801D38A0 001CF500 C8 04 FF E0 */ lfd f0, -0x20(r4) /* 801D38A4 001CF504 FC 20 10 2A */ fadd f1, f0, f2 /* 801D38A8 001CF508 FC 00 08 28 */ fsub f0, f0, f1 /* 801D38AC 001CF50C FC 02 00 2A */ fadd f0, f2, f0 /* 801D38B0 001CF510 D8 04 FF E8 */ stfd f0, -0x18(r4) /* 801D38B4 001CF514 C8 04 FF D8 */ lfd f0, -0x28(r4) /* 801D38B8 001CF518 FC 40 08 2A */ fadd f2, f0, f1 /* 801D38BC 001CF51C FC 00 10 28 */ fsub f0, f0, f2 /* 801D38C0 001CF520 FC 01 00 2A */ fadd f0, f1, f0 /* 801D38C4 001CF524 D8 04 FF E0 */ stfd f0, -0x20(r4) /* 801D38C8 001CF528 C8 04 FF D0 */ lfd f0, -0x30(r4) /* 801D38CC 001CF52C FC 20 10 2A */ fadd f1, f0, f2 /* 801D38D0 001CF530 FC 00 08 28 */ fsub f0, f0, f1 /* 801D38D4 001CF534 FC 02 00 2A */ fadd f0, f2, f0 /* 801D38D8 001CF538 D8 04 FF D8 */ stfd f0, -0x28(r4) /* 801D38DC 001CF53C C8 04 FF C8 */ lfd f0, -0x38(r4) /* 801D38E0 001CF540 FC 40 08 2A */ fadd f2, f0, f1 /* 801D38E4 001CF544 FC 00 10 28 */ fsub f0, f0, f2 /* 801D38E8 001CF548 FC 01 00 2A */ fadd f0, f1, f0 /* 801D38EC 001CF54C D8 04 FF D0 */ stfd f0, -0x30(r4) /* 801D38F0 001CF550 C8 04 FF C0 */ lfd f0, -0x40(r4) /* 801D38F4 001CF554 FC 20 10 2A */ fadd f1, f0, f2 /* 801D38F8 001CF558 FC 00 08 28 */ fsub f0, f0, f1 /* 801D38FC 001CF55C FC 02 00 2A */ fadd f0, f2, f0 /* 801D3900 001CF560 D8 04 FF C8 */ stfd f0, -0x38(r4) /* 801D3904 001CF564 DC 24 FF C0 */ stfdu f1, -0x40(r4) /* 801D3908 001CF568 42 00 FF 54 */ bdnz lbl_801D385C lbl_801D390C: /* 801D390C 001CF56C 54 C3 18 38 */ slwi r3, r6, 3 /* 801D3910 001CF570 38 81 01 00 */ addi r4, r1, 0x100 /* 801D3914 001CF574 38 06 FF FF */ addi r0, r6, -1 /* 801D3918 001CF578 7C 84 1A 14 */ add r4, r4, r3 /* 801D391C 001CF57C 7C 09 03 A6 */ mtctr r0 /* 801D3920 001CF580 2C 06 00 01 */ cmpwi r6, 1 /* 801D3924 001CF584 40 81 00 24 */ ble lbl_801D3948 lbl_801D3928: /* 801D3928 001CF588 C8 04 FF F8 */ lfd f0, -8(r4) /* 801D392C 001CF58C C8 24 00 00 */ lfd f1, 0(r4) /* 801D3930 001CF590 FC 40 08 2A */ fadd f2, f0, f1 /* 801D3934 001CF594 FC 00 10 28 */ fsub f0, f0, f2 /* 801D3938 001CF598 FC 01 00 2A */ fadd f0, f1, f0 /* 801D393C 001CF59C D8 04 00 00 */ stfd f0, 0(r4) /* 801D3940 001CF5A0 DC 44 FF F8 */ stfdu f2, -8(r4) /* 801D3944 001CF5A4 42 00 FF E4 */ bdnz lbl_801D3928 lbl_801D3948: /* 801D3948 001CF5A8 2C 97 00 02 */ cmpwi cr1, r23, 2 /* 801D394C 001CF5AC C8 C2 94 A8 */ lfd f6, lbl_80641AA8-_SDA2_BASE_(r2) /* 801D3950 001CF5B0 41 84 01 44 */ blt cr1, lbl_801D3A94 /* 801D3954 001CF5B4 38 17 FF FF */ addi r0, r23, -1 /* 801D3958 001CF5B8 2C 00 00 08 */ cmpwi r0, 8 /* 801D395C 001CF5BC 40 81 01 0C */ ble lbl_801D3A68 /* 801D3960 001CF5C0 38 80 00 00 */ li r4, 0 /* 801D3964 001CF5C4 38 A0 00 00 */ li r5, 0 /* 801D3968 001CF5C8 38 C0 00 00 */ li r6, 0 /* 801D396C 001CF5CC 41 84 00 18 */ blt cr1, lbl_801D3984 /* 801D3970 001CF5D0 3C 60 80 00 */ lis r3, 0x80000001@ha /* 801D3974 001CF5D4 38 03 00 01 */ addi r0, r3, 0x80000001@l /* 801D3978 001CF5D8 7C 17 00 00 */ cmpw r23, r0 /* 801D397C 001CF5DC 41 80 00 08 */ blt lbl_801D3984 /* 801D3980 001CF5E0 38 C0 00 01 */ li r6, 1 lbl_801D3984: /* 801D3984 001CF5E4 2C 06 00 00 */ cmpwi r6, 0 /* 801D3988 001CF5E8 41 82 00 38 */ beq lbl_801D39C0 /* 801D398C 001CF5EC 56 E6 00 00 */ rlwinm r6, r23, 0, 0, 0 /* 801D3990 001CF5F0 38 60 00 01 */ li r3, 1 /* 801D3994 001CF5F4 3C 06 80 00 */ addis r0, r6, 0x8000 /* 801D3998 001CF5F8 28 00 00 00 */ cmplwi r0, 0 /* 801D399C 001CF5FC 40 82 00 18 */ bne lbl_801D39B4 /* 801D39A0 001CF600 38 17 FF FE */ addi r0, r23, -2 /* 801D39A4 001CF604 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0 /* 801D39A8 001CF608 7C 06 00 00 */ cmpw r6, r0 /* 801D39AC 001CF60C 41 82 00 08 */ beq lbl_801D39B4 /* 801D39B0 001CF610 38 60 00 00 */ li r3, 0 lbl_801D39B4: /* 801D39B4 001CF614 2C 03 00 00 */ cmpwi r3, 0 /* 801D39B8 001CF618 41 82 00 08 */ beq lbl_801D39C0 /* 801D39BC 001CF61C 38 A0 00 01 */ li r5, 1 lbl_801D39C0: /* 801D39C0 001CF620 2C 05 00 00 */ cmpwi r5, 0 /* 801D39C4 001CF624 41 82 00 30 */ beq lbl_801D39F4 /* 801D39C8 001CF628 38 17 FF FE */ addi r0, r23, -2 /* 801D39CC 001CF62C 38 60 00 01 */ li r3, 1 /* 801D39D0 001CF630 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 801D39D4 001CF634 40 82 00 14 */ bne lbl_801D39E8 /* 801D39D8 001CF638 38 17 FF FF */ addi r0, r23, -1 /* 801D39DC 001CF63C 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 801D39E0 001CF640 41 82 00 08 */ beq lbl_801D39E8 /* 801D39E4 001CF644 38 60 00 00 */ li r3, 0 lbl_801D39E8: /* 801D39E8 001CF648 2C 03 00 00 */ cmpwi r3, 0 /* 801D39EC 001CF64C 41 82 00 08 */ beq lbl_801D39F4 /* 801D39F0 001CF650 38 80 00 01 */ li r4, 1 lbl_801D39F4: /* 801D39F4 001CF654 2C 04 00 00 */ cmpwi r4, 0 /* 801D39F8 001CF658 41 82 00 70 */ beq lbl_801D3A68 /* 801D39FC 001CF65C 38 17 FF FE */ addi r0, r23, -2 /* 801D3A00 001CF660 56 E3 18 38 */ slwi r3, r23, 3 /* 801D3A04 001CF664 38 81 01 00 */ addi r4, r1, 0x100 /* 801D3A08 001CF668 54 00 E8 FE */ srwi r0, r0, 3 /* 801D3A0C 001CF66C 7C 84 1A 14 */ add r4, r4, r3 /* 801D3A10 001CF670 7C 09 03 A6 */ mtctr r0 /* 801D3A14 001CF674 2C 17 00 0A */ cmpwi r23, 0xa /* 801D3A18 001CF678 41 80 00 50 */ blt lbl_801D3A68 lbl_801D3A1C: /* 801D3A1C 001CF67C C8 24 00 00 */ lfd f1, 0(r4) /* 801D3A20 001CF680 3A F7 FF F8 */ addi r23, r23, -8 /* 801D3A24 001CF684 C8 04 FF F8 */ lfd f0, -8(r4) /* 801D3A28 001CF688 FC C6 08 2A */ fadd f6, f6, f1 /* 801D3A2C 001CF68C C8 A4 FF F0 */ lfd f5, -0x10(r4) /* 801D3A30 001CF690 C8 84 FF E8 */ lfd f4, -0x18(r4) /* 801D3A34 001CF694 C8 64 FF E0 */ lfd f3, -0x20(r4) /* 801D3A38 001CF698 FC C6 00 2A */ fadd f6, f6, f0 /* 801D3A3C 001CF69C C8 44 FF D8 */ lfd f2, -0x28(r4) /* 801D3A40 001CF6A0 C8 24 FF D0 */ lfd f1, -0x30(r4) /* 801D3A44 001CF6A4 C8 04 FF C8 */ lfd f0, -0x38(r4) /* 801D3A48 001CF6A8 38 84 FF C0 */ addi r4, r4, -64 /* 801D3A4C 001CF6AC FC C6 28 2A */ fadd f6, f6, f5 /* 801D3A50 001CF6B0 FC C6 20 2A */ fadd f6, f6, f4 /* 801D3A54 001CF6B4 FC C6 18 2A */ fadd f6, f6, f3 /* 801D3A58 001CF6B8 FC C6 10 2A */ fadd f6, f6, f2 /* 801D3A5C 001CF6BC FC C6 08 2A */ fadd f6, f6, f1 /* 801D3A60 001CF6C0 FC C6 00 2A */ fadd f6, f6, f0 /* 801D3A64 001CF6C4 42 00 FF B8 */ bdnz lbl_801D3A1C lbl_801D3A68: /* 801D3A68 001CF6C8 56 E3 18 38 */ slwi r3, r23, 3 /* 801D3A6C 001CF6CC 38 81 01 00 */ addi r4, r1, 0x100 /* 801D3A70 001CF6D0 38 17 FF FF */ addi r0, r23, -1 /* 801D3A74 001CF6D4 7C 84 1A 14 */ add r4, r4, r3 /* 801D3A78 001CF6D8 7C 09 03 A6 */ mtctr r0 /* 801D3A7C 001CF6DC 2C 17 00 02 */ cmpwi r23, 2 /* 801D3A80 001CF6E0 41 80 00 14 */ blt lbl_801D3A94 lbl_801D3A84: /* 801D3A84 001CF6E4 C8 04 00 00 */ lfd f0, 0(r4) /* 801D3A88 001CF6E8 38 84 FF F8 */ addi r4, r4, -8 /* 801D3A8C 001CF6EC FC C6 00 2A */ fadd f6, f6, f0 /* 801D3A90 001CF6F0 42 00 FF F4 */ bdnz lbl_801D3A84 lbl_801D3A94: /* 801D3A94 001CF6F4 2C 12 00 00 */ cmpwi r18, 0 /* 801D3A98 001CF6F8 40 82 00 1C */ bne lbl_801D3AB4 /* 801D3A9C 001CF6FC C8 21 01 00 */ lfd f1, 0x100(r1) /* 801D3AA0 001CF700 C8 01 01 08 */ lfd f0, 0x108(r1) /* 801D3AA4 001CF704 D8 31 00 00 */ stfd f1, 0(r17) /* 801D3AA8 001CF708 D8 11 00 08 */ stfd f0, 8(r17) /* 801D3AAC 001CF70C D8 D1 00 10 */ stfd f6, 0x10(r17) /* 801D3AB0 001CF710 48 00 00 24 */ b lbl_801D3AD4 lbl_801D3AB4: /* 801D3AB4 001CF714 C8 41 01 00 */ lfd f2, 0x100(r1) /* 801D3AB8 001CF718 FC 00 30 50 */ fneg f0, f6 /* 801D3ABC 001CF71C C8 21 01 08 */ lfd f1, 0x108(r1) /* 801D3AC0 001CF720 FC 40 10 50 */ fneg f2, f2 /* 801D3AC4 001CF724 FC 20 08 50 */ fneg f1, f1 /* 801D3AC8 001CF728 D8 11 00 10 */ stfd f0, 0x10(r17) /* 801D3ACC 001CF72C D8 51 00 00 */ stfd f2, 0(r17) /* 801D3AD0 001CF730 D8 31 00 08 */ stfd f1, 8(r17) lbl_801D3AD4: /* 801D3AD4 001CF734 39 61 03 70 */ addi r11, r1, 0x370 /* 801D3AD8 001CF738 56 83 07 7E */ clrlwi r3, r20, 0x1d /* 801D3ADC 001CF73C 4B FF 35 F1 */ bl _restfpr_23 /* 801D3AE0 001CF740 B9 C1 02 E0 */ lmw r14, 0x2e0(r1) /* 801D3AE4 001CF744 80 01 03 74 */ lwz r0, 0x374(r1) /* 801D3AE8 001CF748 7C 08 03 A6 */ mtlr r0 /* 801D3AEC 001CF74C 38 21 03 70 */ addi r1, r1, 0x370 /* 801D3AF0 001CF750 4E 80 00 20 */ blr .global func_801D3AF4 func_801D3AF4: /* 801D3AF4 001CF754 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D3AF8 001CF758 3C 00 3E 40 */ lis r0, 0x3e40 /* 801D3AFC 001CF75C D8 21 00 08 */ stfd f1, 8(r1) /* 801D3B00 001CF760 80 81 00 08 */ lwz r4, 8(r1) /* 801D3B04 001CF764 54 84 00 7E */ clrlwi r4, r4, 1 /* 801D3B08 001CF768 7C 04 00 00 */ cmpw r4, r0 /* 801D3B0C 001CF76C 40 80 00 1C */ bge lbl_801D3B28 /* 801D3B10 001CF770 FC 00 08 1E */ fctiwz f0, f1 /* 801D3B14 001CF774 D8 01 00 10 */ stfd f0, 0x10(r1) /* 801D3B18 001CF778 80 01 00 14 */ lwz r0, 0x14(r1) /* 801D3B1C 001CF77C 2C 00 00 00 */ cmpwi r0, 0 /* 801D3B20 001CF780 40 82 00 08 */ bne lbl_801D3B28 /* 801D3B24 001CF784 48 00 00 88 */ b lbl_801D3BAC lbl_801D3B28: /* 801D3B28 001CF788 FC E1 00 72 */ fmul f7, f1, f1 /* 801D3B2C 001CF78C C8 02 95 08 */ lfd f0, lbl_80641B08-_SDA2_BASE_(r2) /* 801D3B30 001CF790 C8 A2 95 00 */ lfd f5, lbl_80641B00-_SDA2_BASE_(r2) /* 801D3B34 001CF794 2C 03 00 00 */ cmpwi r3, 0 /* 801D3B38 001CF798 C8 82 94 F8 */ lfd f4, lbl_80641AF8-_SDA2_BASE_(r2) /* 801D3B3C 001CF79C C8 62 94 F0 */ lfd f3, lbl_80641AF0-_SDA2_BASE_(r2) /* 801D3B40 001CF7A0 FC C0 01 F2 */ fmul f6, f0, f7 /* 801D3B44 001CF7A4 C8 02 94 E8 */ lfd f0, lbl_80641AE8-_SDA2_BASE_(r2) /* 801D3B48 001CF7A8 FD 07 00 72 */ fmul f8, f7, f1 /* 801D3B4C 001CF7AC FC A5 30 2A */ fadd f5, f5, f6 /* 801D3B50 001CF7B0 FC A7 01 72 */ fmul f5, f7, f5 /* 801D3B54 001CF7B4 FC 84 28 2A */ fadd f4, f4, f5 /* 801D3B58 001CF7B8 FC 87 01 32 */ fmul f4, f7, f4 /* 801D3B5C 001CF7BC FC 63 20 2A */ fadd f3, f3, f4 /* 801D3B60 001CF7C0 FC 67 00 F2 */ fmul f3, f7, f3 /* 801D3B64 001CF7C4 FC 00 18 2A */ fadd f0, f0, f3 /* 801D3B68 001CF7C8 40 82 00 1C */ bne lbl_801D3B84 /* 801D3B6C 001CF7CC FC 47 00 32 */ fmul f2, f7, f0 /* 801D3B70 001CF7D0 C8 02 95 10 */ lfd f0, lbl_80641B10-_SDA2_BASE_(r2) /* 801D3B74 001CF7D4 FC 00 10 2A */ fadd f0, f0, f2 /* 801D3B78 001CF7D8 FC 08 00 32 */ fmul f0, f8, f0 /* 801D3B7C 001CF7DC FC 21 00 2A */ fadd f1, f1, f0 /* 801D3B80 001CF7E0 48 00 00 2C */ b lbl_801D3BAC lbl_801D3B84: /* 801D3B84 001CF7E4 C8 82 95 18 */ lfd f4, lbl_80641B18-_SDA2_BASE_(r2) /* 801D3B88 001CF7E8 FC 68 00 32 */ fmul f3, f8, f0 /* 801D3B8C 001CF7EC C8 02 95 10 */ lfd f0, lbl_80641B10-_SDA2_BASE_(r2) /* 801D3B90 001CF7F0 FC 84 00 B2 */ fmul f4, f4, f2 /* 801D3B94 001CF7F4 FC 00 02 32 */ fmul f0, f0, f8 /* 801D3B98 001CF7F8 FC 64 18 28 */ fsub f3, f4, f3 /* 801D3B9C 001CF7FC FC 67 00 F2 */ fmul f3, f7, f3 /* 801D3BA0 001CF800 FC 43 10 28 */ fsub f2, f3, f2 /* 801D3BA4 001CF804 FC 02 00 28 */ fsub f0, f2, f0 /* 801D3BA8 001CF808 FC 21 00 28 */ fsub f1, f1, f0 lbl_801D3BAC: /* 801D3BAC 001CF80C 38 21 00 20 */ addi r1, r1, 0x20 /* 801D3BB0 001CF810 4E 80 00 20 */ blr .global func_801D3BB4 func_801D3BB4: /* 801D3BB4 001CF814 94 21 FF B0 */ stwu r1, -0x50(r1) /* 801D3BB8 001CF818 DB E1 00 40 */ stfd f31, 0x40(r1) /* 801D3BBC 001CF81C F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 801D3BC0 001CF820 DB C1 00 30 */ stfd f30, 0x30(r1) /* 801D3BC4 001CF824 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0 /* 801D3BC8 001CF828 D8 21 00 08 */ stfd f1, 8(r1) /* 801D3BCC 001CF82C 3C 00 3E 30 */ lis r0, 0x3e30 /* 801D3BD0 001CF830 81 01 00 08 */ lwz r8, 8(r1) /* 801D3BD4 001CF834 55 07 00 7E */ clrlwi r7, r8, 1 /* 801D3BD8 001CF838 7C 07 00 00 */ cmpw r7, r0 /* 801D3BDC 001CF83C 40 80 00 54 */ bge lbl_801D3C30 /* 801D3BE0 001CF840 FC 00 08 1E */ fctiwz f0, f1 /* 801D3BE4 001CF844 D8 01 00 20 */ stfd f0, 0x20(r1) /* 801D3BE8 001CF848 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D3BEC 001CF84C 2C 00 00 00 */ cmpwi r0, 0 /* 801D3BF0 001CF850 40 82 00 40 */ bne lbl_801D3C30 /* 801D3BF4 001CF854 38 83 00 01 */ addi r4, r3, 1 /* 801D3BF8 001CF858 80 01 00 0C */ lwz r0, 0xc(r1) /* 801D3BFC 001CF85C 7C 84 3B 78 */ or r4, r4, r7 /* 801D3C00 001CF860 7C 80 03 79 */ or. r0, r4, r0 /* 801D3C04 001CF864 40 82 00 14 */ bne lbl_801D3C18 /* 801D3C08 001CF868 FC 20 0A 10 */ fabs f1, f1 /* 801D3C0C 001CF86C C8 02 95 20 */ lfd f0, lbl_80641B20-_SDA2_BASE_(r2) /* 801D3C10 001CF870 FC 20 08 24 */ fdiv f1, f0, f1 /* 801D3C14 001CF874 48 00 01 E0 */ b lbl_801D3DF4 lbl_801D3C18: /* 801D3C18 001CF878 2C 03 00 01 */ cmpwi r3, 1 /* 801D3C1C 001CF87C 40 82 00 08 */ bne lbl_801D3C24 /* 801D3C20 001CF880 48 00 01 D4 */ b lbl_801D3DF4 lbl_801D3C24: /* 801D3C24 001CF884 C8 02 95 28 */ lfd f0, lbl_80641B28-_SDA2_BASE_(r2) /* 801D3C28 001CF888 FC 20 08 24 */ fdiv f1, f0, f1 /* 801D3C2C 001CF88C 48 00 01 C8 */ b lbl_801D3DF4 lbl_801D3C30: /* 801D3C30 001CF890 3C 80 3F E6 */ lis r4, 0x3FE59428@ha /* 801D3C34 001CF894 38 04 94 28 */ addi r0, r4, 0x3FE59428@l /* 801D3C38 001CF898 7C 07 00 00 */ cmpw r7, r0 /* 801D3C3C 001CF89C 41 80 00 30 */ blt lbl_801D3C6C /* 801D3C40 001CF8A0 2C 08 00 00 */ cmpwi r8, 0 /* 801D3C44 001CF8A4 40 80 00 0C */ bge lbl_801D3C50 /* 801D3C48 001CF8A8 FC 20 08 50 */ fneg f1, f1 /* 801D3C4C 001CF8AC FC 40 10 50 */ fneg f2, f2 lbl_801D3C50: /* 801D3C50 001CF8B0 C8 62 95 30 */ lfd f3, lbl_80641B30-_SDA2_BASE_(r2) /* 801D3C54 001CF8B4 C8 02 95 38 */ lfd f0, lbl_80641B38-_SDA2_BASE_(r2) /* 801D3C58 001CF8B8 FC 23 08 28 */ fsub f1, f3, f1 /* 801D3C5C 001CF8BC FC 00 10 28 */ fsub f0, f0, f2 /* 801D3C60 001CF8C0 C8 42 95 40 */ lfd f2, lbl_80641B40-_SDA2_BASE_(r2) /* 801D3C64 001CF8C4 FC 21 00 2A */ fadd f1, f1, f0 /* 801D3C68 001CF8C8 D8 21 00 08 */ stfd f1, 8(r1) lbl_801D3C6C: /* 801D3C6C 001CF8CC FC 01 00 72 */ fmul f0, f1, f1 /* 801D3C70 001CF8D0 3C C0 80 40 */ lis r6, lbl_803FD540@ha /* 801D3C74 001CF8D4 38 A6 D5 40 */ addi r5, r6, lbl_803FD540@l /* 801D3C78 001CF8D8 3C 80 3F E6 */ lis r4, 0x3FE59428@ha /* 801D3C7C 001CF8DC 38 04 94 28 */ addi r0, r4, 0x3FE59428@l /* 801D3C80 001CF8E0 C8 A5 00 60 */ lfd f5, 0x60(r5) /* 801D3C84 001CF8E4 FC 60 00 32 */ fmul f3, f0, f0 /* 801D3C88 001CF8E8 C9 05 00 58 */ lfd f8, 0x58(r5) /* 801D3C8C 001CF8EC C8 C5 00 50 */ lfd f6, 0x50(r5) /* 801D3C90 001CF8F0 7C 07 00 00 */ cmpw r7, r0 /* 801D3C94 001CF8F4 C9 45 00 48 */ lfd f10, 0x48(r5) /* 801D3C98 001CF8F8 FC 80 00 72 */ fmul f4, f0, f1 /* 801D3C9C 001CF8FC FC E3 01 72 */ fmul f7, f3, f5 /* 801D3CA0 001CF900 C8 A6 D5 40 */ lfd f5, -0x2ac0(r6) /* 801D3CA4 001CF904 C9 25 00 40 */ lfd f9, 0x40(r5) /* 801D3CA8 001CF908 FD 63 02 32 */ fmul f11, f3, f8 /* 801D3CAC 001CF90C CB E5 00 38 */ lfd f31, 0x38(r5) /* 801D3CB0 001CF910 C9 05 00 30 */ lfd f8, 0x30(r5) /* 801D3CB4 001CF914 FC C6 38 2A */ fadd f6, f6, f7 /* 801D3CB8 001CF918 C9 A5 00 28 */ lfd f13, 0x28(r5) /* 801D3CBC 001CF91C FF CA 58 2A */ fadd f30, f10, f11 /* 801D3CC0 001CF920 C8 E5 00 20 */ lfd f7, 0x20(r5) /* 801D3CC4 001CF924 FC A5 01 32 */ fmul f5, f5, f4 /* 801D3CC8 001CF928 C9 85 00 18 */ lfd f12, 0x18(r5) /* 801D3CCC 001CF92C FD 43 01 B2 */ fmul f10, f3, f6 /* 801D3CD0 001CF930 C8 C5 00 10 */ lfd f6, 0x10(r5) /* 801D3CD4 001CF934 C9 65 00 08 */ lfd f11, 8(r5) /* 801D3CD8 001CF938 FF C3 07 B2 */ fmul f30, f3, f30 /* 801D3CDC 001CF93C D8 01 00 18 */ stfd f0, 0x18(r1) /* 801D3CE0 001CF940 FD 29 50 2A */ fadd f9, f9, f10 /* 801D3CE4 001CF944 FD 5F F0 2A */ fadd f10, f31, f30 /* 801D3CE8 001CF948 FD 23 02 72 */ fmul f9, f3, f9 /* 801D3CEC 001CF94C FD 43 02 B2 */ fmul f10, f3, f10 /* 801D3CF0 001CF950 FD 08 48 2A */ fadd f8, f8, f9 /* 801D3CF4 001CF954 FD 2D 50 2A */ fadd f9, f13, f10 /* 801D3CF8 001CF958 FD 03 02 32 */ fmul f8, f3, f8 /* 801D3CFC 001CF95C FD 23 02 72 */ fmul f9, f3, f9 /* 801D3D00 001CF960 FC E7 40 2A */ fadd f7, f7, f8 /* 801D3D04 001CF964 FD 0C 48 2A */ fadd f8, f12, f9 /* 801D3D08 001CF968 FC E3 01 F2 */ fmul f7, f3, f7 /* 801D3D0C 001CF96C FD 03 02 32 */ fmul f8, f3, f8 /* 801D3D10 001CF970 FC 66 38 2A */ fadd f3, f6, f7 /* 801D3D14 001CF974 FC CB 40 2A */ fadd f6, f11, f8 /* 801D3D18 001CF978 FC 60 00 F2 */ fmul f3, f0, f3 /* 801D3D1C 001CF97C FC 66 18 2A */ fadd f3, f6, f3 /* 801D3D20 001CF980 FC 64 00 F2 */ fmul f3, f4, f3 /* 801D3D24 001CF984 FC 62 18 2A */ fadd f3, f2, f3 /* 801D3D28 001CF988 FC 00 00 F2 */ fmul f0, f0, f3 /* 801D3D2C 001CF98C FC C2 00 2A */ fadd f6, f2, f0 /* 801D3D30 001CF990 FC C6 28 2A */ fadd f6, f6, f5 /* 801D3D34 001CF994 FC 81 30 2A */ fadd f4, f1, f6 /* 801D3D38 001CF998 41 80 00 64 */ blt lbl_801D3D9C /* 801D3D3C 001CF99C 3C 80 43 30 */ lis r4, 0x4330 /* 801D3D40 001CF9A0 6C 60 80 00 */ xoris r0, r3, 0x8000 /* 801D3D44 001CF9A4 90 01 00 24 */ stw r0, 0x24(r1) /* 801D3D48 001CF9A8 55 00 17 BC */ rlwinm r0, r8, 2, 0x1e, 0x1e /* 801D3D4C 001CF9AC 20 00 00 01 */ subfic r0, r0, 1 /* 801D3D50 001CF9B0 C8 A2 95 50 */ lfd f5, lbl_80641B50-_SDA2_BASE_(r2) /* 801D3D54 001CF9B4 90 81 00 20 */ stw r4, 0x20(r1) /* 801D3D58 001CF9B8 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801D3D5C 001CF9BC FC 64 01 32 */ fmul f3, f4, f4 /* 801D3D60 001CF9C0 C8 02 95 48 */ lfd f0, lbl_80641B48-_SDA2_BASE_(r2) /* 801D3D64 001CF9C4 C8 41 00 20 */ lfd f2, 0x20(r1) /* 801D3D68 001CF9C8 90 01 00 2C */ stw r0, 0x2c(r1) /* 801D3D6C 001CF9CC FC E2 28 28 */ fsub f7, f2, f5 /* 801D3D70 001CF9D0 90 81 00 28 */ stw r4, 0x28(r1) /* 801D3D74 001CF9D4 FC 44 38 2A */ fadd f2, f4, f7 /* 801D3D78 001CF9D8 C8 81 00 28 */ lfd f4, 0x28(r1) /* 801D3D7C 001CF9DC FC 84 28 28 */ fsub f4, f4, f5 /* 801D3D80 001CF9E0 FC 43 10 24 */ fdiv f2, f3, f2 /* 801D3D84 001CF9E4 FC 42 30 28 */ fsub f2, f2, f6 /* 801D3D88 001CF9E8 FC 21 10 28 */ fsub f1, f1, f2 /* 801D3D8C 001CF9EC FC 00 00 72 */ fmul f0, f0, f1 /* 801D3D90 001CF9F0 FC 07 00 28 */ fsub f0, f7, f0 /* 801D3D94 001CF9F4 FC 24 00 32 */ fmul f1, f4, f0 /* 801D3D98 001CF9F8 48 00 00 5C */ b lbl_801D3DF4 lbl_801D3D9C: /* 801D3D9C 001CF9FC 2C 03 00 01 */ cmpwi r3, 1 /* 801D3DA0 001CFA00 40 82 00 0C */ bne lbl_801D3DAC /* 801D3DA4 001CFA04 FC 20 20 90 */ fmr f1, f4 /* 801D3DA8 001CFA08 48 00 00 4C */ b lbl_801D3DF4 lbl_801D3DAC: /* 801D3DAC 001CFA0C C8 02 95 28 */ lfd f0, lbl_80641B28-_SDA2_BASE_(r2) /* 801D3DB0 001CFA10 38 00 00 00 */ li r0, 0 /* 801D3DB4 001CFA14 D8 81 00 18 */ stfd f4, 0x18(r1) /* 801D3DB8 001CFA18 FC A0 20 24 */ fdiv f5, f0, f4 /* 801D3DBC 001CFA1C C8 42 95 20 */ lfd f2, lbl_80641B20-_SDA2_BASE_(r2) /* 801D3DC0 001CFA20 90 01 00 1C */ stw r0, 0x1c(r1) /* 801D3DC4 001CFA24 C8 81 00 18 */ lfd f4, 0x18(r1) /* 801D3DC8 001CFA28 D8 A1 00 10 */ stfd f5, 0x10(r1) /* 801D3DCC 001CFA2C FC 04 08 28 */ fsub f0, f4, f1 /* 801D3DD0 001CFA30 90 01 00 14 */ stw r0, 0x14(r1) /* 801D3DD4 001CFA34 FC 06 00 28 */ fsub f0, f6, f0 /* 801D3DD8 001CFA38 C8 61 00 10 */ lfd f3, 0x10(r1) /* 801D3DDC 001CFA3C FC 23 01 32 */ fmul f1, f3, f4 /* 801D3DE0 001CFA40 FC 03 00 32 */ fmul f0, f3, f0 /* 801D3DE4 001CFA44 FC 22 08 2A */ fadd f1, f2, f1 /* 801D3DE8 001CFA48 FC 01 00 2A */ fadd f0, f1, f0 /* 801D3DEC 001CFA4C FC 05 00 32 */ fmul f0, f5, f0 /* 801D3DF0 001CFA50 FC 23 00 2A */ fadd f1, f3, f0 lbl_801D3DF4: /* 801D3DF4 001CFA54 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 801D3DF8 001CFA58 CB E1 00 40 */ lfd f31, 0x40(r1) /* 801D3DFC 001CFA5C E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0 /* 801D3E00 001CFA60 CB C1 00 30 */ lfd f30, 0x30(r1) /* 801D3E04 001CFA64 38 21 00 50 */ addi r1, r1, 0x50 /* 801D3E08 001CFA68 4E 80 00 20 */ blr .global func_801D3E0C func_801D3E0C: /* 801D3E0C 001CFA6C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801D3E10 001CFA70 3C A0 80 40 */ lis r5, lbl_803FD5A8@ha /* 801D3E14 001CFA74 3C 00 44 10 */ lis r0, 0x4410 /* 801D3E18 001CFA78 D8 21 00 08 */ stfd f1, 8(r1) /* 801D3E1C 001CFA7C 38 A5 D5 A8 */ addi r5, r5, lbl_803FD5A8@l /* 801D3E20 001CFA80 80 C1 00 08 */ lwz r6, 8(r1) /* 801D3E24 001CFA84 54 C4 00 7E */ clrlwi r4, r6, 1 /* 801D3E28 001CFA88 7C 04 00 00 */ cmpw r4, r0 /* 801D3E2C 001CFA8C 41 80 00 6C */ blt lbl_801D3E98 /* 801D3E30 001CFA90 3C 00 7F F0 */ lis r0, 0x7ff0 /* 801D3E34 001CFA94 7C 04 00 00 */ cmpw r4, r0 /* 801D3E38 001CFA98 41 81 00 1C */ bgt lbl_801D3E54 /* 801D3E3C 001CFA9C 3C 04 80 10 */ addis r0, r4, 0x8010 /* 801D3E40 001CFAA0 28 00 00 00 */ cmplwi r0, 0 /* 801D3E44 001CFAA4 40 82 00 18 */ bne lbl_801D3E5C /* 801D3E48 001CFAA8 80 01 00 0C */ lwz r0, 0xc(r1) /* 801D3E4C 001CFAAC 2C 00 00 00 */ cmpwi r0, 0 /* 801D3E50 001CFAB0 41 82 00 0C */ beq lbl_801D3E5C lbl_801D3E54: /* 801D3E54 001CFAB4 FC 21 08 2A */ fadd f1, f1, f1 /* 801D3E58 001CFAB8 48 00 01 EC */ b lbl_801D4044 lbl_801D3E5C: /* 801D3E5C 001CFABC 2C 06 00 00 */ cmpwi r6, 0 /* 801D3E60 001CFAC0 40 81 00 1C */ ble lbl_801D3E7C /* 801D3E64 001CFAC4 38 85 00 00 */ addi r4, r5, 0 /* 801D3E68 001CFAC8 38 65 00 20 */ addi r3, r5, 0x20 /* 801D3E6C 001CFACC C8 24 00 18 */ lfd f1, 0x18(r4) /* 801D3E70 001CFAD0 C8 03 00 18 */ lfd f0, 0x18(r3) /* 801D3E74 001CFAD4 FC 21 00 2A */ fadd f1, f1, f0 /* 801D3E78 001CFAD8 48 00 01 CC */ b lbl_801D4044 lbl_801D3E7C: /* 801D3E7C 001CFADC 38 85 00 00 */ addi r4, r5, 0 /* 801D3E80 001CFAE0 38 65 00 20 */ addi r3, r5, 0x20 /* 801D3E84 001CFAE4 C8 24 00 18 */ lfd f1, 0x18(r4) /* 801D3E88 001CFAE8 C8 03 00 18 */ lfd f0, 0x18(r3) /* 801D3E8C 001CFAEC FC 20 08 50 */ fneg f1, f1 /* 801D3E90 001CFAF0 FC 21 00 28 */ fsub f1, f1, f0 /* 801D3E94 001CFAF4 48 00 01 B0 */ b lbl_801D4044 lbl_801D3E98: /* 801D3E98 001CFAF8 3C 00 3F DC */ lis r0, 0x3fdc /* 801D3E9C 001CFAFC 7C 04 00 00 */ cmpw r4, r0 /* 801D3EA0 001CFB00 40 80 00 30 */ bge lbl_801D3ED0 /* 801D3EA4 001CFB04 3C 00 3E 20 */ lis r0, 0x3e20 /* 801D3EA8 001CFB08 7C 04 00 00 */ cmpw r4, r0 /* 801D3EAC 001CFB0C 40 80 00 1C */ bge lbl_801D3EC8 /* 801D3EB0 001CFB10 C8 42 95 58 */ lfd f2, lbl_80641B58-_SDA2_BASE_(r2) /* 801D3EB4 001CFB14 C8 02 95 60 */ lfd f0, lbl_80641B60-_SDA2_BASE_(r2) /* 801D3EB8 001CFB18 FC 42 08 2A */ fadd f2, f2, f1 /* 801D3EBC 001CFB1C FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801D3EC0 001CFB20 40 81 00 08 */ ble lbl_801D3EC8 /* 801D3EC4 001CFB24 48 00 01 80 */ b lbl_801D4044 lbl_801D3EC8: /* 801D3EC8 001CFB28 38 00 FF FF */ li r0, -1 /* 801D3ECC 001CFB2C 48 00 00 A4 */ b lbl_801D3F70 lbl_801D3ED0: /* 801D3ED0 001CFB30 3C 00 3F F3 */ lis r0, 0x3ff3 /* 801D3ED4 001CFB34 FC 60 0A 10 */ fabs f3, f1 /* 801D3ED8 001CFB38 7C 04 00 00 */ cmpw r4, r0 /* 801D3EDC 001CFB3C 40 80 00 50 */ bge lbl_801D3F2C /* 801D3EE0 001CFB40 3C 00 3F E6 */ lis r0, 0x3fe6 /* 801D3EE4 001CFB44 7C 04 00 00 */ cmpw r4, r0 /* 801D3EE8 001CFB48 40 80 00 28 */ bge lbl_801D3F10 /* 801D3EEC 001CFB4C C8 02 95 68 */ lfd f0, lbl_80641B68-_SDA2_BASE_(r2) /* 801D3EF0 001CFB50 38 00 00 00 */ li r0, 0 /* 801D3EF4 001CFB54 C8 22 95 60 */ lfd f1, lbl_80641B60-_SDA2_BASE_(r2) /* 801D3EF8 001CFB58 FC 40 00 F2 */ fmul f2, f0, f3 /* 801D3EFC 001CFB5C FC 00 18 2A */ fadd f0, f0, f3 /* 801D3F00 001CFB60 FC 22 08 28 */ fsub f1, f2, f1 /* 801D3F04 001CFB64 FC 21 00 24 */ fdiv f1, f1, f0 /* 801D3F08 001CFB68 D8 21 00 08 */ stfd f1, 8(r1) /* 801D3F0C 001CFB6C 48 00 00 64 */ b lbl_801D3F70 lbl_801D3F10: /* 801D3F10 001CFB70 C8 02 95 60 */ lfd f0, lbl_80641B60-_SDA2_BASE_(r2) /* 801D3F14 001CFB74 38 00 00 01 */ li r0, 1 /* 801D3F18 001CFB78 FC 23 00 28 */ fsub f1, f3, f0 /* 801D3F1C 001CFB7C FC 00 18 2A */ fadd f0, f0, f3 /* 801D3F20 001CFB80 FC 21 00 24 */ fdiv f1, f1, f0 /* 801D3F24 001CFB84 D8 21 00 08 */ stfd f1, 8(r1) /* 801D3F28 001CFB88 48 00 00 48 */ b lbl_801D3F70 lbl_801D3F2C: /* 801D3F2C 001CFB8C 3C 60 40 04 */ lis r3, 0x40038000@ha /* 801D3F30 001CFB90 38 03 80 00 */ addi r0, r3, 0x40038000@l /* 801D3F34 001CFB94 7C 04 00 00 */ cmpw r4, r0 /* 801D3F38 001CFB98 40 80 00 28 */ bge lbl_801D3F60 /* 801D3F3C 001CFB9C C8 42 95 70 */ lfd f2, lbl_80641B70-_SDA2_BASE_(r2) /* 801D3F40 001CFBA0 38 00 00 02 */ li r0, 2 /* 801D3F44 001CFBA4 C8 02 95 60 */ lfd f0, lbl_80641B60-_SDA2_BASE_(r2) /* 801D3F48 001CFBA8 FC 22 00 F2 */ fmul f1, f2, f3 /* 801D3F4C 001CFBAC FC 43 10 28 */ fsub f2, f3, f2 /* 801D3F50 001CFBB0 FC 00 08 2A */ fadd f0, f0, f1 /* 801D3F54 001CFBB4 FC 22 00 24 */ fdiv f1, f2, f0 /* 801D3F58 001CFBB8 D8 21 00 08 */ stfd f1, 8(r1) /* 801D3F5C 001CFBBC 48 00 00 14 */ b lbl_801D3F70 lbl_801D3F60: /* 801D3F60 001CFBC0 C8 02 95 78 */ lfd f0, lbl_80641B78-_SDA2_BASE_(r2) /* 801D3F64 001CFBC4 38 00 00 03 */ li r0, 3 /* 801D3F68 001CFBC8 FC 20 18 24 */ fdiv f1, f0, f3 /* 801D3F6C 001CFBCC D8 21 00 08 */ stfd f1, 8(r1) lbl_801D3F70: /* 801D3F70 001CFBD0 FC 01 00 72 */ fmul f0, f1, f1 /* 801D3F74 001CFBD4 38 65 00 40 */ addi r3, r5, 0x40 /* 801D3F78 001CFBD8 C8 63 00 50 */ lfd f3, 0x50(r3) /* 801D3F7C 001CFBDC 2C 00 00 00 */ cmpwi r0, 0 /* 801D3F80 001CFBE0 C8 43 00 48 */ lfd f2, 0x48(r3) /* 801D3F84 001CFBE4 C9 63 00 40 */ lfd f11, 0x40(r3) /* 801D3F88 001CFBE8 FD A0 00 32 */ fmul f13, f0, f0 /* 801D3F8C 001CFBEC C8 A3 00 38 */ lfd f5, 0x38(r3) /* 801D3F90 001CFBF0 C9 43 00 30 */ lfd f10, 0x30(r3) /* 801D3F94 001CFBF4 C8 83 00 28 */ lfd f4, 0x28(r3) /* 801D3F98 001CFBF8 C9 23 00 20 */ lfd f9, 0x20(r3) /* 801D3F9C 001CFBFC FD 8D 00 F2 */ fmul f12, f13, f3 /* 801D3FA0 001CFC00 C8 63 00 18 */ lfd f3, 0x18(r3) /* 801D3FA4 001CFC04 FC CD 00 B2 */ fmul f6, f13, f2 /* 801D3FA8 001CFC08 C9 03 00 10 */ lfd f8, 0x10(r3) /* 801D3FAC 001CFC0C C8 43 00 08 */ lfd f2, 8(r3) /* 801D3FB0 001CFC10 FD 6B 60 2A */ fadd f11, f11, f12 /* 801D3FB4 001CFC14 C8 E5 00 40 */ lfd f7, 0x40(r5) /* 801D3FB8 001CFC18 FC A5 30 2A */ fadd f5, f5, f6 /* 801D3FBC 001CFC1C FC CD 02 F2 */ fmul f6, f13, f11 /* 801D3FC0 001CFC20 FC AD 01 72 */ fmul f5, f13, f5 /* 801D3FC4 001CFC24 FC CA 30 2A */ fadd f6, f10, f6 /* 801D3FC8 001CFC28 FC 84 28 2A */ fadd f4, f4, f5 /* 801D3FCC 001CFC2C FC AD 01 B2 */ fmul f5, f13, f6 /* 801D3FD0 001CFC30 FC 8D 01 32 */ fmul f4, f13, f4 /* 801D3FD4 001CFC34 FC A9 28 2A */ fadd f5, f9, f5 /* 801D3FD8 001CFC38 FC 63 20 2A */ fadd f3, f3, f4 /* 801D3FDC 001CFC3C FC 8D 01 72 */ fmul f4, f13, f5 /* 801D3FE0 001CFC40 FC 6D 00 F2 */ fmul f3, f13, f3 /* 801D3FE4 001CFC44 FC 88 20 2A */ fadd f4, f8, f4 /* 801D3FE8 001CFC48 FC 42 18 2A */ fadd f2, f2, f3 /* 801D3FEC 001CFC4C FC 6D 01 32 */ fmul f3, f13, f4 /* 801D3FF0 001CFC50 FC 8D 00 B2 */ fmul f4, f13, f2 /* 801D3FF4 001CFC54 FC 47 18 2A */ fadd f2, f7, f3 /* 801D3FF8 001CFC58 FC 00 00 B2 */ fmul f0, f0, f2 /* 801D3FFC 001CFC5C 40 80 00 14 */ bge lbl_801D4010 /* 801D4000 001CFC60 FC 00 20 2A */ fadd f0, f0, f4 /* 801D4004 001CFC64 FC 01 00 32 */ fmul f0, f1, f0 /* 801D4008 001CFC68 FC 21 00 28 */ fsub f1, f1, f0 /* 801D400C 001CFC6C 48 00 00 38 */ b lbl_801D4044 lbl_801D4010: /* 801D4010 001CFC70 FC 00 20 2A */ fadd f0, f0, f4 /* 801D4014 001CFC74 54 00 18 38 */ slwi r0, r0, 3 /* 801D4018 001CFC78 38 65 00 20 */ addi r3, r5, 0x20 /* 801D401C 001CFC7C 38 85 00 00 */ addi r4, r5, 0 /* 801D4020 001CFC80 7C 43 04 AE */ lfdx f2, r3, r0 /* 801D4024 001CFC84 2C 06 00 00 */ cmpwi r6, 0 /* 801D4028 001CFC88 FC 61 00 32 */ fmul f3, f1, f0 /* 801D402C 001CFC8C 7C 04 04 AE */ lfdx f0, r4, r0 /* 801D4030 001CFC90 FC 43 10 28 */ fsub f2, f3, f2 /* 801D4034 001CFC94 FC 22 08 28 */ fsub f1, f2, f1 /* 801D4038 001CFC98 FC 20 08 28 */ fsub f1, f0, f1 /* 801D403C 001CFC9C 40 80 00 08 */ bge lbl_801D4044 /* 801D4040 001CFCA0 FC 20 08 50 */ fneg f1, f1 lbl_801D4044: /* 801D4044 001CFCA4 38 21 00 10 */ addi r1, r1, 0x10 /* 801D4048 001CFCA8 4E 80 00 20 */ blr .global func_801D404C func_801D404C: /* 801D404C 001CFCAC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D4050 001CFCB0 D8 21 00 08 */ stfd f1, 8(r1) /* 801D4054 001CFCB4 D8 41 00 10 */ stfd f2, 0x10(r1) /* 801D4058 001CFCB8 80 61 00 08 */ lwz r3, 8(r1) /* 801D405C 001CFCBC 80 01 00 10 */ lwz r0, 0x10(r1) /* 801D4060 001CFCC0 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0 /* 801D4064 001CFCC4 50 60 00 7E */ rlwimi r0, r3, 0, 1, 0x1f /* 801D4068 001CFCC8 90 01 00 08 */ stw r0, 8(r1) /* 801D406C 001CFCCC C8 21 00 08 */ lfd f1, 8(r1) /* 801D4070 001CFCD0 38 21 00 20 */ addi r1, r1, 0x20 /* 801D4074 001CFCD4 4E 80 00 20 */ blr .global func_801D4078 func_801D4078: /* 801D4078 001CFCD8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D407C 001CFCDC 7C 08 02 A6 */ mflr r0 /* 801D4080 001CFCE0 3C 60 3F E9 */ lis r3, 0x3FE921FB@ha /* 801D4084 001CFCE4 C8 42 95 80 */ lfd f2, lbl_80641B80-_SDA2_BASE_(r2) /* 801D4088 001CFCE8 D8 21 00 08 */ stfd f1, 8(r1) /* 801D408C 001CFCEC 90 01 00 24 */ stw r0, 0x24(r1) /* 801D4090 001CFCF0 38 03 21 FB */ addi r0, r3, 0x3FE921FB@l /* 801D4094 001CFCF4 80 61 00 08 */ lwz r3, 8(r1) /* 801D4098 001CFCF8 54 63 00 7E */ clrlwi r3, r3, 1 /* 801D409C 001CFCFC 7C 03 00 00 */ cmpw r3, r0 /* 801D40A0 001CFD00 41 81 00 0C */ bgt lbl_801D40AC /* 801D40A4 001CFD04 4B FF E2 35 */ bl func_801D22D8 /* 801D40A8 001CFD08 48 00 00 94 */ b lbl_801D413C lbl_801D40AC: /* 801D40AC 001CFD0C 3C 00 7F F0 */ lis r0, 0x7ff0 /* 801D40B0 001CFD10 7C 03 00 00 */ cmpw r3, r0 /* 801D40B4 001CFD14 41 80 00 0C */ blt lbl_801D40C0 /* 801D40B8 001CFD18 FC 21 08 28 */ fsub f1, f1, f1 /* 801D40BC 001CFD1C 48 00 00 80 */ b lbl_801D413C lbl_801D40C0: /* 801D40C0 001CFD20 38 61 00 10 */ addi r3, r1, 0x10 /* 801D40C4 001CFD24 4B FF DE 7D */ bl func_801D1F40 /* 801D40C8 001CFD28 54 60 07 BE */ clrlwi r0, r3, 0x1e /* 801D40CC 001CFD2C 2C 00 00 01 */ cmpwi r0, 1 /* 801D40D0 001CFD30 41 82 00 30 */ beq lbl_801D4100 /* 801D40D4 001CFD34 40 80 00 10 */ bge lbl_801D40E4 /* 801D40D8 001CFD38 2C 00 00 00 */ cmpwi r0, 0 /* 801D40DC 001CFD3C 40 80 00 14 */ bge lbl_801D40F0 /* 801D40E0 001CFD40 48 00 00 4C */ b lbl_801D412C lbl_801D40E4: /* 801D40E4 001CFD44 2C 00 00 03 */ cmpwi r0, 3 /* 801D40E8 001CFD48 40 80 00 44 */ bge lbl_801D412C /* 801D40EC 001CFD4C 48 00 00 2C */ b lbl_801D4118 lbl_801D40F0: /* 801D40F0 001CFD50 C8 21 00 10 */ lfd f1, 0x10(r1) /* 801D40F4 001CFD54 C8 41 00 18 */ lfd f2, 0x18(r1) /* 801D40F8 001CFD58 4B FF E1 E1 */ bl func_801D22D8 /* 801D40FC 001CFD5C 48 00 00 40 */ b lbl_801D413C lbl_801D4100: /* 801D4100 001CFD60 C8 21 00 10 */ lfd f1, 0x10(r1) /* 801D4104 001CFD64 38 60 00 01 */ li r3, 1 /* 801D4108 001CFD68 C8 41 00 18 */ lfd f2, 0x18(r1) /* 801D410C 001CFD6C 4B FF F9 E9 */ bl func_801D3AF4 /* 801D4110 001CFD70 FC 20 08 50 */ fneg f1, f1 /* 801D4114 001CFD74 48 00 00 28 */ b lbl_801D413C lbl_801D4118: /* 801D4118 001CFD78 C8 21 00 10 */ lfd f1, 0x10(r1) /* 801D411C 001CFD7C C8 41 00 18 */ lfd f2, 0x18(r1) /* 801D4120 001CFD80 4B FF E1 B9 */ bl func_801D22D8 /* 801D4124 001CFD84 FC 20 08 50 */ fneg f1, f1 /* 801D4128 001CFD88 48 00 00 14 */ b lbl_801D413C lbl_801D412C: /* 801D412C 001CFD8C C8 21 00 10 */ lfd f1, 0x10(r1) /* 801D4130 001CFD90 38 60 00 01 */ li r3, 1 /* 801D4134 001CFD94 C8 41 00 18 */ lfd f2, 0x18(r1) /* 801D4138 001CFD98 4B FF F9 BD */ bl func_801D3AF4 lbl_801D413C: /* 801D413C 001CFD9C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D4140 001CFDA0 7C 08 03 A6 */ mtlr r0 /* 801D4144 001CFDA4 38 21 00 20 */ addi r1, r1, 0x20 /* 801D4148 001CFDA8 4E 80 00 20 */ blr .global func_801D414C func_801D414C: /* 801D414C 001CFDAC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801D4150 001CFDB0 D8 21 00 08 */ stfd f1, 8(r1) /* 801D4154 001CFDB4 80 A1 00 08 */ lwz r5, 8(r1) /* 801D4158 001CFDB8 80 C1 00 0C */ lwz r6, 0xc(r1) /* 801D415C 001CFDBC 54 A3 65 7E */ rlwinm r3, r5, 0xc, 0x15, 0x1f /* 801D4160 001CFDC0 38 E3 FC 01 */ addi r7, r3, -1023 /* 801D4164 001CFDC4 2C 87 00 14 */ cmpwi cr1, r7, 0x14 /* 801D4168 001CFDC8 40 84 00 98 */ bge cr1, lbl_801D4200 /* 801D416C 001CFDCC 2C 07 00 00 */ cmpwi r7, 0 /* 801D4170 001CFDD0 40 80 00 44 */ bge lbl_801D41B4 /* 801D4174 001CFDD4 C8 42 95 88 */ lfd f2, lbl_80641B88-_SDA2_BASE_(r2) /* 801D4178 001CFDD8 C8 02 95 90 */ lfd f0, lbl_80641B90-_SDA2_BASE_(r2) /* 801D417C 001CFDDC FC 22 08 2A */ fadd f1, f2, f1 /* 801D4180 001CFDE0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801D4184 001CFDE4 40 81 00 F8 */ ble lbl_801D427C /* 801D4188 001CFDE8 2C 05 00 00 */ cmpwi r5, 0 /* 801D418C 001CFDEC 41 80 00 10 */ blt lbl_801D419C /* 801D4190 001CFDF0 38 C0 00 00 */ li r6, 0 /* 801D4194 001CFDF4 38 A0 00 00 */ li r5, 0 /* 801D4198 001CFDF8 48 00 00 E4 */ b lbl_801D427C lbl_801D419C: /* 801D419C 001CFDFC 54 A0 00 7E */ clrlwi r0, r5, 1 /* 801D41A0 001CFE00 7C 00 33 79 */ or. r0, r0, r6 /* 801D41A4 001CFE04 41 82 00 D8 */ beq lbl_801D427C /* 801D41A8 001CFE08 3C A0 BF F0 */ lis r5, 0xbff0 /* 801D41AC 001CFE0C 38 C0 00 00 */ li r6, 0 /* 801D41B0 001CFE10 48 00 00 CC */ b lbl_801D427C lbl_801D41B4: /* 801D41B4 001CFE14 3C 60 00 10 */ lis r3, 0x000FFFFF@ha /* 801D41B8 001CFE18 38 03 FF FF */ addi r0, r3, 0x000FFFFF@l /* 801D41BC 001CFE1C 7C 04 3E 30 */ sraw r4, r0, r7 /* 801D41C0 001CFE20 7C A0 20 38 */ and r0, r5, r4 /* 801D41C4 001CFE24 7C C0 03 79 */ or. r0, r6, r0 /* 801D41C8 001CFE28 40 82 00 08 */ bne lbl_801D41D0 /* 801D41CC 001CFE2C 48 00 00 BC */ b lbl_801D4288 lbl_801D41D0: /* 801D41D0 001CFE30 C8 42 95 88 */ lfd f2, lbl_80641B88-_SDA2_BASE_(r2) /* 801D41D4 001CFE34 C8 02 95 90 */ lfd f0, lbl_80641B90-_SDA2_BASE_(r2) /* 801D41D8 001CFE38 FC 22 08 2A */ fadd f1, f2, f1 /* 801D41DC 001CFE3C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801D41E0 001CFE40 40 81 00 9C */ ble lbl_801D427C /* 801D41E4 001CFE44 2C 05 00 00 */ cmpwi r5, 0 /* 801D41E8 001CFE48 40 80 00 0C */ bge lbl_801D41F4 /* 801D41EC 001CFE4C 7C 60 3E 30 */ sraw r0, r3, r7 /* 801D41F0 001CFE50 7C A5 02 14 */ add r5, r5, r0 lbl_801D41F4: /* 801D41F4 001CFE54 7C A5 20 78 */ andc r5, r5, r4 /* 801D41F8 001CFE58 38 C0 00 00 */ li r6, 0 /* 801D41FC 001CFE5C 48 00 00 80 */ b lbl_801D427C lbl_801D4200: /* 801D4200 001CFE60 2C 07 00 33 */ cmpwi r7, 0x33 /* 801D4204 001CFE64 40 81 00 14 */ ble lbl_801D4218 /* 801D4208 001CFE68 2C 07 04 00 */ cmpwi r7, 0x400 /* 801D420C 001CFE6C 40 82 00 7C */ bne lbl_801D4288 /* 801D4210 001CFE70 FC 21 08 2A */ fadd f1, f1, f1 /* 801D4214 001CFE74 48 00 00 74 */ b lbl_801D4288 lbl_801D4218: /* 801D4218 001CFE78 38 07 FF EC */ addi r0, r7, -20 /* 801D421C 001CFE7C 38 60 FF FF */ li r3, -1 /* 801D4220 001CFE80 7C 64 04 30 */ srw r4, r3, r0 /* 801D4224 001CFE84 7C C0 20 39 */ and. r0, r6, r4 /* 801D4228 001CFE88 40 82 00 08 */ bne lbl_801D4230 /* 801D422C 001CFE8C 48 00 00 5C */ b lbl_801D4288 lbl_801D4230: /* 801D4230 001CFE90 C8 42 95 88 */ lfd f2, lbl_80641B88-_SDA2_BASE_(r2) /* 801D4234 001CFE94 C8 02 95 90 */ lfd f0, lbl_80641B90-_SDA2_BASE_(r2) /* 801D4238 001CFE98 FC 22 08 2A */ fadd f1, f2, f1 /* 801D423C 001CFE9C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801D4240 001CFEA0 40 81 00 3C */ ble lbl_801D427C /* 801D4244 001CFEA4 2C 05 00 00 */ cmpwi r5, 0 /* 801D4248 001CFEA8 40 80 00 30 */ bge lbl_801D4278 /* 801D424C 001CFEAC 40 86 00 0C */ bne cr1, lbl_801D4258 /* 801D4250 001CFEB0 38 A5 00 01 */ addi r5, r5, 1 /* 801D4254 001CFEB4 48 00 00 24 */ b lbl_801D4278 lbl_801D4258: /* 801D4258 001CFEB8 20 07 00 34 */ subfic r0, r7, 0x34 /* 801D425C 001CFEBC 38 60 00 01 */ li r3, 1 /* 801D4260 001CFEC0 7C 60 00 30 */ slw r0, r3, r0 /* 801D4264 001CFEC4 7C 06 02 14 */ add r0, r6, r0 /* 801D4268 001CFEC8 7C 00 30 40 */ cmplw r0, r6 /* 801D426C 001CFECC 40 80 00 08 */ bge lbl_801D4274 /* 801D4270 001CFED0 38 A5 00 01 */ addi r5, r5, 1 lbl_801D4274: /* 801D4274 001CFED4 7C 06 03 78 */ mr r6, r0 lbl_801D4278: /* 801D4278 001CFED8 7C C6 20 78 */ andc r6, r6, r4 lbl_801D427C: /* 801D427C 001CFEDC 90 A1 00 08 */ stw r5, 8(r1) /* 801D4280 001CFEE0 90 C1 00 0C */ stw r6, 0xc(r1) /* 801D4284 001CFEE4 C8 21 00 08 */ lfd f1, 8(r1) lbl_801D4288: /* 801D4288 001CFEE8 38 21 00 10 */ addi r1, r1, 0x10 /* 801D428C 001CFEEC 4E 80 00 20 */ blr .global func_801D4290 func_801D4290: /* 801D4290 001CFEF0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801D4294 001CFEF4 38 80 00 00 */ li r4, 0 /* 801D4298 001CFEF8 3C 00 7F F0 */ lis r0, 0x7ff0 /* 801D429C 001CFEFC D8 21 00 08 */ stfd f1, 8(r1) /* 801D42A0 001CFF00 80 A1 00 08 */ lwz r5, 8(r1) /* 801D42A4 001CFF04 90 83 00 00 */ stw r4, 0(r3) /* 801D42A8 001CFF08 54 A4 00 7E */ clrlwi r4, r5, 1 /* 801D42AC 001CFF0C 80 C1 00 0C */ lwz r6, 0xc(r1) /* 801D42B0 001CFF10 7C 04 00 00 */ cmpw r4, r0 /* 801D42B4 001CFF14 40 80 00 5C */ bge lbl_801D4310 /* 801D42B8 001CFF18 7C 80 33 79 */ or. r0, r4, r6 /* 801D42BC 001CFF1C 40 82 00 08 */ bne lbl_801D42C4 /* 801D42C0 001CFF20 48 00 00 50 */ b lbl_801D4310 lbl_801D42C4: /* 801D42C4 001CFF24 3C 00 00 10 */ lis r0, 0x10 /* 801D42C8 001CFF28 7C 04 00 00 */ cmpw r4, r0 /* 801D42CC 001CFF2C 40 80 00 20 */ bge lbl_801D42EC /* 801D42D0 001CFF30 C8 02 95 98 */ lfd f0, lbl_80641B98-_SDA2_BASE_(r2) /* 801D42D4 001CFF34 38 00 FF CA */ li r0, -54 /* 801D42D8 001CFF38 90 03 00 00 */ stw r0, 0(r3) /* 801D42DC 001CFF3C FC 21 00 32 */ fmul f1, f1, f0 /* 801D42E0 001CFF40 D8 21 00 08 */ stfd f1, 8(r1) /* 801D42E4 001CFF44 80 A1 00 08 */ lwz r5, 8(r1) /* 801D42E8 001CFF48 54 A4 00 7E */ clrlwi r4, r5, 1 lbl_801D42EC: /* 801D42EC 001CFF4C 54 A0 03 00 */ rlwinm r0, r5, 0, 0xc, 0 /* 801D42F0 001CFF50 80 A3 00 00 */ lwz r5, 0(r3) /* 801D42F4 001CFF54 7C 84 A6 70 */ srawi r4, r4, 0x14 /* 801D42F8 001CFF58 64 00 3F E0 */ oris r0, r0, 0x3fe0 /* 801D42FC 001CFF5C 90 01 00 08 */ stw r0, 8(r1) /* 801D4300 001CFF60 7C 84 2A 14 */ add r4, r4, r5 /* 801D4304 001CFF64 38 04 FC 02 */ addi r0, r4, -1022 /* 801D4308 001CFF68 90 03 00 00 */ stw r0, 0(r3) /* 801D430C 001CFF6C C8 21 00 08 */ lfd f1, 8(r1) lbl_801D4310: /* 801D4310 001CFF70 38 21 00 10 */ addi r1, r1, 0x10 /* 801D4314 001CFF74 4E 80 00 20 */ blr .global func_801D4318 func_801D4318: /* 801D4318 001CFF78 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D431C 001CFF7C 7C 08 02 A6 */ mflr r0 /* 801D4320 001CFF80 90 01 00 24 */ stw r0, 0x24(r1) /* 801D4324 001CFF84 DB E1 00 18 */ stfd f31, 0x18(r1) /* 801D4328 001CFF88 FF E0 08 90 */ fmr f31, f1 /* 801D432C 001CFF8C 93 E1 00 14 */ stw r31, 0x14(r1) /* 801D4330 001CFF90 7C 7F 1B 78 */ mr r31, r3 /* 801D4334 001CFF94 D8 21 00 08 */ stfd f1, 8(r1) /* 801D4338 001CFF98 4B FF 63 F9 */ bl func_801CA730 /* 801D433C 001CFF9C 2C 03 00 02 */ cmpwi r3, 2 /* 801D4340 001CFFA0 40 81 00 10 */ ble lbl_801D4350 /* 801D4344 001CFFA4 C8 02 95 A0 */ lfd f0, lbl_80641BA0-_SDA2_BASE_(r2) /* 801D4348 001CFFA8 FC 00 F8 00 */ fcmpu cr0, f0, f31 /* 801D434C 001CFFAC 40 82 00 0C */ bne lbl_801D4358 lbl_801D4350: /* 801D4350 001CFFB0 FC 20 F8 90 */ fmr f1, f31 /* 801D4354 001CFFB4 48 00 01 18 */ b lbl_801D446C lbl_801D4358: /* 801D4358 001CFFB8 80 A1 00 08 */ lwz r5, 8(r1) /* 801D435C 001CFFBC 80 61 00 0C */ lwz r3, 0xc(r1) /* 801D4360 001CFFC0 54 A4 65 7F */ rlwinm. r4, r5, 0xc, 0x15, 0x1f /* 801D4364 001CFFC4 40 82 00 4C */ bne lbl_801D43B0 /* 801D4368 001CFFC8 54 A0 00 7E */ clrlwi r0, r5, 1 /* 801D436C 001CFFCC 7C 60 03 79 */ or. r0, r3, r0 /* 801D4370 001CFFD0 40 82 00 0C */ bne lbl_801D437C /* 801D4374 001CFFD4 FC 20 F8 90 */ fmr f1, f31 /* 801D4378 001CFFD8 48 00 00 F4 */ b lbl_801D446C lbl_801D437C: /* 801D437C 001CFFDC C8 02 95 A8 */ lfd f0, lbl_80641BA8-_SDA2_BASE_(r2) /* 801D4380 001CFFE0 3C 60 FF FF */ lis r3, 0xFFFF3CB0@ha /* 801D4384 001CFFE4 38 03 3C B0 */ addi r0, r3, 0xFFFF3CB0@l /* 801D4388 001CFFE8 FF FF 00 32 */ fmul f31, f31, f0 /* 801D438C 001CFFEC 7C 1F 00 00 */ cmpw r31, r0 /* 801D4390 001CFFF0 DB E1 00 08 */ stfd f31, 8(r1) /* 801D4394 001CFFF4 80 A1 00 08 */ lwz r5, 8(r1) /* 801D4398 001CFFF8 54 A3 65 7E */ rlwinm r3, r5, 0xc, 0x15, 0x1f /* 801D439C 001CFFFC 38 83 FF CA */ addi r4, r3, -54 /* 801D43A0 001D0000 40 80 00 10 */ bge lbl_801D43B0 /* 801D43A4 001D0004 C8 02 95 B0 */ lfd f0, lbl_80641BB0-_SDA2_BASE_(r2) /* 801D43A8 001D0008 FC 20 07 F2 */ fmul f1, f0, f31 /* 801D43AC 001D000C 48 00 00 C0 */ b lbl_801D446C lbl_801D43B0: /* 801D43B0 001D0010 2C 04 07 FF */ cmpwi r4, 0x7ff /* 801D43B4 001D0014 40 82 00 0C */ bne lbl_801D43C0 /* 801D43B8 001D0018 FC 3F F8 2A */ fadd f1, f31, f31 /* 801D43BC 001D001C 48 00 00 B0 */ b lbl_801D446C lbl_801D43C0: /* 801D43C0 001D0020 7C 84 FA 14 */ add r4, r4, r31 /* 801D43C4 001D0024 2C 04 07 FE */ cmpwi r4, 0x7fe /* 801D43C8 001D0028 40 81 00 1C */ ble lbl_801D43E4 /* 801D43CC 001D002C FC 40 F8 90 */ fmr f2, f31 /* 801D43D0 001D0030 C8 22 95 B8 */ lfd f1, lbl_80641BB8-_SDA2_BASE_(r2) /* 801D43D4 001D0034 4B FF FC 79 */ bl func_801D404C /* 801D43D8 001D0038 C8 02 95 B8 */ lfd f0, lbl_80641BB8-_SDA2_BASE_(r2) /* 801D43DC 001D003C FC 20 00 72 */ fmul f1, f0, f1 /* 801D43E0 001D0040 48 00 00 8C */ b lbl_801D446C lbl_801D43E4: /* 801D43E4 001D0044 2C 04 00 00 */ cmpwi r4, 0 /* 801D43E8 001D0048 40 81 00 1C */ ble lbl_801D4404 /* 801D43EC 001D004C 54 A3 03 00 */ rlwinm r3, r5, 0, 0xc, 0 /* 801D43F0 001D0050 54 80 A0 16 */ slwi r0, r4, 0x14 /* 801D43F4 001D0054 7C 60 03 78 */ or r0, r3, r0 /* 801D43F8 001D0058 90 01 00 08 */ stw r0, 8(r1) /* 801D43FC 001D005C C8 21 00 08 */ lfd f1, 8(r1) /* 801D4400 001D0060 48 00 00 6C */ b lbl_801D446C lbl_801D4404: /* 801D4404 001D0064 2C 04 FF CA */ cmpwi r4, -54 /* 801D4408 001D0068 41 81 00 44 */ bgt lbl_801D444C /* 801D440C 001D006C 3C 60 00 01 */ lis r3, 0x0000C350@ha /* 801D4410 001D0070 38 03 C3 50 */ addi r0, r3, 0x0000C350@l /* 801D4414 001D0074 7C 1F 00 00 */ cmpw r31, r0 /* 801D4418 001D0078 40 81 00 1C */ ble lbl_801D4434 /* 801D441C 001D007C FC 40 F8 90 */ fmr f2, f31 /* 801D4420 001D0080 C8 22 95 B8 */ lfd f1, lbl_80641BB8-_SDA2_BASE_(r2) /* 801D4424 001D0084 4B FF FC 29 */ bl func_801D404C /* 801D4428 001D0088 C8 02 95 B8 */ lfd f0, lbl_80641BB8-_SDA2_BASE_(r2) /* 801D442C 001D008C FC 20 00 72 */ fmul f1, f0, f1 /* 801D4430 001D0090 48 00 00 3C */ b lbl_801D446C lbl_801D4434: /* 801D4434 001D0094 FC 40 F8 90 */ fmr f2, f31 /* 801D4438 001D0098 C8 22 95 B0 */ lfd f1, lbl_80641BB0-_SDA2_BASE_(r2) /* 801D443C 001D009C 4B FF FC 11 */ bl func_801D404C /* 801D4440 001D00A0 C8 02 95 B0 */ lfd f0, lbl_80641BB0-_SDA2_BASE_(r2) /* 801D4444 001D00A4 FC 20 00 72 */ fmul f1, f0, f1 /* 801D4448 001D00A8 48 00 00 24 */ b lbl_801D446C lbl_801D444C: /* 801D444C 001D00AC 38 04 00 36 */ addi r0, r4, 0x36 /* 801D4450 001D00B0 54 A3 03 00 */ rlwinm r3, r5, 0, 0xc, 0 /* 801D4454 001D00B4 54 00 A0 16 */ slwi r0, r0, 0x14 /* 801D4458 001D00B8 C8 22 95 C0 */ lfd f1, lbl_80641BC0-_SDA2_BASE_(r2) /* 801D445C 001D00BC 7C 60 03 78 */ or r0, r3, r0 /* 801D4460 001D00C0 90 01 00 08 */ stw r0, 8(r1) /* 801D4464 001D00C4 C8 01 00 08 */ lfd f0, 8(r1) /* 801D4468 001D00C8 FC 21 00 32 */ fmul f1, f1, f0 lbl_801D446C: /* 801D446C 001D00CC 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D4470 001D00D0 CB E1 00 18 */ lfd f31, 0x18(r1) /* 801D4474 001D00D4 83 E1 00 14 */ lwz r31, 0x14(r1) /* 801D4478 001D00D8 7C 08 03 A6 */ mtlr r0 /* 801D447C 001D00DC 38 21 00 20 */ addi r1, r1, 0x20 /* 801D4480 001D00E0 4E 80 00 20 */ blr .global func_801D4484 func_801D4484: /* 801D4484 001D00E4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D4488 001D00E8 7C 08 02 A6 */ mflr r0 /* 801D448C 001D00EC 3C 60 3F E9 */ lis r3, 0x3FE921FB@ha /* 801D4490 001D00F0 C8 42 95 C8 */ lfd f2, lbl_80641BC8-_SDA2_BASE_(r2) /* 801D4494 001D00F4 D8 21 00 08 */ stfd f1, 8(r1) /* 801D4498 001D00F8 90 01 00 24 */ stw r0, 0x24(r1) /* 801D449C 001D00FC 38 03 21 FB */ addi r0, r3, 0x3FE921FB@l /* 801D44A0 001D0100 80 61 00 08 */ lwz r3, 8(r1) /* 801D44A4 001D0104 54 63 00 7E */ clrlwi r3, r3, 1 /* 801D44A8 001D0108 7C 03 00 00 */ cmpw r3, r0 /* 801D44AC 001D010C 41 81 00 10 */ bgt lbl_801D44BC /* 801D44B0 001D0110 38 60 00 00 */ li r3, 0 /* 801D44B4 001D0114 4B FF F6 41 */ bl func_801D3AF4 /* 801D44B8 001D0118 48 00 00 94 */ b lbl_801D454C lbl_801D44BC: /* 801D44BC 001D011C 3C 00 7F F0 */ lis r0, 0x7ff0 /* 801D44C0 001D0120 7C 03 00 00 */ cmpw r3, r0 /* 801D44C4 001D0124 41 80 00 0C */ blt lbl_801D44D0 /* 801D44C8 001D0128 FC 21 08 28 */ fsub f1, f1, f1 /* 801D44CC 001D012C 48 00 00 80 */ b lbl_801D454C lbl_801D44D0: /* 801D44D0 001D0130 38 61 00 10 */ addi r3, r1, 0x10 /* 801D44D4 001D0134 4B FF DA 6D */ bl func_801D1F40 /* 801D44D8 001D0138 54 60 07 BE */ clrlwi r0, r3, 0x1e /* 801D44DC 001D013C 2C 00 00 01 */ cmpwi r0, 1 /* 801D44E0 001D0140 41 82 00 34 */ beq lbl_801D4514 /* 801D44E4 001D0144 40 80 00 10 */ bge lbl_801D44F4 /* 801D44E8 001D0148 2C 00 00 00 */ cmpwi r0, 0 /* 801D44EC 001D014C 40 80 00 14 */ bge lbl_801D4500 /* 801D44F0 001D0150 48 00 00 4C */ b lbl_801D453C lbl_801D44F4: /* 801D44F4 001D0154 2C 00 00 03 */ cmpwi r0, 3 /* 801D44F8 001D0158 40 80 00 44 */ bge lbl_801D453C /* 801D44FC 001D015C 48 00 00 28 */ b lbl_801D4524 lbl_801D4500: /* 801D4500 001D0160 C8 21 00 10 */ lfd f1, 0x10(r1) /* 801D4504 001D0164 38 60 00 01 */ li r3, 1 /* 801D4508 001D0168 C8 41 00 18 */ lfd f2, 0x18(r1) /* 801D450C 001D016C 4B FF F5 E9 */ bl func_801D3AF4 /* 801D4510 001D0170 48 00 00 3C */ b lbl_801D454C lbl_801D4514: /* 801D4514 001D0174 C8 21 00 10 */ lfd f1, 0x10(r1) /* 801D4518 001D0178 C8 41 00 18 */ lfd f2, 0x18(r1) /* 801D451C 001D017C 4B FF DD BD */ bl func_801D22D8 /* 801D4520 001D0180 48 00 00 2C */ b lbl_801D454C lbl_801D4524: /* 801D4524 001D0184 C8 21 00 10 */ lfd f1, 0x10(r1) /* 801D4528 001D0188 38 60 00 01 */ li r3, 1 /* 801D452C 001D018C C8 41 00 18 */ lfd f2, 0x18(r1) /* 801D4530 001D0190 4B FF F5 C5 */ bl func_801D3AF4 /* 801D4534 001D0194 FC 20 08 50 */ fneg f1, f1 /* 801D4538 001D0198 48 00 00 14 */ b lbl_801D454C lbl_801D453C: /* 801D453C 001D019C C8 21 00 10 */ lfd f1, 0x10(r1) /* 801D4540 001D01A0 C8 41 00 18 */ lfd f2, 0x18(r1) /* 801D4544 001D01A4 4B FF DD 95 */ bl func_801D22D8 /* 801D4548 001D01A8 FC 20 08 50 */ fneg f1, f1 lbl_801D454C: /* 801D454C 001D01AC 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D4550 001D01B0 7C 08 03 A6 */ mtlr r0 /* 801D4554 001D01B4 38 21 00 20 */ addi r1, r1, 0x20 /* 801D4558 001D01B8 4E 80 00 20 */ blr .global func_801D455C func_801D455C: /* 801D455C 001D01BC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D4560 001D01C0 7C 08 02 A6 */ mflr r0 /* 801D4564 001D01C4 3C 60 3F E9 */ lis r3, 0x3FE921FB@ha /* 801D4568 001D01C8 C8 42 95 D0 */ lfd f2, lbl_80641BD0-_SDA2_BASE_(r2) /* 801D456C 001D01CC D8 21 00 08 */ stfd f1, 8(r1) /* 801D4570 001D01D0 90 01 00 24 */ stw r0, 0x24(r1) /* 801D4574 001D01D4 38 03 21 FB */ addi r0, r3, 0x3FE921FB@l /* 801D4578 001D01D8 80 61 00 08 */ lwz r3, 8(r1) /* 801D457C 001D01DC 54 63 00 7E */ clrlwi r3, r3, 1 /* 801D4580 001D01E0 7C 03 00 00 */ cmpw r3, r0 /* 801D4584 001D01E4 41 81 00 10 */ bgt lbl_801D4594 /* 801D4588 001D01E8 38 60 00 01 */ li r3, 1 /* 801D458C 001D01EC 4B FF F6 29 */ bl func_801D3BB4 /* 801D4590 001D01F0 48 00 00 34 */ b lbl_801D45C4 lbl_801D4594: /* 801D4594 001D01F4 3C 00 7F F0 */ lis r0, 0x7ff0 /* 801D4598 001D01F8 7C 03 00 00 */ cmpw r3, r0 /* 801D459C 001D01FC 41 80 00 0C */ blt lbl_801D45A8 /* 801D45A0 001D0200 FC 21 08 28 */ fsub f1, f1, f1 /* 801D45A4 001D0204 48 00 00 20 */ b lbl_801D45C4 lbl_801D45A8: /* 801D45A8 001D0208 38 61 00 10 */ addi r3, r1, 0x10 /* 801D45AC 001D020C 4B FF D9 95 */ bl func_801D1F40 /* 801D45B0 001D0210 54 60 0F BC */ rlwinm r0, r3, 1, 0x1e, 0x1e /* 801D45B4 001D0214 C8 21 00 10 */ lfd f1, 0x10(r1) /* 801D45B8 001D0218 C8 41 00 18 */ lfd f2, 0x18(r1) /* 801D45BC 001D021C 20 60 00 01 */ subfic r3, r0, 1 /* 801D45C0 001D0220 4B FF F5 F5 */ bl func_801D3BB4 lbl_801D45C4: /* 801D45C4 001D0224 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D45C8 001D0228 7C 08 03 A6 */ mtlr r0 /* 801D45CC 001D022C 38 21 00 20 */ addi r1, r1, 0x20 /* 801D45D0 001D0230 4E 80 00 20 */ blr .global func_801D45D4 func_801D45D4: /* 801D45D4 001D0234 4B FF C6 28 */ b lbl_801D0BFC .global func_801D45D8 func_801D45D8: /* 801D45D8 001D0238 4B FF C8 E8 */ b lbl_801D0EC0 .global func_801D45DC func_801D45DC: /* 801D45DC 001D023C 4B FF CB 7C */ b lbl_801D1158 .global func_801D45E0 func_801D45E0: /* 801D45E0 001D0240 4B FF CD E8 */ b lbl_801D13C8 .global func_801D45E4 func_801D45E4: /* 801D45E4 001D0244 4B FF D1 14 */ b lbl_801D16F8 lbl_801D45E8: /* 801D45E8 001D0248 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D45EC 001D024C D8 21 00 08 */ stfd f1, 8(r1) /* 801D45F0 001D0250 80 C1 00 08 */ lwz r6, 8(r1) /* 801D45F4 001D0254 80 01 00 0C */ lwz r0, 0xc(r1) /* 801D45F8 001D0258 54 C3 00 56 */ rlwinm r3, r6, 0, 1, 0xb /* 801D45FC 001D025C 3C 63 80 10 */ addis r3, r3, 0x8010 /* 801D4600 001D0260 28 03 00 00 */ cmplwi r3, 0 /* 801D4604 001D0264 40 82 00 18 */ bne lbl_801D461C /* 801D4608 001D0268 FC 01 00 72 */ fmul f0, f1, f1 /* 801D460C 001D026C 38 00 00 21 */ li r0, 0x21 /* 801D4610 001D0270 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13) /* 801D4614 001D0274 FC 21 00 2A */ fadd f1, f1, f0 /* 801D4618 001D0278 48 00 02 10 */ b lbl_801D4828 lbl_801D461C: /* 801D461C 001D027C 2C 86 00 00 */ cmpwi cr1, r6, 0 /* 801D4620 001D0280 41 85 00 2C */ bgt cr1, lbl_801D464C /* 801D4624 001D0284 54 C3 00 7E */ clrlwi r3, r6, 1 /* 801D4628 001D0288 7C 03 1B 79 */ or. r3, r0, r3 /* 801D462C 001D028C 40 82 00 08 */ bne lbl_801D4634 /* 801D4630 001D0290 48 00 01 F8 */ b lbl_801D4828 lbl_801D4634: /* 801D4634 001D0294 40 84 00 18 */ bge cr1, lbl_801D464C /* 801D4638 001D0298 38 00 00 21 */ li r0, 0x21 /* 801D463C 001D029C 3C 60 80 64 */ lis r3, lbl_8063D6B8@ha /* 801D4640 001D02A0 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13) /* 801D4644 001D02A4 C0 23 D6 B8 */ lfs f1, lbl_8063D6B8@l(r3) /* 801D4648 001D02A8 48 00 01 E0 */ b lbl_801D4828 lbl_801D464C: /* 801D464C 001D02AC 7C C3 A6 71 */ srawi. r3, r6, 0x14 /* 801D4650 001D02B0 40 82 00 50 */ bne lbl_801D46A0 /* 801D4654 001D02B4 48 00 00 14 */ b lbl_801D4668 lbl_801D4658: /* 801D4658 001D02B8 54 04 AA FE */ srwi r4, r0, 0xb /* 801D465C 001D02BC 54 00 A8 14 */ slwi r0, r0, 0x15 /* 801D4660 001D02C0 7C C6 23 78 */ or r6, r6, r4 /* 801D4664 001D02C4 38 63 FF EB */ addi r3, r3, -21 lbl_801D4668: /* 801D4668 001D02C8 2C 06 00 00 */ cmpwi r6, 0 /* 801D466C 001D02CC 41 82 FF EC */ beq lbl_801D4658 /* 801D4670 001D02D0 38 E0 00 00 */ li r7, 0 /* 801D4674 001D02D4 48 00 00 0C */ b lbl_801D4680 lbl_801D4678: /* 801D4678 001D02D8 54 C6 08 3C */ slwi r6, r6, 1 /* 801D467C 001D02DC 38 E7 00 01 */ addi r7, r7, 1 lbl_801D4680: /* 801D4680 001D02E0 54 C4 02 D7 */ rlwinm. r4, r6, 0, 0xb, 0xb /* 801D4684 001D02E4 41 82 FF F4 */ beq lbl_801D4678 /* 801D4688 001D02E8 20 87 00 20 */ subfic r4, r7, 0x20 /* 801D468C 001D02EC 38 A7 FF FF */ addi r5, r7, -1 /* 801D4690 001D02F0 7C 04 24 30 */ srw r4, r0, r4 /* 801D4694 001D02F4 7C 00 38 30 */ slw r0, r0, r7 /* 801D4698 001D02F8 7C 65 18 50 */ subf r3, r5, r3 /* 801D469C 001D02FC 7C C6 23 78 */ or r6, r6, r4 lbl_801D46A0: /* 801D46A0 001D0300 38 83 FC 01 */ addi r4, r3, -1023 /* 801D46A4 001D0304 54 C5 03 3E */ clrlwi r5, r6, 0xc /* 801D46A8 001D0308 54 84 07 FF */ clrlwi. r4, r4, 0x1f /* 801D46AC 001D030C 64 A6 00 10 */ oris r6, r5, 0x10 /* 801D46B0 001D0310 41 82 00 14 */ beq lbl_801D46C4 /* 801D46B4 001D0314 54 05 0F FE */ srwi r5, r0, 0x1f /* 801D46B8 001D0318 7C 86 32 14 */ add r4, r6, r6 /* 801D46BC 001D031C 7C C5 22 14 */ add r6, r5, r4 /* 801D46C0 001D0320 7C 00 02 14 */ add r0, r0, r0 lbl_801D46C4: /* 801D46C4 001D0324 54 05 0F FE */ srwi r5, r0, 0x1f /* 801D46C8 001D0328 7C 86 32 14 */ add r4, r6, r6 /* 801D46CC 001D032C 7C C5 22 14 */ add r6, r5, r4 /* 801D46D0 001D0330 7C 00 02 14 */ add r0, r0, r0 /* 801D46D4 001D0334 39 20 00 00 */ li r9, 0 /* 801D46D8 001D0338 39 60 00 00 */ li r11, 0 /* 801D46DC 001D033C 39 40 00 00 */ li r10, 0 /* 801D46E0 001D0340 39 80 00 00 */ li r12, 0 /* 801D46E4 001D0344 3C E0 00 20 */ lis r7, 0x20 /* 801D46E8 001D0348 48 00 00 30 */ b lbl_801D4718 lbl_801D46EC: /* 801D46EC 001D034C 7C 8B 3A 14 */ add r4, r11, r7 /* 801D46F0 001D0350 7C 04 30 00 */ cmpw r4, r6 /* 801D46F4 001D0354 41 81 00 10 */ bgt lbl_801D4704 /* 801D46F8 001D0358 7D 64 3A 14 */ add r11, r4, r7 /* 801D46FC 001D035C 7C C4 30 50 */ subf r6, r4, r6 /* 801D4700 001D0360 7D 8C 3A 14 */ add r12, r12, r7 lbl_801D4704: /* 801D4704 001D0364 54 05 0F FE */ srwi r5, r0, 0x1f /* 801D4708 001D0368 7C 86 32 14 */ add r4, r6, r6 /* 801D470C 001D036C 7C C5 22 14 */ add r6, r5, r4 /* 801D4710 001D0370 7C 00 02 14 */ add r0, r0, r0 /* 801D4714 001D0374 54 E7 F8 7E */ srwi r7, r7, 1 lbl_801D4718: /* 801D4718 001D0378 2C 07 00 00 */ cmpwi r7, 0 /* 801D471C 001D037C 40 82 FF D0 */ bne lbl_801D46EC /* 801D4720 001D0380 3C E0 80 00 */ lis r7, 0x8000 /* 801D4724 001D0384 48 00 00 6C */ b lbl_801D4790 lbl_801D4728: /* 801D4728 001D0388 7C 0B 30 00 */ cmpw r11, r6 /* 801D472C 001D038C 7D 65 5B 78 */ mr r5, r11 /* 801D4730 001D0390 7D 09 3A 14 */ add r8, r9, r7 /* 801D4734 001D0394 41 80 00 10 */ blt lbl_801D4744 /* 801D4738 001D0398 40 82 00 44 */ bne lbl_801D477C /* 801D473C 001D039C 7C 08 00 40 */ cmplw r8, r0 /* 801D4740 001D03A0 41 81 00 3C */ bgt lbl_801D477C lbl_801D4744: /* 801D4744 001D03A4 55 04 00 00 */ rlwinm r4, r8, 0, 0, 0 /* 801D4748 001D03A8 7D 28 3A 14 */ add r9, r8, r7 /* 801D474C 001D03AC 3C 84 80 00 */ addis r4, r4, 0x8000 /* 801D4750 001D03B0 28 04 00 00 */ cmplwi r4, 0 /* 801D4754 001D03B4 40 82 00 10 */ bne lbl_801D4764 /* 801D4758 001D03B8 55 24 00 01 */ rlwinm. r4, r9, 0, 0, 0 /* 801D475C 001D03BC 40 82 00 08 */ bne lbl_801D4764 /* 801D4760 001D03C0 39 6B 00 01 */ addi r11, r11, 1 lbl_801D4764: /* 801D4764 001D03C4 7C 00 40 40 */ cmplw r0, r8 /* 801D4768 001D03C8 7C C5 30 50 */ subf r6, r5, r6 /* 801D476C 001D03CC 40 80 00 08 */ bge lbl_801D4774 /* 801D4770 001D03D0 38 C6 FF FF */ addi r6, r6, -1 lbl_801D4774: /* 801D4774 001D03D4 7C 08 00 50 */ subf r0, r8, r0 /* 801D4778 001D03D8 7D 4A 3A 14 */ add r10, r10, r7 lbl_801D477C: /* 801D477C 001D03DC 54 05 0F FE */ srwi r5, r0, 0x1f /* 801D4780 001D03E0 7C 86 32 14 */ add r4, r6, r6 /* 801D4784 001D03E4 7C C5 22 14 */ add r6, r5, r4 /* 801D4788 001D03E8 7C 00 02 14 */ add r0, r0, r0 /* 801D478C 001D03EC 54 E7 F8 7E */ srwi r7, r7, 1 lbl_801D4790: /* 801D4790 001D03F0 2C 07 00 00 */ cmpwi r7, 0 /* 801D4794 001D03F4 40 82 FF 94 */ bne lbl_801D4728 /* 801D4798 001D03F8 7C C0 03 79 */ or. r0, r6, r0 /* 801D479C 001D03FC 41 82 00 58 */ beq lbl_801D47F4 /* 801D47A0 001D0400 C8 02 95 D8 */ lfd f0, lbl_80641BD8-_SDA2_BASE_(r2) /* 801D47A4 001D0404 FC 00 00 40 */ fcmpo cr0, f0, f0 /* 801D47A8 001D0408 D8 01 00 10 */ stfd f0, 0x10(r1) /* 801D47AC 001D040C 4C 41 13 82 */ cror 2, 1, 2 /* 801D47B0 001D0410 40 82 00 44 */ bne lbl_801D47F4 /* 801D47B4 001D0414 3C 0A 00 01 */ addis r0, r10, 1 /* 801D47B8 001D0418 D8 01 00 10 */ stfd f0, 0x10(r1) /* 801D47BC 001D041C 28 00 FF FF */ cmplwi r0, 0xffff /* 801D47C0 001D0420 40 82 00 10 */ bne lbl_801D47D0 /* 801D47C4 001D0424 39 40 00 00 */ li r10, 0 /* 801D47C8 001D0428 39 8C 00 01 */ addi r12, r12, 1 /* 801D47CC 001D042C 48 00 00 28 */ b lbl_801D47F4 lbl_801D47D0: /* 801D47D0 001D0430 FC 00 00 40 */ fcmpo cr0, f0, f0 /* 801D47D4 001D0434 40 81 00 18 */ ble lbl_801D47EC /* 801D47D8 001D0438 28 00 FF FE */ cmplwi r0, 0xfffe /* 801D47DC 001D043C 40 82 00 08 */ bne lbl_801D47E4 /* 801D47E0 001D0440 39 8C 00 01 */ addi r12, r12, 1 lbl_801D47E4: /* 801D47E4 001D0444 39 4A 00 02 */ addi r10, r10, 2 /* 801D47E8 001D0448 48 00 00 0C */ b lbl_801D47F4 lbl_801D47EC: /* 801D47EC 001D044C 55 40 07 FE */ clrlwi r0, r10, 0x1f /* 801D47F0 001D0450 7D 4A 02 14 */ add r10, r10, r0 lbl_801D47F4: /* 801D47F4 001D0454 55 80 07 FE */ clrlwi r0, r12, 0x1f /* 801D47F8 001D0458 7D 84 0E 70 */ srawi r4, r12, 1 /* 801D47FC 001D045C 2C 00 00 01 */ cmpwi r0, 1 /* 801D4800 001D0460 55 45 F8 7E */ srwi r5, r10, 1 /* 801D4804 001D0464 3C 84 3F E0 */ addis r4, r4, 0x3fe0 /* 801D4808 001D0468 40 82 00 08 */ bne lbl_801D4810 /* 801D480C 001D046C 64 A5 80 00 */ oris r5, r5, 0x8000 lbl_801D4810: /* 801D4810 001D0470 38 03 FC 01 */ addi r0, r3, -1023 /* 801D4814 001D0474 90 A1 00 14 */ stw r5, 0x14(r1) /* 801D4818 001D0478 54 00 98 16 */ rlwinm r0, r0, 0x13, 0, 0xb /* 801D481C 001D047C 7C 84 02 14 */ add r4, r4, r0 /* 801D4820 001D0480 90 81 00 10 */ stw r4, 0x10(r1) /* 801D4824 001D0484 C8 21 00 10 */ lfd f1, 0x10(r1) lbl_801D4828: /* 801D4828 001D0488 38 21 00 20 */ addi r1, r1, 0x20 /* 801D482C 001D048C 4E 80 00 20 */ blr .global func_801D4830 func_801D4830: /* 801D4830 001D0490 4E 80 00 20 */ blr .global func_801D4834 func_801D4834: /* 801D4834 001D0494 4B FF FD B4 */ b lbl_801D45E8 .global TRKNubMainLoop TRKNubMainLoop: /* 801D4838 001D0498 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D483C 001D049C 7C 08 02 A6 */ mflr r0 /* 801D4840 001D04A0 90 01 00 24 */ stw r0, 0x24(r1) /* 801D4844 001D04A4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D4848 001D04A8 3B E0 00 00 */ li r31, 0 /* 801D484C 001D04AC 93 C1 00 18 */ stw r30, 0x18(r1) /* 801D4850 001D04B0 3B C0 00 00 */ li r30, 0 /* 801D4854 001D04B4 48 00 00 BC */ b lbl_801D4910 lbl_801D4858: /* 801D4858 001D04B8 38 61 00 08 */ addi r3, r1, 8 /* 801D485C 001D04BC 48 00 01 F1 */ bl TRKGetNextEvent /* 801D4860 001D04C0 2C 03 00 00 */ cmpwi r3, 0 /* 801D4864 001D04C4 41 82 00 6C */ beq lbl_801D48D0 /* 801D4868 001D04C8 80 01 00 08 */ lwz r0, 8(r1) /* 801D486C 001D04CC 3B C0 00 00 */ li r30, 0 /* 801D4870 001D04D0 2C 00 00 02 */ cmpwi r0, 2 /* 801D4874 001D04D4 41 82 00 28 */ beq lbl_801D489C /* 801D4878 001D04D8 40 80 00 14 */ bge lbl_801D488C /* 801D487C 001D04DC 2C 00 00 00 */ cmpwi r0, 0 /* 801D4880 001D04E0 41 82 00 44 */ beq lbl_801D48C4 /* 801D4884 001D04E4 40 80 00 28 */ bge lbl_801D48AC /* 801D4888 001D04E8 48 00 00 3C */ b lbl_801D48C4 lbl_801D488C: /* 801D488C 001D04EC 2C 00 00 05 */ cmpwi r0, 5 /* 801D4890 001D04F0 41 82 00 30 */ beq lbl_801D48C0 /* 801D4894 001D04F4 40 80 00 30 */ bge lbl_801D48C4 /* 801D4898 001D04F8 48 00 00 1C */ b lbl_801D48B4 lbl_801D489C: /* 801D489C 001D04FC 80 61 00 10 */ lwz r3, 0x10(r1) /* 801D48A0 001D0500 48 00 0B 3D */ bl TRKGetBuffer /* 801D48A4 001D0504 48 00 0E D9 */ bl func_801D577C /* 801D48A8 001D0508 48 00 00 1C */ b lbl_801D48C4 lbl_801D48AC: /* 801D48AC 001D050C 3B E0 00 01 */ li r31, 1 /* 801D48B0 001D0510 48 00 00 14 */ b lbl_801D48C4 lbl_801D48B4: /* 801D48B4 001D0514 38 61 00 08 */ addi r3, r1, 8 /* 801D48B8 001D0518 48 00 31 85 */ bl func_801D7A3C /* 801D48BC 001D051C 48 00 00 08 */ b lbl_801D48C4 lbl_801D48C0: /* 801D48C0 001D0520 48 00 2D 75 */ bl TRKTargetSupportRequest lbl_801D48C4: /* 801D48C4 001D0524 38 61 00 08 */ addi r3, r1, 8 /* 801D48C8 001D0528 48 00 00 69 */ bl func_801D4930 /* 801D48CC 001D052C 48 00 00 44 */ b lbl_801D4910 lbl_801D48D0: /* 801D48D0 001D0530 2C 1E 00 00 */ cmpwi r30, 0 /* 801D48D4 001D0534 41 82 00 1C */ beq lbl_801D48F0 /* 801D48D8 001D0538 3C 60 80 64 */ lis r3, lbl_8063F2A0@ha /* 801D48DC 001D053C 38 63 F2 A0 */ addi r3, r3, lbl_8063F2A0@l /* 801D48E0 001D0540 80 63 00 00 */ lwz r3, 0(r3) /* 801D48E4 001D0544 88 03 00 00 */ lbz r0, 0(r3) /* 801D48E8 001D0548 28 00 00 00 */ cmplwi r0, 0 /* 801D48EC 001D054C 41 82 00 10 */ beq lbl_801D48FC lbl_801D48F0: /* 801D48F0 001D0550 3B C0 00 01 */ li r30, 1 /* 801D48F4 001D0554 48 00 0C CD */ bl TRKGetInput /* 801D48F8 001D0558 48 00 00 18 */ b lbl_801D4910 lbl_801D48FC: /* 801D48FC 001D055C 48 00 2D 29 */ bl func_801D7624 /* 801D4900 001D0560 2C 03 00 00 */ cmpwi r3, 0 /* 801D4904 001D0564 40 82 00 08 */ bne lbl_801D490C /* 801D4908 001D0568 48 00 50 51 */ bl TRKTargetContinue lbl_801D490C: /* 801D490C 001D056C 3B C0 00 00 */ li r30, 0 lbl_801D4910: /* 801D4910 001D0570 2C 1F 00 00 */ cmpwi r31, 0 /* 801D4914 001D0574 41 82 FF 44 */ beq lbl_801D4858 /* 801D4918 001D0578 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D491C 001D057C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D4920 001D0580 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801D4924 001D0584 7C 08 03 A6 */ mtlr r0 /* 801D4928 001D0588 38 21 00 20 */ addi r1, r1, 0x20 /* 801D492C 001D058C 4E 80 00 20 */ blr .global func_801D4930 func_801D4930: /* 801D4930 001D0590 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801D4934 001D0594 7C 08 02 A6 */ mflr r0 /* 801D4938 001D0598 90 01 00 14 */ stw r0, 0x14(r1) /* 801D493C 001D059C 80 63 00 08 */ lwz r3, 8(r3) /* 801D4940 001D05A0 48 00 0A 39 */ bl TRKReleaseBuffer /* 801D4944 001D05A4 80 01 00 14 */ lwz r0, 0x14(r1) /* 801D4948 001D05A8 7C 08 03 A6 */ mtlr r0 /* 801D494C 001D05AC 38 21 00 10 */ addi r1, r1, 0x10 /* 801D4950 001D05B0 4E 80 00 20 */ blr .global TRKConstructEvent TRKConstructEvent: /* 801D4954 001D05B4 90 83 00 00 */ stw r4, 0(r3) /* 801D4958 001D05B8 38 80 00 00 */ li r4, 0 /* 801D495C 001D05BC 38 00 FF FF */ li r0, -1 /* 801D4960 001D05C0 90 83 00 04 */ stw r4, 4(r3) /* 801D4964 001D05C4 90 03 00 08 */ stw r0, 8(r3) /* 801D4968 001D05C8 4E 80 00 20 */ blr .global TRKPostEvent TRKPostEvent: /* 801D496C 001D05CC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D4970 001D05D0 7C 08 02 A6 */ mflr r0 /* 801D4974 001D05D4 3C 80 80 49 */ lis r4, lbl_8048EDF0@ha /* 801D4978 001D05D8 90 01 00 24 */ stw r0, 0x24(r1) /* 801D497C 001D05DC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D4980 001D05E0 3B E0 00 00 */ li r31, 0 /* 801D4984 001D05E4 93 C1 00 18 */ stw r30, 0x18(r1) /* 801D4988 001D05E8 93 A1 00 14 */ stw r29, 0x14(r1) /* 801D498C 001D05EC 7C 7D 1B 78 */ mr r29, r3 /* 801D4990 001D05F0 38 64 ED F0 */ addi r3, r4, lbl_8048EDF0@l /* 801D4994 001D05F4 48 00 26 C9 */ bl func_801D705C /* 801D4998 001D05F8 3C 60 80 49 */ lis r3, lbl_8048EDF0@ha /* 801D499C 001D05FC 3B C3 ED F0 */ addi r30, r3, lbl_8048EDF0@l /* 801D49A0 001D0600 80 7E 00 04 */ lwz r3, 4(r30) /* 801D49A4 001D0604 2C 03 00 02 */ cmpwi r3, 2 /* 801D49A8 001D0608 40 82 00 0C */ bne lbl_801D49B4 /* 801D49AC 001D060C 3B E0 01 00 */ li r31, 0x100 /* 801D49B0 001D0610 48 00 00 70 */ b lbl_801D4A20 lbl_801D49B4: /* 801D49B4 001D0614 80 1E 00 08 */ lwz r0, 8(r30) /* 801D49B8 001D0618 7F A4 EB 78 */ mr r4, r29 /* 801D49BC 001D061C 38 A0 00 0C */ li r5, 0xc /* 801D49C0 001D0620 7C 00 1A 14 */ add r0, r0, r3 /* 801D49C4 001D0624 54 03 0F FE */ srwi r3, r0, 0x1f /* 801D49C8 001D0628 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 801D49CC 001D062C 7C 00 1A 78 */ xor r0, r0, r3 /* 801D49D0 001D0630 7C 03 00 50 */ subf r0, r3, r0 /* 801D49D4 001D0634 1F A0 00 0C */ mulli r29, r0, 0xc /* 801D49D8 001D0638 7C 7E EA 14 */ add r3, r30, r29 /* 801D49DC 001D063C 38 63 00 0C */ addi r3, r3, 0xc /* 801D49E0 001D0640 4B E2 F7 85 */ bl TRK_memcpy /* 801D49E4 001D0644 3C 60 80 49 */ lis r3, lbl_8048EDF0@ha /* 801D49E8 001D0648 38 83 ED F0 */ addi r4, r3, lbl_8048EDF0@l /* 801D49EC 001D064C 80 04 00 24 */ lwz r0, 0x24(r4) /* 801D49F0 001D0650 7C 64 EA 14 */ add r3, r4, r29 /* 801D49F4 001D0654 90 03 00 10 */ stw r0, 0x10(r3) /* 801D49F8 001D0658 80 64 00 24 */ lwz r3, 0x24(r4) /* 801D49FC 001D065C 38 03 00 01 */ addi r0, r3, 1 /* 801D4A00 001D0660 28 00 01 00 */ cmplwi r0, 0x100 /* 801D4A04 001D0664 90 04 00 24 */ stw r0, 0x24(r4) /* 801D4A08 001D0668 40 80 00 0C */ bge lbl_801D4A14 /* 801D4A0C 001D066C 38 00 01 00 */ li r0, 0x100 /* 801D4A10 001D0670 90 04 00 24 */ stw r0, 0x24(r4) lbl_801D4A14: /* 801D4A14 001D0674 80 7E 00 04 */ lwz r3, 4(r30) /* 801D4A18 001D0678 38 03 00 01 */ addi r0, r3, 1 /* 801D4A1C 001D067C 90 1E 00 04 */ stw r0, 4(r30) lbl_801D4A20: /* 801D4A20 001D0680 3C 60 80 49 */ lis r3, lbl_8048EDF0@ha /* 801D4A24 001D0684 38 63 ED F0 */ addi r3, r3, lbl_8048EDF0@l /* 801D4A28 001D0688 48 00 26 2D */ bl func_801D7054 /* 801D4A2C 001D068C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D4A30 001D0690 7F E3 FB 78 */ mr r3, r31 /* 801D4A34 001D0694 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D4A38 001D0698 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801D4A3C 001D069C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801D4A40 001D06A0 7C 08 03 A6 */ mtlr r0 /* 801D4A44 001D06A4 38 21 00 20 */ addi r1, r1, 0x20 /* 801D4A48 001D06A8 4E 80 00 20 */ blr .global TRKGetNextEvent TRKGetNextEvent: /* 801D4A4C 001D06AC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D4A50 001D06B0 7C 08 02 A6 */ mflr r0 /* 801D4A54 001D06B4 3C 80 80 49 */ lis r4, lbl_8048EDF0@ha /* 801D4A58 001D06B8 90 01 00 24 */ stw r0, 0x24(r1) /* 801D4A5C 001D06BC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D4A60 001D06C0 93 C1 00 18 */ stw r30, 0x18(r1) /* 801D4A64 001D06C4 3B C0 00 00 */ li r30, 0 /* 801D4A68 001D06C8 93 A1 00 14 */ stw r29, 0x14(r1) /* 801D4A6C 001D06CC 7C 7D 1B 78 */ mr r29, r3 /* 801D4A70 001D06D0 38 64 ED F0 */ addi r3, r4, lbl_8048EDF0@l /* 801D4A74 001D06D4 48 00 25 E9 */ bl func_801D705C /* 801D4A78 001D06D8 3C 60 80 49 */ lis r3, lbl_8048EDF0@ha /* 801D4A7C 001D06DC 3B E3 ED F0 */ addi r31, r3, lbl_8048EDF0@l /* 801D4A80 001D06E0 80 1F 00 04 */ lwz r0, 4(r31) /* 801D4A84 001D06E4 2C 00 00 00 */ cmpwi r0, 0 /* 801D4A88 001D06E8 40 81 00 4C */ ble lbl_801D4AD4 /* 801D4A8C 001D06EC 80 1F 00 08 */ lwz r0, 8(r31) /* 801D4A90 001D06F0 7F A3 EB 78 */ mr r3, r29 /* 801D4A94 001D06F4 38 A0 00 0C */ li r5, 0xc /* 801D4A98 001D06F8 1C 00 00 0C */ mulli r0, r0, 0xc /* 801D4A9C 001D06FC 7C 9F 02 14 */ add r4, r31, r0 /* 801D4AA0 001D0700 38 84 00 0C */ addi r4, r4, 0xc /* 801D4AA4 001D0704 4B E2 F6 C1 */ bl TRK_memcpy /* 801D4AA8 001D0708 80 7F 00 08 */ lwz r3, 8(r31) /* 801D4AAC 001D070C 80 9F 00 04 */ lwz r4, 4(r31) /* 801D4AB0 001D0710 38 03 00 01 */ addi r0, r3, 1 /* 801D4AB4 001D0714 38 64 FF FF */ addi r3, r4, -1 /* 801D4AB8 001D0718 90 1F 00 08 */ stw r0, 8(r31) /* 801D4ABC 001D071C 2C 00 00 02 */ cmpwi r0, 2 /* 801D4AC0 001D0720 90 7F 00 04 */ stw r3, 4(r31) /* 801D4AC4 001D0724 40 82 00 0C */ bne lbl_801D4AD0 /* 801D4AC8 001D0728 38 00 00 00 */ li r0, 0 /* 801D4ACC 001D072C 90 1F 00 08 */ stw r0, 8(r31) lbl_801D4AD0: /* 801D4AD0 001D0730 3B C0 00 01 */ li r30, 1 lbl_801D4AD4: /* 801D4AD4 001D0734 3C 60 80 49 */ lis r3, lbl_8048EDF0@ha /* 801D4AD8 001D0738 38 63 ED F0 */ addi r3, r3, lbl_8048EDF0@l /* 801D4ADC 001D073C 48 00 25 79 */ bl func_801D7054 /* 801D4AE0 001D0740 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D4AE4 001D0744 7F C3 F3 78 */ mr r3, r30 /* 801D4AE8 001D0748 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D4AEC 001D074C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801D4AF0 001D0750 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801D4AF4 001D0754 7C 08 03 A6 */ mtlr r0 /* 801D4AF8 001D0758 38 21 00 20 */ addi r1, r1, 0x20 /* 801D4AFC 001D075C 4E 80 00 20 */ blr .global TRKInitializeEventQueue TRKInitializeEventQueue: /* 801D4B00 001D0760 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801D4B04 001D0764 7C 08 02 A6 */ mflr r0 /* 801D4B08 001D0768 3C 60 80 49 */ lis r3, lbl_8048EDF0@ha /* 801D4B0C 001D076C 90 01 00 14 */ stw r0, 0x14(r1) /* 801D4B10 001D0770 38 63 ED F0 */ addi r3, r3, lbl_8048EDF0@l /* 801D4B14 001D0774 48 00 25 51 */ bl func_801D7064 /* 801D4B18 001D0778 3C 60 80 49 */ lis r3, lbl_8048EDF0@ha /* 801D4B1C 001D077C 38 63 ED F0 */ addi r3, r3, lbl_8048EDF0@l /* 801D4B20 001D0780 48 00 25 3D */ bl func_801D705C /* 801D4B24 001D0784 3C 60 80 49 */ lis r3, lbl_8048EDF0@ha /* 801D4B28 001D0788 38 80 00 00 */ li r4, 0 /* 801D4B2C 001D078C 38 63 ED F0 */ addi r3, r3, lbl_8048EDF0@l /* 801D4B30 001D0790 38 00 01 00 */ li r0, 0x100 /* 801D4B34 001D0794 90 83 00 04 */ stw r4, 4(r3) /* 801D4B38 001D0798 90 83 00 08 */ stw r4, 8(r3) /* 801D4B3C 001D079C 90 03 00 24 */ stw r0, 0x24(r3) /* 801D4B40 001D07A0 48 00 25 15 */ bl func_801D7054 /* 801D4B44 001D07A4 80 01 00 14 */ lwz r0, 0x14(r1) /* 801D4B48 001D07A8 38 60 00 00 */ li r3, 0 /* 801D4B4C 001D07AC 7C 08 03 A6 */ mtlr r0 /* 801D4B50 001D07B0 38 21 00 10 */ addi r1, r1, 0x10 /* 801D4B54 001D07B4 4E 80 00 20 */ blr .global TRKNubWelcome TRKNubWelcome: /* 801D4B58 001D07B8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801D4B5C 001D07BC 7C 08 02 A6 */ mflr r0 /* 801D4B60 001D07C0 3C 60 80 40 */ lis r3, lbl_803FD640@ha /* 801D4B64 001D07C4 90 01 00 14 */ stw r0, 0x14(r1) /* 801D4B68 001D07C8 38 63 D6 40 */ addi r3, r3, lbl_803FD640@l /* 801D4B6C 001D07CC 48 00 4A 11 */ bl TRK_board_display /* 801D4B70 001D07D0 80 01 00 14 */ lwz r0, 0x14(r1) /* 801D4B74 001D07D4 7C 08 03 A6 */ mtlr r0 /* 801D4B78 001D07D8 38 21 00 10 */ addi r1, r1, 0x10 /* 801D4B7C 001D07DC 4E 80 00 20 */ blr .global func_801D4B80 func_801D4B80: /* 801D4B80 001D07E0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801D4B84 001D07E4 7C 08 02 A6 */ mflr r0 /* 801D4B88 001D07E8 90 01 00 14 */ stw r0, 0x14(r1) /* 801D4B8C 001D07EC 48 00 09 B9 */ bl func_801D5544 /* 801D4B90 001D07F0 80 01 00 14 */ lwz r0, 0x14(r1) /* 801D4B94 001D07F4 38 60 00 00 */ li r3, 0 /* 801D4B98 001D07F8 7C 08 03 A6 */ mtlr r0 /* 801D4B9C 001D07FC 38 21 00 10 */ addi r1, r1, 0x10 /* 801D4BA0 001D0800 4E 80 00 20 */ blr .global func_801D4BA4 func_801D4BA4: /* 801D4BA4 001D0804 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D4BA8 001D0808 7C 08 02 A6 */ mflr r0 /* 801D4BAC 001D080C 38 A0 00 12 */ li r5, 0x12 /* 801D4BB0 001D0810 38 80 00 34 */ li r4, 0x34 /* 801D4BB4 001D0814 90 01 00 24 */ stw r0, 0x24(r1) /* 801D4BB8 001D0818 38 60 00 56 */ li r3, 0x56 /* 801D4BBC 001D081C 38 00 00 78 */ li r0, 0x78 /* 801D4BC0 001D0820 38 C0 00 01 */ li r6, 1 /* 801D4BC4 001D0824 98 A1 00 08 */ stb r5, 8(r1) /* 801D4BC8 001D0828 3C A0 80 49 */ lis r5, lbl_8048EE18@ha /* 801D4BCC 001D082C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D4BD0 001D0830 3B E0 00 00 */ li r31, 0 /* 801D4BD4 001D0834 93 C1 00 18 */ stw r30, 0x18(r1) /* 801D4BD8 001D0838 98 81 00 09 */ stb r4, 9(r1) /* 801D4BDC 001D083C 98 61 00 0A */ stb r3, 0xa(r1) /* 801D4BE0 001D0840 98 01 00 0B */ stb r0, 0xb(r1) /* 801D4BE4 001D0844 80 61 00 08 */ lwz r3, 8(r1) /* 801D4BE8 001D0848 94 C5 EE 18 */ stwu r6, lbl_8048EE18@l(r5) /* 801D4BEC 001D084C 3C 03 ED CC */ addis r0, r3, 0xedcc /* 801D4BF0 001D0850 28 00 56 78 */ cmplwi r0, 0x5678 /* 801D4BF4 001D0854 40 82 00 0C */ bne lbl_801D4C00 /* 801D4BF8 001D0858 90 C5 00 00 */ stw r6, 0(r5) /* 801D4BFC 001D085C 48 00 00 1C */ b lbl_801D4C18 lbl_801D4C00: /* 801D4C00 001D0860 3C 03 87 AA */ addis r0, r3, 0x87aa /* 801D4C04 001D0864 28 00 34 12 */ cmplwi r0, 0x3412 /* 801D4C08 001D0868 40 82 00 0C */ bne lbl_801D4C14 /* 801D4C0C 001D086C 93 E5 00 00 */ stw r31, 0(r5) /* 801D4C10 001D0870 48 00 00 08 */ b lbl_801D4C18 lbl_801D4C14: /* 801D4C14 001D0874 7C DF 33 78 */ mr r31, r6 lbl_801D4C18: /* 801D4C18 001D0878 2C 1F 00 00 */ cmpwi r31, 0 /* 801D4C1C 001D087C 40 82 00 08 */ bne lbl_801D4C24 /* 801D4C20 001D0880 48 00 0A D1 */ bl func_801D56F0 lbl_801D4C24: /* 801D4C24 001D0884 2C 1F 00 00 */ cmpwi r31, 0 /* 801D4C28 001D0888 40 82 00 0C */ bne lbl_801D4C34 /* 801D4C2C 001D088C 4B FF FE D5 */ bl TRKInitializeEventQueue /* 801D4C30 001D0890 7C 7F 1B 78 */ mr r31, r3 lbl_801D4C34: /* 801D4C34 001D0894 2C 1F 00 00 */ cmpwi r31, 0 /* 801D4C38 001D0898 40 82 00 0C */ bne lbl_801D4C44 /* 801D4C3C 001D089C 48 00 08 95 */ bl TRKInitializeMessageBuffers /* 801D4C40 001D08A0 7C 7F 1B 78 */ mr r31, r3 lbl_801D4C44: /* 801D4C44 001D08A4 2C 1F 00 00 */ cmpwi r31, 0 /* 801D4C48 001D08A8 40 82 00 0C */ bne lbl_801D4C54 /* 801D4C4C 001D08AC 48 00 0C 71 */ bl func_801D58BC /* 801D4C50 001D08B0 7C 7F 1B 78 */ mr r31, r3 lbl_801D4C54: /* 801D4C54 001D08B4 48 00 48 D1 */ bl InitializeProgramEndTrap /* 801D4C58 001D08B8 2C 1F 00 00 */ cmpwi r31, 0 /* 801D4C5C 001D08BC 40 82 00 0C */ bne lbl_801D4C68 /* 801D4C60 001D08C0 48 00 08 ED */ bl func_801D554C /* 801D4C64 001D08C4 7C 7F 1B 78 */ mr r31, r3 lbl_801D4C68: /* 801D4C68 001D08C8 2C 1F 00 00 */ cmpwi r31, 0 /* 801D4C6C 001D08CC 40 82 00 0C */ bne lbl_801D4C78 /* 801D4C70 001D08D0 48 00 45 F5 */ bl TRKInitializeTarget /* 801D4C74 001D08D4 7C 7F 1B 78 */ mr r31, r3 lbl_801D4C78: /* 801D4C78 001D08D8 2C 1F 00 00 */ cmpwi r31, 0 /* 801D4C7C 001D08DC 40 82 00 44 */ bne lbl_801D4CC0 /* 801D4C80 001D08E0 3C 60 80 64 */ lis r3, lbl_8063F2A0@ha /* 801D4C84 001D08E4 3C A0 00 01 */ lis r5, 0x0000E100@ha /* 801D4C88 001D08E8 38 C3 F2 A0 */ addi r6, r3, lbl_8063F2A0@l /* 801D4C8C 001D08EC 38 80 00 01 */ li r4, 1 /* 801D4C90 001D08F0 38 65 E1 00 */ addi r3, r5, 0x0000E100@l /* 801D4C94 001D08F4 38 A0 00 00 */ li r5, 0 /* 801D4C98 001D08F8 48 00 4A 65 */ bl TRKInitializeIntDrivenUART /* 801D4C9C 001D08FC 3C 80 80 64 */ lis r4, lbl_8063F2A0@ha /* 801D4CA0 001D0900 7C 60 1B 78 */ mr r0, r3 /* 801D4CA4 001D0904 38 64 F2 A0 */ addi r3, r4, lbl_8063F2A0@l /* 801D4CA8 001D0908 80 63 00 00 */ lwz r3, 0(r3) /* 801D4CAC 001D090C 7C 1E 03 78 */ mr r30, r0 /* 801D4CB0 001D0910 48 00 29 3D */ bl func_801D75EC /* 801D4CB4 001D0914 2C 1E 00 00 */ cmpwi r30, 0 /* 801D4CB8 001D0918 41 82 00 08 */ beq lbl_801D4CC0 /* 801D4CBC 001D091C 7F DF F3 78 */ mr r31, r30 lbl_801D4CC0: /* 801D4CC0 001D0920 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D4CC4 001D0924 7F E3 FB 78 */ mr r3, r31 /* 801D4CC8 001D0928 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D4CCC 001D092C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801D4CD0 001D0930 7C 08 03 A6 */ mtlr r0 /* 801D4CD4 001D0934 38 21 00 20 */ addi r1, r1, 0x20 /* 801D4CD8 001D0938 4E 80 00 20 */ blr .global func_801D4CDC func_801D4CDC: /* 801D4CDC 001D093C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801D4CE0 001D0940 7C 08 02 A6 */ mflr r0 /* 801D4CE4 001D0944 90 01 00 14 */ stw r0, 0x14(r1) /* 801D4CE8 001D0948 80 83 00 08 */ lwz r4, 8(r3) /* 801D4CEC 001D094C 38 63 00 10 */ addi r3, r3, 0x10 /* 801D4CF0 001D0950 48 00 49 1D */ bl func_801D960C /* 801D4CF4 001D0954 80 01 00 14 */ lwz r0, 0x14(r1) /* 801D4CF8 001D0958 38 60 00 00 */ li r3, 0 /* 801D4CFC 001D095C 7C 08 03 A6 */ mtlr r0 /* 801D4D00 001D0960 38 21 00 10 */ addi r1, r1, 0x10 /* 801D4D04 001D0964 4E 80 00 20 */ blr .global TRKReadBuffer_ui32 TRKReadBuffer_ui32: /* 801D4D08 001D0968 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801D4D0C 001D096C 7C 08 02 A6 */ mflr r0 /* 801D4D10 001D0970 3C C0 80 49 */ lis r6, lbl_8048EE18@ha /* 801D4D14 001D0974 90 01 00 34 */ stw r0, 0x34(r1) /* 801D4D18 001D0978 BF 01 00 10 */ stmw r24, 0x10(r1) /* 801D4D1C 001D097C 7C 7C 1B 78 */ mr r28, r3 /* 801D4D20 001D0980 7C BD 2B 78 */ mr r29, r5 /* 801D4D24 001D0984 7C 9F 23 78 */ mr r31, r4 /* 801D4D28 001D0988 3B 66 EE 18 */ addi r27, r6, lbl_8048EE18@l /* 801D4D2C 001D098C 3B C0 00 00 */ li r30, 0 /* 801D4D30 001D0990 38 60 00 00 */ li r3, 0 /* 801D4D34 001D0994 48 00 00 A0 */ b lbl_801D4DD4 lbl_801D4D38: /* 801D4D38 001D0998 80 1B 00 00 */ lwz r0, 0(r27) /* 801D4D3C 001D099C 2C 00 00 00 */ cmpwi r0, 0 /* 801D4D40 001D09A0 41 82 00 0C */ beq lbl_801D4D4C /* 801D4D44 001D09A4 7F F9 FB 78 */ mr r25, r31 /* 801D4D48 001D09A8 48 00 00 08 */ b lbl_801D4D50 lbl_801D4D4C: /* 801D4D4C 001D09AC 3B 21 00 08 */ addi r25, r1, 8 lbl_801D4D50: /* 801D4D50 001D09B0 80 7C 00 0C */ lwz r3, 0xc(r28) /* 801D4D54 001D09B4 3B 00 00 04 */ li r24, 4 /* 801D4D58 001D09B8 80 1C 00 08 */ lwz r0, 8(r28) /* 801D4D5C 001D09BC 3B 40 00 00 */ li r26, 0 /* 801D4D60 001D09C0 7C 03 00 50 */ subf r0, r3, r0 /* 801D4D64 001D09C4 7C 18 00 40 */ cmplw r24, r0 /* 801D4D68 001D09C8 40 81 00 0C */ ble lbl_801D4D74 /* 801D4D6C 001D09CC 3B 40 03 02 */ li r26, 0x302 /* 801D4D70 001D09D0 7C 18 03 78 */ mr r24, r0 lbl_801D4D74: /* 801D4D74 001D09D4 38 83 00 10 */ addi r4, r3, 0x10 /* 801D4D78 001D09D8 7F 23 CB 78 */ mr r3, r25 /* 801D4D7C 001D09DC 7F 05 C3 78 */ mr r5, r24 /* 801D4D80 001D09E0 7C 9C 22 14 */ add r4, r28, r4 /* 801D4D84 001D09E4 4B E2 F3 E1 */ bl TRK_memcpy /* 801D4D88 001D09E8 80 1C 00 0C */ lwz r0, 0xc(r28) /* 801D4D8C 001D09EC 7C 00 C2 14 */ add r0, r0, r24 /* 801D4D90 001D09F0 90 1C 00 0C */ stw r0, 0xc(r28) /* 801D4D94 001D09F4 80 1B 00 00 */ lwz r0, 0(r27) /* 801D4D98 001D09F8 2C 00 00 00 */ cmpwi r0, 0 /* 801D4D9C 001D09FC 40 82 00 2C */ bne lbl_801D4DC8 /* 801D4DA0 001D0A00 2C 1A 00 00 */ cmpwi r26, 0 /* 801D4DA4 001D0A04 40 82 00 24 */ bne lbl_801D4DC8 /* 801D4DA8 001D0A08 88 19 00 03 */ lbz r0, 3(r25) /* 801D4DAC 001D0A0C 98 1F 00 00 */ stb r0, 0(r31) /* 801D4DB0 001D0A10 88 19 00 02 */ lbz r0, 2(r25) /* 801D4DB4 001D0A14 98 1F 00 01 */ stb r0, 1(r31) /* 801D4DB8 001D0A18 88 19 00 01 */ lbz r0, 1(r25) /* 801D4DBC 001D0A1C 98 1F 00 02 */ stb r0, 2(r31) /* 801D4DC0 001D0A20 88 19 00 00 */ lbz r0, 0(r25) /* 801D4DC4 001D0A24 98 1F 00 03 */ stb r0, 3(r31) lbl_801D4DC8: /* 801D4DC8 001D0A28 7F 43 D3 78 */ mr r3, r26 /* 801D4DCC 001D0A2C 3B FF 00 04 */ addi r31, r31, 4 /* 801D4DD0 001D0A30 3B DE 00 01 */ addi r30, r30, 1 lbl_801D4DD4: /* 801D4DD4 001D0A34 2C 03 00 00 */ cmpwi r3, 0 /* 801D4DD8 001D0A38 40 82 00 0C */ bne lbl_801D4DE4 /* 801D4DDC 001D0A3C 7C 1E E8 00 */ cmpw r30, r29 /* 801D4DE0 001D0A40 41 80 FF 58 */ blt lbl_801D4D38 lbl_801D4DE4: /* 801D4DE4 001D0A44 BB 01 00 10 */ lmw r24, 0x10(r1) /* 801D4DE8 001D0A48 80 01 00 34 */ lwz r0, 0x34(r1) /* 801D4DEC 001D0A4C 7C 08 03 A6 */ mtlr r0 /* 801D4DF0 001D0A50 38 21 00 30 */ addi r1, r1, 0x30 /* 801D4DF4 001D0A54 4E 80 00 20 */ blr .global TRKReadBuffer_ui8 TRKReadBuffer_ui8: /* 801D4DF8 001D0A58 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D4DFC 001D0A5C 7C 08 02 A6 */ mflr r0 /* 801D4E00 001D0A60 90 01 00 24 */ stw r0, 0x24(r1) /* 801D4E04 001D0A64 BF 41 00 08 */ stmw r26, 8(r1) /* 801D4E08 001D0A68 7C 7A 1B 78 */ mr r26, r3 /* 801D4E0C 001D0A6C 7C 9B 23 78 */ mr r27, r4 /* 801D4E10 001D0A70 7C BC 2B 78 */ mr r28, r5 /* 801D4E14 001D0A74 3B A0 00 00 */ li r29, 0 /* 801D4E18 001D0A78 38 60 00 00 */ li r3, 0 /* 801D4E1C 001D0A7C 48 00 00 50 */ b lbl_801D4E6C lbl_801D4E20: /* 801D4E20 001D0A80 80 7A 00 0C */ lwz r3, 0xc(r26) /* 801D4E24 001D0A84 3B C0 00 01 */ li r30, 1 /* 801D4E28 001D0A88 80 1A 00 08 */ lwz r0, 8(r26) /* 801D4E2C 001D0A8C 3B E0 00 00 */ li r31, 0 /* 801D4E30 001D0A90 7C 03 00 50 */ subf r0, r3, r0 /* 801D4E34 001D0A94 7C 1E 00 40 */ cmplw r30, r0 /* 801D4E38 001D0A98 40 81 00 0C */ ble lbl_801D4E44 /* 801D4E3C 001D0A9C 3B E0 03 02 */ li r31, 0x302 /* 801D4E40 001D0AA0 7C 1E 03 78 */ mr r30, r0 lbl_801D4E44: /* 801D4E44 001D0AA4 38 83 00 10 */ addi r4, r3, 0x10 /* 801D4E48 001D0AA8 7F C5 F3 78 */ mr r5, r30 /* 801D4E4C 001D0AAC 7C 7B EA 14 */ add r3, r27, r29 /* 801D4E50 001D0AB0 7C 9A 22 14 */ add r4, r26, r4 /* 801D4E54 001D0AB4 4B E2 F3 11 */ bl TRK_memcpy /* 801D4E58 001D0AB8 80 1A 00 0C */ lwz r0, 0xc(r26) /* 801D4E5C 001D0ABC 7F E3 FB 78 */ mr r3, r31 /* 801D4E60 001D0AC0 3B BD 00 01 */ addi r29, r29, 1 /* 801D4E64 001D0AC4 7C 00 F2 14 */ add r0, r0, r30 /* 801D4E68 001D0AC8 90 1A 00 0C */ stw r0, 0xc(r26) lbl_801D4E6C: /* 801D4E6C 001D0ACC 2C 03 00 00 */ cmpwi r3, 0 /* 801D4E70 001D0AD0 40 82 00 0C */ bne lbl_801D4E7C /* 801D4E74 001D0AD4 7C 1D E0 00 */ cmpw r29, r28 /* 801D4E78 001D0AD8 41 80 FF A8 */ blt lbl_801D4E20 lbl_801D4E7C: /* 801D4E7C 001D0ADC BB 41 00 08 */ lmw r26, 8(r1) /* 801D4E80 001D0AE0 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D4E84 001D0AE4 7C 08 03 A6 */ mtlr r0 /* 801D4E88 001D0AE8 38 21 00 20 */ addi r1, r1, 0x20 /* 801D4E8C 001D0AEC 4E 80 00 20 */ blr .global TRKReadBuffer1_ui64 TRKReadBuffer1_ui64: /* 801D4E90 001D0AF0 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801D4E94 001D0AF4 7C 08 02 A6 */ mflr r0 /* 801D4E98 001D0AF8 3C A0 80 49 */ lis r5, lbl_8048EE18@ha /* 801D4E9C 001D0AFC 90 01 00 34 */ stw r0, 0x34(r1) /* 801D4EA0 001D0B00 BF 61 00 1C */ stmw r27, 0x1c(r1) /* 801D4EA4 001D0B04 7C 7B 1B 78 */ mr r27, r3 /* 801D4EA8 001D0B08 7C 9E 23 78 */ mr r30, r4 /* 801D4EAC 001D0B0C 80 05 EE 18 */ lwz r0, lbl_8048EE18@l(r5) /* 801D4EB0 001D0B10 2C 00 00 00 */ cmpwi r0, 0 /* 801D4EB4 001D0B14 41 82 00 0C */ beq lbl_801D4EC0 /* 801D4EB8 001D0B18 7F DF F3 78 */ mr r31, r30 /* 801D4EBC 001D0B1C 48 00 00 08 */ b lbl_801D4EC4 lbl_801D4EC0: /* 801D4EC0 001D0B20 3B E1 00 08 */ addi r31, r1, 8 lbl_801D4EC4: /* 801D4EC4 001D0B24 80 7B 00 0C */ lwz r3, 0xc(r27) /* 801D4EC8 001D0B28 3B 80 00 08 */ li r28, 8 /* 801D4ECC 001D0B2C 80 1B 00 08 */ lwz r0, 8(r27) /* 801D4ED0 001D0B30 3B A0 00 00 */ li r29, 0 /* 801D4ED4 001D0B34 7C 03 00 50 */ subf r0, r3, r0 /* 801D4ED8 001D0B38 7C 1C 00 40 */ cmplw r28, r0 /* 801D4EDC 001D0B3C 40 81 00 0C */ ble lbl_801D4EE8 /* 801D4EE0 001D0B40 3B A0 03 02 */ li r29, 0x302 /* 801D4EE4 001D0B44 7C 1C 03 78 */ mr r28, r0 lbl_801D4EE8: /* 801D4EE8 001D0B48 38 83 00 10 */ addi r4, r3, 0x10 /* 801D4EEC 001D0B4C 7F E3 FB 78 */ mr r3, r31 /* 801D4EF0 001D0B50 7F 85 E3 78 */ mr r5, r28 /* 801D4EF4 001D0B54 7C 9B 22 14 */ add r4, r27, r4 /* 801D4EF8 001D0B58 4B E2 F2 6D */ bl TRK_memcpy /* 801D4EFC 001D0B5C 80 1B 00 0C */ lwz r0, 0xc(r27) /* 801D4F00 001D0B60 3C 60 80 49 */ lis r3, lbl_8048EE18@ha /* 801D4F04 001D0B64 7C 00 E2 14 */ add r0, r0, r28 /* 801D4F08 001D0B68 90 1B 00 0C */ stw r0, 0xc(r27) /* 801D4F0C 001D0B6C 80 03 EE 18 */ lwz r0, lbl_8048EE18@l(r3) /* 801D4F10 001D0B70 2C 00 00 00 */ cmpwi r0, 0 /* 801D4F14 001D0B74 40 82 00 4C */ bne lbl_801D4F60 /* 801D4F18 001D0B78 2C 1D 00 00 */ cmpwi r29, 0 /* 801D4F1C 001D0B7C 40 82 00 44 */ bne lbl_801D4F60 /* 801D4F20 001D0B80 88 1F 00 07 */ lbz r0, 7(r31) /* 801D4F24 001D0B84 98 1E 00 00 */ stb r0, 0(r30) /* 801D4F28 001D0B88 88 1F 00 06 */ lbz r0, 6(r31) /* 801D4F2C 001D0B8C 98 1E 00 01 */ stb r0, 1(r30) /* 801D4F30 001D0B90 88 1F 00 05 */ lbz r0, 5(r31) /* 801D4F34 001D0B94 98 1E 00 02 */ stb r0, 2(r30) /* 801D4F38 001D0B98 88 1F 00 04 */ lbz r0, 4(r31) /* 801D4F3C 001D0B9C 98 1E 00 03 */ stb r0, 3(r30) /* 801D4F40 001D0BA0 88 1F 00 03 */ lbz r0, 3(r31) /* 801D4F44 001D0BA4 98 1E 00 04 */ stb r0, 4(r30) /* 801D4F48 001D0BA8 88 1F 00 02 */ lbz r0, 2(r31) /* 801D4F4C 001D0BAC 98 1E 00 05 */ stb r0, 5(r30) /* 801D4F50 001D0BB0 88 1F 00 01 */ lbz r0, 1(r31) /* 801D4F54 001D0BB4 98 1E 00 06 */ stb r0, 6(r30) /* 801D4F58 001D0BB8 88 1F 00 00 */ lbz r0, 0(r31) /* 801D4F5C 001D0BBC 98 1E 00 07 */ stb r0, 7(r30) lbl_801D4F60: /* 801D4F60 001D0BC0 7F A3 EB 78 */ mr r3, r29 /* 801D4F64 001D0BC4 BB 61 00 1C */ lmw r27, 0x1c(r1) /* 801D4F68 001D0BC8 80 01 00 34 */ lwz r0, 0x34(r1) /* 801D4F6C 001D0BCC 7C 08 03 A6 */ mtlr r0 /* 801D4F70 001D0BD0 38 21 00 30 */ addi r1, r1, 0x30 /* 801D4F74 001D0BD4 4E 80 00 20 */ blr .global TRKAppendBuffer_ui32 TRKAppendBuffer_ui32: /* 801D4F78 001D0BD8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801D4F7C 001D0BDC 7C 08 02 A6 */ mflr r0 /* 801D4F80 001D0BE0 3C C0 80 49 */ lis r6, lbl_8048EE18@ha /* 801D4F84 001D0BE4 90 01 00 34 */ stw r0, 0x34(r1) /* 801D4F88 001D0BE8 BF 21 00 14 */ stmw r25, 0x14(r1) /* 801D4F8C 001D0BEC 7C 7B 1B 78 */ mr r27, r3 /* 801D4F90 001D0BF0 7C BC 2B 78 */ mr r28, r5 /* 801D4F94 001D0BF4 7C 9E 23 78 */ mr r30, r4 /* 801D4F98 001D0BF8 3B E6 EE 18 */ addi r31, r6, lbl_8048EE18@l /* 801D4F9C 001D0BFC 3B A0 00 00 */ li r29, 0 /* 801D4FA0 001D0C00 38 60 00 00 */ li r3, 0 /* 801D4FA4 001D0C04 48 00 00 AC */ b lbl_801D5050 lbl_801D4FA8: /* 801D4FA8 001D0C08 80 1F 00 00 */ lwz r0, 0(r31) /* 801D4FAC 001D0C0C 80 7E 00 00 */ lwz r3, 0(r30) /* 801D4FB0 001D0C10 2C 00 00 00 */ cmpwi r0, 0 /* 801D4FB4 001D0C14 90 61 00 08 */ stw r3, 8(r1) /* 801D4FB8 001D0C18 41 82 00 0C */ beq lbl_801D4FC4 /* 801D4FBC 001D0C1C 38 81 00 08 */ addi r4, r1, 8 /* 801D4FC0 001D0C20 48 00 00 28 */ b lbl_801D4FE8 lbl_801D4FC4: /* 801D4FC4 001D0C24 88 C1 00 0B */ lbz r6, 0xb(r1) /* 801D4FC8 001D0C28 38 81 00 0C */ addi r4, r1, 0xc /* 801D4FCC 001D0C2C 88 A1 00 0A */ lbz r5, 0xa(r1) /* 801D4FD0 001D0C30 88 61 00 09 */ lbz r3, 9(r1) /* 801D4FD4 001D0C34 88 01 00 08 */ lbz r0, 8(r1) /* 801D4FD8 001D0C38 98 C1 00 0C */ stb r6, 0xc(r1) /* 801D4FDC 001D0C3C 98 A1 00 0D */ stb r5, 0xd(r1) /* 801D4FE0 001D0C40 98 61 00 0E */ stb r3, 0xe(r1) /* 801D4FE4 001D0C44 98 01 00 0F */ stb r0, 0xf(r1) lbl_801D4FE8: /* 801D4FE8 001D0C48 80 BB 00 0C */ lwz r5, 0xc(r27) /* 801D4FEC 001D0C4C 3B 20 00 04 */ li r25, 4 /* 801D4FF0 001D0C50 3B 40 00 00 */ li r26, 0 /* 801D4FF4 001D0C54 20 05 08 80 */ subfic r0, r5, 0x880 /* 801D4FF8 001D0C58 28 00 00 04 */ cmplwi r0, 4 /* 801D4FFC 001D0C5C 40 80 00 0C */ bge lbl_801D5008 /* 801D5000 001D0C60 3B 40 03 01 */ li r26, 0x301 /* 801D5004 001D0C64 7C 19 03 78 */ mr r25, r0 lbl_801D5008: /* 801D5008 001D0C68 28 19 00 01 */ cmplwi r25, 1 /* 801D500C 001D0C6C 40 82 00 14 */ bne lbl_801D5020 /* 801D5010 001D0C70 88 64 00 00 */ lbz r3, 0(r4) /* 801D5014 001D0C74 38 05 00 10 */ addi r0, r5, 0x10 /* 801D5018 001D0C78 7C 7B 01 AE */ stbx r3, r27, r0 /* 801D501C 001D0C7C 48 00 00 14 */ b lbl_801D5030 lbl_801D5020: /* 801D5020 001D0C80 38 65 00 10 */ addi r3, r5, 0x10 /* 801D5024 001D0C84 7F 25 CB 78 */ mr r5, r25 /* 801D5028 001D0C88 7C 7B 1A 14 */ add r3, r27, r3 /* 801D502C 001D0C8C 4B E2 F1 39 */ bl TRK_memcpy lbl_801D5030: /* 801D5030 001D0C90 80 1B 00 0C */ lwz r0, 0xc(r27) /* 801D5034 001D0C94 7F 43 D3 78 */ mr r3, r26 /* 801D5038 001D0C98 3B DE 00 04 */ addi r30, r30, 4 /* 801D503C 001D0C9C 3B BD 00 01 */ addi r29, r29, 1 /* 801D5040 001D0CA0 7C 00 CA 14 */ add r0, r0, r25 /* 801D5044 001D0CA4 90 1B 00 0C */ stw r0, 0xc(r27) /* 801D5048 001D0CA8 80 1B 00 0C */ lwz r0, 0xc(r27) /* 801D504C 001D0CAC 90 1B 00 08 */ stw r0, 8(r27) lbl_801D5050: /* 801D5050 001D0CB0 2C 03 00 00 */ cmpwi r3, 0 /* 801D5054 001D0CB4 40 82 00 0C */ bne lbl_801D5060 /* 801D5058 001D0CB8 7C 1D E0 00 */ cmpw r29, r28 /* 801D505C 001D0CBC 41 80 FF 4C */ blt lbl_801D4FA8 lbl_801D5060: /* 801D5060 001D0CC0 BB 21 00 14 */ lmw r25, 0x14(r1) /* 801D5064 001D0CC4 80 01 00 34 */ lwz r0, 0x34(r1) /* 801D5068 001D0CC8 7C 08 03 A6 */ mtlr r0 /* 801D506C 001D0CCC 38 21 00 30 */ addi r1, r1, 0x30 /* 801D5070 001D0CD0 4E 80 00 20 */ blr .global TRKAppendBuffer_ui8 TRKAppendBuffer_ui8: /* 801D5074 001D0CD4 39 20 00 00 */ li r9, 0 /* 801D5078 001D0CD8 38 00 00 00 */ li r0, 0 /* 801D507C 001D0CDC 48 00 00 48 */ b lbl_801D50C4 lbl_801D5080: /* 801D5080 001D0CE0 80 E3 00 0C */ lwz r7, 0xc(r3) /* 801D5084 001D0CE4 89 04 00 00 */ lbz r8, 0(r4) /* 801D5088 001D0CE8 28 07 08 80 */ cmplwi r7, 0x880 /* 801D508C 001D0CEC 41 80 00 0C */ blt lbl_801D5098 /* 801D5090 001D0CF0 38 E0 03 01 */ li r7, 0x301 /* 801D5094 001D0CF4 48 00 00 24 */ b lbl_801D50B8 lbl_801D5098: /* 801D5098 001D0CF8 38 C7 00 01 */ addi r6, r7, 1 /* 801D509C 001D0CFC 38 07 00 10 */ addi r0, r7, 0x10 /* 801D50A0 001D0D00 90 C3 00 0C */ stw r6, 0xc(r3) /* 801D50A4 001D0D04 38 E0 00 00 */ li r7, 0 /* 801D50A8 001D0D08 7D 03 01 AE */ stbx r8, r3, r0 /* 801D50AC 001D0D0C 80 C3 00 08 */ lwz r6, 8(r3) /* 801D50B0 001D0D10 38 06 00 01 */ addi r0, r6, 1 /* 801D50B4 001D0D14 90 03 00 08 */ stw r0, 8(r3) lbl_801D50B8: /* 801D50B8 001D0D18 7C E0 3B 78 */ mr r0, r7 /* 801D50BC 001D0D1C 39 29 00 01 */ addi r9, r9, 1 /* 801D50C0 001D0D20 38 84 00 01 */ addi r4, r4, 1 lbl_801D50C4: /* 801D50C4 001D0D24 2C 00 00 00 */ cmpwi r0, 0 /* 801D50C8 001D0D28 40 82 00 0C */ bne lbl_801D50D4 /* 801D50CC 001D0D2C 7C 09 28 00 */ cmpw r9, r5 /* 801D50D0 001D0D30 41 80 FF B0 */ blt lbl_801D5080 lbl_801D50D4: /* 801D50D4 001D0D34 7C 03 03 78 */ mr r3, r0 /* 801D50D8 001D0D38 4E 80 00 20 */ blr .global TRKAppendBuffer1_ui64 TRKAppendBuffer1_ui64: /* 801D50DC 001D0D3C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801D50E0 001D0D40 7C 08 02 A6 */ mflr r0 /* 801D50E4 001D0D44 3C 80 80 49 */ lis r4, lbl_8048EE18@ha /* 801D50E8 001D0D48 90 01 00 34 */ stw r0, 0x34(r1) /* 801D50EC 001D0D4C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801D50F0 001D0D50 7C 7F 1B 78 */ mr r31, r3 /* 801D50F4 001D0D54 93 C1 00 28 */ stw r30, 0x28(r1) /* 801D50F8 001D0D58 93 A1 00 24 */ stw r29, 0x24(r1) /* 801D50FC 001D0D5C 80 04 EE 18 */ lwz r0, lbl_8048EE18@l(r4) /* 801D5100 001D0D60 90 A1 00 08 */ stw r5, 8(r1) /* 801D5104 001D0D64 2C 00 00 00 */ cmpwi r0, 0 /* 801D5108 001D0D68 90 C1 00 0C */ stw r6, 0xc(r1) /* 801D510C 001D0D6C 41 82 00 0C */ beq lbl_801D5118 /* 801D5110 001D0D70 38 81 00 08 */ addi r4, r1, 8 /* 801D5114 001D0D74 48 00 00 48 */ b lbl_801D515C lbl_801D5118: /* 801D5118 001D0D78 89 41 00 0F */ lbz r10, 0xf(r1) /* 801D511C 001D0D7C 38 81 00 10 */ addi r4, r1, 0x10 /* 801D5120 001D0D80 89 21 00 0E */ lbz r9, 0xe(r1) /* 801D5124 001D0D84 89 01 00 0D */ lbz r8, 0xd(r1) /* 801D5128 001D0D88 88 E1 00 0C */ lbz r7, 0xc(r1) /* 801D512C 001D0D8C 88 C1 00 0B */ lbz r6, 0xb(r1) /* 801D5130 001D0D90 88 A1 00 0A */ lbz r5, 0xa(r1) /* 801D5134 001D0D94 88 61 00 09 */ lbz r3, 9(r1) /* 801D5138 001D0D98 88 01 00 08 */ lbz r0, 8(r1) /* 801D513C 001D0D9C 99 41 00 10 */ stb r10, 0x10(r1) /* 801D5140 001D0DA0 99 21 00 11 */ stb r9, 0x11(r1) /* 801D5144 001D0DA4 99 01 00 12 */ stb r8, 0x12(r1) /* 801D5148 001D0DA8 98 E1 00 13 */ stb r7, 0x13(r1) /* 801D514C 001D0DAC 98 C1 00 14 */ stb r6, 0x14(r1) /* 801D5150 001D0DB0 98 A1 00 15 */ stb r5, 0x15(r1) /* 801D5154 001D0DB4 98 61 00 16 */ stb r3, 0x16(r1) /* 801D5158 001D0DB8 98 01 00 17 */ stb r0, 0x17(r1) lbl_801D515C: /* 801D515C 001D0DBC 80 7F 00 0C */ lwz r3, 0xc(r31) /* 801D5160 001D0DC0 3B A0 00 08 */ li r29, 8 /* 801D5164 001D0DC4 3B C0 00 00 */ li r30, 0 /* 801D5168 001D0DC8 20 03 08 80 */ subfic r0, r3, 0x880 /* 801D516C 001D0DCC 28 00 00 08 */ cmplwi r0, 8 /* 801D5170 001D0DD0 40 80 00 0C */ bge lbl_801D517C /* 801D5174 001D0DD4 3B C0 03 01 */ li r30, 0x301 /* 801D5178 001D0DD8 7C 1D 03 78 */ mr r29, r0 lbl_801D517C: /* 801D517C 001D0DDC 28 1D 00 01 */ cmplwi r29, 1 /* 801D5180 001D0DE0 40 82 00 14 */ bne lbl_801D5194 /* 801D5184 001D0DE4 88 04 00 00 */ lbz r0, 0(r4) /* 801D5188 001D0DE8 7C 7F 1A 14 */ add r3, r31, r3 /* 801D518C 001D0DEC 98 03 00 10 */ stb r0, 0x10(r3) /* 801D5190 001D0DF0 48 00 00 14 */ b lbl_801D51A4 lbl_801D5194: /* 801D5194 001D0DF4 38 63 00 10 */ addi r3, r3, 0x10 /* 801D5198 001D0DF8 7F A5 EB 78 */ mr r5, r29 /* 801D519C 001D0DFC 7C 7F 1A 14 */ add r3, r31, r3 /* 801D51A0 001D0E00 4B E2 EF C5 */ bl TRK_memcpy lbl_801D51A4: /* 801D51A4 001D0E04 80 1F 00 0C */ lwz r0, 0xc(r31) /* 801D51A8 001D0E08 7F C3 F3 78 */ mr r3, r30 /* 801D51AC 001D0E0C 7C 00 EA 14 */ add r0, r0, r29 /* 801D51B0 001D0E10 90 1F 00 0C */ stw r0, 0xc(r31) /* 801D51B4 001D0E14 80 1F 00 0C */ lwz r0, 0xc(r31) /* 801D51B8 001D0E18 90 1F 00 08 */ stw r0, 8(r31) /* 801D51BC 001D0E1C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801D51C0 001D0E20 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801D51C4 001D0E24 83 A1 00 24 */ lwz r29, 0x24(r1) /* 801D51C8 001D0E28 80 01 00 34 */ lwz r0, 0x34(r1) /* 801D51CC 001D0E2C 7C 08 03 A6 */ mtlr r0 /* 801D51D0 001D0E30 38 21 00 30 */ addi r1, r1, 0x30 /* 801D51D4 001D0E34 4E 80 00 20 */ blr .global TRKReadBuffer TRKReadBuffer: /* 801D51D8 001D0E38 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D51DC 001D0E3C 7C 08 02 A6 */ mflr r0 /* 801D51E0 001D0E40 90 01 00 24 */ stw r0, 0x24(r1) /* 801D51E4 001D0E44 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D51E8 001D0E48 3B E0 00 00 */ li r31, 0 /* 801D51EC 001D0E4C 93 C1 00 18 */ stw r30, 0x18(r1) /* 801D51F0 001D0E50 7C BE 2B 79 */ or. r30, r5, r5 /* 801D51F4 001D0E54 93 A1 00 14 */ stw r29, 0x14(r1) /* 801D51F8 001D0E58 7C 7D 1B 78 */ mr r29, r3 /* 801D51FC 001D0E5C 7C 83 23 78 */ mr r3, r4 /* 801D5200 001D0E60 40 82 00 0C */ bne lbl_801D520C /* 801D5204 001D0E64 38 60 00 00 */ li r3, 0 /* 801D5208 001D0E68 48 00 00 40 */ b lbl_801D5248 lbl_801D520C: /* 801D520C 001D0E6C 80 9D 00 0C */ lwz r4, 0xc(r29) /* 801D5210 001D0E70 80 1D 00 08 */ lwz r0, 8(r29) /* 801D5214 001D0E74 7C 04 00 50 */ subf r0, r4, r0 /* 801D5218 001D0E78 7C 1E 00 40 */ cmplw r30, r0 /* 801D521C 001D0E7C 40 81 00 0C */ ble lbl_801D5228 /* 801D5220 001D0E80 3B E0 03 02 */ li r31, 0x302 /* 801D5224 001D0E84 7C 1E 03 78 */ mr r30, r0 lbl_801D5228: /* 801D5228 001D0E88 38 84 00 10 */ addi r4, r4, 0x10 /* 801D522C 001D0E8C 7F C5 F3 78 */ mr r5, r30 /* 801D5230 001D0E90 7C 9D 22 14 */ add r4, r29, r4 /* 801D5234 001D0E94 4B E2 EF 31 */ bl TRK_memcpy /* 801D5238 001D0E98 80 1D 00 0C */ lwz r0, 0xc(r29) /* 801D523C 001D0E9C 7F E3 FB 78 */ mr r3, r31 /* 801D5240 001D0EA0 7C 00 F2 14 */ add r0, r0, r30 /* 801D5244 001D0EA4 90 1D 00 0C */ stw r0, 0xc(r29) lbl_801D5248: /* 801D5248 001D0EA8 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D524C 001D0EAC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D5250 001D0EB0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801D5254 001D0EB4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801D5258 001D0EB8 7C 08 03 A6 */ mtlr r0 /* 801D525C 001D0EBC 38 21 00 20 */ addi r1, r1, 0x20 /* 801D5260 001D0EC0 4E 80 00 20 */ blr .global TRKAppendBuffer TRKAppendBuffer: /* 801D5264 001D0EC4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D5268 001D0EC8 7C 08 02 A6 */ mflr r0 /* 801D526C 001D0ECC 90 01 00 24 */ stw r0, 0x24(r1) /* 801D5270 001D0ED0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D5274 001D0ED4 3B E0 00 00 */ li r31, 0 /* 801D5278 001D0ED8 93 C1 00 18 */ stw r30, 0x18(r1) /* 801D527C 001D0EDC 7C BE 2B 79 */ or. r30, r5, r5 /* 801D5280 001D0EE0 93 A1 00 14 */ stw r29, 0x14(r1) /* 801D5284 001D0EE4 7C 7D 1B 78 */ mr r29, r3 /* 801D5288 001D0EE8 40 82 00 0C */ bne lbl_801D5294 /* 801D528C 001D0EEC 38 60 00 00 */ li r3, 0 /* 801D5290 001D0EF0 48 00 00 5C */ b lbl_801D52EC lbl_801D5294: /* 801D5294 001D0EF4 80 7D 00 0C */ lwz r3, 0xc(r29) /* 801D5298 001D0EF8 20 03 08 80 */ subfic r0, r3, 0x880 /* 801D529C 001D0EFC 7C 00 F0 40 */ cmplw r0, r30 /* 801D52A0 001D0F00 40 80 00 0C */ bge lbl_801D52AC /* 801D52A4 001D0F04 3B E0 03 01 */ li r31, 0x301 /* 801D52A8 001D0F08 7C 1E 03 78 */ mr r30, r0 lbl_801D52AC: /* 801D52AC 001D0F0C 28 1E 00 01 */ cmplwi r30, 1 /* 801D52B0 001D0F10 40 82 00 14 */ bne lbl_801D52C4 /* 801D52B4 001D0F14 88 04 00 00 */ lbz r0, 0(r4) /* 801D52B8 001D0F18 7C 7D 1A 14 */ add r3, r29, r3 /* 801D52BC 001D0F1C 98 03 00 10 */ stb r0, 0x10(r3) /* 801D52C0 001D0F20 48 00 00 14 */ b lbl_801D52D4 lbl_801D52C4: /* 801D52C4 001D0F24 38 63 00 10 */ addi r3, r3, 0x10 /* 801D52C8 001D0F28 7F C5 F3 78 */ mr r5, r30 /* 801D52CC 001D0F2C 7C 7D 1A 14 */ add r3, r29, r3 /* 801D52D0 001D0F30 4B E2 EE 95 */ bl TRK_memcpy lbl_801D52D4: /* 801D52D4 001D0F34 80 1D 00 0C */ lwz r0, 0xc(r29) /* 801D52D8 001D0F38 7F E3 FB 78 */ mr r3, r31 /* 801D52DC 001D0F3C 7C 00 F2 14 */ add r0, r0, r30 /* 801D52E0 001D0F40 90 1D 00 0C */ stw r0, 0xc(r29) /* 801D52E4 001D0F44 80 1D 00 0C */ lwz r0, 0xc(r29) /* 801D52E8 001D0F48 90 1D 00 08 */ stw r0, 8(r29) lbl_801D52EC: /* 801D52EC 001D0F4C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D52F0 001D0F50 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D52F4 001D0F54 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801D52F8 001D0F58 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801D52FC 001D0F5C 7C 08 03 A6 */ mtlr r0 /* 801D5300 001D0F60 38 21 00 20 */ addi r1, r1, 0x20 /* 801D5304 001D0F64 4E 80 00 20 */ blr .global TRKSetBufferPosition TRKSetBufferPosition: /* 801D5308 001D0F68 28 04 08 80 */ cmplwi r4, 0x880 /* 801D530C 001D0F6C 38 A0 00 00 */ li r5, 0 /* 801D5310 001D0F70 40 81 00 0C */ ble lbl_801D531C /* 801D5314 001D0F74 38 A0 03 01 */ li r5, 0x301 /* 801D5318 001D0F78 48 00 00 18 */ b lbl_801D5330 lbl_801D531C: /* 801D531C 001D0F7C 90 83 00 0C */ stw r4, 0xc(r3) /* 801D5320 001D0F80 80 03 00 08 */ lwz r0, 8(r3) /* 801D5324 001D0F84 7C 04 00 40 */ cmplw r4, r0 /* 801D5328 001D0F88 40 81 00 08 */ ble lbl_801D5330 /* 801D532C 001D0F8C 90 83 00 08 */ stw r4, 8(r3) lbl_801D5330: /* 801D5330 001D0F90 7C A3 2B 78 */ mr r3, r5 /* 801D5334 001D0F94 4E 80 00 20 */ blr .global TRKResetBuffer TRKResetBuffer: /* 801D5338 001D0F98 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801D533C 001D0F9C 7C 08 02 A6 */ mflr r0 /* 801D5340 001D0FA0 2C 04 00 00 */ cmpwi r4, 0 /* 801D5344 001D0FA4 90 01 00 14 */ stw r0, 0x14(r1) /* 801D5348 001D0FA8 38 00 00 00 */ li r0, 0 /* 801D534C 001D0FAC 90 03 00 08 */ stw r0, 8(r3) /* 801D5350 001D0FB0 90 03 00 0C */ stw r0, 0xc(r3) /* 801D5354 001D0FB4 40 82 00 14 */ bne lbl_801D5368 /* 801D5358 001D0FB8 38 63 00 10 */ addi r3, r3, 0x10 /* 801D535C 001D0FBC 38 80 00 00 */ li r4, 0 /* 801D5360 001D0FC0 38 A0 08 80 */ li r5, 0x880 /* 801D5364 001D0FC4 4B E2 ED D1 */ bl TRK_memset lbl_801D5368: /* 801D5368 001D0FC8 80 01 00 14 */ lwz r0, 0x14(r1) /* 801D536C 001D0FCC 7C 08 03 A6 */ mtlr r0 /* 801D5370 001D0FD0 38 21 00 10 */ addi r1, r1, 0x10 /* 801D5374 001D0FD4 4E 80 00 20 */ blr .global TRKReleaseBuffer TRKReleaseBuffer: /* 801D5378 001D0FD8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801D537C 001D0FDC 7C 08 02 A6 */ mflr r0 /* 801D5380 001D0FE0 2C 03 FF FF */ cmpwi r3, -1 /* 801D5384 001D0FE4 90 01 00 14 */ stw r0, 0x14(r1) /* 801D5388 001D0FE8 93 E1 00 0C */ stw r31, 0xc(r1) /* 801D538C 001D0FEC 41 82 00 3C */ beq lbl_801D53C8 /* 801D5390 001D0FF0 2C 03 00 00 */ cmpwi r3, 0 /* 801D5394 001D0FF4 41 80 00 34 */ blt lbl_801D53C8 /* 801D5398 001D0FF8 2C 03 00 03 */ cmpwi r3, 3 /* 801D539C 001D0FFC 40 80 00 2C */ bge lbl_801D53C8 /* 801D53A0 001D1000 1C 83 08 90 */ mulli r4, r3, 0x890 /* 801D53A4 001D1004 3C 60 80 49 */ lis r3, lbl_8048EE20@ha /* 801D53A8 001D1008 38 03 EE 20 */ addi r0, r3, lbl_8048EE20@l /* 801D53AC 001D100C 7F E0 22 14 */ add r31, r0, r4 /* 801D53B0 001D1010 7F E3 FB 78 */ mr r3, r31 /* 801D53B4 001D1014 48 00 1C A9 */ bl func_801D705C /* 801D53B8 001D1018 38 00 00 00 */ li r0, 0 /* 801D53BC 001D101C 7F E3 FB 78 */ mr r3, r31 /* 801D53C0 001D1020 90 1F 00 04 */ stw r0, 4(r31) /* 801D53C4 001D1024 48 00 1C 91 */ bl func_801D7054 lbl_801D53C8: /* 801D53C8 001D1028 80 01 00 14 */ lwz r0, 0x14(r1) /* 801D53CC 001D102C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801D53D0 001D1030 7C 08 03 A6 */ mtlr r0 /* 801D53D4 001D1034 38 21 00 10 */ addi r1, r1, 0x10 /* 801D53D8 001D1038 4E 80 00 20 */ blr .global TRKGetBuffer TRKGetBuffer: /* 801D53DC 001D103C 2C 03 00 00 */ cmpwi r3, 0 /* 801D53E0 001D1040 38 00 00 00 */ li r0, 0 /* 801D53E4 001D1044 41 80 00 1C */ blt lbl_801D5400 /* 801D53E8 001D1048 2C 03 00 03 */ cmpwi r3, 3 /* 801D53EC 001D104C 40 80 00 14 */ bge lbl_801D5400 /* 801D53F0 001D1050 1C 83 08 90 */ mulli r4, r3, 0x890 /* 801D53F4 001D1054 3C 60 80 49 */ lis r3, lbl_8048EE20@ha /* 801D53F8 001D1058 38 03 EE 20 */ addi r0, r3, lbl_8048EE20@l /* 801D53FC 001D105C 7C 00 22 14 */ add r0, r0, r4 lbl_801D5400: /* 801D5400 001D1060 7C 03 03 78 */ mr r3, r0 /* 801D5404 001D1064 4E 80 00 20 */ blr .global TRKGetFreeBuffer TRKGetFreeBuffer: /* 801D5408 001D1068 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D540C 001D106C 7C 08 02 A6 */ mflr r0 /* 801D5410 001D1070 90 01 00 24 */ stw r0, 0x24(r1) /* 801D5414 001D1074 38 00 00 00 */ li r0, 0 /* 801D5418 001D1078 BF 61 00 0C */ stmw r27, 0xc(r1) /* 801D541C 001D107C 7C 9C 23 78 */ mr r28, r4 /* 801D5420 001D1080 7C 7B 1B 78 */ mr r27, r3 /* 801D5424 001D1084 3B C0 03 00 */ li r30, 0x300 /* 801D5428 001D1088 3B A0 00 00 */ li r29, 0 /* 801D542C 001D108C 90 04 00 00 */ stw r0, 0(r4) /* 801D5430 001D1090 48 00 00 6C */ b lbl_801D549C lbl_801D5434: /* 801D5434 001D1094 2C 1D 00 00 */ cmpwi r29, 0 /* 801D5438 001D1098 3B E0 00 00 */ li r31, 0 /* 801D543C 001D109C 41 80 00 1C */ blt lbl_801D5458 /* 801D5440 001D10A0 2C 1D 00 03 */ cmpwi r29, 3 /* 801D5444 001D10A4 40 80 00 14 */ bge lbl_801D5458 /* 801D5448 001D10A8 1C 9D 08 90 */ mulli r4, r29, 0x890 /* 801D544C 001D10AC 3C 60 80 49 */ lis r3, lbl_8048EE20@ha /* 801D5450 001D10B0 38 03 EE 20 */ addi r0, r3, lbl_8048EE20@l /* 801D5454 001D10B4 7F E0 22 14 */ add r31, r0, r4 lbl_801D5458: /* 801D5458 001D10B8 7F E3 FB 78 */ mr r3, r31 /* 801D545C 001D10BC 48 00 1C 01 */ bl func_801D705C /* 801D5460 001D10C0 80 1F 00 04 */ lwz r0, 4(r31) /* 801D5464 001D10C4 2C 00 00 00 */ cmpwi r0, 0 /* 801D5468 001D10C8 40 82 00 28 */ bne lbl_801D5490 /* 801D546C 001D10CC 38 60 00 00 */ li r3, 0 /* 801D5470 001D10D0 38 00 00 01 */ li r0, 1 /* 801D5474 001D10D4 90 7F 00 08 */ stw r3, 8(r31) /* 801D5478 001D10D8 3B C0 00 00 */ li r30, 0 /* 801D547C 001D10DC 90 7F 00 0C */ stw r3, 0xc(r31) /* 801D5480 001D10E0 90 1F 00 04 */ stw r0, 4(r31) /* 801D5484 001D10E4 93 FC 00 00 */ stw r31, 0(r28) /* 801D5488 001D10E8 93 BB 00 00 */ stw r29, 0(r27) /* 801D548C 001D10EC 3B A0 00 03 */ li r29, 3 lbl_801D5490: /* 801D5490 001D10F0 7F E3 FB 78 */ mr r3, r31 /* 801D5494 001D10F4 48 00 1B C1 */ bl func_801D7054 /* 801D5498 001D10F8 3B BD 00 01 */ addi r29, r29, 1 lbl_801D549C: /* 801D549C 001D10FC 2C 1D 00 03 */ cmpwi r29, 3 /* 801D54A0 001D1100 41 80 FF 94 */ blt lbl_801D5434 /* 801D54A4 001D1104 2C 1E 03 00 */ cmpwi r30, 0x300 /* 801D54A8 001D1108 40 82 00 10 */ bne lbl_801D54B8 /* 801D54AC 001D110C 3C 60 80 40 */ lis r3, lbl_803FD660@ha /* 801D54B0 001D1110 38 63 D6 60 */ addi r3, r3, lbl_803FD660@l /* 801D54B4 001D1114 48 00 02 41 */ bl usr_puts_serial lbl_801D54B8: /* 801D54B8 001D1118 7F C3 F3 78 */ mr r3, r30 /* 801D54BC 001D111C BB 61 00 0C */ lmw r27, 0xc(r1) /* 801D54C0 001D1120 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D54C4 001D1124 7C 08 03 A6 */ mtlr r0 /* 801D54C8 001D1128 38 21 00 20 */ addi r1, r1, 0x20 /* 801D54CC 001D112C 4E 80 00 20 */ blr .global TRKInitializeMessageBuffers TRKInitializeMessageBuffers: /* 801D54D0 001D1130 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D54D4 001D1134 7C 08 02 A6 */ mflr r0 /* 801D54D8 001D1138 3C 60 80 49 */ lis r3, lbl_8048EE20@ha /* 801D54DC 001D113C 90 01 00 24 */ stw r0, 0x24(r1) /* 801D54E0 001D1140 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D54E4 001D1144 3B E0 00 00 */ li r31, 0 /* 801D54E8 001D1148 93 C1 00 18 */ stw r30, 0x18(r1) /* 801D54EC 001D114C 3B C3 EE 20 */ addi r30, r3, lbl_8048EE20@l /* 801D54F0 001D1150 93 A1 00 14 */ stw r29, 0x14(r1) /* 801D54F4 001D1154 3B A0 00 00 */ li r29, 0 lbl_801D54F8: /* 801D54F8 001D1158 7F C3 F3 78 */ mr r3, r30 /* 801D54FC 001D115C 48 00 1B 69 */ bl func_801D7064 /* 801D5500 001D1160 7F C3 F3 78 */ mr r3, r30 /* 801D5504 001D1164 48 00 1B 59 */ bl func_801D705C /* 801D5508 001D1168 93 FE 00 04 */ stw r31, 4(r30) /* 801D550C 001D116C 7F C3 F3 78 */ mr r3, r30 /* 801D5510 001D1170 48 00 1B 45 */ bl func_801D7054 /* 801D5514 001D1174 3B BD 00 01 */ addi r29, r29, 1 /* 801D5518 001D1178 3B DE 08 90 */ addi r30, r30, 0x890 /* 801D551C 001D117C 2C 1D 00 03 */ cmpwi r29, 3 /* 801D5520 001D1180 41 80 FF D8 */ blt lbl_801D54F8 /* 801D5524 001D1184 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D5528 001D1188 38 60 00 00 */ li r3, 0 /* 801D552C 001D118C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D5530 001D1190 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801D5534 001D1194 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801D5538 001D1198 7C 08 03 A6 */ mtlr r0 /* 801D553C 001D119C 38 21 00 20 */ addi r1, r1, 0x20 /* 801D5540 001D11A0 4E 80 00 20 */ blr .global func_801D5544 func_801D5544: /* 801D5544 001D11A4 38 60 00 00 */ li r3, 0 /* 801D5548 001D11A8 4E 80 00 20 */ blr .global func_801D554C func_801D554C: /* 801D554C 001D11AC 3C 60 80 49 */ lis r3, lbl_804907D0@ha /* 801D5550 001D11B0 38 A0 FF FF */ li r5, -1 /* 801D5554 001D11B4 38 83 07 D0 */ addi r4, r3, lbl_804907D0@l /* 801D5558 001D11B8 38 00 00 00 */ li r0, 0 /* 801D555C 001D11BC 90 A4 00 00 */ stw r5, 0(r4) /* 801D5560 001D11C0 38 60 00 00 */ li r3, 0 /* 801D5564 001D11C4 90 04 00 08 */ stw r0, 8(r4) /* 801D5568 001D11C8 90 04 00 0C */ stw r0, 0xc(r4) /* 801D556C 001D11CC 4E 80 00 20 */ blr .global TRKProcessInput TRKProcessInput: /* 801D5570 001D11D0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D5574 001D11D4 7C 08 02 A6 */ mflr r0 /* 801D5578 001D11D8 38 80 00 02 */ li r4, 2 /* 801D557C 001D11DC 90 01 00 24 */ stw r0, 0x24(r1) /* 801D5580 001D11E0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D5584 001D11E4 7C 7F 1B 78 */ mr r31, r3 /* 801D5588 001D11E8 38 61 00 08 */ addi r3, r1, 8 /* 801D558C 001D11EC 4B FF F3 C9 */ bl TRKConstructEvent /* 801D5590 001D11F0 3C 60 80 49 */ lis r3, lbl_804907D0@ha /* 801D5594 001D11F4 38 00 FF FF */ li r0, -1 /* 801D5598 001D11F8 38 83 07 D0 */ addi r4, r3, lbl_804907D0@l /* 801D559C 001D11FC 93 E1 00 10 */ stw r31, 0x10(r1) /* 801D55A0 001D1200 38 61 00 08 */ addi r3, r1, 8 /* 801D55A4 001D1204 90 04 00 00 */ stw r0, 0(r4) /* 801D55A8 001D1208 4B FF F3 C5 */ bl TRKPostEvent /* 801D55AC 001D120C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D55B0 001D1210 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D55B4 001D1214 7C 08 03 A6 */ mtlr r0 /* 801D55B8 001D1218 38 21 00 20 */ addi r1, r1, 0x20 /* 801D55BC 001D121C 4E 80 00 20 */ blr .global TRKGetInput TRKGetInput: /* 801D55C0 001D1220 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D55C4 001D1224 7C 08 02 A6 */ mflr r0 /* 801D55C8 001D1228 90 01 00 24 */ stw r0, 0x24(r1) /* 801D55CC 001D122C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D55D0 001D1230 48 00 00 51 */ bl func_801D5620 /* 801D55D4 001D1234 7C 7F 1B 78 */ mr r31, r3 /* 801D55D8 001D1238 2C 1F FF FF */ cmpwi r31, -1 /* 801D55DC 001D123C 41 82 00 30 */ beq lbl_801D560C /* 801D55E0 001D1240 4B FF FD FD */ bl TRKGetBuffer /* 801D55E4 001D1244 38 61 00 08 */ addi r3, r1, 8 /* 801D55E8 001D1248 38 80 00 02 */ li r4, 2 /* 801D55EC 001D124C 4B FF F3 69 */ bl TRKConstructEvent /* 801D55F0 001D1250 3C 60 80 49 */ lis r3, lbl_804907D0@ha /* 801D55F4 001D1254 38 00 FF FF */ li r0, -1 /* 801D55F8 001D1258 38 83 07 D0 */ addi r4, r3, lbl_804907D0@l /* 801D55FC 001D125C 93 E1 00 10 */ stw r31, 0x10(r1) /* 801D5600 001D1260 38 61 00 08 */ addi r3, r1, 8 /* 801D5604 001D1264 90 04 00 00 */ stw r0, 0(r4) /* 801D5608 001D1268 4B FF F3 65 */ bl TRKPostEvent lbl_801D560C: /* 801D560C 001D126C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D5610 001D1270 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D5614 001D1274 7C 08 03 A6 */ mtlr r0 /* 801D5618 001D1278 38 21 00 20 */ addi r1, r1, 0x20 /* 801D561C 001D127C 4E 80 00 20 */ blr .global func_801D5620 func_801D5620: /* 801D5620 001D1280 94 21 F7 20 */ stwu r1, -0x8e0(r1) /* 801D5624 001D1284 7C 08 02 A6 */ mflr r0 /* 801D5628 001D1288 90 01 08 E4 */ stw r0, 0x8e4(r1) /* 801D562C 001D128C 93 E1 08 DC */ stw r31, 0x8dc(r1) /* 801D5630 001D1290 48 00 40 55 */ bl func_801D9684 /* 801D5634 001D1294 2C 03 00 00 */ cmpwi r3, 0 /* 801D5638 001D1298 41 81 00 0C */ bgt lbl_801D5644 /* 801D563C 001D129C 38 60 FF FF */ li r3, -1 /* 801D5640 001D12A0 48 00 00 9C */ b lbl_801D56DC lbl_801D5644: /* 801D5644 001D12A4 38 61 00 0C */ addi r3, r1, 0xc /* 801D5648 001D12A8 38 81 00 08 */ addi r4, r1, 8 /* 801D564C 001D12AC 4B FF FD BD */ bl TRKGetFreeBuffer /* 801D5650 001D12B0 7C 60 1B 78 */ mr r0, r3 /* 801D5654 001D12B4 80 61 00 08 */ lwz r3, 8(r1) /* 801D5658 001D12B8 7C 1F 03 78 */ mr r31, r0 /* 801D565C 001D12BC 38 80 00 00 */ li r4, 0 /* 801D5660 001D12C0 4B FF FC A9 */ bl TRKSetBufferPosition /* 801D5664 001D12C4 38 61 00 10 */ addi r3, r1, 0x10 /* 801D5668 001D12C8 38 80 00 40 */ li r4, 0x40 /* 801D566C 001D12CC 48 00 3F DD */ bl TRKWriteUARTN /* 801D5670 001D12D0 2C 03 00 00 */ cmpwi r3, 0 /* 801D5674 001D12D4 40 82 00 58 */ bne lbl_801D56CC /* 801D5678 001D12D8 80 61 00 08 */ lwz r3, 8(r1) /* 801D567C 001D12DC 38 81 00 10 */ addi r4, r1, 0x10 /* 801D5680 001D12E0 38 A0 00 40 */ li r5, 0x40 /* 801D5684 001D12E4 4B FF F9 F1 */ bl TRKAppendBuffer_ui8 /* 801D5688 001D12E8 80 61 00 10 */ lwz r3, 0x10(r1) /* 801D568C 001D12EC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801D5690 001D12F0 34 83 FF C0 */ addic. r4, r3, -64 /* 801D5694 001D12F4 40 81 00 44 */ ble lbl_801D56D8 /* 801D5698 001D12F8 38 61 00 50 */ addi r3, r1, 0x50 /* 801D569C 001D12FC 48 00 3F AD */ bl TRKWriteUARTN /* 801D56A0 001D1300 2C 03 00 00 */ cmpwi r3, 0 /* 801D56A4 001D1304 40 82 00 18 */ bne lbl_801D56BC /* 801D56A8 001D1308 80 61 00 08 */ lwz r3, 8(r1) /* 801D56AC 001D130C 38 81 00 50 */ addi r4, r1, 0x50 /* 801D56B0 001D1310 80 A1 00 10 */ lwz r5, 0x10(r1) /* 801D56B4 001D1314 4B FF F9 C1 */ bl TRKAppendBuffer_ui8 /* 801D56B8 001D1318 48 00 00 20 */ b lbl_801D56D8 lbl_801D56BC: /* 801D56BC 001D131C 7F E3 FB 78 */ mr r3, r31 /* 801D56C0 001D1320 4B FF FC B9 */ bl TRKReleaseBuffer /* 801D56C4 001D1324 3B E0 FF FF */ li r31, -1 /* 801D56C8 001D1328 48 00 00 10 */ b lbl_801D56D8 lbl_801D56CC: /* 801D56CC 001D132C 7F E3 FB 78 */ mr r3, r31 /* 801D56D0 001D1330 4B FF FC A9 */ bl TRKReleaseBuffer /* 801D56D4 001D1334 3B E0 FF FF */ li r31, -1 lbl_801D56D8: /* 801D56D8 001D1338 7F E3 FB 78 */ mr r3, r31 lbl_801D56DC: /* 801D56DC 001D133C 80 01 08 E4 */ lwz r0, 0x8e4(r1) /* 801D56E0 001D1340 83 E1 08 DC */ lwz r31, 0x8dc(r1) /* 801D56E4 001D1344 7C 08 03 A6 */ mtlr r0 /* 801D56E8 001D1348 38 21 08 E0 */ addi r1, r1, 0x8e0 /* 801D56EC 001D134C 4E 80 00 20 */ blr .global func_801D56F0 func_801D56F0: /* 801D56F0 001D1350 4E 80 00 20 */ blr .global usr_puts_serial usr_puts_serial: /* 801D56F4 001D1354 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D56F8 001D1358 7C 08 02 A6 */ mflr r0 /* 801D56FC 001D135C 90 01 00 24 */ stw r0, 0x24(r1) /* 801D5700 001D1360 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D5704 001D1364 3B E0 00 00 */ li r31, 0 /* 801D5708 001D1368 93 C1 00 18 */ stw r30, 0x18(r1) /* 801D570C 001D136C 93 A1 00 14 */ stw r29, 0x14(r1) /* 801D5710 001D1370 7C 7D 1B 78 */ mr r29, r3 /* 801D5714 001D1374 38 60 00 00 */ li r3, 0 /* 801D5718 001D1378 48 00 00 30 */ b lbl_801D5748 lbl_801D571C: /* 801D571C 001D137C 48 00 12 75 */ bl func_801D6990 /* 801D5720 001D1380 9B C1 00 08 */ stb r30, 8(r1) /* 801D5724 001D1384 7C 7E 1B 78 */ mr r30, r3 /* 801D5728 001D1388 38 60 00 00 */ li r3, 0 /* 801D572C 001D138C 9B E1 00 09 */ stb r31, 9(r1) /* 801D5730 001D1390 48 00 12 55 */ bl SetTRKConnected /* 801D5734 001D1394 38 61 00 08 */ addi r3, r1, 8 /* 801D5738 001D1398 4B E3 23 8D */ bl func_80007AC4 /* 801D573C 001D139C 7F C3 F3 78 */ mr r3, r30 /* 801D5740 001D13A0 48 00 12 45 */ bl SetTRKConnected /* 801D5744 001D13A4 38 60 00 00 */ li r3, 0 lbl_801D5748: /* 801D5748 001D13A8 2C 03 00 00 */ cmpwi r3, 0 /* 801D574C 001D13AC 40 82 00 14 */ bne lbl_801D5760 /* 801D5750 001D13B0 88 1D 00 00 */ lbz r0, 0(r29) /* 801D5754 001D13B4 3B BD 00 01 */ addi r29, r29, 1 /* 801D5758 001D13B8 7C 1E 07 75 */ extsb. r30, r0 /* 801D575C 001D13BC 40 82 FF C0 */ bne lbl_801D571C lbl_801D5760: /* 801D5760 001D13C0 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D5764 001D13C4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D5768 001D13C8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801D576C 001D13CC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801D5770 001D13D0 7C 08 03 A6 */ mtlr r0 /* 801D5774 001D13D4 38 21 00 20 */ addi r1, r1, 0x20 /* 801D5778 001D13D8 4E 80 00 20 */ blr .global func_801D577C func_801D577C: /* 801D577C 001D13DC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801D5780 001D13E0 7C 08 02 A6 */ mflr r0 /* 801D5784 001D13E4 38 80 00 00 */ li r4, 0 /* 801D5788 001D13E8 90 01 00 14 */ stw r0, 0x14(r1) /* 801D578C 001D13EC 93 E1 00 0C */ stw r31, 0xc(r1) /* 801D5790 001D13F0 3B E0 05 00 */ li r31, 0x500 /* 801D5794 001D13F4 93 C1 00 08 */ stw r30, 8(r1) /* 801D5798 001D13F8 7C 7E 1B 78 */ mr r30, r3 /* 801D579C 001D13FC 4B FF FB 6D */ bl TRKSetBufferPosition /* 801D57A0 001D1400 88 1E 00 14 */ lbz r0, 0x14(r30) /* 801D57A4 001D1404 28 00 00 1A */ cmplwi r0, 0x1a /* 801D57A8 001D1408 41 81 00 F8 */ bgt lbl_801D58A0 /* 801D57AC 001D140C 3C 60 80 42 */ lis r3, lbl_80423188@ha /* 801D57B0 001D1410 54 00 10 3A */ slwi r0, r0, 2 /* 801D57B4 001D1414 38 63 31 88 */ addi r3, r3, lbl_80423188@l /* 801D57B8 001D1418 7C 03 00 2E */ lwzx r0, r3, r0 /* 801D57BC 001D141C 7C 09 03 A6 */ mtctr r0 /* 801D57C0 001D1420 4E 80 04 20 */ bctr /* 801D57C4 001D1424 7F C3 F3 78 */ mr r3, r30 /* 801D57C8 001D1428 48 00 11 35 */ bl func_801D68FC /* 801D57CC 001D142C 7C 7F 1B 78 */ mr r31, r3 /* 801D57D0 001D1430 48 00 00 D0 */ b lbl_801D58A0 /* 801D57D4 001D1434 7F C3 F3 78 */ mr r3, r30 /* 801D57D8 001D1438 48 00 10 89 */ bl func_801D6860 /* 801D57DC 001D143C 7C 7F 1B 78 */ mr r31, r3 /* 801D57E0 001D1440 48 00 00 C0 */ b lbl_801D58A0 /* 801D57E4 001D1444 7F C3 F3 78 */ mr r3, r30 /* 801D57E8 001D1448 48 00 0F FD */ bl func_801D67E4 /* 801D57EC 001D144C 7C 7F 1B 78 */ mr r31, r3 /* 801D57F0 001D1450 48 00 00 B0 */ b lbl_801D58A0 /* 801D57F4 001D1454 7F C3 F3 78 */ mr r3, r30 /* 801D57F8 001D1458 48 00 0F 71 */ bl func_801D6768 /* 801D57FC 001D145C 7C 7F 1B 78 */ mr r31, r3 /* 801D5800 001D1460 48 00 00 A0 */ b lbl_801D58A0 /* 801D5804 001D1464 7F C3 F3 78 */ mr r3, r30 /* 801D5808 001D1468 48 00 0F 59 */ bl func_801D6760 /* 801D580C 001D146C 7C 7F 1B 78 */ mr r31, r3 /* 801D5810 001D1470 48 00 00 90 */ b lbl_801D58A0 /* 801D5814 001D1474 7F C3 F3 78 */ mr r3, r30 /* 801D5818 001D1478 48 00 0F 41 */ bl func_801D6758 /* 801D581C 001D147C 7C 7F 1B 78 */ mr r31, r3 /* 801D5820 001D1480 48 00 00 80 */ b lbl_801D58A0 /* 801D5824 001D1484 7F C3 F3 78 */ mr r3, r30 /* 801D5828 001D1488 48 00 0C E9 */ bl func_801D6510 /* 801D582C 001D148C 7C 7F 1B 78 */ mr r31, r3 /* 801D5830 001D1490 48 00 00 70 */ b lbl_801D58A0 /* 801D5834 001D1494 7F C3 F3 78 */ mr r3, r30 /* 801D5838 001D1498 48 00 0A BD */ bl func_801D62F4 /* 801D583C 001D149C 7C 7F 1B 78 */ mr r31, r3 /* 801D5840 001D14A0 48 00 00 60 */ b lbl_801D58A0 /* 801D5844 001D14A4 7F C3 F3 78 */ mr r3, r30 /* 801D5848 001D14A8 48 00 08 89 */ bl func_801D60D0 /* 801D584C 001D14AC 7C 7F 1B 78 */ mr r31, r3 /* 801D5850 001D14B0 48 00 00 50 */ b lbl_801D58A0 /* 801D5854 001D14B4 7F C3 F3 78 */ mr r3, r30 /* 801D5858 001D14B8 48 00 05 BD */ bl func_801D5E14 /* 801D585C 001D14BC 7C 7F 1B 78 */ mr r31, r3 /* 801D5860 001D14C0 48 00 00 40 */ b lbl_801D58A0 /* 801D5864 001D14C4 7F C3 F3 78 */ mr r3, r30 /* 801D5868 001D14C8 48 00 04 C9 */ bl func_801D5D30 /* 801D586C 001D14CC 7C 7F 1B 78 */ mr r31, r3 /* 801D5870 001D14D0 48 00 00 30 */ b lbl_801D58A0 /* 801D5874 001D14D4 7F C3 F3 78 */ mr r3, r30 /* 801D5878 001D14D8 48 00 01 E5 */ bl func_801D5A5C /* 801D587C 001D14DC 7C 7F 1B 78 */ mr r31, r3 /* 801D5880 001D14E0 48 00 00 20 */ b lbl_801D58A0 /* 801D5884 001D14E4 7F C3 F3 78 */ mr r3, r30 /* 801D5888 001D14E8 48 00 01 09 */ bl func_801D5990 /* 801D588C 001D14EC 7C 7F 1B 78 */ mr r31, r3 /* 801D5890 001D14F0 48 00 00 10 */ b lbl_801D58A0 /* 801D5894 001D14F4 7F C3 F3 78 */ mr r3, r30 /* 801D5898 001D14F8 48 00 00 2D */ bl func_801D58C4 /* 801D589C 001D14FC 7C 7F 1B 78 */ mr r31, r3 lbl_801D58A0: /* 801D58A0 001D1500 80 01 00 14 */ lwz r0, 0x14(r1) /* 801D58A4 001D1504 7F E3 FB 78 */ mr r3, r31 /* 801D58A8 001D1508 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801D58AC 001D150C 83 C1 00 08 */ lwz r30, 8(r1) /* 801D58B0 001D1510 7C 08 03 A6 */ mtlr r0 /* 801D58B4 001D1514 38 21 00 10 */ addi r1, r1, 0x10 /* 801D58B8 001D1518 4E 80 00 20 */ blr .global func_801D58BC func_801D58BC: /* 801D58BC 001D151C 38 60 00 00 */ li r3, 0 /* 801D58C0 001D1520 4E 80 00 20 */ blr .global func_801D58C4 func_801D58C4: /* 801D58C4 001D1524 94 21 FF B0 */ stwu r1, -0x50(r1) /* 801D58C8 001D1528 7C 08 02 A6 */ mflr r0 /* 801D58CC 001D152C 3C 80 80 40 */ lis r4, lbl_803FD680@ha /* 801D58D0 001D1530 90 01 00 54 */ stw r0, 0x54(r1) /* 801D58D4 001D1534 93 E1 00 4C */ stw r31, 0x4c(r1) /* 801D58D8 001D1538 3B E4 D6 80 */ addi r31, r4, lbl_803FD680@l /* 801D58DC 001D153C 93 C1 00 48 */ stw r30, 0x48(r1) /* 801D58E0 001D1540 88 03 00 18 */ lbz r0, 0x18(r3) /* 801D58E4 001D1544 8B C3 00 1C */ lbz r30, 0x1c(r3) /* 801D58E8 001D1548 28 00 00 01 */ cmplwi r0, 1 /* 801D58EC 001D154C 40 82 00 30 */ bne lbl_801D591C /* 801D58F0 001D1550 38 7F 00 00 */ addi r3, r31, 0 /* 801D58F4 001D1554 4B FF FE 01 */ bl usr_puts_serial /* 801D58F8 001D1558 28 1E 00 00 */ cmplwi r30, 0 /* 801D58FC 001D155C 41 82 00 10 */ beq lbl_801D590C /* 801D5900 001D1560 38 7F 00 20 */ addi r3, r31, 0x20 /* 801D5904 001D1564 4B FF FD F1 */ bl usr_puts_serial /* 801D5908 001D1568 48 00 00 0C */ b lbl_801D5914 lbl_801D590C: /* 801D590C 001D156C 38 7F 00 28 */ addi r3, r31, 0x28 /* 801D5910 001D1570 4B FF FD E5 */ bl usr_puts_serial lbl_801D5914: /* 801D5914 001D1574 7F C3 F3 78 */ mr r3, r30 /* 801D5918 001D1578 48 00 40 85 */ bl SetUseSerialIO lbl_801D591C: /* 801D591C 001D157C 38 61 00 08 */ addi r3, r1, 8 /* 801D5920 001D1580 38 80 00 00 */ li r4, 0 /* 801D5924 001D1584 38 A0 00 40 */ li r5, 0x40 /* 801D5928 001D1588 4B E2 E8 0D */ bl TRK_memset /* 801D592C 001D158C 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D5930 001D1590 38 00 00 80 */ li r0, 0x80 /* 801D5934 001D1594 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l /* 801D5938 001D1598 38 C0 00 40 */ li r6, 0x40 /* 801D593C 001D159C 81 09 00 00 */ lwz r8, 0(r9) /* 801D5940 001D15A0 38 A0 00 00 */ li r5, 0 /* 801D5944 001D15A4 98 01 00 0C */ stb r0, 0xc(r1) /* 801D5948 001D15A8 38 61 00 08 */ addi r3, r1, 8 /* 801D594C 001D15AC 38 E8 00 01 */ addi r7, r8, 1 /* 801D5950 001D15B0 38 80 00 40 */ li r4, 0x40 /* 801D5954 001D15B4 91 01 00 14 */ stw r8, 0x14(r1) /* 801D5958 001D15B8 38 07 00 01 */ addi r0, r7, 1 /* 801D595C 001D15BC 90 E9 00 00 */ stw r7, 0(r9) /* 801D5960 001D15C0 90 C1 00 08 */ stw r6, 8(r1) /* 801D5964 001D15C4 98 A1 00 10 */ stb r5, 0x10(r1) /* 801D5968 001D15C8 90 09 00 00 */ stw r0, 0(r9) /* 801D596C 001D15CC 90 E1 00 14 */ stw r7, 0x14(r1) /* 801D5970 001D15D0 48 00 3C 9D */ bl func_801D960C /* 801D5974 001D15D4 80 01 00 54 */ lwz r0, 0x54(r1) /* 801D5978 001D15D8 38 60 00 00 */ li r3, 0 /* 801D597C 001D15DC 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 801D5980 001D15E0 83 C1 00 48 */ lwz r30, 0x48(r1) /* 801D5984 001D15E4 7C 08 03 A6 */ mtlr r0 /* 801D5988 001D15E8 38 21 00 50 */ addi r1, r1, 0x50 /* 801D598C 001D15EC 4E 80 00 20 */ blr .global func_801D5990 func_801D5990: /* 801D5990 001D15F0 94 21 FF B0 */ stwu r1, -0x50(r1) /* 801D5994 001D15F4 7C 08 02 A6 */ mflr r0 /* 801D5998 001D15F8 90 01 00 54 */ stw r0, 0x54(r1) /* 801D599C 001D15FC 93 E1 00 4C */ stw r31, 0x4c(r1) /* 801D59A0 001D1600 48 00 1C 5D */ bl TRKTargetStop /* 801D59A4 001D1604 2C 03 07 04 */ cmpwi r3, 0x704 /* 801D59A8 001D1608 41 82 00 2C */ beq lbl_801D59D4 /* 801D59AC 001D160C 40 80 00 10 */ bge lbl_801D59BC /* 801D59B0 001D1610 2C 03 00 00 */ cmpwi r3, 0 /* 801D59B4 001D1614 41 82 00 18 */ beq lbl_801D59CC /* 801D59B8 001D1618 48 00 00 34 */ b lbl_801D59EC lbl_801D59BC: /* 801D59BC 001D161C 2C 03 07 06 */ cmpwi r3, 0x706 /* 801D59C0 001D1620 41 82 00 24 */ beq lbl_801D59E4 /* 801D59C4 001D1624 40 80 00 28 */ bge lbl_801D59EC /* 801D59C8 001D1628 48 00 00 14 */ b lbl_801D59DC lbl_801D59CC: /* 801D59CC 001D162C 3B E0 00 00 */ li r31, 0 /* 801D59D0 001D1630 48 00 00 20 */ b lbl_801D59F0 lbl_801D59D4: /* 801D59D4 001D1634 3B E0 00 21 */ li r31, 0x21 /* 801D59D8 001D1638 48 00 00 18 */ b lbl_801D59F0 lbl_801D59DC: /* 801D59DC 001D163C 3B E0 00 22 */ li r31, 0x22 /* 801D59E0 001D1640 48 00 00 10 */ b lbl_801D59F0 lbl_801D59E4: /* 801D59E4 001D1644 3B E0 00 20 */ li r31, 0x20 /* 801D59E8 001D1648 48 00 00 08 */ b lbl_801D59F0 lbl_801D59EC: /* 801D59EC 001D164C 3B E0 00 01 */ li r31, 1 lbl_801D59F0: /* 801D59F0 001D1650 38 61 00 08 */ addi r3, r1, 8 /* 801D59F4 001D1654 38 80 00 00 */ li r4, 0 /* 801D59F8 001D1658 38 A0 00 40 */ li r5, 0x40 /* 801D59FC 001D165C 4B E2 E7 39 */ bl TRK_memset /* 801D5A00 001D1660 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D5A04 001D1664 38 00 00 80 */ li r0, 0x80 /* 801D5A08 001D1668 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l /* 801D5A0C 001D166C 38 A0 00 40 */ li r5, 0x40 /* 801D5A10 001D1670 80 E8 00 00 */ lwz r7, 0(r8) /* 801D5A14 001D1674 38 61 00 08 */ addi r3, r1, 8 /* 801D5A18 001D1678 98 01 00 0C */ stb r0, 0xc(r1) /* 801D5A1C 001D167C 38 80 00 40 */ li r4, 0x40 /* 801D5A20 001D1680 38 C7 00 01 */ addi r6, r7, 1 /* 801D5A24 001D1684 90 E1 00 14 */ stw r7, 0x14(r1) /* 801D5A28 001D1688 38 06 00 01 */ addi r0, r6, 1 /* 801D5A2C 001D168C 90 C8 00 00 */ stw r6, 0(r8) /* 801D5A30 001D1690 90 A1 00 08 */ stw r5, 8(r1) /* 801D5A34 001D1694 9B E1 00 10 */ stb r31, 0x10(r1) /* 801D5A38 001D1698 90 08 00 00 */ stw r0, 0(r8) /* 801D5A3C 001D169C 90 C1 00 14 */ stw r6, 0x14(r1) /* 801D5A40 001D16A0 48 00 3B CD */ bl func_801D960C /* 801D5A44 001D16A4 80 01 00 54 */ lwz r0, 0x54(r1) /* 801D5A48 001D16A8 38 60 00 00 */ li r3, 0 /* 801D5A4C 001D16AC 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 801D5A50 001D16B0 7C 08 03 A6 */ mtlr r0 /* 801D5A54 001D16B4 38 21 00 50 */ addi r1, r1, 0x50 /* 801D5A58 001D16B8 4E 80 00 20 */ blr .global func_801D5A5C func_801D5A5C: /* 801D5A5C 001D16BC 94 21 FE A0 */ stwu r1, -0x160(r1) /* 801D5A60 001D16C0 7C 08 02 A6 */ mflr r0 /* 801D5A64 001D16C4 38 80 00 00 */ li r4, 0 /* 801D5A68 001D16C8 90 01 01 64 */ stw r0, 0x164(r1) /* 801D5A6C 001D16CC BF 61 01 4C */ stmw r27, 0x14c(r1) /* 801D5A70 001D16D0 7C 7B 1B 78 */ mr r27, r3 /* 801D5A74 001D16D4 4B FF F8 95 */ bl TRKSetBufferPosition /* 801D5A78 001D16D8 8B FB 00 18 */ lbz r31, 0x18(r27) /* 801D5A7C 001D16DC 83 BB 00 20 */ lwz r29, 0x20(r27) /* 801D5A80 001D16E0 2C 1F 00 10 */ cmpwi r31, 0x10 /* 801D5A84 001D16E4 83 9B 00 24 */ lwz r28, 0x24(r27) /* 801D5A88 001D16E8 41 82 00 2C */ beq lbl_801D5AB4 /* 801D5A8C 001D16EC 40 80 00 1C */ bge lbl_801D5AA8 /* 801D5A90 001D16F0 2C 1F 00 01 */ cmpwi r31, 1 /* 801D5A94 001D16F4 41 82 00 8C */ beq lbl_801D5B20 /* 801D5A98 001D16F8 40 80 00 FC */ bge lbl_801D5B94 /* 801D5A9C 001D16FC 2C 1F 00 00 */ cmpwi r31, 0 /* 801D5AA0 001D1700 40 80 00 14 */ bge lbl_801D5AB4 /* 801D5AA4 001D1704 48 00 00 F0 */ b lbl_801D5B94 lbl_801D5AA8: /* 801D5AA8 001D1708 2C 1F 00 12 */ cmpwi r31, 0x12 /* 801D5AAC 001D170C 40 80 00 E8 */ bge lbl_801D5B94 /* 801D5AB0 001D1710 48 00 00 70 */ b lbl_801D5B20 lbl_801D5AB4: /* 801D5AB4 001D1714 8B DB 00 1C */ lbz r30, 0x1c(r27) /* 801D5AB8 001D1718 28 1E 00 01 */ cmplwi r30, 1 /* 801D5ABC 001D171C 40 80 01 38 */ bge lbl_801D5BF4 /* 801D5AC0 001D1720 38 61 01 08 */ addi r3, r1, 0x108 /* 801D5AC4 001D1724 38 80 00 00 */ li r4, 0 /* 801D5AC8 001D1728 38 A0 00 40 */ li r5, 0x40 /* 801D5ACC 001D172C 4B E2 E6 69 */ bl TRK_memset /* 801D5AD0 001D1730 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D5AD4 001D1734 38 00 00 80 */ li r0, 0x80 /* 801D5AD8 001D1738 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l /* 801D5ADC 001D173C 38 C0 00 40 */ li r6, 0x40 /* 801D5AE0 001D1740 81 09 00 00 */ lwz r8, 0(r9) /* 801D5AE4 001D1744 38 A0 00 11 */ li r5, 0x11 /* 801D5AE8 001D1748 98 01 01 0C */ stb r0, 0x10c(r1) /* 801D5AEC 001D174C 38 61 01 08 */ addi r3, r1, 0x108 /* 801D5AF0 001D1750 38 E8 00 01 */ addi r7, r8, 1 /* 801D5AF4 001D1754 38 80 00 40 */ li r4, 0x40 /* 801D5AF8 001D1758 91 01 01 14 */ stw r8, 0x114(r1) /* 801D5AFC 001D175C 38 07 00 01 */ addi r0, r7, 1 /* 801D5B00 001D1760 90 E9 00 00 */ stw r7, 0(r9) /* 801D5B04 001D1764 90 C1 01 08 */ stw r6, 0x108(r1) /* 801D5B08 001D1768 98 A1 01 10 */ stb r5, 0x110(r1) /* 801D5B0C 001D176C 90 09 00 00 */ stw r0, 0(r9) /* 801D5B10 001D1770 90 E1 01 14 */ stw r7, 0x114(r1) /* 801D5B14 001D1774 48 00 3A F9 */ bl func_801D960C /* 801D5B18 001D1778 38 60 00 00 */ li r3, 0 /* 801D5B1C 001D177C 48 00 02 00 */ b lbl_801D5D1C lbl_801D5B20: /* 801D5B20 001D1780 48 00 1D 15 */ bl func_801D7834 /* 801D5B24 001D1784 7C 03 E8 40 */ cmplw r3, r29 /* 801D5B28 001D1788 41 80 00 0C */ blt lbl_801D5B34 /* 801D5B2C 001D178C 7C 03 E0 40 */ cmplw r3, r28 /* 801D5B30 001D1790 40 81 00 C4 */ ble lbl_801D5BF4 lbl_801D5B34: /* 801D5B34 001D1794 38 61 00 C8 */ addi r3, r1, 0xc8 /* 801D5B38 001D1798 38 80 00 00 */ li r4, 0 /* 801D5B3C 001D179C 38 A0 00 40 */ li r5, 0x40 /* 801D5B40 001D17A0 4B E2 E5 F5 */ bl TRK_memset /* 801D5B44 001D17A4 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D5B48 001D17A8 38 00 00 80 */ li r0, 0x80 /* 801D5B4C 001D17AC 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l /* 801D5B50 001D17B0 38 C0 00 40 */ li r6, 0x40 /* 801D5B54 001D17B4 81 09 00 00 */ lwz r8, 0(r9) /* 801D5B58 001D17B8 38 A0 00 11 */ li r5, 0x11 /* 801D5B5C 001D17BC 98 01 00 CC */ stb r0, 0xcc(r1) /* 801D5B60 001D17C0 38 61 00 C8 */ addi r3, r1, 0xc8 /* 801D5B64 001D17C4 38 E8 00 01 */ addi r7, r8, 1 /* 801D5B68 001D17C8 38 80 00 40 */ li r4, 0x40 /* 801D5B6C 001D17CC 91 01 00 D4 */ stw r8, 0xd4(r1) /* 801D5B70 001D17D0 38 07 00 01 */ addi r0, r7, 1 /* 801D5B74 001D17D4 90 E9 00 00 */ stw r7, 0(r9) /* 801D5B78 001D17D8 90 C1 00 C8 */ stw r6, 0xc8(r1) /* 801D5B7C 001D17DC 98 A1 00 D0 */ stb r5, 0xd0(r1) /* 801D5B80 001D17E0 90 09 00 00 */ stw r0, 0(r9) /* 801D5B84 001D17E4 90 E1 00 D4 */ stw r7, 0xd4(r1) /* 801D5B88 001D17E8 48 00 3A 85 */ bl func_801D960C /* 801D5B8C 001D17EC 38 60 00 00 */ li r3, 0 /* 801D5B90 001D17F0 48 00 01 8C */ b lbl_801D5D1C lbl_801D5B94: /* 801D5B94 001D17F4 38 61 00 88 */ addi r3, r1, 0x88 /* 801D5B98 001D17F8 38 80 00 00 */ li r4, 0 /* 801D5B9C 001D17FC 38 A0 00 40 */ li r5, 0x40 /* 801D5BA0 001D1800 4B E2 E5 95 */ bl TRK_memset /* 801D5BA4 001D1804 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D5BA8 001D1808 38 00 00 80 */ li r0, 0x80 /* 801D5BAC 001D180C 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l /* 801D5BB0 001D1810 38 C0 00 40 */ li r6, 0x40 /* 801D5BB4 001D1814 81 09 00 00 */ lwz r8, 0(r9) /* 801D5BB8 001D1818 38 A0 00 12 */ li r5, 0x12 /* 801D5BBC 001D181C 98 01 00 8C */ stb r0, 0x8c(r1) /* 801D5BC0 001D1820 38 61 00 88 */ addi r3, r1, 0x88 /* 801D5BC4 001D1824 38 E8 00 01 */ addi r7, r8, 1 /* 801D5BC8 001D1828 38 80 00 40 */ li r4, 0x40 /* 801D5BCC 001D182C 91 01 00 94 */ stw r8, 0x94(r1) /* 801D5BD0 001D1830 38 07 00 01 */ addi r0, r7, 1 /* 801D5BD4 001D1834 90 E9 00 00 */ stw r7, 0(r9) /* 801D5BD8 001D1838 90 C1 00 88 */ stw r6, 0x88(r1) /* 801D5BDC 001D183C 98 A1 00 90 */ stb r5, 0x90(r1) /* 801D5BE0 001D1840 90 09 00 00 */ stw r0, 0(r9) /* 801D5BE4 001D1844 90 E1 00 94 */ stw r7, 0x94(r1) /* 801D5BE8 001D1848 48 00 3A 25 */ bl func_801D960C /* 801D5BEC 001D184C 38 60 00 00 */ li r3, 0 /* 801D5BF0 001D1850 48 00 01 2C */ b lbl_801D5D1C lbl_801D5BF4: /* 801D5BF4 001D1854 48 00 1A 31 */ bl func_801D7624 /* 801D5BF8 001D1858 2C 03 00 00 */ cmpwi r3, 0 /* 801D5BFC 001D185C 40 82 00 64 */ bne lbl_801D5C60 /* 801D5C00 001D1860 38 61 00 48 */ addi r3, r1, 0x48 /* 801D5C04 001D1864 38 80 00 00 */ li r4, 0 /* 801D5C08 001D1868 38 A0 00 40 */ li r5, 0x40 /* 801D5C0C 001D186C 4B E2 E5 29 */ bl TRK_memset /* 801D5C10 001D1870 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D5C14 001D1874 38 00 00 80 */ li r0, 0x80 /* 801D5C18 001D1878 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l /* 801D5C1C 001D187C 38 C0 00 40 */ li r6, 0x40 /* 801D5C20 001D1880 81 09 00 00 */ lwz r8, 0(r9) /* 801D5C24 001D1884 38 A0 00 16 */ li r5, 0x16 /* 801D5C28 001D1888 98 01 00 4C */ stb r0, 0x4c(r1) /* 801D5C2C 001D188C 38 61 00 48 */ addi r3, r1, 0x48 /* 801D5C30 001D1890 38 E8 00 01 */ addi r7, r8, 1 /* 801D5C34 001D1894 38 80 00 40 */ li r4, 0x40 /* 801D5C38 001D1898 91 01 00 54 */ stw r8, 0x54(r1) /* 801D5C3C 001D189C 38 07 00 01 */ addi r0, r7, 1 /* 801D5C40 001D18A0 90 E9 00 00 */ stw r7, 0(r9) /* 801D5C44 001D18A4 90 C1 00 48 */ stw r6, 0x48(r1) /* 801D5C48 001D18A8 98 A1 00 50 */ stb r5, 0x50(r1) /* 801D5C4C 001D18AC 90 09 00 00 */ stw r0, 0(r9) /* 801D5C50 001D18B0 90 E1 00 54 */ stw r7, 0x54(r1) /* 801D5C54 001D18B4 48 00 39 B9 */ bl func_801D960C /* 801D5C58 001D18B8 38 60 00 00 */ li r3, 0 /* 801D5C5C 001D18BC 48 00 00 C0 */ b lbl_801D5D1C lbl_801D5C60: /* 801D5C60 001D18C0 38 61 00 08 */ addi r3, r1, 8 /* 801D5C64 001D18C4 38 80 00 00 */ li r4, 0 /* 801D5C68 001D18C8 38 A0 00 40 */ li r5, 0x40 /* 801D5C6C 001D18CC 4B E2 E4 C9 */ bl TRK_memset /* 801D5C70 001D18D0 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D5C74 001D18D4 38 00 00 80 */ li r0, 0x80 /* 801D5C78 001D18D8 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l /* 801D5C7C 001D18DC 38 C0 00 40 */ li r6, 0x40 /* 801D5C80 001D18E0 81 09 00 00 */ lwz r8, 0(r9) /* 801D5C84 001D18E4 38 A0 00 00 */ li r5, 0 /* 801D5C88 001D18E8 98 01 00 0C */ stb r0, 0xc(r1) /* 801D5C8C 001D18EC 38 61 00 08 */ addi r3, r1, 8 /* 801D5C90 001D18F0 38 E8 00 01 */ addi r7, r8, 1 /* 801D5C94 001D18F4 38 80 00 40 */ li r4, 0x40 /* 801D5C98 001D18F8 91 01 00 14 */ stw r8, 0x14(r1) /* 801D5C9C 001D18FC 38 07 00 01 */ addi r0, r7, 1 /* 801D5CA0 001D1900 90 E9 00 00 */ stw r7, 0(r9) /* 801D5CA4 001D1904 90 C1 00 08 */ stw r6, 8(r1) /* 801D5CA8 001D1908 98 A1 00 10 */ stb r5, 0x10(r1) /* 801D5CAC 001D190C 90 09 00 00 */ stw r0, 0(r9) /* 801D5CB0 001D1910 90 E1 00 14 */ stw r7, 0x14(r1) /* 801D5CB4 001D1914 48 00 39 59 */ bl func_801D960C /* 801D5CB8 001D1918 2C 1F 00 10 */ cmpwi r31, 0x10 /* 801D5CBC 001D191C 38 60 00 00 */ li r3, 0 /* 801D5CC0 001D1920 41 82 00 2C */ beq lbl_801D5CEC /* 801D5CC4 001D1924 40 80 00 1C */ bge lbl_801D5CE0 /* 801D5CC8 001D1928 2C 1F 00 01 */ cmpwi r31, 1 /* 801D5CCC 001D192C 41 82 00 38 */ beq lbl_801D5D04 /* 801D5CD0 001D1930 40 80 00 4C */ bge lbl_801D5D1C /* 801D5CD4 001D1934 2C 1F 00 00 */ cmpwi r31, 0 /* 801D5CD8 001D1938 40 80 00 14 */ bge lbl_801D5CEC /* 801D5CDC 001D193C 48 00 00 40 */ b lbl_801D5D1C lbl_801D5CE0: /* 801D5CE0 001D1940 2C 1F 00 12 */ cmpwi r31, 0x12 /* 801D5CE4 001D1944 40 80 00 38 */ bge lbl_801D5D1C /* 801D5CE8 001D1948 48 00 00 1C */ b lbl_801D5D04 lbl_801D5CEC: /* 801D5CEC 001D194C 20 1F 00 10 */ subfic r0, r31, 0x10 /* 801D5CF0 001D1950 7F C3 F3 78 */ mr r3, r30 /* 801D5CF4 001D1954 7C 00 00 34 */ cntlzw r0, r0 /* 801D5CF8 001D1958 54 04 D9 7E */ srwi r4, r0, 5 /* 801D5CFC 001D195C 48 00 1B C5 */ bl func_801D78C0 /* 801D5D00 001D1960 48 00 00 1C */ b lbl_801D5D1C lbl_801D5D04: /* 801D5D04 001D1964 20 1F 00 11 */ subfic r0, r31, 0x11 /* 801D5D08 001D1968 7F A3 EB 78 */ mr r3, r29 /* 801D5D0C 001D196C 7C 00 00 34 */ cntlzw r0, r0 /* 801D5D10 001D1970 7F 84 E3 78 */ mr r4, r28 /* 801D5D14 001D1974 54 05 D9 7E */ srwi r5, r0, 5 /* 801D5D18 001D1978 48 00 1B 2D */ bl func_801D7844 lbl_801D5D1C: /* 801D5D1C 001D197C BB 61 01 4C */ lmw r27, 0x14c(r1) /* 801D5D20 001D1980 80 01 01 64 */ lwz r0, 0x164(r1) /* 801D5D24 001D1984 7C 08 03 A6 */ mtlr r0 /* 801D5D28 001D1988 38 21 01 60 */ addi r1, r1, 0x160 /* 801D5D2C 001D198C 4E 80 00 20 */ blr .global func_801D5D30 func_801D5D30: /* 801D5D30 001D1990 94 21 FF 70 */ stwu r1, -0x90(r1) /* 801D5D34 001D1994 7C 08 02 A6 */ mflr r0 /* 801D5D38 001D1998 90 01 00 94 */ stw r0, 0x94(r1) /* 801D5D3C 001D199C 48 00 18 E9 */ bl func_801D7624 /* 801D5D40 001D19A0 2C 03 00 00 */ cmpwi r3, 0 /* 801D5D44 001D19A4 40 82 00 64 */ bne lbl_801D5DA8 /* 801D5D48 001D19A8 38 61 00 48 */ addi r3, r1, 0x48 /* 801D5D4C 001D19AC 38 80 00 00 */ li r4, 0 /* 801D5D50 001D19B0 38 A0 00 40 */ li r5, 0x40 /* 801D5D54 001D19B4 4B E2 E3 E1 */ bl TRK_memset /* 801D5D58 001D19B8 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D5D5C 001D19BC 38 00 00 80 */ li r0, 0x80 /* 801D5D60 001D19C0 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l /* 801D5D64 001D19C4 38 C0 00 40 */ li r6, 0x40 /* 801D5D68 001D19C8 81 09 00 00 */ lwz r8, 0(r9) /* 801D5D6C 001D19CC 38 A0 00 16 */ li r5, 0x16 /* 801D5D70 001D19D0 98 01 00 4C */ stb r0, 0x4c(r1) /* 801D5D74 001D19D4 38 61 00 48 */ addi r3, r1, 0x48 /* 801D5D78 001D19D8 38 E8 00 01 */ addi r7, r8, 1 /* 801D5D7C 001D19DC 38 80 00 40 */ li r4, 0x40 /* 801D5D80 001D19E0 91 01 00 54 */ stw r8, 0x54(r1) /* 801D5D84 001D19E4 38 07 00 01 */ addi r0, r7, 1 /* 801D5D88 001D19E8 90 E9 00 00 */ stw r7, 0(r9) /* 801D5D8C 001D19EC 90 C1 00 48 */ stw r6, 0x48(r1) /* 801D5D90 001D19F0 98 A1 00 50 */ stb r5, 0x50(r1) /* 801D5D94 001D19F4 90 09 00 00 */ stw r0, 0(r9) /* 801D5D98 001D19F8 90 E1 00 54 */ stw r7, 0x54(r1) /* 801D5D9C 001D19FC 48 00 38 71 */ bl func_801D960C /* 801D5DA0 001D1A00 38 60 00 00 */ li r3, 0 /* 801D5DA4 001D1A04 48 00 00 60 */ b lbl_801D5E04 lbl_801D5DA8: /* 801D5DA8 001D1A08 38 61 00 08 */ addi r3, r1, 8 /* 801D5DAC 001D1A0C 38 80 00 00 */ li r4, 0 /* 801D5DB0 001D1A10 38 A0 00 40 */ li r5, 0x40 /* 801D5DB4 001D1A14 4B E2 E3 81 */ bl TRK_memset /* 801D5DB8 001D1A18 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D5DBC 001D1A1C 38 00 00 80 */ li r0, 0x80 /* 801D5DC0 001D1A20 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l /* 801D5DC4 001D1A24 38 C0 00 40 */ li r6, 0x40 /* 801D5DC8 001D1A28 81 09 00 00 */ lwz r8, 0(r9) /* 801D5DCC 001D1A2C 38 A0 00 00 */ li r5, 0 /* 801D5DD0 001D1A30 98 01 00 0C */ stb r0, 0xc(r1) /* 801D5DD4 001D1A34 38 61 00 08 */ addi r3, r1, 8 /* 801D5DD8 001D1A38 38 E8 00 01 */ addi r7, r8, 1 /* 801D5DDC 001D1A3C 38 80 00 40 */ li r4, 0x40 /* 801D5DE0 001D1A40 91 01 00 14 */ stw r8, 0x14(r1) /* 801D5DE4 001D1A44 38 07 00 01 */ addi r0, r7, 1 /* 801D5DE8 001D1A48 90 E9 00 00 */ stw r7, 0(r9) /* 801D5DEC 001D1A4C 90 C1 00 08 */ stw r6, 8(r1) /* 801D5DF0 001D1A50 98 A1 00 10 */ stb r5, 0x10(r1) /* 801D5DF4 001D1A54 90 09 00 00 */ stw r0, 0(r9) /* 801D5DF8 001D1A58 90 E1 00 14 */ stw r7, 0x14(r1) /* 801D5DFC 001D1A5C 48 00 38 11 */ bl func_801D960C /* 801D5E00 001D1A60 48 00 3B 59 */ bl TRKTargetContinue lbl_801D5E04: /* 801D5E04 001D1A64 80 01 00 94 */ lwz r0, 0x94(r1) /* 801D5E08 001D1A68 7C 08 03 A6 */ mtlr r0 /* 801D5E0C 001D1A6C 38 21 00 90 */ addi r1, r1, 0x90 /* 801D5E10 001D1A70 4E 80 00 20 */ blr .global func_801D5E14 func_801D5E14: /* 801D5E14 001D1A74 94 21 FF 20 */ stwu r1, -0xe0(r1) /* 801D5E18 001D1A78 7C 08 02 A6 */ mflr r0 /* 801D5E1C 001D1A7C 38 80 00 00 */ li r4, 0 /* 801D5E20 001D1A80 90 01 00 E4 */ stw r0, 0xe4(r1) /* 801D5E24 001D1A84 93 E1 00 DC */ stw r31, 0xdc(r1) /* 801D5E28 001D1A88 93 C1 00 D8 */ stw r30, 0xd8(r1) /* 801D5E2C 001D1A8C 93 A1 00 D4 */ stw r29, 0xd4(r1) /* 801D5E30 001D1A90 93 81 00 D0 */ stw r28, 0xd0(r1) /* 801D5E34 001D1A94 7C 7C 1B 78 */ mr r28, r3 /* 801D5E38 001D1A98 8B E3 00 18 */ lbz r31, 0x18(r3) /* 801D5E3C 001D1A9C A3 C3 00 1C */ lhz r30, 0x1c(r3) /* 801D5E40 001D1AA0 A3 A3 00 20 */ lhz r29, 0x20(r3) /* 801D5E44 001D1AA4 4B FF F4 C5 */ bl TRKSetBufferPosition /* 801D5E48 001D1AA8 7C 1E E8 40 */ cmplw r30, r29 /* 801D5E4C 001D1AAC 40 81 00 64 */ ble lbl_801D5EB0 /* 801D5E50 001D1AB0 38 61 00 4C */ addi r3, r1, 0x4c /* 801D5E54 001D1AB4 38 80 00 00 */ li r4, 0 /* 801D5E58 001D1AB8 38 A0 00 40 */ li r5, 0x40 /* 801D5E5C 001D1ABC 4B E2 E2 D9 */ bl TRK_memset /* 801D5E60 001D1AC0 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D5E64 001D1AC4 38 00 00 80 */ li r0, 0x80 /* 801D5E68 001D1AC8 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l /* 801D5E6C 001D1ACC 38 C0 00 40 */ li r6, 0x40 /* 801D5E70 001D1AD0 81 09 00 00 */ lwz r8, 0(r9) /* 801D5E74 001D1AD4 38 A0 00 14 */ li r5, 0x14 /* 801D5E78 001D1AD8 98 01 00 50 */ stb r0, 0x50(r1) /* 801D5E7C 001D1ADC 38 61 00 4C */ addi r3, r1, 0x4c /* 801D5E80 001D1AE0 38 E8 00 01 */ addi r7, r8, 1 /* 801D5E84 001D1AE4 38 80 00 40 */ li r4, 0x40 /* 801D5E88 001D1AE8 91 01 00 58 */ stw r8, 0x58(r1) /* 801D5E8C 001D1AEC 38 07 00 01 */ addi r0, r7, 1 /* 801D5E90 001D1AF0 90 E9 00 00 */ stw r7, 0(r9) /* 801D5E94 001D1AF4 90 C1 00 4C */ stw r6, 0x4c(r1) /* 801D5E98 001D1AF8 98 A1 00 54 */ stb r5, 0x54(r1) /* 801D5E9C 001D1AFC 90 09 00 00 */ stw r0, 0(r9) /* 801D5EA0 001D1B00 90 E1 00 58 */ stw r7, 0x58(r1) /* 801D5EA4 001D1B04 48 00 37 69 */ bl func_801D960C /* 801D5EA8 001D1B08 38 60 00 00 */ li r3, 0 /* 801D5EAC 001D1B0C 48 00 02 04 */ b lbl_801D60B0 lbl_801D5EB0: /* 801D5EB0 001D1B10 7F 83 E3 78 */ mr r3, r28 /* 801D5EB4 001D1B14 38 80 00 40 */ li r4, 0x40 /* 801D5EB8 001D1B18 4B FF F4 51 */ bl TRKSetBufferPosition /* 801D5EBC 001D1B1C 2C 1F 00 02 */ cmpwi r31, 2 /* 801D5EC0 001D1B20 41 82 00 64 */ beq lbl_801D5F24 /* 801D5EC4 001D1B24 40 80 00 14 */ bge lbl_801D5ED8 /* 801D5EC8 001D1B28 2C 1F 00 00 */ cmpwi r31, 0 /* 801D5ECC 001D1B2C 41 82 00 18 */ beq lbl_801D5EE4 /* 801D5ED0 001D1B30 40 80 00 34 */ bge lbl_801D5F04 /* 801D5ED4 001D1B34 48 00 00 90 */ b lbl_801D5F64 lbl_801D5ED8: /* 801D5ED8 001D1B38 2C 1F 00 04 */ cmpwi r31, 4 /* 801D5EDC 001D1B3C 40 80 00 88 */ bge lbl_801D5F64 /* 801D5EE0 001D1B40 48 00 00 64 */ b lbl_801D5F44 lbl_801D5EE4: /* 801D5EE4 001D1B44 7F C3 F3 78 */ mr r3, r30 /* 801D5EE8 001D1B48 7F A4 EB 78 */ mr r4, r29 /* 801D5EEC 001D1B4C 7F 85 E3 78 */ mr r5, r28 /* 801D5EF0 001D1B50 38 C1 00 08 */ addi r6, r1, 8 /* 801D5EF4 001D1B54 38 E0 00 00 */ li r7, 0 /* 801D5EF8 001D1B58 48 00 28 01 */ bl TRKTargetAccessDefault /* 801D5EFC 001D1B5C 7C 7F 1B 78 */ mr r31, r3 /* 801D5F00 001D1B60 48 00 00 68 */ b lbl_801D5F68 lbl_801D5F04: /* 801D5F04 001D1B64 7F C3 F3 78 */ mr r3, r30 /* 801D5F08 001D1B68 7F A4 EB 78 */ mr r4, r29 /* 801D5F0C 001D1B6C 7F 85 E3 78 */ mr r5, r28 /* 801D5F10 001D1B70 38 C1 00 08 */ addi r6, r1, 8 /* 801D5F14 001D1B74 38 E0 00 00 */ li r7, 0 /* 801D5F18 001D1B78 48 00 22 D5 */ bl TRKTargetAccessFP /* 801D5F1C 001D1B7C 7C 7F 1B 78 */ mr r31, r3 /* 801D5F20 001D1B80 48 00 00 48 */ b lbl_801D5F68 lbl_801D5F24: /* 801D5F24 001D1B84 7F C3 F3 78 */ mr r3, r30 /* 801D5F28 001D1B88 7F A4 EB 78 */ mr r4, r29 /* 801D5F2C 001D1B8C 7F 85 E3 78 */ mr r5, r28 /* 801D5F30 001D1B90 38 C1 00 08 */ addi r6, r1, 8 /* 801D5F34 001D1B94 38 E0 00 00 */ li r7, 0 /* 801D5F38 001D1B98 48 00 21 45 */ bl TRKTargetAccessExtended1 /* 801D5F3C 001D1B9C 7C 7F 1B 78 */ mr r31, r3 /* 801D5F40 001D1BA0 48 00 00 28 */ b lbl_801D5F68 lbl_801D5F44: /* 801D5F44 001D1BA4 7F C3 F3 78 */ mr r3, r30 /* 801D5F48 001D1BA8 7F A4 EB 78 */ mr r4, r29 /* 801D5F4C 001D1BAC 7F 85 E3 78 */ mr r5, r28 /* 801D5F50 001D1BB0 38 C1 00 08 */ addi r6, r1, 8 /* 801D5F54 001D1BB4 38 E0 00 00 */ li r7, 0 /* 801D5F58 001D1BB8 48 00 1C ED */ bl TRKTargetAccessExtended2 /* 801D5F5C 001D1BBC 7C 7F 1B 78 */ mr r31, r3 /* 801D5F60 001D1BC0 48 00 00 08 */ b lbl_801D5F68 lbl_801D5F64: /* 801D5F64 001D1BC4 3B E0 07 03 */ li r31, 0x703 lbl_801D5F68: /* 801D5F68 001D1BC8 7F 83 E3 78 */ mr r3, r28 /* 801D5F6C 001D1BCC 38 80 00 00 */ li r4, 0 /* 801D5F70 001D1BD0 4B FF F3 C9 */ bl TRKResetBuffer /* 801D5F74 001D1BD4 2C 1F 00 00 */ cmpwi r31, 0 /* 801D5F78 001D1BD8 40 82 00 54 */ bne lbl_801D5FCC /* 801D5F7C 001D1BDC 38 61 00 8C */ addi r3, r1, 0x8c /* 801D5F80 001D1BE0 38 80 00 00 */ li r4, 0 /* 801D5F84 001D1BE4 38 A0 00 40 */ li r5, 0x40 /* 801D5F88 001D1BE8 4B E2 E1 AD */ bl TRK_memset /* 801D5F8C 001D1BEC 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D5F90 001D1BF0 38 00 00 40 */ li r0, 0x40 /* 801D5F94 001D1BF4 38 E3 07 E8 */ addi r7, r3, lbl_804907E8@l /* 801D5F98 001D1BF8 38 A0 00 80 */ li r5, 0x80 /* 801D5F9C 001D1BFC 80 C7 00 00 */ lwz r6, 0(r7) /* 801D5FA0 001D1C00 7F 83 E3 78 */ mr r3, r28 /* 801D5FA4 001D1C04 90 01 00 8C */ stw r0, 0x8c(r1) /* 801D5FA8 001D1C08 38 81 00 8C */ addi r4, r1, 0x8c /* 801D5FAC 001D1C0C 38 06 00 01 */ addi r0, r6, 1 /* 801D5FB0 001D1C10 98 A1 00 90 */ stb r5, 0x90(r1) /* 801D5FB4 001D1C14 38 A0 00 40 */ li r5, 0x40 /* 801D5FB8 001D1C18 9B E1 00 94 */ stb r31, 0x94(r1) /* 801D5FBC 001D1C1C 90 07 00 00 */ stw r0, 0(r7) /* 801D5FC0 001D1C20 90 C1 00 98 */ stw r6, 0x98(r1) /* 801D5FC4 001D1C24 4B FF F2 A1 */ bl TRKAppendBuffer /* 801D5FC8 001D1C28 7C 7F 1B 78 */ mr r31, r3 lbl_801D5FCC: /* 801D5FCC 001D1C2C 2C 1F 00 00 */ cmpwi r31, 0 /* 801D5FD0 001D1C30 41 82 00 D8 */ beq lbl_801D60A8 /* 801D5FD4 001D1C34 2C 1F 07 03 */ cmpwi r31, 0x703 /* 801D5FD8 001D1C38 41 82 00 38 */ beq lbl_801D6010 /* 801D5FDC 001D1C3C 40 80 00 1C */ bge lbl_801D5FF8 /* 801D5FE0 001D1C40 2C 1F 07 01 */ cmpwi r31, 0x701 /* 801D5FE4 001D1C44 41 82 00 34 */ beq lbl_801D6018 /* 801D5FE8 001D1C48 40 80 00 40 */ bge lbl_801D6028 /* 801D5FEC 001D1C4C 2C 1F 03 02 */ cmpwi r31, 0x302 /* 801D5FF0 001D1C50 41 82 00 30 */ beq lbl_801D6020 /* 801D5FF4 001D1C54 48 00 00 54 */ b lbl_801D6048 lbl_801D5FF8: /* 801D5FF8 001D1C58 2C 1F 07 06 */ cmpwi r31, 0x706 /* 801D5FFC 001D1C5C 41 82 00 44 */ beq lbl_801D6040 /* 801D6000 001D1C60 40 80 00 48 */ bge lbl_801D6048 /* 801D6004 001D1C64 2C 1F 07 05 */ cmpwi r31, 0x705 /* 801D6008 001D1C68 40 80 00 30 */ bge lbl_801D6038 /* 801D600C 001D1C6C 48 00 00 24 */ b lbl_801D6030 lbl_801D6010: /* 801D6010 001D1C70 3B E0 00 12 */ li r31, 0x12 /* 801D6014 001D1C74 48 00 00 38 */ b lbl_801D604C lbl_801D6018: /* 801D6018 001D1C78 3B E0 00 14 */ li r31, 0x14 /* 801D601C 001D1C7C 48 00 00 30 */ b lbl_801D604C lbl_801D6020: /* 801D6020 001D1C80 3B E0 00 02 */ li r31, 2 /* 801D6024 001D1C84 48 00 00 28 */ b lbl_801D604C lbl_801D6028: /* 801D6028 001D1C88 3B E0 00 15 */ li r31, 0x15 /* 801D602C 001D1C8C 48 00 00 20 */ b lbl_801D604C lbl_801D6030: /* 801D6030 001D1C90 3B E0 00 21 */ li r31, 0x21 /* 801D6034 001D1C94 48 00 00 18 */ b lbl_801D604C lbl_801D6038: /* 801D6038 001D1C98 3B E0 00 22 */ li r31, 0x22 /* 801D603C 001D1C9C 48 00 00 10 */ b lbl_801D604C lbl_801D6040: /* 801D6040 001D1CA0 3B E0 00 20 */ li r31, 0x20 /* 801D6044 001D1CA4 48 00 00 08 */ b lbl_801D604C lbl_801D6048: /* 801D6048 001D1CA8 3B E0 00 03 */ li r31, 3 lbl_801D604C: /* 801D604C 001D1CAC 38 61 00 0C */ addi r3, r1, 0xc /* 801D6050 001D1CB0 38 80 00 00 */ li r4, 0 /* 801D6054 001D1CB4 38 A0 00 40 */ li r5, 0x40 /* 801D6058 001D1CB8 4B E2 E0 DD */ bl TRK_memset /* 801D605C 001D1CBC 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D6060 001D1CC0 38 00 00 80 */ li r0, 0x80 /* 801D6064 001D1CC4 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l /* 801D6068 001D1CC8 38 A0 00 40 */ li r5, 0x40 /* 801D606C 001D1CCC 80 E8 00 00 */ lwz r7, 0(r8) /* 801D6070 001D1CD0 38 61 00 0C */ addi r3, r1, 0xc /* 801D6074 001D1CD4 98 01 00 10 */ stb r0, 0x10(r1) /* 801D6078 001D1CD8 38 80 00 40 */ li r4, 0x40 /* 801D607C 001D1CDC 38 C7 00 01 */ addi r6, r7, 1 /* 801D6080 001D1CE0 90 E1 00 18 */ stw r7, 0x18(r1) /* 801D6084 001D1CE4 38 06 00 01 */ addi r0, r6, 1 /* 801D6088 001D1CE8 90 C8 00 00 */ stw r6, 0(r8) /* 801D608C 001D1CEC 90 A1 00 0C */ stw r5, 0xc(r1) /* 801D6090 001D1CF0 9B E1 00 14 */ stb r31, 0x14(r1) /* 801D6094 001D1CF4 90 08 00 00 */ stw r0, 0(r8) /* 801D6098 001D1CF8 90 C1 00 18 */ stw r6, 0x18(r1) /* 801D609C 001D1CFC 48 00 35 71 */ bl func_801D960C /* 801D60A0 001D1D00 38 60 00 00 */ li r3, 0 /* 801D60A4 001D1D04 48 00 00 0C */ b lbl_801D60B0 lbl_801D60A8: /* 801D60A8 001D1D08 7F 83 E3 78 */ mr r3, r28 /* 801D60AC 001D1D0C 4B FF EC 31 */ bl func_801D4CDC lbl_801D60B0: /* 801D60B0 001D1D10 80 01 00 E4 */ lwz r0, 0xe4(r1) /* 801D60B4 001D1D14 83 E1 00 DC */ lwz r31, 0xdc(r1) /* 801D60B8 001D1D18 83 C1 00 D8 */ lwz r30, 0xd8(r1) /* 801D60BC 001D1D1C 83 A1 00 D4 */ lwz r29, 0xd4(r1) /* 801D60C0 001D1D20 83 81 00 D0 */ lwz r28, 0xd0(r1) /* 801D60C4 001D1D24 7C 08 03 A6 */ mtlr r0 /* 801D60C8 001D1D28 38 21 00 E0 */ addi r1, r1, 0xe0 /* 801D60CC 001D1D2C 4E 80 00 20 */ blr .global func_801D60D0 func_801D60D0: /* 801D60D0 001D1D30 94 21 FF 20 */ stwu r1, -0xe0(r1) /* 801D60D4 001D1D34 7C 08 02 A6 */ mflr r0 /* 801D60D8 001D1D38 90 01 00 E4 */ stw r0, 0xe4(r1) /* 801D60DC 001D1D3C 93 E1 00 DC */ stw r31, 0xdc(r1) /* 801D60E0 001D1D40 7C 7F 1B 78 */ mr r31, r3 /* 801D60E4 001D1D44 A0 83 00 1C */ lhz r4, 0x1c(r3) /* 801D60E8 001D1D48 A0 03 00 20 */ lhz r0, 0x20(r3) /* 801D60EC 001D1D4C 7C 04 00 40 */ cmplw r4, r0 /* 801D60F0 001D1D50 40 81 00 64 */ ble lbl_801D6154 /* 801D60F4 001D1D54 38 61 00 4C */ addi r3, r1, 0x4c /* 801D60F8 001D1D58 38 80 00 00 */ li r4, 0 /* 801D60FC 001D1D5C 38 A0 00 40 */ li r5, 0x40 /* 801D6100 001D1D60 4B E2 E0 35 */ bl TRK_memset /* 801D6104 001D1D64 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D6108 001D1D68 38 00 00 80 */ li r0, 0x80 /* 801D610C 001D1D6C 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l /* 801D6110 001D1D70 38 C0 00 40 */ li r6, 0x40 /* 801D6114 001D1D74 81 09 00 00 */ lwz r8, 0(r9) /* 801D6118 001D1D78 38 A0 00 14 */ li r5, 0x14 /* 801D611C 001D1D7C 98 01 00 50 */ stb r0, 0x50(r1) /* 801D6120 001D1D80 38 61 00 4C */ addi r3, r1, 0x4c /* 801D6124 001D1D84 38 E8 00 01 */ addi r7, r8, 1 /* 801D6128 001D1D88 38 80 00 40 */ li r4, 0x40 /* 801D612C 001D1D8C 91 01 00 58 */ stw r8, 0x58(r1) /* 801D6130 001D1D90 38 07 00 01 */ addi r0, r7, 1 /* 801D6134 001D1D94 90 E9 00 00 */ stw r7, 0(r9) /* 801D6138 001D1D98 90 C1 00 4C */ stw r6, 0x4c(r1) /* 801D613C 001D1D9C 98 A1 00 54 */ stb r5, 0x54(r1) /* 801D6140 001D1DA0 90 09 00 00 */ stw r0, 0(r9) /* 801D6144 001D1DA4 90 E1 00 58 */ stw r7, 0x58(r1) /* 801D6148 001D1DA8 48 00 34 C5 */ bl func_801D960C /* 801D614C 001D1DAC 38 60 00 00 */ li r3, 0 /* 801D6150 001D1DB0 48 00 01 90 */ b lbl_801D62E0 lbl_801D6154: /* 801D6154 001D1DB4 3C 80 80 49 */ lis r4, lbl_804907E8@ha /* 801D6158 001D1DB8 38 00 00 80 */ li r0, 0x80 /* 801D615C 001D1DBC 38 C4 07 E8 */ addi r6, r4, lbl_804907E8@l /* 801D6160 001D1DC0 38 E0 04 68 */ li r7, 0x468 /* 801D6164 001D1DC4 80 A6 00 00 */ lwz r5, 0(r6) /* 801D6168 001D1DC8 38 80 00 00 */ li r4, 0 /* 801D616C 001D1DCC 98 01 00 90 */ stb r0, 0x90(r1) /* 801D6170 001D1DD0 38 05 00 01 */ addi r0, r5, 1 /* 801D6174 001D1DD4 90 E1 00 8C */ stw r7, 0x8c(r1) /* 801D6178 001D1DD8 90 06 00 00 */ stw r0, 0(r6) /* 801D617C 001D1DDC 90 A1 00 98 */ stw r5, 0x98(r1) /* 801D6180 001D1DE0 4B FF F1 B9 */ bl TRKResetBuffer /* 801D6184 001D1DE4 7F E3 FB 78 */ mr r3, r31 /* 801D6188 001D1DE8 38 81 00 8C */ addi r4, r1, 0x8c /* 801D618C 001D1DEC 38 A0 00 40 */ li r5, 0x40 /* 801D6190 001D1DF0 4B FF EE E5 */ bl TRKAppendBuffer_ui8 /* 801D6194 001D1DF4 7F E5 FB 78 */ mr r5, r31 /* 801D6198 001D1DF8 38 C1 00 08 */ addi r6, r1, 8 /* 801D619C 001D1DFC 38 60 00 00 */ li r3, 0 /* 801D61A0 001D1E00 38 80 00 24 */ li r4, 0x24 /* 801D61A4 001D1E04 38 E0 00 01 */ li r7, 1 /* 801D61A8 001D1E08 48 00 25 51 */ bl TRKTargetAccessDefault /* 801D61AC 001D1E0C 2C 03 00 00 */ cmpwi r3, 0 /* 801D61B0 001D1E10 40 82 00 1C */ bne lbl_801D61CC /* 801D61B4 001D1E14 7F E5 FB 78 */ mr r5, r31 /* 801D61B8 001D1E18 38 C1 00 08 */ addi r6, r1, 8 /* 801D61BC 001D1E1C 38 60 00 00 */ li r3, 0 /* 801D61C0 001D1E20 38 80 00 21 */ li r4, 0x21 /* 801D61C4 001D1E24 38 E0 00 01 */ li r7, 1 /* 801D61C8 001D1E28 48 00 20 25 */ bl TRKTargetAccessFP lbl_801D61CC: /* 801D61CC 001D1E2C 2C 03 00 00 */ cmpwi r3, 0 /* 801D61D0 001D1E30 40 82 00 1C */ bne lbl_801D61EC /* 801D61D4 001D1E34 7F E5 FB 78 */ mr r5, r31 /* 801D61D8 001D1E38 38 C1 00 08 */ addi r6, r1, 8 /* 801D61DC 001D1E3C 38 60 00 00 */ li r3, 0 /* 801D61E0 001D1E40 38 80 00 60 */ li r4, 0x60 /* 801D61E4 001D1E44 38 E0 00 01 */ li r7, 1 /* 801D61E8 001D1E48 48 00 1E 95 */ bl TRKTargetAccessExtended1 lbl_801D61EC: /* 801D61EC 001D1E4C 2C 03 00 00 */ cmpwi r3, 0 /* 801D61F0 001D1E50 40 82 00 1C */ bne lbl_801D620C /* 801D61F4 001D1E54 7F E5 FB 78 */ mr r5, r31 /* 801D61F8 001D1E58 38 C1 00 08 */ addi r6, r1, 8 /* 801D61FC 001D1E5C 38 60 00 00 */ li r3, 0 /* 801D6200 001D1E60 38 80 00 1F */ li r4, 0x1f /* 801D6204 001D1E64 38 E0 00 01 */ li r7, 1 /* 801D6208 001D1E68 48 00 1A 3D */ bl TRKTargetAccessExtended2 lbl_801D620C: /* 801D620C 001D1E6C 2C 03 00 00 */ cmpwi r3, 0 /* 801D6210 001D1E70 41 82 00 C8 */ beq lbl_801D62D8 /* 801D6214 001D1E74 2C 03 07 04 */ cmpwi r3, 0x704 /* 801D6218 001D1E78 41 82 00 48 */ beq lbl_801D6260 /* 801D621C 001D1E7C 40 80 00 1C */ bge lbl_801D6238 /* 801D6220 001D1E80 2C 03 07 02 */ cmpwi r3, 0x702 /* 801D6224 001D1E84 41 82 00 34 */ beq lbl_801D6258 /* 801D6228 001D1E88 40 80 00 20 */ bge lbl_801D6248 /* 801D622C 001D1E8C 2C 03 07 01 */ cmpwi r3, 0x701 /* 801D6230 001D1E90 40 80 00 20 */ bge lbl_801D6250 /* 801D6234 001D1E94 48 00 00 44 */ b lbl_801D6278 lbl_801D6238: /* 801D6238 001D1E98 2C 03 07 06 */ cmpwi r3, 0x706 /* 801D623C 001D1E9C 41 82 00 34 */ beq lbl_801D6270 /* 801D6240 001D1EA0 40 80 00 38 */ bge lbl_801D6278 /* 801D6244 001D1EA4 48 00 00 24 */ b lbl_801D6268 lbl_801D6248: /* 801D6248 001D1EA8 3B E0 00 12 */ li r31, 0x12 /* 801D624C 001D1EAC 48 00 00 30 */ b lbl_801D627C lbl_801D6250: /* 801D6250 001D1EB0 3B E0 00 14 */ li r31, 0x14 /* 801D6254 001D1EB4 48 00 00 28 */ b lbl_801D627C lbl_801D6258: /* 801D6258 001D1EB8 3B E0 00 15 */ li r31, 0x15 /* 801D625C 001D1EBC 48 00 00 20 */ b lbl_801D627C lbl_801D6260: /* 801D6260 001D1EC0 3B E0 00 21 */ li r31, 0x21 /* 801D6264 001D1EC4 48 00 00 18 */ b lbl_801D627C lbl_801D6268: /* 801D6268 001D1EC8 3B E0 00 22 */ li r31, 0x22 /* 801D626C 001D1ECC 48 00 00 10 */ b lbl_801D627C lbl_801D6270: /* 801D6270 001D1ED0 3B E0 00 20 */ li r31, 0x20 /* 801D6274 001D1ED4 48 00 00 08 */ b lbl_801D627C lbl_801D6278: /* 801D6278 001D1ED8 3B E0 00 03 */ li r31, 3 lbl_801D627C: /* 801D627C 001D1EDC 38 61 00 0C */ addi r3, r1, 0xc /* 801D6280 001D1EE0 38 80 00 00 */ li r4, 0 /* 801D6284 001D1EE4 38 A0 00 40 */ li r5, 0x40 /* 801D6288 001D1EE8 4B E2 DE AD */ bl TRK_memset /* 801D628C 001D1EEC 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D6290 001D1EF0 38 00 00 80 */ li r0, 0x80 /* 801D6294 001D1EF4 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l /* 801D6298 001D1EF8 38 A0 00 40 */ li r5, 0x40 /* 801D629C 001D1EFC 80 E8 00 00 */ lwz r7, 0(r8) /* 801D62A0 001D1F00 38 61 00 0C */ addi r3, r1, 0xc /* 801D62A4 001D1F04 98 01 00 10 */ stb r0, 0x10(r1) /* 801D62A8 001D1F08 38 80 00 40 */ li r4, 0x40 /* 801D62AC 001D1F0C 38 C7 00 01 */ addi r6, r7, 1 /* 801D62B0 001D1F10 90 E1 00 18 */ stw r7, 0x18(r1) /* 801D62B4 001D1F14 38 06 00 01 */ addi r0, r6, 1 /* 801D62B8 001D1F18 90 C8 00 00 */ stw r6, 0(r8) /* 801D62BC 001D1F1C 90 A1 00 0C */ stw r5, 0xc(r1) /* 801D62C0 001D1F20 9B E1 00 14 */ stb r31, 0x14(r1) /* 801D62C4 001D1F24 90 08 00 00 */ stw r0, 0(r8) /* 801D62C8 001D1F28 90 C1 00 18 */ stw r6, 0x18(r1) /* 801D62CC 001D1F2C 48 00 33 41 */ bl func_801D960C /* 801D62D0 001D1F30 38 60 00 00 */ li r3, 0 /* 801D62D4 001D1F34 48 00 00 0C */ b lbl_801D62E0 lbl_801D62D8: /* 801D62D8 001D1F38 7F E3 FB 78 */ mr r3, r31 /* 801D62DC 001D1F3C 4B FF EA 01 */ bl func_801D4CDC lbl_801D62E0: /* 801D62E0 001D1F40 80 01 00 E4 */ lwz r0, 0xe4(r1) /* 801D62E4 001D1F44 83 E1 00 DC */ lwz r31, 0xdc(r1) /* 801D62E8 001D1F48 7C 08 03 A6 */ mtlr r0 /* 801D62EC 001D1F4C 38 21 00 E0 */ addi r1, r1, 0xe0 /* 801D62F0 001D1F50 4E 80 00 20 */ blr .global func_801D62F4 func_801D62F4: /* 801D62F4 001D1F54 54 2B 06 FE */ clrlwi r11, r1, 0x1b /* 801D62F8 001D1F58 7C 2C 0B 78 */ mr r12, r1 /* 801D62FC 001D1F5C 21 6B F6 C0 */ subfic r11, r11, -2368 /* 801D6300 001D1F60 7C 21 59 6E */ stwux r1, r1, r11 /* 801D6304 001D1F64 7C 08 02 A6 */ mflr r0 /* 801D6308 001D1F68 90 0C 00 04 */ stw r0, 4(r12) /* 801D630C 001D1F6C 93 EC FF FC */ stw r31, -4(r12) /* 801D6310 001D1F70 93 CC FF F8 */ stw r30, -8(r12) /* 801D6314 001D1F74 93 AC FF F4 */ stw r29, -0xc(r12) /* 801D6318 001D1F78 7C 7D 1B 78 */ mr r29, r3 /* 801D631C 001D1F7C 8B E3 00 18 */ lbz r31, 0x18(r3) /* 801D6320 001D1F80 83 C3 00 20 */ lwz r30, 0x20(r3) /* 801D6324 001D1F84 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e /* 801D6328 001D1F88 A0 83 00 1C */ lhz r4, 0x1c(r3) /* 801D632C 001D1F8C 41 82 00 64 */ beq lbl_801D6390 /* 801D6330 001D1F90 38 61 00 64 */ addi r3, r1, 0x64 /* 801D6334 001D1F94 38 80 00 00 */ li r4, 0 /* 801D6338 001D1F98 38 A0 00 40 */ li r5, 0x40 /* 801D633C 001D1F9C 4B E2 DD F9 */ bl TRK_memset /* 801D6340 001D1FA0 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D6344 001D1FA4 38 00 00 80 */ li r0, 0x80 /* 801D6348 001D1FA8 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l /* 801D634C 001D1FAC 38 C0 00 40 */ li r6, 0x40 /* 801D6350 001D1FB0 81 09 00 00 */ lwz r8, 0(r9) /* 801D6354 001D1FB4 38 A0 00 12 */ li r5, 0x12 /* 801D6358 001D1FB8 98 01 00 68 */ stb r0, 0x68(r1) /* 801D635C 001D1FBC 38 61 00 64 */ addi r3, r1, 0x64 /* 801D6360 001D1FC0 38 E8 00 01 */ addi r7, r8, 1 /* 801D6364 001D1FC4 38 80 00 40 */ li r4, 0x40 /* 801D6368 001D1FC8 91 01 00 70 */ stw r8, 0x70(r1) /* 801D636C 001D1FCC 38 07 00 01 */ addi r0, r7, 1 /* 801D6370 001D1FD0 90 E9 00 00 */ stw r7, 0(r9) /* 801D6374 001D1FD4 90 C1 00 64 */ stw r6, 0x64(r1) /* 801D6378 001D1FD8 98 A1 00 6C */ stb r5, 0x6c(r1) /* 801D637C 001D1FDC 90 09 00 00 */ stw r0, 0(r9) /* 801D6380 001D1FE0 90 E1 00 70 */ stw r7, 0x70(r1) /* 801D6384 001D1FE4 48 00 32 89 */ bl func_801D960C /* 801D6388 001D1FE8 38 60 00 00 */ li r3, 0 /* 801D638C 001D1FEC 48 00 01 64 */ b lbl_801D64F0 lbl_801D6390: /* 801D6390 001D1FF0 90 81 00 20 */ stw r4, 0x20(r1) /* 801D6394 001D1FF4 38 80 00 40 */ li r4, 0x40 /* 801D6398 001D1FF8 4B FF EF 71 */ bl TRKSetBufferPosition /* 801D639C 001D1FFC 80 A1 00 20 */ lwz r5, 0x20(r1) /* 801D63A0 001D2000 7F A3 EB 78 */ mr r3, r29 /* 801D63A4 001D2004 38 81 01 00 */ addi r4, r1, 0x100 /* 801D63A8 001D2008 4B FF EE 31 */ bl TRKReadBuffer /* 801D63AC 001D200C 57 E0 EF FE */ rlwinm r0, r31, 0x1d, 0x1f, 0x1f /* 801D63B0 001D2010 7F C4 F3 78 */ mr r4, r30 /* 801D63B4 001D2014 38 61 01 00 */ addi r3, r1, 0x100 /* 801D63B8 001D2018 38 A1 00 20 */ addi r5, r1, 0x20 /* 801D63BC 001D201C 68 06 00 01 */ xori r6, r0, 1 /* 801D63C0 001D2020 38 E0 00 00 */ li r7, 0 /* 801D63C4 001D2024 48 00 24 75 */ bl TRKTargetAccessMemory /* 801D63C8 001D2028 7C 60 1B 78 */ mr r0, r3 /* 801D63CC 001D202C 7F A3 EB 78 */ mr r3, r29 /* 801D63D0 001D2030 7C 1F 03 78 */ mr r31, r0 /* 801D63D4 001D2034 38 80 00 00 */ li r4, 0 /* 801D63D8 001D2038 4B FF EF 61 */ bl TRKResetBuffer /* 801D63DC 001D203C 2C 1F 00 00 */ cmpwi r31, 0 /* 801D63E0 001D2040 40 82 00 54 */ bne lbl_801D6434 /* 801D63E4 001D2044 38 61 00 A4 */ addi r3, r1, 0xa4 /* 801D63E8 001D2048 38 80 00 00 */ li r4, 0 /* 801D63EC 001D204C 38 A0 00 40 */ li r5, 0x40 /* 801D63F0 001D2050 4B E2 DD 45 */ bl TRK_memset /* 801D63F4 001D2054 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D63F8 001D2058 38 00 00 40 */ li r0, 0x40 /* 801D63FC 001D205C 38 E3 07 E8 */ addi r7, r3, lbl_804907E8@l /* 801D6400 001D2060 38 A0 00 80 */ li r5, 0x80 /* 801D6404 001D2064 80 C7 00 00 */ lwz r6, 0(r7) /* 801D6408 001D2068 7F A3 EB 78 */ mr r3, r29 /* 801D640C 001D206C 90 01 00 A4 */ stw r0, 0xa4(r1) /* 801D6410 001D2070 38 81 00 A4 */ addi r4, r1, 0xa4 /* 801D6414 001D2074 38 06 00 01 */ addi r0, r6, 1 /* 801D6418 001D2078 98 A1 00 A8 */ stb r5, 0xa8(r1) /* 801D641C 001D207C 38 A0 00 40 */ li r5, 0x40 /* 801D6420 001D2080 9B E1 00 AC */ stb r31, 0xac(r1) /* 801D6424 001D2084 90 07 00 00 */ stw r0, 0(r7) /* 801D6428 001D2088 90 C1 00 B0 */ stw r6, 0xb0(r1) /* 801D642C 001D208C 4B FF EE 39 */ bl TRKAppendBuffer /* 801D6430 001D2090 7C 7F 1B 78 */ mr r31, r3 lbl_801D6434: /* 801D6434 001D2094 2C 1F 00 00 */ cmpwi r31, 0 /* 801D6438 001D2098 41 82 00 B0 */ beq lbl_801D64E8 /* 801D643C 001D209C 38 1F F9 00 */ addi r0, r31, -1792 /* 801D6440 001D20A0 28 00 00 06 */ cmplwi r0, 6 /* 801D6444 001D20A4 41 81 00 44 */ bgt lbl_801D6488 /* 801D6448 001D20A8 3C 60 80 42 */ lis r3, lbl_804231F8@ha /* 801D644C 001D20AC 54 00 10 3A */ slwi r0, r0, 2 /* 801D6450 001D20B0 38 63 31 F8 */ addi r3, r3, lbl_804231F8@l /* 801D6454 001D20B4 7C 03 00 2E */ lwzx r0, r3, r0 /* 801D6458 001D20B8 7C 09 03 A6 */ mtctr r0 /* 801D645C 001D20BC 4E 80 04 20 */ bctr /* 801D6460 001D20C0 3B E0 00 15 */ li r31, 0x15 /* 801D6464 001D20C4 48 00 00 28 */ b lbl_801D648C /* 801D6468 001D20C8 3B E0 00 13 */ li r31, 0x13 /* 801D646C 001D20CC 48 00 00 20 */ b lbl_801D648C /* 801D6470 001D20D0 3B E0 00 21 */ li r31, 0x21 /* 801D6474 001D20D4 48 00 00 18 */ b lbl_801D648C /* 801D6478 001D20D8 3B E0 00 22 */ li r31, 0x22 /* 801D647C 001D20DC 48 00 00 10 */ b lbl_801D648C /* 801D6480 001D20E0 3B E0 00 20 */ li r31, 0x20 /* 801D6484 001D20E4 48 00 00 08 */ b lbl_801D648C lbl_801D6488: /* 801D6488 001D20E8 3B E0 00 03 */ li r31, 3 lbl_801D648C: /* 801D648C 001D20EC 38 61 00 24 */ addi r3, r1, 0x24 /* 801D6490 001D20F0 38 80 00 00 */ li r4, 0 /* 801D6494 001D20F4 38 A0 00 40 */ li r5, 0x40 /* 801D6498 001D20F8 4B E2 DC 9D */ bl TRK_memset /* 801D649C 001D20FC 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D64A0 001D2100 38 00 00 80 */ li r0, 0x80 /* 801D64A4 001D2104 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l /* 801D64A8 001D2108 38 A0 00 40 */ li r5, 0x40 /* 801D64AC 001D210C 80 E8 00 00 */ lwz r7, 0(r8) /* 801D64B0 001D2110 38 61 00 24 */ addi r3, r1, 0x24 /* 801D64B4 001D2114 98 01 00 28 */ stb r0, 0x28(r1) /* 801D64B8 001D2118 38 80 00 40 */ li r4, 0x40 /* 801D64BC 001D211C 38 C7 00 01 */ addi r6, r7, 1 /* 801D64C0 001D2120 90 E1 00 30 */ stw r7, 0x30(r1) /* 801D64C4 001D2124 38 06 00 01 */ addi r0, r6, 1 /* 801D64C8 001D2128 90 C8 00 00 */ stw r6, 0(r8) /* 801D64CC 001D212C 90 A1 00 24 */ stw r5, 0x24(r1) /* 801D64D0 001D2130 9B E1 00 2C */ stb r31, 0x2c(r1) /* 801D64D4 001D2134 90 08 00 00 */ stw r0, 0(r8) /* 801D64D8 001D2138 90 C1 00 30 */ stw r6, 0x30(r1) /* 801D64DC 001D213C 48 00 31 31 */ bl func_801D960C /* 801D64E0 001D2140 38 60 00 00 */ li r3, 0 /* 801D64E4 001D2144 48 00 00 0C */ b lbl_801D64F0 lbl_801D64E8: /* 801D64E8 001D2148 7F A3 EB 78 */ mr r3, r29 /* 801D64EC 001D214C 4B FF E7 F1 */ bl func_801D4CDC lbl_801D64F0: /* 801D64F0 001D2150 81 41 00 00 */ lwz r10, 0(r1) /* 801D64F4 001D2154 80 0A 00 04 */ lwz r0, 4(r10) /* 801D64F8 001D2158 83 EA FF FC */ lwz r31, -4(r10) /* 801D64FC 001D215C 83 CA FF F8 */ lwz r30, -8(r10) /* 801D6500 001D2160 83 AA FF F4 */ lwz r29, -0xc(r10) /* 801D6504 001D2164 7C 08 03 A6 */ mtlr r0 /* 801D6508 001D2168 7D 41 53 78 */ mr r1, r10 /* 801D650C 001D216C 4E 80 00 20 */ blr .global func_801D6510 func_801D6510: /* 801D6510 001D2170 54 2B 06 FE */ clrlwi r11, r1, 0x1b /* 801D6514 001D2174 7C 2C 0B 78 */ mr r12, r1 /* 801D6518 001D2178 21 6B F6 C0 */ subfic r11, r11, -2368 /* 801D651C 001D217C 7C 21 59 6E */ stwux r1, r1, r11 /* 801D6520 001D2180 7C 08 02 A6 */ mflr r0 /* 801D6524 001D2184 90 0C 00 04 */ stw r0, 4(r12) /* 801D6528 001D2188 93 EC FF FC */ stw r31, -4(r12) /* 801D652C 001D218C 7C 7F 1B 78 */ mr r31, r3 /* 801D6530 001D2190 93 CC FF F8 */ stw r30, -8(r12) /* 801D6534 001D2194 93 AC FF F4 */ stw r29, -0xc(r12) /* 801D6538 001D2198 93 8C FF F0 */ stw r28, -0x10(r12) /* 801D653C 001D219C 8B C3 00 18 */ lbz r30, 0x18(r3) /* 801D6540 001D21A0 83 83 00 20 */ lwz r28, 0x20(r3) /* 801D6544 001D21A4 57 C0 07 BD */ rlwinm. r0, r30, 0, 0x1e, 0x1e /* 801D6548 001D21A8 A0 63 00 1C */ lhz r3, 0x1c(r3) /* 801D654C 001D21AC 41 82 00 64 */ beq lbl_801D65B0 /* 801D6550 001D21B0 38 61 00 64 */ addi r3, r1, 0x64 /* 801D6554 001D21B4 38 80 00 00 */ li r4, 0 /* 801D6558 001D21B8 38 A0 00 40 */ li r5, 0x40 /* 801D655C 001D21BC 4B E2 DB D9 */ bl TRK_memset /* 801D6560 001D21C0 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D6564 001D21C4 38 00 00 80 */ li r0, 0x80 /* 801D6568 001D21C8 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l /* 801D656C 001D21CC 38 C0 00 40 */ li r6, 0x40 /* 801D6570 001D21D0 81 09 00 00 */ lwz r8, 0(r9) /* 801D6574 001D21D4 38 A0 00 12 */ li r5, 0x12 /* 801D6578 001D21D8 98 01 00 68 */ stb r0, 0x68(r1) /* 801D657C 001D21DC 38 61 00 64 */ addi r3, r1, 0x64 /* 801D6580 001D21E0 38 E8 00 01 */ addi r7, r8, 1 /* 801D6584 001D21E4 38 80 00 40 */ li r4, 0x40 /* 801D6588 001D21E8 91 01 00 70 */ stw r8, 0x70(r1) /* 801D658C 001D21EC 38 07 00 01 */ addi r0, r7, 1 /* 801D6590 001D21F0 90 E9 00 00 */ stw r7, 0(r9) /* 801D6594 001D21F4 90 C1 00 64 */ stw r6, 0x64(r1) /* 801D6598 001D21F8 98 A1 00 6C */ stb r5, 0x6c(r1) /* 801D659C 001D21FC 90 09 00 00 */ stw r0, 0(r9) /* 801D65A0 001D2200 90 E1 00 70 */ stw r7, 0x70(r1) /* 801D65A4 001D2204 48 00 30 69 */ bl func_801D960C /* 801D65A8 001D2208 38 60 00 00 */ li r3, 0 /* 801D65AC 001D220C 48 00 01 88 */ b lbl_801D6734 lbl_801D65B0: /* 801D65B0 001D2210 57 C0 EF FE */ rlwinm r0, r30, 0x1d, 0x1f, 0x1f /* 801D65B4 001D2214 90 61 00 20 */ stw r3, 0x20(r1) /* 801D65B8 001D2218 7F 84 E3 78 */ mr r4, r28 /* 801D65BC 001D221C 38 61 01 00 */ addi r3, r1, 0x100 /* 801D65C0 001D2220 38 A1 00 20 */ addi r5, r1, 0x20 /* 801D65C4 001D2224 68 06 00 01 */ xori r6, r0, 1 /* 801D65C8 001D2228 38 E0 00 01 */ li r7, 1 /* 801D65CC 001D222C 48 00 22 6D */ bl TRKTargetAccessMemory /* 801D65D0 001D2230 7C 60 1B 78 */ mr r0, r3 /* 801D65D4 001D2234 7F E3 FB 78 */ mr r3, r31 /* 801D65D8 001D2238 7C 1D 03 78 */ mr r29, r0 /* 801D65DC 001D223C 38 80 00 00 */ li r4, 0 /* 801D65E0 001D2240 4B FF ED 59 */ bl TRKResetBuffer /* 801D65E4 001D2244 2C 1D 00 00 */ cmpwi r29, 0 /* 801D65E8 001D2248 40 82 00 90 */ bne lbl_801D6678 /* 801D65EC 001D224C 38 61 00 A4 */ addi r3, r1, 0xa4 /* 801D65F0 001D2250 38 80 00 00 */ li r4, 0 /* 801D65F4 001D2254 38 A0 00 40 */ li r5, 0x40 /* 801D65F8 001D2258 4B E2 DB 3D */ bl TRK_memset /* 801D65FC 001D225C 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D6600 001D2260 80 81 00 20 */ lwz r4, 0x20(r1) /* 801D6604 001D2264 38 E3 07 E8 */ addi r7, r3, lbl_804907E8@l /* 801D6608 001D2268 39 00 00 80 */ li r8, 0x80 /* 801D660C 001D226C 80 C7 00 00 */ lwz r6, 0(r7) /* 801D6610 001D2270 38 04 00 40 */ addi r0, r4, 0x40 /* 801D6614 001D2274 90 01 00 A4 */ stw r0, 0xa4(r1) /* 801D6618 001D2278 7F E3 FB 78 */ mr r3, r31 /* 801D661C 001D227C 38 06 00 01 */ addi r0, r6, 1 /* 801D6620 001D2280 38 81 00 A4 */ addi r4, r1, 0xa4 /* 801D6624 001D2284 9B A1 00 AC */ stb r29, 0xac(r1) /* 801D6628 001D2288 38 A0 00 40 */ li r5, 0x40 /* 801D662C 001D228C 99 01 00 A8 */ stb r8, 0xa8(r1) /* 801D6630 001D2290 90 07 00 00 */ stw r0, 0(r7) /* 801D6634 001D2294 90 C1 00 B0 */ stw r6, 0xb0(r1) /* 801D6638 001D2298 4B FF EC 2D */ bl TRKAppendBuffer /* 801D663C 001D229C 57 C0 06 73 */ rlwinm. r0, r30, 0, 0x19, 0x19 /* 801D6640 001D22A0 41 82 00 24 */ beq lbl_801D6664 /* 801D6644 001D22A4 57 80 06 FE */ clrlwi r0, r28, 0x1b /* 801D6648 001D22A8 38 81 01 00 */ addi r4, r1, 0x100 /* 801D664C 001D22AC 80 A1 00 20 */ lwz r5, 0x20(r1) /* 801D6650 001D22B0 7F E3 FB 78 */ mr r3, r31 /* 801D6654 001D22B4 7C 84 02 14 */ add r4, r4, r0 /* 801D6658 001D22B8 4B FF EC 0D */ bl TRKAppendBuffer /* 801D665C 001D22BC 7C 7D 1B 78 */ mr r29, r3 /* 801D6660 001D22C0 48 00 00 18 */ b lbl_801D6678 lbl_801D6664: /* 801D6664 001D22C4 80 A1 00 20 */ lwz r5, 0x20(r1) /* 801D6668 001D22C8 7F E3 FB 78 */ mr r3, r31 /* 801D666C 001D22CC 38 81 01 00 */ addi r4, r1, 0x100 /* 801D6670 001D22D0 4B FF EB F5 */ bl TRKAppendBuffer /* 801D6674 001D22D4 7C 7D 1B 78 */ mr r29, r3 lbl_801D6678: /* 801D6678 001D22D8 2C 1D 00 00 */ cmpwi r29, 0 /* 801D667C 001D22DC 41 82 00 B0 */ beq lbl_801D672C /* 801D6680 001D22E0 38 1D F9 00 */ addi r0, r29, -1792 /* 801D6684 001D22E4 28 00 00 06 */ cmplwi r0, 6 /* 801D6688 001D22E8 41 81 00 44 */ bgt lbl_801D66CC /* 801D668C 001D22EC 3C 60 80 42 */ lis r3, lbl_80423214@ha /* 801D6690 001D22F0 54 00 10 3A */ slwi r0, r0, 2 /* 801D6694 001D22F4 38 63 32 14 */ addi r3, r3, lbl_80423214@l /* 801D6698 001D22F8 7C 03 00 2E */ lwzx r0, r3, r0 /* 801D669C 001D22FC 7C 09 03 A6 */ mtctr r0 /* 801D66A0 001D2300 4E 80 04 20 */ bctr /* 801D66A4 001D2304 3B A0 00 15 */ li r29, 0x15 /* 801D66A8 001D2308 48 00 00 28 */ b lbl_801D66D0 /* 801D66AC 001D230C 3B A0 00 13 */ li r29, 0x13 /* 801D66B0 001D2310 48 00 00 20 */ b lbl_801D66D0 /* 801D66B4 001D2314 3B A0 00 21 */ li r29, 0x21 /* 801D66B8 001D2318 48 00 00 18 */ b lbl_801D66D0 /* 801D66BC 001D231C 3B A0 00 22 */ li r29, 0x22 /* 801D66C0 001D2320 48 00 00 10 */ b lbl_801D66D0 /* 801D66C4 001D2324 3B A0 00 20 */ li r29, 0x20 /* 801D66C8 001D2328 48 00 00 08 */ b lbl_801D66D0 lbl_801D66CC: /* 801D66CC 001D232C 3B A0 00 03 */ li r29, 3 lbl_801D66D0: /* 801D66D0 001D2330 38 61 00 24 */ addi r3, r1, 0x24 /* 801D66D4 001D2334 38 80 00 00 */ li r4, 0 /* 801D66D8 001D2338 38 A0 00 40 */ li r5, 0x40 /* 801D66DC 001D233C 4B E2 DA 59 */ bl TRK_memset /* 801D66E0 001D2340 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D66E4 001D2344 38 00 00 80 */ li r0, 0x80 /* 801D66E8 001D2348 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l /* 801D66EC 001D234C 38 A0 00 40 */ li r5, 0x40 /* 801D66F0 001D2350 80 E8 00 00 */ lwz r7, 0(r8) /* 801D66F4 001D2354 38 61 00 24 */ addi r3, r1, 0x24 /* 801D66F8 001D2358 98 01 00 28 */ stb r0, 0x28(r1) /* 801D66FC 001D235C 38 80 00 40 */ li r4, 0x40 /* 801D6700 001D2360 38 C7 00 01 */ addi r6, r7, 1 /* 801D6704 001D2364 90 E1 00 30 */ stw r7, 0x30(r1) /* 801D6708 001D2368 38 06 00 01 */ addi r0, r6, 1 /* 801D670C 001D236C 90 C8 00 00 */ stw r6, 0(r8) /* 801D6710 001D2370 90 A1 00 24 */ stw r5, 0x24(r1) /* 801D6714 001D2374 9B A1 00 2C */ stb r29, 0x2c(r1) /* 801D6718 001D2378 90 08 00 00 */ stw r0, 0(r8) /* 801D671C 001D237C 90 C1 00 30 */ stw r6, 0x30(r1) /* 801D6720 001D2380 48 00 2E ED */ bl func_801D960C /* 801D6724 001D2384 38 60 00 00 */ li r3, 0 /* 801D6728 001D2388 48 00 00 0C */ b lbl_801D6734 lbl_801D672C: /* 801D672C 001D238C 7F E3 FB 78 */ mr r3, r31 /* 801D6730 001D2390 4B FF E5 AD */ bl func_801D4CDC lbl_801D6734: /* 801D6734 001D2394 81 41 00 00 */ lwz r10, 0(r1) /* 801D6738 001D2398 80 0A 00 04 */ lwz r0, 4(r10) /* 801D673C 001D239C 83 EA FF FC */ lwz r31, -4(r10) /* 801D6740 001D23A0 83 CA FF F8 */ lwz r30, -8(r10) /* 801D6744 001D23A4 83 AA FF F4 */ lwz r29, -0xc(r10) /* 801D6748 001D23A8 83 8A FF F0 */ lwz r28, -0x10(r10) /* 801D674C 001D23AC 7C 08 03 A6 */ mtlr r0 /* 801D6750 001D23B0 7D 41 53 78 */ mr r1, r10 /* 801D6754 001D23B4 4E 80 00 20 */ blr .global func_801D6758 func_801D6758: /* 801D6758 001D23B8 38 60 00 00 */ li r3, 0 /* 801D675C 001D23BC 4E 80 00 20 */ blr .global func_801D6760 func_801D6760: /* 801D6760 001D23C0 38 60 00 00 */ li r3, 0 /* 801D6764 001D23C4 4E 80 00 20 */ blr .global func_801D6768 func_801D6768: /* 801D6768 001D23C8 94 21 FF B0 */ stwu r1, -0x50(r1) /* 801D676C 001D23CC 7C 08 02 A6 */ mflr r0 /* 801D6770 001D23D0 38 80 00 00 */ li r4, 0 /* 801D6774 001D23D4 38 A0 00 40 */ li r5, 0x40 /* 801D6778 001D23D8 90 01 00 54 */ stw r0, 0x54(r1) /* 801D677C 001D23DC 38 61 00 08 */ addi r3, r1, 8 /* 801D6780 001D23E0 4B E2 D9 B5 */ bl TRK_memset /* 801D6784 001D23E4 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D6788 001D23E8 38 00 00 80 */ li r0, 0x80 /* 801D678C 001D23EC 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l /* 801D6790 001D23F0 38 C0 00 40 */ li r6, 0x40 /* 801D6794 001D23F4 81 09 00 00 */ lwz r8, 0(r9) /* 801D6798 001D23F8 38 A0 00 00 */ li r5, 0 /* 801D679C 001D23FC 98 01 00 0C */ stb r0, 0xc(r1) /* 801D67A0 001D2400 38 61 00 08 */ addi r3, r1, 8 /* 801D67A4 001D2404 38 E8 00 01 */ addi r7, r8, 1 /* 801D67A8 001D2408 38 80 00 40 */ li r4, 0x40 /* 801D67AC 001D240C 91 01 00 14 */ stw r8, 0x14(r1) /* 801D67B0 001D2410 38 07 00 01 */ addi r0, r7, 1 /* 801D67B4 001D2414 90 E9 00 00 */ stw r7, 0(r9) /* 801D67B8 001D2418 90 C1 00 08 */ stw r6, 8(r1) /* 801D67BC 001D241C 98 A1 00 10 */ stb r5, 0x10(r1) /* 801D67C0 001D2420 90 09 00 00 */ stw r0, 0(r9) /* 801D67C4 001D2424 90 E1 00 14 */ stw r7, 0x14(r1) /* 801D67C8 001D2428 48 00 2E 45 */ bl func_801D960C /* 801D67CC 001D242C 48 00 2A E5 */ bl __TRK_copy_vectors /* 801D67D0 001D2430 80 01 00 54 */ lwz r0, 0x54(r1) /* 801D67D4 001D2434 38 60 00 00 */ li r3, 0 /* 801D67D8 001D2438 7C 08 03 A6 */ mtlr r0 /* 801D67DC 001D243C 38 21 00 50 */ addi r1, r1, 0x50 /* 801D67E0 001D2440 4E 80 00 20 */ blr .global func_801D67E4 func_801D67E4: /* 801D67E4 001D2444 94 21 FF B0 */ stwu r1, -0x50(r1) /* 801D67E8 001D2448 7C 08 02 A6 */ mflr r0 /* 801D67EC 001D244C 38 80 00 00 */ li r4, 0 /* 801D67F0 001D2450 38 A0 00 40 */ li r5, 0x40 /* 801D67F4 001D2454 90 01 00 54 */ stw r0, 0x54(r1) /* 801D67F8 001D2458 38 61 00 08 */ addi r3, r1, 8 /* 801D67FC 001D245C 4B E2 D9 39 */ bl TRK_memset /* 801D6800 001D2460 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D6804 001D2464 38 00 00 80 */ li r0, 0x80 /* 801D6808 001D2468 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l /* 801D680C 001D246C 38 C0 00 40 */ li r6, 0x40 /* 801D6810 001D2470 81 09 00 00 */ lwz r8, 0(r9) /* 801D6814 001D2474 38 A0 00 00 */ li r5, 0 /* 801D6818 001D2478 98 01 00 0C */ stb r0, 0xc(r1) /* 801D681C 001D247C 38 61 00 08 */ addi r3, r1, 8 /* 801D6820 001D2480 38 E8 00 01 */ addi r7, r8, 1 /* 801D6824 001D2484 38 80 00 40 */ li r4, 0x40 /* 801D6828 001D2488 91 01 00 14 */ stw r8, 0x14(r1) /* 801D682C 001D248C 38 07 00 01 */ addi r0, r7, 1 /* 801D6830 001D2490 90 E9 00 00 */ stw r7, 0(r9) /* 801D6834 001D2494 90 C1 00 08 */ stw r6, 8(r1) /* 801D6838 001D2498 98 A1 00 10 */ stb r5, 0x10(r1) /* 801D683C 001D249C 90 09 00 00 */ stw r0, 0(r9) /* 801D6840 001D24A0 90 E1 00 14 */ stw r7, 0x14(r1) /* 801D6844 001D24A4 48 00 2D C9 */ bl func_801D960C /* 801D6848 001D24A8 4B E2 F8 75 */ bl __TRK_reset /* 801D684C 001D24AC 80 01 00 54 */ lwz r0, 0x54(r1) /* 801D6850 001D24B0 38 60 00 00 */ li r3, 0 /* 801D6854 001D24B4 7C 08 03 A6 */ mtlr r0 /* 801D6858 001D24B8 38 21 00 50 */ addi r1, r1, 0x50 /* 801D685C 001D24BC 4E 80 00 20 */ blr .global func_801D6860 func_801D6860: /* 801D6860 001D24C0 94 21 FF A0 */ stwu r1, -0x60(r1) /* 801D6864 001D24C4 7C 08 02 A6 */ mflr r0 /* 801D6868 001D24C8 3C 60 80 49 */ lis r3, lbl_804907EC@ha /* 801D686C 001D24CC 38 A0 00 40 */ li r5, 0x40 /* 801D6870 001D24D0 90 01 00 64 */ stw r0, 0x64(r1) /* 801D6874 001D24D4 38 83 07 EC */ addi r4, r3, lbl_804907EC@l /* 801D6878 001D24D8 38 00 00 00 */ li r0, 0 /* 801D687C 001D24DC 38 61 00 14 */ addi r3, r1, 0x14 /* 801D6880 001D24E0 90 04 00 00 */ stw r0, 0(r4) /* 801D6884 001D24E4 38 80 00 00 */ li r4, 0 /* 801D6888 001D24E8 4B E2 D8 AD */ bl TRK_memset /* 801D688C 001D24EC 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D6890 001D24F0 38 00 00 80 */ li r0, 0x80 /* 801D6894 001D24F4 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l /* 801D6898 001D24F8 38 C0 00 40 */ li r6, 0x40 /* 801D689C 001D24FC 81 09 00 00 */ lwz r8, 0(r9) /* 801D68A0 001D2500 38 A0 00 00 */ li r5, 0 /* 801D68A4 001D2504 98 01 00 18 */ stb r0, 0x18(r1) /* 801D68A8 001D2508 38 61 00 14 */ addi r3, r1, 0x14 /* 801D68AC 001D250C 38 E8 00 01 */ addi r7, r8, 1 /* 801D68B0 001D2510 38 80 00 40 */ li r4, 0x40 /* 801D68B4 001D2514 91 01 00 20 */ stw r8, 0x20(r1) /* 801D68B8 001D2518 38 07 00 01 */ addi r0, r7, 1 /* 801D68BC 001D251C 90 E9 00 00 */ stw r7, 0(r9) /* 801D68C0 001D2520 90 C1 00 14 */ stw r6, 0x14(r1) /* 801D68C4 001D2524 98 A1 00 1C */ stb r5, 0x1c(r1) /* 801D68C8 001D2528 90 09 00 00 */ stw r0, 0(r9) /* 801D68CC 001D252C 90 E1 00 20 */ stw r7, 0x20(r1) /* 801D68D0 001D2530 48 00 2D 3D */ bl func_801D960C /* 801D68D4 001D2534 38 61 00 08 */ addi r3, r1, 8 /* 801D68D8 001D2538 38 80 00 01 */ li r4, 1 /* 801D68DC 001D253C 4B FF E0 79 */ bl TRKConstructEvent /* 801D68E0 001D2540 38 61 00 08 */ addi r3, r1, 8 /* 801D68E4 001D2544 4B FF E0 89 */ bl TRKPostEvent /* 801D68E8 001D2548 80 01 00 64 */ lwz r0, 0x64(r1) /* 801D68EC 001D254C 38 60 00 00 */ li r3, 0 /* 801D68F0 001D2550 7C 08 03 A6 */ mtlr r0 /* 801D68F4 001D2554 38 21 00 60 */ addi r1, r1, 0x60 /* 801D68F8 001D2558 4E 80 00 20 */ blr .global func_801D68FC func_801D68FC: /* 801D68FC 001D255C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 801D6900 001D2560 7C 08 02 A6 */ mflr r0 /* 801D6904 001D2564 3C 60 80 49 */ lis r3, lbl_804907EC@ha /* 801D6908 001D2568 38 A0 00 40 */ li r5, 0x40 /* 801D690C 001D256C 90 01 00 54 */ stw r0, 0x54(r1) /* 801D6910 001D2570 38 83 07 EC */ addi r4, r3, lbl_804907EC@l /* 801D6914 001D2574 38 00 00 01 */ li r0, 1 /* 801D6918 001D2578 38 61 00 08 */ addi r3, r1, 8 /* 801D691C 001D257C 90 04 00 00 */ stw r0, 0(r4) /* 801D6920 001D2580 38 80 00 00 */ li r4, 0 /* 801D6924 001D2584 4B E2 D8 11 */ bl TRK_memset /* 801D6928 001D2588 3C 60 80 49 */ lis r3, lbl_804907E8@ha /* 801D692C 001D258C 38 00 00 80 */ li r0, 0x80 /* 801D6930 001D2590 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l /* 801D6934 001D2594 38 C0 00 40 */ li r6, 0x40 /* 801D6938 001D2598 81 09 00 00 */ lwz r8, 0(r9) /* 801D693C 001D259C 38 A0 00 00 */ li r5, 0 /* 801D6940 001D25A0 98 01 00 0C */ stb r0, 0xc(r1) /* 801D6944 001D25A4 38 61 00 08 */ addi r3, r1, 8 /* 801D6948 001D25A8 38 E8 00 01 */ addi r7, r8, 1 /* 801D694C 001D25AC 38 80 00 40 */ li r4, 0x40 /* 801D6950 001D25B0 91 01 00 14 */ stw r8, 0x14(r1) /* 801D6954 001D25B4 38 07 00 01 */ addi r0, r7, 1 /* 801D6958 001D25B8 90 E9 00 00 */ stw r7, 0(r9) /* 801D695C 001D25BC 90 C1 00 08 */ stw r6, 8(r1) /* 801D6960 001D25C0 98 A1 00 10 */ stb r5, 0x10(r1) /* 801D6964 001D25C4 90 09 00 00 */ stw r0, 0(r9) /* 801D6968 001D25C8 90 E1 00 14 */ stw r7, 0x14(r1) /* 801D696C 001D25CC 48 00 2C A1 */ bl func_801D960C /* 801D6970 001D25D0 80 01 00 54 */ lwz r0, 0x54(r1) /* 801D6974 001D25D4 38 60 00 00 */ li r3, 0 /* 801D6978 001D25D8 7C 08 03 A6 */ mtlr r0 /* 801D697C 001D25DC 38 21 00 50 */ addi r1, r1, 0x50 /* 801D6980 001D25E0 4E 80 00 20 */ blr .global SetTRKConnected SetTRKConnected: /* 801D6984 001D25E4 3C 80 80 49 */ lis r4, lbl_804907EC@ha /* 801D6988 001D25E8 90 64 07 EC */ stw r3, lbl_804907EC@l(r4) /* 801D698C 001D25EC 4E 80 00 20 */ blr .global func_801D6990 func_801D6990: /* 801D6990 001D25F0 3C 60 80 49 */ lis r3, lbl_804907EC@ha /* 801D6994 001D25F4 38 63 07 EC */ addi r3, r3, lbl_804907EC@l /* 801D6998 001D25F8 80 63 00 00 */ lwz r3, 0(r3) /* 801D699C 001D25FC 4E 80 00 20 */ blr .global HandlePositionFileSupportRequest HandlePositionFileSupportRequest: /* 801D69A0 001D2600 94 21 FF 90 */ stwu r1, -0x70(r1) /* 801D69A4 001D2604 7C 08 02 A6 */ mflr r0 /* 801D69A8 001D2608 90 01 00 74 */ stw r0, 0x74(r1) /* 801D69AC 001D260C 93 E1 00 6C */ stw r31, 0x6c(r1) /* 801D69B0 001D2610 7C BF 2B 78 */ mr r31, r5 /* 801D69B4 001D2614 38 A0 00 40 */ li r5, 0x40 /* 801D69B8 001D2618 93 C1 00 68 */ stw r30, 0x68(r1) /* 801D69BC 001D261C 7C DE 33 78 */ mr r30, r6 /* 801D69C0 001D2620 93 A1 00 64 */ stw r29, 0x64(r1) /* 801D69C4 001D2624 7C 9D 23 78 */ mr r29, r4 /* 801D69C8 001D2628 38 80 00 00 */ li r4, 0 /* 801D69CC 001D262C 93 81 00 60 */ stw r28, 0x60(r1) /* 801D69D0 001D2630 7C 7C 1B 78 */ mr r28, r3 /* 801D69D4 001D2634 38 61 00 14 */ addi r3, r1, 0x14 /* 801D69D8 001D2638 4B E2 D7 5D */ bl TRK_memset /* 801D69DC 001D263C 38 60 00 D4 */ li r3, 0xd4 /* 801D69E0 001D2640 38 00 00 40 */ li r0, 0x40 /* 801D69E4 001D2644 98 61 00 18 */ stb r3, 0x18(r1) /* 801D69E8 001D2648 38 61 00 0C */ addi r3, r1, 0xc /* 801D69EC 001D264C 38 81 00 08 */ addi r4, r1, 8 /* 801D69F0 001D2650 90 01 00 14 */ stw r0, 0x14(r1) /* 801D69F4 001D2654 93 81 00 1C */ stw r28, 0x1c(r1) /* 801D69F8 001D2658 80 1D 00 00 */ lwz r0, 0(r29) /* 801D69FC 001D265C 90 01 00 20 */ stw r0, 0x20(r1) /* 801D6A00 001D2660 9B E1 00 24 */ stb r31, 0x24(r1) /* 801D6A04 001D2664 4B FF EA 05 */ bl TRKGetFreeBuffer /* 801D6A08 001D2668 7C 7F 1B 79 */ or. r31, r3, r3 /* 801D6A0C 001D266C 40 82 00 18 */ bne lbl_801D6A24 /* 801D6A10 001D2670 80 61 00 08 */ lwz r3, 8(r1) /* 801D6A14 001D2674 38 81 00 14 */ addi r4, r1, 0x14 /* 801D6A18 001D2678 38 A0 00 40 */ li r5, 0x40 /* 801D6A1C 001D267C 4B FF E6 59 */ bl TRKAppendBuffer_ui8 /* 801D6A20 001D2680 7C 7F 1B 78 */ mr r31, r3 lbl_801D6A24: /* 801D6A24 001D2684 2C 1F 00 00 */ cmpwi r31, 0 /* 801D6A28 001D2688 40 82 00 5C */ bne lbl_801D6A84 /* 801D6A2C 001D268C 38 60 00 00 */ li r3, 0 /* 801D6A30 001D2690 38 00 FF FF */ li r0, -1 /* 801D6A34 001D2694 90 7E 00 00 */ stw r3, 0(r30) /* 801D6A38 001D2698 38 81 00 10 */ addi r4, r1, 0x10 /* 801D6A3C 001D269C 38 A0 00 03 */ li r5, 3 /* 801D6A40 001D26A0 38 C0 00 03 */ li r6, 3 /* 801D6A44 001D26A4 90 1D 00 00 */ stw r0, 0(r29) /* 801D6A48 001D26A8 38 E0 00 00 */ li r7, 0 /* 801D6A4C 001D26AC 80 61 00 08 */ lwz r3, 8(r1) /* 801D6A50 001D26B0 48 00 02 65 */ bl func_801D6CB4 /* 801D6A54 001D26B4 7C 7F 1B 79 */ or. r31, r3, r3 /* 801D6A58 001D26B8 40 82 00 24 */ bne lbl_801D6A7C /* 801D6A5C 001D26BC 80 61 00 10 */ lwz r3, 0x10(r1) /* 801D6A60 001D26C0 4B FF E9 7D */ bl TRKGetBuffer /* 801D6A64 001D26C4 28 03 00 00 */ cmplwi r3, 0 /* 801D6A68 001D26C8 41 82 00 14 */ beq lbl_801D6A7C /* 801D6A6C 001D26CC 80 03 00 20 */ lwz r0, 0x20(r3) /* 801D6A70 001D26D0 90 1E 00 00 */ stw r0, 0(r30) /* 801D6A74 001D26D4 80 03 00 28 */ lwz r0, 0x28(r3) /* 801D6A78 001D26D8 90 1D 00 00 */ stw r0, 0(r29) lbl_801D6A7C: /* 801D6A7C 001D26DC 80 61 00 10 */ lwz r3, 0x10(r1) /* 801D6A80 001D26E0 4B FF E8 F9 */ bl TRKReleaseBuffer lbl_801D6A84: /* 801D6A84 001D26E4 80 61 00 0C */ lwz r3, 0xc(r1) /* 801D6A88 001D26E8 4B FF E8 F1 */ bl TRKReleaseBuffer /* 801D6A8C 001D26EC 80 01 00 74 */ lwz r0, 0x74(r1) /* 801D6A90 001D26F0 7F E3 FB 78 */ mr r3, r31 /* 801D6A94 001D26F4 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 801D6A98 001D26F8 83 C1 00 68 */ lwz r30, 0x68(r1) /* 801D6A9C 001D26FC 83 A1 00 64 */ lwz r29, 0x64(r1) /* 801D6AA0 001D2700 83 81 00 60 */ lwz r28, 0x60(r1) /* 801D6AA4 001D2704 7C 08 03 A6 */ mtlr r0 /* 801D6AA8 001D2708 38 21 00 70 */ addi r1, r1, 0x70 /* 801D6AAC 001D270C 4E 80 00 20 */ blr .global HandleCloseFileSupportRequest HandleCloseFileSupportRequest: /* 801D6AB0 001D2710 94 21 FF 90 */ stwu r1, -0x70(r1) /* 801D6AB4 001D2714 7C 08 02 A6 */ mflr r0 /* 801D6AB8 001D2718 38 A0 00 40 */ li r5, 0x40 /* 801D6ABC 001D271C 90 01 00 74 */ stw r0, 0x74(r1) /* 801D6AC0 001D2720 93 E1 00 6C */ stw r31, 0x6c(r1) /* 801D6AC4 001D2724 7C 7F 1B 78 */ mr r31, r3 /* 801D6AC8 001D2728 38 61 00 14 */ addi r3, r1, 0x14 /* 801D6ACC 001D272C 93 C1 00 68 */ stw r30, 0x68(r1) /* 801D6AD0 001D2730 93 A1 00 64 */ stw r29, 0x64(r1) /* 801D6AD4 001D2734 7C 9D 23 78 */ mr r29, r4 /* 801D6AD8 001D2738 38 80 00 00 */ li r4, 0 /* 801D6ADC 001D273C 4B E2 D6 59 */ bl TRK_memset /* 801D6AE0 001D2740 38 60 00 D3 */ li r3, 0xd3 /* 801D6AE4 001D2744 38 00 00 40 */ li r0, 0x40 /* 801D6AE8 001D2748 98 61 00 18 */ stb r3, 0x18(r1) /* 801D6AEC 001D274C 38 61 00 0C */ addi r3, r1, 0xc /* 801D6AF0 001D2750 38 81 00 08 */ addi r4, r1, 8 /* 801D6AF4 001D2754 90 01 00 14 */ stw r0, 0x14(r1) /* 801D6AF8 001D2758 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D6AFC 001D275C 4B FF E9 0D */ bl TRKGetFreeBuffer /* 801D6B00 001D2760 7C 7F 1B 79 */ or. r31, r3, r3 /* 801D6B04 001D2764 40 82 00 18 */ bne lbl_801D6B1C /* 801D6B08 001D2768 80 61 00 08 */ lwz r3, 8(r1) /* 801D6B0C 001D276C 38 81 00 14 */ addi r4, r1, 0x14 /* 801D6B10 001D2770 38 A0 00 40 */ li r5, 0x40 /* 801D6B14 001D2774 4B FF E5 61 */ bl TRKAppendBuffer_ui8 /* 801D6B18 001D2778 7C 7F 1B 78 */ mr r31, r3 lbl_801D6B1C: /* 801D6B1C 001D277C 2C 1F 00 00 */ cmpwi r31, 0 /* 801D6B20 001D2780 40 82 00 50 */ bne lbl_801D6B70 /* 801D6B24 001D2784 38 00 00 00 */ li r0, 0 /* 801D6B28 001D2788 38 81 00 10 */ addi r4, r1, 0x10 /* 801D6B2C 001D278C 90 1D 00 00 */ stw r0, 0(r29) /* 801D6B30 001D2790 38 A0 00 03 */ li r5, 3 /* 801D6B34 001D2794 38 C0 00 03 */ li r6, 3 /* 801D6B38 001D2798 38 E0 00 00 */ li r7, 0 /* 801D6B3C 001D279C 80 61 00 08 */ lwz r3, 8(r1) /* 801D6B40 001D27A0 48 00 01 75 */ bl func_801D6CB4 /* 801D6B44 001D27A4 7C 7F 1B 79 */ or. r31, r3, r3 /* 801D6B48 001D27A8 40 82 00 10 */ bne lbl_801D6B58 /* 801D6B4C 001D27AC 80 61 00 10 */ lwz r3, 0x10(r1) /* 801D6B50 001D27B0 4B FF E8 8D */ bl TRKGetBuffer /* 801D6B54 001D27B4 7C 7E 1B 78 */ mr r30, r3 lbl_801D6B58: /* 801D6B58 001D27B8 2C 1F 00 00 */ cmpwi r31, 0 /* 801D6B5C 001D27BC 40 82 00 0C */ bne lbl_801D6B68 /* 801D6B60 001D27C0 80 1E 00 20 */ lwz r0, 0x20(r30) /* 801D6B64 001D27C4 90 1D 00 00 */ stw r0, 0(r29) lbl_801D6B68: /* 801D6B68 001D27C8 80 61 00 10 */ lwz r3, 0x10(r1) /* 801D6B6C 001D27CC 4B FF E8 0D */ bl TRKReleaseBuffer lbl_801D6B70: /* 801D6B70 001D27D0 80 61 00 0C */ lwz r3, 0xc(r1) /* 801D6B74 001D27D4 4B FF E8 05 */ bl TRKReleaseBuffer /* 801D6B78 001D27D8 80 01 00 74 */ lwz r0, 0x74(r1) /* 801D6B7C 001D27DC 7F E3 FB 78 */ mr r3, r31 /* 801D6B80 001D27E0 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 801D6B84 001D27E4 83 C1 00 68 */ lwz r30, 0x68(r1) /* 801D6B88 001D27E8 83 A1 00 64 */ lwz r29, 0x64(r1) /* 801D6B8C 001D27EC 7C 08 03 A6 */ mtlr r0 /* 801D6B90 001D27F0 38 21 00 70 */ addi r1, r1, 0x70 /* 801D6B94 001D27F4 4E 80 00 20 */ blr .global HandleOpenFileSupportRequest HandleOpenFileSupportRequest: /* 801D6B98 001D27F8 94 21 FF 90 */ stwu r1, -0x70(r1) /* 801D6B9C 001D27FC 7C 08 02 A6 */ mflr r0 /* 801D6BA0 001D2800 90 01 00 74 */ stw r0, 0x74(r1) /* 801D6BA4 001D2804 BF 61 00 5C */ stmw r27, 0x5c(r1) /* 801D6BA8 001D2808 7C 7B 1B 78 */ mr r27, r3 /* 801D6BAC 001D280C 7C 9F 23 78 */ mr r31, r4 /* 801D6BB0 001D2810 7C BC 2B 78 */ mr r28, r5 /* 801D6BB4 001D2814 7C DD 33 78 */ mr r29, r6 /* 801D6BB8 001D2818 38 61 00 14 */ addi r3, r1, 0x14 /* 801D6BBC 001D281C 38 80 00 00 */ li r4, 0 /* 801D6BC0 001D2820 38 A0 00 40 */ li r5, 0x40 /* 801D6BC4 001D2824 4B E2 D5 71 */ bl TRK_memset /* 801D6BC8 001D2828 38 60 00 00 */ li r3, 0 /* 801D6BCC 001D282C 38 00 00 D2 */ li r0, 0xd2 /* 801D6BD0 001D2830 90 7C 00 00 */ stw r3, 0(r28) /* 801D6BD4 001D2834 7F 63 DB 78 */ mr r3, r27 /* 801D6BD8 001D2838 98 01 00 18 */ stb r0, 0x18(r1) /* 801D6BDC 001D283C 48 00 06 19 */ bl TRK_strlen /* 801D6BE0 001D2840 38 03 00 41 */ addi r0, r3, 0x41 /* 801D6BE4 001D2844 9B E1 00 1C */ stb r31, 0x1c(r1) /* 801D6BE8 001D2848 7F 63 DB 78 */ mr r3, r27 /* 801D6BEC 001D284C 90 01 00 14 */ stw r0, 0x14(r1) /* 801D6BF0 001D2850 48 00 06 05 */ bl TRK_strlen /* 801D6BF4 001D2854 38 03 00 01 */ addi r0, r3, 1 /* 801D6BF8 001D2858 38 61 00 0C */ addi r3, r1, 0xc /* 801D6BFC 001D285C B0 01 00 20 */ sth r0, 0x20(r1) /* 801D6C00 001D2860 38 81 00 08 */ addi r4, r1, 8 /* 801D6C04 001D2864 4B FF E8 05 */ bl TRKGetFreeBuffer /* 801D6C08 001D2868 80 61 00 08 */ lwz r3, 8(r1) /* 801D6C0C 001D286C 38 81 00 14 */ addi r4, r1, 0x14 /* 801D6C10 001D2870 38 A0 00 40 */ li r5, 0x40 /* 801D6C14 001D2874 4B FF E4 61 */ bl TRKAppendBuffer_ui8 /* 801D6C18 001D2878 7C 7F 1B 79 */ or. r31, r3, r3 /* 801D6C1C 001D287C 40 82 00 24 */ bne lbl_801D6C40 /* 801D6C20 001D2880 7F 63 DB 78 */ mr r3, r27 /* 801D6C24 001D2884 48 00 05 D1 */ bl TRK_strlen /* 801D6C28 001D2888 7C 65 1B 78 */ mr r5, r3 /* 801D6C2C 001D288C 80 61 00 08 */ lwz r3, 8(r1) /* 801D6C30 001D2890 7F 64 DB 78 */ mr r4, r27 /* 801D6C34 001D2894 38 A5 00 01 */ addi r5, r5, 1 /* 801D6C38 001D2898 4B FF E4 3D */ bl TRKAppendBuffer_ui8 /* 801D6C3C 001D289C 7C 7F 1B 78 */ mr r31, r3 lbl_801D6C40: /* 801D6C40 001D28A0 2C 1F 00 00 */ cmpwi r31, 0 /* 801D6C44 001D28A4 40 82 00 50 */ bne lbl_801D6C94 /* 801D6C48 001D28A8 38 00 00 00 */ li r0, 0 /* 801D6C4C 001D28AC 38 81 00 10 */ addi r4, r1, 0x10 /* 801D6C50 001D28B0 90 1D 00 00 */ stw r0, 0(r29) /* 801D6C54 001D28B4 38 A0 00 07 */ li r5, 7 /* 801D6C58 001D28B8 38 C0 00 03 */ li r6, 3 /* 801D6C5C 001D28BC 38 E0 00 00 */ li r7, 0 /* 801D6C60 001D28C0 80 61 00 08 */ lwz r3, 8(r1) /* 801D6C64 001D28C4 48 00 00 51 */ bl func_801D6CB4 /* 801D6C68 001D28C8 7C 7F 1B 79 */ or. r31, r3, r3 /* 801D6C6C 001D28CC 40 82 00 10 */ bne lbl_801D6C7C /* 801D6C70 001D28D0 80 61 00 10 */ lwz r3, 0x10(r1) /* 801D6C74 001D28D4 4B FF E7 69 */ bl TRKGetBuffer /* 801D6C78 001D28D8 7C 7E 1B 78 */ mr r30, r3 lbl_801D6C7C: /* 801D6C7C 001D28DC 80 1E 00 20 */ lwz r0, 0x20(r30) /* 801D6C80 001D28E0 90 1D 00 00 */ stw r0, 0(r29) /* 801D6C84 001D28E4 80 1E 00 18 */ lwz r0, 0x18(r30) /* 801D6C88 001D28E8 90 1C 00 00 */ stw r0, 0(r28) /* 801D6C8C 001D28EC 80 61 00 10 */ lwz r3, 0x10(r1) /* 801D6C90 001D28F0 4B FF E6 E9 */ bl TRKReleaseBuffer lbl_801D6C94: /* 801D6C94 001D28F4 80 61 00 0C */ lwz r3, 0xc(r1) /* 801D6C98 001D28F8 4B FF E6 E1 */ bl TRKReleaseBuffer /* 801D6C9C 001D28FC 7F E3 FB 78 */ mr r3, r31 /* 801D6CA0 001D2900 BB 61 00 5C */ lmw r27, 0x5c(r1) /* 801D6CA4 001D2904 80 01 00 74 */ lwz r0, 0x74(r1) /* 801D6CA8 001D2908 7C 08 03 A6 */ mtlr r0 /* 801D6CAC 001D290C 38 21 00 70 */ addi r1, r1, 0x70 /* 801D6CB0 001D2910 4E 80 00 20 */ blr .global func_801D6CB4 func_801D6CB4: /* 801D6CB4 001D2914 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801D6CB8 001D2918 7C 08 02 A6 */ mflr r0 /* 801D6CBC 001D291C 90 01 00 34 */ stw r0, 0x34(r1) /* 801D6CC0 001D2920 38 00 FF FF */ li r0, -1 /* 801D6CC4 001D2924 BE C1 00 08 */ stmw r22, 8(r1) /* 801D6CC8 001D2928 7C 97 23 78 */ mr r23, r4 /* 801D6CCC 001D292C 7C 76 1B 78 */ mr r22, r3 /* 801D6CD0 001D2930 7C F8 3B 78 */ mr r24, r7 /* 801D6CD4 001D2934 3B 86 00 01 */ addi r28, r6, 1 /* 801D6CD8 001D2938 3B E0 00 00 */ li r31, 0 /* 801D6CDC 001D293C 3B 20 00 01 */ li r25, 1 /* 801D6CE0 001D2940 90 04 00 00 */ stw r0, 0(r4) /* 801D6CE4 001D2944 48 00 01 0C */ b lbl_801D6DF0 lbl_801D6CE8: /* 801D6CE8 001D2948 7E C3 B3 78 */ mr r3, r22 /* 801D6CEC 001D294C 4B FF DF F1 */ bl func_801D4CDC /* 801D6CF0 001D2950 7C 7F 1B 79 */ or. r31, r3, r3 /* 801D6CF4 001D2954 40 82 00 F8 */ bne lbl_801D6DEC /* 801D6CF8 001D2958 2C 18 00 00 */ cmpwi r24, 0 /* 801D6CFC 001D295C 41 82 00 08 */ beq lbl_801D6D04 /* 801D6D00 001D2960 3B A0 00 00 */ li r29, 0 lbl_801D6D04: /* 801D6D04 001D2964 4B FF E9 1D */ bl func_801D5620 /* 801D6D08 001D2968 90 77 00 00 */ stw r3, 0(r23) /* 801D6D0C 001D296C 80 77 00 00 */ lwz r3, 0(r23) /* 801D6D10 001D2970 2C 03 FF FF */ cmpwi r3, -1 /* 801D6D14 001D2974 40 82 00 20 */ bne lbl_801D6D34 /* 801D6D18 001D2978 2C 18 00 00 */ cmpwi r24, 0 /* 801D6D1C 001D297C 41 82 FF E8 */ beq lbl_801D6D04 /* 801D6D20 001D2980 3C 80 04 C5 */ lis r4, 0x04C4B3EC@ha /* 801D6D24 001D2984 3B BD 00 01 */ addi r29, r29, 1 /* 801D6D28 001D2988 38 04 B3 EC */ addi r0, r4, 0x04C4B3EC@l /* 801D6D2C 001D298C 7C 1D 00 40 */ cmplw r29, r0 /* 801D6D30 001D2990 41 80 FF D4 */ blt lbl_801D6D04 lbl_801D6D34: /* 801D6D34 001D2994 2C 03 FF FF */ cmpwi r3, -1 /* 801D6D38 001D2998 41 82 00 44 */ beq lbl_801D6D7C /* 801D6D3C 001D299C 3B 20 00 00 */ li r25, 0 /* 801D6D40 001D29A0 4B FF E6 9D */ bl TRKGetBuffer /* 801D6D44 001D29A4 38 80 00 00 */ li r4, 0 /* 801D6D48 001D29A8 7C 7E 1B 78 */ mr r30, r3 /* 801D6D4C 001D29AC 4B FF E5 BD */ bl TRKSetBufferPosition /* 801D6D50 001D29B0 80 9E 00 08 */ lwz r4, 8(r30) /* 801D6D54 001D29B4 38 7E 00 10 */ addi r3, r30, 0x10 /* 801D6D58 001D29B8 48 00 2F 0D */ bl func_801D9C64 /* 801D6D5C 001D29BC 8B 7E 00 14 */ lbz r27, 0x14(r30) /* 801D6D60 001D29C0 28 1B 00 80 */ cmplwi r27, 0x80 /* 801D6D64 001D29C4 40 80 00 18 */ bge lbl_801D6D7C /* 801D6D68 001D29C8 80 77 00 00 */ lwz r3, 0(r23) /* 801D6D6C 001D29CC 4B FF E8 05 */ bl TRKProcessInput /* 801D6D70 001D29D0 38 00 FF FF */ li r0, -1 /* 801D6D74 001D29D4 90 17 00 00 */ stw r0, 0(r23) /* 801D6D78 001D29D8 4B FF FF 8C */ b lbl_801D6D04 lbl_801D6D7C: /* 801D6D7C 001D29DC 80 77 00 00 */ lwz r3, 0(r23) /* 801D6D80 001D29E0 2C 03 FF FF */ cmpwi r3, -1 /* 801D6D84 001D29E4 41 82 00 68 */ beq lbl_801D6DEC /* 801D6D88 001D29E8 80 1E 00 08 */ lwz r0, 8(r30) /* 801D6D8C 001D29EC 28 00 00 40 */ cmplwi r0, 0x40 /* 801D6D90 001D29F0 40 80 00 08 */ bge lbl_801D6D98 /* 801D6D94 001D29F4 3B 20 00 01 */ li r25, 1 lbl_801D6D98: /* 801D6D98 001D29F8 2C 1F 00 00 */ cmpwi r31, 0 /* 801D6D9C 001D29FC 40 82 00 10 */ bne lbl_801D6DAC /* 801D6DA0 001D2A00 2C 19 00 00 */ cmpwi r25, 0 /* 801D6DA4 001D2A04 40 82 00 08 */ bne lbl_801D6DAC /* 801D6DA8 001D2A08 8B 5E 00 18 */ lbz r26, 0x18(r30) lbl_801D6DAC: /* 801D6DAC 001D2A0C 2C 1F 00 00 */ cmpwi r31, 0 /* 801D6DB0 001D2A10 40 82 00 20 */ bne lbl_801D6DD0 /* 801D6DB4 001D2A14 2C 19 00 00 */ cmpwi r25, 0 /* 801D6DB8 001D2A18 40 82 00 18 */ bne lbl_801D6DD0 /* 801D6DBC 001D2A1C 2C 1B 00 80 */ cmpwi r27, 0x80 /* 801D6DC0 001D2A20 40 82 00 0C */ bne lbl_801D6DCC /* 801D6DC4 001D2A24 2C 1A 00 00 */ cmpwi r26, 0 /* 801D6DC8 001D2A28 41 82 00 08 */ beq lbl_801D6DD0 lbl_801D6DCC: /* 801D6DCC 001D2A2C 3B 20 00 01 */ li r25, 1 lbl_801D6DD0: /* 801D6DD0 001D2A30 2C 1F 00 00 */ cmpwi r31, 0 /* 801D6DD4 001D2A34 40 82 00 0C */ bne lbl_801D6DE0 /* 801D6DD8 001D2A38 2C 19 00 00 */ cmpwi r25, 0 /* 801D6DDC 001D2A3C 41 82 00 10 */ beq lbl_801D6DEC lbl_801D6DE0: /* 801D6DE0 001D2A40 4B FF E5 99 */ bl TRKReleaseBuffer /* 801D6DE4 001D2A44 38 00 FF FF */ li r0, -1 /* 801D6DE8 001D2A48 90 17 00 00 */ stw r0, 0(r23) lbl_801D6DEC: /* 801D6DEC 001D2A4C 3B 9C FF FF */ addi r28, r28, -1 lbl_801D6DF0: /* 801D6DF0 001D2A50 2C 1C 00 00 */ cmpwi r28, 0 /* 801D6DF4 001D2A54 41 82 00 18 */ beq lbl_801D6E0C /* 801D6DF8 001D2A58 80 17 00 00 */ lwz r0, 0(r23) /* 801D6DFC 001D2A5C 2C 00 FF FF */ cmpwi r0, -1 /* 801D6E00 001D2A60 40 82 00 0C */ bne lbl_801D6E0C /* 801D6E04 001D2A64 2C 1F 00 00 */ cmpwi r31, 0 /* 801D6E08 001D2A68 41 82 FE E0 */ beq lbl_801D6CE8 lbl_801D6E0C: /* 801D6E0C 001D2A6C 80 17 00 00 */ lwz r0, 0(r23) /* 801D6E10 001D2A70 2C 00 FF FF */ cmpwi r0, -1 /* 801D6E14 001D2A74 40 82 00 08 */ bne lbl_801D6E1C /* 801D6E18 001D2A78 3B E0 08 00 */ li r31, 0x800 lbl_801D6E1C: /* 801D6E1C 001D2A7C 7F E3 FB 78 */ mr r3, r31 /* 801D6E20 001D2A80 BA C1 00 08 */ lmw r22, 8(r1) /* 801D6E24 001D2A84 80 01 00 34 */ lwz r0, 0x34(r1) /* 801D6E28 001D2A88 7C 08 03 A6 */ mtlr r0 /* 801D6E2C 001D2A8C 38 21 00 30 */ addi r1, r1, 0x30 /* 801D6E30 001D2A90 4E 80 00 20 */ blr .global TRKSuppAccessFile TRKSuppAccessFile: /* 801D6E34 001D2A94 94 21 FF 70 */ stwu r1, -0x90(r1) /* 801D6E38 001D2A98 7C 08 02 A6 */ mflr r0 /* 801D6E3C 001D2A9C 90 01 00 94 */ stw r0, 0x94(r1) /* 801D6E40 001D2AA0 BE 61 00 5C */ stmw r19, 0x5c(r1) /* 801D6E44 001D2AA4 7C 98 23 79 */ or. r24, r4, r4 /* 801D6E48 001D2AA8 7C 77 1B 78 */ mr r23, r3 /* 801D6E4C 001D2AAC 7C B9 2B 78 */ mr r25, r5 /* 801D6E50 001D2AB0 7C DA 33 78 */ mr r26, r6 /* 801D6E54 001D2AB4 7C FB 3B 78 */ mr r27, r7 /* 801D6E58 001D2AB8 7D 1C 43 78 */ mr r28, r8 /* 801D6E5C 001D2ABC 41 82 00 10 */ beq lbl_801D6E6C /* 801D6E60 001D2AC0 80 19 00 00 */ lwz r0, 0(r25) /* 801D6E64 001D2AC4 28 00 00 00 */ cmplwi r0, 0 /* 801D6E68 001D2AC8 40 82 00 0C */ bne lbl_801D6E74 lbl_801D6E6C: /* 801D6E6C 001D2ACC 38 60 00 02 */ li r3, 2 /* 801D6E70 001D2AD0 48 00 01 D0 */ b lbl_801D7040 lbl_801D6E74: /* 801D6E74 001D2AD4 38 00 00 00 */ li r0, 0 /* 801D6E78 001D2AD8 3B A0 00 00 */ li r29, 0 /* 801D6E7C 001D2ADC 90 1A 00 00 */ stw r0, 0(r26) /* 801D6E80 001D2AE0 3B C0 00 00 */ li r30, 0 /* 801D6E84 001D2AE4 3A A0 00 00 */ li r21, 0 /* 801D6E88 001D2AE8 48 00 01 88 */ b lbl_801D7010 lbl_801D6E8C: /* 801D6E8C 001D2AEC 38 61 00 14 */ addi r3, r1, 0x14 /* 801D6E90 001D2AF0 38 80 00 00 */ li r4, 0 /* 801D6E94 001D2AF4 38 A0 00 40 */ li r5, 0x40 /* 801D6E98 001D2AF8 4B E2 D2 9D */ bl TRK_memset /* 801D6E9C 001D2AFC 80 19 00 00 */ lwz r0, 0(r25) /* 801D6EA0 001D2B00 38 60 08 00 */ li r3, 0x800 /* 801D6EA4 001D2B04 7C 1E 00 50 */ subf r0, r30, r0 /* 801D6EA8 001D2B08 28 00 08 00 */ cmplwi r0, 0x800 /* 801D6EAC 001D2B0C 41 81 00 08 */ bgt lbl_801D6EB4 /* 801D6EB0 001D2B10 7C 03 03 78 */ mr r3, r0 lbl_801D6EB4: /* 801D6EB4 001D2B14 2C 1C 00 00 */ cmpwi r28, 0 /* 801D6EB8 001D2B18 7C 7F 1B 78 */ mr r31, r3 /* 801D6EBC 001D2B1C 38 00 00 D0 */ li r0, 0xd0 /* 801D6EC0 001D2B20 41 82 00 08 */ beq lbl_801D6EC8 /* 801D6EC4 001D2B24 38 00 00 D1 */ li r0, 0xd1 lbl_801D6EC8: /* 801D6EC8 001D2B28 2C 1C 00 00 */ cmpwi r28, 0 /* 801D6ECC 001D2B2C 98 01 00 18 */ stb r0, 0x18(r1) /* 801D6ED0 001D2B30 38 00 00 40 */ li r0, 0x40 /* 801D6ED4 001D2B34 40 82 00 08 */ bne lbl_801D6EDC /* 801D6ED8 001D2B38 38 1F 00 40 */ addi r0, r31, 0x40 lbl_801D6EDC: /* 801D6EDC 001D2B3C 90 01 00 14 */ stw r0, 0x14(r1) /* 801D6EE0 001D2B40 38 61 00 0C */ addi r3, r1, 0xc /* 801D6EE4 001D2B44 38 81 00 08 */ addi r4, r1, 8 /* 801D6EE8 001D2B48 92 E1 00 1C */ stw r23, 0x1c(r1) /* 801D6EEC 001D2B4C B3 E1 00 20 */ sth r31, 0x20(r1) /* 801D6EF0 001D2B50 4B FF E5 19 */ bl TRKGetFreeBuffer /* 801D6EF4 001D2B54 80 61 00 08 */ lwz r3, 8(r1) /* 801D6EF8 001D2B58 38 81 00 14 */ addi r4, r1, 0x14 /* 801D6EFC 001D2B5C 38 A0 00 40 */ li r5, 0x40 /* 801D6F00 001D2B60 4B FF E1 75 */ bl TRKAppendBuffer_ui8 /* 801D6F04 001D2B64 2C 1C 00 00 */ cmpwi r28, 0 /* 801D6F08 001D2B68 7C 75 1B 78 */ mr r21, r3 /* 801D6F0C 001D2B6C 40 82 00 20 */ bne lbl_801D6F2C /* 801D6F10 001D2B70 2C 15 00 00 */ cmpwi r21, 0 /* 801D6F14 001D2B74 40 82 00 18 */ bne lbl_801D6F2C /* 801D6F18 001D2B78 80 61 00 08 */ lwz r3, 8(r1) /* 801D6F1C 001D2B7C 7F E5 FB 78 */ mr r5, r31 /* 801D6F20 001D2B80 7C 98 F2 14 */ add r4, r24, r30 /* 801D6F24 001D2B84 4B FF E1 51 */ bl TRKAppendBuffer_ui8 /* 801D6F28 001D2B88 7C 75 1B 78 */ mr r21, r3 lbl_801D6F2C: /* 801D6F2C 001D2B8C 2C 15 00 00 */ cmpwi r21, 0 /* 801D6F30 001D2B90 40 82 00 D4 */ bne lbl_801D7004 /* 801D6F34 001D2B94 2C 1B 00 00 */ cmpwi r27, 0 /* 801D6F38 001D2B98 41 82 00 C0 */ beq lbl_801D6FF8 /* 801D6F3C 001D2B9C 2C 1C 00 00 */ cmpwi r28, 0 /* 801D6F40 001D2BA0 38 00 00 00 */ li r0, 0 /* 801D6F44 001D2BA4 41 82 00 10 */ beq lbl_801D6F54 /* 801D6F48 001D2BA8 28 17 00 00 */ cmplwi r23, 0 /* 801D6F4C 001D2BAC 40 82 00 08 */ bne lbl_801D6F54 /* 801D6F50 001D2BB0 38 00 00 01 */ li r0, 1 lbl_801D6F54: /* 801D6F54 001D2BB4 2C 1C 00 00 */ cmpwi r28, 0 /* 801D6F58 001D2BB8 80 61 00 08 */ lwz r3, 8(r1) /* 801D6F5C 001D2BBC 38 81 00 10 */ addi r4, r1, 0x10 /* 801D6F60 001D2BC0 38 A0 00 05 */ li r5, 5 /* 801D6F64 001D2BC4 7C 00 00 34 */ cntlzw r0, r0 /* 801D6F68 001D2BC8 38 C0 00 03 */ li r6, 3 /* 801D6F6C 001D2BCC 54 07 D9 7E */ srwi r7, r0, 5 /* 801D6F70 001D2BD0 4B FF FD 45 */ bl func_801D6CB4 /* 801D6F74 001D2BD4 7C 75 1B 79 */ or. r21, r3, r3 /* 801D6F78 001D2BD8 40 82 00 10 */ bne lbl_801D6F88 /* 801D6F7C 001D2BDC 80 61 00 10 */ lwz r3, 0x10(r1) /* 801D6F80 001D2BE0 4B FF E4 5D */ bl TRKGetBuffer /* 801D6F84 001D2BE4 7C 76 1B 78 */ mr r22, r3 lbl_801D6F88: /* 801D6F88 001D2BE8 80 16 00 20 */ lwz r0, 0x20(r22) /* 801D6F8C 001D2BEC 2C 1C 00 00 */ cmpwi r28, 0 /* 801D6F90 001D2BF0 A2 76 00 24 */ lhz r19, 0x24(r22) /* 801D6F94 001D2BF4 54 14 06 3E */ clrlwi r20, r0, 0x18 /* 801D6F98 001D2BF8 41 82 00 40 */ beq lbl_801D6FD8 /* 801D6F9C 001D2BFC 2C 15 00 00 */ cmpwi r21, 0 /* 801D6FA0 001D2C00 40 82 00 38 */ bne lbl_801D6FD8 /* 801D6FA4 001D2C04 7C 13 F8 40 */ cmplw r19, r31 /* 801D6FA8 001D2C08 41 81 00 30 */ bgt lbl_801D6FD8 /* 801D6FAC 001D2C0C 7E C3 B3 78 */ mr r3, r22 /* 801D6FB0 001D2C10 38 80 00 40 */ li r4, 0x40 /* 801D6FB4 001D2C14 4B FF E3 55 */ bl TRKSetBufferPosition /* 801D6FB8 001D2C18 7E C3 B3 78 */ mr r3, r22 /* 801D6FBC 001D2C1C 7E 65 9B 78 */ mr r5, r19 /* 801D6FC0 001D2C20 7C 98 F2 14 */ add r4, r24, r30 /* 801D6FC4 001D2C24 4B FF DE 35 */ bl TRKReadBuffer_ui8 /* 801D6FC8 001D2C28 7C 75 1B 78 */ mr r21, r3 /* 801D6FCC 001D2C2C 2C 15 03 02 */ cmpwi r21, 0x302 /* 801D6FD0 001D2C30 40 82 00 08 */ bne lbl_801D6FD8 /* 801D6FD4 001D2C34 3A A0 00 00 */ li r21, 0 lbl_801D6FD8: /* 801D6FD8 001D2C38 7C 13 F8 40 */ cmplw r19, r31 /* 801D6FDC 001D2C3C 41 82 00 0C */ beq lbl_801D6FE8 /* 801D6FE0 001D2C40 7E 7F 9B 78 */ mr r31, r19 /* 801D6FE4 001D2C44 3B A0 00 01 */ li r29, 1 lbl_801D6FE8: /* 801D6FE8 001D2C48 92 9A 00 00 */ stw r20, 0(r26) /* 801D6FEC 001D2C4C 80 61 00 10 */ lwz r3, 0x10(r1) /* 801D6FF0 001D2C50 4B FF E3 89 */ bl TRKReleaseBuffer /* 801D6FF4 001D2C54 48 00 00 10 */ b lbl_801D7004 lbl_801D6FF8: /* 801D6FF8 001D2C58 80 61 00 08 */ lwz r3, 8(r1) /* 801D6FFC 001D2C5C 4B FF DC E1 */ bl func_801D4CDC /* 801D7000 001D2C60 7C 75 1B 78 */ mr r21, r3 lbl_801D7004: /* 801D7004 001D2C64 80 61 00 0C */ lwz r3, 0xc(r1) /* 801D7008 001D2C68 4B FF E3 71 */ bl TRKReleaseBuffer /* 801D700C 001D2C6C 7F DE FA 14 */ add r30, r30, r31 lbl_801D7010: /* 801D7010 001D2C70 2C 1D 00 00 */ cmpwi r29, 0 /* 801D7014 001D2C74 40 82 00 24 */ bne lbl_801D7038 /* 801D7018 001D2C78 80 19 00 00 */ lwz r0, 0(r25) /* 801D701C 001D2C7C 7C 1E 00 40 */ cmplw r30, r0 /* 801D7020 001D2C80 40 80 00 18 */ bge lbl_801D7038 /* 801D7024 001D2C84 2C 15 00 00 */ cmpwi r21, 0 /* 801D7028 001D2C88 40 82 00 10 */ bne lbl_801D7038 /* 801D702C 001D2C8C 80 1A 00 00 */ lwz r0, 0(r26) /* 801D7030 001D2C90 2C 00 00 00 */ cmpwi r0, 0 /* 801D7034 001D2C94 41 82 FE 58 */ beq lbl_801D6E8C lbl_801D7038: /* 801D7038 001D2C98 93 D9 00 00 */ stw r30, 0(r25) /* 801D703C 001D2C9C 7E A3 AB 78 */ mr r3, r21 lbl_801D7040: /* 801D7040 001D2CA0 BA 61 00 5C */ lmw r19, 0x5c(r1) /* 801D7044 001D2CA4 80 01 00 94 */ lwz r0, 0x94(r1) /* 801D7048 001D2CA8 7C 08 03 A6 */ mtlr r0 /* 801D704C 001D2CAC 38 21 00 90 */ addi r1, r1, 0x90 /* 801D7050 001D2CB0 4E 80 00 20 */ blr .global func_801D7054 func_801D7054: /* 801D7054 001D2CB4 38 60 00 00 */ li r3, 0 /* 801D7058 001D2CB8 4E 80 00 20 */ blr .global func_801D705C func_801D705C: /* 801D705C 001D2CBC 38 60 00 00 */ li r3, 0 /* 801D7060 001D2CC0 4E 80 00 20 */ blr .global func_801D7064 func_801D7064: /* 801D7064 001D2CC4 38 60 00 00 */ li r3, 0 /* 801D7068 001D2CC8 4E 80 00 20 */ blr .global TRKDoNotifyStopped TRKDoNotifyStopped: /* 801D706C 001D2CCC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D7070 001D2CD0 7C 08 02 A6 */ mflr r0 /* 801D7074 001D2CD4 90 01 00 24 */ stw r0, 0x24(r1) /* 801D7078 001D2CD8 38 81 00 08 */ addi r4, r1, 8 /* 801D707C 001D2CDC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D7080 001D2CE0 93 C1 00 18 */ stw r30, 0x18(r1) /* 801D7084 001D2CE4 7C 7E 1B 78 */ mr r30, r3 /* 801D7088 001D2CE8 38 61 00 0C */ addi r3, r1, 0xc /* 801D708C 001D2CEC 4B FF E3 7D */ bl TRKGetFreeBuffer /* 801D7090 001D2CF0 7C 7F 1B 79 */ or. r31, r3, r3 /* 801D7094 001D2CF4 40 82 00 54 */ bne lbl_801D70E8 /* 801D7098 001D2CF8 40 82 00 20 */ bne lbl_801D70B8 /* 801D709C 001D2CFC 2C 1E 00 90 */ cmpwi r30, 0x90 /* 801D70A0 001D2D00 40 82 00 10 */ bne lbl_801D70B0 /* 801D70A4 001D2D04 80 61 00 08 */ lwz r3, 8(r1) /* 801D70A8 001D2D08 48 00 09 09 */ bl TRKTargetAddStopInfo /* 801D70AC 001D2D0C 48 00 00 0C */ b lbl_801D70B8 lbl_801D70B0: /* 801D70B0 001D2D10 80 61 00 08 */ lwz r3, 8(r1) /* 801D70B4 001D2D14 48 00 08 79 */ bl TRKTargetAddExceptionInfo lbl_801D70B8: /* 801D70B8 001D2D18 80 61 00 08 */ lwz r3, 8(r1) /* 801D70BC 001D2D1C 38 81 00 10 */ addi r4, r1, 0x10 /* 801D70C0 001D2D20 38 A0 00 02 */ li r5, 2 /* 801D70C4 001D2D24 38 C0 00 03 */ li r6, 3 /* 801D70C8 001D2D28 38 E0 00 01 */ li r7, 1 /* 801D70CC 001D2D2C 4B FF FB E9 */ bl func_801D6CB4 /* 801D70D0 001D2D30 7C 7F 1B 79 */ or. r31, r3, r3 /* 801D70D4 001D2D34 40 82 00 0C */ bne lbl_801D70E0 /* 801D70D8 001D2D38 80 61 00 10 */ lwz r3, 0x10(r1) /* 801D70DC 001D2D3C 4B FF E2 9D */ bl TRKReleaseBuffer lbl_801D70E0: /* 801D70E0 001D2D40 80 61 00 0C */ lwz r3, 0xc(r1) /* 801D70E4 001D2D44 4B FF E2 95 */ bl TRKReleaseBuffer lbl_801D70E8: /* 801D70E8 001D2D48 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D70EC 001D2D4C 7F E3 FB 78 */ mr r3, r31 /* 801D70F0 001D2D50 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D70F4 001D2D54 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801D70F8 001D2D58 7C 08 03 A6 */ mtlr r0 /* 801D70FC 001D2D5C 38 21 00 20 */ addi r1, r1, 0x20 /* 801D7100 001D2D60 4E 80 00 20 */ blr .global TRK_flush_cache TRK_flush_cache: /* 801D7104 001D2D64 3C A0 FF FF */ lis r5, 0xFFFFFFF1@h /* 801D7108 001D2D68 60 A5 FF F1 */ ori r5, r5, 0xFFFFFFF1@l /* 801D710C 001D2D6C 7C A5 18 38 */ and r5, r5, r3 /* 801D7110 001D2D70 7C 65 18 50 */ subf r3, r5, r3 /* 801D7114 001D2D74 7C 84 1A 14 */ add r4, r4, r3 lbl_801D7118: /* 801D7118 001D2D78 7C 00 28 6C */ dcbst 0, r5 /* 801D711C 001D2D7C 7C 00 28 AC */ dcbf 0, r5 /* 801D7120 001D2D80 7C 00 04 AC */ sync 0 /* 801D7124 001D2D84 7C 00 2F AC */ icbi 0, r5 /* 801D7128 001D2D88 30 A5 00 08 */ addic r5, r5, 8 /* 801D712C 001D2D8C 34 84 FF F8 */ addic. r4, r4, -8 /* 801D7130 001D2D90 40 80 FF E8 */ bge lbl_801D7118 /* 801D7134 001D2D94 4C 00 01 2C */ isync /* 801D7138 001D2D98 4E 80 00 20 */ blr