diff options
Diffstat (limited to 'asm/SDK')
| -rw-r--r-- | asm/SDK/OS/OSFatal.s | 4 | ||||
| -rw-r--r-- | asm/SDK/OS/OSFont.s | 928 | 
2 files changed, 930 insertions, 2 deletions
| diff --git a/asm/SDK/OS/OSFatal.s b/asm/SDK/OS/OSFatal.s index 1872ca2..611f14c 100644 --- a/asm/SDK/OS/OSFatal.s +++ b/asm/SDK/OS/OSFatal.s @@ -137,7 +137,7 @@ lbl_8026CF0C:  /* 8026D064 00268CC4  38 E1 00 08 */	addi r7, r1, 8
  /* 8026D068 00268CC8  38 A0 00 00 */	li r5, 0
  /* 8026D06C 00268CCC  38 C0 00 06 */	li r6, 6
 -/* 8026D070 00268CD0  48 00 14 5D */	bl func_8026E4CC
 +/* 8026D070 00268CD0  48 00 14 5D */	bl OSGetFontTexel
  /* 8026D074 00268CD4  7C 6A 1B 78 */	mr r10, r3
  /* 8026D078 00268CD8  38 E0 00 00 */	li r7, 0
  /* 8026D07C 00268CDC  38 60 00 00 */	li r3, 0
 @@ -461,7 +461,7 @@ Halt:  /* 8026D508 00269168  4B FF CB ED */	bl OSGetArenaLo
  /* 8026D50C 0026916C  7C 64 1B 78 */	mr r4, r3
  /* 8026D510 00269170  7F E3 FB 78 */	mr r3, r31
 -/* 8026D514 00269174  48 00 0B D9 */	bl func_8026E0EC
 +/* 8026D514 00269174  48 00 0B D9 */	bl OSLoadFont
  /* 8026D518 00269178  3C 60 00 09 */	lis r3, 0x00096000@ha
  /* 8026D51C 0026917C  38 80 00 20 */	li r4, 0x20
  /* 8026D520 00269180  38 63 60 00 */	addi r3, r3, 0x00096000@l
 diff --git a/asm/SDK/OS/OSFont.s b/asm/SDK/OS/OSFont.s new file mode 100644 index 0000000..8b05f8b --- /dev/null +++ b/asm/SDK/OS/OSFont.s @@ -0,0 +1,928 @@ +.include "macros.inc"
 +
 +.section .text, "ax"  # 0x80006980 - 0x803E1E60
 +
 +.global GetFontCode
 +GetFontCode:
 +/* 8026DA94 002696F4  28 03 00 01 */	cmplwi r3, 1
 +/* 8026DA98 002696F8  40 82 01 10 */	bne lbl_8026DBA8
 +/* 8026DA9C 002696FC  28 04 00 20 */	cmplwi r4, 0x20
 +/* 8026DAA0 00269700  41 80 00 24 */	blt lbl_8026DAC4
 +/* 8026DAA4 00269704  28 04 00 DF */	cmplwi r4, 0xdf
 +/* 8026DAA8 00269708  41 81 00 1C */	bgt lbl_8026DAC4
 +/* 8026DAAC 0026970C  38 04 FF E0 */	addi r0, r4, -32
 +/* 8026DAB0 00269710  3C 60 80 42 */	lis r3, lbl_804271C8@ha
 +/* 8026DAB4 00269714  54 00 08 3C */	slwi r0, r0, 1
 +/* 8026DAB8 00269718  38 63 71 C8 */	addi r3, r3, lbl_804271C8@l
 +/* 8026DABC 0026971C  7C 63 02 2E */	lhzx r3, r3, r0
 +/* 8026DAC0 00269720  4E 80 00 20 */	blr
 +lbl_8026DAC4:
 +/* 8026DAC4 00269724  28 04 88 9E */	cmplwi r4, 0x889e
 +/* 8026DAC8 00269728  40 81 00 68 */	ble lbl_8026DB30
 +/* 8026DACC 0026972C  28 04 98 72 */	cmplwi r4, 0x9872
 +/* 8026DAD0 00269730  41 81 00 60 */	bgt lbl_8026DB30
 +/* 8026DAD4 00269734  54 83 C6 3E */	rlwinm r3, r4, 0x18, 0x18, 0x1f
 +/* 8026DAD8 00269738  54 84 06 3E */	clrlwi r4, r4, 0x18
 +/* 8026DADC 0026973C  38 63 FF 78 */	addi r3, r3, -136
 +/* 8026DAE0 00269740  38 00 00 00 */	li r0, 0
 +/* 8026DAE4 00269744  28 04 00 40 */	cmplwi r4, 0x40
 +/* 8026DAE8 00269748  1C 63 00 BC */	mulli r3, r3, 0xbc
 +/* 8026DAEC 0026974C  41 80 00 18 */	blt lbl_8026DB04
 +/* 8026DAF0 00269750  28 04 00 FC */	cmplwi r4, 0xfc
 +/* 8026DAF4 00269754  41 81 00 10 */	bgt lbl_8026DB04
 +/* 8026DAF8 00269758  28 04 00 7F */	cmplwi r4, 0x7f
 +/* 8026DAFC 0026975C  41 82 00 08 */	beq lbl_8026DB04
 +/* 8026DB00 00269760  38 00 00 01 */	li r0, 1
 +lbl_8026DB04:
 +/* 8026DB04 00269764  2C 00 00 00 */	cmpwi r0, 0
 +/* 8026DB08 00269768  40 82 00 0C */	bne lbl_8026DB14
 +/* 8026DB0C 0026976C  38 60 00 00 */	li r3, 0
 +/* 8026DB10 00269770  4E 80 00 20 */	blr
 +lbl_8026DB14:
 +/* 8026DB14 00269774  38 84 FF C0 */	addi r4, r4, -64
 +/* 8026DB18 00269778  2C 04 00 40 */	cmpwi r4, 0x40
 +/* 8026DB1C 0026977C  41 80 00 08 */	blt lbl_8026DB24
 +/* 8026DB20 00269780  38 84 FF FF */	addi r4, r4, -1
 +lbl_8026DB24:
 +/* 8026DB24 00269784  7C 63 22 14 */	add r3, r3, r4
 +/* 8026DB28 00269788  38 63 02 BE */	addi r3, r3, 0x2be
 +/* 8026DB2C 0026978C  4E 80 00 20 */	blr
 +lbl_8026DB30:
 +/* 8026DB30 00269790  28 04 81 40 */	cmplwi r4, 0x8140
 +/* 8026DB34 00269794  41 80 00 8C */	blt lbl_8026DBC0
 +/* 8026DB38 00269798  28 04 87 9E */	cmplwi r4, 0x879e
 +/* 8026DB3C 0026979C  40 80 00 84 */	bge lbl_8026DBC0
 +/* 8026DB40 002697A0  54 83 C6 3E */	rlwinm r3, r4, 0x18, 0x18, 0x1f
 +/* 8026DB44 002697A4  54 84 06 3E */	clrlwi r4, r4, 0x18
 +/* 8026DB48 002697A8  38 63 FF 7F */	addi r3, r3, -129
 +/* 8026DB4C 002697AC  38 00 00 00 */	li r0, 0
 +/* 8026DB50 002697B0  28 04 00 40 */	cmplwi r4, 0x40
 +/* 8026DB54 002697B4  1C 63 00 BC */	mulli r3, r3, 0xbc
 +/* 8026DB58 002697B8  41 80 00 18 */	blt lbl_8026DB70
 +/* 8026DB5C 002697BC  28 04 00 FC */	cmplwi r4, 0xfc
 +/* 8026DB60 002697C0  41 81 00 10 */	bgt lbl_8026DB70
 +/* 8026DB64 002697C4  28 04 00 7F */	cmplwi r4, 0x7f
 +/* 8026DB68 002697C8  41 82 00 08 */	beq lbl_8026DB70
 +/* 8026DB6C 002697CC  38 00 00 01 */	li r0, 1
 +lbl_8026DB70:
 +/* 8026DB70 002697D0  2C 00 00 00 */	cmpwi r0, 0
 +/* 8026DB74 002697D4  40 82 00 0C */	bne lbl_8026DB80
 +/* 8026DB78 002697D8  38 60 00 00 */	li r3, 0
 +/* 8026DB7C 002697DC  4E 80 00 20 */	blr
 +lbl_8026DB80:
 +/* 8026DB80 002697E0  38 84 FF C0 */	addi r4, r4, -64
 +/* 8026DB84 002697E4  2C 04 00 40 */	cmpwi r4, 0x40
 +/* 8026DB88 002697E8  41 80 00 08 */	blt lbl_8026DB90
 +/* 8026DB8C 002697EC  38 84 FF FF */	addi r4, r4, -1
 +lbl_8026DB90:
 +/* 8026DB90 002697F0  7C 03 22 14 */	add r0, r3, r4
 +/* 8026DB94 002697F4  3C 60 80 42 */	lis r3, lbl_80427348@ha
 +/* 8026DB98 002697F8  54 00 08 3C */	slwi r0, r0, 1
 +/* 8026DB9C 002697FC  38 63 73 48 */	addi r3, r3, lbl_80427348@l
 +/* 8026DBA0 00269800  7C 63 02 2E */	lhzx r3, r3, r0
 +/* 8026DBA4 00269804  4E 80 00 20 */	blr
 +lbl_8026DBA8:
 +/* 8026DBA8 00269808  28 04 00 20 */	cmplwi r4, 0x20
 +/* 8026DBAC 0026980C  40 81 00 14 */	ble lbl_8026DBC0
 +/* 8026DBB0 00269810  28 04 00 FF */	cmplwi r4, 0xff
 +/* 8026DBB4 00269814  41 81 00 0C */	bgt lbl_8026DBC0
 +/* 8026DBB8 00269818  38 64 FF E0 */	addi r3, r4, -32
 +/* 8026DBBC 0026981C  4E 80 00 20 */	blr
 +lbl_8026DBC0:
 +/* 8026DBC0 00269820  38 60 00 00 */	li r3, 0
 +/* 8026DBC4 00269824  4E 80 00 20 */	blr
 +
 +.global Decode
 +Decode:
 +/* 8026DBC8 00269828  94 21 FF E0 */	stwu r1, -0x20(r1)
 +/* 8026DBCC 0026982C  7C 08 02 A6 */	mflr r0
 +/* 8026DBD0 00269830  90 01 00 24 */	stw r0, 0x24(r1)
 +/* 8026DBD4 00269834  39 61 00 20 */	addi r11, r1, 0x20
 +/* 8026DBD8 00269838  4B F5 95 4D */	bl _savegpr_26
 +/* 8026DBDC 0026983C  80 A3 00 0C */	lwz r5, 0xc(r3)
 +/* 8026DBE0 00269840  3B C3 00 10 */	addi r30, r3, 0x10
 +/* 8026DBE4 00269844  80 03 00 04 */	lwz r0, 4(r3)
 +/* 8026DBE8 00269848  39 00 00 00 */	li r8, 0
 +/* 8026DBEC 0026984C  7F A3 2A 14 */	add r29, r3, r5
 +/* 8026DBF0 00269850  81 23 00 08 */	lwz r9, 8(r3)
 +/* 8026DBF4 00269854  39 60 00 00 */	li r11, 0
 +/* 8026DBF8 00269858  3C A0 80 00 */	lis r5, 0x8000
 +lbl_8026DBFC:
 +/* 8026DBFC 0026985C  2C 0B 00 00 */	cmpwi r11, 0
 +/* 8026DC00 00269860  40 82 00 10 */	bne lbl_8026DC10
 +/* 8026DC04 00269864  81 9E 00 00 */	lwz r12, 0(r30)
 +/* 8026DC08 00269868  39 60 00 20 */	li r11, 0x20
 +/* 8026DC0C 0026986C  3B DE 00 04 */	addi r30, r30, 4
 +lbl_8026DC10:
 +/* 8026DC10 00269870  55 86 00 01 */	rlwinm. r6, r12, 0, 0, 0
 +/* 8026DC14 00269874  41 82 00 18 */	beq lbl_8026DC2C
 +/* 8026DC18 00269878  88 DD 00 00 */	lbz r6, 0(r29)
 +/* 8026DC1C 0026987C  3B BD 00 01 */	addi r29, r29, 1
 +/* 8026DC20 00269880  7C C4 41 AE */	stbx r6, r4, r8
 +/* 8026DC24 00269884  39 08 00 01 */	addi r8, r8, 1
 +/* 8026DC28 00269888  48 00 01 1C */	b lbl_8026DD44
 +lbl_8026DC2C:
 +/* 8026DC2C 0026988C  7C E3 4A 14 */	add r7, r3, r9
 +/* 8026DC30 00269890  7C C3 48 AE */	lbzx r6, r3, r9
 +/* 8026DC34 00269894  88 E7 00 01 */	lbz r7, 1(r7)
 +/* 8026DC38 00269898  39 29 00 02 */	addi r9, r9, 2
 +/* 8026DC3C 0026989C  50 C7 44 2E */	rlwimi r7, r6, 8, 0x10, 0x17
 +/* 8026DC40 002698A0  7C EA 66 71 */	srawi. r10, r7, 0xc
 +/* 8026DC44 002698A4  54 E6 05 3E */	clrlwi r6, r7, 0x14
 +/* 8026DC48 002698A8  7C E6 40 50 */	subf r7, r6, r8
 +/* 8026DC4C 002698AC  40 82 00 14 */	bne lbl_8026DC60
 +/* 8026DC50 002698B0  88 DD 00 00 */	lbz r6, 0(r29)
 +/* 8026DC54 002698B4  3B BD 00 01 */	addi r29, r29, 1
 +/* 8026DC58 002698B8  39 46 00 12 */	addi r10, r6, 0x12
 +/* 8026DC5C 002698BC  48 00 00 08 */	b lbl_8026DC64
 +lbl_8026DC60:
 +/* 8026DC60 002698C0  39 4A 00 02 */	addi r10, r10, 2
 +lbl_8026DC64:
 +/* 8026DC64 002698C4  2C 8A 00 00 */	cmpwi cr1, r10, 0
 +/* 8026DC68 002698C8  38 C0 00 00 */	li r6, 0
 +/* 8026DC6C 002698CC  40 85 00 D8 */	ble cr1, lbl_8026DD44
 +/* 8026DC70 002698D0  2C 0A 00 08 */	cmpwi r10, 8
 +/* 8026DC74 002698D4  3B 6A FF F8 */	addi r27, r10, -8
 +/* 8026DC78 002698D8  40 81 00 98 */	ble lbl_8026DD10
 +/* 8026DC7C 002698DC  3B 80 00 00 */	li r28, 0
 +/* 8026DC80 002698E0  41 84 00 14 */	blt cr1, lbl_8026DC94
 +/* 8026DC84 002698E4  3B 45 FF FE */	addi r26, r5, -2
 +/* 8026DC88 002698E8  7C 0A D0 00 */	cmpw r10, r26
 +/* 8026DC8C 002698EC  41 81 00 08 */	bgt lbl_8026DC94
 +/* 8026DC90 002698F0  3B 80 00 01 */	li r28, 1
 +lbl_8026DC94:
 +/* 8026DC94 002698F4  2C 1C 00 00 */	cmpwi r28, 0
 +/* 8026DC98 002698F8  41 82 00 78 */	beq lbl_8026DD10
 +/* 8026DC9C 002698FC  3B FB 00 07 */	addi r31, r27, 7
 +/* 8026DCA0 00269900  7F 84 42 14 */	add r28, r4, r8
 +/* 8026DCA4 00269904  57 FF E8 FE */	srwi r31, r31, 3
 +/* 8026DCA8 00269908  7F E9 03 A6 */	mtctr r31
 +/* 8026DCAC 0026990C  2C 1B 00 00 */	cmpwi r27, 0
 +/* 8026DCB0 00269910  40 81 00 60 */	ble lbl_8026DD10
 +lbl_8026DCB4:
 +/* 8026DCB4 00269914  7F 44 3A 14 */	add r26, r4, r7
 +/* 8026DCB8 00269918  7F 68 22 14 */	add r27, r8, r4
 +/* 8026DCBC 0026991C  8B FA FF FF */	lbz r31, -1(r26)
 +/* 8026DCC0 00269920  39 08 00 08 */	addi r8, r8, 8
 +/* 8026DCC4 00269924  38 C6 00 08 */	addi r6, r6, 8
 +/* 8026DCC8 00269928  9B FC 00 00 */	stb r31, 0(r28)
 +/* 8026DCCC 0026992C  3B 9C 00 08 */	addi r28, r28, 8
 +/* 8026DCD0 00269930  7F E4 38 AE */	lbzx r31, r4, r7
 +/* 8026DCD4 00269934  38 E7 00 08 */	addi r7, r7, 8
 +/* 8026DCD8 00269938  9B FB 00 01 */	stb r31, 1(r27)
 +/* 8026DCDC 0026993C  8B FA 00 01 */	lbz r31, 1(r26)
 +/* 8026DCE0 00269940  9B FB 00 02 */	stb r31, 2(r27)
 +/* 8026DCE4 00269944  8B FA 00 02 */	lbz r31, 2(r26)
 +/* 8026DCE8 00269948  9B FB 00 03 */	stb r31, 3(r27)
 +/* 8026DCEC 0026994C  8B FA 00 03 */	lbz r31, 3(r26)
 +/* 8026DCF0 00269950  9B FB 00 04 */	stb r31, 4(r27)
 +/* 8026DCF4 00269954  8B FA 00 04 */	lbz r31, 4(r26)
 +/* 8026DCF8 00269958  9B FB 00 05 */	stb r31, 5(r27)
 +/* 8026DCFC 0026995C  8B FA 00 05 */	lbz r31, 5(r26)
 +/* 8026DD00 00269960  9B FB 00 06 */	stb r31, 6(r27)
 +/* 8026DD04 00269964  8B FA 00 06 */	lbz r31, 6(r26)
 +/* 8026DD08 00269968  9B FB 00 07 */	stb r31, 7(r27)
 +/* 8026DD0C 0026996C  42 00 FF A8 */	bdnz lbl_8026DCB4
 +lbl_8026DD10:
 +/* 8026DD10 00269970  7F E6 50 50 */	subf r31, r6, r10
 +/* 8026DD14 00269974  7F 84 42 14 */	add r28, r4, r8
 +/* 8026DD18 00269978  7F E9 03 A6 */	mtctr r31
 +/* 8026DD1C 0026997C  7C 06 50 00 */	cmpw r6, r10
 +/* 8026DD20 00269980  40 80 00 24 */	bge lbl_8026DD44
 +lbl_8026DD24:
 +/* 8026DD24 00269984  7D 44 3A 14 */	add r10, r4, r7
 +/* 8026DD28 00269988  38 C6 00 01 */	addi r6, r6, 1
 +/* 8026DD2C 0026998C  89 4A FF FF */	lbz r10, -1(r10)
 +/* 8026DD30 00269990  39 08 00 01 */	addi r8, r8, 1
 +/* 8026DD34 00269994  38 E7 00 01 */	addi r7, r7, 1
 +/* 8026DD38 00269998  99 5C 00 00 */	stb r10, 0(r28)
 +/* 8026DD3C 0026999C  3B 9C 00 01 */	addi r28, r28, 1
 +/* 8026DD40 002699A0  42 00 FF E4 */	bdnz lbl_8026DD24
 +lbl_8026DD44:
 +/* 8026DD44 002699A4  7C 08 00 00 */	cmpw r8, r0
 +/* 8026DD48 002699A8  55 8C 08 3C */	slwi r12, r12, 1
 +/* 8026DD4C 002699AC  39 6B FF FF */	addi r11, r11, -1
 +/* 8026DD50 002699B0  41 80 FE AC */	blt lbl_8026DBFC
 +/* 8026DD54 002699B4  39 61 00 20 */	addi r11, r1, 0x20
 +/* 8026DD58 002699B8  4B F5 94 19 */	bl _restgpr_26
 +/* 8026DD5C 002699BC  80 01 00 24 */	lwz r0, 0x24(r1)
 +/* 8026DD60 002699C0  7C 08 03 A6 */	mtlr r0
 +/* 8026DD64 002699C4  38 21 00 20 */	addi r1, r1, 0x20
 +/* 8026DD68 002699C8  4E 80 00 20 */	blr
 +
 +.global OSSetFontEncode
 +OSSetFontEncode:
 +/* 8026DD6C 002699CC  A0 0D 87 D8 */	lhz r0, lbl_8063DA98-_SDA_BASE_(r13)
 +/* 8026DD70 002699D0  28 00 FF FF */	cmplwi r0, 0xffff
 +/* 8026DD74 002699D4  41 82 00 08 */	beq lbl_8026DD7C
 +/* 8026DD78 002699D8  48 00 00 48 */	b lbl_8026DDC0
 +lbl_8026DD7C:
 +/* 8026DD7C 002699DC  3C 80 80 00 */	lis r4, 0x800000CC@ha
 +/* 8026DD80 002699E0  80 04 00 CC */	lwz r0, 0x800000CC@l(r4)
 +/* 8026DD84 002699E4  2C 00 00 00 */	cmpwi r0, 0
 +/* 8026DD88 002699E8  41 82 00 0C */	beq lbl_8026DD94
 +/* 8026DD8C 002699EC  41 80 00 1C */	blt lbl_8026DDA8
 +/* 8026DD90 002699F0  48 00 00 18 */	b lbl_8026DDA8
 +lbl_8026DD94:
 +/* 8026DD94 002699F4  3C 80 CC 00 */	lis r4, 0xCC00206E@ha
 +/* 8026DD98 002699F8  A0 04 20 6E */	lhz r0, 0xCC00206E@l(r4)
 +/* 8026DD9C 002699FC  54 00 FF FE */	rlwinm r0, r0, 0x1f, 0x1f, 0x1f
 +/* 8026DDA0 00269A00  B0 0D 87 D8 */	sth r0, lbl_8063DA98-_SDA_BASE_(r13)
 +/* 8026DDA4 00269A04  48 00 00 0C */	b lbl_8026DDB0
 +lbl_8026DDA8:
 +/* 8026DDA8 00269A08  38 00 00 00 */	li r0, 0
 +/* 8026DDAC 00269A0C  B0 0D 87 D8 */	sth r0, lbl_8063DA98-_SDA_BASE_(r13)
 +lbl_8026DDB0:
 +/* 8026DDB0 00269A10  3C 80 80 27 */	lis r4, ParseStringS@ha
 +/* 8026DDB4 00269A14  54 00 04 3E */	clrlwi r0, r0, 0x10
 +/* 8026DDB8 00269A18  38 84 E2 14 */	addi r4, r4, ParseStringS@l
 +/* 8026DDBC 00269A1C  90 8D A7 E8 */	stw r4, lbl_8063FAA8-_SDA_BASE_(r13)
 +lbl_8026DDC0:
 +/* 8026DDC0 00269A20  28 83 00 05 */	cmplwi cr1, r3, 5
 +/* 8026DDC4 00269A24  41 85 00 20 */	bgt cr1, lbl_8026DDE4
 +/* 8026DDC8 00269A28  28 03 00 03 */	cmplwi r3, 3
 +/* 8026DDCC 00269A2C  B0 6D 87 D8 */	sth r3, lbl_8063DA98-_SDA_BASE_(r13)
 +/* 8026DDD0 00269A30  41 80 00 14 */	blt lbl_8026DDE4
 +/* 8026DDD4 00269A34  41 85 00 10 */	bgt cr1, lbl_8026DDE4
 +/* 8026DDD8 00269A38  3C 60 80 27 */	lis r3, ParseStringW@ha
 +/* 8026DDDC 00269A3C  38 63 E3 10 */	addi r3, r3, ParseStringW@l
 +/* 8026DDE0 00269A40  90 6D A7 E8 */	stw r3, lbl_8063FAA8-_SDA_BASE_(r13)
 +lbl_8026DDE4:
 +/* 8026DDE4 00269A44  7C 03 03 78 */	mr r3, r0
 +/* 8026DDE8 00269A48  4E 80 00 20 */	blr
 +
 +.global ReadFont
 +ReadFont:
 +/* 8026DDEC 00269A4C  94 21 FF D0 */	stwu r1, -0x30(r1)
 +/* 8026DDF0 00269A50  7C 08 02 A6 */	mflr r0
 +/* 8026DDF4 00269A54  90 01 00 34 */	stw r0, 0x34(r1)
 +/* 8026DDF8 00269A58  39 61 00 30 */	addi r11, r1, 0x30
 +/* 8026DDFC 00269A5C  4B F5 93 25 */	bl _savegpr_25
 +/* 8026DE00 00269A60  28 04 00 01 */	cmplwi r4, 1
 +/* 8026DE04 00269A64  7C 7C 1B 78 */	mr r28, r3
 +/* 8026DE08 00269A68  7C 9D 23 78 */	mr r29, r4
 +/* 8026DE0C 00269A6C  7C BA 2B 78 */	mr r26, r5
 +/* 8026DE10 00269A70  40 82 00 5C */	bne lbl_8026DE6C
 +/* 8026DE14 00269A74  3C 80 00 1B */	lis r4, 0x001AFF00@ha
 +/* 8026DE18 00269A78  3C 60 00 05 */	lis r3, 0x0004D000@ha
 +/* 8026DE1C 00269A7C  7F 9B E3 78 */	mr r27, r28
 +/* 8026DE20 00269A80  3B E4 FF 00 */	addi r31, r4, 0x001AFF00@l
 +/* 8026DE24 00269A84  3B C3 D0 00 */	addi r30, r3, 0x0004D000@l
 +/* 8026DE28 00269A88  48 00 00 38 */	b lbl_8026DE60
 +lbl_8026DE2C:
 +/* 8026DE2C 00269A8C  2C 1E 01 00 */	cmpwi r30, 0x100
 +/* 8026DE30 00269A90  3B 20 01 00 */	li r25, 0x100
 +/* 8026DE34 00269A94  41 81 00 08 */	bgt lbl_8026DE3C
 +/* 8026DE38 00269A98  7F D9 F3 78 */	mr r25, r30
 +lbl_8026DE3C:
 +/* 8026DE3C 00269A9C  7F D9 F0 50 */	subf r30, r25, r30
 +lbl_8026DE40:
 +/* 8026DE40 00269AA0  7F 63 DB 78 */	mr r3, r27
 +/* 8026DE44 00269AA4  7F 24 CB 78 */	mr r4, r25
 +/* 8026DE48 00269AA8  7F E5 FB 78 */	mr r5, r31
 +/* 8026DE4C 00269AAC  48 00 2B B9 */	bl func_80270A04
 +/* 8026DE50 00269AB0  2C 03 00 00 */	cmpwi r3, 0
 +/* 8026DE54 00269AB4  41 82 FF EC */	beq lbl_8026DE40
 +/* 8026DE58 00269AB8  7F FF CA 14 */	add r31, r31, r25
 +/* 8026DE5C 00269ABC  7F 7B CA 14 */	add r27, r27, r25
 +lbl_8026DE60:
 +/* 8026DE60 00269AC0  2C 1E 00 00 */	cmpwi r30, 0
 +/* 8026DE64 00269AC4  41 81 FF C8 */	bgt lbl_8026DE2C
 +/* 8026DE68 00269AC8  48 00 00 54 */	b lbl_8026DEBC
 +lbl_8026DE6C:
 +/* 8026DE6C 00269ACC  3C 60 00 20 */	lis r3, 0x001FCF00@ha
 +/* 8026DE70 00269AD0  7F 9B E3 78 */	mr r27, r28
 +/* 8026DE74 00269AD4  3B E3 CF 00 */	addi r31, r3, 0x001FCF00@l
 +/* 8026DE78 00269AD8  3B C0 30 00 */	li r30, 0x3000
 +/* 8026DE7C 00269ADC  48 00 00 38 */	b lbl_8026DEB4
 +lbl_8026DE80:
 +/* 8026DE80 00269AE0  2C 1E 01 00 */	cmpwi r30, 0x100
 +/* 8026DE84 00269AE4  3B 20 01 00 */	li r25, 0x100
 +/* 8026DE88 00269AE8  41 81 00 08 */	bgt lbl_8026DE90
 +/* 8026DE8C 00269AEC  7F D9 F3 78 */	mr r25, r30
 +lbl_8026DE90:
 +/* 8026DE90 00269AF0  7F D9 F0 50 */	subf r30, r25, r30
 +lbl_8026DE94:
 +/* 8026DE94 00269AF4  7F 63 DB 78 */	mr r3, r27
 +/* 8026DE98 00269AF8  7F 24 CB 78 */	mr r4, r25
 +/* 8026DE9C 00269AFC  7F E5 FB 78 */	mr r5, r31
 +/* 8026DEA0 00269B00  48 00 2B 65 */	bl func_80270A04
 +/* 8026DEA4 00269B04  2C 03 00 00 */	cmpwi r3, 0
 +/* 8026DEA8 00269B08  41 82 FF EC */	beq lbl_8026DE94
 +/* 8026DEAC 00269B0C  7F FF CA 14 */	add r31, r31, r25
 +/* 8026DEB0 00269B10  7F 7B CA 14 */	add r27, r27, r25
 +lbl_8026DEB4:
 +/* 8026DEB4 00269B14  2C 1E 00 00 */	cmpwi r30, 0
 +/* 8026DEB8 00269B18  41 81 FF C8 */	bgt lbl_8026DE80
 +lbl_8026DEBC:
 +/* 8026DEBC 00269B1C  88 1C 00 00 */	lbz r0, 0(r28)
 +/* 8026DEC0 00269B20  28 00 00 59 */	cmplwi r0, 0x59
 +/* 8026DEC4 00269B24  40 82 00 24 */	bne lbl_8026DEE8
 +/* 8026DEC8 00269B28  88 1C 00 01 */	lbz r0, 1(r28)
 +/* 8026DECC 00269B2C  28 00 00 61 */	cmplwi r0, 0x61
 +/* 8026DED0 00269B30  40 82 00 18 */	bne lbl_8026DEE8
 +/* 8026DED4 00269B34  88 1C 00 02 */	lbz r0, 2(r28)
 +/* 8026DED8 00269B38  28 00 00 79 */	cmplwi r0, 0x79
 +/* 8026DEDC 00269B3C  40 82 00 0C */	bne lbl_8026DEE8
 +/* 8026DEE0 00269B40  83 7C 00 04 */	lwz r27, 4(r28)
 +/* 8026DEE4 00269B44  48 00 00 08 */	b lbl_8026DEEC
 +lbl_8026DEE8:
 +/* 8026DEE8 00269B48  3B 60 00 00 */	li r27, 0
 +lbl_8026DEEC:
 +/* 8026DEEC 00269B4C  2C 1B 00 00 */	cmpwi r27, 0
 +/* 8026DEF0 00269B50  40 82 00 0C */	bne lbl_8026DEFC
 +/* 8026DEF4 00269B54  38 60 00 00 */	li r3, 0
 +/* 8026DEF8 00269B58  48 00 01 DC */	b lbl_8026E0D4
 +lbl_8026DEFC:
 +/* 8026DEFC 00269B5C  7F 83 E3 78 */	mr r3, r28
 +/* 8026DF00 00269B60  7F 44 D3 78 */	mr r4, r26
 +/* 8026DF04 00269B64  4B FF FC C5 */	bl Decode
 +/* 8026DF08 00269B68  28 1D 00 01 */	cmplwi r29, 1
 +/* 8026DF0C 00269B6C  40 82 01 C4 */	bne lbl_8026E0D0
 +/* 8026DF10 00269B70  7F A3 EB 78 */	mr r3, r29
 +/* 8026DF14 00269B74  A3 82 A0 60 */	lhz r28, lbl_80642660-_SDA2_BASE_(r2)
 +/* 8026DF18 00269B78  A3 A2 A0 62 */	lhz r29, lbl_80642662-_SDA2_BASE_(r2)
 +/* 8026DF1C 00269B7C  38 80 00 54 */	li r4, 0x54
 +/* 8026DF20 00269B80  A3 C2 A0 64 */	lhz r30, lbl_80642664-_SDA2_BASE_(r2)
 +/* 8026DF24 00269B84  A3 E2 A0 66 */	lhz r31, lbl_80642666-_SDA2_BASE_(r2)
 +/* 8026DF28 00269B88  4B FF FB 6D */	bl GetFontCode
 +/* 8026DF2C 00269B8C  A1 3A 00 1A */	lhz r9, 0x1a(r26)
 +/* 8026DF30 00269B90  A0 9A 00 1C */	lhz r4, 0x1c(r26)
 +/* 8026DF34 00269B94  A0 1A 00 1E */	lhz r0, 0x1e(r26)
 +/* 8026DF38 00269B98  7D 49 21 D6 */	mullw r10, r9, r4
 +/* 8026DF3C 00269B9C  80 BA 00 24 */	lwz r5, 0x24(r26)
 +/* 8026DF40 00269BA0  54 04 10 34 */	rlwinm r4, r0, 2, 0, 0x1a
 +/* 8026DF44 00269BA4  A0 DA 00 12 */	lhz r6, 0x12(r26)
 +/* 8026DF48 00269BA8  54 00 1F FE */	rlwinm r0, r0, 3, 0x1f, 0x1f
 +/* 8026DF4C 00269BAC  A0 FA 00 10 */	lhz r7, 0x10(r26)
 +/* 8026DF50 00269BB0  7D 83 53 D6 */	divw r12, r3, r10
 +/* 8026DF54 00269BB4  7C 00 22 14 */	add r0, r0, r4
 +/* 8026DF58 00269BB8  7C 9A 2A 14 */	add r4, r26, r5
 +/* 8026DF5C 00269BBC  81 1A 00 14 */	lwz r8, 0x14(r26)
 +/* 8026DF60 00269BC0  7C 0B 0E 70 */	srawi r11, r0, 1
 +/* 8026DF64 00269BC4  7C 0C 51 D6 */	mullw r0, r12, r10
 +/* 8026DF68 00269BC8  7C 60 18 50 */	subf r3, r0, r3
 +/* 8026DF6C 00269BCC  7C A3 4B D6 */	divw r5, r3, r9
 +/* 8026DF70 00269BD0  7C 05 49 D6 */	mullw r0, r5, r9
 +/* 8026DF74 00269BD4  7C A5 31 D6 */	mullw r5, r5, r6
 +/* 8026DF78 00269BD8  7F 20 18 50 */	subf r25, r0, r3
 +/* 8026DF7C 00269BDC  38 C5 00 04 */	addi r6, r5, 4
 +/* 8026DF80 00269BE0  7F 39 39 D6 */	mullw r25, r25, r7
 +/* 8026DF84 00269BE4  39 45 00 05 */	addi r10, r5, 5
 +/* 8026DF88 00269BE8  7C C3 1E 70 */	srawi r3, r6, 3
 +/* 8026DF8C 00269BEC  54 C0 E8 04 */	slwi r0, r6, 0x1d
 +/* 8026DF90 00269BF0  7D 23 01 94 */	addze r9, r3
 +/* 8026DF94 00269BF4  54 C7 0F FE */	srwi r7, r6, 0x1f
 +/* 8026DF98 00269BF8  7D 8C 41 D6 */	mullw r12, r12, r8
 +/* 8026DF9C 00269BFC  7F 23 1E 70 */	srawi r3, r25, 3
 +/* 8026DFA0 00269C00  7C 07 00 50 */	subf r0, r7, r0
 +/* 8026DFA4 00269C04  7D 03 01 94 */	addze r8, r3
 +/* 8026DFA8 00269C08  54 03 18 3E */	rotlwi r3, r0, 3
 +/* 8026DFAC 00269C0C  57 20 E8 04 */	slwi r0, r25, 0x1d
 +/* 8026DFB0 00269C10  57 26 0F FE */	srwi r6, r25, 0x1f
 +/* 8026DFB4 00269C14  55 8C F8 7E */	srwi r12, r12, 1
 +/* 8026DFB8 00269C18  7D 2B 49 D6 */	mullw r9, r11, r9
 +/* 8026DFBC 00269C1C  7C E3 3A 14 */	add r7, r3, r7
 +/* 8026DFC0 00269C20  7C 06 00 50 */	subf r0, r6, r0
 +/* 8026DFC4 00269C24  7C 84 62 14 */	add r4, r4, r12
 +/* 8026DFC8 00269C28  54 03 18 3E */	rotlwi r3, r0, 3
 +/* 8026DFCC 00269C2C  55 00 20 36 */	slwi r0, r8, 4
 +/* 8026DFD0 00269C30  7C 63 32 14 */	add r3, r3, r6
 +/* 8026DFD4 00269C34  7D 24 4A 14 */	add r9, r4, r9
 +/* 8026DFD8 00269C38  54 E8 08 3C */	slwi r8, r7, 1
 +/* 8026DFDC 00269C3C  55 46 E8 04 */	slwi r6, r10, 0x1d
 +/* 8026DFE0 00269C40  7C 63 16 70 */	srawi r3, r3, 2
 +/* 8026DFE4 00269C44  7D 29 02 14 */	add r9, r9, r0
 +/* 8026DFE8 00269C48  7D 29 42 14 */	add r9, r9, r8
 +/* 8026DFEC 00269C4C  55 47 0F FE */	srwi r7, r10, 0x1f
 +/* 8026DFF0 00269C50  7C 63 01 94 */	addze r3, r3
 +/* 8026DFF4 00269C54  39 05 00 06 */	addi r8, r5, 6
 +/* 8026DFF8 00269C58  7F 89 1B 2E */	sthx r28, r9, r3
 +/* 8026DFFC 00269C5C  7C C7 30 50 */	subf r6, r7, r6
 +/* 8026E000 00269C60  54 C6 18 3E */	rotlwi r6, r6, 3
 +/* 8026E004 00269C64  7C C6 3A 14 */	add r6, r6, r7
 +/* 8026E008 00269C68  A1 7A 00 1E */	lhz r11, 0x1e(r26)
 +/* 8026E00C 00269C6C  54 C9 08 3C */	slwi r9, r6, 1
 +/* 8026E010 00269C70  55 07 0F FE */	srwi r7, r8, 0x1f
 +/* 8026E014 00269C74  55 6C 10 34 */	rlwinm r12, r11, 2, 0, 0x1a
 +/* 8026E018 00269C78  55 6B 1F FE */	rlwinm r11, r11, 3, 0x1f, 0x1f
 +/* 8026E01C 00269C7C  7D 6B 62 14 */	add r11, r11, r12
 +/* 8026E020 00269C80  55 06 E8 04 */	slwi r6, r8, 0x1d
 +/* 8026E024 00269C84  7D 6B 0E 70 */	srawi r11, r11, 1
 +/* 8026E028 00269C88  7D 4A 1E 70 */	srawi r10, r10, 3
 +/* 8026E02C 00269C8C  7C C7 30 50 */	subf r6, r7, r6
 +/* 8026E030 00269C90  7D 4A 01 94 */	addze r10, r10
 +/* 8026E034 00269C94  54 C6 18 3E */	rotlwi r6, r6, 3
 +/* 8026E038 00269C98  7C C6 3A 14 */	add r6, r6, r7
 +/* 8026E03C 00269C9C  7D 4B 51 D6 */	mullw r10, r11, r10
 +/* 8026E040 00269CA0  54 C6 08 3C */	slwi r6, r6, 1
 +/* 8026E044 00269CA4  7C E4 52 14 */	add r7, r4, r10
 +/* 8026E048 00269CA8  7C E7 02 14 */	add r7, r7, r0
 +/* 8026E04C 00269CAC  7C E7 4A 14 */	add r7, r7, r9
 +/* 8026E050 00269CB0  7F A7 1B 2E */	sthx r29, r7, r3
 +/* 8026E054 00269CB4  A0 FA 00 1E */	lhz r7, 0x1e(r26)
 +/* 8026E058 00269CB8  54 E9 10 34 */	rlwinm r9, r7, 2, 0, 0x1a
 +/* 8026E05C 00269CBC  54 E7 1F FE */	rlwinm r7, r7, 3, 0x1f, 0x1f
 +/* 8026E060 00269CC0  7C E7 4A 14 */	add r7, r7, r9
 +/* 8026E064 00269CC4  7C E9 0E 70 */	srawi r9, r7, 1
 +/* 8026E068 00269CC8  7D 07 1E 70 */	srawi r7, r8, 3
 +/* 8026E06C 00269CCC  7C E7 01 94 */	addze r7, r7
 +/* 8026E070 00269CD0  7C E9 39 D6 */	mullw r7, r9, r7
 +/* 8026E074 00269CD4  7C E4 3A 14 */	add r7, r4, r7
 +/* 8026E078 00269CD8  7C E7 02 14 */	add r7, r7, r0
 +/* 8026E07C 00269CDC  7C E7 32 14 */	add r7, r7, r6
 +/* 8026E080 00269CE0  7F C7 1B 2E */	sthx r30, r7, r3
 +/* 8026E084 00269CE4  38 E5 00 07 */	addi r7, r5, 7
 +/* 8026E088 00269CE8  54 E5 E8 04 */	slwi r5, r7, 0x1d
 +/* 8026E08C 00269CEC  A1 1A 00 1E */	lhz r8, 0x1e(r26)
 +/* 8026E090 00269CF0  54 E6 0F FE */	srwi r6, r7, 0x1f
 +/* 8026E094 00269CF4  7C A6 28 50 */	subf r5, r6, r5
 +/* 8026E098 00269CF8  55 09 10 34 */	rlwinm r9, r8, 2, 0, 0x1a
 +/* 8026E09C 00269CFC  55 08 1F FE */	rlwinm r8, r8, 3, 0x1f, 0x1f
 +/* 8026E0A0 00269D00  7D 08 4A 14 */	add r8, r8, r9
 +/* 8026E0A4 00269D04  54 A5 18 3E */	rotlwi r5, r5, 3
 +/* 8026E0A8 00269D08  7D 08 0E 70 */	srawi r8, r8, 1
 +/* 8026E0AC 00269D0C  7C E7 1E 70 */	srawi r7, r7, 3
 +/* 8026E0B0 00269D10  7C A5 32 14 */	add r5, r5, r6
 +/* 8026E0B4 00269D14  7C C7 01 94 */	addze r6, r7
 +/* 8026E0B8 00269D18  7C C8 31 D6 */	mullw r6, r8, r6
 +/* 8026E0BC 00269D1C  54 A5 08 3C */	slwi r5, r5, 1
 +/* 8026E0C0 00269D20  7C 84 32 14 */	add r4, r4, r6
 +/* 8026E0C4 00269D24  7C 84 02 14 */	add r4, r4, r0
 +/* 8026E0C8 00269D28  7C 84 2A 14 */	add r4, r4, r5
 +/* 8026E0CC 00269D2C  7F E4 1B 2E */	sthx r31, r4, r3
 +lbl_8026E0D0:
 +/* 8026E0D0 00269D30  7F 63 DB 78 */	mr r3, r27
 +lbl_8026E0D4:
 +/* 8026E0D4 00269D34  39 61 00 30 */	addi r11, r1, 0x30
 +/* 8026E0D8 00269D38  4B F5 90 95 */	bl _restgpr_25
 +/* 8026E0DC 00269D3C  80 01 00 34 */	lwz r0, 0x34(r1)
 +/* 8026E0E0 00269D40  7C 08 03 A6 */	mtlr r0
 +/* 8026E0E4 00269D44  38 21 00 30 */	addi r1, r1, 0x30
 +/* 8026E0E8 00269D48  4E 80 00 20 */	blr
 +
 +.global OSLoadFont
 +OSLoadFont:
 +/* 8026E0EC 00269D4C  94 21 FF F0 */	stwu r1, -0x10(r1)
 +/* 8026E0F0 00269D50  7C 08 02 A6 */	mflr r0
 +/* 8026E0F4 00269D54  7C 65 1B 78 */	mr r5, r3
 +/* 8026E0F8 00269D58  90 01 00 14 */	stw r0, 0x14(r1)
 +/* 8026E0FC 00269D5C  93 E1 00 0C */	stw r31, 0xc(r1)
 +/* 8026E100 00269D60  93 C1 00 08 */	stw r30, 8(r1)
 +/* 8026E104 00269D64  7C 9E 23 78 */	mr r30, r4
 +/* 8026E108 00269D68  A0 0D 87 D8 */	lhz r0, lbl_8063DA98-_SDA_BASE_(r13)
 +/* 8026E10C 00269D6C  28 00 FF FF */	cmplwi r0, 0xffff
 +/* 8026E110 00269D70  41 82 00 08 */	beq lbl_8026E118
 +/* 8026E114 00269D74  48 00 00 48 */	b lbl_8026E15C
 +lbl_8026E118:
 +/* 8026E118 00269D78  3C 80 80 00 */	lis r4, 0x800000CC@ha
 +/* 8026E11C 00269D7C  80 04 00 CC */	lwz r0, 0x800000CC@l(r4)
 +/* 8026E120 00269D80  2C 00 00 00 */	cmpwi r0, 0
 +/* 8026E124 00269D84  41 82 00 0C */	beq lbl_8026E130
 +/* 8026E128 00269D88  41 80 00 1C */	blt lbl_8026E144
 +/* 8026E12C 00269D8C  48 00 00 18 */	b lbl_8026E144
 +lbl_8026E130:
 +/* 8026E130 00269D90  3C 80 CC 00 */	lis r4, 0xCC00206E@ha
 +/* 8026E134 00269D94  A0 04 20 6E */	lhz r0, 0xCC00206E@l(r4)
 +/* 8026E138 00269D98  54 00 FF FE */	rlwinm r0, r0, 0x1f, 0x1f, 0x1f
 +/* 8026E13C 00269D9C  B0 0D 87 D8 */	sth r0, lbl_8063DA98-_SDA_BASE_(r13)
 +/* 8026E140 00269DA0  48 00 00 0C */	b lbl_8026E14C
 +lbl_8026E144:
 +/* 8026E144 00269DA4  38 00 00 00 */	li r0, 0
 +/* 8026E148 00269DA8  B0 0D 87 D8 */	sth r0, lbl_8063DA98-_SDA_BASE_(r13)
 +lbl_8026E14C:
 +/* 8026E14C 00269DAC  3C 80 80 27 */	lis r4, ParseStringS@ha
 +/* 8026E150 00269DB0  54 00 04 3E */	clrlwi r0, r0, 0x10
 +/* 8026E154 00269DB4  38 84 E2 14 */	addi r4, r4, ParseStringS@l
 +/* 8026E158 00269DB8  90 8D A7 E8 */	stw r4, lbl_8063FAA8-_SDA_BASE_(r13)
 +lbl_8026E15C:
 +/* 8026E15C 00269DBC  54 00 04 3E */	clrlwi r0, r0, 0x10
 +/* 8026E160 00269DC0  2C 00 00 02 */	cmpwi r0, 2
 +/* 8026E164 00269DC4  41 82 00 90 */	beq lbl_8026E1F4
 +/* 8026E168 00269DC8  40 80 00 14 */	bge lbl_8026E17C
 +/* 8026E16C 00269DCC  2C 00 00 00 */	cmpwi r0, 0
 +/* 8026E170 00269DD0  41 82 00 18 */	beq lbl_8026E188
 +/* 8026E174 00269DD4  40 80 00 2C */	bge lbl_8026E1A0
 +/* 8026E178 00269DD8  48 00 00 7C */	b lbl_8026E1F4
 +lbl_8026E17C:
 +/* 8026E17C 00269DDC  2C 00 00 06 */	cmpwi r0, 6
 +/* 8026E180 00269DE0  40 80 00 74 */	bge lbl_8026E1F4
 +/* 8026E184 00269DE4  48 00 00 34 */	b lbl_8026E1B8
 +lbl_8026E188:
 +/* 8026E188 00269DE8  90 6D A7 F4 */	stw r3, lbl_8063FAB4-_SDA_BASE_(r13)
 +/* 8026E18C 00269DEC  7F C3 F3 78 */	mr r3, r30
 +/* 8026E190 00269DF0  38 80 00 00 */	li r4, 0
 +/* 8026E194 00269DF4  4B FF FC 59 */	bl ReadFont
 +/* 8026E198 00269DF8  7C 7F 1B 78 */	mr r31, r3
 +/* 8026E19C 00269DFC  48 00 00 5C */	b lbl_8026E1F8
 +lbl_8026E1A0:
 +/* 8026E1A0 00269E00  90 6D A7 F0 */	stw r3, lbl_8063FAB0-_SDA_BASE_(r13)
 +/* 8026E1A4 00269E04  7F C3 F3 78 */	mr r3, r30
 +/* 8026E1A8 00269E08  38 80 00 01 */	li r4, 1
 +/* 8026E1AC 00269E0C  4B FF FC 41 */	bl ReadFont
 +/* 8026E1B0 00269E10  7C 7F 1B 78 */	mr r31, r3
 +/* 8026E1B4 00269E14  48 00 00 44 */	b lbl_8026E1F8
 +lbl_8026E1B8:
 +/* 8026E1B8 00269E18  90 6D A7 F4 */	stw r3, lbl_8063FAB4-_SDA_BASE_(r13)
 +/* 8026E1BC 00269E1C  7F C3 F3 78 */	mr r3, r30
 +/* 8026E1C0 00269E20  38 80 00 00 */	li r4, 0
 +/* 8026E1C4 00269E24  4B FF FC 29 */	bl ReadFont
 +/* 8026E1C8 00269E28  2C 03 00 00 */	cmpwi r3, 0
 +/* 8026E1CC 00269E2C  7C 7F 1B 78 */	mr r31, r3
 +/* 8026E1D0 00269E30  41 82 00 28 */	beq lbl_8026E1F8
 +/* 8026E1D4 00269E34  80 0D A7 F4 */	lwz r0, lbl_8063FAB4-_SDA_BASE_(r13)
 +/* 8026E1D8 00269E38  38 80 00 01 */	li r4, 1
 +/* 8026E1DC 00269E3C  7C A0 1A 14 */	add r5, r0, r3
 +/* 8026E1E0 00269E40  7F C3 F3 78 */	mr r3, r30
 +/* 8026E1E4 00269E44  90 AD A7 F0 */	stw r5, lbl_8063FAB0-_SDA_BASE_(r13)
 +/* 8026E1E8 00269E48  4B FF FC 05 */	bl ReadFont
 +/* 8026E1EC 00269E4C  7F FF 1A 14 */	add r31, r31, r3
 +/* 8026E1F0 00269E50  48 00 00 08 */	b lbl_8026E1F8
 +lbl_8026E1F4:
 +/* 8026E1F4 00269E54  3B E0 00 00 */	li r31, 0
 +lbl_8026E1F8:
 +/* 8026E1F8 00269E58  7F E3 FB 78 */	mr r3, r31
 +/* 8026E1FC 00269E5C  83 E1 00 0C */	lwz r31, 0xc(r1)
 +/* 8026E200 00269E60  83 C1 00 08 */	lwz r30, 8(r1)
 +/* 8026E204 00269E64  80 01 00 14 */	lwz r0, 0x14(r1)
 +/* 8026E208 00269E68  7C 08 03 A6 */	mtlr r0
 +/* 8026E20C 00269E6C  38 21 00 10 */	addi r1, r1, 0x10
 +/* 8026E210 00269E70  4E 80 00 20 */	blr
 +
 +.global ParseStringS
 +ParseStringS:
 +/* 8026E214 00269E74  94 21 FF F0 */	stwu r1, -0x10(r1)
 +/* 8026E218 00269E78  7C 08 02 A6 */	mflr r0
 +/* 8026E21C 00269E7C  2C 03 00 01 */	cmpwi r3, 1
 +/* 8026E220 00269E80  38 E0 00 00 */	li r7, 0
 +/* 8026E224 00269E84  90 01 00 14 */	stw r0, 0x14(r1)
 +/* 8026E228 00269E88  93 E1 00 0C */	stw r31, 0xc(r1)
 +/* 8026E22C 00269E8C  7C DF 33 78 */	mr r31, r6
 +/* 8026E230 00269E90  93 C1 00 08 */	stw r30, 8(r1)
 +/* 8026E234 00269E94  7C 9E 23 78 */	mr r30, r4
 +/* 8026E238 00269E98  41 82 00 2C */	beq lbl_8026E264
 +/* 8026E23C 00269E9C  40 80 00 A8 */	bge lbl_8026E2E4
 +/* 8026E240 00269EA0  2C 03 00 00 */	cmpwi r3, 0
 +/* 8026E244 00269EA4  40 80 00 08 */	bge lbl_8026E24C
 +/* 8026E248 00269EA8  48 00 00 9C */	b lbl_8026E2E4
 +lbl_8026E24C:
 +/* 8026E24C 00269EAC  88 E4 00 00 */	lbz r7, 0(r4)
 +/* 8026E250 00269EB0  80 CD A7 F4 */	lwz r6, lbl_8063FAB4-_SDA_BASE_(r13)
 +/* 8026E254 00269EB4  2C 07 00 00 */	cmpwi r7, 0
 +/* 8026E258 00269EB8  41 82 00 8C */	beq lbl_8026E2E4
 +/* 8026E25C 00269EBC  3B C4 00 01 */	addi r30, r4, 1
 +/* 8026E260 00269EC0  48 00 00 84 */	b lbl_8026E2E4
 +lbl_8026E264:
 +/* 8026E264 00269EC4  88 E4 00 00 */	lbz r7, 0(r4)
 +/* 8026E268 00269EC8  80 CD A7 F0 */	lwz r6, lbl_8063FAB0-_SDA_BASE_(r13)
 +/* 8026E26C 00269ECC  2C 07 00 00 */	cmpwi r7, 0
 +/* 8026E270 00269ED0  41 82 00 74 */	beq lbl_8026E2E4
 +/* 8026E274 00269ED4  28 07 00 81 */	cmplwi r7, 0x81
 +/* 8026E278 00269ED8  3B C4 00 01 */	addi r30, r4, 1
 +/* 8026E27C 00269EDC  38 00 00 00 */	li r0, 0
 +/* 8026E280 00269EE0  41 80 00 0C */	blt lbl_8026E28C
 +/* 8026E284 00269EE4  28 07 00 9F */	cmplwi r7, 0x9f
 +/* 8026E288 00269EE8  40 81 00 14 */	ble lbl_8026E29C
 +lbl_8026E28C:
 +/* 8026E28C 00269EEC  28 07 00 E0 */	cmplwi r7, 0xe0
 +/* 8026E290 00269EF0  41 80 00 10 */	blt lbl_8026E2A0
 +/* 8026E294 00269EF4  28 07 00 FC */	cmplwi r7, 0xfc
 +/* 8026E298 00269EF8  41 81 00 08 */	bgt lbl_8026E2A0
 +lbl_8026E29C:
 +/* 8026E29C 00269EFC  38 00 00 01 */	li r0, 1
 +lbl_8026E2A0:
 +/* 8026E2A0 00269F00  2C 00 00 00 */	cmpwi r0, 0
 +/* 8026E2A4 00269F04  41 82 00 40 */	beq lbl_8026E2E4
 +/* 8026E2A8 00269F08  88 9E 00 00 */	lbz r4, 0(r30)
 +/* 8026E2AC 00269F0C  38 00 00 00 */	li r0, 0
 +/* 8026E2B0 00269F10  28 04 00 40 */	cmplwi r4, 0x40
 +/* 8026E2B4 00269F14  41 80 00 18 */	blt lbl_8026E2CC
 +/* 8026E2B8 00269F18  28 04 00 FC */	cmplwi r4, 0xfc
 +/* 8026E2BC 00269F1C  41 81 00 10 */	bgt lbl_8026E2CC
 +/* 8026E2C0 00269F20  28 04 00 7F */	cmplwi r4, 0x7f
 +/* 8026E2C4 00269F24  41 82 00 08 */	beq lbl_8026E2CC
 +/* 8026E2C8 00269F28  38 00 00 01 */	li r0, 1
 +lbl_8026E2CC:
 +/* 8026E2CC 00269F2C  2C 00 00 00 */	cmpwi r0, 0
 +/* 8026E2D0 00269F30  41 82 00 14 */	beq lbl_8026E2E4
 +/* 8026E2D4 00269F34  88 1E 00 00 */	lbz r0, 0(r30)
 +/* 8026E2D8 00269F38  50 E0 42 2E */	rlwimi r0, r7, 8, 8, 0x17
 +/* 8026E2DC 00269F3C  3B DE 00 01 */	addi r30, r30, 1
 +/* 8026E2E0 00269F40  54 07 04 3E */	clrlwi r7, r0, 0x10
 +lbl_8026E2E4:
 +/* 8026E2E4 00269F44  90 C5 00 00 */	stw r6, 0(r5)
 +/* 8026E2E8 00269F48  7C E4 3B 78 */	mr r4, r7
 +/* 8026E2EC 00269F4C  4B FF F7 A9 */	bl GetFontCode
 +/* 8026E2F0 00269F50  90 7F 00 00 */	stw r3, 0(r31)
 +/* 8026E2F4 00269F54  7F C3 F3 78 */	mr r3, r30
 +/* 8026E2F8 00269F58  83 E1 00 0C */	lwz r31, 0xc(r1)
 +/* 8026E2FC 00269F5C  83 C1 00 08 */	lwz r30, 8(r1)
 +/* 8026E300 00269F60  80 01 00 14 */	lwz r0, 0x14(r1)
 +/* 8026E304 00269F64  7C 08 03 A6 */	mtlr r0
 +/* 8026E308 00269F68  38 21 00 10 */	addi r1, r1, 0x10
 +/* 8026E30C 00269F6C  4E 80 00 20 */	blr
 +
 +.global ParseStringW
 +ParseStringW:
 +/* 8026E310 00269F70  94 21 FF D0 */	stwu r1, -0x30(r1)
 +/* 8026E314 00269F74  7C 08 02 A6 */	mflr r0
 +/* 8026E318 00269F78  90 01 00 34 */	stw r0, 0x34(r1)
 +/* 8026E31C 00269F7C  39 61 00 30 */	addi r11, r1, 0x30
 +/* 8026E320 00269F80  4B F5 8E 05 */	bl _savegpr_26
 +/* 8026E324 00269F84  3B C0 00 00 */	li r30, 0
 +/* 8026E328 00269F88  2C 03 00 03 */	cmpwi r3, 3
 +/* 8026E32C 00269F8C  93 C1 00 08 */	stw r30, 8(r1)
 +/* 8026E330 00269F90  7C 7A 1B 78 */	mr r26, r3
 +/* 8026E334 00269F94  7C 9B 23 78 */	mr r27, r4
 +/* 8026E338 00269F98  7C BC 2B 78 */	mr r28, r5
 +/* 8026E33C 00269F9C  7C DD 33 78 */	mr r29, r6
 +/* 8026E340 00269FA0  41 82 00 CC */	beq lbl_8026E40C
 +/* 8026E344 00269FA4  40 80 00 1C */	bge lbl_8026E360
 +/* 8026E348 00269FA8  2C 03 00 01 */	cmpwi r3, 1
 +/* 8026E34C 00269FAC  41 82 00 3C */	beq lbl_8026E388
 +/* 8026E350 00269FB0  40 80 00 F8 */	bge lbl_8026E448
 +/* 8026E354 00269FB4  2C 03 00 00 */	cmpwi r3, 0
 +/* 8026E358 00269FB8  40 80 00 18 */	bge lbl_8026E370
 +/* 8026E35C 00269FBC  48 00 00 EC */	b lbl_8026E448
 +lbl_8026E360:
 +/* 8026E360 00269FC0  2C 03 00 05 */	cmpwi r3, 5
 +/* 8026E364 00269FC4  41 82 00 D0 */	beq lbl_8026E434
 +/* 8026E368 00269FC8  40 80 00 E0 */	bge lbl_8026E448
 +/* 8026E36C 00269FCC  48 00 00 B4 */	b lbl_8026E420
 +lbl_8026E370:
 +/* 8026E370 00269FD0  8B C4 00 00 */	lbz r30, 0(r4)
 +/* 8026E374 00269FD4  83 ED A7 F4 */	lwz r31, lbl_8063FAB4-_SDA_BASE_(r13)
 +/* 8026E378 00269FD8  2C 1E 00 00 */	cmpwi r30, 0
 +/* 8026E37C 00269FDC  41 82 00 CC */	beq lbl_8026E448
 +/* 8026E380 00269FE0  3B 64 00 01 */	addi r27, r4, 1
 +/* 8026E384 00269FE4  48 00 00 C4 */	b lbl_8026E448
 +lbl_8026E388:
 +/* 8026E388 00269FE8  8B C4 00 00 */	lbz r30, 0(r4)
 +/* 8026E38C 00269FEC  83 ED A7 F0 */	lwz r31, lbl_8063FAB0-_SDA_BASE_(r13)
 +/* 8026E390 00269FF0  2C 1E 00 00 */	cmpwi r30, 0
 +/* 8026E394 00269FF4  41 82 00 B4 */	beq lbl_8026E448
 +/* 8026E398 00269FF8  28 1E 00 81 */	cmplwi r30, 0x81
 +/* 8026E39C 00269FFC  3B 64 00 01 */	addi r27, r4, 1
 +/* 8026E3A0 0026A000  38 00 00 00 */	li r0, 0
 +/* 8026E3A4 0026A004  41 80 00 0C */	blt lbl_8026E3B0
 +/* 8026E3A8 0026A008  28 1E 00 9F */	cmplwi r30, 0x9f
 +/* 8026E3AC 0026A00C  40 81 00 14 */	ble lbl_8026E3C0
 +lbl_8026E3B0:
 +/* 8026E3B0 0026A010  28 1E 00 E0 */	cmplwi r30, 0xe0
 +/* 8026E3B4 0026A014  41 80 00 10 */	blt lbl_8026E3C4
 +/* 8026E3B8 0026A018  28 1E 00 FC */	cmplwi r30, 0xfc
 +/* 8026E3BC 0026A01C  41 81 00 08 */	bgt lbl_8026E3C4
 +lbl_8026E3C0:
 +/* 8026E3C0 0026A020  38 00 00 01 */	li r0, 1
 +lbl_8026E3C4:
 +/* 8026E3C4 0026A024  2C 00 00 00 */	cmpwi r0, 0
 +/* 8026E3C8 0026A028  41 82 00 80 */	beq lbl_8026E448
 +/* 8026E3CC 0026A02C  88 7B 00 00 */	lbz r3, 0(r27)
 +/* 8026E3D0 0026A030  38 00 00 00 */	li r0, 0
 +/* 8026E3D4 0026A034  28 03 00 40 */	cmplwi r3, 0x40
 +/* 8026E3D8 0026A038  41 80 00 18 */	blt lbl_8026E3F0
 +/* 8026E3DC 0026A03C  28 03 00 FC */	cmplwi r3, 0xfc
 +/* 8026E3E0 0026A040  41 81 00 10 */	bgt lbl_8026E3F0
 +/* 8026E3E4 0026A044  28 03 00 7F */	cmplwi r3, 0x7f
 +/* 8026E3E8 0026A048  41 82 00 08 */	beq lbl_8026E3F0
 +/* 8026E3EC 0026A04C  38 00 00 01 */	li r0, 1
 +lbl_8026E3F0:
 +/* 8026E3F0 0026A050  2C 00 00 00 */	cmpwi r0, 0
 +/* 8026E3F4 0026A054  41 82 00 54 */	beq lbl_8026E448
 +/* 8026E3F8 0026A058  88 1B 00 00 */	lbz r0, 0(r27)
 +/* 8026E3FC 0026A05C  53 C0 42 2E */	rlwimi r0, r30, 8, 8, 0x17
 +/* 8026E400 0026A060  3B 7B 00 01 */	addi r27, r27, 1
 +/* 8026E404 0026A064  54 1E 04 3E */	clrlwi r30, r0, 0x10
 +/* 8026E408 0026A068  48 00 00 40 */	b lbl_8026E448
 +lbl_8026E40C:
 +/* 8026E40C 0026A06C  7F 63 DB 78 */	mr r3, r27
 +/* 8026E410 0026A070  38 81 00 08 */	addi r4, r1, 8
 +/* 8026E414 0026A074  48 00 4A 59 */	bl func_80272E6C
 +/* 8026E418 0026A078  7C 7B 1B 78 */	mr r27, r3
 +/* 8026E41C 0026A07C  48 00 00 2C */	b lbl_8026E448
 +lbl_8026E420:
 +/* 8026E420 0026A080  7F 63 DB 78 */	mr r3, r27
 +/* 8026E424 0026A084  38 81 00 08 */	addi r4, r1, 8
 +/* 8026E428 0026A088  48 00 4B 55 */	bl func_80272F7C
 +/* 8026E42C 0026A08C  7C 7B 1B 78 */	mr r27, r3
 +/* 8026E430 0026A090  48 00 00 18 */	b lbl_8026E448
 +lbl_8026E434:
 +/* 8026E434 0026A094  80 04 00 00 */	lwz r0, 0(r4)
 +/* 8026E438 0026A098  2C 00 00 00 */	cmpwi r0, 0
 +/* 8026E43C 0026A09C  90 01 00 08 */	stw r0, 8(r1)
 +/* 8026E440 0026A0A0  41 82 00 08 */	beq lbl_8026E448
 +/* 8026E444 0026A0A4  3B 64 00 04 */	addi r27, r4, 4
 +lbl_8026E448:
 +/* 8026E448 0026A0A8  80 61 00 08 */	lwz r3, 8(r1)
 +/* 8026E44C 0026A0AC  2C 03 00 00 */	cmpwi r3, 0
 +/* 8026E450 0026A0B0  41 82 00 4C */	beq lbl_8026E49C
 +/* 8026E454 0026A0B4  83 ED A7 F4 */	lwz r31, lbl_8063FAB4-_SDA_BASE_(r13)
 +/* 8026E458 0026A0B8  3B 40 00 00 */	li r26, 0
 +/* 8026E45C 0026A0BC  48 00 4B 91 */	bl func_80272FEC
 +/* 8026E460 0026A0C0  54 7E 06 3F */	clrlwi. r30, r3, 0x18
 +/* 8026E464 0026A0C4  41 82 00 1C */	beq lbl_8026E480
 +/* 8026E468 0026A0C8  80 0D A7 EC */	lwz r0, lbl_8063FAAC-_SDA_BASE_(r13)
 +/* 8026E46C 0026A0CC  2C 00 00 00 */	cmpwi r0, 0
 +/* 8026E470 0026A0D0  41 82 00 2C */	beq lbl_8026E49C
 +/* 8026E474 0026A0D4  80 01 00 08 */	lwz r0, 8(r1)
 +/* 8026E478 0026A0D8  28 00 00 7F */	cmplwi r0, 0x7f
 +/* 8026E47C 0026A0DC  41 81 00 20 */	bgt lbl_8026E49C
 +lbl_8026E480:
 +/* 8026E480 0026A0E0  80 61 00 08 */	lwz r3, 8(r1)
 +/* 8026E484 0026A0E4  48 00 4B E1 */	bl func_80273064
 +/* 8026E488 0026A0E8  54 60 04 3F */	clrlwi. r0, r3, 0x10
 +/* 8026E48C 0026A0EC  7C 7E 1B 78 */	mr r30, r3
 +/* 8026E490 0026A0F0  41 82 00 0C */	beq lbl_8026E49C
 +/* 8026E494 0026A0F4  3B 40 00 01 */	li r26, 1
 +/* 8026E498 0026A0F8  83 ED A7 F0 */	lwz r31, lbl_8063FAB0-_SDA_BASE_(r13)
 +lbl_8026E49C:
 +/* 8026E49C 0026A0FC  93 FC 00 00 */	stw r31, 0(r28)
 +/* 8026E4A0 0026A100  7F 43 D3 78 */	mr r3, r26
 +/* 8026E4A4 0026A104  57 C4 04 3E */	clrlwi r4, r30, 0x10
 +/* 8026E4A8 0026A108  4B FF F5 ED */	bl GetFontCode
 +/* 8026E4AC 0026A10C  90 7D 00 00 */	stw r3, 0(r29)
 +/* 8026E4B0 0026A110  39 61 00 30 */	addi r11, r1, 0x30
 +/* 8026E4B4 0026A114  7F 63 DB 78 */	mr r3, r27
 +/* 8026E4B8 0026A118  4B F5 8C B9 */	bl _restgpr_26
 +/* 8026E4BC 0026A11C  80 01 00 34 */	lwz r0, 0x34(r1)
 +/* 8026E4C0 0026A120  7C 08 03 A6 */	mtlr r0
 +/* 8026E4C4 0026A124  38 21 00 30 */	addi r1, r1, 0x30
 +/* 8026E4C8 0026A128  4E 80 00 20 */	blr
 +
 +.global OSGetFontTexel
 +OSGetFontTexel:
 +/* 8026E4CC 0026A12C  94 21 FF B0 */	stwu r1, -0x50(r1)
 +/* 8026E4D0 0026A130  7C 08 02 A6 */	mflr r0
 +/* 8026E4D4 0026A134  90 01 00 54 */	stw r0, 0x54(r1)
 +/* 8026E4D8 0026A138  39 61 00 50 */	addi r11, r1, 0x50
 +/* 8026E4DC 0026A13C  4B F5 8C 25 */	bl _savegpr_17
 +/* 8026E4E0 0026A140  A0 0D 87 D8 */	lhz r0, lbl_8063DA98-_SDA_BASE_(r13)
 +/* 8026E4E4 0026A144  7C 9D 23 78 */	mr r29, r4
 +/* 8026E4E8 0026A148  7C BE 2B 78 */	mr r30, r5
 +/* 8026E4EC 0026A14C  7C D1 33 78 */	mr r17, r6
 +/* 8026E4F0 0026A150  28 00 FF FF */	cmplwi r0, 0xffff
 +/* 8026E4F4 0026A154  7C FF 3B 78 */	mr r31, r7
 +/* 8026E4F8 0026A158  41 82 00 08 */	beq lbl_8026E500
 +/* 8026E4FC 0026A15C  48 00 00 48 */	b lbl_8026E544
 +lbl_8026E500:
 +/* 8026E500 0026A160  3C 80 80 00 */	lis r4, 0x800000CC@ha
 +/* 8026E504 0026A164  80 04 00 CC */	lwz r0, 0x800000CC@l(r4)
 +/* 8026E508 0026A168  2C 00 00 00 */	cmpwi r0, 0
 +/* 8026E50C 0026A16C  41 82 00 0C */	beq lbl_8026E518
 +/* 8026E510 0026A170  41 80 00 1C */	blt lbl_8026E52C
 +/* 8026E514 0026A174  48 00 00 18 */	b lbl_8026E52C
 +lbl_8026E518:
 +/* 8026E518 0026A178  3C 80 CC 00 */	lis r4, 0xCC00206E@ha
 +/* 8026E51C 0026A17C  A0 04 20 6E */	lhz r0, 0xCC00206E@l(r4)
 +/* 8026E520 0026A180  54 00 FF FE */	rlwinm r0, r0, 0x1f, 0x1f, 0x1f
 +/* 8026E524 0026A184  B0 0D 87 D8 */	sth r0, lbl_8063DA98-_SDA_BASE_(r13)
 +/* 8026E528 0026A188  48 00 00 0C */	b lbl_8026E534
 +lbl_8026E52C:
 +/* 8026E52C 0026A18C  38 00 00 00 */	li r0, 0
 +/* 8026E530 0026A190  B0 0D 87 D8 */	sth r0, lbl_8063DA98-_SDA_BASE_(r13)
 +lbl_8026E534:
 +/* 8026E534 0026A194  3C 80 80 27 */	lis r4, ParseStringS@ha
 +/* 8026E538 0026A198  54 00 04 3E */	clrlwi r0, r0, 0x10
 +/* 8026E53C 0026A19C  38 84 E2 14 */	addi r4, r4, ParseStringS@l
 +/* 8026E540 0026A1A0  90 8D A7 E8 */	stw r4, lbl_8063FAA8-_SDA_BASE_(r13)
 +lbl_8026E544:
 +/* 8026E544 0026A1A4  81 8D A7 E8 */	lwz r12, lbl_8063FAA8-_SDA_BASE_(r13)
 +/* 8026E548 0026A1A8  7C 64 1B 78 */	mr r4, r3
 +/* 8026E54C 0026A1AC  54 03 04 3E */	clrlwi r3, r0, 0x10
 +/* 8026E550 0026A1B0  38 A1 00 0C */	addi r5, r1, 0xc
 +/* 8026E554 0026A1B4  38 C1 00 08 */	addi r6, r1, 8
 +/* 8026E558 0026A1B8  7D 89 03 A6 */	mtctr r12
 +/* 8026E55C 0026A1BC  4E 80 04 21 */	bctrl
 +/* 8026E560 0026A1C0  80 81 00 0C */	lwz r4, 0xc(r1)
 +/* 8026E564 0026A1C4  56 20 10 3A */	slwi r0, r17, 2
 +/* 8026E568 0026A1C8  7C 00 1E 70 */	srawi r0, r0, 3
 +/* 8026E56C 0026A1CC  81 61 00 08 */	lwz r11, 8(r1)
 +/* 8026E570 0026A1D0  A1 24 00 1A */	lhz r9, 0x1a(r4)
 +/* 8026E574 0026A1D4  7C 00 01 94 */	addze r0, r0
 +/* 8026E578 0026A1D8  A0 A4 00 1C */	lhz r5, 0x1c(r4)
 +/* 8026E57C 0026A1DC  54 08 28 34 */	slwi r8, r0, 5
 +/* 8026E580 0026A1E0  80 C4 00 24 */	lwz r6, 0x24(r4)
 +/* 8026E584 0026A1E4  3A E4 00 2C */	addi r23, r4, 0x2c
 +/* 8026E588 0026A1E8  7D 49 29 D6 */	mullw r10, r9, r5
 +/* 8026E58C 0026A1EC  80 A4 00 14 */	lwz r5, 0x14(r4)
 +/* 8026E590 0026A1F0  7E C4 32 14 */	add r22, r4, r6
 +/* 8026E594 0026A1F4  A0 E4 00 12 */	lhz r7, 0x12(r4)
 +/* 8026E598 0026A1F8  A0 C4 00 10 */	lhz r6, 0x10(r4)
 +/* 8026E59C 0026A1FC  3B 00 00 00 */	li r24, 0
 +/* 8026E5A0 0026A200  7D 8B 53 D6 */	divw r12, r11, r10
 +/* 8026E5A4 0026A204  7C 0C 51 D6 */	mullw r0, r12, r10
 +/* 8026E5A8 0026A208  7D 60 58 50 */	subf r11, r0, r11
 +/* 8026E5AC 0026A20C  7D 4B 4B D6 */	divw r10, r11, r9
 +/* 8026E5B0 0026A210  7D 2A 49 D6 */	mullw r9, r10, r9
 +/* 8026E5B4 0026A214  7C 0C 29 D6 */	mullw r0, r12, r5
 +/* 8026E5B8 0026A218  7F 49 58 50 */	subf r26, r9, r11
 +/* 8026E5BC 0026A21C  54 00 F8 7E */	srwi r0, r0, 1
 +/* 8026E5C0 0026A220  7F 6A 39 D6 */	mullw r27, r10, r7
 +/* 8026E5C4 0026A224  7E D6 02 14 */	add r22, r22, r0
 +/* 8026E5C8 0026A228  7F 5A 31 D6 */	mullw r26, r26, r6
 +/* 8026E5CC 0026A22C  48 00 01 4C */	b lbl_8026E718
 +lbl_8026E5D0:
 +/* 8026E5D0 0026A230  7C FB C2 14 */	add r7, r27, r24
 +/* 8026E5D4 0026A234  57 00 E8 04 */	slwi r0, r24, 0x1d
 +/* 8026E5D8 0026A238  7C E5 1E 70 */	srawi r5, r7, 3
 +/* 8026E5DC 0026A23C  57 04 0F FE */	srwi r4, r24, 0x1f
 +/* 8026E5E0 0026A240  7D 25 01 94 */	addze r9, r5
 +/* 8026E5E4 0026A244  54 E6 E8 04 */	slwi r6, r7, 0x1d
 +/* 8026E5E8 0026A248  7F 05 1E 70 */	srawi r5, r24, 3
 +/* 8026E5EC 0026A24C  54 E7 0F FE */	srwi r7, r7, 0x1f
 +/* 8026E5F0 0026A250  7C A5 01 94 */	addze r5, r5
 +/* 8026E5F4 0026A254  7C 04 00 50 */	subf r0, r4, r0
 +/* 8026E5F8 0026A258  7C A5 41 D6 */	mullw r5, r5, r8
 +/* 8026E5FC 0026A25C  7C C7 30 50 */	subf r6, r7, r6
 +/* 8026E600 0026A260  54 00 18 3E */	rotlwi r0, r0, 3
 +/* 8026E604 0026A264  54 C6 18 3E */	rotlwi r6, r6, 3
 +/* 8026E608 0026A268  7C 00 22 14 */	add r0, r0, r4
 +/* 8026E60C 0026A26C  7C 86 3A 14 */	add r4, r6, r7
 +/* 8026E610 0026A270  54 8A 08 3C */	slwi r10, r4, 1
 +/* 8026E614 0026A274  7D 7D 2A 14 */	add r11, r29, r5
 +/* 8026E618 0026A278  54 0C 10 3A */	slwi r12, r0, 2
 +/* 8026E61C 0026A27C  3B 20 00 00 */	li r25, 0
 +/* 8026E620 0026A280  48 00 00 E4 */	b lbl_8026E704
 +lbl_8026E624:
 +/* 8026E624 0026A284  A0 84 00 1E */	lhz r4, 0x1e(r4)
 +/* 8026E628 0026A288  7F 9E CA 14 */	add r28, r30, r25
 +/* 8026E62C 0026A28C  7C BA CA 14 */	add r5, r26, r25
 +/* 8026E630 0026A290  38 00 00 F0 */	li r0, 0xf0
 +/* 8026E634 0026A294  54 86 10 34 */	rlwinm r6, r4, 2, 0, 0x1a
 +/* 8026E638 0026A298  54 84 1F FE */	rlwinm r4, r4, 3, 0x1f, 0x1f
 +/* 8026E63C 0026A29C  7C 84 32 14 */	add r4, r4, r6
 +/* 8026E640 0026A2A0  57 94 E8 04 */	slwi r20, r28, 0x1d
 +/* 8026E644 0026A2A4  7C 87 0E 70 */	srawi r7, r4, 1
 +/* 8026E648 0026A2A8  57 93 0F FE */	srwi r19, r28, 0x1f
 +/* 8026E64C 0026A2AC  7C E7 49 D6 */	mullw r7, r7, r9
 +/* 8026E650 0026A2B0  54 A6 E8 04 */	slwi r6, r5, 0x1d
 +/* 8026E654 0026A2B4  54 A4 0F FE */	srwi r4, r5, 0x1f
 +/* 8026E658 0026A2B8  7C B2 1E 70 */	srawi r18, r5, 3
 +/* 8026E65C 0026A2BC  7C C4 30 50 */	subf r6, r4, r6
 +/* 8026E660 0026A2C0  57 95 07 FE */	clrlwi r21, r28, 0x1f
 +/* 8026E664 0026A2C4  54 D1 18 3E */	rotlwi r17, r6, 3
 +/* 8026E668 0026A2C8  7C D2 01 94 */	addze r6, r18
 +/* 8026E66C 0026A2CC  7E 31 22 14 */	add r17, r17, r4
 +/* 8026E670 0026A2D0  7E 93 A0 50 */	subf r20, r19, r20
 +/* 8026E674 0026A2D4  7E B5 9A 78 */	xor r21, r21, r19
 +/* 8026E678 0026A2D8  54 A5 F0 02 */	slwi r5, r5, 0x1e
 +/* 8026E67C 0026A2DC  7E 32 16 70 */	srawi r18, r17, 2
 +/* 8026E680 0026A2E0  56 94 18 3E */	rotlwi r20, r20, 3
 +/* 8026E684 0026A2E4  7E 24 28 50 */	subf r17, r4, r5
 +/* 8026E688 0026A2E8  7E B3 A8 51 */	subf. r21, r19, r21
 +/* 8026E68C 0026A2EC  7C B2 01 94 */	addze r5, r18
 +/* 8026E690 0026A2F0  7E 94 9A 14 */	add r20, r20, r19
 +/* 8026E694 0026A2F4  7F 92 1E 70 */	srawi r18, r28, 3
 +/* 8026E698 0026A2F8  56 31 10 3E */	rotlwi r17, r17, 2
 +/* 8026E69C 0026A2FC  7C F6 3A 14 */	add r7, r22, r7
 +/* 8026E6A0 0026A300  54 C6 20 36 */	slwi r6, r6, 4
 +/* 8026E6A4 0026A304  7C E7 32 14 */	add r7, r7, r6
 +/* 8026E6A8 0026A308  7E 72 01 94 */	addze r19, r18
 +/* 8026E6AC 0026A30C  7C E7 52 14 */	add r7, r7, r10
 +/* 8026E6B0 0026A310  56 95 0F FE */	srwi r21, r20, 0x1f
 +/* 8026E6B4 0026A314  7F 91 22 14 */	add r28, r17, r4
 +/* 8026E6B8 0026A318  56 66 28 34 */	slwi r6, r19, 5
 +/* 8026E6BC 0026A31C  7C 95 A2 14 */	add r4, r21, r20
 +/* 8026E6C0 0026A320  7C E7 28 AE */	lbzx r7, r7, r5
 +/* 8026E6C4 0026A324  7C CB 32 14 */	add r6, r11, r6
 +/* 8026E6C8 0026A328  57 95 08 3C */	slwi r21, r28, 1
 +/* 8026E6CC 0026A32C  7C 84 0E 70 */	srawi r4, r4, 1
 +/* 8026E6D0 0026A330  20 B5 00 06 */	subfic r5, r21, 6
 +/* 8026E6D4 0026A334  7C C6 62 14 */	add r6, r6, r12
 +/* 8026E6D8 0026A338  7C E5 2E 30 */	sraw r5, r7, r5
 +/* 8026E6DC 0026A33C  7C E6 20 AE */	lbzx r7, r6, r4
 +/* 8026E6E0 0026A340  54 A5 07 BE */	clrlwi r5, r5, 0x1e
 +/* 8026E6E4 0026A344  7C B7 28 AE */	lbzx r5, r23, r5
 +/* 8026E6E8 0026A348  41 82 00 08 */	beq lbl_8026E6F0
 +/* 8026E6EC 0026A34C  38 00 00 0F */	li r0, 0xf
 +lbl_8026E6F0:
 +/* 8026E6F0 0026A350  7C A0 00 38 */	and r0, r5, r0
 +/* 8026E6F4 0026A354  3B 39 00 01 */	addi r25, r25, 1
 +/* 8026E6F8 0026A358  54 00 06 3E */	clrlwi r0, r0, 0x18
 +/* 8026E6FC 0026A35C  7C E0 03 78 */	or r0, r7, r0
 +/* 8026E700 0026A360  7C 06 21 AE */	stbx r0, r6, r4
 +lbl_8026E704:
 +/* 8026E704 0026A364  80 81 00 0C */	lwz r4, 0xc(r1)
 +/* 8026E708 0026A368  A0 04 00 10 */	lhz r0, 0x10(r4)
 +/* 8026E70C 0026A36C  7C 19 00 00 */	cmpw r25, r0
 +/* 8026E710 0026A370  41 80 FF 14 */	blt lbl_8026E624
 +/* 8026E714 0026A374  3B 18 00 01 */	addi r24, r24, 1
 +lbl_8026E718:
 +/* 8026E718 0026A378  A0 04 00 12 */	lhz r0, 0x12(r4)
 +/* 8026E71C 0026A37C  7C 18 00 00 */	cmpw r24, r0
 +/* 8026E720 0026A380  41 80 FE B0 */	blt lbl_8026E5D0
 +/* 8026E724 0026A384  2C 1F 00 00 */	cmpwi r31, 0
 +/* 8026E728 0026A388  41 82 00 1C */	beq lbl_8026E744
 +/* 8026E72C 0026A38C  80 A1 00 0C */	lwz r5, 0xc(r1)
 +/* 8026E730 0026A390  80 81 00 08 */	lwz r4, 8(r1)
 +/* 8026E734 0026A394  A0 05 00 22 */	lhz r0, 0x22(r5)
 +/* 8026E738 0026A398  7C 05 02 14 */	add r0, r5, r0
 +/* 8026E73C 0026A39C  7C 04 00 AE */	lbzx r0, r4, r0
 +/* 8026E740 0026A3A0  90 1F 00 00 */	stw r0, 0(r31)
 +lbl_8026E744:
 +/* 8026E744 0026A3A4  39 61 00 50 */	addi r11, r1, 0x50
 +/* 8026E748 0026A3A8  4B F5 8A 05 */	bl _restgpr_17
 +/* 8026E74C 0026A3AC  80 01 00 54 */	lwz r0, 0x54(r1)
 +/* 8026E750 0026A3B0  7C 08 03 A6 */	mtlr r0
 +/* 8026E754 0026A3B4  38 21 00 50 */	addi r1, r1, 0x50
 +/* 8026E758 0026A3B8  4E 80 00 20 */	blr
 | 
