diff options
Diffstat (limited to 'asm/nw4r/ut')
-rw-r--r-- | asm/nw4r/ut/ut_CharStrmReader.s | 91 | ||||
-rw-r--r-- | asm/nw4r/ut/ut_CharWriter.s | 1555 | ||||
-rw-r--r-- | asm/nw4r/ut/ut_DvdFileStream.s | 486 | ||||
-rw-r--r-- | asm/nw4r/ut/ut_DvdLockedFileStream.s | 185 | ||||
-rw-r--r-- | asm/nw4r/ut/ut_FileStream.s | 89 | ||||
-rw-r--r-- | asm/nw4r/ut/ut_Font.s | 52 | ||||
-rw-r--r-- | asm/nw4r/ut/ut_IOStream.s | 18 | ||||
-rw-r--r-- | asm/nw4r/ut/ut_LinkList.s | 116 | ||||
-rw-r--r-- | asm/nw4r/ut/ut_ResFont.s | 228 | ||||
-rw-r--r-- | asm/nw4r/ut/ut_TagProcessorBase.s | 493 | ||||
-rw-r--r-- | asm/nw4r/ut/ut_TextWriterBase.s | 2193 | ||||
-rw-r--r-- | asm/nw4r/ut/ut_binaryFileFormat.s | 39 | ||||
-rw-r--r-- | asm/nw4r/ut/ut_list.s | 117 |
13 files changed, 5662 insertions, 0 deletions
diff --git a/asm/nw4r/ut/ut_CharStrmReader.s b/asm/nw4r/ut/ut_CharStrmReader.s new file mode 100644 index 0000000..9755476 --- /dev/null +++ b/asm/nw4r/ut/ut_CharStrmReader.s @@ -0,0 +1,91 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global ReadNextCharUTF8__Q34nw4r2ut14CharStrmReaderFv
+ReadNextCharUTF8__Q34nw4r2ut14CharStrmReaderFv:
+/* 80362D18 0035E978 80 E3 00 00 */ lwz r7, 0(r3)
+/* 80362D1C 0035E97C 88 C7 00 00 */ lbz r6, 0(r7)
+/* 80362D20 0035E980 54 C0 06 31 */ rlwinm. r0, r6, 0, 0x18, 0x18
+/* 80362D24 0035E984 40 82 00 14 */ bne lbl_80362D38
+/* 80362D28 0035E988 80 83 00 00 */ lwz r4, 0(r3)
+/* 80362D2C 0035E98C 38 04 00 01 */ addi r0, r4, 1
+/* 80362D30 0035E990 90 03 00 00 */ stw r0, 0(r3)
+/* 80362D34 0035E994 48 00 00 54 */ b lbl_80362D88
+lbl_80362D38:
+/* 80362D38 0035E998 54 C0 06 34 */ rlwinm r0, r6, 0, 0x18, 0x1a
+/* 80362D3C 0035E99C 2C 00 00 C0 */ cmpwi r0, 0xc0
+/* 80362D40 0035E9A0 40 82 00 24 */ bne lbl_80362D64
+/* 80362D44 0035E9A4 80 83 00 00 */ lwz r4, 0(r3)
+/* 80362D48 0035E9A8 88 A7 00 01 */ lbz r5, 1(r7)
+/* 80362D4C 0035E9AC 38 04 00 02 */ addi r0, r4, 2
+/* 80362D50 0035E9B0 54 A4 06 BE */ clrlwi r4, r5, 0x1a
+/* 80362D54 0035E9B4 90 03 00 00 */ stw r0, 0(r3)
+/* 80362D58 0035E9B8 50 C4 35 72 */ rlwimi r4, r6, 6, 0x15, 0x19
+/* 80362D5C 0035E9BC 7C 86 23 78 */ mr r6, r4
+/* 80362D60 0035E9C0 48 00 00 28 */ b lbl_80362D88
+lbl_80362D64:
+/* 80362D64 0035E9C4 80 83 00 00 */ lwz r4, 0(r3)
+/* 80362D68 0035E9C8 54 C5 63 E6 */ rlwinm r5, r6, 0xc, 0xf, 0x13
+/* 80362D6C 0035E9CC 88 C7 00 01 */ lbz r6, 1(r7)
+/* 80362D70 0035E9D0 88 E7 00 02 */ lbz r7, 2(r7)
+/* 80362D74 0035E9D4 38 04 00 03 */ addi r0, r4, 3
+/* 80362D78 0035E9D8 50 C5 35 32 */ rlwimi r5, r6, 6, 0x14, 0x19
+/* 80362D7C 0035E9DC 50 E5 06 BE */ rlwimi r5, r7, 0, 0x1a, 0x1f
+/* 80362D80 0035E9E0 90 03 00 00 */ stw r0, 0(r3)
+/* 80362D84 0035E9E4 54 A6 04 3E */ clrlwi r6, r5, 0x10
+lbl_80362D88:
+/* 80362D88 0035E9E8 7C C3 33 78 */ mr r3, r6
+/* 80362D8C 0035E9EC 4E 80 00 20 */ blr
+
+.global ReadNextCharUTF16__Q34nw4r2ut14CharStrmReaderFv
+ReadNextCharUTF16__Q34nw4r2ut14CharStrmReaderFv:
+/* 80362D90 0035E9F0 7C 65 1B 78 */ mr r5, r3
+/* 80362D94 0035E9F4 80 63 00 00 */ lwz r3, 0(r3)
+/* 80362D98 0035E9F8 80 85 00 00 */ lwz r4, 0(r5)
+/* 80362D9C 0035E9FC A0 63 00 00 */ lhz r3, 0(r3)
+/* 80362DA0 0035EA00 38 04 00 02 */ addi r0, r4, 2
+/* 80362DA4 0035EA04 90 05 00 00 */ stw r0, 0(r5)
+/* 80362DA8 0035EA08 4E 80 00 20 */ blr
+
+.global ReadNextCharCP1252__Q34nw4r2ut14CharStrmReaderFv
+ReadNextCharCP1252__Q34nw4r2ut14CharStrmReaderFv:
+/* 80362DAC 0035EA0C 7C 65 1B 78 */ mr r5, r3
+/* 80362DB0 0035EA10 80 63 00 00 */ lwz r3, 0(r3)
+/* 80362DB4 0035EA14 80 85 00 00 */ lwz r4, 0(r5)
+/* 80362DB8 0035EA18 88 63 00 00 */ lbz r3, 0(r3)
+/* 80362DBC 0035EA1C 38 04 00 01 */ addi r0, r4, 1
+/* 80362DC0 0035EA20 90 05 00 00 */ stw r0, 0(r5)
+/* 80362DC4 0035EA24 4E 80 00 20 */ blr
+
+.global ReadNextCharSJIS__Q34nw4r2ut14CharStrmReaderFv
+ReadNextCharSJIS__Q34nw4r2ut14CharStrmReaderFv:
+/* 80362DC8 0035EA28 80 C3 00 00 */ lwz r6, 0(r3)
+/* 80362DCC 0035EA2C 38 00 00 00 */ li r0, 0
+/* 80362DD0 0035EA30 88 A6 00 00 */ lbz r5, 0(r6)
+/* 80362DD4 0035EA34 28 05 00 81 */ cmplwi r5, 0x81
+/* 80362DD8 0035EA38 41 80 00 0C */ blt lbl_80362DE4
+/* 80362DDC 0035EA3C 28 05 00 A0 */ cmplwi r5, 0xa0
+/* 80362DE0 0035EA40 41 80 00 0C */ blt lbl_80362DEC
+lbl_80362DE4:
+/* 80362DE4 0035EA44 28 05 00 E0 */ cmplwi r5, 0xe0
+/* 80362DE8 0035EA48 41 80 00 08 */ blt lbl_80362DF0
+lbl_80362DEC:
+/* 80362DEC 0035EA4C 38 00 00 01 */ li r0, 1
+lbl_80362DF0:
+/* 80362DF0 0035EA50 2C 00 00 00 */ cmpwi r0, 0
+/* 80362DF4 0035EA54 41 82 00 1C */ beq lbl_80362E10
+/* 80362DF8 0035EA58 80 83 00 00 */ lwz r4, 0(r3)
+/* 80362DFC 0035EA5C 88 C6 00 01 */ lbz r6, 1(r6)
+/* 80362E00 0035EA60 50 A6 44 2E */ rlwimi r6, r5, 8, 0x10, 0x17
+/* 80362E04 0035EA64 38 04 00 02 */ addi r0, r4, 2
+/* 80362E08 0035EA68 90 03 00 00 */ stw r0, 0(r3)
+/* 80362E0C 0035EA6C 48 00 00 14 */ b lbl_80362E20
+lbl_80362E10:
+/* 80362E10 0035EA70 80 83 00 00 */ lwz r4, 0(r3)
+/* 80362E14 0035EA74 7C A6 2B 78 */ mr r6, r5
+/* 80362E18 0035EA78 38 04 00 01 */ addi r0, r4, 1
+/* 80362E1C 0035EA7C 90 03 00 00 */ stw r0, 0(r3)
+lbl_80362E20:
+/* 80362E20 0035EA80 7C C3 33 78 */ mr r3, r6
+/* 80362E24 0035EA84 4E 80 00 20 */ blr
diff --git a/asm/nw4r/ut/ut_CharWriter.s b/asm/nw4r/ut/ut_CharWriter.s new file mode 100644 index 0000000..2e03b56 --- /dev/null +++ b/asm/nw4r/ut/ut_CharWriter.s @@ -0,0 +1,1555 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __ct__Q34nw4r2ut10CharWriterFv
+__ct__Q34nw4r2ut10CharWriterFv:
+/* 80364840 003604A0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80364844 003604A4 7C 08 02 A6 */ mflr r0
+/* 80364848 003604A8 3C E0 80 62 */ lis r7, lbl_80621718@ha
+/* 8036484C 003604AC C0 02 A5 10 */ lfs f0, lbl_80642B10-_SDA2_BASE_(r2)
+/* 80364850 003604B0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80364854 003604B4 39 00 FF FF */ li r8, -1
+/* 80364858 003604B8 38 00 00 FF */ li r0, 0xff
+/* 8036485C 003604BC 38 C7 17 18 */ addi r6, r7, lbl_80621718@l
+/* 80364860 003604C0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80364864 003604C4 7C 7F 1B 78 */ mr r31, r3
+/* 80364868 003604C8 38 81 00 08 */ addi r4, r1, 8
+/* 8036486C 003604CC 38 A1 00 0C */ addi r5, r1, 0xc
+/* 80364870 003604D0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80364874 003604D4 3B C0 00 00 */ li r30, 0
+/* 80364878 003604D8 91 03 00 00 */ stw r8, 0(r3)
+/* 8036487C 003604DC 91 03 00 04 */ stw r8, 4(r3)
+/* 80364880 003604E0 91 03 00 08 */ stw r8, 8(r3)
+/* 80364884 003604E4 91 03 00 0C */ stw r8, 0xc(r3)
+/* 80364888 003604E8 91 03 00 10 */ stw r8, 0x10(r3)
+/* 8036488C 003604EC 91 03 00 14 */ stw r8, 0x14(r3)
+/* 80364890 003604F0 91 03 00 18 */ stw r8, 0x18(r3)
+/* 80364894 003604F4 91 03 00 1C */ stw r8, 0x1c(r3)
+/* 80364898 003604F8 98 03 00 42 */ stb r0, 0x42(r3)
+/* 8036489C 003604FC 9B C3 00 43 */ stb r30, 0x43(r3)
+/* 803648A0 00360500 D0 03 00 44 */ stfs f0, 0x44(r3)
+/* 803648A4 00360504 93 C3 00 48 */ stw r30, 0x48(r3)
+/* 803648A8 00360508 90 07 17 18 */ stw r0, 0x1718(r7)
+/* 803648AC 0036050C 93 C6 00 04 */ stw r30, 4(r6)
+/* 803648B0 00360510 93 C1 00 08 */ stw r30, 8(r1)
+/* 803648B4 00360514 91 01 00 0C */ stw r8, 0xc(r1)
+/* 803648B8 00360518 48 00 01 A9 */ bl SetColorMapping__Q34nw4r2ut10CharWriterFQ34nw4r2ut5Color
+/* 803648BC 0036051C 88 BF 00 18 */ lbz r5, 0x18(r31)
+/* 803648C0 00360520 2C 1E 00 01 */ cmpwi r30, 1
+/* 803648C4 00360524 88 9F 00 19 */ lbz r4, 0x19(r31)
+/* 803648C8 00360528 88 7F 00 1A */ lbz r3, 0x1a(r31)
+/* 803648CC 0036052C 88 1F 00 1B */ lbz r0, 0x1b(r31)
+/* 803648D0 00360530 93 DF 00 20 */ stw r30, 0x20(r31)
+/* 803648D4 00360534 98 BF 00 08 */ stb r5, 8(r31)
+/* 803648D8 00360538 98 9F 00 09 */ stb r4, 9(r31)
+/* 803648DC 0036053C 98 7F 00 0A */ stb r3, 0xa(r31)
+/* 803648E0 00360540 98 1F 00 0B */ stb r0, 0xb(r31)
+/* 803648E4 00360544 41 82 00 0C */ beq lbl_803648F0
+/* 803648E8 00360548 38 9F 00 18 */ addi r4, r31, 0x18
+/* 803648EC 0036054C 48 00 00 08 */ b lbl_803648F4
+lbl_803648F0:
+/* 803648F0 00360550 38 9F 00 1C */ addi r4, r31, 0x1c
+lbl_803648F4:
+/* 803648F4 00360554 88 64 00 00 */ lbz r3, 0(r4)
+/* 803648F8 00360558 80 1F 00 20 */ lwz r0, 0x20(r31)
+/* 803648FC 0036055C 98 7F 00 0C */ stb r3, 0xc(r31)
+/* 80364900 00360560 2C 00 00 02 */ cmpwi r0, 2
+/* 80364904 00360564 88 04 00 01 */ lbz r0, 1(r4)
+/* 80364908 00360568 98 1F 00 0D */ stb r0, 0xd(r31)
+/* 8036490C 0036056C 88 04 00 02 */ lbz r0, 2(r4)
+/* 80364910 00360570 98 1F 00 0E */ stb r0, 0xe(r31)
+/* 80364914 00360574 88 04 00 03 */ lbz r0, 3(r4)
+/* 80364918 00360578 98 1F 00 0F */ stb r0, 0xf(r31)
+/* 8036491C 0036057C 41 82 00 0C */ beq lbl_80364928
+/* 80364920 00360580 38 9F 00 18 */ addi r4, r31, 0x18
+/* 80364924 00360584 48 00 00 08 */ b lbl_8036492C
+lbl_80364928:
+/* 80364928 00360588 38 9F 00 1C */ addi r4, r31, 0x1c
+lbl_8036492C:
+/* 8036492C 0036058C 88 64 00 00 */ lbz r3, 0(r4)
+/* 80364930 00360590 80 1F 00 20 */ lwz r0, 0x20(r31)
+/* 80364934 00360594 98 7F 00 10 */ stb r3, 0x10(r31)
+/* 80364938 00360598 2C 00 00 00 */ cmpwi r0, 0
+/* 8036493C 0036059C 88 04 00 01 */ lbz r0, 1(r4)
+/* 80364940 003605A0 98 1F 00 11 */ stb r0, 0x11(r31)
+/* 80364944 003605A4 88 04 00 02 */ lbz r0, 2(r4)
+/* 80364948 003605A8 98 1F 00 12 */ stb r0, 0x12(r31)
+/* 8036494C 003605AC 88 04 00 03 */ lbz r0, 3(r4)
+/* 80364950 003605B0 98 1F 00 13 */ stb r0, 0x13(r31)
+/* 80364954 003605B4 40 82 00 0C */ bne lbl_80364960
+/* 80364958 003605B8 39 5F 00 18 */ addi r10, r31, 0x18
+/* 8036495C 003605BC 48 00 00 08 */ b lbl_80364964
+lbl_80364960:
+/* 80364960 003605C0 39 5F 00 1C */ addi r10, r31, 0x1c
+lbl_80364964:
+/* 80364964 003605C4 88 0A 00 00 */ lbz r0, 0(r10)
+/* 80364968 003605C8 3C 60 80 81 */ lis r3, 0x80808081@ha
+/* 8036496C 003605CC 39 83 80 81 */ addi r12, r3, 0x80808081@l
+/* 80364970 003605D0 88 BF 00 0B */ lbz r5, 0xb(r31)
+/* 80364974 003605D4 98 1F 00 14 */ stb r0, 0x14(r31)
+/* 80364978 003605D8 38 00 FF FF */ li r0, -1
+/* 8036497C 003605DC 89 3F 00 42 */ lbz r9, 0x42(r31)
+/* 80364980 003605E0 7F E3 FB 78 */ mr r3, r31
+/* 80364984 003605E4 88 EA 00 01 */ lbz r7, 1(r10)
+/* 80364988 003605E8 38 81 00 10 */ addi r4, r1, 0x10
+/* 8036498C 003605EC 88 DF 00 0F */ lbz r6, 0xf(r31)
+/* 80364990 003605F0 7D 05 49 D6 */ mullw r8, r5, r9
+/* 80364994 003605F4 98 FF 00 15 */ stb r7, 0x15(r31)
+/* 80364998 003605F8 88 BF 00 13 */ lbz r5, 0x13(r31)
+/* 8036499C 003605FC 88 EA 00 02 */ lbz r7, 2(r10)
+/* 803649A0 00360600 98 FF 00 16 */ stb r7, 0x16(r31)
+/* 803649A4 00360604 7C C6 49 D6 */ mullw r6, r6, r9
+/* 803649A8 00360608 89 4A 00 03 */ lbz r10, 3(r10)
+/* 803649AC 0036060C 7C E5 49 D6 */ mullw r7, r5, r9
+/* 803649B0 00360610 7C AA 49 D6 */ mullw r5, r10, r9
+/* 803649B4 00360614 7D 4C 40 96 */ mulhw r10, r12, r8
+/* 803649B8 00360618 7D 2C 30 96 */ mulhw r9, r12, r6
+/* 803649BC 0036061C 7D 0A 42 14 */ add r8, r10, r8
+/* 803649C0 00360620 7D 0A 3E 70 */ srawi r10, r8, 7
+/* 803649C4 00360624 7D 0C 38 96 */ mulhw r8, r12, r7
+/* 803649C8 00360628 55 4B 0F FE */ srwi r11, r10, 0x1f
+/* 803649CC 0036062C 7C C9 32 14 */ add r6, r9, r6
+/* 803649D0 00360630 7D 4A 5A 14 */ add r10, r10, r11
+/* 803649D4 00360634 7C C9 3E 70 */ srawi r9, r6, 7
+/* 803649D8 00360638 99 5F 00 0B */ stb r10, 0xb(r31)
+/* 803649DC 0036063C 7C E8 3A 14 */ add r7, r8, r7
+/* 803649E0 00360640 55 28 0F FE */ srwi r8, r9, 0x1f
+/* 803649E4 00360644 7C CC 28 96 */ mulhw r6, r12, r5
+/* 803649E8 00360648 7D 29 42 14 */ add r9, r9, r8
+/* 803649EC 0036064C 7C E7 3E 70 */ srawi r7, r7, 7
+/* 803649F0 00360650 99 3F 00 0F */ stb r9, 0xf(r31)
+/* 803649F4 00360654 54 E8 0F FE */ srwi r8, r7, 0x1f
+/* 803649F8 00360658 7C A6 2A 14 */ add r5, r6, r5
+/* 803649FC 0036065C 7C A5 3E 70 */ srawi r5, r5, 7
+/* 80364A00 00360660 7C E7 42 14 */ add r7, r7, r8
+/* 80364A04 00360664 54 A6 0F FE */ srwi r6, r5, 0x1f
+/* 80364A08 00360668 98 FF 00 13 */ stb r7, 0x13(r31)
+/* 80364A0C 0036066C 7C A5 32 14 */ add r5, r5, r6
+/* 80364A10 00360670 98 BF 00 17 */ stb r5, 0x17(r31)
+/* 80364A14 00360674 90 01 00 10 */ stw r0, 0x10(r1)
+/* 80364A18 00360678 4B FF DC C1 */ bl func_803626D8
+/* 80364A1C 0036067C C0 02 A5 10 */ lfs f0, lbl_80642B10-_SDA2_BASE_(r2)
+/* 80364A20 00360680 38 00 00 01 */ li r0, 1
+/* 80364A24 00360684 C0 22 A5 14 */ lfs f1, lbl_80642B14-_SDA2_BASE_(r2)
+/* 80364A28 00360688 7F E3 FB 78 */ mr r3, r31
+/* 80364A2C 0036068C D0 1F 00 2C */ stfs f0, 0x2c(r31)
+/* 80364A30 00360690 D0 3F 00 24 */ stfs f1, 0x24(r31)
+/* 80364A34 00360694 D0 3F 00 28 */ stfs f1, 0x28(r31)
+/* 80364A38 00360698 D0 1F 00 30 */ stfs f0, 0x30(r31)
+/* 80364A3C 0036069C D0 1F 00 34 */ stfs f0, 0x34(r31)
+/* 80364A40 003606A0 90 1F 00 38 */ stw r0, 0x38(r31)
+/* 80364A44 003606A4 90 1F 00 3C */ stw r0, 0x3c(r31)
+/* 80364A48 003606A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80364A4C 003606AC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80364A50 003606B0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80364A54 003606B4 7C 08 03 A6 */ mtlr r0
+/* 80364A58 003606B8 38 21 00 20 */ addi r1, r1, 0x20
+/* 80364A5C 003606BC 4E 80 00 20 */ blr
+
+/* warning: symbol name may have been truncated at the end */
+.global SetColorMapping__Q34nw4r2ut10CharWriterFQ34nw4r2ut5Color
+SetColorMapping__Q34nw4r2ut10CharWriterFQ34nw4r2ut5Color:
+/* 80364A60 003606C0 89 64 00 00 */ lbz r11, 0(r4)
+/* 80364A64 003606C4 89 44 00 01 */ lbz r10, 1(r4)
+/* 80364A68 003606C8 89 24 00 02 */ lbz r9, 2(r4)
+/* 80364A6C 003606CC 89 04 00 03 */ lbz r8, 3(r4)
+/* 80364A70 003606D0 88 E5 00 00 */ lbz r7, 0(r5)
+/* 80364A74 003606D4 88 C5 00 01 */ lbz r6, 1(r5)
+/* 80364A78 003606D8 88 85 00 02 */ lbz r4, 2(r5)
+/* 80364A7C 003606DC 88 05 00 03 */ lbz r0, 3(r5)
+/* 80364A80 003606E0 99 63 00 00 */ stb r11, 0(r3)
+/* 80364A84 003606E4 99 43 00 01 */ stb r10, 1(r3)
+/* 80364A88 003606E8 99 23 00 02 */ stb r9, 2(r3)
+/* 80364A8C 003606EC 99 03 00 03 */ stb r8, 3(r3)
+/* 80364A90 003606F0 98 E3 00 04 */ stb r7, 4(r3)
+/* 80364A94 003606F4 98 C3 00 05 */ stb r6, 5(r3)
+/* 80364A98 003606F8 98 83 00 06 */ stb r4, 6(r3)
+/* 80364A9C 003606FC 98 03 00 07 */ stb r0, 7(r3)
+/* 80364AA0 00360700 4E 80 00 20 */ blr
+
+.global __dt__Q34nw4r2ut10CharWriterFv
+__dt__Q34nw4r2ut10CharWriterFv:
+/* 80364AA4 00360704 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80364AA8 00360708 7C 08 02 A6 */ mflr r0
+/* 80364AAC 0036070C 2C 03 00 00 */ cmpwi r3, 0
+/* 80364AB0 00360710 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80364AB4 00360714 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80364AB8 00360718 7C 7F 1B 78 */ mr r31, r3
+/* 80364ABC 0036071C 41 82 00 10 */ beq lbl_80364ACC
+/* 80364AC0 00360720 2C 04 00 00 */ cmpwi r4, 0
+/* 80364AC4 00360724 40 81 00 08 */ ble lbl_80364ACC
+/* 80364AC8 00360728 4B E7 5F F1 */ bl func_801DAAB8
+lbl_80364ACC:
+/* 80364ACC 0036072C 7F E3 FB 78 */ mr r3, r31
+/* 80364AD0 00360730 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80364AD4 00360734 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80364AD8 00360738 7C 08 03 A6 */ mtlr r0
+/* 80364ADC 0036073C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80364AE0 00360740 4E 80 00 20 */ blr
+
+.global SetupGX__Q34nw4r2ut10CharWriterFv
+SetupGX__Q34nw4r2ut10CharWriterFv:
+/* 80364AE4 00360744 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80364AE8 00360748 7C 08 02 A6 */ mflr r0
+/* 80364AEC 0036074C 3C A0 80 62 */ lis r5, lbl_80621718@ha
+/* 80364AF0 00360750 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80364AF4 00360754 38 00 00 FF */ li r0, 0xff
+/* 80364AF8 00360758 38 85 17 18 */ addi r4, r5, lbl_80621718@l
+/* 80364AFC 0036075C 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 80364B00 00360760 3B E0 00 00 */ li r31, 0
+/* 80364B04 00360764 90 05 17 18 */ stw r0, 0x1718(r5)
+/* 80364B08 00360768 93 E4 00 04 */ stw r31, 4(r4)
+/* 80364B0C 0036076C 80 03 00 00 */ lwz r0, 0(r3)
+/* 80364B10 00360770 2C 00 00 00 */ cmpwi r0, 0
+/* 80364B14 00360774 40 82 00 14 */ bne lbl_80364B28
+/* 80364B18 00360778 80 83 00 04 */ lwz r4, 4(r3)
+/* 80364B1C 0036077C 3C 04 00 01 */ addis r0, r4, 1
+/* 80364B20 00360780 28 00 FF FF */ cmplwi r0, 0xffff
+/* 80364B24 00360784 41 82 00 54 */ beq lbl_80364B78
+lbl_80364B28:
+/* 80364B28 00360788 88 03 00 00 */ lbz r0, 0(r3)
+/* 80364B2C 0036078C 38 81 00 1C */ addi r4, r1, 0x1c
+/* 80364B30 00360790 98 01 00 20 */ stb r0, 0x20(r1)
+/* 80364B34 00360794 88 03 00 01 */ lbz r0, 1(r3)
+/* 80364B38 00360798 98 01 00 21 */ stb r0, 0x21(r1)
+/* 80364B3C 0036079C 88 03 00 02 */ lbz r0, 2(r3)
+/* 80364B40 003607A0 98 01 00 22 */ stb r0, 0x22(r1)
+/* 80364B44 003607A4 88 03 00 03 */ lbz r0, 3(r3)
+/* 80364B48 003607A8 98 01 00 23 */ stb r0, 0x23(r1)
+/* 80364B4C 003607AC 88 03 00 04 */ lbz r0, 4(r3)
+/* 80364B50 003607B0 98 01 00 1C */ stb r0, 0x1c(r1)
+/* 80364B54 003607B4 88 03 00 05 */ lbz r0, 5(r3)
+/* 80364B58 003607B8 98 01 00 1D */ stb r0, 0x1d(r1)
+/* 80364B5C 003607BC 88 03 00 06 */ lbz r0, 6(r3)
+/* 80364B60 003607C0 98 01 00 1E */ stb r0, 0x1e(r1)
+/* 80364B64 003607C4 88 03 00 07 */ lbz r0, 7(r3)
+/* 80364B68 003607C8 38 61 00 20 */ addi r3, r1, 0x20
+/* 80364B6C 003607CC 98 01 00 1F */ stb r0, 0x1f(r1)
+/* 80364B70 003607D0 48 00 10 AD */ bl SetupGXWithColorMapping__Q34nw4r2ut10CharWriterFQ34nw4r2ut5ColorQ34nw4r2ut5Color
+/* 80364B74 003607D4 48 00 09 B4 */ b lbl_80365528
+lbl_80364B78:
+/* 80364B78 003607D8 80 63 00 48 */ lwz r3, 0x48(r3)
+/* 80364B7C 003607DC 2C 03 00 00 */ cmpwi r3, 0
+/* 80364B80 003607E0 41 82 07 DC */ beq lbl_8036535C
+/* 80364B84 003607E4 81 83 00 00 */ lwz r12, 0(r3)
+/* 80364B88 003607E8 81 8C 00 30 */ lwz r12, 0x30(r12)
+/* 80364B8C 003607EC 7D 89 03 A6 */ mtctr r12
+/* 80364B90 003607F0 4E 80 04 21 */ bctrl
+/* 80364B94 003607F4 2C 03 00 04 */ cmpwi r3, 4
+/* 80364B98 003607F8 40 80 00 18 */ bge lbl_80364BB0
+/* 80364B9C 003607FC 2C 03 00 02 */ cmpwi r3, 2
+/* 80364BA0 00360800 40 80 02 48 */ bge lbl_80364DE8
+/* 80364BA4 00360804 2C 03 00 00 */ cmpwi r3, 0
+/* 80364BA8 00360808 40 80 00 14 */ bge lbl_80364BBC
+/* 80364BAC 0036080C 48 00 05 DC */ b lbl_80365188
+lbl_80364BB0:
+/* 80364BB0 00360810 2C 03 00 07 */ cmpwi r3, 7
+/* 80364BB4 00360814 40 80 05 D4 */ bge lbl_80365188
+/* 80364BB8 00360818 48 00 04 00 */ b lbl_80364FB8
+lbl_80364BBC:
+/* 80364BBC 0036081C 88 0D B1 C0 */ lbz r0, lbl_80640480-_SDA_BASE_(r13)
+/* 80364BC0 00360820 7C 00 07 75 */ extsb. r0, r0
+/* 80364BC4 00360824 40 82 00 28 */ bne lbl_80364BEC
+/* 80364BC8 00360828 3C 80 80 36 */ lis r4, func_80362698@ha
+/* 80364BCC 0036082C 3C A0 80 62 */ lis r5, lbl_80621708@ha
+/* 80364BD0 00360830 93 ED B1 C4 */ stw r31, lbl_80640484-_SDA_BASE_(r13)
+/* 80364BD4 00360834 38 84 26 98 */ addi r4, r4, func_80362698@l
+/* 80364BD8 00360838 38 A5 17 08 */ addi r5, r5, lbl_80621708@l
+/* 80364BDC 0036083C 38 6D B1 C4 */ addi r3, r13, lbl_80640484-_SDA_BASE_
+/* 80364BE0 00360840 4B E6 20 69 */ bl __register_global_object_tmp
+/* 80364BE4 00360844 38 00 00 01 */ li r0, 1
+/* 80364BE8 00360848 98 0D B1 C0 */ stb r0, lbl_80640480-_SDA_BASE_(r13)
+lbl_80364BEC:
+/* 80364BEC 0036084C C0 22 A5 10 */ lfs f1, lbl_80642B10-_SDA2_BASE_(r2)
+/* 80364BF0 00360850 38 81 00 18 */ addi r4, r1, 0x18
+/* 80364BF4 00360854 88 6D B1 C4 */ lbz r3, lbl_80640484-_SDA_BASE_(r13)
+/* 80364BF8 00360858 88 CD B1 C5 */ lbz r6, lbl_80640485-_SDA_BASE_(r13)
+/* 80364BFC 0036085C FC 40 08 90 */ fmr f2, f1
+/* 80364C00 00360860 88 AD B1 C6 */ lbz r5, lbl_80640486-_SDA_BASE_(r13)
+/* 80364C04 00360864 FC 60 08 90 */ fmr f3, f1
+/* 80364C08 00360868 88 0D B1 C7 */ lbz r0, lbl_80640487-_SDA_BASE_(r13)
+/* 80364C0C 0036086C FC 80 08 90 */ fmr f4, f1
+/* 80364C10 00360870 98 61 00 18 */ stb r3, 0x18(r1)
+/* 80364C14 00360874 38 60 00 00 */ li r3, 0
+/* 80364C18 00360878 98 C1 00 19 */ stb r6, 0x19(r1)
+/* 80364C1C 0036087C 98 A1 00 1A */ stb r5, 0x1a(r1)
+/* 80364C20 00360880 98 01 00 1B */ stb r0, 0x1b(r1)
+/* 80364C24 00360884 4B F1 F5 9D */ bl func_802841C0
+/* 80364C28 00360888 38 60 00 00 */ li r3, 0
+/* 80364C2C 0036088C 38 80 00 00 */ li r4, 0
+/* 80364C30 00360890 38 A0 00 01 */ li r5, 1
+/* 80364C34 00360894 38 C0 00 02 */ li r6, 2
+/* 80364C38 00360898 38 E0 00 03 */ li r7, 3
+/* 80364C3C 0036089C 4B F1 F2 C5 */ bl func_80283F00
+/* 80364C40 003608A0 38 60 00 00 */ li r3, 0
+/* 80364C44 003608A4 38 80 00 11 */ li r4, 0x11
+/* 80364C48 003608A8 38 A0 00 00 */ li r5, 0
+/* 80364C4C 003608AC 4B F1 F3 69 */ bl func_80283FB4
+/* 80364C50 003608B0 38 60 00 01 */ li r3, 1
+/* 80364C54 003608B4 4B F1 D8 F5 */ bl func_80282548
+/* 80364C58 003608B8 38 60 00 04 */ li r3, 4
+/* 80364C5C 003608BC 38 80 00 00 */ li r4, 0
+/* 80364C60 003608C0 38 A0 00 00 */ li r5, 0
+/* 80364C64 003608C4 38 C0 00 01 */ li r6, 1
+/* 80364C68 003608C8 38 E0 00 00 */ li r7, 0
+/* 80364C6C 003608CC 39 00 00 00 */ li r8, 0
+/* 80364C70 003608D0 39 20 00 02 */ li r9, 2
+/* 80364C74 003608D4 4B F1 D8 F9 */ bl func_8028256C
+/* 80364C78 003608D8 38 60 00 05 */ li r3, 5
+/* 80364C7C 003608DC 38 80 00 00 */ li r4, 0
+/* 80364C80 003608E0 38 A0 00 00 */ li r5, 0
+/* 80364C84 003608E4 38 C0 00 00 */ li r6, 0
+/* 80364C88 003608E8 38 E0 00 00 */ li r7, 0
+/* 80364C8C 003608EC 39 00 00 00 */ li r8, 0
+/* 80364C90 003608F0 39 20 00 02 */ li r9, 2
+/* 80364C94 003608F4 4B F1 D8 D9 */ bl func_8028256C
+/* 80364C98 003608F8 38 60 00 01 */ li r3, 1
+/* 80364C9C 003608FC 4B F1 B9 59 */ bl func_802805F4
+/* 80364CA0 00360900 38 60 00 00 */ li r3, 0
+/* 80364CA4 00360904 38 80 00 01 */ li r4, 1
+/* 80364CA8 00360908 38 A0 00 04 */ li r5, 4
+/* 80364CAC 0036090C 38 C0 00 3C */ li r6, 0x3c
+/* 80364CB0 00360910 38 E0 00 00 */ li r7, 0
+/* 80364CB4 00360914 39 00 00 7D */ li r8, 0x7d
+/* 80364CB8 00360918 4B F1 B7 15 */ bl func_802803CC
+/* 80364CBC 0036091C 38 60 00 00 */ li r3, 0
+/* 80364CC0 00360920 4B F1 EA 31 */ bl func_802836F0
+/* 80364CC4 00360924 38 60 00 01 */ li r3, 1
+/* 80364CC8 00360928 38 80 00 04 */ li r4, 4
+/* 80364CCC 0036092C 38 A0 00 05 */ li r5, 5
+/* 80364CD0 00360930 38 C0 00 0F */ li r6, 0xf
+/* 80364CD4 00360934 4B F1 F9 C9 */ bl func_8028469C
+/* 80364CD8 00360938 38 60 00 01 */ li r3, 1
+/* 80364CDC 0036093C 4B F1 F4 C1 */ bl func_8028419C
+/* 80364CE0 00360940 38 60 00 00 */ li r3, 0
+/* 80364CE4 00360944 4B F1 EA 2D */ bl func_80283710
+/* 80364CE8 00360948 38 60 00 00 */ li r3, 0
+/* 80364CEC 0036094C 38 80 00 00 */ li r4, 0
+/* 80364CF0 00360950 38 A0 00 00 */ li r5, 0
+/* 80364CF4 00360954 4B F1 F1 D1 */ bl func_80283EC4
+/* 80364CF8 00360958 38 60 00 00 */ li r3, 0
+/* 80364CFC 0036095C 38 80 00 00 */ li r4, 0
+/* 80364D00 00360960 38 A0 00 00 */ li r5, 0
+/* 80364D04 00360964 38 C0 00 04 */ li r6, 4
+/* 80364D08 00360968 4B F1 F3 39 */ bl func_80284040
+/* 80364D0C 0036096C 38 60 00 00 */ li r3, 0
+/* 80364D10 00360970 38 80 00 0F */ li r4, 0xf
+/* 80364D14 00360974 38 A0 00 0F */ li r5, 0xf
+/* 80364D18 00360978 38 C0 00 0F */ li r6, 0xf
+/* 80364D1C 0036097C 38 E0 00 0A */ li r7, 0xa
+/* 80364D20 00360980 4B F1 EE B5 */ bl func_80283BD4
+/* 80364D24 00360984 38 60 00 00 */ li r3, 0
+/* 80364D28 00360988 38 80 00 07 */ li r4, 7
+/* 80364D2C 0036098C 38 A0 00 04 */ li r5, 4
+/* 80364D30 00360990 38 C0 00 05 */ li r6, 5
+/* 80364D34 00360994 38 E0 00 07 */ li r7, 7
+/* 80364D38 00360998 4B F1 EE DD */ bl func_80283C14
+/* 80364D3C 0036099C 38 60 00 00 */ li r3, 0
+/* 80364D40 003609A0 38 80 00 00 */ li r4, 0
+/* 80364D44 003609A4 38 A0 00 00 */ li r5, 0
+/* 80364D48 003609A8 38 C0 00 00 */ li r6, 0
+/* 80364D4C 003609AC 38 E0 00 01 */ li r7, 1
+/* 80364D50 003609B0 39 00 00 00 */ li r8, 0
+/* 80364D54 003609B4 4B F1 EF 01 */ bl func_80283C54
+/* 80364D58 003609B8 38 60 00 00 */ li r3, 0
+/* 80364D5C 003609BC 38 80 00 00 */ li r4, 0
+/* 80364D60 003609C0 38 A0 00 00 */ li r5, 0
+/* 80364D64 003609C4 38 C0 00 00 */ li r6, 0
+/* 80364D68 003609C8 38 E0 00 01 */ li r7, 1
+/* 80364D6C 003609CC 39 00 00 00 */ li r8, 0
+/* 80364D70 003609D0 4B F1 EF 3D */ bl func_80283CAC
+/* 80364D74 003609D4 38 60 00 00 */ li r3, 0
+/* 80364D78 003609D8 38 80 00 09 */ li r4, 9
+/* 80364D7C 003609DC 38 A0 00 01 */ li r5, 1
+/* 80364D80 003609E0 38 C0 00 04 */ li r6, 4
+/* 80364D84 003609E4 38 E0 00 00 */ li r7, 0
+/* 80364D88 003609E8 4B F1 AF 31 */ bl func_8027FCB8
+/* 80364D8C 003609EC 38 60 00 00 */ li r3, 0
+/* 80364D90 003609F0 38 80 00 0B */ li r4, 0xb
+/* 80364D94 003609F4 38 A0 00 01 */ li r5, 1
+/* 80364D98 003609F8 38 C0 00 05 */ li r6, 5
+/* 80364D9C 003609FC 38 E0 00 00 */ li r7, 0
+/* 80364DA0 00360A00 4B F1 AF 19 */ bl func_8027FCB8
+/* 80364DA4 00360A04 38 60 00 00 */ li r3, 0
+/* 80364DA8 00360A08 38 80 00 0D */ li r4, 0xd
+/* 80364DAC 00360A0C 38 A0 00 01 */ li r5, 1
+/* 80364DB0 00360A10 38 C0 00 02 */ li r6, 2
+/* 80364DB4 00360A14 38 E0 00 0F */ li r7, 0xf
+/* 80364DB8 00360A18 4B F1 AF 01 */ bl func_8027FCB8
+/* 80364DBC 00360A1C 4B F1 AE C9 */ bl func_8027FC84
+/* 80364DC0 00360A20 38 60 00 09 */ li r3, 9
+/* 80364DC4 00360A24 38 80 00 01 */ li r4, 1
+/* 80364DC8 00360A28 4B F1 A6 2D */ bl func_8027F3F4
+/* 80364DCC 00360A2C 38 60 00 0B */ li r3, 0xb
+/* 80364DD0 00360A30 38 80 00 01 */ li r4, 1
+/* 80364DD4 00360A34 4B F1 A6 21 */ bl func_8027F3F4
+/* 80364DD8 00360A38 38 60 00 0D */ li r3, 0xd
+/* 80364DDC 00360A3C 38 80 00 01 */ li r4, 1
+/* 80364DE0 00360A40 4B F1 A6 15 */ bl func_8027F3F4
+/* 80364DE4 00360A44 48 00 07 44 */ b lbl_80365528
+lbl_80364DE8:
+/* 80364DE8 00360A48 88 0D B1 C0 */ lbz r0, lbl_80640480-_SDA_BASE_(r13)
+/* 80364DEC 00360A4C 7C 00 07 75 */ extsb. r0, r0
+/* 80364DF0 00360A50 40 82 00 28 */ bne lbl_80364E18
+/* 80364DF4 00360A54 3C 80 80 36 */ lis r4, func_80362698@ha
+/* 80364DF8 00360A58 3C A0 80 62 */ lis r5, lbl_80621708@ha
+/* 80364DFC 00360A5C 93 ED B1 C4 */ stw r31, lbl_80640484-_SDA_BASE_(r13)
+/* 80364E00 00360A60 38 84 26 98 */ addi r4, r4, func_80362698@l
+/* 80364E04 00360A64 38 A5 17 08 */ addi r5, r5, lbl_80621708@l
+/* 80364E08 00360A68 38 6D B1 C4 */ addi r3, r13, lbl_80640484-_SDA_BASE_
+/* 80364E0C 00360A6C 4B E6 1E 3D */ bl __register_global_object_tmp
+/* 80364E10 00360A70 38 00 00 01 */ li r0, 1
+/* 80364E14 00360A74 98 0D B1 C0 */ stb r0, lbl_80640480-_SDA_BASE_(r13)
+lbl_80364E18:
+/* 80364E18 00360A78 C0 22 A5 10 */ lfs f1, lbl_80642B10-_SDA2_BASE_(r2)
+/* 80364E1C 00360A7C 38 81 00 14 */ addi r4, r1, 0x14
+/* 80364E20 00360A80 88 6D B1 C4 */ lbz r3, lbl_80640484-_SDA_BASE_(r13)
+/* 80364E24 00360A84 88 CD B1 C5 */ lbz r6, lbl_80640485-_SDA_BASE_(r13)
+/* 80364E28 00360A88 FC 40 08 90 */ fmr f2, f1
+/* 80364E2C 00360A8C 88 AD B1 C6 */ lbz r5, lbl_80640486-_SDA_BASE_(r13)
+/* 80364E30 00360A90 FC 60 08 90 */ fmr f3, f1
+/* 80364E34 00360A94 88 0D B1 C7 */ lbz r0, lbl_80640487-_SDA_BASE_(r13)
+/* 80364E38 00360A98 FC 80 08 90 */ fmr f4, f1
+/* 80364E3C 00360A9C 98 61 00 14 */ stb r3, 0x14(r1)
+/* 80364E40 00360AA0 38 60 00 00 */ li r3, 0
+/* 80364E44 00360AA4 98 C1 00 15 */ stb r6, 0x15(r1)
+/* 80364E48 00360AA8 98 A1 00 16 */ stb r5, 0x16(r1)
+/* 80364E4C 00360AAC 98 01 00 17 */ stb r0, 0x17(r1)
+/* 80364E50 00360AB0 4B F1 F3 71 */ bl func_802841C0
+/* 80364E54 00360AB4 38 60 00 00 */ li r3, 0
+/* 80364E58 00360AB8 38 80 00 00 */ li r4, 0
+/* 80364E5C 00360ABC 38 A0 00 01 */ li r5, 1
+/* 80364E60 00360AC0 38 C0 00 02 */ li r6, 2
+/* 80364E64 00360AC4 38 E0 00 03 */ li r7, 3
+/* 80364E68 00360AC8 4B F1 F0 99 */ bl func_80283F00
+/* 80364E6C 00360ACC 38 60 00 00 */ li r3, 0
+/* 80364E70 00360AD0 38 80 00 11 */ li r4, 0x11
+/* 80364E74 00360AD4 38 A0 00 00 */ li r5, 0
+/* 80364E78 00360AD8 4B F1 F1 3D */ bl func_80283FB4
+/* 80364E7C 00360ADC 38 60 00 01 */ li r3, 1
+/* 80364E80 00360AE0 4B F1 D6 C9 */ bl func_80282548
+/* 80364E84 00360AE4 38 60 00 04 */ li r3, 4
+/* 80364E88 00360AE8 38 80 00 00 */ li r4, 0
+/* 80364E8C 00360AEC 38 A0 00 00 */ li r5, 0
+/* 80364E90 00360AF0 38 C0 00 01 */ li r6, 1
+/* 80364E94 00360AF4 38 E0 00 00 */ li r7, 0
+/* 80364E98 00360AF8 39 00 00 00 */ li r8, 0
+/* 80364E9C 00360AFC 39 20 00 02 */ li r9, 2
+/* 80364EA0 00360B00 4B F1 D6 CD */ bl func_8028256C
+/* 80364EA4 00360B04 38 60 00 05 */ li r3, 5
+/* 80364EA8 00360B08 38 80 00 00 */ li r4, 0
+/* 80364EAC 00360B0C 38 A0 00 00 */ li r5, 0
+/* 80364EB0 00360B10 38 C0 00 00 */ li r6, 0
+/* 80364EB4 00360B14 38 E0 00 00 */ li r7, 0
+/* 80364EB8 00360B18 39 00 00 00 */ li r8, 0
+/* 80364EBC 00360B1C 39 20 00 02 */ li r9, 2
+/* 80364EC0 00360B20 4B F1 D6 AD */ bl func_8028256C
+/* 80364EC4 00360B24 38 60 00 01 */ li r3, 1
+/* 80364EC8 00360B28 4B F1 B7 2D */ bl func_802805F4
+/* 80364ECC 00360B2C 38 60 00 00 */ li r3, 0
+/* 80364ED0 00360B30 38 80 00 01 */ li r4, 1
+/* 80364ED4 00360B34 38 A0 00 04 */ li r5, 4
+/* 80364ED8 00360B38 38 C0 00 3C */ li r6, 0x3c
+/* 80364EDC 00360B3C 38 E0 00 00 */ li r7, 0
+/* 80364EE0 00360B40 39 00 00 7D */ li r8, 0x7d
+/* 80364EE4 00360B44 4B F1 B4 E9 */ bl func_802803CC
+/* 80364EE8 00360B48 38 60 00 00 */ li r3, 0
+/* 80364EEC 00360B4C 4B F1 E8 05 */ bl func_802836F0
+/* 80364EF0 00360B50 38 60 00 01 */ li r3, 1
+/* 80364EF4 00360B54 38 80 00 04 */ li r4, 4
+/* 80364EF8 00360B58 38 A0 00 05 */ li r5, 5
+/* 80364EFC 00360B5C 38 C0 00 0F */ li r6, 0xf
+/* 80364F00 00360B60 4B F1 F7 9D */ bl func_8028469C
+/* 80364F04 00360B64 38 60 00 01 */ li r3, 1
+/* 80364F08 00360B68 4B F1 F2 95 */ bl func_8028419C
+/* 80364F0C 00360B6C 38 60 00 00 */ li r3, 0
+/* 80364F10 00360B70 4B F1 E8 01 */ bl func_80283710
+/* 80364F14 00360B74 38 60 00 00 */ li r3, 0
+/* 80364F18 00360B78 38 80 00 00 */ li r4, 0
+/* 80364F1C 00360B7C 38 A0 00 00 */ li r5, 0
+/* 80364F20 00360B80 4B F1 EF A5 */ bl func_80283EC4
+/* 80364F24 00360B84 38 60 00 00 */ li r3, 0
+/* 80364F28 00360B88 38 80 00 00 */ li r4, 0
+/* 80364F2C 00360B8C 38 A0 00 00 */ li r5, 0
+/* 80364F30 00360B90 38 C0 00 04 */ li r6, 4
+/* 80364F34 00360B94 4B F1 F1 0D */ bl func_80284040
+/* 80364F38 00360B98 38 60 00 00 */ li r3, 0
+/* 80364F3C 00360B9C 38 80 00 00 */ li r4, 0
+/* 80364F40 00360BA0 4B F1 EC 01 */ bl func_80283B40
+/* 80364F44 00360BA4 38 60 00 00 */ li r3, 0
+/* 80364F48 00360BA8 38 80 00 09 */ li r4, 9
+/* 80364F4C 00360BAC 38 A0 00 01 */ li r5, 1
+/* 80364F50 00360BB0 38 C0 00 04 */ li r6, 4
+/* 80364F54 00360BB4 38 E0 00 00 */ li r7, 0
+/* 80364F58 00360BB8 4B F1 AD 61 */ bl func_8027FCB8
+/* 80364F5C 00360BBC 38 60 00 00 */ li r3, 0
+/* 80364F60 00360BC0 38 80 00 0B */ li r4, 0xb
+/* 80364F64 00360BC4 38 A0 00 01 */ li r5, 1
+/* 80364F68 00360BC8 38 C0 00 05 */ li r6, 5
+/* 80364F6C 00360BCC 38 E0 00 00 */ li r7, 0
+/* 80364F70 00360BD0 4B F1 AD 49 */ bl func_8027FCB8
+/* 80364F74 00360BD4 38 60 00 00 */ li r3, 0
+/* 80364F78 00360BD8 38 80 00 0D */ li r4, 0xd
+/* 80364F7C 00360BDC 38 A0 00 01 */ li r5, 1
+/* 80364F80 00360BE0 38 C0 00 02 */ li r6, 2
+/* 80364F84 00360BE4 38 E0 00 0F */ li r7, 0xf
+/* 80364F88 00360BE8 4B F1 AD 31 */ bl func_8027FCB8
+/* 80364F8C 00360BEC 4B F1 AC F9 */ bl func_8027FC84
+/* 80364F90 00360BF0 38 60 00 09 */ li r3, 9
+/* 80364F94 00360BF4 38 80 00 01 */ li r4, 1
+/* 80364F98 00360BF8 4B F1 A4 5D */ bl func_8027F3F4
+/* 80364F9C 00360BFC 38 60 00 0B */ li r3, 0xb
+/* 80364FA0 00360C00 38 80 00 01 */ li r4, 1
+/* 80364FA4 00360C04 4B F1 A4 51 */ bl func_8027F3F4
+/* 80364FA8 00360C08 38 60 00 0D */ li r3, 0xd
+/* 80364FAC 00360C0C 38 80 00 01 */ li r4, 1
+/* 80364FB0 00360C10 4B F1 A4 45 */ bl func_8027F3F4
+/* 80364FB4 00360C14 48 00 05 74 */ b lbl_80365528
+lbl_80364FB8:
+/* 80364FB8 00360C18 88 0D B1 C0 */ lbz r0, lbl_80640480-_SDA_BASE_(r13)
+/* 80364FBC 00360C1C 7C 00 07 75 */ extsb. r0, r0
+/* 80364FC0 00360C20 40 82 00 28 */ bne lbl_80364FE8
+/* 80364FC4 00360C24 3C 80 80 36 */ lis r4, func_80362698@ha
+/* 80364FC8 00360C28 3C A0 80 62 */ lis r5, lbl_80621708@ha
+/* 80364FCC 00360C2C 93 ED B1 C4 */ stw r31, lbl_80640484-_SDA_BASE_(r13)
+/* 80364FD0 00360C30 38 84 26 98 */ addi r4, r4, func_80362698@l
+/* 80364FD4 00360C34 38 A5 17 08 */ addi r5, r5, lbl_80621708@l
+/* 80364FD8 00360C38 38 6D B1 C4 */ addi r3, r13, lbl_80640484-_SDA_BASE_
+/* 80364FDC 00360C3C 4B E6 1C 6D */ bl __register_global_object_tmp
+/* 80364FE0 00360C40 38 00 00 01 */ li r0, 1
+/* 80364FE4 00360C44 98 0D B1 C0 */ stb r0, lbl_80640480-_SDA_BASE_(r13)
+lbl_80364FE8:
+/* 80364FE8 00360C48 C0 22 A5 10 */ lfs f1, lbl_80642B10-_SDA2_BASE_(r2)
+/* 80364FEC 00360C4C 38 81 00 10 */ addi r4, r1, 0x10
+/* 80364FF0 00360C50 88 6D B1 C4 */ lbz r3, lbl_80640484-_SDA_BASE_(r13)
+/* 80364FF4 00360C54 88 CD B1 C5 */ lbz r6, lbl_80640485-_SDA_BASE_(r13)
+/* 80364FF8 00360C58 FC 40 08 90 */ fmr f2, f1
+/* 80364FFC 00360C5C 88 AD B1 C6 */ lbz r5, lbl_80640486-_SDA_BASE_(r13)
+/* 80365000 00360C60 FC 60 08 90 */ fmr f3, f1
+/* 80365004 00360C64 88 0D B1 C7 */ lbz r0, lbl_80640487-_SDA_BASE_(r13)
+/* 80365008 00360C68 FC 80 08 90 */ fmr f4, f1
+/* 8036500C 00360C6C 98 61 00 10 */ stb r3, 0x10(r1)
+/* 80365010 00360C70 38 60 00 00 */ li r3, 0
+/* 80365014 00360C74 98 C1 00 11 */ stb r6, 0x11(r1)
+/* 80365018 00360C78 98 A1 00 12 */ stb r5, 0x12(r1)
+/* 8036501C 00360C7C 98 01 00 13 */ stb r0, 0x13(r1)
+/* 80365020 00360C80 4B F1 F1 A1 */ bl func_802841C0
+/* 80365024 00360C84 38 60 00 00 */ li r3, 0
+/* 80365028 00360C88 38 80 00 00 */ li r4, 0
+/* 8036502C 00360C8C 38 A0 00 01 */ li r5, 1
+/* 80365030 00360C90 38 C0 00 02 */ li r6, 2
+/* 80365034 00360C94 38 E0 00 03 */ li r7, 3
+/* 80365038 00360C98 4B F1 EE C9 */ bl func_80283F00
+/* 8036503C 00360C9C 38 60 00 00 */ li r3, 0
+/* 80365040 00360CA0 38 80 00 11 */ li r4, 0x11
+/* 80365044 00360CA4 38 A0 00 00 */ li r5, 0
+/* 80365048 00360CA8 4B F1 EF 6D */ bl func_80283FB4
+/* 8036504C 00360CAC 38 60 00 01 */ li r3, 1
+/* 80365050 00360CB0 4B F1 D4 F9 */ bl func_80282548
+/* 80365054 00360CB4 38 60 00 04 */ li r3, 4
+/* 80365058 00360CB8 38 80 00 00 */ li r4, 0
+/* 8036505C 00360CBC 38 A0 00 00 */ li r5, 0
+/* 80365060 00360CC0 38 C0 00 01 */ li r6, 1
+/* 80365064 00360CC4 38 E0 00 00 */ li r7, 0
+/* 80365068 00360CC8 39 00 00 00 */ li r8, 0
+/* 8036506C 00360CCC 39 20 00 02 */ li r9, 2
+/* 80365070 00360CD0 4B F1 D4 FD */ bl func_8028256C
+/* 80365074 00360CD4 38 60 00 05 */ li r3, 5
+/* 80365078 00360CD8 38 80 00 00 */ li r4, 0
+/* 8036507C 00360CDC 38 A0 00 00 */ li r5, 0
+/* 80365080 00360CE0 38 C0 00 00 */ li r6, 0
+/* 80365084 00360CE4 38 E0 00 00 */ li r7, 0
+/* 80365088 00360CE8 39 00 00 00 */ li r8, 0
+/* 8036508C 00360CEC 39 20 00 02 */ li r9, 2
+/* 80365090 00360CF0 4B F1 D4 DD */ bl func_8028256C
+/* 80365094 00360CF4 38 60 00 01 */ li r3, 1
+/* 80365098 00360CF8 4B F1 B5 5D */ bl func_802805F4
+/* 8036509C 00360CFC 38 60 00 00 */ li r3, 0
+/* 803650A0 00360D00 38 80 00 01 */ li r4, 1
+/* 803650A4 00360D04 38 A0 00 04 */ li r5, 4
+/* 803650A8 00360D08 38 C0 00 3C */ li r6, 0x3c
+/* 803650AC 00360D0C 38 E0 00 00 */ li r7, 0
+/* 803650B0 00360D10 39 00 00 7D */ li r8, 0x7d
+/* 803650B4 00360D14 4B F1 B3 19 */ bl func_802803CC
+/* 803650B8 00360D18 38 60 00 00 */ li r3, 0
+/* 803650BC 00360D1C 4B F1 E6 35 */ bl func_802836F0
+/* 803650C0 00360D20 38 60 00 01 */ li r3, 1
+/* 803650C4 00360D24 38 80 00 04 */ li r4, 4
+/* 803650C8 00360D28 38 A0 00 05 */ li r5, 5
+/* 803650CC 00360D2C 38 C0 00 0F */ li r6, 0xf
+/* 803650D0 00360D30 4B F1 F5 CD */ bl func_8028469C
+/* 803650D4 00360D34 38 60 00 01 */ li r3, 1
+/* 803650D8 00360D38 4B F1 F0 C5 */ bl func_8028419C
+/* 803650DC 00360D3C 38 60 00 00 */ li r3, 0
+/* 803650E0 00360D40 4B F1 E6 31 */ bl func_80283710
+/* 803650E4 00360D44 38 60 00 00 */ li r3, 0
+/* 803650E8 00360D48 38 80 00 00 */ li r4, 0
+/* 803650EC 00360D4C 38 A0 00 00 */ li r5, 0
+/* 803650F0 00360D50 4B F1 ED D5 */ bl func_80283EC4
+/* 803650F4 00360D54 38 60 00 00 */ li r3, 0
+/* 803650F8 00360D58 38 80 00 00 */ li r4, 0
+/* 803650FC 00360D5C 38 A0 00 00 */ li r5, 0
+/* 80365100 00360D60 38 C0 00 04 */ li r6, 4
+/* 80365104 00360D64 4B F1 EF 3D */ bl func_80284040
+/* 80365108 00360D68 38 60 00 00 */ li r3, 0
+/* 8036510C 00360D6C 38 80 00 00 */ li r4, 0
+/* 80365110 00360D70 4B F1 EA 31 */ bl func_80283B40
+/* 80365114 00360D74 38 60 00 00 */ li r3, 0
+/* 80365118 00360D78 38 80 00 09 */ li r4, 9
+/* 8036511C 00360D7C 38 A0 00 01 */ li r5, 1
+/* 80365120 00360D80 38 C0 00 04 */ li r6, 4
+/* 80365124 00360D84 38 E0 00 00 */ li r7, 0
+/* 80365128 00360D88 4B F1 AB 91 */ bl func_8027FCB8
+/* 8036512C 00360D8C 38 60 00 00 */ li r3, 0
+/* 80365130 00360D90 38 80 00 0B */ li r4, 0xb
+/* 80365134 00360D94 38 A0 00 01 */ li r5, 1
+/* 80365138 00360D98 38 C0 00 05 */ li r6, 5
+/* 8036513C 00360D9C 38 E0 00 00 */ li r7, 0
+/* 80365140 00360DA0 4B F1 AB 79 */ bl func_8027FCB8
+/* 80365144 00360DA4 38 60 00 00 */ li r3, 0
+/* 80365148 00360DA8 38 80 00 0D */ li r4, 0xd
+/* 8036514C 00360DAC 38 A0 00 01 */ li r5, 1
+/* 80365150 00360DB0 38 C0 00 02 */ li r6, 2
+/* 80365154 00360DB4 38 E0 00 0F */ li r7, 0xf
+/* 80365158 00360DB8 4B F1 AB 61 */ bl func_8027FCB8
+/* 8036515C 00360DBC 4B F1 AB 29 */ bl func_8027FC84
+/* 80365160 00360DC0 38 60 00 09 */ li r3, 9
+/* 80365164 00360DC4 38 80 00 01 */ li r4, 1
+/* 80365168 00360DC8 4B F1 A2 8D */ bl func_8027F3F4
+/* 8036516C 00360DCC 38 60 00 0B */ li r3, 0xb
+/* 80365170 00360DD0 38 80 00 01 */ li r4, 1
+/* 80365174 00360DD4 4B F1 A2 81 */ bl func_8027F3F4
+/* 80365178 00360DD8 38 60 00 0D */ li r3, 0xd
+/* 8036517C 00360DDC 38 80 00 01 */ li r4, 1
+/* 80365180 00360DE0 4B F1 A2 75 */ bl func_8027F3F4
+/* 80365184 00360DE4 48 00 03 A4 */ b lbl_80365528
+lbl_80365188:
+/* 80365188 00360DE8 88 0D B1 C0 */ lbz r0, lbl_80640480-_SDA_BASE_(r13)
+/* 8036518C 00360DEC 7C 00 07 75 */ extsb. r0, r0
+/* 80365190 00360DF0 40 82 00 2C */ bne lbl_803651BC
+/* 80365194 00360DF4 38 00 00 00 */ li r0, 0
+/* 80365198 00360DF8 3C 80 80 36 */ lis r4, func_80362698@ha
+/* 8036519C 00360DFC 3C A0 80 62 */ lis r5, lbl_80621708@ha
+/* 803651A0 00360E00 90 0D B1 C4 */ stw r0, lbl_80640484-_SDA_BASE_(r13)
+/* 803651A4 00360E04 38 84 26 98 */ addi r4, r4, func_80362698@l
+/* 803651A8 00360E08 38 6D B1 C4 */ addi r3, r13, lbl_80640484-_SDA_BASE_
+/* 803651AC 00360E0C 38 A5 17 08 */ addi r5, r5, lbl_80621708@l
+/* 803651B0 00360E10 4B E6 1A 99 */ bl __register_global_object_tmp
+/* 803651B4 00360E14 38 00 00 01 */ li r0, 1
+/* 803651B8 00360E18 98 0D B1 C0 */ stb r0, lbl_80640480-_SDA_BASE_(r13)
+lbl_803651BC:
+/* 803651BC 00360E1C C0 22 A5 10 */ lfs f1, lbl_80642B10-_SDA2_BASE_(r2)
+/* 803651C0 00360E20 38 81 00 0C */ addi r4, r1, 0xc
+/* 803651C4 00360E24 88 6D B1 C4 */ lbz r3, lbl_80640484-_SDA_BASE_(r13)
+/* 803651C8 00360E28 88 CD B1 C5 */ lbz r6, lbl_80640485-_SDA_BASE_(r13)
+/* 803651CC 00360E2C FC 40 08 90 */ fmr f2, f1
+/* 803651D0 00360E30 88 AD B1 C6 */ lbz r5, lbl_80640486-_SDA_BASE_(r13)
+/* 803651D4 00360E34 FC 60 08 90 */ fmr f3, f1
+/* 803651D8 00360E38 88 0D B1 C7 */ lbz r0, lbl_80640487-_SDA_BASE_(r13)
+/* 803651DC 00360E3C FC 80 08 90 */ fmr f4, f1
+/* 803651E0 00360E40 98 61 00 0C */ stb r3, 0xc(r1)
+/* 803651E4 00360E44 38 60 00 00 */ li r3, 0
+/* 803651E8 00360E48 98 C1 00 0D */ stb r6, 0xd(r1)
+/* 803651EC 00360E4C 98 A1 00 0E */ stb r5, 0xe(r1)
+/* 803651F0 00360E50 98 01 00 0F */ stb r0, 0xf(r1)
+/* 803651F4 00360E54 4B F1 EF CD */ bl func_802841C0
+/* 803651F8 00360E58 38 60 00 00 */ li r3, 0
+/* 803651FC 00360E5C 38 80 00 00 */ li r4, 0
+/* 80365200 00360E60 38 A0 00 01 */ li r5, 1
+/* 80365204 00360E64 38 C0 00 02 */ li r6, 2
+/* 80365208 00360E68 38 E0 00 03 */ li r7, 3
+/* 8036520C 00360E6C 4B F1 EC F5 */ bl func_80283F00
+/* 80365210 00360E70 38 60 00 00 */ li r3, 0
+/* 80365214 00360E74 38 80 00 11 */ li r4, 0x11
+/* 80365218 00360E78 38 A0 00 00 */ li r5, 0
+/* 8036521C 00360E7C 4B F1 ED 99 */ bl func_80283FB4
+/* 80365220 00360E80 38 60 00 01 */ li r3, 1
+/* 80365224 00360E84 4B F1 D3 25 */ bl func_80282548
+/* 80365228 00360E88 38 60 00 04 */ li r3, 4
+/* 8036522C 00360E8C 38 80 00 00 */ li r4, 0
+/* 80365230 00360E90 38 A0 00 00 */ li r5, 0
+/* 80365234 00360E94 38 C0 00 01 */ li r6, 1
+/* 80365238 00360E98 38 E0 00 00 */ li r7, 0
+/* 8036523C 00360E9C 39 00 00 00 */ li r8, 0
+/* 80365240 00360EA0 39 20 00 02 */ li r9, 2
+/* 80365244 00360EA4 4B F1 D3 29 */ bl func_8028256C
+/* 80365248 00360EA8 38 60 00 05 */ li r3, 5
+/* 8036524C 00360EAC 38 80 00 00 */ li r4, 0
+/* 80365250 00360EB0 38 A0 00 00 */ li r5, 0
+/* 80365254 00360EB4 38 C0 00 00 */ li r6, 0
+/* 80365258 00360EB8 38 E0 00 00 */ li r7, 0
+/* 8036525C 00360EBC 39 00 00 00 */ li r8, 0
+/* 80365260 00360EC0 39 20 00 02 */ li r9, 2
+/* 80365264 00360EC4 4B F1 D3 09 */ bl func_8028256C
+/* 80365268 00360EC8 38 60 00 01 */ li r3, 1
+/* 8036526C 00360ECC 4B F1 B3 89 */ bl func_802805F4
+/* 80365270 00360ED0 38 60 00 00 */ li r3, 0
+/* 80365274 00360ED4 38 80 00 01 */ li r4, 1
+/* 80365278 00360ED8 38 A0 00 04 */ li r5, 4
+/* 8036527C 00360EDC 38 C0 00 3C */ li r6, 0x3c
+/* 80365280 00360EE0 38 E0 00 00 */ li r7, 0
+/* 80365284 00360EE4 39 00 00 7D */ li r8, 0x7d
+/* 80365288 00360EE8 4B F1 B1 45 */ bl func_802803CC
+/* 8036528C 00360EEC 38 60 00 00 */ li r3, 0
+/* 80365290 00360EF0 4B F1 E4 61 */ bl func_802836F0
+/* 80365294 00360EF4 38 60 00 01 */ li r3, 1
+/* 80365298 00360EF8 38 80 00 04 */ li r4, 4
+/* 8036529C 00360EFC 38 A0 00 05 */ li r5, 5
+/* 803652A0 00360F00 38 C0 00 0F */ li r6, 0xf
+/* 803652A4 00360F04 4B F1 F3 F9 */ bl func_8028469C
+/* 803652A8 00360F08 38 60 00 01 */ li r3, 1
+/* 803652AC 00360F0C 4B F1 EE F1 */ bl func_8028419C
+/* 803652B0 00360F10 38 60 00 00 */ li r3, 0
+/* 803652B4 00360F14 4B F1 E4 5D */ bl func_80283710
+/* 803652B8 00360F18 38 60 00 00 */ li r3, 0
+/* 803652BC 00360F1C 38 80 00 00 */ li r4, 0
+/* 803652C0 00360F20 38 A0 00 00 */ li r5, 0
+/* 803652C4 00360F24 4B F1 EC 01 */ bl func_80283EC4
+/* 803652C8 00360F28 38 60 00 00 */ li r3, 0
+/* 803652CC 00360F2C 38 80 00 00 */ li r4, 0
+/* 803652D0 00360F30 38 A0 00 00 */ li r5, 0
+/* 803652D4 00360F34 38 C0 00 04 */ li r6, 4
+/* 803652D8 00360F38 4B F1 ED 69 */ bl func_80284040
+/* 803652DC 00360F3C 38 60 00 00 */ li r3, 0
+/* 803652E0 00360F40 38 80 00 00 */ li r4, 0
+/* 803652E4 00360F44 4B F1 E8 5D */ bl func_80283B40
+/* 803652E8 00360F48 38 60 00 00 */ li r3, 0
+/* 803652EC 00360F4C 38 80 00 09 */ li r4, 9
+/* 803652F0 00360F50 38 A0 00 01 */ li r5, 1
+/* 803652F4 00360F54 38 C0 00 04 */ li r6, 4
+/* 803652F8 00360F58 38 E0 00 00 */ li r7, 0
+/* 803652FC 00360F5C 4B F1 A9 BD */ bl func_8027FCB8
+/* 80365300 00360F60 38 60 00 00 */ li r3, 0
+/* 80365304 00360F64 38 80 00 0B */ li r4, 0xb
+/* 80365308 00360F68 38 A0 00 01 */ li r5, 1
+/* 8036530C 00360F6C 38 C0 00 05 */ li r6, 5
+/* 80365310 00360F70 38 E0 00 00 */ li r7, 0
+/* 80365314 00360F74 4B F1 A9 A5 */ bl func_8027FCB8
+/* 80365318 00360F78 38 60 00 00 */ li r3, 0
+/* 8036531C 00360F7C 38 80 00 0D */ li r4, 0xd
+/* 80365320 00360F80 38 A0 00 01 */ li r5, 1
+/* 80365324 00360F84 38 C0 00 02 */ li r6, 2
+/* 80365328 00360F88 38 E0 00 0F */ li r7, 0xf
+/* 8036532C 00360F8C 4B F1 A9 8D */ bl func_8027FCB8
+/* 80365330 00360F90 4B F1 A9 55 */ bl func_8027FC84
+/* 80365334 00360F94 38 60 00 09 */ li r3, 9
+/* 80365338 00360F98 38 80 00 01 */ li r4, 1
+/* 8036533C 00360F9C 4B F1 A0 B9 */ bl func_8027F3F4
+/* 80365340 00360FA0 38 60 00 0B */ li r3, 0xb
+/* 80365344 00360FA4 38 80 00 01 */ li r4, 1
+/* 80365348 00360FA8 4B F1 A0 AD */ bl func_8027F3F4
+/* 8036534C 00360FAC 38 60 00 0D */ li r3, 0xd
+/* 80365350 00360FB0 38 80 00 01 */ li r4, 1
+/* 80365354 00360FB4 4B F1 A0 A1 */ bl func_8027F3F4
+/* 80365358 00360FB8 48 00 01 D0 */ b lbl_80365528
+lbl_8036535C:
+/* 8036535C 00360FBC 88 0D B1 C0 */ lbz r0, lbl_80640480-_SDA_BASE_(r13)
+/* 80365360 00360FC0 7C 00 07 75 */ extsb. r0, r0
+/* 80365364 00360FC4 40 82 00 28 */ bne lbl_8036538C
+/* 80365368 00360FC8 3C 80 80 36 */ lis r4, func_80362698@ha
+/* 8036536C 00360FCC 3C A0 80 62 */ lis r5, lbl_80621708@ha
+/* 80365370 00360FD0 93 ED B1 C4 */ stw r31, lbl_80640484-_SDA_BASE_(r13)
+/* 80365374 00360FD4 38 84 26 98 */ addi r4, r4, func_80362698@l
+/* 80365378 00360FD8 38 A5 17 08 */ addi r5, r5, lbl_80621708@l
+/* 8036537C 00360FDC 38 6D B1 C4 */ addi r3, r13, lbl_80640484-_SDA_BASE_
+/* 80365380 00360FE0 4B E6 18 C9 */ bl __register_global_object_tmp
+/* 80365384 00360FE4 38 00 00 01 */ li r0, 1
+/* 80365388 00360FE8 98 0D B1 C0 */ stb r0, lbl_80640480-_SDA_BASE_(r13)
+lbl_8036538C:
+/* 8036538C 00360FEC C0 22 A5 10 */ lfs f1, lbl_80642B10-_SDA2_BASE_(r2)
+/* 80365390 00360FF0 38 81 00 08 */ addi r4, r1, 8
+/* 80365394 00360FF4 88 6D B1 C4 */ lbz r3, lbl_80640484-_SDA_BASE_(r13)
+/* 80365398 00360FF8 88 CD B1 C5 */ lbz r6, lbl_80640485-_SDA_BASE_(r13)
+/* 8036539C 00360FFC FC 40 08 90 */ fmr f2, f1
+/* 803653A0 00361000 88 AD B1 C6 */ lbz r5, lbl_80640486-_SDA_BASE_(r13)
+/* 803653A4 00361004 FC 60 08 90 */ fmr f3, f1
+/* 803653A8 00361008 88 0D B1 C7 */ lbz r0, lbl_80640487-_SDA_BASE_(r13)
+/* 803653AC 0036100C FC 80 08 90 */ fmr f4, f1
+/* 803653B0 00361010 98 61 00 08 */ stb r3, 8(r1)
+/* 803653B4 00361014 38 60 00 00 */ li r3, 0
+/* 803653B8 00361018 98 C1 00 09 */ stb r6, 9(r1)
+/* 803653BC 0036101C 98 A1 00 0A */ stb r5, 0xa(r1)
+/* 803653C0 00361020 98 01 00 0B */ stb r0, 0xb(r1)
+/* 803653C4 00361024 4B F1 ED FD */ bl func_802841C0
+/* 803653C8 00361028 38 60 00 00 */ li r3, 0
+/* 803653CC 0036102C 38 80 00 00 */ li r4, 0
+/* 803653D0 00361030 38 A0 00 01 */ li r5, 1
+/* 803653D4 00361034 38 C0 00 02 */ li r6, 2
+/* 803653D8 00361038 38 E0 00 03 */ li r7, 3
+/* 803653DC 0036103C 4B F1 EB 25 */ bl func_80283F00
+/* 803653E0 00361040 38 60 00 00 */ li r3, 0
+/* 803653E4 00361044 38 80 00 11 */ li r4, 0x11
+/* 803653E8 00361048 38 A0 00 00 */ li r5, 0
+/* 803653EC 0036104C 4B F1 EB C9 */ bl func_80283FB4
+/* 803653F0 00361050 38 60 00 01 */ li r3, 1
+/* 803653F4 00361054 4B F1 D1 55 */ bl func_80282548
+/* 803653F8 00361058 38 60 00 04 */ li r3, 4
+/* 803653FC 0036105C 38 80 00 00 */ li r4, 0
+/* 80365400 00361060 38 A0 00 00 */ li r5, 0
+/* 80365404 00361064 38 C0 00 01 */ li r6, 1
+/* 80365408 00361068 38 E0 00 00 */ li r7, 0
+/* 8036540C 0036106C 39 00 00 00 */ li r8, 0
+/* 80365410 00361070 39 20 00 02 */ li r9, 2
+/* 80365414 00361074 4B F1 D1 59 */ bl func_8028256C
+/* 80365418 00361078 38 60 00 05 */ li r3, 5
+/* 8036541C 0036107C 38 80 00 00 */ li r4, 0
+/* 80365420 00361080 38 A0 00 00 */ li r5, 0
+/* 80365424 00361084 38 C0 00 00 */ li r6, 0
+/* 80365428 00361088 38 E0 00 00 */ li r7, 0
+/* 8036542C 0036108C 39 00 00 00 */ li r8, 0
+/* 80365430 00361090 39 20 00 02 */ li r9, 2
+/* 80365434 00361094 4B F1 D1 39 */ bl func_8028256C
+/* 80365438 00361098 38 60 00 01 */ li r3, 1
+/* 8036543C 0036109C 4B F1 B1 B9 */ bl func_802805F4
+/* 80365440 003610A0 38 60 00 00 */ li r3, 0
+/* 80365444 003610A4 38 80 00 01 */ li r4, 1
+/* 80365448 003610A8 38 A0 00 04 */ li r5, 4
+/* 8036544C 003610AC 38 C0 00 3C */ li r6, 0x3c
+/* 80365450 003610B0 38 E0 00 00 */ li r7, 0
+/* 80365454 003610B4 39 00 00 7D */ li r8, 0x7d
+/* 80365458 003610B8 4B F1 AF 75 */ bl func_802803CC
+/* 8036545C 003610BC 38 60 00 00 */ li r3, 0
+/* 80365460 003610C0 4B F1 E2 91 */ bl func_802836F0
+/* 80365464 003610C4 38 60 00 01 */ li r3, 1
+/* 80365468 003610C8 38 80 00 04 */ li r4, 4
+/* 8036546C 003610CC 38 A0 00 05 */ li r5, 5
+/* 80365470 003610D0 38 C0 00 0F */ li r6, 0xf
+/* 80365474 003610D4 4B F1 F2 29 */ bl func_8028469C
+/* 80365478 003610D8 38 60 00 01 */ li r3, 1
+/* 8036547C 003610DC 4B F1 ED 21 */ bl func_8028419C
+/* 80365480 003610E0 38 60 00 00 */ li r3, 0
+/* 80365484 003610E4 4B F1 E2 8D */ bl func_80283710
+/* 80365488 003610E8 38 60 00 00 */ li r3, 0
+/* 8036548C 003610EC 38 80 00 00 */ li r4, 0
+/* 80365490 003610F0 38 A0 00 00 */ li r5, 0
+/* 80365494 003610F4 4B F1 EA 31 */ bl func_80283EC4
+/* 80365498 003610F8 38 60 00 00 */ li r3, 0
+/* 8036549C 003610FC 38 80 00 00 */ li r4, 0
+/* 803654A0 00361100 38 A0 00 00 */ li r5, 0
+/* 803654A4 00361104 38 C0 00 04 */ li r6, 4
+/* 803654A8 00361108 4B F1 EB 99 */ bl func_80284040
+/* 803654AC 0036110C 38 60 00 00 */ li r3, 0
+/* 803654B0 00361110 38 80 00 00 */ li r4, 0
+/* 803654B4 00361114 4B F1 E6 8D */ bl func_80283B40
+/* 803654B8 00361118 38 60 00 00 */ li r3, 0
+/* 803654BC 0036111C 38 80 00 09 */ li r4, 9
+/* 803654C0 00361120 38 A0 00 01 */ li r5, 1
+/* 803654C4 00361124 38 C0 00 04 */ li r6, 4
+/* 803654C8 00361128 38 E0 00 00 */ li r7, 0
+/* 803654CC 0036112C 4B F1 A7 ED */ bl func_8027FCB8
+/* 803654D0 00361130 38 60 00 00 */ li r3, 0
+/* 803654D4 00361134 38 80 00 0B */ li r4, 0xb
+/* 803654D8 00361138 38 A0 00 01 */ li r5, 1
+/* 803654DC 0036113C 38 C0 00 05 */ li r6, 5
+/* 803654E0 00361140 38 E0 00 00 */ li r7, 0
+/* 803654E4 00361144 4B F1 A7 D5 */ bl func_8027FCB8
+/* 803654E8 00361148 38 60 00 00 */ li r3, 0
+/* 803654EC 0036114C 38 80 00 0D */ li r4, 0xd
+/* 803654F0 00361150 38 A0 00 01 */ li r5, 1
+/* 803654F4 00361154 38 C0 00 02 */ li r6, 2
+/* 803654F8 00361158 38 E0 00 0F */ li r7, 0xf
+/* 803654FC 0036115C 4B F1 A7 BD */ bl func_8027FCB8
+/* 80365500 00361160 4B F1 A7 85 */ bl func_8027FC84
+/* 80365504 00361164 38 60 00 09 */ li r3, 9
+/* 80365508 00361168 38 80 00 01 */ li r4, 1
+/* 8036550C 0036116C 4B F1 9E E9 */ bl func_8027F3F4
+/* 80365510 00361170 38 60 00 0B */ li r3, 0xb
+/* 80365514 00361174 38 80 00 01 */ li r4, 1
+/* 80365518 00361178 4B F1 9E DD */ bl func_8027F3F4
+/* 8036551C 0036117C 38 60 00 0D */ li r3, 0xd
+/* 80365520 00361180 38 80 00 01 */ li r4, 1
+/* 80365524 00361184 4B F1 9E D1 */ bl func_8027F3F4
+lbl_80365528:
+/* 80365528 00361188 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8036552C 0036118C 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 80365530 00361190 7C 08 03 A6 */ mtlr r0
+/* 80365534 00361194 38 21 00 30 */ addi r1, r1, 0x30
+/* 80365538 00361198 4E 80 00 20 */ blr
+
+.global SetFontSize__Q34nw4r2ut10CharWriterFff
+SetFontSize__Q34nw4r2ut10CharWriterFff:
+/* 8036553C 0036119C 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 80365540 003611A0 7C 08 02 A6 */ mflr r0
+/* 80365544 003611A4 90 01 00 44 */ stw r0, 0x44(r1)
+/* 80365548 003611A8 DB E1 00 30 */ stfd f31, 0x30(r1)
+/* 8036554C 003611AC F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
+/* 80365550 003611B0 DB C1 00 20 */ stfd f30, 0x20(r1)
+/* 80365554 003611B4 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
+/* 80365558 003611B8 FF C0 08 90 */ fmr f30, f1
+/* 8036555C 003611BC FF E0 10 90 */ fmr f31, f2
+/* 80365560 003611C0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80365564 003611C4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80365568 003611C8 7C 7E 1B 78 */ mr r30, r3
+/* 8036556C 003611CC 80 63 00 48 */ lwz r3, 0x48(r3)
+/* 80365570 003611D0 81 83 00 00 */ lwz r12, 0(r3)
+/* 80365574 003611D4 81 8C 00 10 */ lwz r12, 0x10(r12)
+/* 80365578 003611D8 7D 89 03 A6 */ mtctr r12
+/* 8036557C 003611DC 4E 80 04 21 */ bctrl
+/* 80365580 003611E0 6C 60 80 00 */ xoris r0, r3, 0x8000
+/* 80365584 003611E4 3F E0 43 30 */ lis r31, 0x4330
+/* 80365588 003611E8 90 01 00 0C */ stw r0, 0xc(r1)
+/* 8036558C 003611EC 80 7E 00 48 */ lwz r3, 0x48(r30)
+/* 80365590 003611F0 93 E1 00 08 */ stw r31, 8(r1)
+/* 80365594 003611F4 C8 22 A5 18 */ lfd f1, lbl_80642B18-_SDA2_BASE_(r2)
+/* 80365598 003611F8 C8 01 00 08 */ lfd f0, 8(r1)
+/* 8036559C 003611FC 81 83 00 00 */ lwz r12, 0(r3)
+/* 803655A0 00361200 EC 00 08 28 */ fsubs f0, f0, f1
+/* 803655A4 00361204 81 8C 00 0C */ lwz r12, 0xc(r12)
+/* 803655A8 00361208 EF FF 00 24 */ fdivs f31, f31, f0
+/* 803655AC 0036120C 7D 89 03 A6 */ mtctr r12
+/* 803655B0 00361210 4E 80 04 21 */ bctrl
+/* 803655B4 00361214 6C 60 80 00 */ xoris r0, r3, 0x8000
+/* 803655B8 00361218 93 E1 00 10 */ stw r31, 0x10(r1)
+/* 803655BC 0036121C C8 22 A5 18 */ lfd f1, lbl_80642B18-_SDA2_BASE_(r2)
+/* 803655C0 00361220 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803655C4 00361224 C8 01 00 10 */ lfd f0, 0x10(r1)
+/* 803655C8 00361228 D3 FE 00 28 */ stfs f31, 0x28(r30)
+/* 803655CC 0036122C EC 00 08 28 */ fsubs f0, f0, f1
+/* 803655D0 00361230 EC 1E 00 24 */ fdivs f0, f30, f0
+/* 803655D4 00361234 D0 1E 00 24 */ stfs f0, 0x24(r30)
+/* 803655D8 00361238 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
+/* 803655DC 0036123C CB E1 00 30 */ lfd f31, 0x30(r1)
+/* 803655E0 00361240 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
+/* 803655E4 00361244 CB C1 00 20 */ lfd f30, 0x20(r1)
+/* 803655E8 00361248 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803655EC 0036124C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803655F0 00361250 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 803655F4 00361254 7C 08 03 A6 */ mtlr r0
+/* 803655F8 00361258 38 21 00 40 */ addi r1, r1, 0x40
+/* 803655FC 0036125C 4E 80 00 20 */ blr
+
+.global GetFontWidth__Q34nw4r2ut10CharWriterCFv
+GetFontWidth__Q34nw4r2ut10CharWriterCFv:
+/* 80365600 00361260 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80365604 00361264 7C 08 02 A6 */ mflr r0
+/* 80365608 00361268 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8036560C 0036126C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80365610 00361270 7C 7F 1B 78 */ mr r31, r3
+/* 80365614 00361274 80 63 00 48 */ lwz r3, 0x48(r3)
+/* 80365618 00361278 81 83 00 00 */ lwz r12, 0(r3)
+/* 8036561C 0036127C 81 8C 00 0C */ lwz r12, 0xc(r12)
+/* 80365620 00361280 7D 89 03 A6 */ mtctr r12
+/* 80365624 00361284 4E 80 04 21 */ bctrl
+/* 80365628 00361288 6C 63 80 00 */ xoris r3, r3, 0x8000
+/* 8036562C 0036128C 3C 00 43 30 */ lis r0, 0x4330
+/* 80365630 00361290 90 61 00 0C */ stw r3, 0xc(r1)
+/* 80365634 00361294 C0 1F 00 24 */ lfs f0, 0x24(r31)
+/* 80365638 00361298 90 01 00 08 */ stw r0, 8(r1)
+/* 8036563C 0036129C C8 42 A5 18 */ lfd f2, lbl_80642B18-_SDA2_BASE_(r2)
+/* 80365640 003612A0 C8 21 00 08 */ lfd f1, 8(r1)
+/* 80365644 003612A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80365648 003612A8 EC 21 10 28 */ fsubs f1, f1, f2
+/* 8036564C 003612AC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80365650 003612B0 EC 20 00 72 */ fmuls f1, f0, f1
+/* 80365654 003612B4 7C 08 03 A6 */ mtlr r0
+/* 80365658 003612B8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8036565C 003612BC 4E 80 00 20 */ blr
+
+.global GetFontHeight__Q34nw4r2ut10CharWriterCFv
+GetFontHeight__Q34nw4r2ut10CharWriterCFv:
+/* 80365660 003612C0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80365664 003612C4 7C 08 02 A6 */ mflr r0
+/* 80365668 003612C8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8036566C 003612CC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80365670 003612D0 7C 7F 1B 78 */ mr r31, r3
+/* 80365674 003612D4 80 63 00 48 */ lwz r3, 0x48(r3)
+/* 80365678 003612D8 81 83 00 00 */ lwz r12, 0(r3)
+/* 8036567C 003612DC 81 8C 00 10 */ lwz r12, 0x10(r12)
+/* 80365680 003612E0 7D 89 03 A6 */ mtctr r12
+/* 80365684 003612E4 4E 80 04 21 */ bctrl
+/* 80365688 003612E8 6C 63 80 00 */ xoris r3, r3, 0x8000
+/* 8036568C 003612EC 3C 00 43 30 */ lis r0, 0x4330
+/* 80365690 003612F0 90 61 00 0C */ stw r3, 0xc(r1)
+/* 80365694 003612F4 C0 1F 00 28 */ lfs f0, 0x28(r31)
+/* 80365698 003612F8 90 01 00 08 */ stw r0, 8(r1)
+/* 8036569C 003612FC C8 42 A5 18 */ lfd f2, lbl_80642B18-_SDA2_BASE_(r2)
+/* 803656A0 00361300 C8 21 00 08 */ lfd f1, 8(r1)
+/* 803656A4 00361304 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803656A8 00361308 EC 21 10 28 */ fsubs f1, f1, f2
+/* 803656AC 0036130C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803656B0 00361310 EC 20 00 72 */ fmuls f1, f0, f1
+/* 803656B4 00361314 7C 08 03 A6 */ mtlr r0
+/* 803656B8 00361318 38 21 00 20 */ addi r1, r1, 0x20
+/* 803656BC 0036131C 4E 80 00 20 */ blr
+
+.global GetFontAscent__Q34nw4r2ut10CharWriterCFv
+GetFontAscent__Q34nw4r2ut10CharWriterCFv:
+/* 803656C0 00361320 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 803656C4 00361324 7C 08 02 A6 */ mflr r0
+/* 803656C8 00361328 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803656CC 0036132C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 803656D0 00361330 7C 7F 1B 78 */ mr r31, r3
+/* 803656D4 00361334 80 63 00 48 */ lwz r3, 0x48(r3)
+/* 803656D8 00361338 81 83 00 00 */ lwz r12, 0(r3)
+/* 803656DC 0036133C 81 8C 00 14 */ lwz r12, 0x14(r12)
+/* 803656E0 00361340 7D 89 03 A6 */ mtctr r12
+/* 803656E4 00361344 4E 80 04 21 */ bctrl
+/* 803656E8 00361348 6C 63 80 00 */ xoris r3, r3, 0x8000
+/* 803656EC 0036134C 3C 00 43 30 */ lis r0, 0x4330
+/* 803656F0 00361350 90 61 00 0C */ stw r3, 0xc(r1)
+/* 803656F4 00361354 C0 1F 00 28 */ lfs f0, 0x28(r31)
+/* 803656F8 00361358 90 01 00 08 */ stw r0, 8(r1)
+/* 803656FC 0036135C C8 42 A5 18 */ lfd f2, lbl_80642B18-_SDA2_BASE_(r2)
+/* 80365700 00361360 C8 21 00 08 */ lfd f1, 8(r1)
+/* 80365704 00361364 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80365708 00361368 EC 21 10 28 */ fsubs f1, f1, f2
+/* 8036570C 0036136C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80365710 00361370 EC 20 00 72 */ fmuls f1, f0, f1
+/* 80365714 00361374 7C 08 03 A6 */ mtlr r0
+/* 80365718 00361378 38 21 00 20 */ addi r1, r1, 0x20
+/* 8036571C 0036137C 4E 80 00 20 */ blr
+
+.global Print__Q34nw4r2ut10CharWriterFUs
+Print__Q34nw4r2ut10CharWriterFUs:
+/* 80365720 00361380 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 80365724 00361384 7C 08 02 A6 */ mflr r0
+/* 80365728 00361388 90 01 00 54 */ stw r0, 0x54(r1)
+/* 8036572C 0036138C DB E1 00 40 */ stfd f31, 0x40(r1)
+/* 80365730 00361390 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
+/* 80365734 00361394 3C 00 43 30 */ lis r0, 0x4330
+/* 80365738 00361398 7C 85 23 78 */ mr r5, r4
+/* 8036573C 0036139C 38 81 00 08 */ addi r4, r1, 8
+/* 80365740 003613A0 93 E1 00 3C */ stw r31, 0x3c(r1)
+/* 80365744 003613A4 7C 7F 1B 78 */ mr r31, r3
+/* 80365748 003613A8 80 63 00 48 */ lwz r3, 0x48(r3)
+/* 8036574C 003613AC 90 01 00 20 */ stw r0, 0x20(r1)
+/* 80365750 003613B0 81 83 00 00 */ lwz r12, 0(r3)
+/* 80365754 003613B4 90 01 00 28 */ stw r0, 0x28(r1)
+/* 80365758 003613B8 81 8C 00 50 */ lwz r12, 0x50(r12)
+/* 8036575C 003613BC 7D 89 03 A6 */ mtctr r12
+/* 80365760 003613C0 4E 80 04 21 */ bctrl
+/* 80365764 003613C4 88 1F 00 43 */ lbz r0, 0x43(r31)
+/* 80365768 003613C8 2C 00 00 00 */ cmpwi r0, 0
+/* 8036576C 003613CC 41 82 00 5C */ beq lbl_803657C8
+/* 80365770 003613D0 88 61 00 0E */ lbz r3, 0xe(r1)
+/* 80365774 003613D4 88 01 00 0C */ lbz r0, 0xc(r1)
+/* 80365778 003613D8 7C 63 07 74 */ extsb r3, r3
+/* 8036577C 003613DC C8 82 A5 18 */ lfd f4, lbl_80642B18-_SDA2_BASE_(r2)
+/* 80365780 003613E0 6C 63 80 00 */ xoris r3, r3, 0x8000
+/* 80365784 003613E4 7C 00 07 74 */ extsb r0, r0
+/* 80365788 003613E8 90 61 00 24 */ stw r3, 0x24(r1)
+/* 8036578C 003613EC 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 80365790 003613F0 C0 7F 00 24 */ lfs f3, 0x24(r31)
+/* 80365794 003613F4 C8 01 00 20 */ lfd f0, 0x20(r1)
+/* 80365798 003613F8 90 01 00 2C */ stw r0, 0x2c(r1)
+/* 8036579C 003613FC EC 40 20 28 */ fsubs f2, f0, f4
+/* 803657A0 00361400 C3 FF 00 44 */ lfs f31, 0x44(r31)
+/* 803657A4 00361404 C8 01 00 28 */ lfd f0, 0x28(r1)
+/* 803657A8 00361408 C0 22 A5 20 */ lfs f1, lbl_80642B20-_SDA2_BASE_(r2)
+/* 803657AC 0036140C EC 42 00 F2 */ fmuls f2, f2, f3
+/* 803657B0 00361410 EC 00 20 28 */ fsubs f0, f0, f4
+/* 803657B4 00361414 EC 5F 10 28 */ fsubs f2, f31, f2
+/* 803657B8 00361418 EC 00 00 F2 */ fmuls f0, f0, f3
+/* 803657BC 0036141C EC 22 00 72 */ fmuls f1, f2, f1
+/* 803657C0 00361420 EC 21 00 2A */ fadds f1, f1, f0
+/* 803657C4 00361424 48 00 00 44 */ b lbl_80365808
+lbl_803657C8:
+/* 803657C8 00361428 88 61 00 0E */ lbz r3, 0xe(r1)
+/* 803657CC 0036142C 88 01 00 0C */ lbz r0, 0xc(r1)
+/* 803657D0 00361430 7C 63 07 74 */ extsb r3, r3
+/* 803657D4 00361434 C8 62 A5 18 */ lfd f3, lbl_80642B18-_SDA2_BASE_(r2)
+/* 803657D8 00361438 7C 00 07 74 */ extsb r0, r0
+/* 803657DC 0036143C C0 3F 00 24 */ lfs f1, 0x24(r31)
+/* 803657E0 00361440 6C 63 80 00 */ xoris r3, r3, 0x8000
+/* 803657E4 00361444 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 803657E8 00361448 90 61 00 24 */ stw r3, 0x24(r1)
+/* 803657EC 0036144C 90 01 00 2C */ stw r0, 0x2c(r1)
+/* 803657F0 00361450 C8 41 00 20 */ lfd f2, 0x20(r1)
+/* 803657F4 00361454 C8 01 00 28 */ lfd f0, 0x28(r1)
+/* 803657F8 00361458 EC 42 18 28 */ fsubs f2, f2, f3
+/* 803657FC 0036145C EC 00 18 28 */ fsubs f0, f0, f3
+/* 80365800 00361460 EF E2 00 72 */ fmuls f31, f2, f1
+/* 80365804 00361464 EC 20 00 72 */ fmuls f1, f0, f1
+lbl_80365808:
+/* 80365808 00361468 C0 1F 00 2C */ lfs f0, 0x2c(r31)
+/* 8036580C 0036146C 7F E3 FB 78 */ mr r3, r31
+/* 80365810 00361470 C0 5F 00 30 */ lfs f2, 0x30(r31)
+/* 80365814 00361474 38 81 00 08 */ addi r4, r1, 8
+/* 80365818 00361478 EC 20 08 2A */ fadds f1, f0, f1
+/* 8036581C 0036147C C0 7F 00 34 */ lfs f3, 0x34(r31)
+/* 80365820 00361480 48 00 00 31 */ bl PrintGlyph__Q34nw4r2ut10CharWriterFfffRCQ34nw4r2ut5Glyph
+/* 80365824 00361484 C0 1F 00 2C */ lfs f0, 0x2c(r31)
+/* 80365828 00361488 FC 20 F8 90 */ fmr f1, f31
+/* 8036582C 0036148C EC 00 F8 2A */ fadds f0, f0, f31
+/* 80365830 00361490 D0 1F 00 2C */ stfs f0, 0x2c(r31)
+/* 80365834 00361494 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
+/* 80365838 00361498 CB E1 00 40 */ lfd f31, 0x40(r1)
+/* 8036583C 0036149C 83 E1 00 3C */ lwz r31, 0x3c(r1)
+/* 80365840 003614A0 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 80365844 003614A4 7C 08 03 A6 */ mtlr r0
+/* 80365848 003614A8 38 21 00 50 */ addi r1, r1, 0x50
+/* 8036584C 003614AC 4E 80 00 20 */ blr
+
+.global PrintGlyph__Q34nw4r2ut10CharWriterFfffRCQ34nw4r2ut5Glyph
+PrintGlyph__Q34nw4r2ut10CharWriterFfffRCQ34nw4r2ut5Glyph:
+/* 80365850 003614B0 94 21 FF 50 */ stwu r1, -0xb0(r1)
+/* 80365854 003614B4 7C 08 02 A6 */ mflr r0
+/* 80365858 003614B8 90 01 00 B4 */ stw r0, 0xb4(r1)
+/* 8036585C 003614BC DB E1 00 A0 */ stfd f31, 0xa0(r1)
+/* 80365860 003614C0 F3 E1 00 A8 */ psq_st f31, 168(r1), 0, qr0
+/* 80365864 003614C4 DB C1 00 90 */ stfd f30, 0x90(r1)
+/* 80365868 003614C8 F3 C1 00 98 */ psq_st f30, 152(r1), 0, qr0
+/* 8036586C 003614CC DB A1 00 80 */ stfd f29, 0x80(r1)
+/* 80365870 003614D0 F3 A1 00 88 */ psq_st f29, 136(r1), 0, qr0
+/* 80365874 003614D4 DB 81 00 70 */ stfd f28, 0x70(r1)
+/* 80365878 003614D8 F3 81 00 78 */ psq_st f28, 120(r1), 0, qr0
+/* 8036587C 003614DC DB 61 00 60 */ stfd f27, 0x60(r1)
+/* 80365880 003614E0 F3 61 00 68 */ psq_st f27, 104(r1), 0, qr0
+/* 80365884 003614E4 39 61 00 60 */ addi r11, r1, 0x60
+/* 80365888 003614E8 4B E6 18 9D */ bl _savegpr_26
+/* 8036588C 003614EC 8B 84 00 05 */ lbz r28, 5(r4)
+/* 80365890 003614F0 3F E0 43 30 */ lis r31, 0x4330
+/* 80365894 003614F4 A0 04 00 10 */ lhz r0, 0x10(r4)
+/* 80365898 003614F8 39 60 00 00 */ li r11, 0
+/* 8036589C 003614FC 8B 44 00 07 */ lbz r26, 7(r4)
+/* 803658A0 00361500 3D 00 80 62 */ lis r8, lbl_80621718@ha
+/* 803658A4 00361504 7C C0 E2 14 */ add r6, r0, r28
+/* 803658A8 00361508 A1 24 00 12 */ lhz r9, 0x12(r4)
+/* 803658AC 0036150C 54 07 78 20 */ slwi r7, r0, 0xf
+/* 803658B0 00361510 A0 A4 00 0C */ lhz r5, 0xc(r4)
+/* 803658B4 00361514 7C 09 D2 14 */ add r0, r9, r26
+/* 803658B8 00361518 54 DB 78 20 */ slwi r27, r6, 0xf
+/* 803658BC 0036151C 7F C7 2B 96 */ divwu r30, r7, r5
+/* 803658C0 00361520 80 E8 17 18 */ lwz r7, lbl_80621718@l(r8)
+/* 803658C4 00361524 54 0C 78 20 */ slwi r12, r0, 0xf
+/* 803658C8 00361528 93 81 00 3C */ stw r28, 0x3c(r1)
+/* 803658CC 0036152C A0 C4 00 0E */ lhz r6, 0xe(r4)
+/* 803658D0 00361530 55 29 78 20 */ slwi r9, r9, 0xf
+/* 803658D4 00361534 7F A9 33 96 */ divwu r29, r9, r6
+/* 803658D8 00361538 7C 0B 38 00 */ cmpw r11, r7
+/* 803658DC 0036153C 93 E1 00 38 */ stw r31, 0x38(r1)
+/* 803658E0 00361540 FF A0 18 90 */ fmr f29, f3
+/* 803658E4 00361544 80 04 00 00 */ lwz r0, 0(r4)
+/* 803658E8 00361548 FF 60 08 90 */ fmr f27, f1
+/* 803658EC 0036154C 7F 9B 2B 96 */ divwu r28, r27, r5
+/* 803658F0 00361550 93 E1 00 40 */ stw r31, 0x40(r1)
+/* 803658F4 00361554 81 43 00 38 */ lwz r10, 0x38(r3)
+/* 803658F8 00361558 57 DF 04 3E */ clrlwi r31, r30, 0x10
+/* 803658FC 0036155C 93 41 00 44 */ stw r26, 0x44(r1)
+/* 80365900 00361560 57 BE 04 3E */ clrlwi r30, r29, 0x10
+/* 80365904 00361564 81 23 00 3C */ lwz r9, 0x3c(r3)
+/* 80365908 00361568 7C EC 33 96 */ divwu r7, r12, r6
+/* 8036590C 0036156C 57 9D 04 3E */ clrlwi r29, r28, 0x10
+/* 80365910 00361570 C8 A2 A5 28 */ lfd f5, lbl_80642B28-_SDA2_BASE_(r2)
+/* 80365914 00361574 C8 01 00 38 */ lfd f0, 0x38(r1)
+/* 80365918 00361578 FF 80 10 90 */ fmr f28, f2
+/* 8036591C 0036157C C8 61 00 40 */ lfd f3, 0x40(r1)
+/* 80365920 00361580 EC 80 28 28 */ fsubs f4, f0, f5
+/* 80365924 00361584 C0 03 00 24 */ lfs f0, 0x24(r3)
+/* 80365928 00361588 EC 63 28 28 */ fsubs f3, f3, f5
+/* 8036592C 0036158C 91 61 00 08 */ stw r11, 8(r1)
+/* 80365930 00361590 7C 7B 1B 78 */ mr r27, r3
+/* 80365934 00361594 54 FC 04 3E */ clrlwi r28, r7, 0x10
+/* 80365938 00361598 EC 84 00 32 */ fmuls f4, f4, f0
+/* 8036593C 0036159C C0 03 00 28 */ lfs f0, 0x28(r3)
+/* 80365940 003615A0 90 01 00 0C */ stw r0, 0xc(r1)
+/* 80365944 003615A4 EC 03 00 32 */ fmuls f0, f3, f0
+/* 80365948 003615A8 EF E1 20 2A */ fadds f31, f1, f4
+/* 8036594C 003615AC 91 41 00 10 */ stw r10, 0x10(r1)
+/* 80365950 003615B0 EF C2 00 2A */ fadds f30, f2, f0
+/* 80365954 003615B4 91 21 00 14 */ stw r9, 0x14(r1)
+/* 80365958 003615B8 40 82 00 2C */ bne lbl_80365984
+/* 8036595C 003615BC 38 E8 17 18 */ addi r7, r8, 0x1718
+/* 80365960 003615C0 80 67 00 04 */ lwz r3, 4(r7)
+/* 80365964 003615C4 7C 00 18 40 */ cmplw r0, r3
+/* 80365968 003615C8 40 82 00 1C */ bne lbl_80365984
+/* 8036596C 003615CC 80 67 00 08 */ lwz r3, 8(r7)
+/* 80365970 003615D0 7C 0A 18 00 */ cmpw r10, r3
+/* 80365974 003615D4 40 82 00 10 */ bne lbl_80365984
+/* 80365978 003615D8 80 67 00 0C */ lwz r3, 0xc(r7)
+/* 8036597C 003615DC 7C 09 18 00 */ cmpw r9, r3
+/* 80365980 003615E0 41 82 00 08 */ beq lbl_80365988
+lbl_80365984:
+/* 80365984 003615E4 39 60 00 01 */ li r11, 1
+lbl_80365988:
+/* 80365988 003615E8 2C 0B 00 00 */ cmpwi r11, 0
+/* 8036598C 003615EC 41 82 00 7C */ beq lbl_80365A08
+/* 80365990 003615F0 80 E4 00 08 */ lwz r7, 8(r4)
+/* 80365994 003615F4 7C 04 03 78 */ mr r4, r0
+/* 80365998 003615F8 38 61 00 18 */ addi r3, r1, 0x18
+/* 8036599C 003615FC 39 00 00 00 */ li r8, 0
+/* 803659A0 00361600 39 20 00 00 */ li r9, 0
+/* 803659A4 00361604 39 40 00 00 */ li r10, 0
+/* 803659A8 00361608 4B F1 CD 29 */ bl func_802826D0
+/* 803659AC 0036160C C0 22 A5 10 */ lfs f1, lbl_80642B10-_SDA2_BASE_(r2)
+/* 803659B0 00361610 38 61 00 18 */ addi r3, r1, 0x18
+/* 803659B4 00361614 80 9B 00 38 */ lwz r4, 0x38(r27)
+/* 803659B8 00361618 38 C0 00 00 */ li r6, 0
+/* 803659BC 0036161C FC 40 08 90 */ fmr f2, f1
+/* 803659C0 00361620 80 BB 00 3C */ lwz r5, 0x3c(r27)
+/* 803659C4 00361624 FC 60 08 90 */ fmr f3, f1
+/* 803659C8 00361628 38 E0 00 00 */ li r7, 0
+/* 803659CC 0036162C 39 00 00 00 */ li r8, 0
+/* 803659D0 00361630 4B F1 CF 55 */ bl func_80282924
+/* 803659D4 00361634 38 61 00 18 */ addi r3, r1, 0x18
+/* 803659D8 00361638 38 80 00 00 */ li r4, 0
+/* 803659DC 0036163C 4B F1 D1 E9 */ bl func_80282BC4
+/* 803659E0 00361640 3C C0 80 62 */ lis r6, lbl_80621718@ha
+/* 803659E4 00361644 80 E1 00 08 */ lwz r7, 8(r1)
+/* 803659E8 00361648 80 A1 00 0C */ lwz r5, 0xc(r1)
+/* 803659EC 0036164C 38 86 17 18 */ addi r4, r6, lbl_80621718@l
+/* 803659F0 00361650 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 803659F4 00361654 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803659F8 00361658 90 E6 17 18 */ stw r7, 0x1718(r6)
+/* 803659FC 0036165C 90 A4 00 04 */ stw r5, 4(r4)
+/* 80365A00 00361660 90 64 00 08 */ stw r3, 8(r4)
+/* 80365A04 00361664 90 04 00 0C */ stw r0, 0xc(r4)
+lbl_80365A08:
+/* 80365A08 00361668 38 60 00 80 */ li r3, 0x80
+/* 80365A0C 0036166C 38 80 00 00 */ li r4, 0
+/* 80365A10 00361670 38 A0 00 04 */ li r5, 4
+/* 80365A14 00361674 4B F1 B7 35 */ bl func_80281148
+/* 80365A18 00361678 3C 60 CC 01 */ lis r3, 0xCC008000@ha
+/* 80365A1C 0036167C D3 63 80 00 */ stfs f27, 0xCC008000@l(r3)
+/* 80365A20 00361680 D3 83 80 00 */ stfs f28, -0x8000(r3)
+/* 80365A24 00361684 D3 A3 80 00 */ stfs f29, -0x8000(r3)
+/* 80365A28 00361688 80 1B 00 08 */ lwz r0, 8(r27)
+/* 80365A2C 0036168C 90 03 80 00 */ stw r0, -0x8000(r3)
+/* 80365A30 00361690 B3 E3 80 00 */ sth r31, -0x8000(r3)
+/* 80365A34 00361694 B3 C3 80 00 */ sth r30, -0x8000(r3)
+/* 80365A38 00361698 D3 E3 80 00 */ stfs f31, -0x8000(r3)
+/* 80365A3C 0036169C D3 83 80 00 */ stfs f28, -0x8000(r3)
+/* 80365A40 003616A0 D3 A3 80 00 */ stfs f29, -0x8000(r3)
+/* 80365A44 003616A4 80 1B 00 0C */ lwz r0, 0xc(r27)
+/* 80365A48 003616A8 90 03 80 00 */ stw r0, -0x8000(r3)
+/* 80365A4C 003616AC B3 A3 80 00 */ sth r29, -0x8000(r3)
+/* 80365A50 003616B0 B3 C3 80 00 */ sth r30, -0x8000(r3)
+/* 80365A54 003616B4 D3 E3 80 00 */ stfs f31, -0x8000(r3)
+/* 80365A58 003616B8 D3 C3 80 00 */ stfs f30, -0x8000(r3)
+/* 80365A5C 003616BC D3 A3 80 00 */ stfs f29, -0x8000(r3)
+/* 80365A60 003616C0 80 1B 00 14 */ lwz r0, 0x14(r27)
+/* 80365A64 003616C4 90 03 80 00 */ stw r0, -0x8000(r3)
+/* 80365A68 003616C8 B3 A3 80 00 */ sth r29, -0x8000(r3)
+/* 80365A6C 003616CC B3 83 80 00 */ sth r28, -0x8000(r3)
+/* 80365A70 003616D0 D3 63 80 00 */ stfs f27, -0x8000(r3)
+/* 80365A74 003616D4 D3 C3 80 00 */ stfs f30, -0x8000(r3)
+/* 80365A78 003616D8 D3 A3 80 00 */ stfs f29, -0x8000(r3)
+/* 80365A7C 003616DC 80 1B 00 10 */ lwz r0, 0x10(r27)
+/* 80365A80 003616E0 90 03 80 00 */ stw r0, -0x8000(r3)
+/* 80365A84 003616E4 B3 E3 80 00 */ sth r31, -0x8000(r3)
+/* 80365A88 003616E8 B3 83 80 00 */ sth r28, -0x8000(r3)
+/* 80365A8C 003616EC E3 E1 00 A8 */ psq_l f31, 168(r1), 0, qr0
+/* 80365A90 003616F0 CB E1 00 A0 */ lfd f31, 0xa0(r1)
+/* 80365A94 003616F4 E3 C1 00 98 */ psq_l f30, 152(r1), 0, qr0
+/* 80365A98 003616F8 CB C1 00 90 */ lfd f30, 0x90(r1)
+/* 80365A9C 003616FC E3 A1 00 88 */ psq_l f29, 136(r1), 0, qr0
+/* 80365AA0 00361700 CB A1 00 80 */ lfd f29, 0x80(r1)
+/* 80365AA4 00361704 E3 81 00 78 */ psq_l f28, 120(r1), 0, qr0
+/* 80365AA8 00361708 CB 81 00 70 */ lfd f28, 0x70(r1)
+/* 80365AAC 0036170C E3 61 00 68 */ psq_l f27, 104(r1), 0, qr0
+/* 80365AB0 00361710 39 61 00 60 */ addi r11, r1, 0x60
+/* 80365AB4 00361714 CB 61 00 60 */ lfd f27, 0x60(r1)
+/* 80365AB8 00361718 4B E6 16 B9 */ bl func_801C7170
+/* 80365ABC 0036171C 80 01 00 B4 */ lwz r0, 0xb4(r1)
+/* 80365AC0 00361720 7C 08 03 A6 */ mtlr r0
+/* 80365AC4 00361724 38 21 00 B0 */ addi r1, r1, 0xb0
+/* 80365AC8 00361728 4E 80 00 20 */ blr
+
+.global UpdateVertexColor__Q34nw4r2ut10CharWriterFv
+UpdateVertexColor__Q34nw4r2ut10CharWriterFv:
+/* 80365ACC 0036172C 80 03 00 20 */ lwz r0, 0x20(r3)
+/* 80365AD0 00361730 88 C3 00 18 */ lbz r6, 0x18(r3)
+/* 80365AD4 00361734 88 A3 00 19 */ lbz r5, 0x19(r3)
+/* 80365AD8 00361738 2C 00 00 01 */ cmpwi r0, 1
+/* 80365ADC 0036173C 88 83 00 1A */ lbz r4, 0x1a(r3)
+/* 80365AE0 00361740 88 03 00 1B */ lbz r0, 0x1b(r3)
+/* 80365AE4 00361744 98 C3 00 08 */ stb r6, 8(r3)
+/* 80365AE8 00361748 98 A3 00 09 */ stb r5, 9(r3)
+/* 80365AEC 0036174C 98 83 00 0A */ stb r4, 0xa(r3)
+/* 80365AF0 00361750 98 03 00 0B */ stb r0, 0xb(r3)
+/* 80365AF4 00361754 41 82 00 0C */ beq lbl_80365B00
+/* 80365AF8 00361758 38 A3 00 18 */ addi r5, r3, 0x18
+/* 80365AFC 0036175C 48 00 00 08 */ b lbl_80365B04
+lbl_80365B00:
+/* 80365B00 00361760 38 A3 00 1C */ addi r5, r3, 0x1c
+lbl_80365B04:
+/* 80365B04 00361764 88 85 00 00 */ lbz r4, 0(r5)
+/* 80365B08 00361768 80 03 00 20 */ lwz r0, 0x20(r3)
+/* 80365B0C 0036176C 98 83 00 0C */ stb r4, 0xc(r3)
+/* 80365B10 00361770 2C 00 00 02 */ cmpwi r0, 2
+/* 80365B14 00361774 88 05 00 01 */ lbz r0, 1(r5)
+/* 80365B18 00361778 98 03 00 0D */ stb r0, 0xd(r3)
+/* 80365B1C 0036177C 88 05 00 02 */ lbz r0, 2(r5)
+/* 80365B20 00361780 98 03 00 0E */ stb r0, 0xe(r3)
+/* 80365B24 00361784 88 05 00 03 */ lbz r0, 3(r5)
+/* 80365B28 00361788 98 03 00 0F */ stb r0, 0xf(r3)
+/* 80365B2C 0036178C 41 82 00 0C */ beq lbl_80365B38
+/* 80365B30 00361790 38 A3 00 18 */ addi r5, r3, 0x18
+/* 80365B34 00361794 48 00 00 08 */ b lbl_80365B3C
+lbl_80365B38:
+/* 80365B38 00361798 38 A3 00 1C */ addi r5, r3, 0x1c
+lbl_80365B3C:
+/* 80365B3C 0036179C 88 85 00 00 */ lbz r4, 0(r5)
+/* 80365B40 003617A0 80 03 00 20 */ lwz r0, 0x20(r3)
+/* 80365B44 003617A4 98 83 00 10 */ stb r4, 0x10(r3)
+/* 80365B48 003617A8 2C 00 00 00 */ cmpwi r0, 0
+/* 80365B4C 003617AC 88 05 00 01 */ lbz r0, 1(r5)
+/* 80365B50 003617B0 98 03 00 11 */ stb r0, 0x11(r3)
+/* 80365B54 003617B4 88 05 00 02 */ lbz r0, 2(r5)
+/* 80365B58 003617B8 98 03 00 12 */ stb r0, 0x12(r3)
+/* 80365B5C 003617BC 88 05 00 03 */ lbz r0, 3(r5)
+/* 80365B60 003617C0 98 03 00 13 */ stb r0, 0x13(r3)
+/* 80365B64 003617C4 40 82 00 0C */ bne lbl_80365B70
+/* 80365B68 003617C8 39 03 00 18 */ addi r8, r3, 0x18
+/* 80365B6C 003617CC 48 00 00 08 */ b lbl_80365B74
+lbl_80365B70:
+/* 80365B70 003617D0 39 03 00 1C */ addi r8, r3, 0x1c
+lbl_80365B74:
+/* 80365B74 003617D4 88 A8 00 00 */ lbz r5, 0(r8)
+/* 80365B78 003617D8 3C 80 80 81 */ lis r4, 0x80808081@ha
+/* 80365B7C 003617DC 39 44 80 81 */ addi r10, r4, 0x80808081@l
+/* 80365B80 003617E0 88 03 00 0B */ lbz r0, 0xb(r3)
+/* 80365B84 003617E4 98 A3 00 14 */ stb r5, 0x14(r3)
+/* 80365B88 003617E8 88 E3 00 42 */ lbz r7, 0x42(r3)
+/* 80365B8C 003617EC 88 A8 00 01 */ lbz r5, 1(r8)
+/* 80365B90 003617F0 88 83 00 0F */ lbz r4, 0xf(r3)
+/* 80365B94 003617F4 7C C0 39 D6 */ mullw r6, r0, r7
+/* 80365B98 003617F8 98 A3 00 15 */ stb r5, 0x15(r3)
+/* 80365B9C 003617FC 88 03 00 13 */ lbz r0, 0x13(r3)
+/* 80365BA0 00361800 88 A8 00 02 */ lbz r5, 2(r8)
+/* 80365BA4 00361804 98 A3 00 16 */ stb r5, 0x16(r3)
+/* 80365BA8 00361808 7C 84 39 D6 */ mullw r4, r4, r7
+/* 80365BAC 0036180C 89 08 00 03 */ lbz r8, 3(r8)
+/* 80365BB0 00361810 7C A0 39 D6 */ mullw r5, r0, r7
+/* 80365BB4 00361814 7C 08 39 D6 */ mullw r0, r8, r7
+/* 80365BB8 00361818 7D 0A 30 96 */ mulhw r8, r10, r6
+/* 80365BBC 0036181C 7C EA 20 96 */ mulhw r7, r10, r4
+/* 80365BC0 00361820 7C C8 32 14 */ add r6, r8, r6
+/* 80365BC4 00361824 7C C8 3E 70 */ srawi r8, r6, 7
+/* 80365BC8 00361828 7C CA 28 96 */ mulhw r6, r10, r5
+/* 80365BCC 0036182C 55 09 0F FE */ srwi r9, r8, 0x1f
+/* 80365BD0 00361830 7C 87 22 14 */ add r4, r7, r4
+/* 80365BD4 00361834 7D 08 4A 14 */ add r8, r8, r9
+/* 80365BD8 00361838 7C 87 3E 70 */ srawi r7, r4, 7
+/* 80365BDC 0036183C 99 03 00 0B */ stb r8, 0xb(r3)
+/* 80365BE0 00361840 7C A6 2A 14 */ add r5, r6, r5
+/* 80365BE4 00361844 54 E6 0F FE */ srwi r6, r7, 0x1f
+/* 80365BE8 00361848 7C 8A 00 96 */ mulhw r4, r10, r0
+/* 80365BEC 0036184C 7C E7 32 14 */ add r7, r7, r6
+/* 80365BF0 00361850 7C A5 3E 70 */ srawi r5, r5, 7
+/* 80365BF4 00361854 98 E3 00 0F */ stb r7, 0xf(r3)
+/* 80365BF8 00361858 54 A6 0F FE */ srwi r6, r5, 0x1f
+/* 80365BFC 0036185C 7C 04 02 14 */ add r0, r4, r0
+/* 80365C00 00361860 7C 00 3E 70 */ srawi r0, r0, 7
+/* 80365C04 00361864 7C A5 32 14 */ add r5, r5, r6
+/* 80365C08 00361868 54 04 0F FE */ srwi r4, r0, 0x1f
+/* 80365C0C 0036186C 98 A3 00 13 */ stb r5, 0x13(r3)
+/* 80365C10 00361870 7C 00 22 14 */ add r0, r0, r4
+/* 80365C14 00361874 98 03 00 17 */ stb r0, 0x17(r3)
+/* 80365C18 00361878 4E 80 00 20 */ blr
+
+.global SetupGXWithColorMapping__Q34nw4r2ut10CharWriterFQ34nw4r2ut5ColorQ34nw4r2ut5Color
+SetupGXWithColorMapping__Q34nw4r2ut10CharWriterFQ34nw4r2ut5ColorQ34nw4r2ut5Color:
+/* 80365C1C 0036187C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80365C20 00361880 7C 08 02 A6 */ mflr r0
+/* 80365C24 00361884 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80365C28 00361888 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80365C2C 0036188C 7C 9F 23 78 */ mr r31, r4
+/* 80365C30 00361890 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80365C34 00361894 7C 7E 1B 78 */ mr r30, r3
+/* 80365C38 00361898 88 0D B1 C0 */ lbz r0, lbl_80640480-_SDA_BASE_(r13)
+/* 80365C3C 0036189C 7C 00 07 75 */ extsb. r0, r0
+/* 80365C40 003618A0 40 82 00 2C */ bne lbl_80365C6C
+/* 80365C44 003618A4 38 00 00 00 */ li r0, 0
+/* 80365C48 003618A8 3C 80 80 36 */ lis r4, func_80362698@ha
+/* 80365C4C 003618AC 3C A0 80 62 */ lis r5, lbl_80621708@ha
+/* 80365C50 003618B0 90 0D B1 C4 */ stw r0, lbl_80640484-_SDA_BASE_(r13)
+/* 80365C54 003618B4 38 84 26 98 */ addi r4, r4, func_80362698@l
+/* 80365C58 003618B8 38 6D B1 C4 */ addi r3, r13, lbl_80640484-_SDA_BASE_
+/* 80365C5C 003618BC 38 A5 17 08 */ addi r5, r5, lbl_80621708@l
+/* 80365C60 003618C0 4B E6 0F E9 */ bl __register_global_object_tmp
+/* 80365C64 003618C4 38 00 00 01 */ li r0, 1
+/* 80365C68 003618C8 98 0D B1 C0 */ stb r0, lbl_80640480-_SDA_BASE_(r13)
+lbl_80365C6C:
+/* 80365C6C 003618CC C0 22 A5 10 */ lfs f1, lbl_80642B10-_SDA2_BASE_(r2)
+/* 80365C70 003618D0 38 81 00 08 */ addi r4, r1, 8
+/* 80365C74 003618D4 88 6D B1 C4 */ lbz r3, lbl_80640484-_SDA_BASE_(r13)
+/* 80365C78 003618D8 88 CD B1 C5 */ lbz r6, lbl_80640485-_SDA_BASE_(r13)
+/* 80365C7C 003618DC FC 40 08 90 */ fmr f2, f1
+/* 80365C80 003618E0 88 AD B1 C6 */ lbz r5, lbl_80640486-_SDA_BASE_(r13)
+/* 80365C84 003618E4 FC 60 08 90 */ fmr f3, f1
+/* 80365C88 003618E8 88 0D B1 C7 */ lbz r0, lbl_80640487-_SDA_BASE_(r13)
+/* 80365C8C 003618EC FC 80 08 90 */ fmr f4, f1
+/* 80365C90 003618F0 98 61 00 08 */ stb r3, 8(r1)
+/* 80365C94 003618F4 38 60 00 00 */ li r3, 0
+/* 80365C98 003618F8 98 C1 00 09 */ stb r6, 9(r1)
+/* 80365C9C 003618FC 98 A1 00 0A */ stb r5, 0xa(r1)
+/* 80365CA0 00361900 98 01 00 0B */ stb r0, 0xb(r1)
+/* 80365CA4 00361904 4B F1 E5 1D */ bl func_802841C0
+/* 80365CA8 00361908 38 60 00 00 */ li r3, 0
+/* 80365CAC 0036190C 38 80 00 00 */ li r4, 0
+/* 80365CB0 00361910 38 A0 00 01 */ li r5, 1
+/* 80365CB4 00361914 38 C0 00 02 */ li r6, 2
+/* 80365CB8 00361918 38 E0 00 03 */ li r7, 3
+/* 80365CBC 0036191C 4B F1 E2 45 */ bl func_80283F00
+/* 80365CC0 00361920 38 60 00 00 */ li r3, 0
+/* 80365CC4 00361924 38 80 00 11 */ li r4, 0x11
+/* 80365CC8 00361928 38 A0 00 00 */ li r5, 0
+/* 80365CCC 0036192C 4B F1 E2 E9 */ bl func_80283FB4
+/* 80365CD0 00361930 38 60 00 01 */ li r3, 1
+/* 80365CD4 00361934 4B F1 C8 75 */ bl func_80282548
+/* 80365CD8 00361938 38 60 00 04 */ li r3, 4
+/* 80365CDC 0036193C 38 80 00 00 */ li r4, 0
+/* 80365CE0 00361940 38 A0 00 00 */ li r5, 0
+/* 80365CE4 00361944 38 C0 00 01 */ li r6, 1
+/* 80365CE8 00361948 38 E0 00 00 */ li r7, 0
+/* 80365CEC 0036194C 39 00 00 00 */ li r8, 0
+/* 80365CF0 00361950 39 20 00 02 */ li r9, 2
+/* 80365CF4 00361954 4B F1 C8 79 */ bl func_8028256C
+/* 80365CF8 00361958 38 60 00 05 */ li r3, 5
+/* 80365CFC 0036195C 38 80 00 00 */ li r4, 0
+/* 80365D00 00361960 38 A0 00 00 */ li r5, 0
+/* 80365D04 00361964 38 C0 00 00 */ li r6, 0
+/* 80365D08 00361968 38 E0 00 00 */ li r7, 0
+/* 80365D0C 0036196C 39 00 00 00 */ li r8, 0
+/* 80365D10 00361970 39 20 00 02 */ li r9, 2
+/* 80365D14 00361974 4B F1 C8 59 */ bl func_8028256C
+/* 80365D18 00361978 38 60 00 01 */ li r3, 1
+/* 80365D1C 0036197C 4B F1 A8 D9 */ bl func_802805F4
+/* 80365D20 00361980 38 60 00 00 */ li r3, 0
+/* 80365D24 00361984 38 80 00 01 */ li r4, 1
+/* 80365D28 00361988 38 A0 00 04 */ li r5, 4
+/* 80365D2C 0036198C 38 C0 00 3C */ li r6, 0x3c
+/* 80365D30 00361990 38 E0 00 00 */ li r7, 0
+/* 80365D34 00361994 39 00 00 7D */ li r8, 0x7d
+/* 80365D38 00361998 4B F1 A6 95 */ bl func_802803CC
+/* 80365D3C 0036199C 38 60 00 00 */ li r3, 0
+/* 80365D40 003619A0 4B F1 D9 B1 */ bl func_802836F0
+/* 80365D44 003619A4 38 60 00 01 */ li r3, 1
+/* 80365D48 003619A8 38 80 00 04 */ li r4, 4
+/* 80365D4C 003619AC 38 A0 00 05 */ li r5, 5
+/* 80365D50 003619B0 38 C0 00 0F */ li r6, 0xf
+/* 80365D54 003619B4 4B F1 E9 49 */ bl func_8028469C
+/* 80365D58 003619B8 38 60 00 02 */ li r3, 2
+/* 80365D5C 003619BC 4B F1 E4 41 */ bl func_8028419C
+/* 80365D60 003619C0 38 60 00 00 */ li r3, 0
+/* 80365D64 003619C4 4B F1 D9 AD */ bl func_80283710
+/* 80365D68 003619C8 38 60 00 01 */ li r3, 1
+/* 80365D6C 003619CC 4B F1 D9 A5 */ bl func_80283710
+/* 80365D70 003619D0 38 60 00 00 */ li r3, 0
+/* 80365D74 003619D4 38 80 00 00 */ li r4, 0
+/* 80365D78 003619D8 38 A0 00 00 */ li r5, 0
+/* 80365D7C 003619DC 4B F1 E1 49 */ bl func_80283EC4
+/* 80365D80 003619E0 38 60 00 01 */ li r3, 1
+/* 80365D84 003619E4 38 80 00 00 */ li r4, 0
+/* 80365D88 003619E8 38 A0 00 00 */ li r5, 0
+/* 80365D8C 003619EC 4B F1 E1 39 */ bl func_80283EC4
+/* 80365D90 003619F0 38 60 00 00 */ li r3, 0
+/* 80365D94 003619F4 38 80 00 00 */ li r4, 0
+/* 80365D98 003619F8 38 A0 00 00 */ li r5, 0
+/* 80365D9C 003619FC 38 C0 00 FF */ li r6, 0xff
+/* 80365DA0 00361A00 4B F1 E2 A1 */ bl func_80284040
+/* 80365DA4 00361A04 88 FE 00 00 */ lbz r7, 0(r30)
+/* 80365DA8 00361A08 38 81 00 10 */ addi r4, r1, 0x10
+/* 80365DAC 00361A0C 88 DE 00 01 */ lbz r6, 1(r30)
+/* 80365DB0 00361A10 38 60 00 01 */ li r3, 1
+/* 80365DB4 00361A14 88 BE 00 02 */ lbz r5, 2(r30)
+/* 80365DB8 00361A18 88 1E 00 03 */ lbz r0, 3(r30)
+/* 80365DBC 00361A1C 98 E1 00 10 */ stb r7, 0x10(r1)
+/* 80365DC0 00361A20 98 C1 00 11 */ stb r6, 0x11(r1)
+/* 80365DC4 00361A24 98 A1 00 12 */ stb r5, 0x12(r1)
+/* 80365DC8 00361A28 98 01 00 13 */ stb r0, 0x13(r1)
+/* 80365DCC 00361A2C 4B F1 DF 39 */ bl func_80283D04
+/* 80365DD0 00361A30 88 FF 00 00 */ lbz r7, 0(r31)
+/* 80365DD4 00361A34 38 81 00 0C */ addi r4, r1, 0xc
+/* 80365DD8 00361A38 88 DF 00 01 */ lbz r6, 1(r31)
+/* 80365DDC 00361A3C 38 60 00 02 */ li r3, 2
+/* 80365DE0 00361A40 88 BF 00 02 */ lbz r5, 2(r31)
+/* 80365DE4 00361A44 88 1F 00 03 */ lbz r0, 3(r31)
+/* 80365DE8 00361A48 98 E1 00 0C */ stb r7, 0xc(r1)
+/* 80365DEC 00361A4C 98 C1 00 0D */ stb r6, 0xd(r1)
+/* 80365DF0 00361A50 98 A1 00 0E */ stb r5, 0xe(r1)
+/* 80365DF4 00361A54 98 01 00 0F */ stb r0, 0xf(r1)
+/* 80365DF8 00361A58 4B F1 DF 0D */ bl func_80283D04
+/* 80365DFC 00361A5C 38 60 00 00 */ li r3, 0
+/* 80365E00 00361A60 38 80 00 02 */ li r4, 2
+/* 80365E04 00361A64 38 A0 00 04 */ li r5, 4
+/* 80365E08 00361A68 38 C0 00 08 */ li r6, 8
+/* 80365E0C 00361A6C 38 E0 00 0F */ li r7, 0xf
+/* 80365E10 00361A70 4B F1 DD C5 */ bl func_80283BD4
+/* 80365E14 00361A74 38 60 00 00 */ li r3, 0
+/* 80365E18 00361A78 38 80 00 01 */ li r4, 1
+/* 80365E1C 00361A7C 38 A0 00 02 */ li r5, 2
+/* 80365E20 00361A80 38 C0 00 04 */ li r6, 4
+/* 80365E24 00361A84 38 E0 00 07 */ li r7, 7
+/* 80365E28 00361A88 4B F1 DD ED */ bl func_80283C14
+/* 80365E2C 00361A8C 38 60 00 00 */ li r3, 0
+/* 80365E30 00361A90 38 80 00 00 */ li r4, 0
+/* 80365E34 00361A94 38 A0 00 00 */ li r5, 0
+/* 80365E38 00361A98 38 C0 00 00 */ li r6, 0
+/* 80365E3C 00361A9C 38 E0 00 01 */ li r7, 1
+/* 80365E40 00361AA0 39 00 00 00 */ li r8, 0
+/* 80365E44 00361AA4 4B F1 DE 11 */ bl func_80283C54
+/* 80365E48 00361AA8 38 60 00 00 */ li r3, 0
+/* 80365E4C 00361AAC 38 80 00 00 */ li r4, 0
+/* 80365E50 00361AB0 38 A0 00 00 */ li r5, 0
+/* 80365E54 00361AB4 38 C0 00 00 */ li r6, 0
+/* 80365E58 00361AB8 38 E0 00 01 */ li r7, 1
+/* 80365E5C 00361ABC 39 00 00 00 */ li r8, 0
+/* 80365E60 00361AC0 4B F1 DE 4D */ bl func_80283CAC
+/* 80365E64 00361AC4 38 60 00 01 */ li r3, 1
+/* 80365E68 00361AC8 38 80 00 FF */ li r4, 0xff
+/* 80365E6C 00361ACC 38 A0 00 FF */ li r5, 0xff
+/* 80365E70 00361AD0 38 C0 00 04 */ li r6, 4
+/* 80365E74 00361AD4 4B F1 E1 CD */ bl func_80284040
+/* 80365E78 00361AD8 38 60 00 01 */ li r3, 1
+/* 80365E7C 00361ADC 38 80 00 0F */ li r4, 0xf
+/* 80365E80 00361AE0 38 A0 00 00 */ li r5, 0
+/* 80365E84 00361AE4 38 C0 00 0A */ li r6, 0xa
+/* 80365E88 00361AE8 38 E0 00 0F */ li r7, 0xf
+/* 80365E8C 00361AEC 4B F1 DD 49 */ bl func_80283BD4
+/* 80365E90 00361AF0 38 60 00 01 */ li r3, 1
+/* 80365E94 00361AF4 38 80 00 07 */ li r4, 7
+/* 80365E98 00361AF8 38 A0 00 00 */ li r5, 0
+/* 80365E9C 00361AFC 38 C0 00 05 */ li r6, 5
+/* 80365EA0 00361B00 38 E0 00 07 */ li r7, 7
+/* 80365EA4 00361B04 4B F1 DD 71 */ bl func_80283C14
+/* 80365EA8 00361B08 38 60 00 01 */ li r3, 1
+/* 80365EAC 00361B0C 38 80 00 00 */ li r4, 0
+/* 80365EB0 00361B10 38 A0 00 00 */ li r5, 0
+/* 80365EB4 00361B14 38 C0 00 00 */ li r6, 0
+/* 80365EB8 00361B18 38 E0 00 01 */ li r7, 1
+/* 80365EBC 00361B1C 39 00 00 00 */ li r8, 0
+/* 80365EC0 00361B20 4B F1 DD 95 */ bl func_80283C54
+/* 80365EC4 00361B24 38 60 00 01 */ li r3, 1
+/* 80365EC8 00361B28 38 80 00 00 */ li r4, 0
+/* 80365ECC 00361B2C 38 A0 00 00 */ li r5, 0
+/* 80365ED0 00361B30 38 C0 00 00 */ li r6, 0
+/* 80365ED4 00361B34 38 E0 00 01 */ li r7, 1
+/* 80365ED8 00361B38 39 00 00 00 */ li r8, 0
+/* 80365EDC 00361B3C 4B F1 DD D1 */ bl func_80283CAC
+/* 80365EE0 00361B40 38 60 00 00 */ li r3, 0
+/* 80365EE4 00361B44 38 80 00 09 */ li r4, 9
+/* 80365EE8 00361B48 38 A0 00 01 */ li r5, 1
+/* 80365EEC 00361B4C 38 C0 00 04 */ li r6, 4
+/* 80365EF0 00361B50 38 E0 00 00 */ li r7, 0
+/* 80365EF4 00361B54 4B F1 9D C5 */ bl func_8027FCB8
+/* 80365EF8 00361B58 38 60 00 00 */ li r3, 0
+/* 80365EFC 00361B5C 38 80 00 0B */ li r4, 0xb
+/* 80365F00 00361B60 38 A0 00 01 */ li r5, 1
+/* 80365F04 00361B64 38 C0 00 05 */ li r6, 5
+/* 80365F08 00361B68 38 E0 00 00 */ li r7, 0
+/* 80365F0C 00361B6C 4B F1 9D AD */ bl func_8027FCB8
+/* 80365F10 00361B70 38 60 00 00 */ li r3, 0
+/* 80365F14 00361B74 38 80 00 0D */ li r4, 0xd
+/* 80365F18 00361B78 38 A0 00 01 */ li r5, 1
+/* 80365F1C 00361B7C 38 C0 00 02 */ li r6, 2
+/* 80365F20 00361B80 38 E0 00 0F */ li r7, 0xf
+/* 80365F24 00361B84 4B F1 9D 95 */ bl func_8027FCB8
+/* 80365F28 00361B88 4B F1 9D 5D */ bl func_8027FC84
+/* 80365F2C 00361B8C 38 60 00 09 */ li r3, 9
+/* 80365F30 00361B90 38 80 00 01 */ li r4, 1
+/* 80365F34 00361B94 4B F1 94 C1 */ bl func_8027F3F4
+/* 80365F38 00361B98 38 60 00 0B */ li r3, 0xb
+/* 80365F3C 00361B9C 38 80 00 01 */ li r4, 1
+/* 80365F40 00361BA0 4B F1 94 B5 */ bl func_8027F3F4
+/* 80365F44 00361BA4 38 60 00 0D */ li r3, 0xd
+/* 80365F48 00361BA8 38 80 00 01 */ li r4, 1
+/* 80365F4C 00361BAC 4B F1 94 A9 */ bl func_8027F3F4
+/* 80365F50 00361BB0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80365F54 00361BB4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80365F58 00361BB8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80365F5C 00361BBC 7C 08 03 A6 */ mtlr r0
+/* 80365F60 00361BC0 38 21 00 20 */ addi r1, r1, 0x20
+/* 80365F64 00361BC4 4E 80 00 20 */ blr
diff --git a/asm/nw4r/ut/ut_DvdFileStream.s b/asm/nw4r/ut/ut_DvdFileStream.s new file mode 100644 index 0000000..72ae8e0 --- /dev/null +++ b/asm/nw4r/ut/ut_DvdFileStream.s @@ -0,0 +1,486 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global DvdAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP11DVDFileInfo
+DvdAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP11DVDFileInfo:
+/* 80363618 0035F278 80 84 00 3C */ lwz r4, 0x3c(r4)
+/* 8036361C 0035F27C 38 00 00 00 */ li r0, 0
+/* 80363620 0035F280 98 04 00 6C */ stb r0, 0x6c(r4)
+/* 80363624 0035F284 90 64 00 08 */ stw r3, 8(r4)
+/* 80363628 0035F288 81 84 00 0C */ lwz r12, 0xc(r4)
+/* 8036362C 0035F28C 2C 0C 00 00 */ cmpwi r12, 0
+/* 80363630 0035F290 4D 82 00 20 */ beqlr
+/* 80363634 0035F294 80 A4 00 10 */ lwz r5, 0x10(r4)
+/* 80363638 0035F298 7D 89 03 A6 */ mtctr r12
+/* 8036363C 0035F29C 4E 80 04 20 */ bctr
+/* 80363640 0035F2A0 4E 80 00 20 */ blr
+
+.global DvdCBAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP15DVDCommandBlock
+DvdCBAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP15DVDCommandBlock:
+/* 80363644 0035F2A4 80 84 00 3C */ lwz r4, 0x3c(r4)
+/* 80363648 0035F2A8 38 00 00 00 */ li r0, 0
+/* 8036364C 0035F2AC 98 04 00 24 */ stb r0, 0x24(r4)
+/* 80363650 0035F2B0 81 84 00 1C */ lwz r12, 0x1c(r4)
+/* 80363654 0035F2B4 2C 0C 00 00 */ cmpwi r12, 0
+/* 80363658 0035F2B8 4D 82 00 20 */ beqlr
+/* 8036365C 0035F2BC 80 A4 00 20 */ lwz r5, 0x20(r4)
+/* 80363660 0035F2C0 7D 89 03 A6 */ mtctr r12
+/* 80363664 0035F2C4 4E 80 04 20 */ bctr
+/* 80363668 0035F2C8 4E 80 00 20 */ blr
+
+.global __ct__Q34nw4r2ut13DvdFileStreamFl
+__ct__Q34nw4r2ut13DvdFileStreamFl:
+/* 8036366C 0035F2CC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80363670 0035F2D0 7C 08 02 A6 */ mflr r0
+/* 80363674 0035F2D4 3C A0 80 45 */ lis r5, lbl_8044C6F0@ha
+/* 80363678 0035F2D8 38 C0 00 00 */ li r6, 0
+/* 8036367C 0035F2DC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80363680 0035F2E0 38 A5 C6 F0 */ addi r5, r5, lbl_8044C6F0@l
+/* 80363684 0035F2E4 38 00 00 02 */ li r0, 2
+/* 80363688 0035F2E8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8036368C 0035F2EC 7C 7F 1B 78 */ mr r31, r3
+/* 80363690 0035F2F0 98 C3 00 6C */ stb r6, 0x6c(r3)
+/* 80363694 0035F2F4 90 A3 00 00 */ stw r5, 0(r3)
+/* 80363698 0035F2F8 90 C3 00 14 */ stw r6, 0x14(r3)
+/* 8036369C 0035F2FC 90 C3 00 18 */ stw r6, 0x18(r3)
+/* 803636A0 0035F300 98 C3 00 6D */ stb r6, 0x6d(r3)
+/* 803636A4 0035F304 98 C3 00 6E */ stb r6, 0x6e(r3)
+/* 803636A8 0035F308 98 C3 00 04 */ stb r6, 4(r3)
+/* 803636AC 0035F30C 90 03 00 68 */ stw r0, 0x68(r3)
+/* 803636B0 0035F310 90 C3 00 0C */ stw r6, 0xc(r3)
+/* 803636B4 0035F314 90 C3 00 10 */ stw r6, 0x10(r3)
+/* 803636B8 0035F318 90 C3 00 08 */ stw r6, 8(r3)
+/* 803636BC 0035F31C 90 C3 00 1C */ stw r6, 0x1c(r3)
+/* 803636C0 0035F320 98 C3 00 24 */ stb r6, 0x24(r3)
+/* 803636C4 0035F324 90 C3 00 20 */ stw r6, 0x20(r3)
+/* 803636C8 0035F328 90 63 00 64 */ stw r3, 0x64(r3)
+/* 803636CC 0035F32C 48 00 00 08 */ b lbl_803636D4
+/* 803636D0 0035F330 4E 80 04 21 */ bctrl
+lbl_803636D4:
+/* 803636D4 0035F334 7C 83 23 78 */ mr r3, r4
+/* 803636D8 0035F338 38 9F 00 28 */ addi r4, r31, 0x28
+/* 803636DC 0035F33C 4B F2 42 E9 */ bl func_802879C4
+/* 803636E0 0035F340 2C 03 00 00 */ cmpwi r3, 0
+/* 803636E4 0035F344 41 82 00 2C */ beq lbl_80363710
+/* 803636E8 0035F348 80 1F 00 5C */ lwz r0, 0x5c(r31)
+/* 803636EC 0035F34C 38 7F 00 14 */ addi r3, r31, 0x14
+/* 803636F0 0035F350 38 80 00 00 */ li r4, 0
+/* 803636F4 0035F354 38 A0 00 00 */ li r5, 0
+/* 803636F8 0035F358 90 1F 00 14 */ stw r0, 0x14(r31)
+/* 803636FC 0035F35C 4B FF FE 79 */ bl Seek__Q44nw4r2ut10FileStream12FilePositionFlUl
+/* 80363700 0035F360 38 00 00 01 */ li r0, 1
+/* 80363704 0035F364 98 1F 00 6D */ stb r0, 0x6d(r31)
+/* 80363708 0035F368 98 1F 00 6E */ stb r0, 0x6e(r31)
+/* 8036370C 0035F36C 98 1F 00 04 */ stb r0, 4(r31)
+lbl_80363710:
+/* 80363710 0035F370 7F E3 FB 78 */ mr r3, r31
+/* 80363714 0035F374 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80363718 0035F378 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8036371C 0035F37C 7C 08 03 A6 */ mtlr r0
+/* 80363720 0035F380 38 21 00 10 */ addi r1, r1, 0x10
+/* 80363724 0035F384 4E 80 00 20 */ blr
+
+.global __ct__Q34nw4r2ut13DvdFileStreamFPC11DVDFileInfob
+__ct__Q34nw4r2ut13DvdFileStreamFPC11DVDFileInfob:
+/* 80363728 0035F388 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8036372C 0035F38C 7C 08 02 A6 */ mflr r0
+/* 80363730 0035F390 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80363734 0035F394 39 61 00 30 */ addi r11, r1, 0x30
+/* 80363738 0035F398 4B E6 39 DD */ bl _savegpr_22
+/* 8036373C 0035F39C 3C C0 80 45 */ lis r6, lbl_8044C6F0@ha
+/* 80363740 0035F3A0 38 E0 00 00 */ li r7, 0
+/* 80363744 0035F3A4 38 C6 C6 F0 */ addi r6, r6, lbl_8044C6F0@l
+/* 80363748 0035F3A8 38 00 00 02 */ li r0, 2
+/* 8036374C 0035F3AC 98 E3 00 6C */ stb r7, 0x6c(r3)
+/* 80363750 0035F3B0 7C 7E 1B 78 */ mr r30, r3
+/* 80363754 0035F3B4 7C 96 23 78 */ mr r22, r4
+/* 80363758 0035F3B8 7C BF 2B 78 */ mr r31, r5
+/* 8036375C 0035F3BC 90 C3 00 00 */ stw r6, 0(r3)
+/* 80363760 0035F3C0 90 E3 00 14 */ stw r7, 0x14(r3)
+/* 80363764 0035F3C4 90 E3 00 18 */ stw r7, 0x18(r3)
+/* 80363768 0035F3C8 98 E3 00 6D */ stb r7, 0x6d(r3)
+/* 8036376C 0035F3CC 98 E3 00 6E */ stb r7, 0x6e(r3)
+/* 80363770 0035F3D0 98 E3 00 04 */ stb r7, 4(r3)
+/* 80363774 0035F3D4 90 03 00 68 */ stw r0, 0x68(r3)
+/* 80363778 0035F3D8 90 E3 00 0C */ stw r7, 0xc(r3)
+/* 8036377C 0035F3DC 90 E3 00 10 */ stw r7, 0x10(r3)
+/* 80363780 0035F3E0 90 E3 00 08 */ stw r7, 8(r3)
+/* 80363784 0035F3E4 90 E3 00 1C */ stw r7, 0x1c(r3)
+/* 80363788 0035F3E8 98 E3 00 24 */ stb r7, 0x24(r3)
+/* 8036378C 0035F3EC 90 E3 00 20 */ stw r7, 0x20(r3)
+/* 80363790 0035F3F0 90 63 00 64 */ stw r3, 0x64(r3)
+/* 80363794 0035F3F4 48 00 00 08 */ b lbl_8036379C
+/* 80363798 0035F3F8 4E 80 04 21 */ bctrl
+lbl_8036379C:
+/* 8036379C 0035F3FC 80 D6 00 34 */ lwz r6, 0x34(r22)
+/* 803637A0 0035F400 38 7E 00 14 */ addi r3, r30, 0x14
+/* 803637A4 0035F404 82 F6 00 00 */ lwz r23, 0(r22)
+/* 803637A8 0035F408 38 80 00 00 */ li r4, 0
+/* 803637AC 0035F40C 83 16 00 04 */ lwz r24, 4(r22)
+/* 803637B0 0035F410 38 A0 00 00 */ li r5, 0
+/* 803637B4 0035F414 83 36 00 08 */ lwz r25, 8(r22)
+/* 803637B8 0035F418 83 56 00 0C */ lwz r26, 0xc(r22)
+/* 803637BC 0035F41C 83 76 00 10 */ lwz r27, 0x10(r22)
+/* 803637C0 0035F420 83 96 00 14 */ lwz r28, 0x14(r22)
+/* 803637C4 0035F424 83 B6 00 18 */ lwz r29, 0x18(r22)
+/* 803637C8 0035F428 81 96 00 1C */ lwz r12, 0x1c(r22)
+/* 803637CC 0035F42C 81 76 00 20 */ lwz r11, 0x20(r22)
+/* 803637D0 0035F430 81 56 00 24 */ lwz r10, 0x24(r22)
+/* 803637D4 0035F434 81 36 00 28 */ lwz r9, 0x28(r22)
+/* 803637D8 0035F438 81 16 00 2C */ lwz r8, 0x2c(r22)
+/* 803637DC 0035F43C 80 F6 00 30 */ lwz r7, 0x30(r22)
+/* 803637E0 0035F440 80 16 00 38 */ lwz r0, 0x38(r22)
+/* 803637E4 0035F444 92 FE 00 28 */ stw r23, 0x28(r30)
+/* 803637E8 0035F448 93 1E 00 2C */ stw r24, 0x2c(r30)
+/* 803637EC 0035F44C 93 3E 00 30 */ stw r25, 0x30(r30)
+/* 803637F0 0035F450 93 5E 00 34 */ stw r26, 0x34(r30)
+/* 803637F4 0035F454 93 7E 00 38 */ stw r27, 0x38(r30)
+/* 803637F8 0035F458 93 9E 00 3C */ stw r28, 0x3c(r30)
+/* 803637FC 0035F45C 93 BE 00 40 */ stw r29, 0x40(r30)
+/* 80363800 0035F460 91 9E 00 44 */ stw r12, 0x44(r30)
+/* 80363804 0035F464 91 7E 00 48 */ stw r11, 0x48(r30)
+/* 80363808 0035F468 91 5E 00 4C */ stw r10, 0x4c(r30)
+/* 8036380C 0035F46C 91 3E 00 50 */ stw r9, 0x50(r30)
+/* 80363810 0035F470 91 1E 00 54 */ stw r8, 0x54(r30)
+/* 80363814 0035F474 90 FE 00 58 */ stw r7, 0x58(r30)
+/* 80363818 0035F478 90 DE 00 5C */ stw r6, 0x5c(r30)
+/* 8036381C 0035F47C 90 1E 00 60 */ stw r0, 0x60(r30)
+/* 80363820 0035F480 90 DE 00 14 */ stw r6, 0x14(r30)
+/* 80363824 0035F484 4B FF FD 51 */ bl Seek__Q44nw4r2ut10FileStream12FilePositionFlUl
+/* 80363828 0035F488 38 60 00 00 */ li r3, 0
+/* 8036382C 0035F48C 38 00 00 01 */ li r0, 1
+/* 80363830 0035F490 98 7E 00 6D */ stb r3, 0x6d(r30)
+/* 80363834 0035F494 39 61 00 30 */ addi r11, r1, 0x30
+/* 80363838 0035F498 7F C3 F3 78 */ mr r3, r30
+/* 8036383C 0035F49C 9B FE 00 6E */ stb r31, 0x6e(r30)
+/* 80363840 0035F4A0 98 1E 00 04 */ stb r0, 4(r30)
+/* 80363844 0035F4A4 4B E6 39 1D */ bl func_801C7160
+/* 80363848 0035F4A8 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8036384C 0035F4AC 7C 08 03 A6 */ mtlr r0
+/* 80363850 0035F4B0 38 21 00 30 */ addi r1, r1, 0x30
+/* 80363854 0035F4B4 4E 80 00 20 */ blr
+
+.global __dt__Q34nw4r2ut13DvdFileStreamFv
+__dt__Q34nw4r2ut13DvdFileStreamFv:
+/* 80363858 0035F4B8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8036385C 0035F4BC 7C 08 02 A6 */ mflr r0
+/* 80363860 0035F4C0 2C 03 00 00 */ cmpwi r3, 0
+/* 80363864 0035F4C4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80363868 0035F4C8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8036386C 0035F4CC 7C 9F 23 78 */ mr r31, r4
+/* 80363870 0035F4D0 93 C1 00 08 */ stw r30, 8(r1)
+/* 80363874 0035F4D4 7C 7E 1B 78 */ mr r30, r3
+/* 80363878 0035F4D8 41 82 00 3C */ beq lbl_803638B4
+/* 8036387C 0035F4DC 88 03 00 6D */ lbz r0, 0x6d(r3)
+/* 80363880 0035F4E0 3C 80 80 45 */ lis r4, lbl_8044C6F0@ha
+/* 80363884 0035F4E4 38 84 C6 F0 */ addi r4, r4, lbl_8044C6F0@l
+/* 80363888 0035F4E8 2C 00 00 00 */ cmpwi r0, 0
+/* 8036388C 0035F4EC 90 83 00 00 */ stw r4, 0(r3)
+/* 80363890 0035F4F0 41 82 00 14 */ beq lbl_803638A4
+/* 80363894 0035F4F4 81 83 00 00 */ lwz r12, 0(r3)
+/* 80363898 0035F4F8 81 8C 00 10 */ lwz r12, 0x10(r12)
+/* 8036389C 0035F4FC 7D 89 03 A6 */ mtctr r12
+/* 803638A0 0035F500 4E 80 04 21 */ bctrl
+lbl_803638A4:
+/* 803638A4 0035F504 2C 1F 00 00 */ cmpwi r31, 0
+/* 803638A8 0035F508 40 81 00 0C */ ble lbl_803638B4
+/* 803638AC 0035F50C 7F C3 F3 78 */ mr r3, r30
+/* 803638B0 0035F510 4B E7 72 09 */ bl func_801DAAB8
+lbl_803638B4:
+/* 803638B4 0035F514 7F C3 F3 78 */ mr r3, r30
+/* 803638B8 0035F518 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803638BC 0035F51C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 803638C0 0035F520 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803638C4 0035F524 7C 08 03 A6 */ mtlr r0
+/* 803638C8 0035F528 38 21 00 10 */ addi r1, r1, 0x10
+/* 803638CC 0035F52C 4E 80 00 20 */ blr
+
+.global Close__Q34nw4r2ut13DvdFileStreamFv
+Close__Q34nw4r2ut13DvdFileStreamFv:
+/* 803638D0 0035F530 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803638D4 0035F534 7C 08 02 A6 */ mflr r0
+/* 803638D8 0035F538 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803638DC 0035F53C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 803638E0 0035F540 7C 7F 1B 78 */ mr r31, r3
+/* 803638E4 0035F544 88 03 00 6E */ lbz r0, 0x6e(r3)
+/* 803638E8 0035F548 2C 00 00 00 */ cmpwi r0, 0
+/* 803638EC 0035F54C 41 82 00 20 */ beq lbl_8036390C
+/* 803638F0 0035F550 88 03 00 04 */ lbz r0, 4(r3)
+/* 803638F4 0035F554 2C 00 00 00 */ cmpwi r0, 0
+/* 803638F8 0035F558 41 82 00 14 */ beq lbl_8036390C
+/* 803638FC 0035F55C 38 63 00 28 */ addi r3, r3, 0x28
+/* 80363900 0035F560 4B F2 43 D9 */ bl func_80287CD8
+/* 80363904 0035F564 38 00 00 00 */ li r0, 0
+/* 80363908 0035F568 98 1F 00 04 */ stb r0, 4(r31)
+lbl_8036390C:
+/* 8036390C 0035F56C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80363910 0035F570 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80363914 0035F574 7C 08 03 A6 */ mtlr r0
+/* 80363918 0035F578 38 21 00 10 */ addi r1, r1, 0x10
+/* 8036391C 0035F57C 4E 80 00 20 */ blr
+
+.global Read__Q34nw4r2ut13DvdFileStreamFPvUl
+Read__Q34nw4r2ut13DvdFileStreamFPvUl:
+/* 80363920 0035F580 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80363924 0035F584 7C 08 02 A6 */ mflr r0
+/* 80363928 0035F588 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8036392C 0035F58C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80363930 0035F590 93 C1 00 08 */ stw r30, 8(r1)
+/* 80363934 0035F594 7C 7E 1B 78 */ mr r30, r3
+/* 80363938 0035F598 80 C3 00 18 */ lwz r6, 0x18(r3)
+/* 8036393C 0035F59C 81 03 00 14 */ lwz r8, 0x14(r3)
+/* 80363940 0035F5A0 7C E6 2A 14 */ add r7, r6, r5
+/* 80363944 0035F5A4 38 E7 00 1F */ addi r7, r7, 0x1f
+/* 80363948 0035F5A8 38 08 00 1F */ addi r0, r8, 0x1f
+/* 8036394C 0035F5AC 54 E7 00 34 */ rlwinm r7, r7, 0, 0, 0x1a
+/* 80363950 0035F5B0 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
+/* 80363954 0035F5B4 7C 07 00 40 */ cmplw r7, r0
+/* 80363958 0035F5B8 40 81 00 10 */ ble lbl_80363968
+/* 8036395C 0035F5BC 7C A6 40 50 */ subf r5, r6, r8
+/* 80363960 0035F5C0 38 05 00 1F */ addi r0, r5, 0x1f
+/* 80363964 0035F5C4 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a
+lbl_80363968:
+/* 80363968 0035F5C8 80 E3 00 68 */ lwz r7, 0x68(r3)
+/* 8036396C 0035F5CC 38 63 00 28 */ addi r3, r3, 0x28
+/* 80363970 0035F5D0 4B F2 46 35 */ bl func_80287FA4
+/* 80363974 0035F5D4 2C 03 00 00 */ cmpwi r3, 0
+/* 80363978 0035F5D8 7C 7F 1B 78 */ mr r31, r3
+/* 8036397C 0035F5DC 40 81 00 10 */ ble lbl_8036398C
+/* 80363980 0035F5E0 7F E4 FB 78 */ mr r4, r31
+/* 80363984 0035F5E4 38 7E 00 14 */ addi r3, r30, 0x14
+/* 80363988 0035F5E8 4B FF FB 89 */ bl Skip__Q44nw4r2ut10FileStream12FilePositionFl
+lbl_8036398C:
+/* 8036398C 0035F5EC 7F E3 FB 78 */ mr r3, r31
+/* 80363990 0035F5F0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80363994 0035F5F4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80363998 0035F5F8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8036399C 0035F5FC 7C 08 03 A6 */ mtlr r0
+/* 803639A0 0035F600 38 21 00 10 */ addi r1, r1, 0x10
+/* 803639A4 0035F604 4E 80 00 20 */ blr
+
+.global ReadAsync__Q34nw4r2ut13DvdFileStreamFPvUlPFlPQ34nw4r2ut8IOStreamPv_vPv
+ReadAsync__Q34nw4r2ut13DvdFileStreamFPvUlPFlPQ34nw4r2ut8IOStreamPv_vPv:
+/* 803639A8 0035F608 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 803639AC 0035F60C 7C 08 02 A6 */ mflr r0
+/* 803639B0 0035F610 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803639B4 0035F614 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 803639B8 0035F618 7C 7F 1B 78 */ mr r31, r3
+/* 803639BC 0035F61C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 803639C0 0035F620 7C BE 2B 78 */ mr r30, r5
+/* 803639C4 0035F624 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 803639C8 0035F628 81 03 00 18 */ lwz r8, 0x18(r3)
+/* 803639CC 0035F62C 81 23 00 14 */ lwz r9, 0x14(r3)
+/* 803639D0 0035F630 7C A8 2A 14 */ add r5, r8, r5
+/* 803639D4 0035F634 38 A5 00 1F */ addi r5, r5, 0x1f
+/* 803639D8 0035F638 38 09 00 1F */ addi r0, r9, 0x1f
+/* 803639DC 0035F63C 54 A5 00 34 */ rlwinm r5, r5, 0, 0, 0x1a
+/* 803639E0 0035F640 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
+/* 803639E4 0035F644 7C 05 00 40 */ cmplw r5, r0
+/* 803639E8 0035F648 40 81 00 10 */ ble lbl_803639F8
+/* 803639EC 0035F64C 7C A8 48 50 */ subf r5, r8, r9
+/* 803639F0 0035F650 38 05 00 1F */ addi r0, r5, 0x1f
+/* 803639F4 0035F654 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a
+lbl_803639F8:
+/* 803639F8 0035F658 81 63 00 18 */ lwz r11, 0x18(r3)
+/* 803639FC 0035F65C 39 20 00 01 */ li r9, 1
+/* 80363A00 0035F660 81 43 00 14 */ lwz r10, 0x14(r3)
+/* 80363A04 0035F664 7F C5 F3 78 */ mr r5, r30
+/* 80363A08 0035F668 7D 0B F2 14 */ add r8, r11, r30
+/* 80363A0C 0035F66C 90 C3 00 0C */ stw r6, 0xc(r3)
+/* 80363A10 0035F670 38 C8 00 1F */ addi r6, r8, 0x1f
+/* 80363A14 0035F674 38 0A 00 1F */ addi r0, r10, 0x1f
+/* 80363A18 0035F678 54 C6 00 34 */ rlwinm r6, r6, 0, 0, 0x1a
+/* 80363A1C 0035F67C 90 E3 00 10 */ stw r7, 0x10(r3)
+/* 80363A20 0035F680 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
+/* 80363A24 0035F684 7C 06 00 40 */ cmplw r6, r0
+/* 80363A28 0035F688 99 23 00 6C */ stb r9, 0x6c(r3)
+/* 80363A2C 0035F68C 40 81 00 10 */ ble lbl_80363A3C
+/* 80363A30 0035F690 7C AB 50 50 */ subf r5, r11, r10
+/* 80363A34 0035F694 38 05 00 1F */ addi r0, r5, 0x1f
+/* 80363A38 0035F698 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a
+lbl_80363A3C:
+/* 80363A3C 0035F69C 81 03 00 68 */ lwz r8, 0x68(r3)
+/* 80363A40 0035F6A0 3C E0 80 36 */ lis r7, DvdAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP11DVDFileInfo@ha
+/* 80363A44 0035F6A4 7D 66 5B 78 */ mr r6, r11
+/* 80363A48 0035F6A8 38 63 00 28 */ addi r3, r3, 0x28
+/* 80363A4C 0035F6AC 38 E7 36 18 */ addi r7, r7, DvdAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP11DVDFileInfo@l
+/* 80363A50 0035F6B0 4B F2 44 6D */ bl func_80287EBC
+/* 80363A54 0035F6B4 7C 03 00 D0 */ neg r0, r3
+/* 80363A58 0035F6B8 7C 00 1B 78 */ or r0, r0, r3
+/* 80363A5C 0035F6BC 54 1D 0F FF */ rlwinm. r29, r0, 1, 0x1f, 0x1f
+/* 80363A60 0035F6C0 41 82 00 14 */ beq lbl_80363A74
+/* 80363A64 0035F6C4 7F C4 F3 78 */ mr r4, r30
+/* 80363A68 0035F6C8 38 7F 00 14 */ addi r3, r31, 0x14
+/* 80363A6C 0035F6CC 4B FF FA A5 */ bl Skip__Q44nw4r2ut10FileStream12FilePositionFl
+/* 80363A70 0035F6D0 48 00 00 0C */ b lbl_80363A7C
+lbl_80363A74:
+/* 80363A74 0035F6D4 38 00 00 00 */ li r0, 0
+/* 80363A78 0035F6D8 98 1F 00 6C */ stb r0, 0x6c(r31)
+lbl_80363A7C:
+/* 80363A7C 0035F6DC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80363A80 0035F6E0 7F A3 EB 78 */ mr r3, r29
+/* 80363A84 0035F6E4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80363A88 0035F6E8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80363A8C 0035F6EC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80363A90 0035F6F0 7C 08 03 A6 */ mtlr r0
+/* 80363A94 0035F6F4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80363A98 0035F6F8 4E 80 00 20 */ blr
+
+.global Peek__Q34nw4r2ut13DvdFileStreamFPvUl
+Peek__Q34nw4r2ut13DvdFileStreamFPvUl:
+/* 80363A9C 0035F6FC 80 C3 00 18 */ lwz r6, 0x18(r3)
+/* 80363AA0 0035F700 81 03 00 14 */ lwz r8, 0x14(r3)
+/* 80363AA4 0035F704 7C E6 2A 14 */ add r7, r6, r5
+/* 80363AA8 0035F708 38 E7 00 1F */ addi r7, r7, 0x1f
+/* 80363AAC 0035F70C 38 08 00 1F */ addi r0, r8, 0x1f
+/* 80363AB0 0035F710 54 E7 00 34 */ rlwinm r7, r7, 0, 0, 0x1a
+/* 80363AB4 0035F714 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
+/* 80363AB8 0035F718 7C 07 00 40 */ cmplw r7, r0
+/* 80363ABC 0035F71C 40 81 00 10 */ ble lbl_80363ACC
+/* 80363AC0 0035F720 7C A6 40 50 */ subf r5, r6, r8
+/* 80363AC4 0035F724 38 05 00 1F */ addi r0, r5, 0x1f
+/* 80363AC8 0035F728 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a
+lbl_80363ACC:
+/* 80363ACC 0035F72C 80 E3 00 68 */ lwz r7, 0x68(r3)
+/* 80363AD0 0035F730 38 63 00 28 */ addi r3, r3, 0x28
+/* 80363AD4 0035F734 4B F2 44 D0 */ b func_80287FA4
+
+.global PeekAsync__Q34nw4r2ut13DvdFileStreamFPvUlPFlPQ34nw4r2ut8IOStreamPv_vPv
+PeekAsync__Q34nw4r2ut13DvdFileStreamFPvUlPFlPQ34nw4r2ut8IOStreamPv_vPv:
+/* 80363AD8 0035F738 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80363ADC 0035F73C 7C 08 02 A6 */ mflr r0
+/* 80363AE0 0035F740 39 20 00 01 */ li r9, 1
+/* 80363AE4 0035F744 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80363AE8 0035F748 81 63 00 18 */ lwz r11, 0x18(r3)
+/* 80363AEC 0035F74C 81 43 00 14 */ lwz r10, 0x14(r3)
+/* 80363AF0 0035F750 7D 0B 2A 14 */ add r8, r11, r5
+/* 80363AF4 0035F754 90 C3 00 0C */ stw r6, 0xc(r3)
+/* 80363AF8 0035F758 38 C8 00 1F */ addi r6, r8, 0x1f
+/* 80363AFC 0035F75C 38 0A 00 1F */ addi r0, r10, 0x1f
+/* 80363B00 0035F760 54 C6 00 34 */ rlwinm r6, r6, 0, 0, 0x1a
+/* 80363B04 0035F764 90 E3 00 10 */ stw r7, 0x10(r3)
+/* 80363B08 0035F768 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
+/* 80363B0C 0035F76C 7C 06 00 40 */ cmplw r6, r0
+/* 80363B10 0035F770 99 23 00 6C */ stb r9, 0x6c(r3)
+/* 80363B14 0035F774 40 81 00 10 */ ble lbl_80363B24
+/* 80363B18 0035F778 7C AB 50 50 */ subf r5, r11, r10
+/* 80363B1C 0035F77C 38 05 00 1F */ addi r0, r5, 0x1f
+/* 80363B20 0035F780 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a
+lbl_80363B24:
+/* 80363B24 0035F784 81 03 00 68 */ lwz r8, 0x68(r3)
+/* 80363B28 0035F788 3C E0 80 36 */ lis r7, DvdAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP11DVDFileInfo@ha
+/* 80363B2C 0035F78C 7D 66 5B 78 */ mr r6, r11
+/* 80363B30 0035F790 38 63 00 28 */ addi r3, r3, 0x28
+/* 80363B34 0035F794 38 E7 36 18 */ addi r7, r7, DvdAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP11DVDFileInfo@l
+/* 80363B38 0035F798 4B F2 43 85 */ bl func_80287EBC
+/* 80363B3C 0035F79C 7C 03 00 D0 */ neg r0, r3
+/* 80363B40 0035F7A0 7C 00 1B 78 */ or r0, r0, r3
+/* 80363B44 0035F7A4 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 80363B48 0035F7A8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80363B4C 0035F7AC 7C 08 03 A6 */ mtlr r0
+/* 80363B50 0035F7B0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80363B54 0035F7B4 4E 80 00 20 */ blr
+
+.global Seek__Q34nw4r2ut13DvdFileStreamFlUl
+Seek__Q34nw4r2ut13DvdFileStreamFlUl:
+/* 80363B58 0035F7B8 38 63 00 14 */ addi r3, r3, 0x14
+/* 80363B5C 0035F7BC 4B FF FA 18 */ b Seek__Q44nw4r2ut10FileStream12FilePositionFlUl
+
+.global Cancel__Q34nw4r2ut13DvdFileStreamFv
+Cancel__Q34nw4r2ut13DvdFileStreamFv:
+/* 80363B60 0035F7C0 38 63 00 28 */ addi r3, r3, 0x28
+/* 80363B64 0035F7C4 4B F2 87 B8 */ b func_8028C31C
+
+.global CancelAsync__Q34nw4r2ut13DvdFileStreamFPFlPQ34nw4r2ut8IOStreamPv_vPv
+CancelAsync__Q34nw4r2ut13DvdFileStreamFPFlPQ34nw4r2ut8IOStreamPv_vPv:
+/* 80363B68 0035F7C8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80363B6C 0035F7CC 7C 08 02 A6 */ mflr r0
+/* 80363B70 0035F7D0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80363B74 0035F7D4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80363B78 0035F7D8 7C 7F 1B 78 */ mr r31, r3
+/* 80363B7C 0035F7DC 90 83 00 1C */ stw r4, 0x1c(r3)
+/* 80363B80 0035F7E0 3C 80 80 36 */ lis r4, DvdCBAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP15DVDCommandBlock@ha
+/* 80363B84 0035F7E4 38 84 36 44 */ addi r4, r4, DvdCBAsyncCallback___Q34nw4r2ut13DvdFileStreamFlP15DVDCommandBlock@l
+/* 80363B88 0035F7E8 90 A3 00 20 */ stw r5, 0x20(r3)
+/* 80363B8C 0035F7EC 38 63 00 28 */ addi r3, r3, 0x28
+/* 80363B90 0035F7F0 4B F2 84 39 */ bl func_8028BFC8
+/* 80363B94 0035F7F4 2C 03 00 00 */ cmpwi r3, 0
+/* 80363B98 0035F7F8 41 82 00 0C */ beq lbl_80363BA4
+/* 80363B9C 0035F7FC 38 00 00 01 */ li r0, 1
+/* 80363BA0 0035F800 98 1F 00 24 */ stb r0, 0x24(r31)
+lbl_80363BA4:
+/* 80363BA4 0035F804 7C 03 00 D0 */ neg r0, r3
+/* 80363BA8 0035F808 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80363BAC 0035F80C 7C 00 1B 78 */ or r0, r0, r3
+/* 80363BB0 0035F810 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 80363BB4 0035F814 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80363BB8 0035F818 7C 08 03 A6 */ mtlr r0
+/* 80363BBC 0035F81C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80363BC0 0035F820 4E 80 00 20 */ blr
+
+.global GetBufferAlign__Q34nw4r2ut13DvdFileStreamCFv
+GetBufferAlign__Q34nw4r2ut13DvdFileStreamCFv:
+/* 80363BC4 0035F824 38 60 00 20 */ li r3, 0x20
+/* 80363BC8 0035F828 4E 80 00 20 */ blr
+
+.global GetSizeAlign__Q34nw4r2ut13DvdFileStreamCFv
+GetSizeAlign__Q34nw4r2ut13DvdFileStreamCFv:
+/* 80363BCC 0035F82C 38 60 00 20 */ li r3, 0x20
+/* 80363BD0 0035F830 4E 80 00 20 */ blr
+
+.global GetOffsetAlign__Q34nw4r2ut13DvdFileStreamCFv
+GetOffsetAlign__Q34nw4r2ut13DvdFileStreamCFv:
+/* 80363BD4 0035F834 38 60 00 04 */ li r3, 4
+/* 80363BD8 0035F838 4E 80 00 20 */ blr
+
+.global CanCancel__Q34nw4r2ut13DvdFileStreamCFv
+CanCancel__Q34nw4r2ut13DvdFileStreamCFv:
+/* 80363BDC 0035F83C 38 60 00 01 */ li r3, 1
+/* 80363BE0 0035F840 4E 80 00 20 */ blr
+
+.global CanWrite__Q34nw4r2ut13DvdFileStreamCFv
+CanWrite__Q34nw4r2ut13DvdFileStreamCFv:
+/* 80363BE4 0035F844 38 60 00 00 */ li r3, 0
+/* 80363BE8 0035F848 4E 80 00 20 */ blr
+
+.global CanRead__Q34nw4r2ut13DvdFileStreamCFv
+CanRead__Q34nw4r2ut13DvdFileStreamCFv:
+/* 80363BEC 0035F84C 38 60 00 01 */ li r3, 1
+/* 80363BF0 0035F850 4E 80 00 20 */ blr
+
+.global CanSeek__Q34nw4r2ut13DvdFileStreamCFv
+CanSeek__Q34nw4r2ut13DvdFileStreamCFv:
+/* 80363BF4 0035F854 38 60 00 01 */ li r3, 1
+/* 80363BF8 0035F858 4E 80 00 20 */ blr
+
+.global CanAsync__Q34nw4r2ut13DvdFileStreamCFv
+CanAsync__Q34nw4r2ut13DvdFileStreamCFv:
+/* 80363BFC 0035F85C 38 60 00 01 */ li r3, 1
+/* 80363C00 0035F860 4E 80 00 20 */ blr
+
+.global GetSize__Q34nw4r2ut13DvdFileStreamCFv
+GetSize__Q34nw4r2ut13DvdFileStreamCFv:
+/* 80363C04 0035F864 80 63 00 14 */ lwz r3, 0x14(r3)
+/* 80363C08 0035F868 4E 80 00 20 */ blr
+
+.global Tell__Q34nw4r2ut13DvdFileStreamCFv
+Tell__Q34nw4r2ut13DvdFileStreamCFv:
+/* 80363C0C 0035F86C 80 63 00 18 */ lwz r3, 0x18(r3)
+/* 80363C10 0035F870 4E 80 00 20 */ blr
+
+.global IsBusy__Q34nw4r2ut13DvdFileStreamCFv
+IsBusy__Q34nw4r2ut13DvdFileStreamCFv:
+/* 80363C14 0035F874 88 63 00 6C */ lbz r3, 0x6c(r3)
+/* 80363C18 0035F878 4E 80 00 20 */ blr
+
+.global GetRuntimeTypeInfo__Q34nw4r2ut13DvdFileStreamCFv
+GetRuntimeTypeInfo__Q34nw4r2ut13DvdFileStreamCFv:
+/* 80363C1C 0035F87C 38 6D B1 B0 */ addi r3, r13, lbl_80640470-_SDA_BASE_
+/* 80363C20 0035F880 4E 80 00 20 */ blr
+
+.global __sinit_$3ut_DvdFileStream_cpp
+__sinit_$3ut_DvdFileStream_cpp:
+/* 80363C24 0035F884 38 0D B1 A8 */ addi r0, r13, lbl_80640468-_SDA_BASE_
+/* 80363C28 0035F888 90 0D B1 B0 */ stw r0, lbl_80640470-_SDA_BASE_(r13)
+/* 80363C2C 0035F88C 4E 80 00 20 */ blr
diff --git a/asm/nw4r/ut/ut_DvdLockedFileStream.s b/asm/nw4r/ut/ut_DvdLockedFileStream.s new file mode 100644 index 0000000..ed169ec --- /dev/null +++ b/asm/nw4r/ut/ut_DvdLockedFileStream.s @@ -0,0 +1,185 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __ct__Q34nw4r2ut19DvdLockedFileStreamFl
+__ct__Q34nw4r2ut19DvdLockedFileStreamFl:
+/* 80363C30 0035F890 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80363C34 0035F894 7C 08 02 A6 */ mflr r0
+/* 80363C38 0035F898 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80363C3C 0035F89C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80363C40 0035F8A0 93 C1 00 08 */ stw r30, 8(r1)
+/* 80363C44 0035F8A4 7C 7E 1B 78 */ mr r30, r3
+/* 80363C48 0035F8A8 4B FF FA 25 */ bl __ct__Q34nw4r2ut13DvdFileStreamFl
+/* 80363C4C 0035F8AC 3C 60 80 45 */ lis r3, lbl_8044C758@ha
+/* 80363C50 0035F8B0 38 63 C7 58 */ addi r3, r3, lbl_8044C758@l
+/* 80363C54 0035F8B4 90 7E 00 00 */ stw r3, 0(r30)
+/* 80363C58 0035F8B8 4B F0 AB 05 */ bl OSDisableInterrupts
+/* 80363C5C 0035F8BC 88 0D B1 BC */ lbz r0, lbl_8064047C-_SDA_BASE_(r13)
+/* 80363C60 0035F8C0 7C 7F 1B 78 */ mr r31, r3
+/* 80363C64 0035F8C4 2C 00 00 00 */ cmpwi r0, 0
+/* 80363C68 0035F8C8 40 82 00 18 */ bne lbl_80363C80
+/* 80363C6C 0035F8CC 3C 60 80 62 */ lis r3, lbl_806216F0@ha
+/* 80363C70 0035F8D0 38 63 16 F0 */ addi r3, r3, lbl_806216F0@l
+/* 80363C74 0035F8D4 4B F0 BC 9D */ bl func_8026F910
+/* 80363C78 0035F8D8 38 00 00 01 */ li r0, 1
+/* 80363C7C 0035F8DC 98 0D B1 BC */ stb r0, lbl_8064047C-_SDA_BASE_(r13)
+lbl_80363C80:
+/* 80363C80 0035F8E0 7F E3 FB 78 */ mr r3, r31
+/* 80363C84 0035F8E4 4B F0 AB 01 */ bl OSRestoreInterrupts
+/* 80363C88 0035F8E8 7F C3 F3 78 */ mr r3, r30
+/* 80363C8C 0035F8EC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80363C90 0035F8F0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80363C94 0035F8F4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80363C98 0035F8F8 7C 08 03 A6 */ mtlr r0
+/* 80363C9C 0035F8FC 38 21 00 10 */ addi r1, r1, 0x10
+/* 80363CA0 0035F900 4E 80 00 20 */ blr
+
+.global __ct__Q34nw4r2ut19DvdLockedFileStreamFPC11DVDFileInfob
+__ct__Q34nw4r2ut19DvdLockedFileStreamFPC11DVDFileInfob:
+/* 80363CA4 0035F904 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80363CA8 0035F908 7C 08 02 A6 */ mflr r0
+/* 80363CAC 0035F90C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80363CB0 0035F910 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80363CB4 0035F914 93 C1 00 08 */ stw r30, 8(r1)
+/* 80363CB8 0035F918 7C 7E 1B 78 */ mr r30, r3
+/* 80363CBC 0035F91C 4B FF FA 6D */ bl __ct__Q34nw4r2ut13DvdFileStreamFPC11DVDFileInfob
+/* 80363CC0 0035F920 3C 60 80 45 */ lis r3, lbl_8044C758@ha
+/* 80363CC4 0035F924 38 63 C7 58 */ addi r3, r3, lbl_8044C758@l
+/* 80363CC8 0035F928 90 7E 00 00 */ stw r3, 0(r30)
+/* 80363CCC 0035F92C 4B F0 AA 91 */ bl OSDisableInterrupts
+/* 80363CD0 0035F930 88 0D B1 BC */ lbz r0, lbl_8064047C-_SDA_BASE_(r13)
+/* 80363CD4 0035F934 7C 7F 1B 78 */ mr r31, r3
+/* 80363CD8 0035F938 2C 00 00 00 */ cmpwi r0, 0
+/* 80363CDC 0035F93C 40 82 00 18 */ bne lbl_80363CF4
+/* 80363CE0 0035F940 3C 60 80 62 */ lis r3, lbl_806216F0@ha
+/* 80363CE4 0035F944 38 63 16 F0 */ addi r3, r3, lbl_806216F0@l
+/* 80363CE8 0035F948 4B F0 BC 29 */ bl func_8026F910
+/* 80363CEC 0035F94C 38 00 00 01 */ li r0, 1
+/* 80363CF0 0035F950 98 0D B1 BC */ stb r0, lbl_8064047C-_SDA_BASE_(r13)
+lbl_80363CF4:
+/* 80363CF4 0035F954 7F E3 FB 78 */ mr r3, r31
+/* 80363CF8 0035F958 4B F0 AA 8D */ bl OSRestoreInterrupts
+/* 80363CFC 0035F95C 7F C3 F3 78 */ mr r3, r30
+/* 80363D00 0035F960 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80363D04 0035F964 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80363D08 0035F968 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80363D0C 0035F96C 7C 08 03 A6 */ mtlr r0
+/* 80363D10 0035F970 38 21 00 10 */ addi r1, r1, 0x10
+/* 80363D14 0035F974 4E 80 00 20 */ blr
+
+.global __dt__Q34nw4r2ut19DvdLockedFileStreamFv
+__dt__Q34nw4r2ut19DvdLockedFileStreamFv:
+/* 80363D18 0035F978 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80363D1C 0035F97C 7C 08 02 A6 */ mflr r0
+/* 80363D20 0035F980 2C 03 00 00 */ cmpwi r3, 0
+/* 80363D24 0035F984 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80363D28 0035F988 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80363D2C 0035F98C 7C 9F 23 78 */ mr r31, r4
+/* 80363D30 0035F990 93 C1 00 08 */ stw r30, 8(r1)
+/* 80363D34 0035F994 7C 7E 1B 78 */ mr r30, r3
+/* 80363D38 0035F998 41 82 00 1C */ beq lbl_80363D54
+/* 80363D3C 0035F99C 38 80 00 00 */ li r4, 0
+/* 80363D40 0035F9A0 4B FF FB 19 */ bl __dt__Q34nw4r2ut13DvdFileStreamFv
+/* 80363D44 0035F9A4 2C 1F 00 00 */ cmpwi r31, 0
+/* 80363D48 0035F9A8 40 81 00 0C */ ble lbl_80363D54
+/* 80363D4C 0035F9AC 7F C3 F3 78 */ mr r3, r30
+/* 80363D50 0035F9B0 4B E7 6D 69 */ bl func_801DAAB8
+lbl_80363D54:
+/* 80363D54 0035F9B4 7F C3 F3 78 */ mr r3, r30
+/* 80363D58 0035F9B8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80363D5C 0035F9BC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80363D60 0035F9C0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80363D64 0035F9C4 7C 08 03 A6 */ mtlr r0
+/* 80363D68 0035F9C8 38 21 00 10 */ addi r1, r1, 0x10
+/* 80363D6C 0035F9CC 4E 80 00 20 */ blr
+
+.global Read__Q34nw4r2ut19DvdLockedFileStreamFPvUl
+Read__Q34nw4r2ut19DvdLockedFileStreamFPvUl:
+/* 80363D70 0035F9D0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80363D74 0035F9D4 7C 08 02 A6 */ mflr r0
+/* 80363D78 0035F9D8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80363D7C 0035F9DC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80363D80 0035F9E0 3F E0 80 62 */ lis r31, lbl_806216F0@ha
+/* 80363D84 0035F9E4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80363D88 0035F9E8 7C BE 2B 78 */ mr r30, r5
+/* 80363D8C 0035F9EC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80363D90 0035F9F0 7C 9D 23 78 */ mr r29, r4
+/* 80363D94 0035F9F4 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80363D98 0035F9F8 7C 7C 1B 78 */ mr r28, r3
+/* 80363D9C 0035F9FC 38 7F 16 F0 */ addi r3, r31, lbl_806216F0@l
+/* 80363DA0 0035FA00 4B F0 BB A9 */ bl func_8026F948
+/* 80363DA4 0035FA04 7F 83 E3 78 */ mr r3, r28
+/* 80363DA8 0035FA08 7F A4 EB 78 */ mr r4, r29
+/* 80363DAC 0035FA0C 7F C5 F3 78 */ mr r5, r30
+/* 80363DB0 0035FA10 4B FF FB 71 */ bl Read__Q34nw4r2ut13DvdFileStreamFPvUl
+/* 80363DB4 0035FA14 7C 7E 1B 78 */ mr r30, r3
+/* 80363DB8 0035FA18 38 7F 16 F0 */ addi r3, r31, 0x16f0
+/* 80363DBC 0035FA1C 4B F0 BC 69 */ bl func_8026FA24
+/* 80363DC0 0035FA20 7F C3 F3 78 */ mr r3, r30
+/* 80363DC4 0035FA24 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80363DC8 0035FA28 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80363DCC 0035FA2C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80363DD0 0035FA30 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80363DD4 0035FA34 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80363DD8 0035FA38 7C 08 03 A6 */ mtlr r0
+/* 80363DDC 0035FA3C 38 21 00 20 */ addi r1, r1, 0x20
+/* 80363DE0 0035FA40 4E 80 00 20 */ blr
+
+.global Peek__Q34nw4r2ut19DvdLockedFileStreamFPvUl
+Peek__Q34nw4r2ut19DvdLockedFileStreamFPvUl:
+/* 80363DE4 0035FA44 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80363DE8 0035FA48 7C 08 02 A6 */ mflr r0
+/* 80363DEC 0035FA4C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80363DF0 0035FA50 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80363DF4 0035FA54 3F E0 80 62 */ lis r31, lbl_806216F0@ha
+/* 80363DF8 0035FA58 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80363DFC 0035FA5C 7C BE 2B 78 */ mr r30, r5
+/* 80363E00 0035FA60 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80363E04 0035FA64 7C 9D 23 78 */ mr r29, r4
+/* 80363E08 0035FA68 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80363E0C 0035FA6C 7C 7C 1B 78 */ mr r28, r3
+/* 80363E10 0035FA70 38 7F 16 F0 */ addi r3, r31, lbl_806216F0@l
+/* 80363E14 0035FA74 4B F0 BB 35 */ bl func_8026F948
+/* 80363E18 0035FA78 7F 83 E3 78 */ mr r3, r28
+/* 80363E1C 0035FA7C 7F A4 EB 78 */ mr r4, r29
+/* 80363E20 0035FA80 7F C5 F3 78 */ mr r5, r30
+/* 80363E24 0035FA84 4B FF FC 79 */ bl Peek__Q34nw4r2ut13DvdFileStreamFPvUl
+/* 80363E28 0035FA88 7C 7E 1B 78 */ mr r30, r3
+/* 80363E2C 0035FA8C 38 7F 16 F0 */ addi r3, r31, 0x16f0
+/* 80363E30 0035FA90 4B F0 BB F5 */ bl func_8026FA24
+/* 80363E34 0035FA94 7F C3 F3 78 */ mr r3, r30
+/* 80363E38 0035FA98 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80363E3C 0035FA9C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80363E40 0035FAA0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80363E44 0035FAA4 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80363E48 0035FAA8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80363E4C 0035FAAC 7C 08 03 A6 */ mtlr r0
+/* 80363E50 0035FAB0 38 21 00 20 */ addi r1, r1, 0x20
+/* 80363E54 0035FAB4 4E 80 00 20 */ blr
+
+.global CanAsync__Q34nw4r2ut19DvdLockedFileStreamCFv
+CanAsync__Q34nw4r2ut19DvdLockedFileStreamCFv:
+/* 80363E58 0035FAB8 38 60 00 00 */ li r3, 0
+/* 80363E5C 0035FABC 4E 80 00 20 */ blr
+
+.global PeekAsync__Q34nw4r2ut19DvdLockedFileStreamFPvUlPFlPQ34nw4r2ut8IOStreamPv_vPv
+PeekAsync__Q34nw4r2ut19DvdLockedFileStreamFPvUlPFlPQ34nw4r2ut8IOStreamPv_vPv:
+/* 80363E60 0035FAC0 38 60 00 00 */ li r3, 0
+/* 80363E64 0035FAC4 4E 80 00 20 */ blr
+
+.global ReadAsync__Q34nw4r2ut19DvdLockedFileStreamFPvUlPFlPQ34nw4r2ut8IOStreamPv_vPv
+ReadAsync__Q34nw4r2ut19DvdLockedFileStreamFPvUlPFlPQ34nw4r2ut8IOStreamPv_vPv:
+/* 80363E68 0035FAC8 38 60 00 00 */ li r3, 0
+/* 80363E6C 0035FACC 4E 80 00 20 */ blr
+
+.global GetRuntimeTypeInfo__Q34nw4r2ut19DvdLockedFileStreamCFv
+GetRuntimeTypeInfo__Q34nw4r2ut19DvdLockedFileStreamCFv:
+/* 80363E70 0035FAD0 38 6D B1 B8 */ addi r3, r13, lbl_80640478-_SDA_BASE_
+/* 80363E74 0035FAD4 4E 80 00 20 */ blr
+
+.global ut_DvdLockedFileStream_cpp
+ut_DvdLockedFileStream_cpp:
+/* 80363E78 0035FAD8 38 0D B1 B0 */ addi r0, r13, lbl_80640470-_SDA_BASE_
+/* 80363E7C 0035FADC 90 0D B1 B8 */ stw r0, lbl_80640478-_SDA_BASE_(r13)
+/* 80363E80 0035FAE0 4E 80 00 20 */ blr
diff --git a/asm/nw4r/ut/ut_FileStream.s b/asm/nw4r/ut/ut_FileStream.s new file mode 100644 index 0000000..d78710e --- /dev/null +++ b/asm/nw4r/ut/ut_FileStream.s @@ -0,0 +1,89 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global Skip__Q44nw4r2ut10FileStream12FilePositionFl
+Skip__Q44nw4r2ut10FileStream12FilePositionFl:
+/* 80363510 0035F170 2C 04 00 00 */ cmpwi r4, 0
+/* 80363514 0035F174 41 82 00 58 */ beq lbl_8036356C
+/* 80363518 0035F178 80 03 00 04 */ lwz r0, 4(r3)
+/* 8036351C 0035F17C 38 A0 00 00 */ li r5, 0
+/* 80363520 0035F180 80 C3 00 00 */ lwz r6, 0(r3)
+/* 80363524 0035F184 6C A5 80 00 */ xoris r5, r5, 0x8000
+/* 80363528 0035F188 7C E0 22 14 */ add r7, r0, r4
+/* 8036352C 0035F18C 7C 07 30 10 */ subfc r0, r7, r6
+/* 80363530 0035F190 7C 05 29 10 */ subfe r0, r5, r5
+/* 80363534 0035F194 7C 05 29 10 */ subfe r0, r5, r5
+/* 80363538 0035F198 7C 00 00 D1 */ neg. r0, r0
+/* 8036353C 0035F19C 41 82 00 08 */ beq lbl_80363544
+/* 80363540 0035F1A0 48 00 00 28 */ b lbl_80363568
+lbl_80363544:
+/* 80363544 0035F1A4 38 C0 00 00 */ li r6, 0
+/* 80363548 0035F1A8 6C C4 80 00 */ xoris r4, r6, 0x8000
+/* 8036354C 0035F1AC 7C 06 38 10 */ subfc r0, r6, r7
+/* 80363550 0035F1B0 7C 84 29 10 */ subfe r4, r4, r5
+/* 80363554 0035F1B4 7C 85 29 10 */ subfe r4, r5, r5
+/* 80363558 0035F1B8 7C 84 00 D1 */ neg. r4, r4
+/* 8036355C 0035F1BC 41 82 00 08 */ beq lbl_80363564
+/* 80363560 0035F1C0 48 00 00 08 */ b lbl_80363568
+lbl_80363564:
+/* 80363564 0035F1C4 7C E6 3B 78 */ mr r6, r7
+lbl_80363568:
+/* 80363568 0035F1C8 90 C3 00 04 */ stw r6, 4(r3)
+lbl_8036356C:
+/* 8036356C 0035F1CC 80 63 00 04 */ lwz r3, 4(r3)
+/* 80363570 0035F1D0 4E 80 00 20 */ blr
+
+.global Seek__Q44nw4r2ut10FileStream12FilePositionFlUl
+Seek__Q44nw4r2ut10FileStream12FilePositionFlUl:
+/* 80363574 0035F1D4 2C 05 00 01 */ cmpwi r5, 1
+/* 80363578 0035F1D8 41 82 00 34 */ beq lbl_803635AC
+/* 8036357C 0035F1DC 40 80 00 10 */ bge lbl_8036358C
+/* 80363580 0035F1E0 2C 05 00 00 */ cmpwi r5, 0
+/* 80363584 0035F1E4 40 80 00 14 */ bge lbl_80363598
+/* 80363588 0035F1E8 48 00 00 24 */ b lbl_803635AC
+lbl_8036358C:
+/* 8036358C 0035F1EC 2C 05 00 03 */ cmpwi r5, 3
+/* 80363590 0035F1F0 40 80 00 1C */ bge lbl_803635AC
+/* 80363594 0035F1F4 48 00 00 10 */ b lbl_803635A4
+lbl_80363598:
+/* 80363598 0035F1F8 38 00 00 00 */ li r0, 0
+/* 8036359C 0035F1FC 90 03 00 04 */ stw r0, 4(r3)
+/* 803635A0 0035F200 48 00 00 0C */ b lbl_803635AC
+lbl_803635A4:
+/* 803635A4 0035F204 80 03 00 00 */ lwz r0, 0(r3)
+/* 803635A8 0035F208 90 03 00 04 */ stw r0, 4(r3)
+lbl_803635AC:
+/* 803635AC 0035F20C 2C 04 00 00 */ cmpwi r4, 0
+/* 803635B0 0035F210 4D 82 00 20 */ beqlr
+/* 803635B4 0035F214 80 03 00 04 */ lwz r0, 4(r3)
+/* 803635B8 0035F218 38 A0 00 00 */ li r5, 0
+/* 803635BC 0035F21C 80 C3 00 00 */ lwz r6, 0(r3)
+/* 803635C0 0035F220 6C A5 80 00 */ xoris r5, r5, 0x8000
+/* 803635C4 0035F224 7C E0 22 14 */ add r7, r0, r4
+/* 803635C8 0035F228 7C 07 30 10 */ subfc r0, r7, r6
+/* 803635CC 0035F22C 7C 05 29 10 */ subfe r0, r5, r5
+/* 803635D0 0035F230 7C 05 29 10 */ subfe r0, r5, r5
+/* 803635D4 0035F234 7C 00 00 D1 */ neg. r0, r0
+/* 803635D8 0035F238 41 82 00 08 */ beq lbl_803635E0
+/* 803635DC 0035F23C 48 00 00 28 */ b lbl_80363604
+lbl_803635E0:
+/* 803635E0 0035F240 38 C0 00 00 */ li r6, 0
+/* 803635E4 0035F244 6C C4 80 00 */ xoris r4, r6, 0x8000
+/* 803635E8 0035F248 7C 06 38 10 */ subfc r0, r6, r7
+/* 803635EC 0035F24C 7C 84 29 10 */ subfe r4, r4, r5
+/* 803635F0 0035F250 7C 85 29 10 */ subfe r4, r5, r5
+/* 803635F4 0035F254 7C 84 00 D1 */ neg. r4, r4
+/* 803635F8 0035F258 41 82 00 08 */ beq lbl_80363600
+/* 803635FC 0035F25C 48 00 00 08 */ b lbl_80363604
+lbl_80363600:
+/* 80363600 0035F260 7C E6 3B 78 */ mr r6, r7
+lbl_80363604:
+/* 80363604 0035F264 90 C3 00 04 */ stw r6, 4(r3)
+/* 80363608 0035F268 4E 80 00 20 */ blr
+
+.global __sinit_$3ut_FileStream_cpp
+__sinit_$3ut_FileStream_cpp:
+/* 8036360C 0035F26C 38 0D B1 A0 */ addi r0, r13, lbl_80640460-_SDA_BASE_
+/* 80363610 0035F270 90 0D B1 A8 */ stw r0, lbl_80640468-_SDA_BASE_(r13)
+/* 80363614 0035F274 4E 80 00 20 */ blr
diff --git a/asm/nw4r/ut/ut_Font.s b/asm/nw4r/ut/ut_Font.s new file mode 100644 index 0000000..1b3ece0 --- /dev/null +++ b/asm/nw4r/ut/ut_Font.s @@ -0,0 +1,52 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global InitReaderFunc__Q34nw4r2ut4FontFQ34nw4r2ut12FontEncoding
+InitReaderFunc__Q34nw4r2ut4FontFQ34nw4r2ut12FontEncoding:
+/* 80363E84 0035FAE4 2C 04 00 02 */ cmpwi r4, 2
+/* 80363E88 0035FAE8 3C A0 80 45 */ lis r5, lbl_8044C7C0@ha
+/* 80363E8C 0035FAEC 38 A5 C7 C0 */ addi r5, r5, lbl_8044C7C0@l
+/* 80363E90 0035FAF0 41 82 00 5C */ beq lbl_80363EEC
+/* 80363E94 0035FAF4 40 80 00 78 */ bge lbl_80363F0C
+/* 80363E98 0035FAF8 2C 04 00 00 */ cmpwi r4, 0
+/* 80363E9C 0035FAFC 41 82 00 10 */ beq lbl_80363EAC
+/* 80363EA0 0035FB00 40 80 00 2C */ bge lbl_80363ECC
+/* 80363EA4 0035FB04 48 00 00 68 */ b lbl_80363F0C
+/* 80363EA8 0035FB08 48 00 00 64 */ b lbl_80363F0C
+lbl_80363EAC:
+/* 80363EAC 0035FB0C 38 85 00 00 */ addi r4, r5, 0
+/* 80363EB0 0035FB10 80 A5 00 00 */ lwz r5, 0(r5)
+/* 80363EB4 0035FB14 80 04 00 04 */ lwz r0, 4(r4)
+/* 80363EB8 0035FB18 90 A3 00 04 */ stw r5, 4(r3)
+/* 80363EBC 0035FB1C 90 03 00 08 */ stw r0, 8(r3)
+/* 80363EC0 0035FB20 80 04 00 08 */ lwz r0, 8(r4)
+/* 80363EC4 0035FB24 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80363EC8 0035FB28 4E 80 00 20 */ blr
+lbl_80363ECC:
+/* 80363ECC 0035FB2C 38 85 00 0C */ addi r4, r5, 0xc
+/* 80363ED0 0035FB30 80 A5 00 0C */ lwz r5, 0xc(r5)
+/* 80363ED4 0035FB34 80 04 00 04 */ lwz r0, 4(r4)
+/* 80363ED8 0035FB38 90 A3 00 04 */ stw r5, 4(r3)
+/* 80363EDC 0035FB3C 90 03 00 08 */ stw r0, 8(r3)
+/* 80363EE0 0035FB40 80 04 00 08 */ lwz r0, 8(r4)
+/* 80363EE4 0035FB44 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80363EE8 0035FB48 4E 80 00 20 */ blr
+lbl_80363EEC:
+/* 80363EEC 0035FB4C 38 85 00 18 */ addi r4, r5, 0x18
+/* 80363EF0 0035FB50 80 A5 00 18 */ lwz r5, 0x18(r5)
+/* 80363EF4 0035FB54 80 04 00 04 */ lwz r0, 4(r4)
+/* 80363EF8 0035FB58 90 A3 00 04 */ stw r5, 4(r3)
+/* 80363EFC 0035FB5C 90 03 00 08 */ stw r0, 8(r3)
+/* 80363F00 0035FB60 80 04 00 08 */ lwz r0, 8(r4)
+/* 80363F04 0035FB64 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80363F08 0035FB68 4E 80 00 20 */ blr
+lbl_80363F0C:
+/* 80363F0C 0035FB6C 38 85 00 24 */ addi r4, r5, 0x24
+/* 80363F10 0035FB70 80 A5 00 24 */ lwz r5, 0x24(r5)
+/* 80363F14 0035FB74 80 04 00 04 */ lwz r0, 4(r4)
+/* 80363F18 0035FB78 90 A3 00 04 */ stw r5, 4(r3)
+/* 80363F1C 0035FB7C 90 03 00 08 */ stw r0, 8(r3)
+/* 80363F20 0035FB80 80 04 00 08 */ lwz r0, 8(r4)
+/* 80363F24 0035FB84 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80363F28 0035FB88 4E 80 00 20 */ blr
diff --git a/asm/nw4r/ut/ut_IOStream.s b/asm/nw4r/ut/ut_IOStream.s new file mode 100644 index 0000000..0933f8e --- /dev/null +++ b/asm/nw4r/ut/ut_IOStream.s @@ -0,0 +1,18 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global Write__Q34nw4r2ut8IOStreamFPCvUl
+Write__Q34nw4r2ut8IOStreamFPCvUl:
+/* 803634F8 0035F158 4E 80 00 20 */ blr
+
+.global WriteAsync__Q34nw4r2ut8IOStreamFPCvUlPFlPQ34nw4r2ut8IOStreamPv_vPv
+WriteAsync__Q34nw4r2ut8IOStreamFPCvUlPFlPQ34nw4r2ut8IOStreamPv_vPv:
+/* 803634FC 0035F15C 38 60 00 00 */ li r3, 0
+/* 80363500 0035F160 4E 80 00 20 */ blr
+
+.global __sinit_$3ut_IOStream_cpp
+__sinit_$3ut_IOStream_cpp:
+/* 80363504 0035F164 38 00 00 00 */ li r0, 0
+/* 80363508 0035F168 90 0D B1 A0 */ stw r0, lbl_80640460-_SDA_BASE_(r13)
+/* 8036350C 0035F16C 4E 80 00 20 */ blr
diff --git a/asm/nw4r/ut/ut_LinkList.s b/asm/nw4r/ut/ut_LinkList.s new file mode 100644 index 0000000..28d9fab --- /dev/null +++ b/asm/nw4r/ut/ut_LinkList.s @@ -0,0 +1,116 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __dt__Q44nw4r2ut6detail12LinkListImplFv
+__dt__Q44nw4r2ut6detail12LinkListImplFv:
+/* 80362B38 0035E798 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80362B3C 0035E79C 7C 08 02 A6 */ mflr r0
+/* 80362B40 0035E7A0 2C 03 00 00 */ cmpwi r3, 0
+/* 80362B44 0035E7A4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80362B48 0035E7A8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80362B4C 0035E7AC 7C 7F 1B 78 */ mr r31, r3
+/* 80362B50 0035E7B0 41 82 00 54 */ beq lbl_80362BA4
+/* 80362B54 0035E7B4 80 E3 00 04 */ lwz r7, 4(r3)
+/* 80362B58 0035E7B8 38 C3 00 04 */ addi r6, r3, 4
+/* 80362B5C 0035E7BC 38 00 00 00 */ li r0, 0
+/* 80362B60 0035E7C0 48 00 00 2C */ b lbl_80362B8C
+lbl_80362B64:
+/* 80362B64 0035E7C4 81 07 00 00 */ lwz r8, 0(r7)
+/* 80362B68 0035E7C8 80 A7 00 04 */ lwz r5, 4(r7)
+/* 80362B6C 0035E7CC 90 A8 00 04 */ stw r5, 4(r8)
+/* 80362B70 0035E7D0 91 05 00 00 */ stw r8, 0(r5)
+/* 80362B74 0035E7D4 80 A3 00 00 */ lwz r5, 0(r3)
+/* 80362B78 0035E7D8 38 A5 FF FF */ addi r5, r5, -1
+/* 80362B7C 0035E7DC 90 A3 00 00 */ stw r5, 0(r3)
+/* 80362B80 0035E7E0 90 07 00 00 */ stw r0, 0(r7)
+/* 80362B84 0035E7E4 90 07 00 04 */ stw r0, 4(r7)
+/* 80362B88 0035E7E8 7D 07 43 78 */ mr r7, r8
+lbl_80362B8C:
+/* 80362B8C 0035E7EC 7C 07 30 40 */ cmplw r7, r6
+/* 80362B90 0035E7F0 40 82 FF D4 */ bne lbl_80362B64
+/* 80362B94 0035E7F4 2C 04 00 00 */ cmpwi r4, 0
+/* 80362B98 0035E7F8 40 81 00 0C */ ble lbl_80362BA4
+/* 80362B9C 0035E7FC 7F E3 FB 78 */ mr r3, r31
+/* 80362BA0 0035E800 4B E7 7F 19 */ bl func_801DAAB8
+lbl_80362BA4:
+/* 80362BA4 0035E804 7F E3 FB 78 */ mr r3, r31
+/* 80362BA8 0035E808 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80362BAC 0035E80C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80362BB0 0035E810 7C 08 03 A6 */ mtlr r0
+/* 80362BB4 0035E814 38 21 00 10 */ addi r1, r1, 0x10
+/* 80362BB8 0035E818 4E 80 00 20 */ blr
+
+.global Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
+Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator:
+/* 80362BBC 0035E81C 80 C4 00 00 */ lwz r6, 0(r4)
+/* 80362BC0 0035E820 38 00 00 00 */ li r0, 0
+/* 80362BC4 0035E824 80 A6 00 00 */ lwz r5, 0(r6)
+/* 80362BC8 0035E828 48 00 00 2C */ b lbl_80362BF4
+lbl_80362BCC:
+/* 80362BCC 0035E82C 80 E6 00 00 */ lwz r7, 0(r6)
+/* 80362BD0 0035E830 80 86 00 04 */ lwz r4, 4(r6)
+/* 80362BD4 0035E834 90 87 00 04 */ stw r4, 4(r7)
+/* 80362BD8 0035E838 90 E4 00 00 */ stw r7, 0(r4)
+/* 80362BDC 0035E83C 80 83 00 00 */ lwz r4, 0(r3)
+/* 80362BE0 0035E840 38 84 FF FF */ addi r4, r4, -1
+/* 80362BE4 0035E844 90 83 00 00 */ stw r4, 0(r3)
+/* 80362BE8 0035E848 90 06 00 00 */ stw r0, 0(r6)
+/* 80362BEC 0035E84C 90 06 00 04 */ stw r0, 4(r6)
+/* 80362BF0 0035E850 7C E6 3B 78 */ mr r6, r7
+lbl_80362BF4:
+/* 80362BF4 0035E854 7C 06 28 40 */ cmplw r6, r5
+/* 80362BF8 0035E858 40 82 FF D4 */ bne lbl_80362BCC
+/* 80362BFC 0035E85C 7C A3 2B 78 */ mr r3, r5
+/* 80362C00 0035E860 4E 80 00 20 */ blr
+
+.global Clear__Q44nw4r2ut6detail12LinkListImplFv
+Clear__Q44nw4r2ut6detail12LinkListImplFv:
+/* 80362C04 0035E864 80 C3 00 04 */ lwz r6, 4(r3)
+/* 80362C08 0035E868 38 A3 00 04 */ addi r5, r3, 4
+/* 80362C0C 0035E86C 38 00 00 00 */ li r0, 0
+/* 80362C10 0035E870 48 00 00 2C */ b lbl_80362C3C
+lbl_80362C14:
+/* 80362C14 0035E874 80 E6 00 00 */ lwz r7, 0(r6)
+/* 80362C18 0035E878 80 86 00 04 */ lwz r4, 4(r6)
+/* 80362C1C 0035E87C 90 87 00 04 */ stw r4, 4(r7)
+/* 80362C20 0035E880 90 E4 00 00 */ stw r7, 0(r4)
+/* 80362C24 0035E884 80 83 00 00 */ lwz r4, 0(r3)
+/* 80362C28 0035E888 38 84 FF FF */ addi r4, r4, -1
+/* 80362C2C 0035E88C 90 83 00 00 */ stw r4, 0(r3)
+/* 80362C30 0035E890 90 06 00 00 */ stw r0, 0(r6)
+/* 80362C34 0035E894 90 06 00 04 */ stw r0, 4(r6)
+/* 80362C38 0035E898 7C E6 3B 78 */ mr r6, r7
+lbl_80362C3C:
+/* 80362C3C 0035E89C 7C 06 28 40 */ cmplw r6, r5
+/* 80362C40 0035E8A0 40 82 FF D4 */ bne lbl_80362C14
+/* 80362C44 0035E8A4 4E 80 00 20 */ blr
+
+.global Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
+Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode:
+/* 80362C48 0035E8A8 80 84 00 00 */ lwz r4, 0(r4)
+/* 80362C4C 0035E8AC 80 C4 00 04 */ lwz r6, 4(r4)
+/* 80362C50 0035E8B0 90 85 00 00 */ stw r4, 0(r5)
+/* 80362C54 0035E8B4 90 C5 00 04 */ stw r6, 4(r5)
+/* 80362C58 0035E8B8 90 A4 00 04 */ stw r5, 4(r4)
+/* 80362C5C 0035E8BC 90 A6 00 00 */ stw r5, 0(r6)
+/* 80362C60 0035E8C0 80 83 00 00 */ lwz r4, 0(r3)
+/* 80362C64 0035E8C4 38 04 00 01 */ addi r0, r4, 1
+/* 80362C68 0035E8C8 90 03 00 00 */ stw r0, 0(r3)
+/* 80362C6C 0035E8CC 7C A3 2B 78 */ mr r3, r5
+/* 80362C70 0035E8D0 4E 80 00 20 */ blr
+
+.global Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
+Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode:
+/* 80362C74 0035E8D4 80 C4 00 00 */ lwz r6, 0(r4)
+/* 80362C78 0035E8D8 38 00 00 00 */ li r0, 0
+/* 80362C7C 0035E8DC 80 A4 00 04 */ lwz r5, 4(r4)
+/* 80362C80 0035E8E0 90 A6 00 04 */ stw r5, 4(r6)
+/* 80362C84 0035E8E4 90 C5 00 00 */ stw r6, 0(r5)
+/* 80362C88 0035E8E8 80 A3 00 00 */ lwz r5, 0(r3)
+/* 80362C8C 0035E8EC 38 A5 FF FF */ addi r5, r5, -1
+/* 80362C90 0035E8F0 90 A3 00 00 */ stw r5, 0(r3)
+/* 80362C94 0035E8F4 7C C3 33 78 */ mr r3, r6
+/* 80362C98 0035E8F8 90 04 00 00 */ stw r0, 0(r4)
+/* 80362C9C 0035E8FC 90 04 00 04 */ stw r0, 4(r4)
+/* 80362CA0 0035E900 4E 80 00 20 */ blr
diff --git a/asm/nw4r/ut/ut_ResFont.s b/asm/nw4r/ut/ut_ResFont.s new file mode 100644 index 0000000..4bb327f --- /dev/null +++ b/asm/nw4r/ut/ut_ResFont.s @@ -0,0 +1,228 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __ct__Q34nw4r2ut7ResFontFv
+__ct__Q34nw4r2ut7ResFontFv:
+/* 8036453C 0036019C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80364540 003601A0 7C 08 02 A6 */ mflr r0
+/* 80364544 003601A4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80364548 003601A8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8036454C 003601AC 7C 7F 1B 78 */ mr r31, r3
+/* 80364550 003601B0 4B FF FA 1D */ bl func_80363F6C
+/* 80364554 003601B4 3C 80 80 45 */ lis r4, lbl_8044C8B0@ha
+/* 80364558 003601B8 7F E3 FB 78 */ mr r3, r31
+/* 8036455C 003601BC 38 84 C8 B0 */ addi r4, r4, lbl_8044C8B0@l
+/* 80364560 003601C0 90 9F 00 00 */ stw r4, 0(r31)
+/* 80364564 003601C4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80364568 003601C8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8036456C 003601CC 7C 08 03 A6 */ mtlr r0
+/* 80364570 003601D0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80364574 003601D4 4E 80 00 20 */ blr
+
+.global __dt__Q34nw4r2ut7ResFontFv
+__dt__Q34nw4r2ut7ResFontFv:
+/* 80364578 003601D8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8036457C 003601DC 7C 08 02 A6 */ mflr r0
+/* 80364580 003601E0 2C 03 00 00 */ cmpwi r3, 0
+/* 80364584 003601E4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80364588 003601E8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8036458C 003601EC 7C 9F 23 78 */ mr r31, r4
+/* 80364590 003601F0 93 C1 00 08 */ stw r30, 8(r1)
+/* 80364594 003601F4 7C 7E 1B 78 */ mr r30, r3
+/* 80364598 003601F8 41 82 00 1C */ beq lbl_803645B4
+/* 8036459C 003601FC 38 80 00 00 */ li r4, 0
+/* 803645A0 00360200 4B FF FA 11 */ bl func_80363FB0
+/* 803645A4 00360204 2C 1F 00 00 */ cmpwi r31, 0
+/* 803645A8 00360208 40 81 00 0C */ ble lbl_803645B4
+/* 803645AC 0036020C 7F C3 F3 78 */ mr r3, r30
+/* 803645B0 00360210 4B E7 65 09 */ bl func_801DAAB8
+lbl_803645B4:
+/* 803645B4 00360214 7F C3 F3 78 */ mr r3, r30
+/* 803645B8 00360218 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803645BC 0036021C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 803645C0 00360220 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803645C4 00360224 7C 08 03 A6 */ mtlr r0
+/* 803645C8 00360228 38 21 00 10 */ addi r1, r1, 0x10
+/* 803645CC 0036022C 4E 80 00 20 */ blr
+
+.global SetResource__Q34nw4r2ut7ResFontFPv
+SetResource__Q34nw4r2ut7ResFontFPv:
+/* 803645D0 00360230 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803645D4 00360234 7C 08 02 A6 */ mflr r0
+/* 803645D8 00360238 38 A0 00 00 */ li r5, 0
+/* 803645DC 0036023C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803645E0 00360240 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 803645E4 00360244 7C 9F 23 78 */ mr r31, r4
+/* 803645E8 00360248 93 C1 00 08 */ stw r30, 8(r1)
+/* 803645EC 0036024C 7C 7E 1B 78 */ mr r30, r3
+/* 803645F0 00360250 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 803645F4 00360254 2C 00 00 00 */ cmpwi r0, 0
+/* 803645F8 00360258 41 82 00 0C */ beq lbl_80364604
+/* 803645FC 0036025C 38 60 00 00 */ li r3, 0
+/* 80364600 00360260 48 00 00 FC */ b lbl_803646FC
+lbl_80364604:
+/* 80364604 00360264 80 64 00 00 */ lwz r3, 0(r4)
+/* 80364608 00360268 3C 03 AD BA */ addis r0, r3, 0xadba
+/* 8036460C 0036026C 28 00 4E 55 */ cmplwi r0, 0x4e55
+/* 80364610 00360270 40 82 00 44 */ bne lbl_80364654
+/* 80364614 00360274 A0 04 00 0C */ lhz r0, 0xc(r4)
+/* 80364618 00360278 A0 64 00 0E */ lhz r3, 0xe(r4)
+/* 8036461C 0036027C 7C 84 02 14 */ add r4, r4, r0
+/* 80364620 00360280 7C 69 03 A6 */ mtctr r3
+/* 80364624 00360284 2C 03 00 00 */ cmpwi r3, 0
+/* 80364628 00360288 40 81 00 94 */ ble lbl_803646BC
+lbl_8036462C:
+/* 8036462C 0036028C 80 64 00 00 */ lwz r3, 0(r4)
+/* 80364630 00360290 3C 03 B9 B7 */ addis r0, r3, 0xb9b7
+/* 80364634 00360294 28 00 4E 46 */ cmplwi r0, 0x4e46
+/* 80364638 00360298 40 82 00 0C */ bne lbl_80364644
+/* 8036463C 0036029C 38 A4 00 08 */ addi r5, r4, 8
+/* 80364640 003602A0 48 00 00 7C */ b lbl_803646BC
+lbl_80364644:
+/* 80364644 003602A4 80 04 00 04 */ lwz r0, 4(r4)
+/* 80364648 003602A8 7C 84 02 14 */ add r4, r4, r0
+/* 8036464C 003602AC 42 00 FF E0 */ bdnz lbl_8036462C
+/* 80364650 003602B0 48 00 00 6C */ b lbl_803646BC
+lbl_80364654:
+/* 80364654 003602B4 A0 04 00 06 */ lhz r0, 6(r4)
+/* 80364658 003602B8 28 00 01 04 */ cmplwi r0, 0x104
+/* 8036465C 003602BC 40 82 00 2C */ bne lbl_80364688
+/* 80364660 003602C0 3C 80 52 46 */ lis r4, 0x52464E54@ha
+/* 80364664 003602C4 7F E3 FB 78 */ mr r3, r31
+/* 80364668 003602C8 38 84 4E 54 */ addi r4, r4, 0x52464E54@l
+/* 8036466C 003602CC 38 A0 01 04 */ li r5, 0x104
+/* 80364670 003602D0 38 C0 00 02 */ li r6, 2
+/* 80364674 003602D4 4B FF E6 31 */ bl IsValidBinaryFile__Q24nw4r2utFPCQ34nw4r2ut16BinaryFileHeaderUlUsUs
+/* 80364678 003602D8 2C 03 00 00 */ cmpwi r3, 0
+/* 8036467C 003602DC 40 82 00 34 */ bne lbl_803646B0
+/* 80364680 003602E0 38 60 00 00 */ li r3, 0
+/* 80364684 003602E4 48 00 00 78 */ b lbl_803646FC
+lbl_80364688:
+/* 80364688 003602E8 3C 80 52 46 */ lis r4, 0x52464E54@ha
+/* 8036468C 003602EC 7F E3 FB 78 */ mr r3, r31
+/* 80364690 003602F0 38 84 4E 54 */ addi r4, r4, 0x52464E54@l
+/* 80364694 003602F4 38 A0 01 02 */ li r5, 0x102
+/* 80364698 003602F8 38 C0 00 02 */ li r6, 2
+/* 8036469C 003602FC 4B FF E6 09 */ bl IsValidBinaryFile__Q24nw4r2utFPCQ34nw4r2ut16BinaryFileHeaderUlUsUs
+/* 803646A0 00360300 2C 03 00 00 */ cmpwi r3, 0
+/* 803646A4 00360304 40 82 00 0C */ bne lbl_803646B0
+/* 803646A8 00360308 38 60 00 00 */ li r3, 0
+/* 803646AC 0036030C 48 00 00 50 */ b lbl_803646FC
+lbl_803646B0:
+/* 803646B0 00360310 7F E3 FB 78 */ mr r3, r31
+/* 803646B4 00360314 48 00 00 61 */ bl Rebuild__Q34nw4r2ut7ResFontFPQ34nw4r2ut16BinaryFileHeader
+/* 803646B8 00360318 7C 65 1B 78 */ mr r5, r3
+lbl_803646BC:
+/* 803646BC 0036031C 2C 05 00 00 */ cmpwi r5, 0
+/* 803646C0 00360320 40 82 00 0C */ bne lbl_803646CC
+/* 803646C4 00360324 38 60 00 00 */ li r3, 0
+/* 803646C8 00360328 48 00 00 34 */ b lbl_803646FC
+lbl_803646CC:
+/* 803646CC 0036032C 7F C3 F3 78 */ mr r3, r30
+/* 803646D0 00360330 7F E4 FB 78 */ mr r4, r31
+/* 803646D4 00360334 4B FF F9 1D */ bl func_80363FF0
+/* 803646D8 00360338 81 9E 00 00 */ lwz r12, 0(r30)
+/* 803646DC 0036033C 7F C3 F3 78 */ mr r3, r30
+/* 803646E0 00360340 81 8C 00 54 */ lwz r12, 0x54(r12)
+/* 803646E4 00360344 7D 89 03 A6 */ mtctr r12
+/* 803646E8 00360348 4E 80 04 21 */ bctrl
+/* 803646EC 0036034C 7C 64 1B 78 */ mr r4, r3
+/* 803646F0 00360350 7F C3 F3 78 */ mr r3, r30
+/* 803646F4 00360354 4B FF F7 91 */ bl InitReaderFunc__Q34nw4r2ut4FontFQ34nw4r2ut12FontEncoding
+/* 803646F8 00360358 38 60 00 01 */ li r3, 1
+lbl_803646FC:
+/* 803646FC 0036035C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80364700 00360360 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80364704 00360364 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80364708 00360368 7C 08 03 A6 */ mtlr r0
+/* 8036470C 0036036C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80364710 00360370 4E 80 00 20 */ blr
+
+.global Rebuild__Q34nw4r2ut7ResFontFPQ34nw4r2ut16BinaryFileHeader
+Rebuild__Q34nw4r2ut7ResFontFPQ34nw4r2ut16BinaryFileHeader:
+/* 80364714 00360374 A0 03 00 0C */ lhz r0, 0xc(r3)
+/* 80364718 00360378 3C 80 46 49 */ lis r4, 0x46494E46@ha
+/* 8036471C 0036037C 39 64 4E 46 */ addi r11, r4, 0x46494E46@l
+/* 80364720 00360380 38 A0 00 00 */ li r5, 0
+/* 80364724 00360384 7C 83 02 14 */ add r4, r3, r0
+/* 80364728 00360388 38 C0 00 00 */ li r6, 0
+/* 8036472C 0036038C 3D 00 54 47 */ lis r8, 0x5447
+/* 80364730 00360390 3D 40 43 57 */ lis r10, 0x4357
+/* 80364734 00360394 3D 20 43 4D */ lis r9, 0x434d
+/* 80364738 00360398 3C E0 47 4C */ lis r7, 0x474c
+/* 8036473C 0036039C 48 00 00 E4 */ b lbl_80364820
+lbl_80364740:
+/* 80364740 003603A0 81 84 00 00 */ lwz r12, 0(r4)
+/* 80364744 003603A4 7C 0C 58 00 */ cmpw r12, r11
+/* 80364748 003603A8 41 82 00 48 */ beq lbl_80364790
+/* 8036474C 003603AC 40 80 00 24 */ bge lbl_80364770
+/* 80364750 003603B0 38 0A 44 48 */ addi r0, r10, 0x4448
+/* 80364754 003603B4 7C 0C 00 00 */ cmpw r12, r0
+/* 80364758 003603B8 41 82 00 84 */ beq lbl_803647DC
+/* 8036475C 003603BC 40 80 00 B0 */ bge lbl_8036480C
+/* 80364760 003603C0 38 09 41 50 */ addi r0, r9, 0x4150
+/* 80364764 003603C4 7C 0C 00 00 */ cmpw r12, r0
+/* 80364768 003603C8 41 82 00 8C */ beq lbl_803647F4
+/* 8036476C 003603CC 48 00 00 A0 */ b lbl_8036480C
+lbl_80364770:
+/* 80364770 003603D0 38 08 4C 50 */ addi r0, r8, 0x4c50
+/* 80364774 003603D4 7C 0C 00 00 */ cmpw r12, r0
+/* 80364778 003603D8 41 82 00 54 */ beq lbl_803647CC
+/* 8036477C 003603DC 40 80 00 90 */ bge lbl_8036480C
+/* 80364780 003603E0 38 07 47 52 */ addi r0, r7, 0x4752
+/* 80364784 003603E4 7C 0C 00 00 */ cmpw r12, r0
+/* 80364788 003603E8 41 82 00 8C */ beq lbl_80364814
+/* 8036478C 003603EC 48 00 00 80 */ b lbl_8036480C
+lbl_80364790:
+/* 80364790 003603F0 80 04 00 10 */ lwz r0, 0x10(r4)
+/* 80364794 003603F4 38 A4 00 08 */ addi r5, r4, 8
+/* 80364798 003603F8 7C 03 02 14 */ add r0, r3, r0
+/* 8036479C 003603FC 90 04 00 10 */ stw r0, 0x10(r4)
+/* 803647A0 00360400 80 04 00 14 */ lwz r0, 0x14(r4)
+/* 803647A4 00360404 2C 00 00 00 */ cmpwi r0, 0
+/* 803647A8 00360408 41 82 00 0C */ beq lbl_803647B4
+/* 803647AC 0036040C 7C 03 02 14 */ add r0, r3, r0
+/* 803647B0 00360410 90 05 00 0C */ stw r0, 0xc(r5)
+lbl_803647B4:
+/* 803647B4 00360414 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 803647B8 00360418 2C 00 00 00 */ cmpwi r0, 0
+/* 803647BC 0036041C 41 82 00 58 */ beq lbl_80364814
+/* 803647C0 00360420 7C 03 02 14 */ add r0, r3, r0
+/* 803647C4 00360424 90 05 00 10 */ stw r0, 0x10(r5)
+/* 803647C8 00360428 48 00 00 4C */ b lbl_80364814
+lbl_803647CC:
+/* 803647CC 0036042C 80 04 00 1C */ lwz r0, 0x1c(r4)
+/* 803647D0 00360430 7C 03 02 14 */ add r0, r3, r0
+/* 803647D4 00360434 90 04 00 1C */ stw r0, 0x1c(r4)
+/* 803647D8 00360438 48 00 00 3C */ b lbl_80364814
+lbl_803647DC:
+/* 803647DC 0036043C 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 803647E0 00360440 2C 00 00 00 */ cmpwi r0, 0
+/* 803647E4 00360444 41 82 00 30 */ beq lbl_80364814
+/* 803647E8 00360448 7C 03 02 14 */ add r0, r3, r0
+/* 803647EC 0036044C 90 04 00 0C */ stw r0, 0xc(r4)
+/* 803647F0 00360450 48 00 00 24 */ b lbl_80364814
+lbl_803647F4:
+/* 803647F4 00360454 80 04 00 10 */ lwz r0, 0x10(r4)
+/* 803647F8 00360458 2C 00 00 00 */ cmpwi r0, 0
+/* 803647FC 0036045C 41 82 00 18 */ beq lbl_80364814
+/* 80364800 00360460 7C 03 02 14 */ add r0, r3, r0
+/* 80364804 00360464 90 04 00 10 */ stw r0, 0x10(r4)
+/* 80364808 00360468 48 00 00 0C */ b lbl_80364814
+lbl_8036480C:
+/* 8036480C 0036046C 38 60 00 00 */ li r3, 0
+/* 80364810 00360470 4E 80 00 20 */ blr
+lbl_80364814:
+/* 80364814 00360474 80 04 00 04 */ lwz r0, 4(r4)
+/* 80364818 00360478 38 C6 00 01 */ addi r6, r6, 1
+/* 8036481C 0036047C 7C 84 02 14 */ add r4, r4, r0
+lbl_80364820:
+/* 80364820 00360480 A0 03 00 0E */ lhz r0, 0xe(r3)
+/* 80364824 00360484 7C 06 00 00 */ cmpw r6, r0
+/* 80364828 00360488 41 80 FF 18 */ blt lbl_80364740
+/* 8036482C 0036048C 3C 80 52 46 */ lis r4, 0x52464E55@ha
+/* 80364830 00360490 38 04 4E 55 */ addi r0, r4, 0x52464E55@l
+/* 80364834 00360494 90 03 00 00 */ stw r0, 0(r3)
+/* 80364838 00360498 7C A3 2B 78 */ mr r3, r5
+/* 8036483C 0036049C 4E 80 00 20 */ blr
diff --git a/asm/nw4r/ut/ut_TagProcessorBase.s b/asm/nw4r/ut/ut_TagProcessorBase.s new file mode 100644 index 0000000..7f31afb --- /dev/null +++ b/asm/nw4r/ut/ut_TagProcessorBase.s @@ -0,0 +1,493 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __ct__Q34nw4r2ut19TagProcessorBase$0c$1Fv
+__ct__Q34nw4r2ut19TagProcessorBase$0c$1Fv:
+/* 80362E28 0035EA88 3C 80 80 45 */ lis r4, lbl_8044C6DC@ha
+/* 80362E2C 0035EA8C 38 84 C6 DC */ addi r4, r4, lbl_8044C6DC@l
+/* 80362E30 0035EA90 90 83 00 00 */ stw r4, 0(r3)
+/* 80362E34 0035EA94 4E 80 00 20 */ blr
+
+.global __dt__Q34nw4r2ut19TagProcessorBase$0c$1Fv
+__dt__Q34nw4r2ut19TagProcessorBase$0c$1Fv:
+/* 80362E38 0035EA98 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80362E3C 0035EA9C 7C 08 02 A6 */ mflr r0
+/* 80362E40 0035EAA0 2C 03 00 00 */ cmpwi r3, 0
+/* 80362E44 0035EAA4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80362E48 0035EAA8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80362E4C 0035EAAC 7C 7F 1B 78 */ mr r31, r3
+/* 80362E50 0035EAB0 41 82 00 10 */ beq lbl_80362E60
+/* 80362E54 0035EAB4 2C 04 00 00 */ cmpwi r4, 0
+/* 80362E58 0035EAB8 40 81 00 08 */ ble lbl_80362E60
+/* 80362E5C 0035EABC 4B E7 7C 5D */ bl func_801DAAB8
+lbl_80362E60:
+/* 80362E60 0035EAC0 7F E3 FB 78 */ mr r3, r31
+/* 80362E64 0035EAC4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80362E68 0035EAC8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80362E6C 0035EACC 7C 08 03 A6 */ mtlr r0
+/* 80362E70 0035EAD0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80362E74 0035EAD4 4E 80 00 20 */ blr
+
+.global Process__Q34nw4r2ut19TagProcessorBase$0c$1FUsPQ34nw4r2ut15PrintContext$0c$1
+Process__Q34nw4r2ut19TagProcessorBase$0c$1FUsPQ34nw4r2ut15PrintContext$0c$1:
+/* 80362E78 0035EAD8 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 80362E7C 0035EADC 7C 08 02 A6 */ mflr r0
+/* 80362E80 0035EAE0 90 01 00 54 */ stw r0, 0x54(r1)
+/* 80362E84 0035EAE4 DB E1 00 40 */ stfd f31, 0x40(r1)
+/* 80362E88 0035EAE8 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
+/* 80362E8C 0035EAEC DB C1 00 30 */ stfd f30, 0x30(r1)
+/* 80362E90 0035EAF0 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0
+/* 80362E94 0035EAF4 2C 04 00 0A */ cmpwi r4, 0xa
+/* 80362E98 0035EAF8 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 80362E9C 0035EAFC 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 80362EA0 0035EB00 93 A1 00 24 */ stw r29, 0x24(r1)
+/* 80362EA4 0035EB04 7C BD 2B 78 */ mr r29, r5
+/* 80362EA8 0035EB08 41 82 00 14 */ beq lbl_80362EBC
+/* 80362EAC 0035EB0C 40 80 00 CC */ bge lbl_80362F78
+/* 80362EB0 0035EB10 2C 04 00 09 */ cmpwi r4, 9
+/* 80362EB4 0035EB14 40 80 00 30 */ bge lbl_80362EE4
+/* 80362EB8 0035EB18 48 00 00 C0 */ b lbl_80362F78
+lbl_80362EBC:
+/* 80362EBC 0035EB1C 83 E5 00 00 */ lwz r31, 0(r5)
+/* 80362EC0 0035EB20 C3 E5 00 08 */ lfs f31, 8(r5)
+/* 80362EC4 0035EB24 C3 DF 00 30 */ lfs f30, 0x30(r31)
+/* 80362EC8 0035EB28 7F E3 FB 78 */ mr r3, r31
+/* 80362ECC 0035EB2C 48 00 30 9D */ bl GetLineHeight__Q34nw4r2ut17TextWriterBase$0c$1CFv
+/* 80362ED0 0035EB30 EC 1E 08 2A */ fadds f0, f30, f1
+/* 80362ED4 0035EB34 D3 FF 00 2C */ stfs f31, 0x2c(r31)
+/* 80362ED8 0035EB38 38 60 00 03 */ li r3, 3
+/* 80362EDC 0035EB3C D0 1F 00 30 */ stfs f0, 0x30(r31)
+/* 80362EE0 0035EB40 48 00 00 9C */ b lbl_80362F7C
+lbl_80362EE4:
+/* 80362EE4 0035EB44 83 E5 00 00 */ lwz r31, 0(r5)
+/* 80362EE8 0035EB48 83 DF 00 58 */ lwz r30, 0x58(r31)
+/* 80362EEC 0035EB4C 2C 1E 00 00 */ cmpwi r30, 0
+/* 80362EF0 0035EB50 40 81 00 80 */ ble lbl_80362F70
+/* 80362EF4 0035EB54 88 1F 00 43 */ lbz r0, 0x43(r31)
+/* 80362EF8 0035EB58 2C 00 00 00 */ cmpwi r0, 0
+/* 80362EFC 0035EB5C 41 82 00 0C */ beq lbl_80362F08
+/* 80362F00 0035EB60 C0 3F 00 44 */ lfs f1, 0x44(r31)
+/* 80362F04 0035EB64 48 00 00 0C */ b lbl_80362F10
+lbl_80362F08:
+/* 80362F08 0035EB68 7F E3 FB 78 */ mr r3, r31
+/* 80362F0C 0035EB6C 48 00 26 F5 */ bl GetFontWidth__Q34nw4r2ut10CharWriterCFv
+lbl_80362F10:
+/* 80362F10 0035EB70 3C 00 43 30 */ lis r0, 0x4330
+/* 80362F14 0035EB74 6F C3 80 00 */ xoris r3, r30, 0x8000
+/* 80362F18 0035EB78 90 61 00 0C */ stw r3, 0xc(r1)
+/* 80362F1C 0035EB7C C8 42 A5 08 */ lfd f2, lbl_80642B08-_SDA2_BASE_(r2)
+/* 80362F20 0035EB80 90 01 00 08 */ stw r0, 8(r1)
+/* 80362F24 0035EB84 C0 9F 00 2C */ lfs f4, 0x2c(r31)
+/* 80362F28 0035EB88 C8 01 00 08 */ lfd f0, 8(r1)
+/* 80362F2C 0035EB8C C0 7D 00 08 */ lfs f3, 8(r29)
+/* 80362F30 0035EB90 EC 00 10 28 */ fsubs f0, f0, f2
+/* 80362F34 0035EB94 90 01 00 18 */ stw r0, 0x18(r1)
+/* 80362F38 0035EB98 EC 84 18 28 */ fsubs f4, f4, f3
+/* 80362F3C 0035EB9C EC 20 00 72 */ fmuls f1, f0, f1
+/* 80362F40 0035EBA0 EC 04 08 24 */ fdivs f0, f4, f1
+/* 80362F44 0035EBA4 FC 00 00 1E */ fctiwz f0, f0
+/* 80362F48 0035EBA8 D8 01 00 10 */ stfd f0, 0x10(r1)
+/* 80362F4C 0035EBAC 80 61 00 14 */ lwz r3, 0x14(r1)
+/* 80362F50 0035EBB0 38 03 00 01 */ addi r0, r3, 1
+/* 80362F54 0035EBB4 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 80362F58 0035EBB8 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 80362F5C 0035EBBC C8 01 00 18 */ lfd f0, 0x18(r1)
+/* 80362F60 0035EBC0 EC 00 10 28 */ fsubs f0, f0, f2
+/* 80362F64 0035EBC4 EC 01 00 32 */ fmuls f0, f1, f0
+/* 80362F68 0035EBC8 EC 03 00 2A */ fadds f0, f3, f0
+/* 80362F6C 0035EBCC D0 1F 00 2C */ stfs f0, 0x2c(r31)
+lbl_80362F70:
+/* 80362F70 0035EBD0 38 60 00 01 */ li r3, 1
+/* 80362F74 0035EBD4 48 00 00 08 */ b lbl_80362F7C
+lbl_80362F78:
+/* 80362F78 0035EBD8 38 60 00 00 */ li r3, 0
+lbl_80362F7C:
+/* 80362F7C 0035EBDC E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
+/* 80362F80 0035EBE0 CB E1 00 40 */ lfd f31, 0x40(r1)
+/* 80362F84 0035EBE4 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0
+/* 80362F88 0035EBE8 CB C1 00 30 */ lfd f30, 0x30(r1)
+/* 80362F8C 0035EBEC 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 80362F90 0035EBF0 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 80362F94 0035EBF4 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 80362F98 0035EBF8 83 A1 00 24 */ lwz r29, 0x24(r1)
+/* 80362F9C 0035EBFC 7C 08 03 A6 */ mtlr r0
+/* 80362FA0 0035EC00 38 21 00 50 */ addi r1, r1, 0x50
+/* 80362FA4 0035EC04 4E 80 00 20 */ blr
+
+.global CalcRect__Q34nw4r2ut19TagProcessorBase$0c$1FPQ34nw4r2ut4RectUsPQ34nw4r2ut15PrintContext$0c$1
+CalcRect__Q34nw4r2ut19TagProcessorBase$0c$1FPQ34nw4r2ut4RectUsPQ34nw4r2ut15PrintContext$0c$1:
+/* 80362FA8 0035EC08 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 80362FAC 0035EC0C 7C 08 02 A6 */ mflr r0
+/* 80362FB0 0035EC10 90 01 00 64 */ stw r0, 0x64(r1)
+/* 80362FB4 0035EC14 DB E1 00 50 */ stfd f31, 0x50(r1)
+/* 80362FB8 0035EC18 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
+/* 80362FBC 0035EC1C DB C1 00 40 */ stfd f30, 0x40(r1)
+/* 80362FC0 0035EC20 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
+/* 80362FC4 0035EC24 39 61 00 40 */ addi r11, r1, 0x40
+/* 80362FC8 0035EC28 4B E6 41 61 */ bl _savegpr_27
+/* 80362FCC 0035EC2C 2C 05 00 0A */ cmpwi r5, 0xa
+/* 80362FD0 0035EC30 7C 9B 23 78 */ mr r27, r4
+/* 80362FD4 0035EC34 7C DC 33 78 */ mr r28, r6
+/* 80362FD8 0035EC38 41 82 00 14 */ beq lbl_80362FEC
+/* 80362FDC 0035EC3C 40 80 01 88 */ bge lbl_80363164
+/* 80362FE0 0035EC40 2C 05 00 09 */ cmpwi r5, 9
+/* 80362FE4 0035EC44 40 80 00 90 */ bge lbl_80363074
+/* 80362FE8 0035EC48 48 00 01 7C */ b lbl_80363164
+lbl_80362FEC:
+/* 80362FEC 0035EC4C 83 C6 00 00 */ lwz r30, 0(r6)
+/* 80362FF0 0035EC50 C0 1E 00 2C */ lfs f0, 0x2c(r30)
+/* 80362FF4 0035EC54 D0 04 00 08 */ stfs f0, 8(r4)
+/* 80362FF8 0035EC58 C0 1E 00 30 */ lfs f0, 0x30(r30)
+/* 80362FFC 0035EC5C D0 04 00 04 */ stfs f0, 4(r4)
+/* 80363000 0035EC60 83 E6 00 00 */ lwz r31, 0(r6)
+/* 80363004 0035EC64 C3 E6 00 08 */ lfs f31, 8(r6)
+/* 80363008 0035EC68 C3 DF 00 30 */ lfs f30, 0x30(r31)
+/* 8036300C 0035EC6C 7F E3 FB 78 */ mr r3, r31
+/* 80363010 0035EC70 48 00 2F 59 */ bl GetLineHeight__Q34nw4r2ut17TextWriterBase$0c$1CFv
+/* 80363014 0035EC74 EC 1E 08 2A */ fadds f0, f30, f1
+/* 80363018 0035EC78 D3 FF 00 2C */ stfs f31, 0x2c(r31)
+/* 8036301C 0035EC7C D0 1F 00 30 */ stfs f0, 0x30(r31)
+/* 80363020 0035EC80 C0 1E 00 2C */ lfs f0, 0x2c(r30)
+/* 80363024 0035EC84 D0 1B 00 00 */ stfs f0, 0(r27)
+/* 80363028 0035EC88 C3 DE 00 30 */ lfs f30, 0x30(r30)
+/* 8036302C 0035EC8C 80 7C 00 00 */ lwz r3, 0(r28)
+/* 80363030 0035EC90 48 00 26 31 */ bl GetFontHeight__Q34nw4r2ut10CharWriterCFv
+/* 80363034 0035EC94 EC 1E 08 2A */ fadds f0, f30, f1
+/* 80363038 0035EC98 C0 DB 00 04 */ lfs f6, 4(r27)
+/* 8036303C 0035EC9C C0 FB 00 00 */ lfs f7, 0(r27)
+/* 80363040 0035ECA0 38 60 00 03 */ li r3, 3
+/* 80363044 0035ECA4 C0 BB 00 08 */ lfs f5, 8(r27)
+/* 80363048 0035ECA8 EC 40 30 28 */ fsubs f2, f0, f6
+/* 8036304C 0035ECAC EC 65 38 28 */ fsubs f3, f5, f7
+/* 80363050 0035ECB0 FC 22 01 AE */ fsel f1, f2, f6, f0
+/* 80363054 0035ECB4 FC 83 29 EE */ fsel f4, f3, f7, f5
+/* 80363058 0035ECB8 FC 63 39 6E */ fsel f3, f3, f5, f7
+/* 8036305C 0035ECBC FC 02 30 2E */ fsel f0, f2, f0, f6
+/* 80363060 0035ECC0 D0 3B 00 04 */ stfs f1, 4(r27)
+/* 80363064 0035ECC4 D0 9B 00 00 */ stfs f4, 0(r27)
+/* 80363068 0035ECC8 D0 7B 00 08 */ stfs f3, 8(r27)
+/* 8036306C 0035ECCC D0 1B 00 0C */ stfs f0, 0xc(r27)
+/* 80363070 0035ECD0 48 00 00 F8 */ b lbl_80363168
+lbl_80363074:
+/* 80363074 0035ECD4 83 A6 00 00 */ lwz r29, 0(r6)
+/* 80363078 0035ECD8 C0 1D 00 2C */ lfs f0, 0x2c(r29)
+/* 8036307C 0035ECDC D0 04 00 00 */ stfs f0, 0(r4)
+/* 80363080 0035ECE0 83 E6 00 00 */ lwz r31, 0(r6)
+/* 80363084 0035ECE4 83 DF 00 58 */ lwz r30, 0x58(r31)
+/* 80363088 0035ECE8 2C 1E 00 00 */ cmpwi r30, 0
+/* 8036308C 0035ECEC 40 81 00 80 */ ble lbl_8036310C
+/* 80363090 0035ECF0 88 1F 00 43 */ lbz r0, 0x43(r31)
+/* 80363094 0035ECF4 2C 00 00 00 */ cmpwi r0, 0
+/* 80363098 0035ECF8 41 82 00 0C */ beq lbl_803630A4
+/* 8036309C 0035ECFC C0 3F 00 44 */ lfs f1, 0x44(r31)
+/* 803630A0 0035ED00 48 00 00 0C */ b lbl_803630AC
+lbl_803630A4:
+/* 803630A4 0035ED04 7F E3 FB 78 */ mr r3, r31
+/* 803630A8 0035ED08 48 00 25 59 */ bl GetFontWidth__Q34nw4r2ut10CharWriterCFv
+lbl_803630AC:
+/* 803630AC 0035ED0C 3C 00 43 30 */ lis r0, 0x4330
+/* 803630B0 0035ED10 6F C3 80 00 */ xoris r3, r30, 0x8000
+/* 803630B4 0035ED14 90 61 00 0C */ stw r3, 0xc(r1)
+/* 803630B8 0035ED18 C8 42 A5 08 */ lfd f2, lbl_80642B08-_SDA2_BASE_(r2)
+/* 803630BC 0035ED1C 90 01 00 08 */ stw r0, 8(r1)
+/* 803630C0 0035ED20 C0 9F 00 2C */ lfs f4, 0x2c(r31)
+/* 803630C4 0035ED24 C8 01 00 08 */ lfd f0, 8(r1)
+/* 803630C8 0035ED28 C0 7C 00 08 */ lfs f3, 8(r28)
+/* 803630CC 0035ED2C EC 00 10 28 */ fsubs f0, f0, f2
+/* 803630D0 0035ED30 90 01 00 18 */ stw r0, 0x18(r1)
+/* 803630D4 0035ED34 EC 84 18 28 */ fsubs f4, f4, f3
+/* 803630D8 0035ED38 EC 20 00 72 */ fmuls f1, f0, f1
+/* 803630DC 0035ED3C EC 04 08 24 */ fdivs f0, f4, f1
+/* 803630E0 0035ED40 FC 00 00 1E */ fctiwz f0, f0
+/* 803630E4 0035ED44 D8 01 00 10 */ stfd f0, 0x10(r1)
+/* 803630E8 0035ED48 80 61 00 14 */ lwz r3, 0x14(r1)
+/* 803630EC 0035ED4C 38 03 00 01 */ addi r0, r3, 1
+/* 803630F0 0035ED50 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 803630F4 0035ED54 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 803630F8 0035ED58 C8 01 00 18 */ lfd f0, 0x18(r1)
+/* 803630FC 0035ED5C EC 00 10 28 */ fsubs f0, f0, f2
+/* 80363100 0035ED60 EC 01 00 32 */ fmuls f0, f1, f0
+/* 80363104 0035ED64 EC 03 00 2A */ fadds f0, f3, f0
+/* 80363108 0035ED68 D0 1F 00 2C */ stfs f0, 0x2c(r31)
+lbl_8036310C:
+/* 8036310C 0035ED6C C0 1D 00 2C */ lfs f0, 0x2c(r29)
+/* 80363110 0035ED70 7F A3 EB 78 */ mr r3, r29
+/* 80363114 0035ED74 D0 1B 00 08 */ stfs f0, 8(r27)
+/* 80363118 0035ED78 C0 1D 00 30 */ lfs f0, 0x30(r29)
+/* 8036311C 0035ED7C D0 1B 00 04 */ stfs f0, 4(r27)
+/* 80363120 0035ED80 48 00 25 41 */ bl GetFontHeight__Q34nw4r2ut10CharWriterCFv
+/* 80363124 0035ED84 C0 5B 00 04 */ lfs f2, 4(r27)
+/* 80363128 0035ED88 38 60 00 01 */ li r3, 1
+/* 8036312C 0035ED8C C0 DB 00 00 */ lfs f6, 0(r27)
+/* 80363130 0035ED90 EC 02 08 2A */ fadds f0, f2, f1
+/* 80363134 0035ED94 C0 9B 00 08 */ lfs f4, 8(r27)
+/* 80363138 0035ED98 EC 24 30 28 */ fsubs f1, f4, f6
+/* 8036313C 0035ED9C EC 60 10 28 */ fsubs f3, f0, f2
+/* 80363140 0035EDA0 FC A1 21 AE */ fsel f5, f1, f6, f4
+/* 80363144 0035EDA4 FC 81 31 2E */ fsel f4, f1, f4, f6
+/* 80363148 0035EDA8 FC 23 00 AE */ fsel f1, f3, f2, f0
+/* 8036314C 0035EDAC FC 03 10 2E */ fsel f0, f3, f0, f2
+/* 80363150 0035EDB0 D0 BB 00 00 */ stfs f5, 0(r27)
+/* 80363154 0035EDB4 D0 9B 00 08 */ stfs f4, 8(r27)
+/* 80363158 0035EDB8 D0 3B 00 04 */ stfs f1, 4(r27)
+/* 8036315C 0035EDBC D0 1B 00 0C */ stfs f0, 0xc(r27)
+/* 80363160 0035EDC0 48 00 00 08 */ b lbl_80363168
+lbl_80363164:
+/* 80363164 0035EDC4 38 60 00 00 */ li r3, 0
+lbl_80363168:
+/* 80363168 0035EDC8 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
+/* 8036316C 0035EDCC CB E1 00 50 */ lfd f31, 0x50(r1)
+/* 80363170 0035EDD0 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
+/* 80363174 0035EDD4 39 61 00 40 */ addi r11, r1, 0x40
+/* 80363178 0035EDD8 CB C1 00 40 */ lfd f30, 0x40(r1)
+/* 8036317C 0035EDDC 4B E6 3F F9 */ bl _restgpr_27
+/* 80363180 0035EDE0 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 80363184 0035EDE4 7C 08 03 A6 */ mtlr r0
+/* 80363188 0035EDE8 38 21 00 60 */ addi r1, r1, 0x60
+/* 8036318C 0035EDEC 4E 80 00 20 */ blr
+
+.global __ct__Q34nw4r2ut19TagProcessorBase$0w$1Fv
+__ct__Q34nw4r2ut19TagProcessorBase$0w$1Fv:
+/* 80363190 0035EDF0 3C 80 80 45 */ lis r4, lbl_8044C6C8@ha
+/* 80363194 0035EDF4 38 84 C6 C8 */ addi r4, r4, lbl_8044C6C8@l
+/* 80363198 0035EDF8 90 83 00 00 */ stw r4, 0(r3)
+/* 8036319C 0035EDFC 4E 80 00 20 */ blr
+
+.global __dt__Q34nw4r2ut19TagProcessorBase$0w$1Fv
+__dt__Q34nw4r2ut19TagProcessorBase$0w$1Fv:
+/* 803631A0 0035EE00 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803631A4 0035EE04 7C 08 02 A6 */ mflr r0
+/* 803631A8 0035EE08 2C 03 00 00 */ cmpwi r3, 0
+/* 803631AC 0035EE0C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803631B0 0035EE10 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 803631B4 0035EE14 7C 7F 1B 78 */ mr r31, r3
+/* 803631B8 0035EE18 41 82 00 10 */ beq lbl_803631C8
+/* 803631BC 0035EE1C 2C 04 00 00 */ cmpwi r4, 0
+/* 803631C0 0035EE20 40 81 00 08 */ ble lbl_803631C8
+/* 803631C4 0035EE24 4B E7 78 F5 */ bl func_801DAAB8
+lbl_803631C8:
+/* 803631C8 0035EE28 7F E3 FB 78 */ mr r3, r31
+/* 803631CC 0035EE2C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803631D0 0035EE30 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803631D4 0035EE34 7C 08 03 A6 */ mtlr r0
+/* 803631D8 0035EE38 38 21 00 10 */ addi r1, r1, 0x10
+/* 803631DC 0035EE3C 4E 80 00 20 */ blr
+
+.global Process__Q34nw4r2ut19TagProcessorBase$0w$1FUsPQ34nw4r2ut15PrintContext$0w$1
+Process__Q34nw4r2ut19TagProcessorBase$0w$1FUsPQ34nw4r2ut15PrintContext$0w$1:
+/* 803631E0 0035EE40 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 803631E4 0035EE44 7C 08 02 A6 */ mflr r0
+/* 803631E8 0035EE48 90 01 00 54 */ stw r0, 0x54(r1)
+/* 803631EC 0035EE4C DB E1 00 40 */ stfd f31, 0x40(r1)
+/* 803631F0 0035EE50 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
+/* 803631F4 0035EE54 DB C1 00 30 */ stfd f30, 0x30(r1)
+/* 803631F8 0035EE58 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0
+/* 803631FC 0035EE5C 2C 04 00 0A */ cmpwi r4, 0xa
+/* 80363200 0035EE60 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 80363204 0035EE64 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 80363208 0035EE68 93 A1 00 24 */ stw r29, 0x24(r1)
+/* 8036320C 0035EE6C 7C BD 2B 78 */ mr r29, r5
+/* 80363210 0035EE70 41 82 00 14 */ beq lbl_80363224
+/* 80363214 0035EE74 40 80 00 CC */ bge lbl_803632E0
+/* 80363218 0035EE78 2C 04 00 09 */ cmpwi r4, 9
+/* 8036321C 0035EE7C 40 80 00 30 */ bge lbl_8036324C
+/* 80363220 0035EE80 48 00 00 C0 */ b lbl_803632E0
+lbl_80363224:
+/* 80363224 0035EE84 83 E5 00 00 */ lwz r31, 0(r5)
+/* 80363228 0035EE88 C3 E5 00 08 */ lfs f31, 8(r5)
+/* 8036322C 0035EE8C C3 DF 00 30 */ lfs f30, 0x30(r31)
+/* 80363230 0035EE90 7F E3 FB 78 */ mr r3, r31
+/* 80363234 0035EE94 48 00 2E 9D */ bl GetLineHeight__Q34nw4r2ut17TextWriterBase$0w$1CFv
+/* 80363238 0035EE98 EC 1E 08 2A */ fadds f0, f30, f1
+/* 8036323C 0035EE9C D3 FF 00 2C */ stfs f31, 0x2c(r31)
+/* 80363240 0035EEA0 38 60 00 03 */ li r3, 3
+/* 80363244 0035EEA4 D0 1F 00 30 */ stfs f0, 0x30(r31)
+/* 80363248 0035EEA8 48 00 00 9C */ b lbl_803632E4
+lbl_8036324C:
+/* 8036324C 0035EEAC 83 E5 00 00 */ lwz r31, 0(r5)
+/* 80363250 0035EEB0 83 DF 00 58 */ lwz r30, 0x58(r31)
+/* 80363254 0035EEB4 2C 1E 00 00 */ cmpwi r30, 0
+/* 80363258 0035EEB8 40 81 00 80 */ ble lbl_803632D8
+/* 8036325C 0035EEBC 88 1F 00 43 */ lbz r0, 0x43(r31)
+/* 80363260 0035EEC0 2C 00 00 00 */ cmpwi r0, 0
+/* 80363264 0035EEC4 41 82 00 0C */ beq lbl_80363270
+/* 80363268 0035EEC8 C0 3F 00 44 */ lfs f1, 0x44(r31)
+/* 8036326C 0035EECC 48 00 00 0C */ b lbl_80363278
+lbl_80363270:
+/* 80363270 0035EED0 7F E3 FB 78 */ mr r3, r31
+/* 80363274 0035EED4 48 00 23 8D */ bl GetFontWidth__Q34nw4r2ut10CharWriterCFv
+lbl_80363278:
+/* 80363278 0035EED8 3C 00 43 30 */ lis r0, 0x4330
+/* 8036327C 0035EEDC 6F C3 80 00 */ xoris r3, r30, 0x8000
+/* 80363280 0035EEE0 90 61 00 0C */ stw r3, 0xc(r1)
+/* 80363284 0035EEE4 C8 42 A5 08 */ lfd f2, lbl_80642B08-_SDA2_BASE_(r2)
+/* 80363288 0035EEE8 90 01 00 08 */ stw r0, 8(r1)
+/* 8036328C 0035EEEC C0 9F 00 2C */ lfs f4, 0x2c(r31)
+/* 80363290 0035EEF0 C8 01 00 08 */ lfd f0, 8(r1)
+/* 80363294 0035EEF4 C0 7D 00 08 */ lfs f3, 8(r29)
+/* 80363298 0035EEF8 EC 00 10 28 */ fsubs f0, f0, f2
+/* 8036329C 0035EEFC 90 01 00 18 */ stw r0, 0x18(r1)
+/* 803632A0 0035EF00 EC 84 18 28 */ fsubs f4, f4, f3
+/* 803632A4 0035EF04 EC 20 00 72 */ fmuls f1, f0, f1
+/* 803632A8 0035EF08 EC 04 08 24 */ fdivs f0, f4, f1
+/* 803632AC 0035EF0C FC 00 00 1E */ fctiwz f0, f0
+/* 803632B0 0035EF10 D8 01 00 10 */ stfd f0, 0x10(r1)
+/* 803632B4 0035EF14 80 61 00 14 */ lwz r3, 0x14(r1)
+/* 803632B8 0035EF18 38 03 00 01 */ addi r0, r3, 1
+/* 803632BC 0035EF1C 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 803632C0 0035EF20 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 803632C4 0035EF24 C8 01 00 18 */ lfd f0, 0x18(r1)
+/* 803632C8 0035EF28 EC 00 10 28 */ fsubs f0, f0, f2
+/* 803632CC 0035EF2C EC 01 00 32 */ fmuls f0, f1, f0
+/* 803632D0 0035EF30 EC 03 00 2A */ fadds f0, f3, f0
+/* 803632D4 0035EF34 D0 1F 00 2C */ stfs f0, 0x2c(r31)
+lbl_803632D8:
+/* 803632D8 0035EF38 38 60 00 01 */ li r3, 1
+/* 803632DC 0035EF3C 48 00 00 08 */ b lbl_803632E4
+lbl_803632E0:
+/* 803632E0 0035EF40 38 60 00 00 */ li r3, 0
+lbl_803632E4:
+/* 803632E4 0035EF44 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
+/* 803632E8 0035EF48 CB E1 00 40 */ lfd f31, 0x40(r1)
+/* 803632EC 0035EF4C E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0
+/* 803632F0 0035EF50 CB C1 00 30 */ lfd f30, 0x30(r1)
+/* 803632F4 0035EF54 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 803632F8 0035EF58 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 803632FC 0035EF5C 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 80363300 0035EF60 83 A1 00 24 */ lwz r29, 0x24(r1)
+/* 80363304 0035EF64 7C 08 03 A6 */ mtlr r0
+/* 80363308 0035EF68 38 21 00 50 */ addi r1, r1, 0x50
+/* 8036330C 0035EF6C 4E 80 00 20 */ blr
+
+.global CalcRect__Q34nw4r2ut19TagProcessorBase$0w$1FPQ34nw4r2ut4RectUsPQ34nw4r2ut15PrintContext$0w$1
+CalcRect__Q34nw4r2ut19TagProcessorBase$0w$1FPQ34nw4r2ut4RectUsPQ34nw4r2ut15PrintContext$0w$1:
+/* 80363310 0035EF70 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 80363314 0035EF74 7C 08 02 A6 */ mflr r0
+/* 80363318 0035EF78 90 01 00 64 */ stw r0, 0x64(r1)
+/* 8036331C 0035EF7C DB E1 00 50 */ stfd f31, 0x50(r1)
+/* 80363320 0035EF80 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
+/* 80363324 0035EF84 DB C1 00 40 */ stfd f30, 0x40(r1)
+/* 80363328 0035EF88 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
+/* 8036332C 0035EF8C 39 61 00 40 */ addi r11, r1, 0x40
+/* 80363330 0035EF90 4B E6 3D F9 */ bl _savegpr_27
+/* 80363334 0035EF94 2C 05 00 0A */ cmpwi r5, 0xa
+/* 80363338 0035EF98 7C 9B 23 78 */ mr r27, r4
+/* 8036333C 0035EF9C 7C DC 33 78 */ mr r28, r6
+/* 80363340 0035EFA0 41 82 00 14 */ beq lbl_80363354
+/* 80363344 0035EFA4 40 80 01 88 */ bge lbl_803634CC
+/* 80363348 0035EFA8 2C 05 00 09 */ cmpwi r5, 9
+/* 8036334C 0035EFAC 40 80 00 90 */ bge lbl_803633DC
+/* 80363350 0035EFB0 48 00 01 7C */ b lbl_803634CC
+lbl_80363354:
+/* 80363354 0035EFB4 83 C6 00 00 */ lwz r30, 0(r6)
+/* 80363358 0035EFB8 C0 1E 00 2C */ lfs f0, 0x2c(r30)
+/* 8036335C 0035EFBC D0 04 00 08 */ stfs f0, 8(r4)
+/* 80363360 0035EFC0 C0 1E 00 30 */ lfs f0, 0x30(r30)
+/* 80363364 0035EFC4 D0 04 00 04 */ stfs f0, 4(r4)
+/* 80363368 0035EFC8 83 E6 00 00 */ lwz r31, 0(r6)
+/* 8036336C 0035EFCC C3 E6 00 08 */ lfs f31, 8(r6)
+/* 80363370 0035EFD0 C3 DF 00 30 */ lfs f30, 0x30(r31)
+/* 80363374 0035EFD4 7F E3 FB 78 */ mr r3, r31
+/* 80363378 0035EFD8 48 00 2D 59 */ bl GetLineHeight__Q34nw4r2ut17TextWriterBase$0w$1CFv
+/* 8036337C 0035EFDC EC 1E 08 2A */ fadds f0, f30, f1
+/* 80363380 0035EFE0 D3 FF 00 2C */ stfs f31, 0x2c(r31)
+/* 80363384 0035EFE4 D0 1F 00 30 */ stfs f0, 0x30(r31)
+/* 80363388 0035EFE8 C0 1E 00 2C */ lfs f0, 0x2c(r30)
+/* 8036338C 0035EFEC D0 1B 00 00 */ stfs f0, 0(r27)
+/* 80363390 0035EFF0 C3 DE 00 30 */ lfs f30, 0x30(r30)
+/* 80363394 0035EFF4 80 7C 00 00 */ lwz r3, 0(r28)
+/* 80363398 0035EFF8 48 00 22 C9 */ bl GetFontHeight__Q34nw4r2ut10CharWriterCFv
+/* 8036339C 0035EFFC EC 1E 08 2A */ fadds f0, f30, f1
+/* 803633A0 0035F000 C0 DB 00 04 */ lfs f6, 4(r27)
+/* 803633A4 0035F004 C0 FB 00 00 */ lfs f7, 0(r27)
+/* 803633A8 0035F008 38 60 00 03 */ li r3, 3
+/* 803633AC 0035F00C C0 BB 00 08 */ lfs f5, 8(r27)
+/* 803633B0 0035F010 EC 40 30 28 */ fsubs f2, f0, f6
+/* 803633B4 0035F014 EC 65 38 28 */ fsubs f3, f5, f7
+/* 803633B8 0035F018 FC 22 01 AE */ fsel f1, f2, f6, f0
+/* 803633BC 0035F01C FC 83 29 EE */ fsel f4, f3, f7, f5
+/* 803633C0 0035F020 FC 63 39 6E */ fsel f3, f3, f5, f7
+/* 803633C4 0035F024 FC 02 30 2E */ fsel f0, f2, f0, f6
+/* 803633C8 0035F028 D0 3B 00 04 */ stfs f1, 4(r27)
+/* 803633CC 0035F02C D0 9B 00 00 */ stfs f4, 0(r27)
+/* 803633D0 0035F030 D0 7B 00 08 */ stfs f3, 8(r27)
+/* 803633D4 0035F034 D0 1B 00 0C */ stfs f0, 0xc(r27)
+/* 803633D8 0035F038 48 00 00 F8 */ b lbl_803634D0
+lbl_803633DC:
+/* 803633DC 0035F03C 83 A6 00 00 */ lwz r29, 0(r6)
+/* 803633E0 0035F040 C0 1D 00 2C */ lfs f0, 0x2c(r29)
+/* 803633E4 0035F044 D0 04 00 00 */ stfs f0, 0(r4)
+/* 803633E8 0035F048 83 E6 00 00 */ lwz r31, 0(r6)
+/* 803633EC 0035F04C 83 DF 00 58 */ lwz r30, 0x58(r31)
+/* 803633F0 0035F050 2C 1E 00 00 */ cmpwi r30, 0
+/* 803633F4 0035F054 40 81 00 80 */ ble lbl_80363474
+/* 803633F8 0035F058 88 1F 00 43 */ lbz r0, 0x43(r31)
+/* 803633FC 0035F05C 2C 00 00 00 */ cmpwi r0, 0
+/* 80363400 0035F060 41 82 00 0C */ beq lbl_8036340C
+/* 80363404 0035F064 C0 3F 00 44 */ lfs f1, 0x44(r31)
+/* 80363408 0035F068 48 00 00 0C */ b lbl_80363414
+lbl_8036340C:
+/* 8036340C 0035F06C 7F E3 FB 78 */ mr r3, r31
+/* 80363410 0035F070 48 00 21 F1 */ bl GetFontWidth__Q34nw4r2ut10CharWriterCFv
+lbl_80363414:
+/* 80363414 0035F074 3C 00 43 30 */ lis r0, 0x4330
+/* 80363418 0035F078 6F C3 80 00 */ xoris r3, r30, 0x8000
+/* 8036341C 0035F07C 90 61 00 0C */ stw r3, 0xc(r1)
+/* 80363420 0035F080 C8 42 A5 08 */ lfd f2, lbl_80642B08-_SDA2_BASE_(r2)
+/* 80363424 0035F084 90 01 00 08 */ stw r0, 8(r1)
+/* 80363428 0035F088 C0 9F 00 2C */ lfs f4, 0x2c(r31)
+/* 8036342C 0035F08C C8 01 00 08 */ lfd f0, 8(r1)
+/* 80363430 0035F090 C0 7C 00 08 */ lfs f3, 8(r28)
+/* 80363434 0035F094 EC 00 10 28 */ fsubs f0, f0, f2
+/* 80363438 0035F098 90 01 00 18 */ stw r0, 0x18(r1)
+/* 8036343C 0035F09C EC 84 18 28 */ fsubs f4, f4, f3
+/* 80363440 0035F0A0 EC 20 00 72 */ fmuls f1, f0, f1
+/* 80363444 0035F0A4 EC 04 08 24 */ fdivs f0, f4, f1
+/* 80363448 0035F0A8 FC 00 00 1E */ fctiwz f0, f0
+/* 8036344C 0035F0AC D8 01 00 10 */ stfd f0, 0x10(r1)
+/* 80363450 0035F0B0 80 61 00 14 */ lwz r3, 0x14(r1)
+/* 80363454 0035F0B4 38 03 00 01 */ addi r0, r3, 1
+/* 80363458 0035F0B8 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 8036345C 0035F0BC 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 80363460 0035F0C0 C8 01 00 18 */ lfd f0, 0x18(r1)
+/* 80363464 0035F0C4 EC 00 10 28 */ fsubs f0, f0, f2
+/* 80363468 0035F0C8 EC 01 00 32 */ fmuls f0, f1, f0
+/* 8036346C 0035F0CC EC 03 00 2A */ fadds f0, f3, f0
+/* 80363470 0035F0D0 D0 1F 00 2C */ stfs f0, 0x2c(r31)
+lbl_80363474:
+/* 80363474 0035F0D4 C0 1D 00 2C */ lfs f0, 0x2c(r29)
+/* 80363478 0035F0D8 7F A3 EB 78 */ mr r3, r29
+/* 8036347C 0035F0DC D0 1B 00 08 */ stfs f0, 8(r27)
+/* 80363480 0035F0E0 C0 1D 00 30 */ lfs f0, 0x30(r29)
+/* 80363484 0035F0E4 D0 1B 00 04 */ stfs f0, 4(r27)
+/* 80363488 0035F0E8 48 00 21 D9 */ bl GetFontHeight__Q34nw4r2ut10CharWriterCFv
+/* 8036348C 0035F0EC C0 5B 00 04 */ lfs f2, 4(r27)
+/* 80363490 0035F0F0 38 60 00 01 */ li r3, 1
+/* 80363494 0035F0F4 C0 DB 00 00 */ lfs f6, 0(r27)
+/* 80363498 0035F0F8 EC 02 08 2A */ fadds f0, f2, f1
+/* 8036349C 0035F0FC C0 9B 00 08 */ lfs f4, 8(r27)
+/* 803634A0 0035F100 EC 24 30 28 */ fsubs f1, f4, f6
+/* 803634A4 0035F104 EC 60 10 28 */ fsubs f3, f0, f2
+/* 803634A8 0035F108 FC A1 21 AE */ fsel f5, f1, f6, f4
+/* 803634AC 0035F10C FC 81 31 2E */ fsel f4, f1, f4, f6
+/* 803634B0 0035F110 FC 23 00 AE */ fsel f1, f3, f2, f0
+/* 803634B4 0035F114 FC 03 10 2E */ fsel f0, f3, f0, f2
+/* 803634B8 0035F118 D0 BB 00 00 */ stfs f5, 0(r27)
+/* 803634BC 0035F11C D0 9B 00 08 */ stfs f4, 8(r27)
+/* 803634C0 0035F120 D0 3B 00 04 */ stfs f1, 4(r27)
+/* 803634C4 0035F124 D0 1B 00 0C */ stfs f0, 0xc(r27)
+/* 803634C8 0035F128 48 00 00 08 */ b lbl_803634D0
+lbl_803634CC:
+/* 803634CC 0035F12C 38 60 00 00 */ li r3, 0
+lbl_803634D0:
+/* 803634D0 0035F130 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
+/* 803634D4 0035F134 CB E1 00 50 */ lfd f31, 0x50(r1)
+/* 803634D8 0035F138 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
+/* 803634DC 0035F13C 39 61 00 40 */ addi r11, r1, 0x40
+/* 803634E0 0035F140 CB C1 00 40 */ lfd f30, 0x40(r1)
+/* 803634E4 0035F144 4B E6 3C 91 */ bl _restgpr_27
+/* 803634E8 0035F148 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 803634EC 0035F14C 7C 08 03 A6 */ mtlr r0
+/* 803634F0 0035F150 38 21 00 60 */ addi r1, r1, 0x60
+/* 803634F4 0035F154 4E 80 00 20 */ blr
diff --git a/asm/nw4r/ut/ut_TextWriterBase.s b/asm/nw4r/ut/ut_TextWriterBase.s new file mode 100644 index 0000000..ace7187 --- /dev/null +++ b/asm/nw4r/ut/ut_TextWriterBase.s @@ -0,0 +1,2193 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global GetLineHeight__Q34nw4r2ut17TextWriterBase$0c$1CFv
+GetLineHeight__Q34nw4r2ut17TextWriterBase$0c$1CFv:
+/* 80365F68 00361BC8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80365F6C 00361BCC 7C 08 02 A6 */ mflr r0
+/* 80365F70 00361BD0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80365F74 00361BD4 80 03 00 48 */ lwz r0, 0x48(r3)
+/* 80365F78 00361BD8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80365F7C 00361BDC 7C 7F 1B 78 */ mr r31, r3
+/* 80365F80 00361BE0 2C 00 00 00 */ cmpwi r0, 0
+/* 80365F84 00361BE4 41 82 00 1C */ beq lbl_80365FA0
+/* 80365F88 00361BE8 7C 03 03 78 */ mr r3, r0
+/* 80365F8C 00361BEC 81 83 00 00 */ lwz r12, 0(r3)
+/* 80365F90 00361BF0 81 8C 00 34 */ lwz r12, 0x34(r12)
+/* 80365F94 00361BF4 7D 89 03 A6 */ mtctr r12
+/* 80365F98 00361BF8 4E 80 04 21 */ bctrl
+/* 80365F9C 00361BFC 48 00 00 08 */ b lbl_80365FA4
+lbl_80365FA0:
+/* 80365FA0 00361C00 38 60 00 00 */ li r3, 0
+lbl_80365FA4:
+/* 80365FA4 00361C04 6C 63 80 00 */ xoris r3, r3, 0x8000
+/* 80365FA8 00361C08 3C 00 43 30 */ lis r0, 0x4330
+/* 80365FAC 00361C0C 90 61 00 0C */ stw r3, 0xc(r1)
+/* 80365FB0 00361C10 C8 42 A5 38 */ lfd f2, lbl_80642B38-_SDA2_BASE_(r2)
+/* 80365FB4 00361C14 90 01 00 08 */ stw r0, 8(r1)
+/* 80365FB8 00361C18 C0 7F 00 28 */ lfs f3, 0x28(r31)
+/* 80365FBC 00361C1C C8 21 00 08 */ lfd f1, 8(r1)
+/* 80365FC0 00361C20 C0 1F 00 54 */ lfs f0, 0x54(r31)
+/* 80365FC4 00361C24 EC 21 10 28 */ fsubs f1, f1, f2
+/* 80365FC8 00361C28 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80365FCC 00361C2C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80365FD0 00361C30 EC 21 00 F2 */ fmuls f1, f1, f3
+/* 80365FD4 00361C34 EC 20 08 2A */ fadds f1, f0, f1
+/* 80365FD8 00361C38 7C 08 03 A6 */ mtlr r0
+/* 80365FDC 00361C3C 38 21 00 20 */ addi r1, r1, 0x20
+/* 80365FE0 00361C40 4E 80 00 20 */ blr
+
+.global GetCharStrmReader__Q34nw4r2ut4FontCFv
+GetCharStrmReader__Q34nw4r2ut4FontCFv:
+/* 80365FE4 00361C44 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80365FE8 00361C48 38 00 00 00 */ li r0, 0
+/* 80365FEC 00361C4C 80 C4 00 04 */ lwz r6, 4(r4)
+/* 80365FF0 00361C50 80 A4 00 08 */ lwz r5, 8(r4)
+/* 80365FF4 00361C54 80 84 00 0C */ lwz r4, 0xc(r4)
+/* 80365FF8 00361C58 90 C1 00 08 */ stw r6, 8(r1)
+/* 80365FFC 00361C5C 90 A1 00 0C */ stw r5, 0xc(r1)
+/* 80366000 00361C60 90 81 00 10 */ stw r4, 0x10(r1)
+/* 80366004 00361C64 90 03 00 00 */ stw r0, 0(r3)
+/* 80366008 00361C68 90 C3 00 04 */ stw r6, 4(r3)
+/* 8036600C 00361C6C 90 A3 00 08 */ stw r5, 8(r3)
+/* 80366010 00361C70 90 83 00 0C */ stw r4, 0xc(r3)
+/* 80366014 00361C74 38 21 00 20 */ addi r1, r1, 0x20
+/* 80366018 00361C78 4E 80 00 20 */ blr
+
+.global __ct__Q34nw4r2ut17TextWriterBase$0w$1Fv
+__ct__Q34nw4r2ut17TextWriterBase$0w$1Fv:
+/* 8036601C 00361C7C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80366020 00361C80 7C 08 02 A6 */ mflr r0
+/* 80366024 00361C84 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80366028 00361C88 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8036602C 00361C8C 7C 7F 1B 78 */ mr r31, r3
+/* 80366030 00361C90 4B FF E8 11 */ bl __ct__Q34nw4r2ut10CharWriterFv
+/* 80366034 00361C94 C0 02 A5 34 */ lfs f0, lbl_80642B34-_SDA2_BASE_(r2)
+/* 80366038 00361C98 38 A0 00 04 */ li r5, 4
+/* 8036603C 00361C9C C0 22 A5 30 */ lfs f1, lbl_80642B30-_SDA2_BASE_(r2)
+/* 80366040 00361CA0 38 80 00 00 */ li r4, 0
+/* 80366044 00361CA4 38 0D B1 CC */ addi r0, r13, lbl_8064048C-_SDA_BASE_
+/* 80366048 00361CA8 D0 1F 00 50 */ stfs f0, 0x50(r31)
+/* 8036604C 00361CAC 7F E3 FB 78 */ mr r3, r31
+/* 80366050 00361CB0 D0 3F 00 4C */ stfs f1, 0x4c(r31)
+/* 80366054 00361CB4 D0 1F 00 54 */ stfs f0, 0x54(r31)
+/* 80366058 00361CB8 90 BF 00 58 */ stw r5, 0x58(r31)
+/* 8036605C 00361CBC 90 9F 00 5C */ stw r4, 0x5c(r31)
+/* 80366060 00361CC0 90 1F 00 60 */ stw r0, 0x60(r31)
+/* 80366064 00361CC4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80366068 00361CC8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8036606C 00361CCC 7C 08 03 A6 */ mtlr r0
+/* 80366070 00361CD0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80366074 00361CD4 4E 80 00 20 */ blr
+
+.global __dt__Q34nw4r2ut17TextWriterBase$0w$1Fv
+__dt__Q34nw4r2ut17TextWriterBase$0w$1Fv:
+/* 80366078 00361CD8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8036607C 00361CDC 7C 08 02 A6 */ mflr r0
+/* 80366080 00361CE0 2C 03 00 00 */ cmpwi r3, 0
+/* 80366084 00361CE4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80366088 00361CE8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8036608C 00361CEC 7C 9F 23 78 */ mr r31, r4
+/* 80366090 00361CF0 93 C1 00 08 */ stw r30, 8(r1)
+/* 80366094 00361CF4 7C 7E 1B 78 */ mr r30, r3
+/* 80366098 00361CF8 41 82 00 1C */ beq lbl_803660B4
+/* 8036609C 00361CFC 38 80 00 00 */ li r4, 0
+/* 803660A0 00361D00 4B FF EA 05 */ bl __dt__Q34nw4r2ut10CharWriterFv
+/* 803660A4 00361D04 2C 1F 00 00 */ cmpwi r31, 0
+/* 803660A8 00361D08 40 81 00 0C */ ble lbl_803660B4
+/* 803660AC 00361D0C 7F C3 F3 78 */ mr r3, r30
+/* 803660B0 00361D10 4B E7 4A 09 */ bl func_801DAAB8
+lbl_803660B4:
+/* 803660B4 00361D14 7F C3 F3 78 */ mr r3, r30
+/* 803660B8 00361D18 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803660BC 00361D1C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 803660C0 00361D20 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803660C4 00361D24 7C 08 03 A6 */ mtlr r0
+/* 803660C8 00361D28 38 21 00 10 */ addi r1, r1, 0x10
+/* 803660CC 00361D2C 4E 80 00 20 */ blr
+
+.global GetLineHeight__Q34nw4r2ut17TextWriterBase$0w$1CFv
+GetLineHeight__Q34nw4r2ut17TextWriterBase$0w$1CFv:
+/* 803660D0 00361D30 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 803660D4 00361D34 7C 08 02 A6 */ mflr r0
+/* 803660D8 00361D38 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803660DC 00361D3C 80 03 00 48 */ lwz r0, 0x48(r3)
+/* 803660E0 00361D40 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 803660E4 00361D44 7C 7F 1B 78 */ mr r31, r3
+/* 803660E8 00361D48 2C 00 00 00 */ cmpwi r0, 0
+/* 803660EC 00361D4C 41 82 00 1C */ beq lbl_80366108
+/* 803660F0 00361D50 7C 03 03 78 */ mr r3, r0
+/* 803660F4 00361D54 81 83 00 00 */ lwz r12, 0(r3)
+/* 803660F8 00361D58 81 8C 00 34 */ lwz r12, 0x34(r12)
+/* 803660FC 00361D5C 7D 89 03 A6 */ mtctr r12
+/* 80366100 00361D60 4E 80 04 21 */ bctrl
+/* 80366104 00361D64 48 00 00 08 */ b lbl_8036610C
+lbl_80366108:
+/* 80366108 00361D68 38 60 00 00 */ li r3, 0
+lbl_8036610C:
+/* 8036610C 00361D6C 6C 63 80 00 */ xoris r3, r3, 0x8000
+/* 80366110 00361D70 3C 00 43 30 */ lis r0, 0x4330
+/* 80366114 00361D74 90 61 00 0C */ stw r3, 0xc(r1)
+/* 80366118 00361D78 C8 42 A5 38 */ lfd f2, lbl_80642B38-_SDA2_BASE_(r2)
+/* 8036611C 00361D7C 90 01 00 08 */ stw r0, 8(r1)
+/* 80366120 00361D80 C0 7F 00 28 */ lfs f3, 0x28(r31)
+/* 80366124 00361D84 C8 21 00 08 */ lfd f1, 8(r1)
+/* 80366128 00361D88 C0 1F 00 54 */ lfs f0, 0x54(r31)
+/* 8036612C 00361D8C EC 21 10 28 */ fsubs f1, f1, f2
+/* 80366130 00361D90 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80366134 00361D94 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80366138 00361D98 EC 21 00 F2 */ fmuls f1, f1, f3
+/* 8036613C 00361D9C EC 20 08 2A */ fadds f1, f0, f1
+/* 80366140 00361DA0 7C 08 03 A6 */ mtlr r0
+/* 80366144 00361DA4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80366148 00361DA8 4E 80 00 20 */ blr
+
+.global CalcStringRect__Q34nw4r2ut17TextWriterBase$0w$1CFPQ34nw4r2ut4RectPCwi
+CalcStringRect__Q34nw4r2ut17TextWriterBase$0w$1CFPQ34nw4r2ut4RectPCwi:
+/* 8036614C 00361DAC 94 21 FE F0 */ stwu r1, -0x110(r1)
+/* 80366150 00361DB0 7C 08 02 A6 */ mflr r0
+/* 80366154 00361DB4 90 01 01 14 */ stw r0, 0x114(r1)
+/* 80366158 00361DB8 39 61 01 10 */ addi r11, r1, 0x110
+/* 8036615C 00361DBC 4B E6 0F 99 */ bl __save_gpr
+/* 80366160 00361DC0 89 E3 00 18 */ lbz r15, 0x18(r3)
+/* 80366164 00361DC4 88 03 00 16 */ lbz r0, 0x16(r3)
+/* 80366168 00361DC8 91 E1 00 BC */ stw r15, 0xbc(r1)
+/* 8036616C 00361DCC 89 E3 00 19 */ lbz r15, 0x19(r3)
+/* 80366170 00361DD0 98 01 00 1E */ stb r0, 0x1e(r1)
+/* 80366174 00361DD4 80 01 00 BC */ lwz r0, 0xbc(r1)
+/* 80366178 00361DD8 91 E1 00 6C */ stw r15, 0x6c(r1)
+/* 8036617C 00361DDC 89 E3 00 1A */ lbz r15, 0x1a(r3)
+/* 80366180 00361DE0 98 01 00 20 */ stb r0, 0x20(r1)
+/* 80366184 00361DE4 80 01 00 6C */ lwz r0, 0x6c(r1)
+/* 80366188 00361DE8 91 E1 00 70 */ stw r15, 0x70(r1)
+/* 8036618C 00361DEC 89 E3 00 1B */ lbz r15, 0x1b(r3)
+/* 80366190 00361DF0 98 01 00 21 */ stb r0, 0x21(r1)
+/* 80366194 00361DF4 80 01 00 70 */ lwz r0, 0x70(r1)
+/* 80366198 00361DF8 91 E1 00 74 */ stw r15, 0x74(r1)
+/* 8036619C 00361DFC 89 E3 00 1C */ lbz r15, 0x1c(r3)
+/* 803661A0 00361E00 98 01 00 22 */ stb r0, 0x22(r1)
+/* 803661A4 00361E04 80 01 00 74 */ lwz r0, 0x74(r1)
+/* 803661A8 00361E08 91 E1 00 78 */ stw r15, 0x78(r1)
+/* 803661AC 00361E0C 89 E3 00 1D */ lbz r15, 0x1d(r3)
+/* 803661B0 00361E10 98 01 00 23 */ stb r0, 0x23(r1)
+/* 803661B4 00361E14 80 01 00 78 */ lwz r0, 0x78(r1)
+/* 803661B8 00361E18 91 E1 00 7C */ stw r15, 0x7c(r1)
+/* 803661BC 00361E1C 89 E3 00 1E */ lbz r15, 0x1e(r3)
+/* 803661C0 00361E20 98 01 00 24 */ stb r0, 0x24(r1)
+/* 803661C4 00361E24 80 01 00 7C */ lwz r0, 0x7c(r1)
+/* 803661C8 00361E28 91 E1 00 80 */ stw r15, 0x80(r1)
+/* 803661CC 00361E2C 89 E3 00 1F */ lbz r15, 0x1f(r3)
+/* 803661D0 00361E30 98 01 00 25 */ stb r0, 0x25(r1)
+/* 803661D4 00361E34 80 01 00 80 */ lwz r0, 0x80(r1)
+/* 803661D8 00361E38 91 E1 00 84 */ stw r15, 0x84(r1)
+/* 803661DC 00361E3C 81 E3 00 20 */ lwz r15, 0x20(r3)
+/* 803661E0 00361E40 98 01 00 26 */ stb r0, 0x26(r1)
+/* 803661E4 00361E44 80 01 00 84 */ lwz r0, 0x84(r1)
+/* 803661E8 00361E48 91 E1 00 88 */ stw r15, 0x88(r1)
+/* 803661EC 00361E4C 81 E3 00 24 */ lwz r15, 0x24(r3)
+/* 803661F0 00361E50 98 01 00 27 */ stb r0, 0x27(r1)
+/* 803661F4 00361E54 80 01 00 88 */ lwz r0, 0x88(r1)
+/* 803661F8 00361E58 91 E1 00 8C */ stw r15, 0x8c(r1)
+/* 803661FC 00361E5C 81 E3 00 28 */ lwz r15, 0x28(r3)
+/* 80366200 00361E60 90 01 00 28 */ stw r0, 0x28(r1)
+/* 80366204 00361E64 80 01 00 8C */ lwz r0, 0x8c(r1)
+/* 80366208 00361E68 91 E1 00 90 */ stw r15, 0x90(r1)
+/* 8036620C 00361E6C 81 E3 00 2C */ lwz r15, 0x2c(r3)
+/* 80366210 00361E70 90 01 00 2C */ stw r0, 0x2c(r1)
+/* 80366214 00361E74 80 01 00 90 */ lwz r0, 0x90(r1)
+/* 80366218 00361E78 91 E1 00 94 */ stw r15, 0x94(r1)
+/* 8036621C 00361E7C 81 E3 00 30 */ lwz r15, 0x30(r3)
+/* 80366220 00361E80 90 01 00 30 */ stw r0, 0x30(r1)
+/* 80366224 00361E84 80 01 00 94 */ lwz r0, 0x94(r1)
+/* 80366228 00361E88 91 E1 00 98 */ stw r15, 0x98(r1)
+/* 8036622C 00361E8C 81 E3 00 34 */ lwz r15, 0x34(r3)
+/* 80366230 00361E90 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80366234 00361E94 80 01 00 98 */ lwz r0, 0x98(r1)
+/* 80366238 00361E98 91 E1 00 9C */ stw r15, 0x9c(r1)
+/* 8036623C 00361E9C 81 E3 00 38 */ lwz r15, 0x38(r3)
+/* 80366240 00361EA0 90 01 00 38 */ stw r0, 0x38(r1)
+/* 80366244 00361EA4 80 01 00 9C */ lwz r0, 0x9c(r1)
+/* 80366248 00361EA8 91 E1 00 A0 */ stw r15, 0xa0(r1)
+/* 8036624C 00361EAC 81 E3 00 3C */ lwz r15, 0x3c(r3)
+/* 80366250 00361EB0 90 01 00 3C */ stw r0, 0x3c(r1)
+/* 80366254 00361EB4 80 01 00 A0 */ lwz r0, 0xa0(r1)
+/* 80366258 00361EB8 91 E1 00 A4 */ stw r15, 0xa4(r1)
+/* 8036625C 00361EBC 89 E3 00 40 */ lbz r15, 0x40(r3)
+/* 80366260 00361EC0 90 01 00 40 */ stw r0, 0x40(r1)
+/* 80366264 00361EC4 80 01 00 A4 */ lwz r0, 0xa4(r1)
+/* 80366268 00361EC8 91 E1 00 A8 */ stw r15, 0xa8(r1)
+/* 8036626C 00361ECC 89 E3 00 41 */ lbz r15, 0x41(r3)
+/* 80366270 00361ED0 90 01 00 44 */ stw r0, 0x44(r1)
+/* 80366274 00361ED4 80 01 00 A8 */ lwz r0, 0xa8(r1)
+/* 80366278 00361ED8 91 E1 00 AC */ stw r15, 0xac(r1)
+/* 8036627C 00361EDC 89 E3 00 42 */ lbz r15, 0x42(r3)
+/* 80366280 00361EE0 98 01 00 48 */ stb r0, 0x48(r1)
+/* 80366284 00361EE4 80 01 00 AC */ lwz r0, 0xac(r1)
+/* 80366288 00361EE8 91 E1 00 B0 */ stw r15, 0xb0(r1)
+/* 8036628C 00361EEC 89 E3 00 43 */ lbz r15, 0x43(r3)
+/* 80366290 00361EF0 98 01 00 49 */ stb r0, 0x49(r1)
+/* 80366294 00361EF4 80 01 00 B0 */ lwz r0, 0xb0(r1)
+/* 80366298 00361EF8 91 E1 00 B4 */ stw r15, 0xb4(r1)
+/* 8036629C 00361EFC 81 E3 00 48 */ lwz r15, 0x48(r3)
+/* 803662A0 00361F00 98 01 00 4A */ stb r0, 0x4a(r1)
+/* 803662A4 00361F04 80 01 00 B4 */ lwz r0, 0xb4(r1)
+/* 803662A8 00361F08 8A 03 00 00 */ lbz r16, 0(r3)
+/* 803662AC 00361F0C 8A 23 00 01 */ lbz r17, 1(r3)
+/* 803662B0 00361F10 8A 43 00 02 */ lbz r18, 2(r3)
+/* 803662B4 00361F14 8A 63 00 03 */ lbz r19, 3(r3)
+/* 803662B8 00361F18 8A 83 00 04 */ lbz r20, 4(r3)
+/* 803662BC 00361F1C 8A A3 00 05 */ lbz r21, 5(r3)
+/* 803662C0 00361F20 8A C3 00 06 */ lbz r22, 6(r3)
+/* 803662C4 00361F24 8A E3 00 07 */ lbz r23, 7(r3)
+/* 803662C8 00361F28 8B 03 00 08 */ lbz r24, 8(r3)
+/* 803662CC 00361F2C 8B 23 00 09 */ lbz r25, 9(r3)
+/* 803662D0 00361F30 8B 43 00 0A */ lbz r26, 0xa(r3)
+/* 803662D4 00361F34 8B 63 00 0B */ lbz r27, 0xb(r3)
+/* 803662D8 00361F38 8B 83 00 0C */ lbz r28, 0xc(r3)
+/* 803662DC 00361F3C 8B A3 00 0D */ lbz r29, 0xd(r3)
+/* 803662E0 00361F40 8B C3 00 0E */ lbz r30, 0xe(r3)
+/* 803662E4 00361F44 8B E3 00 0F */ lbz r31, 0xf(r3)
+/* 803662E8 00361F48 89 83 00 10 */ lbz r12, 0x10(r3)
+/* 803662EC 00361F4C 89 63 00 11 */ lbz r11, 0x11(r3)
+/* 803662F0 00361F50 89 43 00 12 */ lbz r10, 0x12(r3)
+/* 803662F4 00361F54 89 23 00 13 */ lbz r9, 0x13(r3)
+/* 803662F8 00361F58 89 03 00 14 */ lbz r8, 0x14(r3)
+/* 803662FC 00361F5C 88 E3 00 15 */ lbz r7, 0x15(r3)
+/* 80366300 00361F60 89 C3 00 17 */ lbz r14, 0x17(r3)
+/* 80366304 00361F64 C0 43 00 44 */ lfs f2, 0x44(r3)
+/* 80366308 00361F68 C0 23 00 4C */ lfs f1, 0x4c(r3)
+/* 8036630C 00361F6C C0 03 00 50 */ lfs f0, 0x50(r3)
+/* 80366310 00361F70 98 01 00 4B */ stb r0, 0x4b(r1)
+/* 80366314 00361F74 7D E0 7B 78 */ mr r0, r15
+/* 80366318 00361F78 91 E1 00 B8 */ stw r15, 0xb8(r1)
+/* 8036631C 00361F7C 9A 01 00 08 */ stb r16, 8(r1)
+/* 80366320 00361F80 9A 21 00 09 */ stb r17, 9(r1)
+/* 80366324 00361F84 9A 41 00 0A */ stb r18, 0xa(r1)
+/* 80366328 00361F88 9A 61 00 0B */ stb r19, 0xb(r1)
+/* 8036632C 00361F8C 9A 81 00 0C */ stb r20, 0xc(r1)
+/* 80366330 00361F90 9A A1 00 0D */ stb r21, 0xd(r1)
+/* 80366334 00361F94 9A C1 00 0E */ stb r22, 0xe(r1)
+/* 80366338 00361F98 9A E1 00 0F */ stb r23, 0xf(r1)
+/* 8036633C 00361F9C 9B 01 00 10 */ stb r24, 0x10(r1)
+/* 80366340 00361FA0 9B 21 00 11 */ stb r25, 0x11(r1)
+/* 80366344 00361FA4 9B 41 00 12 */ stb r26, 0x12(r1)
+/* 80366348 00361FA8 9B 61 00 13 */ stb r27, 0x13(r1)
+/* 8036634C 00361FAC 9B 81 00 14 */ stb r28, 0x14(r1)
+/* 80366350 00361FB0 9B A1 00 15 */ stb r29, 0x15(r1)
+/* 80366354 00361FB4 9B C1 00 16 */ stb r30, 0x16(r1)
+/* 80366358 00361FB8 9B E1 00 17 */ stb r31, 0x17(r1)
+/* 8036635C 00361FBC 99 81 00 18 */ stb r12, 0x18(r1)
+/* 80366360 00361FC0 99 61 00 19 */ stb r11, 0x19(r1)
+/* 80366364 00361FC4 99 41 00 1A */ stb r10, 0x1a(r1)
+/* 80366368 00361FC8 99 21 00 1B */ stb r9, 0x1b(r1)
+/* 8036636C 00361FCC 99 01 00 1C */ stb r8, 0x1c(r1)
+/* 80366370 00361FD0 98 E1 00 1D */ stb r7, 0x1d(r1)
+/* 80366374 00361FD4 99 C1 00 1F */ stb r14, 0x1f(r1)
+/* 80366378 00361FD8 D0 41 00 4C */ stfs f2, 0x4c(r1)
+/* 8036637C 00361FDC 90 01 00 50 */ stw r0, 0x50(r1)
+/* 80366380 00361FE0 D0 21 00 54 */ stfs f1, 0x54(r1)
+/* 80366384 00361FE4 D0 01 00 58 */ stfs f0, 0x58(r1)
+/* 80366388 00361FE8 C0 03 00 54 */ lfs f0, 0x54(r3)
+/* 8036638C 00361FEC 81 03 00 58 */ lwz r8, 0x58(r3)
+/* 80366390 00361FF0 80 E3 00 5C */ lwz r7, 0x5c(r3)
+/* 80366394 00361FF4 80 03 00 60 */ lwz r0, 0x60(r3)
+/* 80366398 00361FF8 38 61 00 08 */ addi r3, r1, 8
+/* 8036639C 00361FFC D0 01 00 5C */ stfs f0, 0x5c(r1)
+/* 803663A0 00362000 91 01 00 60 */ stw r8, 0x60(r1)
+/* 803663A4 00362004 90 E1 00 64 */ stw r7, 0x64(r1)
+/* 803663A8 00362008 90 01 00 68 */ stw r0, 0x68(r1)
+/* 803663AC 0036200C 48 00 08 B5 */ bl CalcStringRectImpl__Q34nw4r2ut17TextWriterBase$0w$1FPQ34nw4r2ut4RectPCwi
+/* 803663B0 00362010 38 61 00 08 */ addi r3, r1, 8
+/* 803663B4 00362014 38 80 00 00 */ li r4, 0
+/* 803663B8 00362018 4B FF E6 ED */ bl __dt__Q34nw4r2ut10CharWriterFv
+/* 803663BC 0036201C 39 61 01 10 */ addi r11, r1, 0x110
+/* 803663C0 00362020 4B E6 0D 81 */ bl __restore_gpr
+/* 803663C4 00362024 80 01 01 14 */ lwz r0, 0x114(r1)
+/* 803663C8 00362028 7C 08 03 A6 */ mtlr r0
+/* 803663CC 0036202C 38 21 01 10 */ addi r1, r1, 0x110
+/* 803663D0 00362030 4E 80 00 20 */ blr
+
+.global Print__Q34nw4r2ut17TextWriterBase$0w$1FPCwi
+Print__Q34nw4r2ut17TextWriterBase$0w$1FPCwi:
+/* 803663D4 00362034 94 21 FF 70 */ stwu r1, -0x90(r1)
+/* 803663D8 00362038 7C 08 02 A6 */ mflr r0
+/* 803663DC 0036203C 90 01 00 94 */ stw r0, 0x94(r1)
+/* 803663E0 00362040 DB E1 00 80 */ stfd f31, 0x80(r1)
+/* 803663E4 00362044 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0
+/* 803663E8 00362048 93 E1 00 7C */ stw r31, 0x7c(r1)
+/* 803663EC 0036204C 88 03 00 00 */ lbz r0, 0(r3)
+/* 803663F0 00362050 7C 7F 1B 78 */ mr r31, r3
+/* 803663F4 00362054 98 01 00 08 */ stb r0, 8(r1)
+/* 803663F8 00362058 88 03 00 01 */ lbz r0, 1(r3)
+/* 803663FC 0036205C 98 01 00 09 */ stb r0, 9(r1)
+/* 80366400 00362060 88 03 00 02 */ lbz r0, 2(r3)
+/* 80366404 00362064 98 01 00 0A */ stb r0, 0xa(r1)
+/* 80366408 00362068 88 03 00 03 */ lbz r0, 3(r3)
+/* 8036640C 0036206C 98 01 00 0B */ stb r0, 0xb(r1)
+/* 80366410 00362070 88 03 00 04 */ lbz r0, 4(r3)
+/* 80366414 00362074 98 01 00 0C */ stb r0, 0xc(r1)
+/* 80366418 00362078 88 03 00 05 */ lbz r0, 5(r3)
+/* 8036641C 0036207C 98 01 00 0D */ stb r0, 0xd(r1)
+/* 80366420 00362080 88 03 00 06 */ lbz r0, 6(r3)
+/* 80366424 00362084 98 01 00 0E */ stb r0, 0xe(r1)
+/* 80366428 00362088 88 03 00 07 */ lbz r0, 7(r3)
+/* 8036642C 0036208C 98 01 00 0F */ stb r0, 0xf(r1)
+/* 80366430 00362090 88 03 00 08 */ lbz r0, 8(r3)
+/* 80366434 00362094 98 01 00 10 */ stb r0, 0x10(r1)
+/* 80366438 00362098 88 03 00 09 */ lbz r0, 9(r3)
+/* 8036643C 0036209C 98 01 00 11 */ stb r0, 0x11(r1)
+/* 80366440 003620A0 88 03 00 0A */ lbz r0, 0xa(r3)
+/* 80366444 003620A4 98 01 00 12 */ stb r0, 0x12(r1)
+/* 80366448 003620A8 88 03 00 0B */ lbz r0, 0xb(r3)
+/* 8036644C 003620AC 98 01 00 13 */ stb r0, 0x13(r1)
+/* 80366450 003620B0 88 03 00 0C */ lbz r0, 0xc(r3)
+/* 80366454 003620B4 98 01 00 14 */ stb r0, 0x14(r1)
+/* 80366458 003620B8 88 03 00 0D */ lbz r0, 0xd(r3)
+/* 8036645C 003620BC 98 01 00 15 */ stb r0, 0x15(r1)
+/* 80366460 003620C0 88 03 00 0E */ lbz r0, 0xe(r3)
+/* 80366464 003620C4 98 01 00 16 */ stb r0, 0x16(r1)
+/* 80366468 003620C8 88 03 00 0F */ lbz r0, 0xf(r3)
+/* 8036646C 003620CC 98 01 00 17 */ stb r0, 0x17(r1)
+/* 80366470 003620D0 88 03 00 10 */ lbz r0, 0x10(r3)
+/* 80366474 003620D4 98 01 00 18 */ stb r0, 0x18(r1)
+/* 80366478 003620D8 88 03 00 11 */ lbz r0, 0x11(r3)
+/* 8036647C 003620DC 98 01 00 19 */ stb r0, 0x19(r1)
+/* 80366480 003620E0 88 03 00 12 */ lbz r0, 0x12(r3)
+/* 80366484 003620E4 98 01 00 1A */ stb r0, 0x1a(r1)
+/* 80366488 003620E8 88 03 00 13 */ lbz r0, 0x13(r3)
+/* 8036648C 003620EC 98 01 00 1B */ stb r0, 0x1b(r1)
+/* 80366490 003620F0 88 03 00 14 */ lbz r0, 0x14(r3)
+/* 80366494 003620F4 98 01 00 1C */ stb r0, 0x1c(r1)
+/* 80366498 003620F8 88 03 00 15 */ lbz r0, 0x15(r3)
+/* 8036649C 003620FC 98 01 00 1D */ stb r0, 0x1d(r1)
+/* 803664A0 00362100 88 03 00 16 */ lbz r0, 0x16(r3)
+/* 803664A4 00362104 98 01 00 1E */ stb r0, 0x1e(r1)
+/* 803664A8 00362108 88 03 00 17 */ lbz r0, 0x17(r3)
+/* 803664AC 0036210C 98 01 00 1F */ stb r0, 0x1f(r1)
+/* 803664B0 00362110 88 03 00 18 */ lbz r0, 0x18(r3)
+/* 803664B4 00362114 98 01 00 20 */ stb r0, 0x20(r1)
+/* 803664B8 00362118 88 03 00 19 */ lbz r0, 0x19(r3)
+/* 803664BC 0036211C 98 01 00 21 */ stb r0, 0x21(r1)
+/* 803664C0 00362120 88 03 00 1A */ lbz r0, 0x1a(r3)
+/* 803664C4 00362124 98 01 00 22 */ stb r0, 0x22(r1)
+/* 803664C8 00362128 88 03 00 1B */ lbz r0, 0x1b(r3)
+/* 803664CC 0036212C 98 01 00 23 */ stb r0, 0x23(r1)
+/* 803664D0 00362130 88 03 00 1C */ lbz r0, 0x1c(r3)
+/* 803664D4 00362134 98 01 00 24 */ stb r0, 0x24(r1)
+/* 803664D8 00362138 88 03 00 1D */ lbz r0, 0x1d(r3)
+/* 803664DC 0036213C 98 01 00 25 */ stb r0, 0x25(r1)
+/* 803664E0 00362140 88 03 00 1E */ lbz r0, 0x1e(r3)
+/* 803664E4 00362144 98 01 00 26 */ stb r0, 0x26(r1)
+/* 803664E8 00362148 88 03 00 1F */ lbz r0, 0x1f(r3)
+/* 803664EC 0036214C 98 01 00 27 */ stb r0, 0x27(r1)
+/* 803664F0 00362150 80 03 00 20 */ lwz r0, 0x20(r3)
+/* 803664F4 00362154 90 01 00 28 */ stw r0, 0x28(r1)
+/* 803664F8 00362158 80 C3 00 24 */ lwz r6, 0x24(r3)
+/* 803664FC 0036215C 80 03 00 28 */ lwz r0, 0x28(r3)
+/* 80366500 00362160 90 C1 00 2C */ stw r6, 0x2c(r1)
+/* 80366504 00362164 90 01 00 30 */ stw r0, 0x30(r1)
+/* 80366508 00362168 80 C3 00 2C */ lwz r6, 0x2c(r3)
+/* 8036650C 0036216C 80 03 00 30 */ lwz r0, 0x30(r3)
+/* 80366510 00362170 90 C1 00 34 */ stw r6, 0x34(r1)
+/* 80366514 00362174 90 01 00 38 */ stw r0, 0x38(r1)
+/* 80366518 00362178 80 03 00 34 */ lwz r0, 0x34(r3)
+/* 8036651C 0036217C 90 01 00 3C */ stw r0, 0x3c(r1)
+/* 80366520 00362180 80 C3 00 38 */ lwz r6, 0x38(r3)
+/* 80366524 00362184 80 03 00 3C */ lwz r0, 0x3c(r3)
+/* 80366528 00362188 90 C1 00 40 */ stw r6, 0x40(r1)
+/* 8036652C 0036218C 90 01 00 44 */ stw r0, 0x44(r1)
+/* 80366530 00362190 88 03 00 40 */ lbz r0, 0x40(r3)
+/* 80366534 00362194 98 01 00 48 */ stb r0, 0x48(r1)
+/* 80366538 00362198 88 03 00 41 */ lbz r0, 0x41(r3)
+/* 8036653C 0036219C 98 01 00 49 */ stb r0, 0x49(r1)
+/* 80366540 003621A0 88 03 00 42 */ lbz r0, 0x42(r3)
+/* 80366544 003621A4 98 01 00 4A */ stb r0, 0x4a(r1)
+/* 80366548 003621A8 88 03 00 43 */ lbz r0, 0x43(r3)
+/* 8036654C 003621AC 98 01 00 4B */ stb r0, 0x4b(r1)
+/* 80366550 003621B0 C0 03 00 44 */ lfs f0, 0x44(r3)
+/* 80366554 003621B4 D0 01 00 4C */ stfs f0, 0x4c(r1)
+/* 80366558 003621B8 80 03 00 48 */ lwz r0, 0x48(r3)
+/* 8036655C 003621BC 90 01 00 50 */ stw r0, 0x50(r1)
+/* 80366560 003621C0 C0 03 00 4C */ lfs f0, 0x4c(r3)
+/* 80366564 003621C4 D0 01 00 54 */ stfs f0, 0x54(r1)
+/* 80366568 003621C8 C0 03 00 50 */ lfs f0, 0x50(r3)
+/* 8036656C 003621CC D0 01 00 58 */ stfs f0, 0x58(r1)
+/* 80366570 003621D0 C0 03 00 54 */ lfs f0, 0x54(r3)
+/* 80366574 003621D4 D0 01 00 5C */ stfs f0, 0x5c(r1)
+/* 80366578 003621D8 80 03 00 58 */ lwz r0, 0x58(r3)
+/* 8036657C 003621DC 90 01 00 60 */ stw r0, 0x60(r1)
+/* 80366580 003621E0 80 03 00 5C */ lwz r0, 0x5c(r3)
+/* 80366584 003621E4 90 01 00 64 */ stw r0, 0x64(r1)
+/* 80366588 003621E8 80 03 00 60 */ lwz r0, 0x60(r3)
+/* 8036658C 003621EC 38 61 00 08 */ addi r3, r1, 8
+/* 80366590 003621F0 90 01 00 68 */ stw r0, 0x68(r1)
+/* 80366594 003621F4 48 00 07 ED */ bl PrintImpl__Q34nw4r2ut17TextWriterBase$0w$1FPCwi
+/* 80366598 003621F8 C0 01 00 38 */ lfs f0, 0x38(r1)
+/* 8036659C 003621FC FF E0 08 90 */ fmr f31, f1
+/* 803665A0 00362200 C0 41 00 34 */ lfs f2, 0x34(r1)
+/* 803665A4 00362204 38 61 00 08 */ addi r3, r1, 8
+/* 803665A8 00362208 38 80 00 00 */ li r4, 0
+/* 803665AC 0036220C D0 5F 00 2C */ stfs f2, 0x2c(r31)
+/* 803665B0 00362210 D0 1F 00 30 */ stfs f0, 0x30(r31)
+/* 803665B4 00362214 4B FF E4 F1 */ bl __dt__Q34nw4r2ut10CharWriterFv
+/* 803665B8 00362218 FC 20 F8 90 */ fmr f1, f31
+/* 803665BC 0036221C E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0
+/* 803665C0 00362220 CB E1 00 80 */ lfd f31, 0x80(r1)
+/* 803665C4 00362224 83 E1 00 7C */ lwz r31, 0x7c(r1)
+/* 803665C8 00362228 80 01 00 94 */ lwz r0, 0x94(r1)
+/* 803665CC 0036222C 7C 08 03 A6 */ mtlr r0
+/* 803665D0 00362230 38 21 00 90 */ addi r1, r1, 0x90
+/* 803665D4 00362234 4E 80 00 20 */ blr
+
+.global CalcLineRectImpl__Q34nw4r2ut17TextWriterBase$0w$1FPQ34nw4r2ut4RectPPCwi
+CalcLineRectImpl__Q34nw4r2ut17TextWriterBase$0w$1FPQ34nw4r2ut4RectPPCwi:
+/* 803665D8 00362238 94 21 FE 90 */ stwu r1, -0x170(r1)
+/* 803665DC 0036223C 7C 08 02 A6 */ mflr r0
+/* 803665E0 00362240 90 01 01 74 */ stw r0, 0x174(r1)
+/* 803665E4 00362244 DB E1 01 60 */ stfd f31, 0x160(r1)
+/* 803665E8 00362248 F3 E1 01 68 */ psq_st f31, 360(r1), 0, qr0
+/* 803665EC 0036224C DB C1 01 50 */ stfd f30, 0x150(r1)
+/* 803665F0 00362250 F3 C1 01 58 */ psq_st f30, 344(r1), 0, qr0
+/* 803665F4 00362254 DB A1 01 40 */ stfd f29, 0x140(r1)
+/* 803665F8 00362258 F3 A1 01 48 */ psq_st f29, 328(r1), 0, qr0
+/* 803665FC 0036225C DB 81 01 30 */ stfd f28, 0x130(r1)
+/* 80366600 00362260 F3 81 01 38 */ psq_st f28, 312(r1), 0, qr0
+/* 80366604 00362264 DB 61 01 20 */ stfd f27, 0x120(r1)
+/* 80366608 00362268 F3 61 01 28 */ psq_st f27, 296(r1), 0, qr0
+/* 8036660C 0036226C 39 61 01 20 */ addi r11, r1, 0x120
+/* 80366610 00362270 4B E6 0A FD */ bl _savegpr_20
+/* 80366614 00362274 C0 23 00 4C */ lfs f1, 0x4c(r3)
+/* 80366618 00362278 54 DF 08 3C */ slwi r31, r6, 1
+/* 8036661C 0036227C C0 02 A5 30 */ lfs f0, lbl_80642B30-_SDA2_BASE_(r2)
+/* 80366620 00362280 7C 76 1B 78 */ mr r22, r3
+/* 80366624 00362284 82 A5 00 00 */ lwz r21, 0(r5)
+/* 80366628 00362288 7C 97 23 78 */ mr r23, r4
+/* 8036662C 0036228C FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 80366630 00362290 7C B8 2B 78 */ mr r24, r5
+/* 80366634 00362294 7F D5 FA 14 */ add r30, r21, r31
+/* 80366638 00362298 7F A0 00 26 */ mfcr r29
+/* 8036663C 0036229C C3 E2 A5 34 */ lfs f31, lbl_80642B34-_SDA2_BASE_(r2)
+/* 80366640 003622A0 3A 80 00 00 */ li r20, 0
+/* 80366644 003622A4 90 61 00 5C */ stw r3, 0x5c(r1)
+/* 80366648 003622A8 57 BD 0F FE */ srwi r29, r29, 0x1f
+/* 8036664C 003622AC 38 61 00 28 */ addi r3, r1, 0x28
+/* 80366650 003622B0 92 81 00 64 */ stw r20, 0x64(r1)
+/* 80366654 003622B4 3B 80 00 00 */ li r28, 0
+/* 80366658 003622B8 3B 60 00 00 */ li r27, 0
+/* 8036665C 003622BC 92 81 00 68 */ stw r20, 0x68(r1)
+/* 80366660 003622C0 92 81 00 6C */ stw r20, 0x6c(r1)
+/* 80366664 003622C4 92 A1 00 60 */ stw r21, 0x60(r1)
+/* 80366668 003622C8 D3 E1 00 38 */ stfs f31, 0x38(r1)
+/* 8036666C 003622CC 80 96 00 48 */ lwz r4, 0x48(r22)
+/* 80366670 003622D0 D3 E1 00 3C */ stfs f31, 0x3c(r1)
+/* 80366674 003622D4 D3 E1 00 40 */ stfs f31, 0x40(r1)
+/* 80366678 003622D8 D3 E1 00 44 */ stfs f31, 0x44(r1)
+/* 8036667C 003622DC 4B FF F9 69 */ bl GetCharStrmReader__Q34nw4r2ut4FontCFv
+/* 80366680 003622E0 C0 02 A5 34 */ lfs f0, lbl_80642B34-_SDA2_BASE_(r2)
+/* 80366684 003622E4 D0 17 00 00 */ stfs f0, 0(r23)
+/* 80366688 003622E8 D0 17 00 08 */ stfs f0, 8(r23)
+/* 8036668C 003622EC 80 76 00 48 */ lwz r3, 0x48(r22)
+/* 80366690 003622F0 2C 03 00 00 */ cmpwi r3, 0
+/* 80366694 003622F4 41 82 00 18 */ beq lbl_803666AC
+/* 80366698 003622F8 81 83 00 00 */ lwz r12, 0(r3)
+/* 8036669C 003622FC 81 8C 00 34 */ lwz r12, 0x34(r12)
+/* 803666A0 00362300 7D 89 03 A6 */ mtctr r12
+/* 803666A4 00362304 4E 80 04 21 */ bctrl
+/* 803666A8 00362308 48 00 00 08 */ b lbl_803666B0
+lbl_803666AC:
+/* 803666AC 0036230C 7E 83 A3 78 */ mr r3, r20
+lbl_803666B0:
+/* 803666B0 00362310 6C 63 80 00 */ xoris r3, r3, 0x8000
+/* 803666B4 00362314 3C 00 43 30 */ lis r0, 0x4330
+/* 803666B8 00362318 90 61 00 DC */ stw r3, 0xdc(r1)
+/* 803666BC 0036231C C8 42 A5 38 */ lfd f2, lbl_80642B38-_SDA2_BASE_(r2)
+/* 803666C0 00362320 90 01 00 D8 */ stw r0, 0xd8(r1)
+/* 803666C4 00362324 C0 76 00 28 */ lfs f3, 0x28(r22)
+/* 803666C8 00362328 C8 01 00 D8 */ lfd f0, 0xd8(r1)
+/* 803666CC 0036232C C0 36 00 54 */ lfs f1, 0x54(r22)
+/* 803666D0 00362330 EC 40 10 28 */ fsubs f2, f0, f2
+/* 803666D4 00362334 C0 02 A5 34 */ lfs f0, lbl_80642B34-_SDA2_BASE_(r2)
+/* 803666D8 00362338 EC 42 00 F2 */ fmuls f2, f2, f3
+/* 803666DC 0036233C EC 21 10 2A */ fadds f1, f1, f2
+/* 803666E0 00362340 FC 00 08 40 */ fcmpo cr0, f0, f1
+/* 803666E4 00362344 40 81 00 08 */ ble lbl_803666EC
+/* 803666E8 00362348 48 00 00 08 */ b lbl_803666F0
+lbl_803666EC:
+/* 803666EC 0036234C FC 20 00 90 */ fmr f1, f0
+lbl_803666F0:
+/* 803666F0 00362350 D0 37 00 04 */ stfs f1, 4(r23)
+/* 803666F4 00362354 80 76 00 48 */ lwz r3, 0x48(r22)
+/* 803666F8 00362358 2C 03 00 00 */ cmpwi r3, 0
+/* 803666FC 0036235C 41 82 00 18 */ beq lbl_80366714
+/* 80366700 00362360 81 83 00 00 */ lwz r12, 0(r3)
+/* 80366704 00362364 81 8C 00 34 */ lwz r12, 0x34(r12)
+/* 80366708 00362368 7D 89 03 A6 */ mtctr r12
+/* 8036670C 0036236C 4E 80 04 21 */ bctrl
+/* 80366710 00362370 48 00 00 08 */ b lbl_80366718
+lbl_80366714:
+/* 80366714 00362374 38 60 00 00 */ li r3, 0
+lbl_80366718:
+/* 80366718 00362378 6C 63 80 00 */ xoris r3, r3, 0x8000
+/* 8036671C 0036237C 3C 00 43 30 */ lis r0, 0x4330
+/* 80366720 00362380 90 61 00 E4 */ stw r3, 0xe4(r1)
+/* 80366724 00362384 C8 42 A5 38 */ lfd f2, lbl_80642B38-_SDA2_BASE_(r2)
+/* 80366728 00362388 90 01 00 E0 */ stw r0, 0xe0(r1)
+/* 8036672C 0036238C C0 76 00 28 */ lfs f3, 0x28(r22)
+/* 80366730 00362390 C8 01 00 E0 */ lfd f0, 0xe0(r1)
+/* 80366734 00362394 C0 36 00 54 */ lfs f1, 0x54(r22)
+/* 80366738 00362398 EC 40 10 28 */ fsubs f2, f0, f2
+/* 8036673C 0036239C C0 02 A5 34 */ lfs f0, lbl_80642B34-_SDA2_BASE_(r2)
+/* 80366740 003623A0 EC 42 00 F2 */ fmuls f2, f2, f3
+/* 80366744 003623A4 EC 81 10 2A */ fadds f4, f1, f2
+/* 80366748 003623A8 FC 00 20 40 */ fcmpo cr0, f0, f4
+/* 8036674C 003623AC 40 80 00 08 */ bge lbl_80366754
+/* 80366750 003623B0 48 00 00 08 */ b lbl_80366758
+lbl_80366754:
+/* 80366754 003623B4 FC 80 00 90 */ fmr f4, f0
+lbl_80366758:
+/* 80366758 003623B8 FC 00 20 18 */ frsp f0, f4
+/* 8036675C 003623BC C0 77 00 00 */ lfs f3, 0(r23)
+/* 80366760 003623C0 C0 57 00 04 */ lfs f2, 4(r23)
+/* 80366764 003623C4 38 61 00 28 */ addi r3, r1, 0x28
+/* 80366768 003623C8 C0 37 00 08 */ lfs f1, 8(r23)
+/* 8036676C 003623CC 39 81 00 2C */ addi r12, r1, 0x2c
+/* 80366770 003623D0 D0 97 00 0C */ stfs f4, 0xc(r23)
+/* 80366774 003623D4 3B 40 00 00 */ li r26, 0
+/* 80366778 003623D8 D0 61 00 38 */ stfs f3, 0x38(r1)
+/* 8036677C 003623DC D0 41 00 3C */ stfs f2, 0x3c(r1)
+/* 80366780 003623E0 D0 21 00 40 */ stfs f1, 0x40(r1)
+/* 80366784 003623E4 D0 01 00 44 */ stfs f0, 0x44(r1)
+/* 80366788 003623E8 92 A1 00 28 */ stw r21, 0x28(r1)
+/* 8036678C 003623EC 4B E6 08 4D */ bl __ptmf_scall
+/* 80366790 003623F0 60 00 00 00 */ nop
+/* 80366794 003623F4 C3 A2 A5 34 */ lfs f29, lbl_80642B34-_SDA2_BASE_(r2)
+/* 80366798 003623F8 7C 79 1B 78 */ mr r25, r3
+/* 8036679C 003623FC CB C2 A5 38 */ lfd f30, lbl_80642B38-_SDA2_BASE_(r2)
+/* 803667A0 00362400 3A 81 00 70 */ addi r20, r1, 0x70
+/* 803667A4 00362404 3E A0 43 30 */ lis r21, 0x4330
+/* 803667A8 00362408 48 00 04 60 */ b lbl_80366C08
+lbl_803667AC:
+/* 803667AC 0036240C 57 25 04 3E */ clrlwi r5, r25, 0x10
+/* 803667B0 00362410 2C 05 00 20 */ cmpwi r5, 0x20
+/* 803667B4 00362414 40 80 03 70 */ bge lbl_80366B24
+/* 803667B8 00362418 7F 80 00 34 */ cntlzw r0, r28
+/* 803667BC 0036241C D3 E1 00 18 */ stfs f31, 0x18(r1)
+/* 803667C0 00362420 54 00 D9 7E */ srwi r0, r0, 5
+/* 803667C4 00362424 2C 1D 00 00 */ cmpwi r29, 0
+/* 803667C8 00362428 D3 A1 00 1C */ stfs f29, 0x1c(r1)
+/* 803667CC 0036242C D3 A1 00 20 */ stfs f29, 0x20(r1)
+/* 803667D0 00362430 D3 A1 00 24 */ stfs f29, 0x24(r1)
+/* 803667D4 00362434 90 61 00 60 */ stw r3, 0x60(r1)
+/* 803667D8 00362438 90 01 00 6C */ stw r0, 0x6c(r1)
+/* 803667DC 0036243C D3 F6 00 2C */ stfs f31, 0x2c(r22)
+/* 803667E0 00362440 41 82 02 60 */ beq lbl_80366A40
+/* 803667E4 00362444 2C 05 00 0A */ cmpwi r5, 0xa
+/* 803667E8 00362448 41 82 02 58 */ beq lbl_80366A40
+/* 803667EC 0036244C 2C 1A 00 00 */ cmpwi r26, 0
+/* 803667F0 00362450 41 82 02 50 */ beq lbl_80366A40
+/* 803667F4 00362454 80 E1 00 5C */ lwz r7, 0x5c(r1)
+/* 803667F8 00362458 80 C1 00 60 */ lwz r6, 0x60(r1)
+/* 803667FC 0036245C 80 81 00 64 */ lwz r4, 0x64(r1)
+/* 80366800 00362460 80 61 00 68 */ lwz r3, 0x68(r1)
+/* 80366804 00362464 80 01 00 6C */ lwz r0, 0x6c(r1)
+/* 80366808 00362468 90 E1 00 48 */ stw r7, 0x48(r1)
+/* 8036680C 0036246C 90 C1 00 4C */ stw r6, 0x4c(r1)
+/* 80366810 00362470 90 81 00 50 */ stw r4, 0x50(r1)
+/* 80366814 00362474 90 61 00 54 */ stw r3, 0x54(r1)
+/* 80366818 00362478 90 01 00 58 */ stw r0, 0x58(r1)
+/* 8036681C 0036247C 88 16 00 00 */ lbz r0, 0(r22)
+/* 80366820 00362480 98 01 00 70 */ stb r0, 0x70(r1)
+/* 80366824 00362484 88 16 00 01 */ lbz r0, 1(r22)
+/* 80366828 00362488 98 01 00 71 */ stb r0, 0x71(r1)
+/* 8036682C 0036248C 88 16 00 02 */ lbz r0, 2(r22)
+/* 80366830 00362490 98 01 00 72 */ stb r0, 0x72(r1)
+/* 80366834 00362494 88 16 00 03 */ lbz r0, 3(r22)
+/* 80366838 00362498 98 01 00 73 */ stb r0, 0x73(r1)
+/* 8036683C 0036249C 88 16 00 04 */ lbz r0, 4(r22)
+/* 80366840 003624A0 98 01 00 74 */ stb r0, 0x74(r1)
+/* 80366844 003624A4 88 16 00 05 */ lbz r0, 5(r22)
+/* 80366848 003624A8 98 01 00 75 */ stb r0, 0x75(r1)
+/* 8036684C 003624AC 88 16 00 06 */ lbz r0, 6(r22)
+/* 80366850 003624B0 98 01 00 76 */ stb r0, 0x76(r1)
+/* 80366854 003624B4 88 16 00 07 */ lbz r0, 7(r22)
+/* 80366858 003624B8 98 01 00 77 */ stb r0, 0x77(r1)
+/* 8036685C 003624BC 88 16 00 08 */ lbz r0, 8(r22)
+/* 80366860 003624C0 98 01 00 78 */ stb r0, 0x78(r1)
+/* 80366864 003624C4 88 16 00 09 */ lbz r0, 9(r22)
+/* 80366868 003624C8 98 01 00 79 */ stb r0, 0x79(r1)
+/* 8036686C 003624CC 88 16 00 0A */ lbz r0, 0xa(r22)
+/* 80366870 003624D0 98 01 00 7A */ stb r0, 0x7a(r1)
+/* 80366874 003624D4 88 16 00 0B */ lbz r0, 0xb(r22)
+/* 80366878 003624D8 98 01 00 7B */ stb r0, 0x7b(r1)
+/* 8036687C 003624DC 88 16 00 0C */ lbz r0, 0xc(r22)
+/* 80366880 003624E0 98 01 00 7C */ stb r0, 0x7c(r1)
+/* 80366884 003624E4 88 16 00 0D */ lbz r0, 0xd(r22)
+/* 80366888 003624E8 98 01 00 7D */ stb r0, 0x7d(r1)
+/* 8036688C 003624EC 88 16 00 0E */ lbz r0, 0xe(r22)
+/* 80366890 003624F0 98 01 00 7E */ stb r0, 0x7e(r1)
+/* 80366894 003624F4 88 16 00 0F */ lbz r0, 0xf(r22)
+/* 80366898 003624F8 98 01 00 7F */ stb r0, 0x7f(r1)
+/* 8036689C 003624FC 88 16 00 10 */ lbz r0, 0x10(r22)
+/* 803668A0 00362500 98 01 00 80 */ stb r0, 0x80(r1)
+/* 803668A4 00362504 88 16 00 11 */ lbz r0, 0x11(r22)
+/* 803668A8 00362508 98 01 00 81 */ stb r0, 0x81(r1)
+/* 803668AC 0036250C 88 16 00 12 */ lbz r0, 0x12(r22)
+/* 803668B0 00362510 98 01 00 82 */ stb r0, 0x82(r1)
+/* 803668B4 00362514 88 16 00 13 */ lbz r0, 0x13(r22)
+/* 803668B8 00362518 98 01 00 83 */ stb r0, 0x83(r1)
+/* 803668BC 0036251C 88 16 00 14 */ lbz r0, 0x14(r22)
+/* 803668C0 00362520 98 01 00 84 */ stb r0, 0x84(r1)
+/* 803668C4 00362524 88 16 00 15 */ lbz r0, 0x15(r22)
+/* 803668C8 00362528 98 01 00 85 */ stb r0, 0x85(r1)
+/* 803668CC 0036252C 88 16 00 16 */ lbz r0, 0x16(r22)
+/* 803668D0 00362530 98 01 00 86 */ stb r0, 0x86(r1)
+/* 803668D4 00362534 88 16 00 17 */ lbz r0, 0x17(r22)
+/* 803668D8 00362538 98 01 00 87 */ stb r0, 0x87(r1)
+/* 803668DC 0036253C 88 16 00 18 */ lbz r0, 0x18(r22)
+/* 803668E0 00362540 98 01 00 88 */ stb r0, 0x88(r1)
+/* 803668E4 00362544 88 16 00 19 */ lbz r0, 0x19(r22)
+/* 803668E8 00362548 98 01 00 89 */ stb r0, 0x89(r1)
+/* 803668EC 0036254C 88 16 00 1A */ lbz r0, 0x1a(r22)
+/* 803668F0 00362550 98 01 00 8A */ stb r0, 0x8a(r1)
+/* 803668F4 00362554 88 16 00 1B */ lbz r0, 0x1b(r22)
+/* 803668F8 00362558 98 01 00 8B */ stb r0, 0x8b(r1)
+/* 803668FC 0036255C 88 16 00 1C */ lbz r0, 0x1c(r22)
+/* 80366900 00362560 98 01 00 8C */ stb r0, 0x8c(r1)
+/* 80366904 00362564 88 16 00 1D */ lbz r0, 0x1d(r22)
+/* 80366908 00362568 98 01 00 8D */ stb r0, 0x8d(r1)
+/* 8036690C 0036256C 88 16 00 1E */ lbz r0, 0x1e(r22)
+/* 80366910 00362570 98 01 00 8E */ stb r0, 0x8e(r1)
+/* 80366914 00362574 88 16 00 1F */ lbz r0, 0x1f(r22)
+/* 80366918 00362578 98 01 00 8F */ stb r0, 0x8f(r1)
+/* 8036691C 0036257C 80 16 00 20 */ lwz r0, 0x20(r22)
+/* 80366920 00362580 90 01 00 90 */ stw r0, 0x90(r1)
+/* 80366924 00362584 80 76 00 24 */ lwz r3, 0x24(r22)
+/* 80366928 00362588 80 16 00 28 */ lwz r0, 0x28(r22)
+/* 8036692C 0036258C 90 61 00 94 */ stw r3, 0x94(r1)
+/* 80366930 00362590 90 01 00 98 */ stw r0, 0x98(r1)
+/* 80366934 00362594 80 76 00 2C */ lwz r3, 0x2c(r22)
+/* 80366938 00362598 80 16 00 30 */ lwz r0, 0x30(r22)
+/* 8036693C 0036259C 90 61 00 9C */ stw r3, 0x9c(r1)
+/* 80366940 003625A0 90 01 00 A0 */ stw r0, 0xa0(r1)
+/* 80366944 003625A4 80 16 00 34 */ lwz r0, 0x34(r22)
+/* 80366948 003625A8 90 01 00 A4 */ stw r0, 0xa4(r1)
+/* 8036694C 003625AC 80 76 00 38 */ lwz r3, 0x38(r22)
+/* 80366950 003625B0 80 16 00 3C */ lwz r0, 0x3c(r22)
+/* 80366954 003625B4 90 61 00 A8 */ stw r3, 0xa8(r1)
+/* 80366958 003625B8 90 01 00 AC */ stw r0, 0xac(r1)
+/* 8036695C 003625BC 88 16 00 40 */ lbz r0, 0x40(r22)
+/* 80366960 003625C0 98 01 00 B0 */ stb r0, 0xb0(r1)
+/* 80366964 003625C4 88 16 00 41 */ lbz r0, 0x41(r22)
+/* 80366968 003625C8 98 01 00 B1 */ stb r0, 0xb1(r1)
+/* 8036696C 003625CC 88 16 00 42 */ lbz r0, 0x42(r22)
+/* 80366970 003625D0 98 01 00 B2 */ stb r0, 0xb2(r1)
+/* 80366974 003625D4 88 16 00 43 */ lbz r0, 0x43(r22)
+/* 80366978 003625D8 98 01 00 B3 */ stb r0, 0xb3(r1)
+/* 8036697C 003625DC C0 16 00 44 */ lfs f0, 0x44(r22)
+/* 80366980 003625E0 D0 01 00 B4 */ stfs f0, 0xb4(r1)
+/* 80366984 003625E4 80 16 00 48 */ lwz r0, 0x48(r22)
+/* 80366988 003625E8 38 81 00 08 */ addi r4, r1, 8
+/* 8036698C 003625EC 38 C1 00 48 */ addi r6, r1, 0x48
+/* 80366990 003625F0 90 01 00 B8 */ stw r0, 0xb8(r1)
+/* 80366994 003625F4 C0 16 00 4C */ lfs f0, 0x4c(r22)
+/* 80366998 003625F8 D0 01 00 BC */ stfs f0, 0xbc(r1)
+/* 8036699C 003625FC C0 16 00 50 */ lfs f0, 0x50(r22)
+/* 803669A0 00362600 D0 01 00 C0 */ stfs f0, 0xc0(r1)
+/* 803669A4 00362604 C0 16 00 54 */ lfs f0, 0x54(r22)
+/* 803669A8 00362608 D0 01 00 C4 */ stfs f0, 0xc4(r1)
+/* 803669AC 0036260C 80 16 00 58 */ lwz r0, 0x58(r22)
+/* 803669B0 00362610 90 01 00 C8 */ stw r0, 0xc8(r1)
+/* 803669B4 00362614 80 16 00 5C */ lwz r0, 0x5c(r22)
+/* 803669B8 00362618 90 01 00 CC */ stw r0, 0xcc(r1)
+/* 803669BC 0036261C 80 16 00 60 */ lwz r0, 0x60(r22)
+/* 803669C0 00362620 90 01 00 D0 */ stw r0, 0xd0(r1)
+/* 803669C4 00362624 D3 A1 00 08 */ stfs f29, 8(r1)
+/* 803669C8 00362628 D3 A1 00 0C */ stfs f29, 0xc(r1)
+/* 803669CC 0036262C D3 A1 00 10 */ stfs f29, 0x10(r1)
+/* 803669D0 00362630 D3 A1 00 14 */ stfs f29, 0x14(r1)
+/* 803669D4 00362634 92 81 00 48 */ stw r20, 0x48(r1)
+/* 803669D8 00362638 80 76 00 60 */ lwz r3, 0x60(r22)
+/* 803669DC 0036263C 81 83 00 00 */ lwz r12, 0(r3)
+/* 803669E0 00362640 81 8C 00 10 */ lwz r12, 0x10(r12)
+/* 803669E4 00362644 7D 89 03 A6 */ mtctr r12
+/* 803669E8 00362648 4E 80 04 21 */ bctrl
+/* 803669EC 0036264C C0 21 00 10 */ lfs f1, 0x10(r1)
+/* 803669F0 00362650 C0 01 00 08 */ lfs f0, 8(r1)
+/* 803669F4 00362654 EC 01 00 28 */ fsubs f0, f1, f0
+/* 803669F8 00362658 FC 00 E8 40 */ fcmpo cr0, f0, f29
+/* 803669FC 0036265C 40 81 00 38 */ ble lbl_80366A34
+/* 80366A00 00362660 C0 41 00 9C */ lfs f2, 0x9c(r1)
+/* 80366A04 00362664 C0 21 00 64 */ lfs f1, 0x64(r1)
+/* 80366A08 00362668 C0 16 00 4C */ lfs f0, 0x4c(r22)
+/* 80366A0C 0036266C EC 22 08 28 */ fsubs f1, f2, f1
+/* 80366A10 00362670 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 80366A14 00362674 40 81 00 20 */ ble lbl_80366A34
+/* 80366A18 00362678 93 41 00 28 */ stw r26, 0x28(r1)
+/* 80366A1C 0036267C 7E 83 A3 78 */ mr r3, r20
+/* 80366A20 00362680 3B 60 00 01 */ li r27, 1
+/* 80366A24 00362684 3B 20 00 0A */ li r25, 0xa
+/* 80366A28 00362688 38 80 00 00 */ li r4, 0
+/* 80366A2C 0036268C 4B FF E0 79 */ bl __dt__Q34nw4r2ut10CharWriterFv
+/* 80366A30 00362690 48 00 01 D8 */ b lbl_80366C08
+lbl_80366A34:
+/* 80366A34 00362694 38 61 00 70 */ addi r3, r1, 0x70
+/* 80366A38 00362698 38 80 00 00 */ li r4, 0
+/* 80366A3C 0036269C 4B FF E0 69 */ bl __dt__Q34nw4r2ut10CharWriterFv
+lbl_80366A40:
+/* 80366A40 003626A0 80 76 00 60 */ lwz r3, 0x60(r22)
+/* 80366A44 003626A4 38 81 00 18 */ addi r4, r1, 0x18
+/* 80366A48 003626A8 57 25 04 3E */ clrlwi r5, r25, 0x10
+/* 80366A4C 003626AC 38 C1 00 5C */ addi r6, r1, 0x5c
+/* 80366A50 003626B0 81 83 00 00 */ lwz r12, 0(r3)
+/* 80366A54 003626B4 81 8C 00 10 */ lwz r12, 0x10(r12)
+/* 80366A58 003626B8 7D 89 03 A6 */ mtctr r12
+/* 80366A5C 003626BC 4E 80 04 21 */ bctrl
+/* 80366A60 003626C0 80 01 00 60 */ lwz r0, 0x60(r1)
+/* 80366A64 003626C4 C0 21 00 18 */ lfs f1, 0x18(r1)
+/* 80366A68 003626C8 90 01 00 28 */ stw r0, 0x28(r1)
+/* 80366A6C 003626CC C0 17 00 00 */ lfs f0, 0(r23)
+/* 80366A70 003626D0 FC 00 08 40 */ fcmpo cr0, f0, f1
+/* 80366A74 003626D4 40 81 00 08 */ ble lbl_80366A7C
+/* 80366A78 003626D8 48 00 00 08 */ b lbl_80366A80
+lbl_80366A7C:
+/* 80366A7C 003626DC FC 20 00 90 */ fmr f1, f0
+lbl_80366A80:
+/* 80366A80 003626E0 D0 37 00 00 */ stfs f1, 0(r23)
+/* 80366A84 003626E4 C0 17 00 04 */ lfs f0, 4(r23)
+/* 80366A88 003626E8 C0 21 00 1C */ lfs f1, 0x1c(r1)
+/* 80366A8C 003626EC FC 00 08 40 */ fcmpo cr0, f0, f1
+/* 80366A90 003626F0 40 81 00 08 */ ble lbl_80366A98
+/* 80366A94 003626F4 48 00 00 08 */ b lbl_80366A9C
+lbl_80366A98:
+/* 80366A98 003626F8 FC 20 00 90 */ fmr f1, f0
+lbl_80366A9C:
+/* 80366A9C 003626FC D0 37 00 04 */ stfs f1, 4(r23)
+/* 80366AA0 00362700 C0 17 00 08 */ lfs f0, 8(r23)
+/* 80366AA4 00362704 C0 21 00 20 */ lfs f1, 0x20(r1)
+/* 80366AA8 00362708 FC 00 08 40 */ fcmpo cr0, f0, f1
+/* 80366AAC 0036270C 40 80 00 08 */ bge lbl_80366AB4
+/* 80366AB0 00362710 48 00 00 08 */ b lbl_80366AB8
+lbl_80366AB4:
+/* 80366AB4 00362714 FC 20 00 90 */ fmr f1, f0
+lbl_80366AB8:
+/* 80366AB8 00362718 D0 37 00 08 */ stfs f1, 8(r23)
+/* 80366ABC 0036271C C0 17 00 0C */ lfs f0, 0xc(r23)
+/* 80366AC0 00362720 C0 21 00 24 */ lfs f1, 0x24(r1)
+/* 80366AC4 00362724 FC 00 08 40 */ fcmpo cr0, f0, f1
+/* 80366AC8 00362728 40 80 00 08 */ bge lbl_80366AD0
+/* 80366ACC 0036272C 48 00 00 08 */ b lbl_80366AD4
+lbl_80366AD0:
+/* 80366AD0 00362730 FC 20 00 90 */ fmr f1, f0
+lbl_80366AD4:
+/* 80366AD4 00362734 D0 37 00 0C */ stfs f1, 0xc(r23)
+/* 80366AD8 00362738 2C 03 00 04 */ cmpwi r3, 4
+/* 80366ADC 0036273C C3 F6 00 2C */ lfs f31, 0x2c(r22)
+/* 80366AE0 00362740 40 82 00 18 */ bne lbl_80366AF8
+/* 80366AE4 00362744 80 18 00 00 */ lwz r0, 0(r24)
+/* 80366AE8 00362748 38 60 00 00 */ li r3, 0
+/* 80366AEC 0036274C 7C 00 FA 14 */ add r0, r0, r31
+/* 80366AF0 00362750 90 18 00 00 */ stw r0, 0(r24)
+/* 80366AF4 00362754 48 00 01 2C */ b lbl_80366C20
+lbl_80366AF8:
+/* 80366AF8 00362758 2C 03 00 01 */ cmpwi r3, 1
+/* 80366AFC 0036275C 40 82 00 0C */ bne lbl_80366B08
+/* 80366B00 00362760 3B 80 00 00 */ li r28, 0
+/* 80366B04 00362764 48 00 00 E4 */ b lbl_80366BE8
+lbl_80366B08:
+/* 80366B08 00362768 2C 03 00 02 */ cmpwi r3, 2
+/* 80366B0C 0036276C 40 82 00 0C */ bne lbl_80366B18
+/* 80366B10 00362770 3B 80 00 01 */ li r28, 1
+/* 80366B14 00362774 48 00 00 D4 */ b lbl_80366BE8
+lbl_80366B18:
+/* 80366B18 00362778 2C 03 00 03 */ cmpwi r3, 3
+/* 80366B1C 0036277C 41 82 00 F8 */ beq lbl_80366C14
+/* 80366B20 00362780 48 00 00 C8 */ b lbl_80366BE8
+lbl_80366B24:
+/* 80366B24 00362784 2C 1C 00 00 */ cmpwi r28, 0
+/* 80366B28 00362788 C3 62 A5 34 */ lfs f27, lbl_80642B34-_SDA2_BASE_(r2)
+/* 80366B2C 0036278C 41 82 00 0C */ beq lbl_80366B38
+/* 80366B30 00362790 C0 16 00 50 */ lfs f0, 0x50(r22)
+/* 80366B34 00362794 EF 7B 00 2A */ fadds f27, f27, f0
+lbl_80366B38:
+/* 80366B38 00362798 88 16 00 43 */ lbz r0, 0x43(r22)
+/* 80366B3C 0036279C 2C 00 00 00 */ cmpwi r0, 0
+/* 80366B40 003627A0 41 82 00 10 */ beq lbl_80366B50
+/* 80366B44 003627A4 C0 16 00 44 */ lfs f0, 0x44(r22)
+/* 80366B48 003627A8 EF 7B 00 2A */ fadds f27, f27, f0
+/* 80366B4C 003627AC 48 00 00 3C */ b lbl_80366B88
+lbl_80366B50:
+/* 80366B50 003627B0 80 76 00 48 */ lwz r3, 0x48(r22)
+/* 80366B54 003627B4 57 24 04 3E */ clrlwi r4, r25, 0x10
+/* 80366B58 003627B8 C3 96 00 24 */ lfs f28, 0x24(r22)
+/* 80366B5C 003627BC 81 83 00 00 */ lwz r12, 0(r3)
+/* 80366B60 003627C0 81 8C 00 48 */ lwz r12, 0x48(r12)
+/* 80366B64 003627C4 7D 89 03 A6 */ mtctr r12
+/* 80366B68 003627C8 4E 80 04 21 */ bctrl
+/* 80366B6C 003627CC 6C 60 80 00 */ xoris r0, r3, 0x8000
+/* 80366B70 003627D0 92 A1 00 E0 */ stw r21, 0xe0(r1)
+/* 80366B74 003627D4 90 01 00 E4 */ stw r0, 0xe4(r1)
+/* 80366B78 003627D8 C8 01 00 E0 */ lfd f0, 0xe0(r1)
+/* 80366B7C 003627DC EC 00 F0 28 */ fsubs f0, f0, f30
+/* 80366B80 003627E0 EC 00 07 32 */ fmuls f0, f0, f28
+/* 80366B84 003627E4 EF 7B 00 2A */ fadds f27, f27, f0
+lbl_80366B88:
+/* 80366B88 003627E8 2C 1D 00 00 */ cmpwi r29, 0
+/* 80366B8C 003627EC 41 82 00 2C */ beq lbl_80366BB8
+/* 80366B90 003627F0 2C 1A 00 00 */ cmpwi r26, 0
+/* 80366B94 003627F4 41 82 00 24 */ beq lbl_80366BB8
+/* 80366B98 003627F8 EC 3F D8 2A */ fadds f1, f31, f27
+/* 80366B9C 003627FC C0 16 00 4C */ lfs f0, 0x4c(r22)
+/* 80366BA0 00362800 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 80366BA4 00362804 40 81 00 14 */ ble lbl_80366BB8
+/* 80366BA8 00362808 93 41 00 28 */ stw r26, 0x28(r1)
+/* 80366BAC 0036280C 3B 60 00 01 */ li r27, 1
+/* 80366BB0 00362810 3B 20 00 0A */ li r25, 0xa
+/* 80366BB4 00362814 48 00 00 54 */ b lbl_80366C08
+lbl_80366BB8:
+/* 80366BB8 00362818 EF FF D8 2A */ fadds f31, f31, f27
+/* 80366BBC 0036281C C0 17 00 00 */ lfs f0, 0(r23)
+/* 80366BC0 00362820 FC 00 F8 40 */ fcmpo cr0, f0, f31
+/* 80366BC4 00362824 40 81 00 08 */ ble lbl_80366BCC
+/* 80366BC8 00362828 FC 00 F8 90 */ fmr f0, f31
+lbl_80366BCC:
+/* 80366BCC 0036282C C0 37 00 08 */ lfs f1, 8(r23)
+/* 80366BD0 00362830 D0 17 00 00 */ stfs f0, 0(r23)
+/* 80366BD4 00362834 FC 01 F8 40 */ fcmpo cr0, f1, f31
+/* 80366BD8 00362838 40 80 00 08 */ bge lbl_80366BE0
+/* 80366BDC 0036283C FC 20 F8 90 */ fmr f1, f31
+lbl_80366BE0:
+/* 80366BE0 00362840 D0 37 00 08 */ stfs f1, 8(r23)
+/* 80366BE4 00362844 3B 80 00 01 */ li r28, 1
+lbl_80366BE8:
+/* 80366BE8 00362848 2C 1D 00 00 */ cmpwi r29, 0
+/* 80366BEC 0036284C 41 82 00 08 */ beq lbl_80366BF4
+/* 80366BF0 00362850 83 41 00 28 */ lwz r26, 0x28(r1)
+lbl_80366BF4:
+/* 80366BF4 00362854 38 61 00 28 */ addi r3, r1, 0x28
+/* 80366BF8 00362858 39 81 00 2C */ addi r12, r1, 0x2c
+/* 80366BFC 0036285C 4B E6 03 DD */ bl __ptmf_scall
+/* 80366C00 00362860 60 00 00 00 */ nop
+/* 80366C04 00362864 7C 79 1B 78 */ mr r25, r3
+lbl_80366C08:
+/* 80366C08 00362868 80 61 00 28 */ lwz r3, 0x28(r1)
+/* 80366C0C 0036286C 7C 03 F0 40 */ cmplw r3, r30
+/* 80366C10 00362870 40 81 FB 9C */ ble lbl_803667AC
+lbl_80366C14:
+/* 80366C14 00362874 80 01 00 28 */ lwz r0, 0x28(r1)
+/* 80366C18 00362878 7F 63 DB 78 */ mr r3, r27
+/* 80366C1C 0036287C 90 18 00 00 */ stw r0, 0(r24)
+lbl_80366C20:
+/* 80366C20 00362880 E3 E1 01 68 */ psq_l f31, 360(r1), 0, qr0
+/* 80366C24 00362884 CB E1 01 60 */ lfd f31, 0x160(r1)
+/* 80366C28 00362888 E3 C1 01 58 */ psq_l f30, 344(r1), 0, qr0
+/* 80366C2C 0036288C CB C1 01 50 */ lfd f30, 0x150(r1)
+/* 80366C30 00362890 E3 A1 01 48 */ psq_l f29, 328(r1), 0, qr0
+/* 80366C34 00362894 CB A1 01 40 */ lfd f29, 0x140(r1)
+/* 80366C38 00362898 E3 81 01 38 */ psq_l f28, 312(r1), 0, qr0
+/* 80366C3C 0036289C CB 81 01 30 */ lfd f28, 0x130(r1)
+/* 80366C40 003628A0 E3 61 01 28 */ psq_l f27, 296(r1), 0, qr0
+/* 80366C44 003628A4 39 61 01 20 */ addi r11, r1, 0x120
+/* 80366C48 003628A8 CB 61 01 20 */ lfd f27, 0x120(r1)
+/* 80366C4C 003628AC 4B E6 05 0D */ bl func_801C7158
+/* 80366C50 003628B0 80 01 01 74 */ lwz r0, 0x174(r1)
+/* 80366C54 003628B4 7C 08 03 A6 */ mtlr r0
+/* 80366C58 003628B8 38 21 01 70 */ addi r1, r1, 0x170
+/* 80366C5C 003628BC 4E 80 00 20 */ blr
+
+.global CalcStringRectImpl__Q34nw4r2ut17TextWriterBase$0w$1FPQ34nw4r2ut4RectPCwi
+CalcStringRectImpl__Q34nw4r2ut17TextWriterBase$0w$1FPQ34nw4r2ut4RectPCwi:
+/* 80366C60 003628C0 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 80366C64 003628C4 7C 08 02 A6 */ mflr r0
+/* 80366C68 003628C8 90 01 00 44 */ stw r0, 0x44(r1)
+/* 80366C6C 003628CC DB E1 00 30 */ stfd f31, 0x30(r1)
+/* 80366C70 003628D0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
+/* 80366C74 003628D4 54 C0 08 3C */ slwi r0, r6, 1
+/* 80366C78 003628D8 C3 E2 A5 34 */ lfs f31, lbl_80642B34-_SDA2_BASE_(r2)
+/* 80366C7C 003628DC 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 80366C80 003628E0 7F E5 02 14 */ add r31, r5, r0
+/* 80366C84 003628E4 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 80366C88 003628E8 7C 9E 23 78 */ mr r30, r4
+/* 80366C8C 003628EC 93 A1 00 24 */ stw r29, 0x24(r1)
+/* 80366C90 003628F0 7C 7D 1B 78 */ mr r29, r3
+/* 80366C94 003628F4 90 A1 00 08 */ stw r5, 8(r1)
+/* 80366C98 003628F8 D3 E4 00 00 */ stfs f31, 0(r4)
+/* 80366C9C 003628FC D3 E4 00 08 */ stfs f31, 8(r4)
+/* 80366CA0 00362900 D3 E4 00 04 */ stfs f31, 4(r4)
+/* 80366CA4 00362904 D3 E4 00 0C */ stfs f31, 0xc(r4)
+/* 80366CA8 00362908 D3 E3 00 2C */ stfs f31, 0x2c(r3)
+/* 80366CAC 0036290C D3 E3 00 30 */ stfs f31, 0x30(r3)
+lbl_80366CB0:
+/* 80366CB0 00362910 D3 E1 00 10 */ stfs f31, 0x10(r1)
+/* 80366CB4 00362914 7F A3 EB 78 */ mr r3, r29
+/* 80366CB8 00362918 38 81 00 10 */ addi r4, r1, 0x10
+/* 80366CBC 0036291C 38 A1 00 08 */ addi r5, r1, 8
+/* 80366CC0 00362920 D3 E1 00 14 */ stfs f31, 0x14(r1)
+/* 80366CC4 00362924 D3 E1 00 18 */ stfs f31, 0x18(r1)
+/* 80366CC8 00362928 D3 E1 00 1C */ stfs f31, 0x1c(r1)
+/* 80366CCC 0036292C 4B FF F9 0D */ bl CalcLineRectImpl__Q34nw4r2ut17TextWriterBase$0w$1FPQ34nw4r2ut4RectPPCwi
+/* 80366CD0 00362930 80 01 00 08 */ lwz r0, 8(r1)
+/* 80366CD4 00362934 C0 21 00 10 */ lfs f1, 0x10(r1)
+/* 80366CD8 00362938 C0 1E 00 00 */ lfs f0, 0(r30)
+/* 80366CDC 0036293C 7C 60 F8 50 */ subf r3, r0, r31
+/* 80366CE0 00362940 54 60 0F FE */ srwi r0, r3, 0x1f
+/* 80366CE4 00362944 7C 00 1A 14 */ add r0, r0, r3
+/* 80366CE8 00362948 FC 00 08 40 */ fcmpo cr0, f0, f1
+/* 80366CEC 0036294C 7C 06 0E 70 */ srawi r6, r0, 1
+/* 80366CF0 00362950 40 81 00 08 */ ble lbl_80366CF8
+/* 80366CF4 00362954 48 00 00 08 */ b lbl_80366CFC
+lbl_80366CF8:
+/* 80366CF8 00362958 FC 20 00 90 */ fmr f1, f0
+lbl_80366CFC:
+/* 80366CFC 0036295C D0 3E 00 00 */ stfs f1, 0(r30)
+/* 80366D00 00362960 C0 1E 00 04 */ lfs f0, 4(r30)
+/* 80366D04 00362964 C0 21 00 14 */ lfs f1, 0x14(r1)
+/* 80366D08 00362968 FC 00 08 40 */ fcmpo cr0, f0, f1
+/* 80366D0C 0036296C 40 81 00 08 */ ble lbl_80366D14
+/* 80366D10 00362970 48 00 00 08 */ b lbl_80366D18
+lbl_80366D14:
+/* 80366D14 00362974 FC 20 00 90 */ fmr f1, f0
+lbl_80366D18:
+/* 80366D18 00362978 D0 3E 00 04 */ stfs f1, 4(r30)
+/* 80366D1C 0036297C C0 1E 00 08 */ lfs f0, 8(r30)
+/* 80366D20 00362980 C0 21 00 18 */ lfs f1, 0x18(r1)
+/* 80366D24 00362984 FC 00 08 40 */ fcmpo cr0, f0, f1
+/* 80366D28 00362988 40 80 00 08 */ bge lbl_80366D30
+/* 80366D2C 0036298C 48 00 00 08 */ b lbl_80366D34
+lbl_80366D30:
+/* 80366D30 00362990 FC 20 00 90 */ fmr f1, f0
+lbl_80366D34:
+/* 80366D34 00362994 D0 3E 00 08 */ stfs f1, 8(r30)
+/* 80366D38 00362998 C0 1E 00 0C */ lfs f0, 0xc(r30)
+/* 80366D3C 0036299C C0 21 00 1C */ lfs f1, 0x1c(r1)
+/* 80366D40 003629A0 FC 00 08 40 */ fcmpo cr0, f0, f1
+/* 80366D44 003629A4 40 80 00 08 */ bge lbl_80366D4C
+/* 80366D48 003629A8 48 00 00 08 */ b lbl_80366D50
+lbl_80366D4C:
+/* 80366D4C 003629AC FC 20 00 90 */ fmr f1, f0
+lbl_80366D50:
+/* 80366D50 003629B0 2C 06 00 00 */ cmpwi r6, 0
+/* 80366D54 003629B4 D0 3E 00 0C */ stfs f1, 0xc(r30)
+/* 80366D58 003629B8 41 81 FF 58 */ bgt lbl_80366CB0
+/* 80366D5C 003629BC E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
+/* 80366D60 003629C0 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 80366D64 003629C4 CB E1 00 30 */ lfd f31, 0x30(r1)
+/* 80366D68 003629C8 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 80366D6C 003629CC 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 80366D70 003629D0 83 A1 00 24 */ lwz r29, 0x24(r1)
+/* 80366D74 003629D4 7C 08 03 A6 */ mtlr r0
+/* 80366D78 003629D8 38 21 00 40 */ addi r1, r1, 0x40
+/* 80366D7C 003629DC 4E 80 00 20 */ blr
+
+.global PrintImpl__Q34nw4r2ut17TextWriterBase$0w$1FPCwi
+PrintImpl__Q34nw4r2ut17TextWriterBase$0w$1FPCwi:
+/* 80366D80 003629E0 94 21 FD 80 */ stwu r1, -0x280(r1)
+/* 80366D84 003629E4 7C 08 02 A6 */ mflr r0
+/* 80366D88 003629E8 90 01 02 84 */ stw r0, 0x284(r1)
+/* 80366D8C 003629EC DB E1 02 70 */ stfd f31, 0x270(r1)
+/* 80366D90 003629F0 F3 E1 02 78 */ psq_st f31, 632(r1), 0, qr0
+/* 80366D94 003629F4 DB C1 02 60 */ stfd f30, 0x260(r1)
+/* 80366D98 003629F8 F3 C1 02 68 */ psq_st f30, 616(r1), 0, qr0
+/* 80366D9C 003629FC DB A1 02 50 */ stfd f29, 0x250(r1)
+/* 80366DA0 00362A00 F3 A1 02 58 */ psq_st f29, 600(r1), 0, qr0
+/* 80366DA4 00362A04 DB 81 02 40 */ stfd f28, 0x240(r1)
+/* 80366DA8 00362A08 F3 81 02 48 */ psq_st f28, 584(r1), 0, qr0
+/* 80366DAC 00362A0C DB 61 02 30 */ stfd f27, 0x230(r1)
+/* 80366DB0 00362A10 F3 61 02 38 */ psq_st f27, 568(r1), 0, qr0
+/* 80366DB4 00362A14 DB 41 02 20 */ stfd f26, 0x220(r1)
+/* 80366DB8 00362A18 F3 41 02 28 */ psq_st f26, 552(r1), 0, qr0
+/* 80366DBC 00362A1C DB 21 02 10 */ stfd f25, 0x210(r1)
+/* 80366DC0 00362A20 F3 21 02 18 */ psq_st f25, 536(r1), 0, qr0
+/* 80366DC4 00362A24 DB 01 02 00 */ stfd f24, 0x200(r1)
+/* 80366DC8 00362A28 F3 01 02 08 */ psq_st f24, 520(r1), 0, qr0
+/* 80366DCC 00362A2C DA E1 01 F0 */ stfd f23, 0x1f0(r1)
+/* 80366DD0 00362A30 F2 E1 01 F8 */ psq_st f23, 504(r1), 0, qr0
+/* 80366DD4 00362A34 DA C1 01 E0 */ stfd f22, 0x1e0(r1)
+/* 80366DD8 00362A38 F2 C1 01 E8 */ psq_st f22, 488(r1), 0, qr0
+/* 80366DDC 00362A3C 39 61 01 E0 */ addi r11, r1, 0x1e0
+/* 80366DE0 00362A40 4B E6 03 35 */ bl _savegpr_22
+/* 80366DE4 00362A44 C0 23 00 2C */ lfs f1, 0x2c(r3)
+/* 80366DE8 00362A48 7C 97 23 78 */ mr r23, r4
+/* 80366DEC 00362A4C C0 02 A5 30 */ lfs f0, lbl_80642B30-_SDA2_BASE_(r2)
+/* 80366DF0 00362A50 7C B8 2B 78 */ mr r24, r5
+/* 80366DF4 00362A54 D0 21 00 14 */ stfs f1, 0x14(r1)
+/* 80366DF8 00362A58 7C 76 1B 78 */ mr r22, r3
+/* 80366DFC 00362A5C C3 83 00 30 */ lfs f28, 0x30(r3)
+/* 80366E00 00362A60 D3 81 00 10 */ stfs f28, 0x10(r1)
+/* 80366E04 00362A64 C0 23 00 4C */ lfs f1, 0x4c(r3)
+/* 80366E08 00362A68 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 80366E0C 00362A6C 7F A0 00 26 */ mfcr r29
+/* 80366E10 00362A70 7E FB BB 78 */ mr r27, r23
+/* 80366E14 00362A74 57 BD 0F FE */ srwi r29, r29, 0x1f
+/* 80366E18 00362A78 7E FA BB 78 */ mr r26, r23
+/* 80366E1C 00362A7C 7E E6 BB 78 */ mr r6, r23
+/* 80366E20 00362A80 7F 07 C3 78 */ mr r7, r24
+/* 80366E24 00362A84 38 81 00 14 */ addi r4, r1, 0x14
+/* 80366E28 00362A88 38 A1 00 10 */ addi r5, r1, 0x10
+/* 80366E2C 00362A8C 3B 80 00 00 */ li r28, 0
+/* 80366E30 00362A90 48 00 09 AD */ bl AdjustCursor__Q34nw4r2ut17TextWriterBase$0w$1FPfPfPCwi
+/* 80366E34 00362A94 C0 16 00 30 */ lfs f0, 0x30(r22)
+/* 80366E38 00362A98 38 00 00 00 */ li r0, 0
+/* 80366E3C 00362A9C C0 41 00 14 */ lfs f2, 0x14(r1)
+/* 80366E40 00362AA0 FF 20 08 90 */ fmr f25, f1
+/* 80366E44 00362AA4 90 01 00 74 */ stw r0, 0x74(r1)
+/* 80366E48 00362AA8 EF 5C 00 28 */ fsubs f26, f28, f0
+/* 80366E4C 00362AAC C0 01 00 10 */ lfs f0, 0x10(r1)
+/* 80366E50 00362AB0 38 61 00 48 */ addi r3, r1, 0x48
+/* 80366E54 00362AB4 90 01 00 78 */ stw r0, 0x78(r1)
+/* 80366E58 00362AB8 90 01 00 7C */ stw r0, 0x7c(r1)
+/* 80366E5C 00362ABC 92 C1 00 6C */ stw r22, 0x6c(r1)
+/* 80366E60 00362AC0 92 E1 00 70 */ stw r23, 0x70(r1)
+/* 80366E64 00362AC4 D0 41 00 74 */ stfs f2, 0x74(r1)
+/* 80366E68 00362AC8 D0 01 00 78 */ stfs f0, 0x78(r1)
+/* 80366E6C 00362ACC 80 96 00 48 */ lwz r4, 0x48(r22)
+/* 80366E70 00362AD0 4B FF F1 75 */ bl GetCharStrmReader__Q34nw4r2ut4FontCFv
+/* 80366E74 00362AD4 92 E1 00 48 */ stw r23, 0x48(r1)
+/* 80366E78 00362AD8 38 61 00 48 */ addi r3, r1, 0x48
+/* 80366E7C 00362ADC 39 81 00 4C */ addi r12, r1, 0x4c
+/* 80366E80 00362AE0 4B E6 01 59 */ bl __ptmf_scall
+/* 80366E84 00362AE4 60 00 00 00 */ nop
+/* 80366E88 00362AE8 C3 A2 A5 34 */ lfs f29, lbl_80642B34-_SDA2_BASE_(r2)
+/* 80366E8C 00362AEC 7C 79 1B 78 */ mr r25, r3
+/* 80366E90 00362AF0 C3 C2 A5 40 */ lfs f30, lbl_80642B40-_SDA2_BASE_(r2)
+/* 80366E94 00362AF4 3B C1 01 48 */ addi r30, r1, 0x148
+/* 80366E98 00362AF8 CB E2 A5 38 */ lfd f31, lbl_80642B38-_SDA2_BASE_(r2)
+/* 80366E9C 00362AFC 3F E0 43 30 */ lis r31, 0x4330
+/* 80366EA0 00362B00 48 00 08 70 */ b lbl_80367710
+lbl_80366EA4:
+/* 80366EA4 00362B04 57 25 04 3E */ clrlwi r5, r25, 0x10
+/* 80366EA8 00362B08 2C 05 00 20 */ cmpwi r5, 0x20
+/* 80366EAC 00362B0C 40 80 07 3C */ bge lbl_803675E8
+/* 80366EB0 00362B10 7F 80 00 34 */ cntlzw r0, r28
+/* 80366EB4 00362B14 2C 1D 00 00 */ cmpwi r29, 0
+/* 80366EB8 00362B18 54 06 D9 7E */ srwi r6, r0, 5
+/* 80366EBC 00362B1C 90 E1 00 70 */ stw r7, 0x70(r1)
+/* 80366EC0 00362B20 90 C1 00 7C */ stw r6, 0x7c(r1)
+/* 80366EC4 00362B24 41 82 02 54 */ beq lbl_80367118
+/* 80366EC8 00362B28 2C 05 00 0A */ cmpwi r5, 0xa
+/* 80366ECC 00362B2C 41 82 02 4C */ beq lbl_80367118
+/* 80366ED0 00362B30 7C 1B D0 40 */ cmplw r27, r26
+/* 80366ED4 00362B34 41 82 02 44 */ beq lbl_80367118
+/* 80366ED8 00362B38 80 81 00 6C */ lwz r4, 0x6c(r1)
+/* 80366EDC 00362B3C 80 61 00 74 */ lwz r3, 0x74(r1)
+/* 80366EE0 00362B40 80 01 00 78 */ lwz r0, 0x78(r1)
+/* 80366EE4 00362B44 90 81 00 58 */ stw r4, 0x58(r1)
+/* 80366EE8 00362B48 90 E1 00 5C */ stw r7, 0x5c(r1)
+/* 80366EEC 00362B4C 90 61 00 60 */ stw r3, 0x60(r1)
+/* 80366EF0 00362B50 90 01 00 64 */ stw r0, 0x64(r1)
+/* 80366EF4 00362B54 90 C1 00 68 */ stw r6, 0x68(r1)
+/* 80366EF8 00362B58 88 16 00 00 */ lbz r0, 0(r22)
+/* 80366EFC 00362B5C 98 01 01 48 */ stb r0, 0x148(r1)
+/* 80366F00 00362B60 88 16 00 01 */ lbz r0, 1(r22)
+/* 80366F04 00362B64 98 01 01 49 */ stb r0, 0x149(r1)
+/* 80366F08 00362B68 88 16 00 02 */ lbz r0, 2(r22)
+/* 80366F0C 00362B6C 98 01 01 4A */ stb r0, 0x14a(r1)
+/* 80366F10 00362B70 88 16 00 03 */ lbz r0, 3(r22)
+/* 80366F14 00362B74 98 01 01 4B */ stb r0, 0x14b(r1)
+/* 80366F18 00362B78 88 16 00 04 */ lbz r0, 4(r22)
+/* 80366F1C 00362B7C 98 01 01 4C */ stb r0, 0x14c(r1)
+/* 80366F20 00362B80 88 16 00 05 */ lbz r0, 5(r22)
+/* 80366F24 00362B84 98 01 01 4D */ stb r0, 0x14d(r1)
+/* 80366F28 00362B88 88 16 00 06 */ lbz r0, 6(r22)
+/* 80366F2C 00362B8C 98 01 01 4E */ stb r0, 0x14e(r1)
+/* 80366F30 00362B90 88 16 00 07 */ lbz r0, 7(r22)
+/* 80366F34 00362B94 98 01 01 4F */ stb r0, 0x14f(r1)
+/* 80366F38 00362B98 88 16 00 08 */ lbz r0, 8(r22)
+/* 80366F3C 00362B9C 98 01 01 50 */ stb r0, 0x150(r1)
+/* 80366F40 00362BA0 88 16 00 09 */ lbz r0, 9(r22)
+/* 80366F44 00362BA4 98 01 01 51 */ stb r0, 0x151(r1)
+/* 80366F48 00362BA8 88 16 00 0A */ lbz r0, 0xa(r22)
+/* 80366F4C 00362BAC 98 01 01 52 */ stb r0, 0x152(r1)
+/* 80366F50 00362BB0 88 16 00 0B */ lbz r0, 0xb(r22)
+/* 80366F54 00362BB4 98 01 01 53 */ stb r0, 0x153(r1)
+/* 80366F58 00362BB8 88 16 00 0C */ lbz r0, 0xc(r22)
+/* 80366F5C 00362BBC 98 01 01 54 */ stb r0, 0x154(r1)
+/* 80366F60 00362BC0 88 16 00 0D */ lbz r0, 0xd(r22)
+/* 80366F64 00362BC4 98 01 01 55 */ stb r0, 0x155(r1)
+/* 80366F68 00362BC8 88 16 00 0E */ lbz r0, 0xe(r22)
+/* 80366F6C 00362BCC 98 01 01 56 */ stb r0, 0x156(r1)
+/* 80366F70 00362BD0 88 16 00 0F */ lbz r0, 0xf(r22)
+/* 80366F74 00362BD4 98 01 01 57 */ stb r0, 0x157(r1)
+/* 80366F78 00362BD8 88 16 00 10 */ lbz r0, 0x10(r22)
+/* 80366F7C 00362BDC 98 01 01 58 */ stb r0, 0x158(r1)
+/* 80366F80 00362BE0 88 16 00 11 */ lbz r0, 0x11(r22)
+/* 80366F84 00362BE4 98 01 01 59 */ stb r0, 0x159(r1)
+/* 80366F88 00362BE8 88 16 00 12 */ lbz r0, 0x12(r22)
+/* 80366F8C 00362BEC 98 01 01 5A */ stb r0, 0x15a(r1)
+/* 80366F90 00362BF0 88 16 00 13 */ lbz r0, 0x13(r22)
+/* 80366F94 00362BF4 98 01 01 5B */ stb r0, 0x15b(r1)
+/* 80366F98 00362BF8 88 16 00 14 */ lbz r0, 0x14(r22)
+/* 80366F9C 00362BFC 98 01 01 5C */ stb r0, 0x15c(r1)
+/* 80366FA0 00362C00 88 16 00 15 */ lbz r0, 0x15(r22)
+/* 80366FA4 00362C04 98 01 01 5D */ stb r0, 0x15d(r1)
+/* 80366FA8 00362C08 88 16 00 16 */ lbz r0, 0x16(r22)
+/* 80366FAC 00362C0C 98 01 01 5E */ stb r0, 0x15e(r1)
+/* 80366FB0 00362C10 88 16 00 17 */ lbz r0, 0x17(r22)
+/* 80366FB4 00362C14 98 01 01 5F */ stb r0, 0x15f(r1)
+/* 80366FB8 00362C18 88 16 00 18 */ lbz r0, 0x18(r22)
+/* 80366FBC 00362C1C 98 01 01 60 */ stb r0, 0x160(r1)
+/* 80366FC0 00362C20 88 16 00 19 */ lbz r0, 0x19(r22)
+/* 80366FC4 00362C24 98 01 01 61 */ stb r0, 0x161(r1)
+/* 80366FC8 00362C28 88 16 00 1A */ lbz r0, 0x1a(r22)
+/* 80366FCC 00362C2C 98 01 01 62 */ stb r0, 0x162(r1)
+/* 80366FD0 00362C30 88 16 00 1B */ lbz r0, 0x1b(r22)
+/* 80366FD4 00362C34 98 01 01 63 */ stb r0, 0x163(r1)
+/* 80366FD8 00362C38 88 16 00 1C */ lbz r0, 0x1c(r22)
+/* 80366FDC 00362C3C 98 01 01 64 */ stb r0, 0x164(r1)
+/* 80366FE0 00362C40 88 16 00 1D */ lbz r0, 0x1d(r22)
+/* 80366FE4 00362C44 98 01 01 65 */ stb r0, 0x165(r1)
+/* 80366FE8 00362C48 88 16 00 1E */ lbz r0, 0x1e(r22)
+/* 80366FEC 00362C4C 98 01 01 66 */ stb r0, 0x166(r1)
+/* 80366FF0 00362C50 88 16 00 1F */ lbz r0, 0x1f(r22)
+/* 80366FF4 00362C54 98 01 01 67 */ stb r0, 0x167(r1)
+/* 80366FF8 00362C58 80 16 00 20 */ lwz r0, 0x20(r22)
+/* 80366FFC 00362C5C 90 01 01 68 */ stw r0, 0x168(r1)
+/* 80367000 00362C60 80 76 00 24 */ lwz r3, 0x24(r22)
+/* 80367004 00362C64 80 16 00 28 */ lwz r0, 0x28(r22)
+/* 80367008 00362C68 90 61 01 6C */ stw r3, 0x16c(r1)
+/* 8036700C 00362C6C 90 01 01 70 */ stw r0, 0x170(r1)
+/* 80367010 00362C70 80 76 00 2C */ lwz r3, 0x2c(r22)
+/* 80367014 00362C74 80 16 00 30 */ lwz r0, 0x30(r22)
+/* 80367018 00362C78 90 61 01 74 */ stw r3, 0x174(r1)
+/* 8036701C 00362C7C 90 01 01 78 */ stw r0, 0x178(r1)
+/* 80367020 00362C80 80 16 00 34 */ lwz r0, 0x34(r22)
+/* 80367024 00362C84 90 01 01 7C */ stw r0, 0x17c(r1)
+/* 80367028 00362C88 80 76 00 38 */ lwz r3, 0x38(r22)
+/* 8036702C 00362C8C 80 16 00 3C */ lwz r0, 0x3c(r22)
+/* 80367030 00362C90 90 61 01 80 */ stw r3, 0x180(r1)
+/* 80367034 00362C94 90 01 01 84 */ stw r0, 0x184(r1)
+/* 80367038 00362C98 88 16 00 40 */ lbz r0, 0x40(r22)
+/* 8036703C 00362C9C 98 01 01 88 */ stb r0, 0x188(r1)
+/* 80367040 00362CA0 88 16 00 41 */ lbz r0, 0x41(r22)
+/* 80367044 00362CA4 98 01 01 89 */ stb r0, 0x189(r1)
+/* 80367048 00362CA8 88 16 00 42 */ lbz r0, 0x42(r22)
+/* 8036704C 00362CAC 98 01 01 8A */ stb r0, 0x18a(r1)
+/* 80367050 00362CB0 88 16 00 43 */ lbz r0, 0x43(r22)
+/* 80367054 00362CB4 98 01 01 8B */ stb r0, 0x18b(r1)
+/* 80367058 00362CB8 C0 16 00 44 */ lfs f0, 0x44(r22)
+/* 8036705C 00362CBC D0 01 01 8C */ stfs f0, 0x18c(r1)
+/* 80367060 00362CC0 80 16 00 48 */ lwz r0, 0x48(r22)
+/* 80367064 00362CC4 38 81 00 38 */ addi r4, r1, 0x38
+/* 80367068 00362CC8 38 C1 00 58 */ addi r6, r1, 0x58
+/* 8036706C 00362CCC 90 01 01 90 */ stw r0, 0x190(r1)
+/* 80367070 00362CD0 C0 16 00 4C */ lfs f0, 0x4c(r22)
+/* 80367074 00362CD4 D0 01 01 94 */ stfs f0, 0x194(r1)
+/* 80367078 00362CD8 C0 16 00 50 */ lfs f0, 0x50(r22)
+/* 8036707C 00362CDC D0 01 01 98 */ stfs f0, 0x198(r1)
+/* 80367080 00362CE0 C0 16 00 54 */ lfs f0, 0x54(r22)
+/* 80367084 00362CE4 D0 01 01 9C */ stfs f0, 0x19c(r1)
+/* 80367088 00362CE8 80 16 00 58 */ lwz r0, 0x58(r22)
+/* 8036708C 00362CEC 90 01 01 A0 */ stw r0, 0x1a0(r1)
+/* 80367090 00362CF0 80 16 00 5C */ lwz r0, 0x5c(r22)
+/* 80367094 00362CF4 90 01 01 A4 */ stw r0, 0x1a4(r1)
+/* 80367098 00362CF8 80 16 00 60 */ lwz r0, 0x60(r22)
+/* 8036709C 00362CFC 90 01 01 A8 */ stw r0, 0x1a8(r1)
+/* 803670A0 00362D00 D3 A1 00 38 */ stfs f29, 0x38(r1)
+/* 803670A4 00362D04 D3 A1 00 3C */ stfs f29, 0x3c(r1)
+/* 803670A8 00362D08 D3 A1 00 40 */ stfs f29, 0x40(r1)
+/* 803670AC 00362D0C D3 A1 00 44 */ stfs f29, 0x44(r1)
+/* 803670B0 00362D10 93 C1 00 58 */ stw r30, 0x58(r1)
+/* 803670B4 00362D14 80 76 00 60 */ lwz r3, 0x60(r22)
+/* 803670B8 00362D18 81 83 00 00 */ lwz r12, 0(r3)
+/* 803670BC 00362D1C 81 8C 00 10 */ lwz r12, 0x10(r12)
+/* 803670C0 00362D20 7D 89 03 A6 */ mtctr r12
+/* 803670C4 00362D24 4E 80 04 21 */ bctrl
+/* 803670C8 00362D28 C0 21 00 40 */ lfs f1, 0x40(r1)
+/* 803670CC 00362D2C C0 01 00 38 */ lfs f0, 0x38(r1)
+/* 803670D0 00362D30 EC 01 00 28 */ fsubs f0, f1, f0
+/* 803670D4 00362D34 FC 00 E8 40 */ fcmpo cr0, f0, f29
+/* 803670D8 00362D38 40 81 00 34 */ ble lbl_8036710C
+/* 803670DC 00362D3C C0 41 01 74 */ lfs f2, 0x174(r1)
+/* 803670E0 00362D40 C0 21 00 74 */ lfs f1, 0x74(r1)
+/* 803670E4 00362D44 C0 16 00 4C */ lfs f0, 0x4c(r22)
+/* 803670E8 00362D48 EC 22 08 28 */ fsubs f1, f2, f1
+/* 803670EC 00362D4C FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 803670F0 00362D50 40 81 00 1C */ ble lbl_8036710C
+/* 803670F4 00362D54 93 61 00 48 */ stw r27, 0x48(r1)
+/* 803670F8 00362D58 7F C3 F3 78 */ mr r3, r30
+/* 803670FC 00362D5C 3B 20 00 0A */ li r25, 0xa
+/* 80367100 00362D60 38 80 00 00 */ li r4, 0
+/* 80367104 00362D64 4B FF D9 A1 */ bl __dt__Q34nw4r2ut10CharWriterFv
+/* 80367108 00362D68 48 00 06 08 */ b lbl_80367710
+lbl_8036710C:
+/* 8036710C 00362D6C 38 61 01 48 */ addi r3, r1, 0x148
+/* 80367110 00362D70 38 80 00 00 */ li r4, 0
+/* 80367114 00362D74 4B FF D9 91 */ bl __dt__Q34nw4r2ut10CharWriterFv
+lbl_80367118:
+/* 80367118 00362D78 80 76 00 60 */ lwz r3, 0x60(r22)
+/* 8036711C 00362D7C 57 24 04 3E */ clrlwi r4, r25, 0x10
+/* 80367120 00362D80 38 A1 00 6C */ addi r5, r1, 0x6c
+/* 80367124 00362D84 81 83 00 00 */ lwz r12, 0(r3)
+/* 80367128 00362D88 81 8C 00 0C */ lwz r12, 0xc(r12)
+/* 8036712C 00362D8C 7D 89 03 A6 */ mtctr r12
+/* 80367130 00362D90 4E 80 04 21 */ bctrl
+/* 80367134 00362D94 2C 03 00 03 */ cmpwi r3, 3
+/* 80367138 00362D98 40 82 04 7C */ bne lbl_803675B4
+/* 8036713C 00362D9C 80 16 00 5C */ lwz r0, 0x5c(r22)
+/* 80367140 00362DA0 54 00 07 BE */ clrlwi r0, r0, 0x1e
+/* 80367144 00362DA4 28 00 00 01 */ cmplwi r0, 1
+/* 80367148 00362DA8 40 82 02 18 */ bne lbl_80367360
+/* 8036714C 00362DAC 80 01 00 70 */ lwz r0, 0x70(r1)
+/* 80367150 00362DB0 D3 A1 00 28 */ stfs f29, 0x28(r1)
+/* 80367154 00362DB4 90 01 00 0C */ stw r0, 0xc(r1)
+/* 80367158 00362DB8 D3 A1 00 2C */ stfs f29, 0x2c(r1)
+/* 8036715C 00362DBC D3 A1 00 30 */ stfs f29, 0x30(r1)
+/* 80367160 00362DC0 D3 A1 00 34 */ stfs f29, 0x34(r1)
+/* 80367164 00362DC4 88 76 00 00 */ lbz r3, 0(r22)
+/* 80367168 00362DC8 98 61 00 E4 */ stb r3, 0xe4(r1)
+/* 8036716C 00362DCC 88 76 00 01 */ lbz r3, 1(r22)
+/* 80367170 00362DD0 98 61 00 E5 */ stb r3, 0xe5(r1)
+/* 80367174 00362DD4 88 76 00 02 */ lbz r3, 2(r22)
+/* 80367178 00362DD8 98 61 00 E6 */ stb r3, 0xe6(r1)
+/* 8036717C 00362DDC 88 76 00 03 */ lbz r3, 3(r22)
+/* 80367180 00362DE0 98 61 00 E7 */ stb r3, 0xe7(r1)
+/* 80367184 00362DE4 88 76 00 04 */ lbz r3, 4(r22)
+/* 80367188 00362DE8 98 61 00 E8 */ stb r3, 0xe8(r1)
+/* 8036718C 00362DEC 88 76 00 05 */ lbz r3, 5(r22)
+/* 80367190 00362DF0 98 61 00 E9 */ stb r3, 0xe9(r1)
+/* 80367194 00362DF4 88 76 00 06 */ lbz r3, 6(r22)
+/* 80367198 00362DF8 98 61 00 EA */ stb r3, 0xea(r1)
+/* 8036719C 00362DFC 88 76 00 07 */ lbz r3, 7(r22)
+/* 803671A0 00362E00 98 61 00 EB */ stb r3, 0xeb(r1)
+/* 803671A4 00362E04 88 76 00 08 */ lbz r3, 8(r22)
+/* 803671A8 00362E08 98 61 00 EC */ stb r3, 0xec(r1)
+/* 803671AC 00362E0C 88 76 00 09 */ lbz r3, 9(r22)
+/* 803671B0 00362E10 98 61 00 ED */ stb r3, 0xed(r1)
+/* 803671B4 00362E14 88 76 00 0A */ lbz r3, 0xa(r22)
+/* 803671B8 00362E18 98 61 00 EE */ stb r3, 0xee(r1)
+/* 803671BC 00362E1C 88 76 00 0B */ lbz r3, 0xb(r22)
+/* 803671C0 00362E20 98 61 00 EF */ stb r3, 0xef(r1)
+/* 803671C4 00362E24 88 76 00 0C */ lbz r3, 0xc(r22)
+/* 803671C8 00362E28 98 61 00 F0 */ stb r3, 0xf0(r1)
+/* 803671CC 00362E2C 88 76 00 0D */ lbz r3, 0xd(r22)
+/* 803671D0 00362E30 98 61 00 F1 */ stb r3, 0xf1(r1)
+/* 803671D4 00362E34 88 76 00 0E */ lbz r3, 0xe(r22)
+/* 803671D8 00362E38 98 61 00 F2 */ stb r3, 0xf2(r1)
+/* 803671DC 00362E3C 88 76 00 0F */ lbz r3, 0xf(r22)
+/* 803671E0 00362E40 98 61 00 F3 */ stb r3, 0xf3(r1)
+/* 803671E4 00362E44 88 76 00 10 */ lbz r3, 0x10(r22)
+/* 803671E8 00362E48 98 61 00 F4 */ stb r3, 0xf4(r1)
+/* 803671EC 00362E4C 88 76 00 11 */ lbz r3, 0x11(r22)
+/* 803671F0 00362E50 98 61 00 F5 */ stb r3, 0xf5(r1)
+/* 803671F4 00362E54 88 76 00 12 */ lbz r3, 0x12(r22)
+/* 803671F8 00362E58 98 61 00 F6 */ stb r3, 0xf6(r1)
+/* 803671FC 00362E5C 88 76 00 13 */ lbz r3, 0x13(r22)
+/* 80367200 00362E60 98 61 00 F7 */ stb r3, 0xf7(r1)
+/* 80367204 00362E64 88 76 00 14 */ lbz r3, 0x14(r22)
+/* 80367208 00362E68 98 61 00 F8 */ stb r3, 0xf8(r1)
+/* 8036720C 00362E6C 88 76 00 15 */ lbz r3, 0x15(r22)
+/* 80367210 00362E70 98 61 00 F9 */ stb r3, 0xf9(r1)
+/* 80367214 00362E74 88 76 00 16 */ lbz r3, 0x16(r22)
+/* 80367218 00362E78 98 61 00 FA */ stb r3, 0xfa(r1)
+/* 8036721C 00362E7C 88 76 00 17 */ lbz r3, 0x17(r22)
+/* 80367220 00362E80 98 61 00 FB */ stb r3, 0xfb(r1)
+/* 80367224 00362E84 88 76 00 18 */ lbz r3, 0x18(r22)
+/* 80367228 00362E88 98 61 00 FC */ stb r3, 0xfc(r1)
+/* 8036722C 00362E8C 88 76 00 19 */ lbz r3, 0x19(r22)
+/* 80367230 00362E90 98 61 00 FD */ stb r3, 0xfd(r1)
+/* 80367234 00362E94 88 76 00 1A */ lbz r3, 0x1a(r22)
+/* 80367238 00362E98 98 61 00 FE */ stb r3, 0xfe(r1)
+/* 8036723C 00362E9C 88 76 00 1B */ lbz r3, 0x1b(r22)
+/* 80367240 00362EA0 98 61 00 FF */ stb r3, 0xff(r1)
+/* 80367244 00362EA4 88 76 00 1C */ lbz r3, 0x1c(r22)
+/* 80367248 00362EA8 98 61 01 00 */ stb r3, 0x100(r1)
+/* 8036724C 00362EAC 88 76 00 1D */ lbz r3, 0x1d(r22)
+/* 80367250 00362EB0 98 61 01 01 */ stb r3, 0x101(r1)
+/* 80367254 00362EB4 88 76 00 1E */ lbz r3, 0x1e(r22)
+/* 80367258 00362EB8 98 61 01 02 */ stb r3, 0x102(r1)
+/* 8036725C 00362EBC 88 76 00 1F */ lbz r3, 0x1f(r22)
+/* 80367260 00362EC0 98 61 01 03 */ stb r3, 0x103(r1)
+/* 80367264 00362EC4 80 76 00 20 */ lwz r3, 0x20(r22)
+/* 80367268 00362EC8 90 61 01 04 */ stw r3, 0x104(r1)
+/* 8036726C 00362ECC 80 96 00 24 */ lwz r4, 0x24(r22)
+/* 80367270 00362ED0 80 76 00 28 */ lwz r3, 0x28(r22)
+/* 80367274 00362ED4 90 81 01 08 */ stw r4, 0x108(r1)
+/* 80367278 00362ED8 90 61 01 0C */ stw r3, 0x10c(r1)
+/* 8036727C 00362EDC 80 96 00 2C */ lwz r4, 0x2c(r22)
+/* 80367280 00362EE0 80 76 00 30 */ lwz r3, 0x30(r22)
+/* 80367284 00362EE4 90 81 01 10 */ stw r4, 0x110(r1)
+/* 80367288 00362EE8 90 61 01 14 */ stw r3, 0x114(r1)
+/* 8036728C 00362EEC 80 76 00 34 */ lwz r3, 0x34(r22)
+/* 80367290 00362EF0 90 61 01 18 */ stw r3, 0x118(r1)
+/* 80367294 00362EF4 80 96 00 38 */ lwz r4, 0x38(r22)
+/* 80367298 00362EF8 80 76 00 3C */ lwz r3, 0x3c(r22)
+/* 8036729C 00362EFC 90 81 01 1C */ stw r4, 0x11c(r1)
+/* 803672A0 00362F00 90 61 01 20 */ stw r3, 0x120(r1)
+/* 803672A4 00362F04 88 76 00 40 */ lbz r3, 0x40(r22)
+/* 803672A8 00362F08 98 61 01 24 */ stb r3, 0x124(r1)
+/* 803672AC 00362F0C 88 76 00 41 */ lbz r3, 0x41(r22)
+/* 803672B0 00362F10 98 61 01 25 */ stb r3, 0x125(r1)
+/* 803672B4 00362F14 88 76 00 42 */ lbz r3, 0x42(r22)
+/* 803672B8 00362F18 98 61 01 26 */ stb r3, 0x126(r1)
+/* 803672BC 00362F1C 88 76 00 43 */ lbz r3, 0x43(r22)
+/* 803672C0 00362F20 98 61 01 27 */ stb r3, 0x127(r1)
+/* 803672C4 00362F24 C0 16 00 44 */ lfs f0, 0x44(r22)
+/* 803672C8 00362F28 D0 01 01 28 */ stfs f0, 0x128(r1)
+/* 803672CC 00362F2C 80 B6 00 48 */ lwz r5, 0x48(r22)
+/* 803672D0 00362F30 7C 97 00 50 */ subf r4, r23, r0
+/* 803672D4 00362F34 54 80 0F FE */ srwi r0, r4, 0x1f
+/* 803672D8 00362F38 38 61 00 E4 */ addi r3, r1, 0xe4
+/* 803672DC 00362F3C 90 A1 01 2C */ stw r5, 0x12c(r1)
+/* 803672E0 00362F40 7C 00 22 14 */ add r0, r0, r4
+/* 803672E4 00362F44 7C 00 0E 70 */ srawi r0, r0, 1
+/* 803672E8 00362F48 38 81 00 28 */ addi r4, r1, 0x28
+/* 803672EC 00362F4C C0 16 00 4C */ lfs f0, 0x4c(r22)
+/* 803672F0 00362F50 7C C0 C0 50 */ subf r6, r0, r24
+/* 803672F4 00362F54 38 A1 00 0C */ addi r5, r1, 0xc
+/* 803672F8 00362F58 D0 01 01 30 */ stfs f0, 0x130(r1)
+/* 803672FC 00362F5C C0 16 00 50 */ lfs f0, 0x50(r22)
+/* 80367300 00362F60 D0 01 01 34 */ stfs f0, 0x134(r1)
+/* 80367304 00362F64 C0 16 00 54 */ lfs f0, 0x54(r22)
+/* 80367308 00362F68 D0 01 01 38 */ stfs f0, 0x138(r1)
+/* 8036730C 00362F6C 80 16 00 58 */ lwz r0, 0x58(r22)
+/* 80367310 00362F70 90 01 01 3C */ stw r0, 0x13c(r1)
+/* 80367314 00362F74 80 16 00 5C */ lwz r0, 0x5c(r22)
+/* 80367318 00362F78 90 01 01 40 */ stw r0, 0x140(r1)
+/* 8036731C 00362F7C 80 16 00 60 */ lwz r0, 0x60(r22)
+/* 80367320 00362F80 90 01 01 44 */ stw r0, 0x144(r1)
+/* 80367324 00362F84 D3 A1 01 10 */ stfs f29, 0x110(r1)
+/* 80367328 00362F88 D3 A1 01 14 */ stfs f29, 0x114(r1)
+/* 8036732C 00362F8C 4B FF F2 AD */ bl CalcLineRectImpl__Q34nw4r2ut17TextWriterBase$0w$1FPQ34nw4r2ut4RectPPCwi
+/* 80367330 00362F90 C0 21 00 30 */ lfs f1, 0x30(r1)
+/* 80367334 00362F94 38 61 00 E4 */ addi r3, r1, 0xe4
+/* 80367338 00362F98 C0 01 00 28 */ lfs f0, 0x28(r1)
+/* 8036733C 00362F9C 38 80 00 00 */ li r4, 0
+/* 80367340 00362FA0 EF 61 00 28 */ fsubs f27, f1, f0
+/* 80367344 00362FA4 4B FF D7 61 */ bl __dt__Q34nw4r2ut10CharWriterFv
+/* 80367348 00362FA8 EC 39 D8 28 */ fsubs f1, f25, f27
+/* 8036734C 00362FAC C0 01 00 74 */ lfs f0, 0x74(r1)
+/* 80367350 00362FB0 EC 21 07 B2 */ fmuls f1, f1, f30
+/* 80367354 00362FB4 EC 00 08 2A */ fadds f0, f0, f1
+/* 80367358 00362FB8 D0 16 00 2C */ stfs f0, 0x2c(r22)
+/* 8036735C 00362FBC 48 00 02 44 */ b lbl_803675A0
+lbl_80367360:
+/* 80367360 00362FC0 28 00 00 02 */ cmplwi r0, 2
+/* 80367364 00362FC4 40 82 02 14 */ bne lbl_80367578
+/* 80367368 00362FC8 80 01 00 70 */ lwz r0, 0x70(r1)
+/* 8036736C 00362FCC D3 A1 00 18 */ stfs f29, 0x18(r1)
+/* 80367370 00362FD0 90 01 00 08 */ stw r0, 8(r1)
+/* 80367374 00362FD4 D3 A1 00 1C */ stfs f29, 0x1c(r1)
+/* 80367378 00362FD8 D3 A1 00 20 */ stfs f29, 0x20(r1)
+/* 8036737C 00362FDC D3 A1 00 24 */ stfs f29, 0x24(r1)
+/* 80367380 00362FE0 88 76 00 00 */ lbz r3, 0(r22)
+/* 80367384 00362FE4 98 61 00 80 */ stb r3, 0x80(r1)
+/* 80367388 00362FE8 88 76 00 01 */ lbz r3, 1(r22)
+/* 8036738C 00362FEC 98 61 00 81 */ stb r3, 0x81(r1)
+/* 80367390 00362FF0 88 76 00 02 */ lbz r3, 2(r22)
+/* 80367394 00362FF4 98 61 00 82 */ stb r3, 0x82(r1)
+/* 80367398 00362FF8 88 76 00 03 */ lbz r3, 3(r22)
+/* 8036739C 00362FFC 98 61 00 83 */ stb r3, 0x83(r1)
+/* 803673A0 00363000 88 76 00 04 */ lbz r3, 4(r22)
+/* 803673A4 00363004 98 61 00 84 */ stb r3, 0x84(r1)
+/* 803673A8 00363008 88 76 00 05 */ lbz r3, 5(r22)
+/* 803673AC 0036300C 98 61 00 85 */ stb r3, 0x85(r1)
+/* 803673B0 00363010 88 76 00 06 */ lbz r3, 6(r22)
+/* 803673B4 00363014 98 61 00 86 */ stb r3, 0x86(r1)
+/* 803673B8 00363018 88 76 00 07 */ lbz r3, 7(r22)
+/* 803673BC 0036301C 98 61 00 87 */ stb r3, 0x87(r1)
+/* 803673C0 00363020 88 76 00 08 */ lbz r3, 8(r22)
+/* 803673C4 00363024 98 61 00 88 */ stb r3, 0x88(r1)
+/* 803673C8 00363028 88 76 00 09 */ lbz r3, 9(r22)
+/* 803673CC 0036302C 98 61 00 89 */ stb r3, 0x89(r1)
+/* 803673D0 00363030 88 76 00 0A */ lbz r3, 0xa(r22)
+/* 803673D4 00363034 98 61 00 8A */ stb r3, 0x8a(r1)
+/* 803673D8 00363038 88 76 00 0B */ lbz r3, 0xb(r22)
+/* 803673DC 0036303C 98 61 00 8B */ stb r3, 0x8b(r1)
+/* 803673E0 00363040 88 76 00 0C */ lbz r3, 0xc(r22)
+/* 803673E4 00363044 98 61 00 8C */ stb r3, 0x8c(r1)
+/* 803673E8 00363048 88 76 00 0D */ lbz r3, 0xd(r22)
+/* 803673EC 0036304C 98 61 00 8D */ stb r3, 0x8d(r1)
+/* 803673F0 00363050 88 76 00 0E */ lbz r3, 0xe(r22)
+/* 803673F4 00363054 98 61 00 8E */ stb r3, 0x8e(r1)
+/* 803673F8 00363058 88 76 00 0F */ lbz r3, 0xf(r22)
+/* 803673FC 0036305C 98 61 00 8F */ stb r3, 0x8f(r1)
+/* 80367400 00363060 88 76 00 10 */ lbz r3, 0x10(r22)
+/* 80367404 00363064 98 61 00 90 */ stb r3, 0x90(r1)
+/* 80367408 00363068 88 76 00 11 */ lbz r3, 0x11(r22)
+/* 8036740C 0036306C 98 61 00 91 */ stb r3, 0x91(r1)
+/* 80367410 00363070 88 76 00 12 */ lbz r3, 0x12(r22)
+/* 80367414 00363074 98 61 00 92 */ stb r3, 0x92(r1)
+/* 80367418 00363078 88 76 00 13 */ lbz r3, 0x13(r22)
+/* 8036741C 0036307C 98 61 00 93 */ stb r3, 0x93(r1)
+/* 80367420 00363080 88 76 00 14 */ lbz r3, 0x14(r22)
+/* 80367424 00363084 98 61 00 94 */ stb r3, 0x94(r1)
+/* 80367428 00363088 88 76 00 15 */ lbz r3, 0x15(r22)
+/* 8036742C 0036308C 98 61 00 95 */ stb r3, 0x95(r1)
+/* 80367430 00363090 88 76 00 16 */ lbz r3, 0x16(r22)
+/* 80367434 00363094 98 61 00 96 */ stb r3, 0x96(r1)
+/* 80367438 00363098 88 76 00 17 */ lbz r3, 0x17(r22)
+/* 8036743C 0036309C 98 61 00 97 */ stb r3, 0x97(r1)
+/* 80367440 003630A0 88 76 00 18 */ lbz r3, 0x18(r22)
+/* 80367444 003630A4 98 61 00 98 */ stb r3, 0x98(r1)
+/* 80367448 003630A8 88 76 00 19 */ lbz r3, 0x19(r22)
+/* 8036744C 003630AC 98 61 00 99 */ stb r3, 0x99(r1)
+/* 80367450 003630B0 88 76 00 1A */ lbz r3, 0x1a(r22)
+/* 80367454 003630B4 98 61 00 9A */ stb r3, 0x9a(r1)
+/* 80367458 003630B8 88 76 00 1B */ lbz r3, 0x1b(r22)
+/* 8036745C 003630BC 98 61 00 9B */ stb r3, 0x9b(r1)
+/* 80367460 003630C0 88 76 00 1C */ lbz r3, 0x1c(r22)
+/* 80367464 003630C4 98 61 00 9C */ stb r3, 0x9c(r1)
+/* 80367468 003630C8 88 76 00 1D */ lbz r3, 0x1d(r22)
+/* 8036746C 003630CC 98 61 00 9D */ stb r3, 0x9d(r1)
+/* 80367470 003630D0 88 76 00 1E */ lbz r3, 0x1e(r22)
+/* 80367474 003630D4 98 61 00 9E */ stb r3, 0x9e(r1)
+/* 80367478 003630D8 88 76 00 1F */ lbz r3, 0x1f(r22)
+/* 8036747C 003630DC 98 61 00 9F */ stb r3, 0x9f(r1)
+/* 80367480 003630E0 80 76 00 20 */ lwz r3, 0x20(r22)
+/* 80367484 003630E4 90 61 00 A0 */ stw r3, 0xa0(r1)
+/* 80367488 003630E8 80 96 00 24 */ lwz r4, 0x24(r22)
+/* 8036748C 003630EC 80 76 00 28 */ lwz r3, 0x28(r22)
+/* 80367490 003630F0 90 81 00 A4 */ stw r4, 0xa4(r1)
+/* 80367494 003630F4 90 61 00 A8 */ stw r3, 0xa8(r1)
+/* 80367498 003630F8 80 96 00 2C */ lwz r4, 0x2c(r22)
+/* 8036749C 003630FC 80 76 00 30 */ lwz r3, 0x30(r22)
+/* 803674A0 00363100 90 81 00 AC */ stw r4, 0xac(r1)
+/* 803674A4 00363104 90 61 00 B0 */ stw r3, 0xb0(r1)
+/* 803674A8 00363108 80 76 00 34 */ lwz r3, 0x34(r22)
+/* 803674AC 0036310C 90 61 00 B4 */ stw r3, 0xb4(r1)
+/* 803674B0 00363110 80 96 00 38 */ lwz r4, 0x38(r22)
+/* 803674B4 00363114 80 76 00 3C */ lwz r3, 0x3c(r22)
+/* 803674B8 00363118 90 81 00 B8 */ stw r4, 0xb8(r1)
+/* 803674BC 0036311C 90 61 00 BC */ stw r3, 0xbc(r1)
+/* 803674C0 00363120 88 76 00 40 */ lbz r3, 0x40(r22)
+/* 803674C4 00363124 98 61 00 C0 */ stb r3, 0xc0(r1)
+/* 803674C8 00363128 88 76 00 41 */ lbz r3, 0x41(r22)
+/* 803674CC 0036312C 98 61 00 C1 */ stb r3, 0xc1(r1)
+/* 803674D0 00363130 88 76 00 42 */ lbz r3, 0x42(r22)
+/* 803674D4 00363134 98 61 00 C2 */ stb r3, 0xc2(r1)
+/* 803674D8 00363138 88 76 00 43 */ lbz r3, 0x43(r22)
+/* 803674DC 0036313C 98 61 00 C3 */ stb r3, 0xc3(r1)
+/* 803674E0 00363140 C0 16 00 44 */ lfs f0, 0x44(r22)
+/* 803674E4 00363144 D0 01 00 C4 */ stfs f0, 0xc4(r1)
+/* 803674E8 00363148 80 B6 00 48 */ lwz r5, 0x48(r22)
+/* 803674EC 0036314C 7C 97 00 50 */ subf r4, r23, r0
+/* 803674F0 00363150 54 80 0F FE */ srwi r0, r4, 0x1f
+/* 803674F4 00363154 38 61 00 80 */ addi r3, r1, 0x80
+/* 803674F8 00363158 90 A1 00 C8 */ stw r5, 0xc8(r1)
+/* 803674FC 0036315C 7C 00 22 14 */ add r0, r0, r4
+/* 80367500 00363160 7C 00 0E 70 */ srawi r0, r0, 1
+/* 80367504 00363164 38 81 00 18 */ addi r4, r1, 0x18
+/* 80367508 00363168 C0 16 00 4C */ lfs f0, 0x4c(r22)
+/* 8036750C 0036316C 7C C0 C0 50 */ subf r6, r0, r24
+/* 80367510 00363170 38 A1 00 08 */ addi r5, r1, 8
+/* 80367514 00363174 D0 01 00 CC */ stfs f0, 0xcc(r1)
+/* 80367518 00363178 C0 16 00 50 */ lfs f0, 0x50(r22)
+/* 8036751C 0036317C D0 01 00 D0 */ stfs f0, 0xd0(r1)
+/* 80367520 00363180 C0 16 00 54 */ lfs f0, 0x54(r22)
+/* 80367524 00363184 D0 01 00 D4 */ stfs f0, 0xd4(r1)
+/* 80367528 00363188 80 16 00 58 */ lwz r0, 0x58(r22)
+/* 8036752C 0036318C 90 01 00 D8 */ stw r0, 0xd8(r1)
+/* 80367530 00363190 80 16 00 5C */ lwz r0, 0x5c(r22)
+/* 80367534 00363194 90 01 00 DC */ stw r0, 0xdc(r1)
+/* 80367538 00363198 80 16 00 60 */ lwz r0, 0x60(r22)
+/* 8036753C 0036319C 90 01 00 E0 */ stw r0, 0xe0(r1)
+/* 80367540 003631A0 D3 A1 00 AC */ stfs f29, 0xac(r1)
+/* 80367544 003631A4 D3 A1 00 B0 */ stfs f29, 0xb0(r1)
+/* 80367548 003631A8 4B FF F0 91 */ bl CalcLineRectImpl__Q34nw4r2ut17TextWriterBase$0w$1FPQ34nw4r2ut4RectPPCwi
+/* 8036754C 003631AC C0 21 00 20 */ lfs f1, 0x20(r1)
+/* 80367550 003631B0 38 61 00 80 */ addi r3, r1, 0x80
+/* 80367554 003631B4 C0 01 00 18 */ lfs f0, 0x18(r1)
+/* 80367558 003631B8 38 80 00 00 */ li r4, 0
+/* 8036755C 003631BC EF 61 00 28 */ fsubs f27, f1, f0
+/* 80367560 003631C0 4B FF D5 45 */ bl __dt__Q34nw4r2ut10CharWriterFv
+/* 80367564 003631C4 EC 39 D8 28 */ fsubs f1, f25, f27
+/* 80367568 003631C8 C0 01 00 74 */ lfs f0, 0x74(r1)
+/* 8036756C 003631CC EC 00 08 2A */ fadds f0, f0, f1
+/* 80367570 003631D0 D0 16 00 2C */ stfs f0, 0x2c(r22)
+/* 80367574 003631D4 48 00 00 2C */ b lbl_803675A0
+lbl_80367578:
+/* 80367578 003631D8 C0 36 00 2C */ lfs f1, 0x2c(r22)
+/* 8036757C 003631DC C0 01 00 74 */ lfs f0, 0x74(r1)
+/* 80367580 003631E0 EC 21 00 28 */ fsubs f1, f1, f0
+/* 80367584 003631E4 FC 19 08 40 */ fcmpo cr0, f25, f1
+/* 80367588 003631E8 40 80 00 08 */ bge lbl_80367590
+/* 8036758C 003631EC 48 00 00 08 */ b lbl_80367594
+lbl_80367590:
+/* 80367590 003631F0 FC 20 C8 90 */ fmr f1, f25
+lbl_80367594:
+/* 80367594 003631F4 C0 01 00 74 */ lfs f0, 0x74(r1)
+/* 80367598 003631F8 FF 20 08 90 */ fmr f25, f1
+/* 8036759C 003631FC D0 16 00 2C */ stfs f0, 0x2c(r22)
+lbl_803675A0:
+/* 803675A0 00363200 2C 1D 00 00 */ cmpwi r29, 0
+/* 803675A4 00363204 41 82 00 08 */ beq lbl_803675AC
+/* 803675A8 00363208 83 41 00 48 */ lwz r26, 0x48(r1)
+lbl_803675AC:
+/* 803675AC 0036320C 3B 80 00 00 */ li r28, 0
+/* 803675B0 00363210 48 00 00 2C */ b lbl_803675DC
+lbl_803675B4:
+/* 803675B4 00363214 2C 03 00 01 */ cmpwi r3, 1
+/* 803675B8 00363218 40 82 00 0C */ bne lbl_803675C4
+/* 803675BC 0036321C 3B 80 00 00 */ li r28, 0
+/* 803675C0 00363220 48 00 00 1C */ b lbl_803675DC
+lbl_803675C4:
+/* 803675C4 00363224 2C 03 00 02 */ cmpwi r3, 2
+/* 803675C8 00363228 40 82 00 0C */ bne lbl_803675D4
+/* 803675CC 0036322C 3B 80 00 01 */ li r28, 1
+/* 803675D0 00363230 48 00 00 0C */ b lbl_803675DC
+lbl_803675D4:
+/* 803675D4 00363234 2C 03 00 04 */ cmpwi r3, 4
+/* 803675D8 00363238 41 82 01 54 */ beq lbl_8036772C
+lbl_803675DC:
+/* 803675DC 0036323C 80 01 00 70 */ lwz r0, 0x70(r1)
+/* 803675E0 00363240 90 01 00 48 */ stw r0, 0x48(r1)
+/* 803675E4 00363244 48 00 01 0C */ b lbl_803676F0
+lbl_803675E8:
+/* 803675E8 00363248 2C 1D 00 00 */ cmpwi r29, 0
+/* 803675EC 0036324C C3 76 00 30 */ lfs f27, 0x30(r22)
+/* 803675F0 00363250 41 82 00 94 */ beq lbl_80367684
+/* 803675F4 00363254 7C 1B D0 40 */ cmplw r27, r26
+/* 803675F8 00363258 41 82 00 8C */ beq lbl_80367684
+/* 803675FC 0036325C 2C 1C 00 00 */ cmpwi r28, 0
+/* 80367600 00363260 C3 16 00 2C */ lfs f24, 0x2c(r22)
+/* 80367604 00363264 41 82 00 0C */ beq lbl_80367610
+/* 80367608 00363268 C2 F6 00 50 */ lfs f23, 0x50(r22)
+/* 8036760C 0036326C 48 00 00 08 */ b lbl_80367614
+lbl_80367610:
+/* 80367610 00363270 C2 E2 A5 34 */ lfs f23, lbl_80642B34-_SDA2_BASE_(r2)
+lbl_80367614:
+/* 80367614 00363274 88 16 00 43 */ lbz r0, 0x43(r22)
+/* 80367618 00363278 2C 00 00 00 */ cmpwi r0, 0
+/* 8036761C 0036327C 41 82 00 0C */ beq lbl_80367628
+/* 80367620 00363280 C0 56 00 44 */ lfs f2, 0x44(r22)
+/* 80367624 00363284 48 00 00 38 */ b lbl_8036765C
+lbl_80367628:
+/* 80367628 00363288 80 76 00 48 */ lwz r3, 0x48(r22)
+/* 8036762C 0036328C 57 24 04 3E */ clrlwi r4, r25, 0x10
+/* 80367630 00363290 C2 D6 00 24 */ lfs f22, 0x24(r22)
+/* 80367634 00363294 81 83 00 00 */ lwz r12, 0(r3)
+/* 80367638 00363298 81 8C 00 48 */ lwz r12, 0x48(r12)
+/* 8036763C 0036329C 7D 89 03 A6 */ mtctr r12
+/* 80367640 003632A0 4E 80 04 21 */ bctrl
+/* 80367644 003632A4 6C 60 80 00 */ xoris r0, r3, 0x8000
+/* 80367648 003632A8 93 E1 01 B0 */ stw r31, 0x1b0(r1)
+/* 8036764C 003632AC 90 01 01 B4 */ stw r0, 0x1b4(r1)
+/* 80367650 003632B0 C8 01 01 B0 */ lfd f0, 0x1b0(r1)
+/* 80367654 003632B4 EC 00 F8 28 */ fsubs f0, f0, f31
+/* 80367658 003632B8 EC 40 05 B2 */ fmuls f2, f0, f22
+lbl_8036765C:
+/* 8036765C 003632BC C0 21 00 14 */ lfs f1, 0x14(r1)
+/* 80367660 003632C0 C0 16 00 4C */ lfs f0, 0x4c(r22)
+/* 80367664 003632C4 EC 38 08 28 */ fsubs f1, f24, f1
+/* 80367668 003632C8 EC 37 08 2A */ fadds f1, f23, f1
+/* 8036766C 003632CC EC 22 08 2A */ fadds f1, f2, f1
+/* 80367670 003632D0 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 80367674 003632D4 40 81 00 10 */ ble lbl_80367684
+/* 80367678 003632D8 93 61 00 48 */ stw r27, 0x48(r1)
+/* 8036767C 003632DC 3B 20 00 0A */ li r25, 0xa
+/* 80367680 003632E0 48 00 00 90 */ b lbl_80367710
+lbl_80367684:
+/* 80367684 003632E4 2C 1C 00 00 */ cmpwi r28, 0
+/* 80367688 003632E8 41 82 00 14 */ beq lbl_8036769C
+/* 8036768C 003632EC C0 36 00 50 */ lfs f1, 0x50(r22)
+/* 80367690 003632F0 C0 16 00 2C */ lfs f0, 0x2c(r22)
+/* 80367694 003632F4 EC 00 08 2A */ fadds f0, f0, f1
+/* 80367698 003632F8 D0 16 00 2C */ stfs f0, 0x2c(r22)
+lbl_8036769C:
+/* 8036769C 003632FC 80 76 00 48 */ lwz r3, 0x48(r22)
+/* 803676A0 00363300 3B 80 00 01 */ li r28, 1
+/* 803676A4 00363304 C2 D6 00 28 */ lfs f22, 0x28(r22)
+/* 803676A8 00363308 81 83 00 00 */ lwz r12, 0(r3)
+/* 803676AC 0036330C 81 8C 00 1C */ lwz r12, 0x1c(r12)
+/* 803676B0 00363310 7D 89 03 A6 */ mtctr r12
+/* 803676B4 00363314 4E 80 04 21 */ bctrl
+/* 803676B8 00363318 7C 03 00 D0 */ neg r0, r3
+/* 803676BC 0036331C 93 E1 01 B0 */ stw r31, 0x1b0(r1)
+/* 803676C0 00363320 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 803676C4 00363324 C0 16 00 30 */ lfs f0, 0x30(r22)
+/* 803676C8 00363328 90 01 01 B4 */ stw r0, 0x1b4(r1)
+/* 803676CC 0036332C 7E C3 B3 78 */ mr r3, r22
+/* 803676D0 00363330 57 24 04 3E */ clrlwi r4, r25, 0x10
+/* 803676D4 00363334 C8 21 01 B0 */ lfd f1, 0x1b0(r1)
+/* 803676D8 00363338 EC 21 F8 28 */ fsubs f1, f1, f31
+/* 803676DC 0036333C EC 21 05 B2 */ fmuls f1, f1, f22
+/* 803676E0 00363340 EC 00 08 2A */ fadds f0, f0, f1
+/* 803676E4 00363344 D0 16 00 30 */ stfs f0, 0x30(r22)
+/* 803676E8 00363348 4B FF E0 39 */ bl Print__Q34nw4r2ut10CharWriterFUs
+/* 803676EC 0036334C D3 76 00 30 */ stfs f27, 0x30(r22)
+lbl_803676F0:
+/* 803676F0 00363350 2C 1D 00 00 */ cmpwi r29, 0
+/* 803676F4 00363354 41 82 00 08 */ beq lbl_803676FC
+/* 803676F8 00363358 83 61 00 48 */ lwz r27, 0x48(r1)
+lbl_803676FC:
+/* 803676FC 0036335C 38 61 00 48 */ addi r3, r1, 0x48
+/* 80367700 00363360 39 81 00 4C */ addi r12, r1, 0x4c
+/* 80367704 00363364 4B E5 F8 D5 */ bl __ptmf_scall
+/* 80367708 00363368 60 00 00 00 */ nop
+/* 8036770C 0036336C 7C 79 1B 78 */ mr r25, r3
+lbl_80367710:
+/* 80367710 00363370 80 E1 00 48 */ lwz r7, 0x48(r1)
+/* 80367714 00363374 7C 77 38 50 */ subf r3, r23, r7
+/* 80367718 00363378 54 60 0F FE */ srwi r0, r3, 0x1f
+/* 8036771C 0036337C 7C 00 1A 14 */ add r0, r0, r3
+/* 80367720 00363380 7C 00 0E 70 */ srawi r0, r0, 1
+/* 80367724 00363384 7C 00 C0 00 */ cmpw r0, r24
+/* 80367728 00363388 40 81 F7 7C */ ble lbl_80366EA4
+lbl_8036772C:
+/* 8036772C 0036338C C0 36 00 2C */ lfs f1, 0x2c(r22)
+/* 80367730 00363390 C0 01 00 74 */ lfs f0, 0x74(r1)
+/* 80367734 00363394 EC 21 00 28 */ fsubs f1, f1, f0
+/* 80367738 00363398 FC 19 08 40 */ fcmpo cr0, f25, f1
+/* 8036773C 0036339C 40 80 00 08 */ bge lbl_80367744
+/* 80367740 003633A0 48 00 00 08 */ b lbl_80367748
+lbl_80367744:
+/* 80367744 003633A4 FC 20 C8 90 */ fmr f1, f25
+lbl_80367748:
+/* 80367748 003633A8 80 16 00 5C */ lwz r0, 0x5c(r22)
+/* 8036774C 003633AC 54 00 05 AE */ rlwinm r0, r0, 0, 0x16, 0x17
+/* 80367750 003633B0 28 00 01 00 */ cmplwi r0, 0x100
+/* 80367754 003633B4 41 82 00 0C */ beq lbl_80367760
+/* 80367758 003633B8 28 00 02 00 */ cmplwi r0, 0x200
+/* 8036775C 003633BC 40 82 00 0C */ bne lbl_80367768
+lbl_80367760:
+/* 80367760 003633C0 D3 96 00 30 */ stfs f28, 0x30(r22)
+/* 80367764 003633C4 48 00 00 10 */ b lbl_80367774
+lbl_80367768:
+/* 80367768 003633C8 C0 16 00 30 */ lfs f0, 0x30(r22)
+/* 8036776C 003633CC EC 00 D0 2A */ fadds f0, f0, f26
+/* 80367770 003633D0 D0 16 00 30 */ stfs f0, 0x30(r22)
+lbl_80367774:
+/* 80367774 003633D4 E3 E1 02 78 */ psq_l f31, 632(r1), 0, qr0
+/* 80367778 003633D8 CB E1 02 70 */ lfd f31, 0x270(r1)
+/* 8036777C 003633DC E3 C1 02 68 */ psq_l f30, 616(r1), 0, qr0
+/* 80367780 003633E0 CB C1 02 60 */ lfd f30, 0x260(r1)
+/* 80367784 003633E4 E3 A1 02 58 */ psq_l f29, 600(r1), 0, qr0
+/* 80367788 003633E8 CB A1 02 50 */ lfd f29, 0x250(r1)
+/* 8036778C 003633EC E3 81 02 48 */ psq_l f28, 584(r1), 0, qr0
+/* 80367790 003633F0 CB 81 02 40 */ lfd f28, 0x240(r1)
+/* 80367794 003633F4 E3 61 02 38 */ psq_l f27, 568(r1), 0, qr0
+/* 80367798 003633F8 CB 61 02 30 */ lfd f27, 0x230(r1)
+/* 8036779C 003633FC E3 41 02 28 */ psq_l f26, 552(r1), 0, qr0
+/* 803677A0 00363400 CB 41 02 20 */ lfd f26, 0x220(r1)
+/* 803677A4 00363404 E3 21 02 18 */ psq_l f25, 536(r1), 0, qr0
+/* 803677A8 00363408 CB 21 02 10 */ lfd f25, 0x210(r1)
+/* 803677AC 0036340C E3 01 02 08 */ psq_l f24, 520(r1), 0, qr0
+/* 803677B0 00363410 CB 01 02 00 */ lfd f24, 0x200(r1)
+/* 803677B4 00363414 E2 E1 01 F8 */ psq_l f23, 504(r1), 0, qr0
+/* 803677B8 00363418 CA E1 01 F0 */ lfd f23, 0x1f0(r1)
+/* 803677BC 0036341C E2 C1 01 E8 */ psq_l f22, 488(r1), 0, qr0
+/* 803677C0 00363420 39 61 01 E0 */ addi r11, r1, 0x1e0
+/* 803677C4 00363424 CA C1 01 E0 */ lfd f22, 0x1e0(r1)
+/* 803677C8 00363428 4B E5 F9 99 */ bl func_801C7160
+/* 803677CC 0036342C 80 01 02 84 */ lwz r0, 0x284(r1)
+/* 803677D0 00363430 7C 08 03 A6 */ mtlr r0
+/* 803677D4 00363434 38 21 02 80 */ addi r1, r1, 0x280
+/* 803677D8 00363438 4E 80 00 20 */ blr
+
+.global AdjustCursor__Q34nw4r2ut17TextWriterBase$0w$1FPfPfPCwi
+AdjustCursor__Q34nw4r2ut17TextWriterBase$0w$1FPfPfPCwi:
+/* 803677DC 0036343C 94 21 FE 50 */ stwu r1, -0x1b0(r1)
+/* 803677E0 00363440 7C 08 02 A6 */ mflr r0
+/* 803677E4 00363444 90 01 01 B4 */ stw r0, 0x1b4(r1)
+/* 803677E8 00363448 DB E1 01 A0 */ stfd f31, 0x1a0(r1)
+/* 803677EC 0036344C F3 E1 01 A8 */ psq_st f31, 424(r1), 0, qr0
+/* 803677F0 00363450 DB C1 01 90 */ stfd f30, 0x190(r1)
+/* 803677F4 00363454 F3 C1 01 98 */ psq_st f30, 408(r1), 0, qr0
+/* 803677F8 00363458 39 61 01 90 */ addi r11, r1, 0x190
+/* 803677FC 0036345C 4B E5 F9 2D */ bl _savegpr_27
+/* 80367800 00363460 80 03 00 5C */ lwz r0, 0x5c(r3)
+/* 80367804 00363464 7C 7B 1B 78 */ mr r27, r3
+/* 80367808 00363468 C3 E2 A5 34 */ lfs f31, lbl_80642B34-_SDA2_BASE_(r2)
+/* 8036780C 0036346C 7C 9C 23 78 */ mr r28, r4
+/* 80367810 00363470 70 00 03 33 */ andi. r0, r0, 0x333
+/* 80367814 00363474 7C BD 2B 78 */ mr r29, r5
+/* 80367818 00363478 FC 40 F8 90 */ fmr f2, f31
+/* 8036781C 0036347C 7C DE 33 78 */ mr r30, r6
+/* 80367820 00363480 7C FF 3B 78 */ mr r31, r7
+/* 80367824 00363484 28 00 03 00 */ cmplwi r0, 0x300
+/* 80367828 00363488 41 82 02 04 */ beq lbl_80367A2C
+/* 8036782C 0036348C 2C 00 00 00 */ cmpwi r0, 0
+/* 80367830 00363490 41 82 01 FC */ beq lbl_80367A2C
+/* 80367834 00363494 D3 E1 00 30 */ stfs f31, 0x30(r1)
+/* 80367838 00363498 D3 E1 00 34 */ stfs f31, 0x34(r1)
+/* 8036783C 0036349C D3 E1 00 38 */ stfs f31, 0x38(r1)
+/* 80367840 003634A0 D3 E1 00 3C */ stfs f31, 0x3c(r1)
+/* 80367844 003634A4 88 03 00 00 */ lbz r0, 0(r3)
+/* 80367848 003634A8 98 01 01 08 */ stb r0, 0x108(r1)
+/* 8036784C 003634AC 88 03 00 01 */ lbz r0, 1(r3)
+/* 80367850 003634B0 98 01 01 09 */ stb r0, 0x109(r1)
+/* 80367854 003634B4 88 03 00 02 */ lbz r0, 2(r3)
+/* 80367858 003634B8 98 01 01 0A */ stb r0, 0x10a(r1)
+/* 8036785C 003634BC 88 03 00 03 */ lbz r0, 3(r3)
+/* 80367860 003634C0 98 01 01 0B */ stb r0, 0x10b(r1)
+/* 80367864 003634C4 88 03 00 04 */ lbz r0, 4(r3)
+/* 80367868 003634C8 98 01 01 0C */ stb r0, 0x10c(r1)
+/* 8036786C 003634CC 88 03 00 05 */ lbz r0, 5(r3)
+/* 80367870 003634D0 98 01 01 0D */ stb r0, 0x10d(r1)
+/* 80367874 003634D4 88 03 00 06 */ lbz r0, 6(r3)
+/* 80367878 003634D8 98 01 01 0E */ stb r0, 0x10e(r1)
+/* 8036787C 003634DC 88 03 00 07 */ lbz r0, 7(r3)
+/* 80367880 003634E0 98 01 01 0F */ stb r0, 0x10f(r1)
+/* 80367884 003634E4 88 03 00 08 */ lbz r0, 8(r3)
+/* 80367888 003634E8 98 01 01 10 */ stb r0, 0x110(r1)
+/* 8036788C 003634EC 88 03 00 09 */ lbz r0, 9(r3)
+/* 80367890 003634F0 98 01 01 11 */ stb r0, 0x111(r1)
+/* 80367894 003634F4 88 03 00 0A */ lbz r0, 0xa(r3)
+/* 80367898 003634F8 98 01 01 12 */ stb r0, 0x112(r1)
+/* 8036789C 003634FC 88 03 00 0B */ lbz r0, 0xb(r3)
+/* 803678A0 00363500 98 01 01 13 */ stb r0, 0x113(r1)
+/* 803678A4 00363504 88 03 00 0C */ lbz r0, 0xc(r3)
+/* 803678A8 00363508 98 01 01 14 */ stb r0, 0x114(r1)
+/* 803678AC 0036350C 88 03 00 0D */ lbz r0, 0xd(r3)
+/* 803678B0 00363510 98 01 01 15 */ stb r0, 0x115(r1)
+/* 803678B4 00363514 88 03 00 0E */ lbz r0, 0xe(r3)
+/* 803678B8 00363518 98 01 01 16 */ stb r0, 0x116(r1)
+/* 803678BC 0036351C 88 03 00 0F */ lbz r0, 0xf(r3)
+/* 803678C0 00363520 98 01 01 17 */ stb r0, 0x117(r1)
+/* 803678C4 00363524 88 03 00 10 */ lbz r0, 0x10(r3)
+/* 803678C8 00363528 98 01 01 18 */ stb r0, 0x118(r1)
+/* 803678CC 0036352C 88 03 00 11 */ lbz r0, 0x11(r3)
+/* 803678D0 00363530 98 01 01 19 */ stb r0, 0x119(r1)
+/* 803678D4 00363534 88 03 00 12 */ lbz r0, 0x12(r3)
+/* 803678D8 00363538 98 01 01 1A */ stb r0, 0x11a(r1)
+/* 803678DC 0036353C 88 03 00 13 */ lbz r0, 0x13(r3)
+/* 803678E0 00363540 98 01 01 1B */ stb r0, 0x11b(r1)
+/* 803678E4 00363544 88 03 00 14 */ lbz r0, 0x14(r3)
+/* 803678E8 00363548 98 01 01 1C */ stb r0, 0x11c(r1)
+/* 803678EC 0036354C 88 03 00 15 */ lbz r0, 0x15(r3)
+/* 803678F0 00363550 98 01 01 1D */ stb r0, 0x11d(r1)
+/* 803678F4 00363554 88 03 00 16 */ lbz r0, 0x16(r3)
+/* 803678F8 00363558 98 01 01 1E */ stb r0, 0x11e(r1)
+/* 803678FC 0036355C 88 03 00 17 */ lbz r0, 0x17(r3)
+/* 80367900 00363560 98 01 01 1F */ stb r0, 0x11f(r1)
+/* 80367904 00363564 88 03 00 18 */ lbz r0, 0x18(r3)
+/* 80367908 00363568 98 01 01 20 */ stb r0, 0x120(r1)
+/* 8036790C 0036356C 88 03 00 19 */ lbz r0, 0x19(r3)
+/* 80367910 00363570 98 01 01 21 */ stb r0, 0x121(r1)
+/* 80367914 00363574 88 03 00 1A */ lbz r0, 0x1a(r3)
+/* 80367918 00363578 98 01 01 22 */ stb r0, 0x122(r1)
+/* 8036791C 0036357C 88 03 00 1B */ lbz r0, 0x1b(r3)
+/* 80367920 00363580 98 01 01 23 */ stb r0, 0x123(r1)
+/* 80367924 00363584 88 03 00 1C */ lbz r0, 0x1c(r3)
+/* 80367928 00363588 98 01 01 24 */ stb r0, 0x124(r1)
+/* 8036792C 0036358C 88 03 00 1D */ lbz r0, 0x1d(r3)
+/* 80367930 00363590 98 01 01 25 */ stb r0, 0x125(r1)
+/* 80367934 00363594 88 03 00 1E */ lbz r0, 0x1e(r3)
+/* 80367938 00363598 98 01 01 26 */ stb r0, 0x126(r1)
+/* 8036793C 0036359C 88 03 00 1F */ lbz r0, 0x1f(r3)
+/* 80367940 003635A0 98 01 01 27 */ stb r0, 0x127(r1)
+/* 80367944 003635A4 80 03 00 20 */ lwz r0, 0x20(r3)
+/* 80367948 003635A8 90 01 01 28 */ stw r0, 0x128(r1)
+/* 8036794C 003635AC 80 83 00 24 */ lwz r4, 0x24(r3)
+/* 80367950 003635B0 80 03 00 28 */ lwz r0, 0x28(r3)
+/* 80367954 003635B4 90 81 01 2C */ stw r4, 0x12c(r1)
+/* 80367958 003635B8 90 01 01 30 */ stw r0, 0x130(r1)
+/* 8036795C 003635BC 80 83 00 2C */ lwz r4, 0x2c(r3)
+/* 80367960 003635C0 80 03 00 30 */ lwz r0, 0x30(r3)
+/* 80367964 003635C4 90 81 01 34 */ stw r4, 0x134(r1)
+/* 80367968 003635C8 90 01 01 38 */ stw r0, 0x138(r1)
+/* 8036796C 003635CC 80 03 00 34 */ lwz r0, 0x34(r3)
+/* 80367970 003635D0 90 01 01 3C */ stw r0, 0x13c(r1)
+/* 80367974 003635D4 80 83 00 38 */ lwz r4, 0x38(r3)
+/* 80367978 003635D8 80 03 00 3C */ lwz r0, 0x3c(r3)
+/* 8036797C 003635DC 90 81 01 40 */ stw r4, 0x140(r1)
+/* 80367980 003635E0 90 01 01 44 */ stw r0, 0x144(r1)
+/* 80367984 003635E4 88 03 00 40 */ lbz r0, 0x40(r3)
+/* 80367988 003635E8 98 01 01 48 */ stb r0, 0x148(r1)
+/* 8036798C 003635EC 88 03 00 41 */ lbz r0, 0x41(r3)
+/* 80367990 003635F0 98 01 01 49 */ stb r0, 0x149(r1)
+/* 80367994 003635F4 88 03 00 42 */ lbz r0, 0x42(r3)
+/* 80367998 003635F8 98 01 01 4A */ stb r0, 0x14a(r1)
+/* 8036799C 003635FC 88 03 00 43 */ lbz r0, 0x43(r3)
+/* 803679A0 00363600 98 01 01 4B */ stb r0, 0x14b(r1)
+/* 803679A4 00363604 C0 03 00 44 */ lfs f0, 0x44(r3)
+/* 803679A8 00363608 D0 01 01 4C */ stfs f0, 0x14c(r1)
+/* 803679AC 0036360C 80 03 00 48 */ lwz r0, 0x48(r3)
+/* 803679B0 00363610 90 01 01 50 */ stw r0, 0x150(r1)
+/* 803679B4 00363614 C0 03 00 4C */ lfs f0, 0x4c(r3)
+/* 803679B8 00363618 7F C5 F3 78 */ mr r5, r30
+/* 803679BC 0036361C 7F E6 FB 78 */ mr r6, r31
+/* 803679C0 00363620 38 81 00 30 */ addi r4, r1, 0x30
+/* 803679C4 00363624 D0 01 01 54 */ stfs f0, 0x154(r1)
+/* 803679C8 00363628 C0 03 00 50 */ lfs f0, 0x50(r3)
+/* 803679CC 0036362C D0 01 01 58 */ stfs f0, 0x158(r1)
+/* 803679D0 00363630 C0 03 00 54 */ lfs f0, 0x54(r3)
+/* 803679D4 00363634 D0 01 01 5C */ stfs f0, 0x15c(r1)
+/* 803679D8 00363638 80 03 00 58 */ lwz r0, 0x58(r3)
+/* 803679DC 0036363C 90 01 01 60 */ stw r0, 0x160(r1)
+/* 803679E0 00363640 80 03 00 5C */ lwz r0, 0x5c(r3)
+/* 803679E4 00363644 90 01 01 64 */ stw r0, 0x164(r1)
+/* 803679E8 00363648 80 03 00 60 */ lwz r0, 0x60(r3)
+/* 803679EC 0036364C 38 61 01 08 */ addi r3, r1, 0x108
+/* 803679F0 00363650 90 01 01 68 */ stw r0, 0x168(r1)
+/* 803679F4 00363654 4B FF F2 6D */ bl CalcStringRectImpl__Q34nw4r2ut17TextWriterBase$0w$1FPQ34nw4r2ut4RectPCwi
+/* 803679F8 00363658 38 61 01 08 */ addi r3, r1, 0x108
+/* 803679FC 0036365C 38 80 00 00 */ li r4, 0
+/* 80367A00 00363660 4B FF D0 A5 */ bl __dt__Q34nw4r2ut10CharWriterFv
+/* 80367A04 00363664 C0 61 00 30 */ lfs f3, 0x30(r1)
+/* 80367A08 00363668 C0 01 00 38 */ lfs f0, 0x38(r1)
+/* 80367A0C 0036366C C0 41 00 34 */ lfs f2, 0x34(r1)
+/* 80367A10 00363670 EF E3 00 2A */ fadds f31, f3, f0
+/* 80367A14 00363674 C0 21 00 3C */ lfs f1, 0x3c(r1)
+/* 80367A18 00363678 C0 1B 00 4C */ lfs f0, 0x4c(r27)
+/* 80367A1C 0036367C EC 42 08 2A */ fadds f2, f2, f1
+/* 80367A20 00363680 FC 1F 00 40 */ fcmpo cr0, f31, f0
+/* 80367A24 00363684 40 81 00 08 */ ble lbl_80367A2C
+/* 80367A28 00363688 FF E0 00 90 */ fmr f31, f0
+lbl_80367A2C:
+/* 80367A2C 0036368C 80 1B 00 5C */ lwz r0, 0x5c(r27)
+/* 80367A30 00363690 54 00 06 B6 */ rlwinm r0, r0, 0, 0x1a, 0x1b
+/* 80367A34 00363694 28 00 00 10 */ cmplwi r0, 0x10
+/* 80367A38 00363698 40 82 00 1C */ bne lbl_80367A54
+/* 80367A3C 0036369C C0 22 A5 40 */ lfs f1, lbl_80642B40-_SDA2_BASE_(r2)
+/* 80367A40 003636A0 C0 1C 00 00 */ lfs f0, 0(r28)
+/* 80367A44 003636A4 EC 3F 00 72 */ fmuls f1, f31, f1
+/* 80367A48 003636A8 EC 00 08 28 */ fsubs f0, f0, f1
+/* 80367A4C 003636AC D0 1C 00 00 */ stfs f0, 0(r28)
+/* 80367A50 003636B0 48 00 00 18 */ b lbl_80367A68
+lbl_80367A54:
+/* 80367A54 003636B4 28 00 00 20 */ cmplwi r0, 0x20
+/* 80367A58 003636B8 40 82 00 10 */ bne lbl_80367A68
+/* 80367A5C 003636BC C0 1C 00 00 */ lfs f0, 0(r28)
+/* 80367A60 003636C0 EC 00 F8 28 */ fsubs f0, f0, f31
+/* 80367A64 003636C4 D0 1C 00 00 */ stfs f0, 0(r28)
+lbl_80367A68:
+/* 80367A68 003636C8 80 1B 00 5C */ lwz r0, 0x5c(r27)
+/* 80367A6C 003636CC 54 00 05 AE */ rlwinm r0, r0, 0, 0x16, 0x17
+/* 80367A70 003636D0 28 00 01 00 */ cmplwi r0, 0x100
+/* 80367A74 003636D4 40 82 00 1C */ bne lbl_80367A90
+/* 80367A78 003636D8 C0 22 A5 40 */ lfs f1, lbl_80642B40-_SDA2_BASE_(r2)
+/* 80367A7C 003636DC C0 1D 00 00 */ lfs f0, 0(r29)
+/* 80367A80 003636E0 EC 22 00 72 */ fmuls f1, f2, f1
+/* 80367A84 003636E4 EC 00 08 28 */ fsubs f0, f0, f1
+/* 80367A88 003636E8 D0 1D 00 00 */ stfs f0, 0(r29)
+/* 80367A8C 003636EC 48 00 00 18 */ b lbl_80367AA4
+lbl_80367A90:
+/* 80367A90 003636F0 28 00 02 00 */ cmplwi r0, 0x200
+/* 80367A94 003636F4 40 82 00 10 */ bne lbl_80367AA4
+/* 80367A98 003636F8 C0 1D 00 00 */ lfs f0, 0(r29)
+/* 80367A9C 003636FC EC 00 10 28 */ fsubs f0, f0, f2
+/* 80367AA0 00363700 D0 1D 00 00 */ stfs f0, 0(r29)
+lbl_80367AA4:
+/* 80367AA4 00363704 80 1B 00 5C */ lwz r0, 0x5c(r27)
+/* 80367AA8 00363708 54 00 07 BE */ clrlwi r0, r0, 0x1e
+/* 80367AAC 0036370C 28 00 00 01 */ cmplwi r0, 1
+/* 80367AB0 00363710 40 82 02 0C */ bne lbl_80367CBC
+/* 80367AB4 00363714 C0 22 A5 34 */ lfs f1, lbl_80642B34-_SDA2_BASE_(r2)
+/* 80367AB8 00363718 93 C1 00 0C */ stw r30, 0xc(r1)
+/* 80367ABC 0036371C D0 21 00 20 */ stfs f1, 0x20(r1)
+/* 80367AC0 00363720 D0 21 00 24 */ stfs f1, 0x24(r1)
+/* 80367AC4 00363724 D0 21 00 28 */ stfs f1, 0x28(r1)
+/* 80367AC8 00363728 D0 21 00 2C */ stfs f1, 0x2c(r1)
+/* 80367ACC 0036372C 88 1B 00 00 */ lbz r0, 0(r27)
+/* 80367AD0 00363730 98 01 00 A4 */ stb r0, 0xa4(r1)
+/* 80367AD4 00363734 88 1B 00 01 */ lbz r0, 1(r27)
+/* 80367AD8 00363738 98 01 00 A5 */ stb r0, 0xa5(r1)
+/* 80367ADC 0036373C 88 1B 00 02 */ lbz r0, 2(r27)
+/* 80367AE0 00363740 98 01 00 A6 */ stb r0, 0xa6(r1)
+/* 80367AE4 00363744 88 1B 00 03 */ lbz r0, 3(r27)
+/* 80367AE8 00363748 98 01 00 A7 */ stb r0, 0xa7(r1)
+/* 80367AEC 0036374C 88 1B 00 04 */ lbz r0, 4(r27)
+/* 80367AF0 00363750 98 01 00 A8 */ stb r0, 0xa8(r1)
+/* 80367AF4 00363754 88 1B 00 05 */ lbz r0, 5(r27)
+/* 80367AF8 00363758 98 01 00 A9 */ stb r0, 0xa9(r1)
+/* 80367AFC 0036375C 88 1B 00 06 */ lbz r0, 6(r27)
+/* 80367B00 00363760 98 01 00 AA */ stb r0, 0xaa(r1)
+/* 80367B04 00363764 88 1B 00 07 */ lbz r0, 7(r27)
+/* 80367B08 00363768 98 01 00 AB */ stb r0, 0xab(r1)
+/* 80367B0C 0036376C 88 1B 00 08 */ lbz r0, 8(r27)
+/* 80367B10 00363770 98 01 00 AC */ stb r0, 0xac(r1)
+/* 80367B14 00363774 88 1B 00 09 */ lbz r0, 9(r27)
+/* 80367B18 00363778 98 01 00 AD */ stb r0, 0xad(r1)
+/* 80367B1C 0036377C 88 1B 00 0A */ lbz r0, 0xa(r27)
+/* 80367B20 00363780 98 01 00 AE */ stb r0, 0xae(r1)
+/* 80367B24 00363784 88 1B 00 0B */ lbz r0, 0xb(r27)
+/* 80367B28 00363788 98 01 00 AF */ stb r0, 0xaf(r1)
+/* 80367B2C 0036378C 88 1B 00 0C */ lbz r0, 0xc(r27)
+/* 80367B30 00363790 98 01 00 B0 */ stb r0, 0xb0(r1)
+/* 80367B34 00363794 88 1B 00 0D */ lbz r0, 0xd(r27)
+/* 80367B38 00363798 98 01 00 B1 */ stb r0, 0xb1(r1)
+/* 80367B3C 0036379C 88 1B 00 0E */ lbz r0, 0xe(r27)
+/* 80367B40 003637A0 98 01 00 B2 */ stb r0, 0xb2(r1)
+/* 80367B44 003637A4 88 1B 00 0F */ lbz r0, 0xf(r27)
+/* 80367B48 003637A8 98 01 00 B3 */ stb r0, 0xb3(r1)
+/* 80367B4C 003637AC 88 1B 00 10 */ lbz r0, 0x10(r27)
+/* 80367B50 003637B0 98 01 00 B4 */ stb r0, 0xb4(r1)
+/* 80367B54 003637B4 88 1B 00 11 */ lbz r0, 0x11(r27)
+/* 80367B58 003637B8 98 01 00 B5 */ stb r0, 0xb5(r1)
+/* 80367B5C 003637BC 88 1B 00 12 */ lbz r0, 0x12(r27)
+/* 80367B60 003637C0 98 01 00 B6 */ stb r0, 0xb6(r1)
+/* 80367B64 003637C4 88 1B 00 13 */ lbz r0, 0x13(r27)
+/* 80367B68 003637C8 98 01 00 B7 */ stb r0, 0xb7(r1)
+/* 80367B6C 003637CC 88 1B 00 14 */ lbz r0, 0x14(r27)
+/* 80367B70 003637D0 98 01 00 B8 */ stb r0, 0xb8(r1)
+/* 80367B74 003637D4 88 1B 00 15 */ lbz r0, 0x15(r27)
+/* 80367B78 003637D8 98 01 00 B9 */ stb r0, 0xb9(r1)
+/* 80367B7C 003637DC 88 1B 00 16 */ lbz r0, 0x16(r27)
+/* 80367B80 003637E0 98 01 00 BA */ stb r0, 0xba(r1)
+/* 80367B84 003637E4 88 1B 00 17 */ lbz r0, 0x17(r27)
+/* 80367B88 003637E8 98 01 00 BB */ stb r0, 0xbb(r1)
+/* 80367B8C 003637EC 88 1B 00 18 */ lbz r0, 0x18(r27)
+/* 80367B90 003637F0 98 01 00 BC */ stb r0, 0xbc(r1)
+/* 80367B94 003637F4 88 1B 00 19 */ lbz r0, 0x19(r27)
+/* 80367B98 003637F8 98 01 00 BD */ stb r0, 0xbd(r1)
+/* 80367B9C 003637FC 88 1B 00 1A */ lbz r0, 0x1a(r27)
+/* 80367BA0 00363800 98 01 00 BE */ stb r0, 0xbe(r1)
+/* 80367BA4 00363804 88 1B 00 1B */ lbz r0, 0x1b(r27)
+/* 80367BA8 00363808 98 01 00 BF */ stb r0, 0xbf(r1)
+/* 80367BAC 0036380C 88 1B 00 1C */ lbz r0, 0x1c(r27)
+/* 80367BB0 00363810 98 01 00 C0 */ stb r0, 0xc0(r1)
+/* 80367BB4 00363814 88 1B 00 1D */ lbz r0, 0x1d(r27)
+/* 80367BB8 00363818 98 01 00 C1 */ stb r0, 0xc1(r1)
+/* 80367BBC 0036381C 88 1B 00 1E */ lbz r0, 0x1e(r27)
+/* 80367BC0 00363820 98 01 00 C2 */ stb r0, 0xc2(r1)
+/* 80367BC4 00363824 88 1B 00 1F */ lbz r0, 0x1f(r27)
+/* 80367BC8 00363828 98 01 00 C3 */ stb r0, 0xc3(r1)
+/* 80367BCC 0036382C 80 1B 00 20 */ lwz r0, 0x20(r27)
+/* 80367BD0 00363830 90 01 00 C4 */ stw r0, 0xc4(r1)
+/* 80367BD4 00363834 80 7B 00 24 */ lwz r3, 0x24(r27)
+/* 80367BD8 00363838 80 1B 00 28 */ lwz r0, 0x28(r27)
+/* 80367BDC 0036383C 90 61 00 C8 */ stw r3, 0xc8(r1)
+/* 80367BE0 00363840 90 01 00 CC */ stw r0, 0xcc(r1)
+/* 80367BE4 00363844 80 7B 00 2C */ lwz r3, 0x2c(r27)
+/* 80367BE8 00363848 80 1B 00 30 */ lwz r0, 0x30(r27)
+/* 80367BEC 0036384C 90 61 00 D0 */ stw r3, 0xd0(r1)
+/* 80367BF0 00363850 90 01 00 D4 */ stw r0, 0xd4(r1)
+/* 80367BF4 00363854 80 1B 00 34 */ lwz r0, 0x34(r27)
+/* 80367BF8 00363858 90 01 00 D8 */ stw r0, 0xd8(r1)
+/* 80367BFC 0036385C 80 7B 00 38 */ lwz r3, 0x38(r27)
+/* 80367C00 00363860 80 1B 00 3C */ lwz r0, 0x3c(r27)
+/* 80367C04 00363864 90 61 00 DC */ stw r3, 0xdc(r1)
+/* 80367C08 00363868 90 01 00 E0 */ stw r0, 0xe0(r1)
+/* 80367C0C 0036386C 88 1B 00 40 */ lbz r0, 0x40(r27)
+/* 80367C10 00363870 98 01 00 E4 */ stb r0, 0xe4(r1)
+/* 80367C14 00363874 88 1B 00 41 */ lbz r0, 0x41(r27)
+/* 80367C18 00363878 98 01 00 E5 */ stb r0, 0xe5(r1)
+/* 80367C1C 0036387C 88 1B 00 42 */ lbz r0, 0x42(r27)
+/* 80367C20 00363880 98 01 00 E6 */ stb r0, 0xe6(r1)
+/* 80367C24 00363884 88 1B 00 43 */ lbz r0, 0x43(r27)
+/* 80367C28 00363888 98 01 00 E7 */ stb r0, 0xe7(r1)
+/* 80367C2C 0036388C C0 1B 00 44 */ lfs f0, 0x44(r27)
+/* 80367C30 00363890 D0 01 00 E8 */ stfs f0, 0xe8(r1)
+/* 80367C34 00363894 80 1B 00 48 */ lwz r0, 0x48(r27)
+/* 80367C38 00363898 7F E6 FB 78 */ mr r6, r31
+/* 80367C3C 0036389C 38 61 00 A4 */ addi r3, r1, 0xa4
+/* 80367C40 003638A0 38 81 00 20 */ addi r4, r1, 0x20
+/* 80367C44 003638A4 90 01 00 EC */ stw r0, 0xec(r1)
+/* 80367C48 003638A8 38 A1 00 0C */ addi r5, r1, 0xc
+/* 80367C4C 003638AC C0 1B 00 4C */ lfs f0, 0x4c(r27)
+/* 80367C50 003638B0 D0 01 00 F0 */ stfs f0, 0xf0(r1)
+/* 80367C54 003638B4 C0 1B 00 50 */ lfs f0, 0x50(r27)
+/* 80367C58 003638B8 D0 01 00 F4 */ stfs f0, 0xf4(r1)
+/* 80367C5C 003638BC C0 1B 00 54 */ lfs f0, 0x54(r27)
+/* 80367C60 003638C0 D0 01 00 F8 */ stfs f0, 0xf8(r1)
+/* 80367C64 003638C4 80 1B 00 58 */ lwz r0, 0x58(r27)
+/* 80367C68 003638C8 90 01 00 FC */ stw r0, 0xfc(r1)
+/* 80367C6C 003638CC 80 1B 00 5C */ lwz r0, 0x5c(r27)
+/* 80367C70 003638D0 90 01 01 00 */ stw r0, 0x100(r1)
+/* 80367C74 003638D4 80 1B 00 60 */ lwz r0, 0x60(r27)
+/* 80367C78 003638D8 90 01 01 04 */ stw r0, 0x104(r1)
+/* 80367C7C 003638DC D0 21 00 D0 */ stfs f1, 0xd0(r1)
+/* 80367C80 003638E0 D0 21 00 D4 */ stfs f1, 0xd4(r1)
+/* 80367C84 003638E4 4B FF E9 55 */ bl CalcLineRectImpl__Q34nw4r2ut17TextWriterBase$0w$1FPQ34nw4r2ut4RectPPCwi
+/* 80367C88 003638E8 C0 21 00 28 */ lfs f1, 0x28(r1)
+/* 80367C8C 003638EC 38 61 00 A4 */ addi r3, r1, 0xa4
+/* 80367C90 003638F0 C0 01 00 20 */ lfs f0, 0x20(r1)
+/* 80367C94 003638F4 38 80 00 00 */ li r4, 0
+/* 80367C98 003638F8 EF C1 00 28 */ fsubs f30, f1, f0
+/* 80367C9C 003638FC 4B FF CE 09 */ bl __dt__Q34nw4r2ut10CharWriterFv
+/* 80367CA0 00363900 EC 5F F0 28 */ fsubs f2, f31, f30
+/* 80367CA4 00363904 C0 22 A5 40 */ lfs f1, lbl_80642B40-_SDA2_BASE_(r2)
+/* 80367CA8 00363908 C0 1C 00 00 */ lfs f0, 0(r28)
+/* 80367CAC 0036390C EC 22 00 72 */ fmuls f1, f2, f1
+/* 80367CB0 00363910 EC 00 08 2A */ fadds f0, f0, f1
+/* 80367CB4 00363914 D0 1B 00 2C */ stfs f0, 0x2c(r27)
+/* 80367CB8 00363918 48 00 02 14 */ b lbl_80367ECC
+lbl_80367CBC:
+/* 80367CBC 0036391C 28 00 00 02 */ cmplwi r0, 2
+/* 80367CC0 00363920 40 82 02 04 */ bne lbl_80367EC4
+/* 80367CC4 00363924 C0 22 A5 34 */ lfs f1, lbl_80642B34-_SDA2_BASE_(r2)
+/* 80367CC8 00363928 93 C1 00 08 */ stw r30, 8(r1)
+/* 80367CCC 0036392C D0 21 00 10 */ stfs f1, 0x10(r1)
+/* 80367CD0 00363930 D0 21 00 14 */ stfs f1, 0x14(r1)
+/* 80367CD4 00363934 D0 21 00 18 */ stfs f1, 0x18(r1)
+/* 80367CD8 00363938 D0 21 00 1C */ stfs f1, 0x1c(r1)
+/* 80367CDC 0036393C 88 1B 00 00 */ lbz r0, 0(r27)
+/* 80367CE0 00363940 98 01 00 40 */ stb r0, 0x40(r1)
+/* 80367CE4 00363944 88 1B 00 01 */ lbz r0, 1(r27)
+/* 80367CE8 00363948 98 01 00 41 */ stb r0, 0x41(r1)
+/* 80367CEC 0036394C 88 1B 00 02 */ lbz r0, 2(r27)
+/* 80367CF0 00363950 98 01 00 42 */ stb r0, 0x42(r1)
+/* 80367CF4 00363954 88 1B 00 03 */ lbz r0, 3(r27)
+/* 80367CF8 00363958 98 01 00 43 */ stb r0, 0x43(r1)
+/* 80367CFC 0036395C 88 1B 00 04 */ lbz r0, 4(r27)
+/* 80367D00 00363960 98 01 00 44 */ stb r0, 0x44(r1)
+/* 80367D04 00363964 88 1B 00 05 */ lbz r0, 5(r27)
+/* 80367D08 00363968 98 01 00 45 */ stb r0, 0x45(r1)
+/* 80367D0C 0036396C 88 1B 00 06 */ lbz r0, 6(r27)
+/* 80367D10 00363970 98 01 00 46 */ stb r0, 0x46(r1)
+/* 80367D14 00363974 88 1B 00 07 */ lbz r0, 7(r27)
+/* 80367D18 00363978 98 01 00 47 */ stb r0, 0x47(r1)
+/* 80367D1C 0036397C 88 1B 00 08 */ lbz r0, 8(r27)
+/* 80367D20 00363980 98 01 00 48 */ stb r0, 0x48(r1)
+/* 80367D24 00363984 88 1B 00 09 */ lbz r0, 9(r27)
+/* 80367D28 00363988 98 01 00 49 */ stb r0, 0x49(r1)
+/* 80367D2C 0036398C 88 1B 00 0A */ lbz r0, 0xa(r27)
+/* 80367D30 00363990 98 01 00 4A */ stb r0, 0x4a(r1)
+/* 80367D34 00363994 88 1B 00 0B */ lbz r0, 0xb(r27)
+/* 80367D38 00363998 98 01 00 4B */ stb r0, 0x4b(r1)
+/* 80367D3C 0036399C 88 1B 00 0C */ lbz r0, 0xc(r27)
+/* 80367D40 003639A0 98 01 00 4C */ stb r0, 0x4c(r1)
+/* 80367D44 003639A4 88 1B 00 0D */ lbz r0, 0xd(r27)
+/* 80367D48 003639A8 98 01 00 4D */ stb r0, 0x4d(r1)
+/* 80367D4C 003639AC 88 1B 00 0E */ lbz r0, 0xe(r27)
+/* 80367D50 003639B0 98 01 00 4E */ stb r0, 0x4e(r1)
+/* 80367D54 003639B4 88 1B 00 0F */ lbz r0, 0xf(r27)
+/* 80367D58 003639B8 98 01 00 4F */ stb r0, 0x4f(r1)
+/* 80367D5C 003639BC 88 1B 00 10 */ lbz r0, 0x10(r27)
+/* 80367D60 003639C0 98 01 00 50 */ stb r0, 0x50(r1)
+/* 80367D64 003639C4 88 1B 00 11 */ lbz r0, 0x11(r27)
+/* 80367D68 003639C8 98 01 00 51 */ stb r0, 0x51(r1)
+/* 80367D6C 003639CC 88 1B 00 12 */ lbz r0, 0x12(r27)
+/* 80367D70 003639D0 98 01 00 52 */ stb r0, 0x52(r1)
+/* 80367D74 003639D4 88 1B 00 13 */ lbz r0, 0x13(r27)
+/* 80367D78 003639D8 98 01 00 53 */ stb r0, 0x53(r1)
+/* 80367D7C 003639DC 88 1B 00 14 */ lbz r0, 0x14(r27)
+/* 80367D80 003639E0 98 01 00 54 */ stb r0, 0x54(r1)
+/* 80367D84 003639E4 88 1B 00 15 */ lbz r0, 0x15(r27)
+/* 80367D88 003639E8 98 01 00 55 */ stb r0, 0x55(r1)
+/* 80367D8C 003639EC 88 1B 00 16 */ lbz r0, 0x16(r27)
+/* 80367D90 003639F0 98 01 00 56 */ stb r0, 0x56(r1)
+/* 80367D94 003639F4 88 1B 00 17 */ lbz r0, 0x17(r27)
+/* 80367D98 003639F8 98 01 00 57 */ stb r0, 0x57(r1)
+/* 80367D9C 003639FC 88 1B 00 18 */ lbz r0, 0x18(r27)
+/* 80367DA0 00363A00 98 01 00 58 */ stb r0, 0x58(r1)
+/* 80367DA4 00363A04 88 1B 00 19 */ lbz r0, 0x19(r27)
+/* 80367DA8 00363A08 98 01 00 59 */ stb r0, 0x59(r1)
+/* 80367DAC 00363A0C 88 1B 00 1A */ lbz r0, 0x1a(r27)
+/* 80367DB0 00363A10 98 01 00 5A */ stb r0, 0x5a(r1)
+/* 80367DB4 00363A14 88 1B 00 1B */ lbz r0, 0x1b(r27)
+/* 80367DB8 00363A18 98 01 00 5B */ stb r0, 0x5b(r1)
+/* 80367DBC 00363A1C 88 1B 00 1C */ lbz r0, 0x1c(r27)
+/* 80367DC0 00363A20 98 01 00 5C */ stb r0, 0x5c(r1)
+/* 80367DC4 00363A24 88 1B 00 1D */ lbz r0, 0x1d(r27)
+/* 80367DC8 00363A28 98 01 00 5D */ stb r0, 0x5d(r1)
+/* 80367DCC 00363A2C 88 1B 00 1E */ lbz r0, 0x1e(r27)
+/* 80367DD0 00363A30 98 01 00 5E */ stb r0, 0x5e(r1)
+/* 80367DD4 00363A34 88 1B 00 1F */ lbz r0, 0x1f(r27)
+/* 80367DD8 00363A38 98 01 00 5F */ stb r0, 0x5f(r1)
+/* 80367DDC 00363A3C 80 1B 00 20 */ lwz r0, 0x20(r27)
+/* 80367DE0 00363A40 90 01 00 60 */ stw r0, 0x60(r1)
+/* 80367DE4 00363A44 80 7B 00 24 */ lwz r3, 0x24(r27)
+/* 80367DE8 00363A48 80 1B 00 28 */ lwz r0, 0x28(r27)
+/* 80367DEC 00363A4C 90 61 00 64 */ stw r3, 0x64(r1)
+/* 80367DF0 00363A50 90 01 00 68 */ stw r0, 0x68(r1)
+/* 80367DF4 00363A54 80 7B 00 2C */ lwz r3, 0x2c(r27)
+/* 80367DF8 00363A58 80 1B 00 30 */ lwz r0, 0x30(r27)
+/* 80367DFC 00363A5C 90 61 00 6C */ stw r3, 0x6c(r1)
+/* 80367E00 00363A60 90 01 00 70 */ stw r0, 0x70(r1)
+/* 80367E04 00363A64 80 1B 00 34 */ lwz r0, 0x34(r27)
+/* 80367E08 00363A68 90 01 00 74 */ stw r0, 0x74(r1)
+/* 80367E0C 00363A6C 80 7B 00 38 */ lwz r3, 0x38(r27)
+/* 80367E10 00363A70 80 1B 00 3C */ lwz r0, 0x3c(r27)
+/* 80367E14 00363A74 90 61 00 78 */ stw r3, 0x78(r1)
+/* 80367E18 00363A78 90 01 00 7C */ stw r0, 0x7c(r1)
+/* 80367E1C 00363A7C 88 1B 00 40 */ lbz r0, 0x40(r27)
+/* 80367E20 00363A80 98 01 00 80 */ stb r0, 0x80(r1)
+/* 80367E24 00363A84 88 1B 00 41 */ lbz r0, 0x41(r27)
+/* 80367E28 00363A88 98 01 00 81 */ stb r0, 0x81(r1)
+/* 80367E2C 00363A8C 88 1B 00 42 */ lbz r0, 0x42(r27)
+/* 80367E30 00363A90 98 01 00 82 */ stb r0, 0x82(r1)
+/* 80367E34 00363A94 88 1B 00 43 */ lbz r0, 0x43(r27)
+/* 80367E38 00363A98 98 01 00 83 */ stb r0, 0x83(r1)
+/* 80367E3C 00363A9C C0 1B 00 44 */ lfs f0, 0x44(r27)
+/* 80367E40 00363AA0 D0 01 00 84 */ stfs f0, 0x84(r1)
+/* 80367E44 00363AA4 80 1B 00 48 */ lwz r0, 0x48(r27)
+/* 80367E48 00363AA8 7F E6 FB 78 */ mr r6, r31
+/* 80367E4C 00363AAC 38 61 00 40 */ addi r3, r1, 0x40
+/* 80367E50 00363AB0 38 81 00 10 */ addi r4, r1, 0x10
+/* 80367E54 00363AB4 90 01 00 88 */ stw r0, 0x88(r1)
+/* 80367E58 00363AB8 38 A1 00 08 */ addi r5, r1, 8
+/* 80367E5C 00363ABC C0 1B 00 4C */ lfs f0, 0x4c(r27)
+/* 80367E60 00363AC0 D0 01 00 8C */ stfs f0, 0x8c(r1)
+/* 80367E64 00363AC4 C0 1B 00 50 */ lfs f0, 0x50(r27)
+/* 80367E68 00363AC8 D0 01 00 90 */ stfs f0, 0x90(r1)
+/* 80367E6C 00363ACC C0 1B 00 54 */ lfs f0, 0x54(r27)
+/* 80367E70 00363AD0 D0 01 00 94 */ stfs f0, 0x94(r1)
+/* 80367E74 00363AD4 80 1B 00 58 */ lwz r0, 0x58(r27)
+/* 80367E78 00363AD8 90 01 00 98 */ stw r0, 0x98(r1)
+/* 80367E7C 00363ADC 80 1B 00 5C */ lwz r0, 0x5c(r27)
+/* 80367E80 00363AE0 90 01 00 9C */ stw r0, 0x9c(r1)
+/* 80367E84 00363AE4 80 1B 00 60 */ lwz r0, 0x60(r27)
+/* 80367E88 00363AE8 90 01 00 A0 */ stw r0, 0xa0(r1)
+/* 80367E8C 00363AEC D0 21 00 6C */ stfs f1, 0x6c(r1)
+/* 80367E90 00363AF0 D0 21 00 70 */ stfs f1, 0x70(r1)
+/* 80367E94 00363AF4 4B FF E7 45 */ bl CalcLineRectImpl__Q34nw4r2ut17TextWriterBase$0w$1FPQ34nw4r2ut4RectPPCwi
+/* 80367E98 00363AF8 C0 21 00 18 */ lfs f1, 0x18(r1)
+/* 80367E9C 00363AFC 38 61 00 40 */ addi r3, r1, 0x40
+/* 80367EA0 00363B00 C0 01 00 10 */ lfs f0, 0x10(r1)
+/* 80367EA4 00363B04 38 80 00 00 */ li r4, 0
+/* 80367EA8 00363B08 EF C1 00 28 */ fsubs f30, f1, f0
+/* 80367EAC 00363B0C 4B FF CB F9 */ bl __dt__Q34nw4r2ut10CharWriterFv
+/* 80367EB0 00363B10 EC 3F F0 28 */ fsubs f1, f31, f30
+/* 80367EB4 00363B14 C0 1C 00 00 */ lfs f0, 0(r28)
+/* 80367EB8 00363B18 EC 00 08 2A */ fadds f0, f0, f1
+/* 80367EBC 00363B1C D0 1B 00 2C */ stfs f0, 0x2c(r27)
+/* 80367EC0 00363B20 48 00 00 0C */ b lbl_80367ECC
+lbl_80367EC4:
+/* 80367EC4 00363B24 C0 1C 00 00 */ lfs f0, 0(r28)
+/* 80367EC8 00363B28 D0 1B 00 2C */ stfs f0, 0x2c(r27)
+lbl_80367ECC:
+/* 80367ECC 00363B2C 80 1B 00 5C */ lwz r0, 0x5c(r27)
+/* 80367ED0 00363B30 54 00 05 AE */ rlwinm r0, r0, 0, 0x16, 0x17
+/* 80367ED4 00363B34 28 00 03 00 */ cmplwi r0, 0x300
+/* 80367ED8 00363B38 40 82 00 10 */ bne lbl_80367EE8
+/* 80367EDC 00363B3C C0 1D 00 00 */ lfs f0, 0(r29)
+/* 80367EE0 00363B40 D0 1B 00 30 */ stfs f0, 0x30(r27)
+/* 80367EE4 00363B44 48 00 00 18 */ b lbl_80367EFC
+lbl_80367EE8:
+/* 80367EE8 00363B48 7F 63 DB 78 */ mr r3, r27
+/* 80367EEC 00363B4C 4B FF D7 D5 */ bl GetFontAscent__Q34nw4r2ut10CharWriterCFv
+/* 80367EF0 00363B50 C0 1D 00 00 */ lfs f0, 0(r29)
+/* 80367EF4 00363B54 EC 00 08 2A */ fadds f0, f0, f1
+/* 80367EF8 00363B58 D0 1B 00 30 */ stfs f0, 0x30(r27)
+lbl_80367EFC:
+/* 80367EFC 00363B5C FC 20 F8 90 */ fmr f1, f31
+/* 80367F00 00363B60 E3 E1 01 A8 */ psq_l f31, 424(r1), 0, qr0
+/* 80367F04 00363B64 CB E1 01 A0 */ lfd f31, 0x1a0(r1)
+/* 80367F08 00363B68 E3 C1 01 98 */ psq_l f30, 408(r1), 0, qr0
+/* 80367F0C 00363B6C CB C1 01 90 */ lfd f30, 0x190(r1)
+/* 80367F10 00363B70 39 61 01 90 */ addi r11, r1, 0x190
+/* 80367F14 00363B74 4B E5 F2 61 */ bl _restgpr_27
+/* 80367F18 00363B78 80 01 01 B4 */ lwz r0, 0x1b4(r1)
+/* 80367F1C 00363B7C 7C 08 03 A6 */ mtlr r0
+/* 80367F20 00363B80 38 21 01 B0 */ addi r1, r1, 0x1b0
+/* 80367F24 00363B84 4E 80 00 20 */ blr
+
+.global __sinit_$3ut_TextWriterBase_cpp
+__sinit_$3ut_TextWriterBase_cpp:
+/* 80367F28 00363B88 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80367F2C 00363B8C 7C 08 02 A6 */ mflr r0
+/* 80367F30 00363B90 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80367F34 00363B94 88 0D B1 D0 */ lbz r0, lbl_80640490-_SDA_BASE_(r13)
+/* 80367F38 00363B98 7C 00 07 75 */ extsb. r0, r0
+/* 80367F3C 00363B9C 40 82 00 2C */ bne lbl_80367F68
+/* 80367F40 00363BA0 38 6D B1 C8 */ addi r3, r13, lbl_80640488-_SDA_BASE_
+/* 80367F44 00363BA4 4B FF AE E5 */ bl __ct__Q34nw4r2ut19TagProcessorBase$0c$1Fv
+/* 80367F48 00363BA8 3C 80 80 36 */ lis r4, __dt__Q34nw4r2ut19TagProcessorBase$0c$1Fv@ha
+/* 80367F4C 00363BAC 3C A0 80 62 */ lis r5, lbl_80621728@ha
+/* 80367F50 00363BB0 38 84 2E 38 */ addi r4, r4, __dt__Q34nw4r2ut19TagProcessorBase$0c$1Fv@l
+/* 80367F54 00363BB4 38 6D B1 C8 */ addi r3, r13, lbl_80640488-_SDA_BASE_
+/* 80367F58 00363BB8 38 A5 17 28 */ addi r5, r5, lbl_80621728@l
+/* 80367F5C 00363BBC 4B E5 EC ED */ bl __register_global_object_tmp
+/* 80367F60 00363BC0 38 00 00 01 */ li r0, 1
+/* 80367F64 00363BC4 98 0D B1 D0 */ stb r0, lbl_80640490-_SDA_BASE_(r13)
+lbl_80367F68:
+/* 80367F68 00363BC8 88 0D B1 D1 */ lbz r0, lbl_80640491-_SDA_BASE_(r13)
+/* 80367F6C 00363BCC 7C 00 07 75 */ extsb. r0, r0
+/* 80367F70 00363BD0 40 82 00 2C */ bne lbl_80367F9C
+/* 80367F74 00363BD4 38 6D B1 CC */ addi r3, r13, lbl_8064048C-_SDA_BASE_
+/* 80367F78 00363BD8 4B FF B2 19 */ bl __ct__Q34nw4r2ut19TagProcessorBase$0w$1Fv
+/* 80367F7C 00363BDC 3C 80 80 36 */ lis r4, __dt__Q34nw4r2ut19TagProcessorBase$0w$1Fv@ha
+/* 80367F80 00363BE0 3C A0 80 62 */ lis r5, lbl_80621734@ha
+/* 80367F84 00363BE4 38 84 31 A0 */ addi r4, r4, __dt__Q34nw4r2ut19TagProcessorBase$0w$1Fv@l
+/* 80367F88 00363BE8 38 6D B1 CC */ addi r3, r13, lbl_8064048C-_SDA_BASE_
+/* 80367F8C 00363BEC 38 A5 17 34 */ addi r5, r5, lbl_80621734@l
+/* 80367F90 00363BF0 4B E5 EC B9 */ bl __register_global_object_tmp
+/* 80367F94 00363BF4 38 00 00 01 */ li r0, 1
+/* 80367F98 00363BF8 98 0D B1 D1 */ stb r0, lbl_80640491-_SDA_BASE_(r13)
+lbl_80367F9C:
+/* 80367F9C 00363BFC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80367FA0 00363C00 7C 08 03 A6 */ mtlr r0
+/* 80367FA4 00363C04 38 21 00 10 */ addi r1, r1, 0x10
+/* 80367FA8 00363C08 4E 80 00 20 */ blr
diff --git a/asm/nw4r/ut/ut_binaryFileFormat.s b/asm/nw4r/ut/ut_binaryFileFormat.s new file mode 100644 index 0000000..092a5cf --- /dev/null +++ b/asm/nw4r/ut/ut_binaryFileFormat.s @@ -0,0 +1,39 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global IsValidBinaryFile__Q24nw4r2utFPCQ34nw4r2ut16BinaryFileHeaderUlUsUs
+IsValidBinaryFile__Q24nw4r2utFPCQ34nw4r2ut16BinaryFileHeaderUlUsUs:
+/* 80362CA4 0035E904 80 03 00 00 */ lwz r0, 0(r3)
+/* 80362CA8 0035E908 7C 00 20 40 */ cmplw r0, r4
+/* 80362CAC 0035E90C 41 82 00 0C */ beq lbl_80362CB8
+/* 80362CB0 0035E910 38 60 00 00 */ li r3, 0
+/* 80362CB4 0035E914 4E 80 00 20 */ blr
+lbl_80362CB8:
+/* 80362CB8 0035E918 A0 03 00 04 */ lhz r0, 4(r3)
+/* 80362CBC 0035E91C 28 00 FE FF */ cmplwi r0, 0xfeff
+/* 80362CC0 0035E920 41 82 00 0C */ beq lbl_80362CCC
+/* 80362CC4 0035E924 38 60 00 00 */ li r3, 0
+/* 80362CC8 0035E928 4E 80 00 20 */ blr
+lbl_80362CCC:
+/* 80362CCC 0035E92C A0 03 00 06 */ lhz r0, 6(r3)
+/* 80362CD0 0035E930 7C 00 28 40 */ cmplw r0, r5
+/* 80362CD4 0035E934 41 82 00 0C */ beq lbl_80362CE0
+/* 80362CD8 0035E938 38 60 00 00 */ li r3, 0
+/* 80362CDC 0035E93C 4E 80 00 20 */ blr
+lbl_80362CE0:
+/* 80362CE0 0035E940 54 C4 1B 78 */ rlwinm r4, r6, 3, 0xd, 0x1c
+/* 80362CE4 0035E944 80 A3 00 08 */ lwz r5, 8(r3)
+/* 80362CE8 0035E948 38 04 00 10 */ addi r0, r4, 0x10
+/* 80362CEC 0035E94C 7C 05 00 40 */ cmplw r5, r0
+/* 80362CF0 0035E950 40 80 00 0C */ bge lbl_80362CFC
+/* 80362CF4 0035E954 38 60 00 00 */ li r3, 0
+/* 80362CF8 0035E958 4E 80 00 20 */ blr
+lbl_80362CFC:
+/* 80362CFC 0035E95C A0 63 00 0E */ lhz r3, 0xe(r3)
+/* 80362D00 0035E960 7C 06 18 50 */ subf r0, r6, r3
+/* 80362D04 0035E964 7C 63 33 38 */ orc r3, r3, r6
+/* 80362D08 0035E968 54 00 F8 7E */ srwi r0, r0, 1
+/* 80362D0C 0035E96C 7C 00 18 50 */ subf r0, r0, r3
+/* 80362D10 0035E970 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 80362D14 0035E974 4E 80 00 20 */ blr
diff --git a/asm/nw4r/ut/ut_list.s b/asm/nw4r/ut/ut_list.s new file mode 100644 index 0000000..9216661 --- /dev/null +++ b/asm/nw4r/ut/ut_list.s @@ -0,0 +1,117 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global List_Init__Q24nw4r2utFPQ34nw4r2ut4ListUs
+List_Init__Q24nw4r2utFPQ34nw4r2ut4ListUs:
+/* 803629D8 0035E638 38 00 00 00 */ li r0, 0
+/* 803629DC 0035E63C B0 83 00 0A */ sth r4, 0xa(r3)
+/* 803629E0 0035E640 90 03 00 00 */ stw r0, 0(r3)
+/* 803629E4 0035E644 90 03 00 04 */ stw r0, 4(r3)
+/* 803629E8 0035E648 B0 03 00 08 */ sth r0, 8(r3)
+/* 803629EC 0035E64C 4E 80 00 20 */ blr
+
+.global List_Append__Q24nw4r2utFPQ34nw4r2ut4ListPv
+List_Append__Q24nw4r2utFPQ34nw4r2ut4ListPv:
+/* 803629F0 0035E650 80 03 00 00 */ lwz r0, 0(r3)
+/* 803629F4 0035E654 2C 00 00 00 */ cmpwi r0, 0
+/* 803629F8 0035E658 40 82 00 30 */ bne lbl_80362A28
+/* 803629FC 0035E65C A0 A3 00 0A */ lhz r5, 0xa(r3)
+/* 80362A00 0035E660 38 00 00 00 */ li r0, 0
+/* 80362A04 0035E664 7C A4 2A 14 */ add r5, r4, r5
+/* 80362A08 0035E668 90 05 00 04 */ stw r0, 4(r5)
+/* 80362A0C 0035E66C 90 05 00 00 */ stw r0, 0(r5)
+/* 80362A10 0035E670 A0 A3 00 08 */ lhz r5, 8(r3)
+/* 80362A14 0035E674 90 83 00 00 */ stw r4, 0(r3)
+/* 80362A18 0035E678 38 05 00 01 */ addi r0, r5, 1
+/* 80362A1C 0035E67C 90 83 00 04 */ stw r4, 4(r3)
+/* 80362A20 0035E680 B0 03 00 08 */ sth r0, 8(r3)
+/* 80362A24 0035E684 4E 80 00 20 */ blr
+lbl_80362A28:
+/* 80362A28 0035E688 A0 C3 00 0A */ lhz r6, 0xa(r3)
+/* 80362A2C 0035E68C 38 00 00 00 */ li r0, 0
+/* 80362A30 0035E690 80 A3 00 04 */ lwz r5, 4(r3)
+/* 80362A34 0035E694 7C A6 21 6E */ stwux r5, r6, r4
+/* 80362A38 0035E698 90 06 00 04 */ stw r0, 4(r6)
+/* 80362A3C 0035E69C 80 A3 00 04 */ lwz r5, 4(r3)
+/* 80362A40 0035E6A0 A0 03 00 0A */ lhz r0, 0xa(r3)
+/* 80362A44 0035E6A4 7C A5 02 14 */ add r5, r5, r0
+/* 80362A48 0035E6A8 90 85 00 04 */ stw r4, 4(r5)
+/* 80362A4C 0035E6AC A0 A3 00 08 */ lhz r5, 8(r3)
+/* 80362A50 0035E6B0 90 83 00 04 */ stw r4, 4(r3)
+/* 80362A54 0035E6B4 38 05 00 01 */ addi r0, r5, 1
+/* 80362A58 0035E6B8 B0 03 00 08 */ sth r0, 8(r3)
+/* 80362A5C 0035E6BC 4E 80 00 20 */ blr
+
+.global List_Remove__Q24nw4r2utFPQ34nw4r2ut4ListPv
+List_Remove__Q24nw4r2utFPQ34nw4r2ut4ListPv:
+/* 80362A60 0035E6C0 A0 A3 00 0A */ lhz r5, 0xa(r3)
+/* 80362A64 0035E6C4 7C C4 2A 14 */ add r6, r4, r5
+/* 80362A68 0035E6C8 7C 84 28 2E */ lwzx r4, r4, r5
+/* 80362A6C 0035E6CC 2C 04 00 00 */ cmpwi r4, 0
+/* 80362A70 0035E6D0 40 82 00 10 */ bne lbl_80362A80
+/* 80362A74 0035E6D4 80 06 00 04 */ lwz r0, 4(r6)
+/* 80362A78 0035E6D8 90 03 00 00 */ stw r0, 0(r3)
+/* 80362A7C 0035E6DC 48 00 00 10 */ b lbl_80362A8C
+lbl_80362A80:
+/* 80362A80 0035E6E0 80 06 00 04 */ lwz r0, 4(r6)
+/* 80362A84 0035E6E4 7C 84 2A 14 */ add r4, r4, r5
+/* 80362A88 0035E6E8 90 04 00 04 */ stw r0, 4(r4)
+lbl_80362A8C:
+/* 80362A8C 0035E6EC 80 A6 00 04 */ lwz r5, 4(r6)
+/* 80362A90 0035E6F0 2C 05 00 00 */ cmpwi r5, 0
+/* 80362A94 0035E6F4 40 82 00 10 */ bne lbl_80362AA4
+/* 80362A98 0035E6F8 80 06 00 00 */ lwz r0, 0(r6)
+/* 80362A9C 0035E6FC 90 03 00 04 */ stw r0, 4(r3)
+/* 80362AA0 0035E700 48 00 00 10 */ b lbl_80362AB0
+lbl_80362AA4:
+/* 80362AA4 0035E704 80 86 00 00 */ lwz r4, 0(r6)
+/* 80362AA8 0035E708 A0 03 00 0A */ lhz r0, 0xa(r3)
+/* 80362AAC 0035E70C 7C 85 01 2E */ stwx r4, r5, r0
+lbl_80362AB0:
+/* 80362AB0 0035E710 38 00 00 00 */ li r0, 0
+/* 80362AB4 0035E714 90 06 00 00 */ stw r0, 0(r6)
+/* 80362AB8 0035E718 90 06 00 04 */ stw r0, 4(r6)
+/* 80362ABC 0035E71C A0 83 00 08 */ lhz r4, 8(r3)
+/* 80362AC0 0035E720 38 04 FF FF */ addi r0, r4, -1
+/* 80362AC4 0035E724 B0 03 00 08 */ sth r0, 8(r3)
+/* 80362AC8 0035E728 4E 80 00 20 */ blr
+
+.global List_GetNext__Q24nw4r2utFPCQ34nw4r2ut4ListPCv
+List_GetNext__Q24nw4r2utFPCQ34nw4r2ut4ListPCv:
+/* 80362ACC 0035E72C 2C 04 00 00 */ cmpwi r4, 0
+/* 80362AD0 0035E730 40 82 00 0C */ bne lbl_80362ADC
+/* 80362AD4 0035E734 80 63 00 00 */ lwz r3, 0(r3)
+/* 80362AD8 0035E738 4E 80 00 20 */ blr
+lbl_80362ADC:
+/* 80362ADC 0035E73C A0 03 00 0A */ lhz r0, 0xa(r3)
+/* 80362AE0 0035E740 7C 64 02 14 */ add r3, r4, r0
+/* 80362AE4 0035E744 80 63 00 04 */ lwz r3, 4(r3)
+/* 80362AE8 0035E748 4E 80 00 20 */ blr
+
+.global List_GetNth__Q24nw4r2utFPCQ34nw4r2ut4ListUs
+List_GetNth__Q24nw4r2utFPCQ34nw4r2ut4ListUs:
+/* 80362AEC 0035E74C 38 C0 00 00 */ li r6, 0
+/* 80362AF0 0035E750 38 A0 00 00 */ li r5, 0
+/* 80362AF4 0035E754 48 00 00 18 */ b lbl_80362B0C
+lbl_80362AF8:
+/* 80362AF8 0035E758 7C 04 30 00 */ cmpw r4, r6
+/* 80362AFC 0035E75C 40 82 00 0C */ bne lbl_80362B08
+/* 80362B00 0035E760 7C A3 2B 78 */ mr r3, r5
+/* 80362B04 0035E764 4E 80 00 20 */ blr
+lbl_80362B08:
+/* 80362B08 0035E768 38 C6 00 01 */ addi r6, r6, 1
+lbl_80362B0C:
+/* 80362B0C 0035E76C 2C 05 00 00 */ cmpwi r5, 0
+/* 80362B10 0035E770 41 82 00 14 */ beq lbl_80362B24
+/* 80362B14 0035E774 A0 03 00 0A */ lhz r0, 0xa(r3)
+/* 80362B18 0035E778 7C A5 02 14 */ add r5, r5, r0
+/* 80362B1C 0035E77C 80 A5 00 04 */ lwz r5, 4(r5)
+/* 80362B20 0035E780 48 00 00 08 */ b lbl_80362B28
+lbl_80362B24:
+/* 80362B24 0035E784 80 A3 00 00 */ lwz r5, 0(r3)
+lbl_80362B28:
+/* 80362B28 0035E788 2C 05 00 00 */ cmpwi r5, 0
+/* 80362B2C 0035E78C 40 82 FF CC */ bne lbl_80362AF8
+/* 80362B30 0035E790 38 60 00 00 */ li r3, 0
+/* 80362B34 0035E794 4E 80 00 20 */ blr
|