From 3666d9a26af1b44eecfebb82ccb5ceee22911f6f Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 29 Sep 2020 12:32:43 -0400 Subject: split printf, qsort, rand, scanf, string --- asm/libstdc++/printf.s | 2649 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2649 insertions(+) create mode 100644 asm/libstdc++/printf.s (limited to 'asm/libstdc++/printf.s') diff --git a/asm/libstdc++/printf.s b/asm/libstdc++/printf.s new file mode 100644 index 0000000..78a82cd --- /dev/null +++ b/asm/libstdc++/printf.s @@ -0,0 +1,2649 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +parse_format: +/* 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 long2str +long2str: +/* 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 longlong2str +longlong2str: +/* 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 double2hex +double2hex: +/* 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 __num2dec +/* 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 strcpy +/* 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 strcpy +/* 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 strcpy +/* 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 strcpy +/* 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 strcpy +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 strcpy +/* 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 strcpy +/* 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 strcpy +/* 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 strcpy +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 long2str +/* 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 round_decimal +round_decimal: +/* 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 float2str +float2str: +/* 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 __num2dec +/* 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 strcpy +/* 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 strcpy +/* 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 strcpy +/* 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 strcpy +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 strcpy +/* 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 strcpy +/* 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 strcpy +/* 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 strcpy +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 round_decimal +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 round_decimal +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 round_decimal +/* 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 __pformatter +__pformatter: +/* 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 strchr +/* 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 parse_format +/* 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 longlong2str +/* 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 long2str +/* 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 longlong2str +/* 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 long2str +/* 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 float2str +/* 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 double2hex +/* 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 wcstombs +/* 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 + +.global __FileWrite +__FileWrite: +/* 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 __fwrite +/* 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 + +.global __StringWrite +__StringWrite: +/* 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 printf +printf: +/* 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, __FileWrite@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, __FileWrite@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 __pformatter +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 vprintf +vprintf: +/* 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, __FileWrite@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, __FileWrite@l +/* 801CC984 001C85E4 4B FF F5 C1 */ bl __pformatter +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 vsprintf +vsprintf: +/* 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, __StringWrite@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, __StringWrite@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 __pformatter +/* 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 snprintf +snprintf: +/* 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, __StringWrite@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, __StringWrite@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 __pformatter +/* 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 sprintf +sprintf: +/* 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, __StringWrite@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, __StringWrite@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 __pformatter +/* 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 -- cgit v1.2.3