summaryrefslogtreecommitdiff
path: root/asm/MSL_C.PPCEABI.bare.H
diff options
context:
space:
mode:
authormrb0nk500 <b0nk@b0nk.xyz>2023-02-02 17:29:19 -0400
committermrb0nk500 <b0nk@b0nk.xyz>2023-02-03 13:27:06 -0400
commitf2eabdb6257c09cf2890dac5e9737912728542af (patch)
tree3b46f6787185d65605651a0f48776dc9779ce648 /asm/MSL_C.PPCEABI.bare.H
parenteef1dd840b7cecac28c2e6b0574707b90a37d4e7 (diff)
global: Add rest of Dolphin SDK proper, add MSL, and MetroTRK
Finally, it links properly.
Diffstat (limited to 'asm/MSL_C.PPCEABI.bare.H')
-rw-r--r--asm/MSL_C.PPCEABI.bare.H/ansi_fp.s343
-rw-r--r--asm/MSL_C.PPCEABI.bare.H/common_float_tables.s338
-rw-r--r--asm/MSL_C.PPCEABI.bare.H/critical_regions.ppc_eabi.s6
-rw-r--r--asm/MSL_C.PPCEABI.bare.H/exponentialsf.s762
-rw-r--r--asm/MSL_C.PPCEABI.bare.H/inverse_trig.s345
-rw-r--r--asm/MSL_C.PPCEABI.bare.H/printf.s2156
-rw-r--r--asm/MSL_C.PPCEABI.bare.H/scanf.s49
-rw-r--r--asm/MSL_C.PPCEABI.bare.H/strtoul.s387
-rw-r--r--asm/MSL_C.PPCEABI.bare.H/trigf.s314
-rw-r--r--asm/MSL_C.PPCEABI.bare.H/uart_console_io.s123
10 files changed, 4823 insertions, 0 deletions
diff --git a/asm/MSL_C.PPCEABI.bare.H/ansi_fp.s b/asm/MSL_C.PPCEABI.bare.H/ansi_fp.s
new file mode 100644
index 0000000..641a10f
--- /dev/null
+++ b/asm/MSL_C.PPCEABI.bare.H/ansi_fp.s
@@ -0,0 +1,343 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80005600 - 0x8036FBA0
+.global __num2dec
+__num2dec:
+/* 800833A4 000802E4 7C 08 02 A6 */ mflr r0
+/* 800833A8 000802E8 90 01 00 04 */ stw r0, 4(r1)
+/* 800833AC 000802EC 94 21 FF 98 */ stwu r1, -0x68(r1)
+/* 800833B0 000802F0 DB E1 00 60 */ stfd f31, 0x60(r1)
+/* 800833B4 000802F4 FF E0 08 90 */ fmr f31, f1
+/* 800833B8 000802F8 93 E1 00 5C */ stw r31, 0x5c(r1)
+/* 800833BC 000802FC 93 C1 00 58 */ stw r30, 0x58(r1)
+/* 800833C0 00080300 3B C4 00 00 */ addi r30, r4, 0
+/* 800833C4 00080304 93 A1 00 54 */ stw r29, 0x54(r1)
+/* 800833C8 00080308 7C 7D 1B 78 */ mr r29, r3
+/* 800833CC 0008030C A8 03 00 02 */ lha r0, 2(r3)
+/* 800833D0 00080310 2C 00 00 10 */ cmpwi r0, 0x10
+/* 800833D4 00080314 7C 1F 03 78 */ mr r31, r0
+/* 800833D8 00080318 40 81 00 08 */ ble lbl_800833E0
+/* 800833DC 0008031C 3B E0 00 10 */ li r31, 0x10
+lbl_800833E0:
+/* 800833E0 00080320 38 60 00 00 */ li r3, 0
+/* 800833E4 00080324 98 7E 00 00 */ stb r3, 0(r30)
+/* 800833E8 00080328 38 00 00 01 */ li r0, 1
+/* 800833EC 0008032C B0 7E 00 02 */ sth r3, 2(r30)
+/* 800833F0 00080330 98 1E 00 04 */ stb r0, 4(r30)
+/* 800833F4 00080334 C8 02 89 58 */ lfd f0, "@268"@sda21(r2)
+/* 800833F8 00080338 FC 00 F8 00 */ fcmpu cr0, f0, f31
+/* 800833FC 0008033C 40 82 00 10 */ bne lbl_8008340C
+/* 80083400 00080340 38 00 00 30 */ li r0, 0x30
+/* 80083404 00080344 98 1E 00 05 */ stb r0, 5(r30)
+/* 80083408 00080348 48 00 03 30 */ b lbl_80083738
+lbl_8008340C:
+/* 8008340C 0008034C DB E1 00 28 */ stfd f31, 0x28(r1)
+/* 80083410 00080350 3C 00 7F F0 */ lis r0, 0x7ff0
+/* 80083414 00080354 80 81 00 28 */ lwz r4, 0x28(r1)
+/* 80083418 00080358 54 83 00 56 */ rlwinm r3, r4, 0, 1, 0xb
+/* 8008341C 0008035C 7C 03 00 00 */ cmpw r3, r0
+/* 80083420 00080360 41 82 00 14 */ beq lbl_80083434
+/* 80083424 00080364 40 80 00 58 */ bge lbl_8008347C
+/* 80083428 00080368 2C 03 00 00 */ cmpwi r3, 0
+/* 8008342C 0008036C 41 82 00 2C */ beq lbl_80083458
+/* 80083430 00080370 48 00 00 4C */ b lbl_8008347C
+lbl_80083434:
+/* 80083434 00080374 54 80 03 3F */ clrlwi. r0, r4, 0xc
+/* 80083438 00080378 40 82 00 10 */ bne lbl_80083448
+/* 8008343C 0008037C 80 01 00 2C */ lwz r0, 0x2c(r1)
+/* 80083440 00080380 2C 00 00 00 */ cmpwi r0, 0
+/* 80083444 00080384 41 82 00 0C */ beq lbl_80083450
+lbl_80083448:
+/* 80083448 00080388 38 00 00 01 */ li r0, 1
+/* 8008344C 0008038C 48 00 00 34 */ b lbl_80083480
+lbl_80083450:
+/* 80083450 00080390 38 00 00 02 */ li r0, 2
+/* 80083454 00080394 48 00 00 2C */ b lbl_80083480
+lbl_80083458:
+/* 80083458 00080398 54 80 03 3F */ clrlwi. r0, r4, 0xc
+/* 8008345C 0008039C 40 82 00 10 */ bne lbl_8008346C
+/* 80083460 000803A0 80 01 00 2C */ lwz r0, 0x2c(r1)
+/* 80083464 000803A4 2C 00 00 00 */ cmpwi r0, 0
+/* 80083468 000803A8 41 82 00 0C */ beq lbl_80083474
+lbl_8008346C:
+/* 8008346C 000803AC 38 00 00 05 */ li r0, 5
+/* 80083470 000803B0 48 00 00 10 */ b lbl_80083480
+lbl_80083474:
+/* 80083474 000803B4 38 00 00 03 */ li r0, 3
+/* 80083478 000803B8 48 00 00 08 */ b lbl_80083480
+lbl_8008347C:
+/* 8008347C 000803BC 38 00 00 04 */ li r0, 4
+lbl_80083480:
+/* 80083480 000803C0 2C 00 00 02 */ cmpwi r0, 2
+/* 80083484 000803C4 41 81 00 94 */ bgt lbl_80083518
+/* 80083488 000803C8 DB E1 00 20 */ stfd f31, 0x20(r1)
+/* 8008348C 000803CC 3C 00 7F F0 */ lis r0, 0x7ff0
+/* 80083490 000803D0 80 81 00 20 */ lwz r4, 0x20(r1)
+/* 80083494 000803D4 54 83 00 56 */ rlwinm r3, r4, 0, 1, 0xb
+/* 80083498 000803D8 7C 03 00 00 */ cmpw r3, r0
+/* 8008349C 000803DC 41 82 00 14 */ beq lbl_800834B0
+/* 800834A0 000803E0 40 80 00 58 */ bge lbl_800834F8
+/* 800834A4 000803E4 2C 03 00 00 */ cmpwi r3, 0
+/* 800834A8 000803E8 41 82 00 2C */ beq lbl_800834D4
+/* 800834AC 000803EC 48 00 00 4C */ b lbl_800834F8
+lbl_800834B0:
+/* 800834B0 000803F0 54 80 03 3F */ clrlwi. r0, r4, 0xc
+/* 800834B4 000803F4 40 82 00 10 */ bne lbl_800834C4
+/* 800834B8 000803F8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 800834BC 000803FC 2C 00 00 00 */ cmpwi r0, 0
+/* 800834C0 00080400 41 82 00 0C */ beq lbl_800834CC
+lbl_800834C4:
+/* 800834C4 00080404 38 00 00 01 */ li r0, 1
+/* 800834C8 00080408 48 00 00 34 */ b lbl_800834FC
+lbl_800834CC:
+/* 800834CC 0008040C 38 00 00 02 */ li r0, 2
+/* 800834D0 00080410 48 00 00 2C */ b lbl_800834FC
+lbl_800834D4:
+/* 800834D4 00080414 54 80 03 3F */ clrlwi. r0, r4, 0xc
+/* 800834D8 00080418 40 82 00 10 */ bne lbl_800834E8
+/* 800834DC 0008041C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 800834E0 00080420 2C 00 00 00 */ cmpwi r0, 0
+/* 800834E4 00080424 41 82 00 0C */ beq lbl_800834F0
+lbl_800834E8:
+/* 800834E8 00080428 38 00 00 05 */ li r0, 5
+/* 800834EC 0008042C 48 00 00 10 */ b lbl_800834FC
+lbl_800834F0:
+/* 800834F0 00080430 38 00 00 03 */ li r0, 3
+/* 800834F4 00080434 48 00 00 08 */ b lbl_800834FC
+lbl_800834F8:
+/* 800834F8 00080438 38 00 00 04 */ li r0, 4
+lbl_800834FC:
+/* 800834FC 0008043C 2C 00 00 01 */ cmpwi r0, 1
+/* 80083500 00080440 40 82 00 0C */ bne lbl_8008350C
+/* 80083504 00080444 38 00 00 4E */ li r0, 0x4e
+/* 80083508 00080448 48 00 00 08 */ b lbl_80083510
+lbl_8008350C:
+/* 8008350C 0008044C 38 00 00 49 */ li r0, 0x49
+lbl_80083510:
+/* 80083510 00080450 98 1E 00 05 */ stb r0, 5(r30)
+/* 80083514 00080454 48 00 02 24 */ b lbl_80083738
+lbl_80083518:
+/* 80083518 00080458 38 00 00 00 */ li r0, 0
+/* 8008351C 0008045C 98 1E 00 04 */ stb r0, 4(r30)
+/* 80083520 00080460 C8 02 89 58 */ lfd f0, "@268"@sda21(r2)
+/* 80083524 00080464 FC 1F 00 40 */ fcmpo cr0, f31, f0
+/* 80083528 00080468 40 80 00 10 */ bge lbl_80083538
+/* 8008352C 0008046C 38 00 00 01 */ li r0, 1
+/* 80083530 00080470 FF E0 F8 50 */ fneg f31, f31
+/* 80083534 00080474 98 1E 00 00 */ stb r0, 0(r30)
+lbl_80083538:
+/* 80083538 00080478 FC 20 F8 90 */ fmr f1, f31
+/* 8008353C 0008047C 38 61 00 30 */ addi r3, r1, 0x30
+/* 80083540 00080480 48 00 35 49 */ bl frexp
+/* 80083544 00080484 3C 60 00 05 */ lis r3, 0x000497E5@ha
+/* 80083548 00080488 80 81 00 30 */ lwz r4, 0x30(r1)
+/* 8008354C 0008048C 38 03 97 E5 */ addi r0, r3, 0x000497E5@l
+/* 80083550 00080490 7C 04 01 D6 */ mullw r0, r4, r0
+/* 80083554 00080494 3C 60 43 1C */ lis r3, 0x431BDE83@ha
+/* 80083558 00080498 38 63 DE 83 */ addi r3, r3, 0x431BDE83@l
+/* 8008355C 0008049C 7C 03 00 96 */ mulhw r0, r3, r0
+/* 80083560 000804A0 7C 00 96 70 */ srawi r0, r0, 0x12
+/* 80083564 000804A4 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 80083568 000804A8 7C 80 1A 15 */ add. r4, r0, r3
+/* 8008356C 000804AC 3C 60 80 37 */ lis r3, bit_values@ha
+/* 80083570 000804B0 38 03 15 98 */ addi r0, r3, bit_values@l
+/* 80083574 000804B4 38 64 00 00 */ addi r3, r4, 0
+/* 80083578 000804B8 7C 05 03 78 */ mr r5, r0
+/* 8008357C 000804BC 40 80 00 30 */ bge lbl_800835AC
+/* 80083580 000804C0 7C 84 00 D0 */ neg r4, r4
+/* 80083584 000804C4 48 00 00 1C */ b lbl_800835A0
+lbl_80083588:
+/* 80083588 000804C8 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 8008358C 000804CC 41 82 00 0C */ beq lbl_80083598
+/* 80083590 000804D0 C8 05 00 00 */ lfd f0, 0(r5)
+/* 80083594 000804D4 FF FF 00 32 */ fmul f31, f31, f0
+lbl_80083598:
+/* 80083598 000804D8 7C 84 0E 70 */ srawi r4, r4, 1
+/* 8008359C 000804DC 38 A5 00 08 */ addi r5, r5, 8
+lbl_800835A0:
+/* 800835A0 000804E0 2C 04 00 00 */ cmpwi r4, 0
+/* 800835A4 000804E4 40 82 FF E4 */ bne lbl_80083588
+/* 800835A8 000804E8 48 00 00 34 */ b lbl_800835DC
+lbl_800835AC:
+/* 800835AC 000804EC 40 81 00 30 */ ble lbl_800835DC
+/* 800835B0 000804F0 C8 22 89 60 */ lfd f1, "@270"@sda21(r2)
+/* 800835B4 000804F4 48 00 00 1C */ b lbl_800835D0
+lbl_800835B8:
+/* 800835B8 000804F8 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 800835BC 000804FC 41 82 00 0C */ beq lbl_800835C8
+/* 800835C0 00080500 C8 05 00 00 */ lfd f0, 0(r5)
+/* 800835C4 00080504 FC 21 00 32 */ fmul f1, f1, f0
+lbl_800835C8:
+/* 800835C8 00080508 7C 84 0E 70 */ srawi r4, r4, 1
+/* 800835CC 0008050C 38 A5 00 08 */ addi r5, r5, 8
+lbl_800835D0:
+/* 800835D0 00080510 2C 04 00 00 */ cmpwi r4, 0
+/* 800835D4 00080514 40 82 FF E4 */ bne lbl_800835B8
+/* 800835D8 00080518 FF FF 08 24 */ fdiv f31, f31, f1
+lbl_800835DC:
+/* 800835DC 0008051C C8 22 89 70 */ lfd f1, "@362"@sda21(r2)
+/* 800835E0 00080520 C8 02 89 60 */ lfd f0, "@270"@sda21(r2)
+/* 800835E4 00080524 48 00 00 0C */ b lbl_800835F0
+lbl_800835E8:
+/* 800835E8 00080528 FF FF 00 72 */ fmul f31, f31, f1
+/* 800835EC 0008052C 38 63 00 01 */ addi r3, r3, 1
+lbl_800835F0:
+/* 800835F0 00080530 FC 1F 00 40 */ fcmpo cr0, f31, f0
+/* 800835F4 00080534 4C 41 13 82 */ cror 2, 1, 2
+/* 800835F8 00080538 41 82 FF F0 */ beq lbl_800835E8
+/* 800835FC 0008053C C8 22 89 78 */ lfd f1, "@363"@sda21(r2)
+/* 80083600 00080540 C8 02 89 70 */ lfd f0, "@362"@sda21(r2)
+/* 80083604 00080544 48 00 00 0C */ b lbl_80083610
+lbl_80083608:
+/* 80083608 00080548 FF FF 00 72 */ fmul f31, f31, f1
+/* 8008360C 0008054C 38 63 FF FF */ addi r3, r3, -1
+lbl_80083610:
+/* 80083610 00080550 FC 1F 00 40 */ fcmpo cr0, f31, f0
+/* 80083614 00080554 41 80 FF F4 */ blt lbl_80083608
+/* 80083618 00080558 3C A0 66 66 */ lis r5, 0x66666667@ha
+/* 8008361C 0008055C C8 22 89 68 */ lfd f1, "@272"@sda21(r2)
+/* 80083620 00080560 3C C0 80 37 */ lis r6, digit_values@ha
+/* 80083624 00080564 38 9E 00 05 */ addi r4, r30, 5
+/* 80083628 00080568 38 E5 66 67 */ addi r7, r5, 0x66666667@l
+/* 8008362C 0008056C 39 46 15 E0 */ addi r10, r6, digit_values@l
+/* 80083630 00080570 3D 20 43 30 */ lis r9, 0x4330
+/* 80083634 00080574 48 00 00 AC */ b lbl_800836E0
+lbl_80083638:
+/* 80083638 00080578 2C 1F 00 08 */ cmpwi r31, 8
+/* 8008363C 0008057C 39 9F 00 00 */ addi r12, r31, 0
+/* 80083640 00080580 40 81 00 08 */ ble lbl_80083648
+/* 80083644 00080584 39 80 00 08 */ li r12, 8
+lbl_80083648:
+/* 80083648 00080588 88 DE 00 04 */ lbz r6, 4(r30)
+/* 8008364C 0008058C 55 80 18 38 */ slwi r0, r12, 3
+/* 80083650 00080590 7C AA 02 14 */ add r5, r10, r0
+/* 80083654 00080594 7C 06 62 14 */ add r0, r6, r12
+/* 80083658 00080598 98 1E 00 04 */ stb r0, 4(r30)
+/* 8008365C 0008059C 7F EC F8 50 */ subf r31, r12, r31
+/* 80083660 000805A0 7C 6C 18 50 */ subf r3, r12, r3
+/* 80083664 000805A4 C8 05 FF F8 */ lfd f0, -8(r5)
+/* 80083668 000805A8 7C 84 62 14 */ add r4, r4, r12
+/* 8008366C 000805AC 39 6C 00 01 */ addi r11, r12, 1
+/* 80083670 000805B0 FF FF 00 32 */ fmul f31, f31, f0
+/* 80083674 000805B4 FC 00 F8 1E */ fctiwz f0, f31
+/* 80083678 000805B8 D8 01 00 40 */ stfd f0, 0x40(r1)
+/* 8008367C 000805BC 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 80083680 000805C0 D8 01 00 48 */ stfd f0, 0x48(r1)
+/* 80083684 000805C4 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 80083688 000805C8 90 01 00 3C */ stw r0, 0x3c(r1)
+/* 8008368C 000805CC 80 C1 00 4C */ lwz r6, 0x4c(r1)
+/* 80083690 000805D0 91 21 00 38 */ stw r9, 0x38(r1)
+/* 80083694 000805D4 C8 01 00 38 */ lfd f0, 0x38(r1)
+/* 80083698 000805D8 FC 00 08 28 */ fsub f0, f0, f1
+/* 8008369C 000805DC FF FF 00 28 */ fsub f31, f31, f0
+/* 800836A0 000805E0 48 00 00 34 */ b lbl_800836D4
+lbl_800836A4:
+/* 800836A4 000805E4 7D 07 30 96 */ mulhw r8, r7, r6
+/* 800836A8 000805E8 7D 00 16 70 */ srawi r0, r8, 2
+/* 800836AC 000805EC 54 05 0F FE */ srwi r5, r0, 0x1f
+/* 800836B0 000805F0 7C 00 2A 14 */ add r0, r0, r5
+/* 800836B4 000805F4 1C 00 00 0A */ mulli r0, r0, 0xa
+/* 800836B8 000805F8 7C C0 30 50 */ subf r6, r0, r6
+/* 800836BC 000805FC 7D 00 16 70 */ srawi r0, r8, 2
+/* 800836C0 00080600 38 C6 00 30 */ addi r6, r6, 0x30
+/* 800836C4 00080604 98 C4 FF FF */ stb r6, -1(r4)
+/* 800836C8 00080608 54 05 0F FE */ srwi r5, r0, 0x1f
+/* 800836CC 0008060C 7C C0 2A 14 */ add r6, r0, r5
+/* 800836D0 00080610 38 84 FF FF */ addi r4, r4, -1
+lbl_800836D4:
+/* 800836D4 00080614 35 6B FF FF */ addic. r11, r11, -1
+/* 800836D8 00080618 40 82 FF CC */ bne lbl_800836A4
+/* 800836DC 0008061C 7C 84 62 14 */ add r4, r4, r12
+lbl_800836E0:
+/* 800836E0 00080620 2C 1F 00 00 */ cmpwi r31, 0
+/* 800836E4 00080624 40 82 FF 54 */ bne lbl_80083638
+/* 800836E8 00080628 A8 BD 00 02 */ lha r5, 2(r29)
+/* 800836EC 0008062C 2C 05 00 24 */ cmpwi r5, 0x24
+/* 800836F0 00080630 40 81 00 08 */ ble lbl_800836F8
+/* 800836F4 00080634 38 A0 00 24 */ li r5, 0x24
+lbl_800836F8:
+/* 800836F8 00080638 88 1E 00 04 */ lbz r0, 4(r30)
+/* 800836FC 0008063C 7C A0 28 51 */ subf. r5, r0, r5
+/* 80083700 00080640 40 81 00 30 */ ble lbl_80083730
+/* 80083704 00080644 38 C5 00 01 */ addi r6, r5, 1
+/* 80083708 00080648 38 00 00 30 */ li r0, 0x30
+/* 8008370C 0008064C 48 00 00 0C */ b lbl_80083718
+lbl_80083710:
+/* 80083710 00080650 98 04 00 00 */ stb r0, 0(r4)
+/* 80083714 00080654 38 84 00 01 */ addi r4, r4, 1
+lbl_80083718:
+/* 80083718 00080658 34 C6 FF FF */ addic. r6, r6, -1
+/* 8008371C 0008065C 40 82 FF F4 */ bne lbl_80083710
+/* 80083720 00080660 88 1E 00 04 */ lbz r0, 4(r30)
+/* 80083724 00080664 7C 65 18 50 */ subf r3, r5, r3
+/* 80083728 00080668 7C 00 2A 14 */ add r0, r0, r5
+/* 8008372C 0008066C 98 1E 00 04 */ stb r0, 4(r30)
+lbl_80083730:
+/* 80083730 00080670 7C 60 07 34 */ extsh r0, r3
+/* 80083734 00080674 B0 1E 00 02 */ sth r0, 2(r30)
+lbl_80083738:
+/* 80083738 00080678 80 01 00 6C */ lwz r0, 0x6c(r1)
+/* 8008373C 0008067C CB E1 00 60 */ lfd f31, 0x60(r1)
+/* 80083740 00080680 83 E1 00 5C */ lwz r31, 0x5c(r1)
+/* 80083744 00080684 7C 08 03 A6 */ mtlr r0
+/* 80083748 00080688 83 C1 00 58 */ lwz r30, 0x58(r1)
+/* 8008374C 0008068C 83 A1 00 54 */ lwz r29, 0x54(r1)
+/* 80083750 00080690 38 21 00 68 */ addi r1, r1, 0x68
+/* 80083754 00080694 4E 80 00 20 */ blr
+
+.section .rodata, "a" # 0x8036FFA0 - 0x803A8380
+.balign 8
+bit_values:
+ .4byte 0x40240000
+ .4byte 0
+ .4byte 0x40590000
+ .4byte 0
+ .4byte 0x40C38800
+ .4byte 0
+ .4byte 0x4197D784
+ .4byte 0
+ .4byte 0x4341C379
+ .4byte 0x37E08000
+ .4byte 0x4693B8B5
+ .4byte 0xB5056E17
+ .4byte 0x4D384F03
+ .4byte 0xE93FF9F5
+ .4byte 0x5A827748
+ .4byte 0xF9301D32
+ .4byte 0x75154FDD
+ .4byte 0x7F73BF3C
+digit_values:
+ .4byte 0x40240000
+ .4byte 0
+ .4byte 0x40590000
+ .4byte 0
+ .4byte 0x408F4000
+ .4byte 0
+ .4byte 0x40C38800
+ .4byte 0
+ .4byte 0x40F86A00
+ .4byte 0
+ .4byte 0x412E8480
+ .4byte 0
+ .4byte 0x416312D0
+ .4byte 0
+ .4byte 0x4197D784
+ .4byte 0
+
+.section .sdata2, "a" # 0x8040B460 - 0x80414020
+.balign 8
+"@268":
+ .4byte 0
+ .4byte 0
+"@270":
+ .4byte 0x3FF00000
+ .4byte 0
+"@272":
+ .4byte 0x43300000
+ .4byte 0x80000000
+"@362":
+ .4byte 0x3FB99999
+ .4byte 0x9999999A
+"@363":
+ .4byte 0x40240000
+ .4byte 0
diff --git a/asm/MSL_C.PPCEABI.bare.H/common_float_tables.s b/asm/MSL_C.PPCEABI.bare.H/common_float_tables.s
new file mode 100644
index 0000000..3437bd6
--- /dev/null
+++ b/asm/MSL_C.PPCEABI.bare.H/common_float_tables.s
@@ -0,0 +1,338 @@
+.include "macros.inc"
+
+.section .rodata, "a" # 0x8036FFA0 - 0x803A8380
+.balign 8
+.global __two_to_log2e_m1_tI
+__two_to_log2e_m1_tI:
+ .4byte 0x2C03DB89
+ .4byte 0x2C333687
+ .4byte 0x2C739362
+ .4byte 0x2CA586E0
+ .4byte 0x2CE0F96D
+ .4byte 0x2D18E2CB
+ .4byte 0x2D4FCB22
+ .4byte 0x2D8D35D7
+ .4byte 0x2DBFECBA
+ .4byte 0x2E026D27
+ .4byte 0x2E314490
+ .4byte 0x2E70EE94
+ .4byte 0x2EA3BAF0
+ .4byte 0x2EDE884F
+ .4byte 0x2F1739FB
+ .4byte 0x2F4D89C1
+ .4byte 0x2F8BAD78
+ .4byte 0x2FBDD771
+ .4byte 0x300102BF
+ .4byte 0x302F5800
+ .4byte 0x306E511E
+ .4byte 0x30A1F3FE
+ .4byte 0x30DC1DF9
+ .4byte 0x311595C7
+ .4byte 0x314B4EA4
+ .4byte 0x318A295C
+ .4byte 0x31BBC7F1
+ .4byte 0x31FF388B
+ .4byte 0x322D70C9
+ .4byte 0x326BBAEC
+ .4byte 0x32A031FC
+ .4byte 0x32D9BA5A
+ .4byte 0x3313F623
+ .4byte 0x334919B9
+ .4byte 0x3388A975
+ .4byte 0x33B9BE2B
+ .4byte 0x33FC7361
+ .4byte 0x342B8EDC
+ .4byte 0x34692BEB
+ .4byte 0x349E74DD
+ .4byte 0x34D75D5D
+ .4byte 0x35125B02
+ .4byte 0x3546EAF1
+ .4byte 0x35872DBA
+ .4byte 0x35B7BA0F
+ .4byte 0x35F9B5EA
+ .4byte 0x3629B229
+ .4byte 0x3666A405
+ .4byte 0x369CBC92
+ .4byte 0x36D506F2
+ .4byte 0x3710C457
+ .4byte 0x3744C239
+ .4byte 0x3785B61D
+ .4byte 0x37B5BB8D
+ .4byte 0x37F7000F
+ .4byte 0x3827DAA4
+ .4byte 0x38642328
+ .4byte 0x389B090F
+ .4byte 0x38D2B706
+ .4byte 0x390F3216
+ .4byte 0x39429F81
+ .4byte 0x39844295
+ .4byte 0x39B3C295
+ .4byte 0x39F451BD
+ .4byte 0x3A26083D
+ .4byte 0x3A61A93F
+ .4byte 0x3A995A46
+ .4byte 0x3AD06D87
+ .4byte 0x3B0DA433
+ .4byte 0x3B4082B8
+ .4byte 0x3B82D314
+ .4byte 0x3BB1CF19
+ .4byte 0x3BF1AADE
+ .4byte 0x3C243AE5
+ .4byte 0x3C5F3638
+ .4byte 0x3C97B02A
+ .4byte 0x3CCE2A62
+ .4byte 0x3D0C1AA1
+ .4byte 0x3D3E6BCE
+ .4byte 0x3D816791
+ .4byte 0x3DAFE108
+ .4byte 0x3DEF0B5D
+ .4byte 0x3E227290
+ .4byte 0x3E5CC9FF
+ .4byte 0x3E960AAE
+ .4byte 0x3ECBED86
+ .4byte 0x3F0A9555
+ .4byte 0x3F3C5AB2
+ .4byte 0x3F800000
+ .4byte 0x3FADF854
+ .4byte 0x3FEC7326
+ .4byte 0x4020AF2E
+ .4byte 0x405A6481
+ .4byte 0x409469C5
+ .4byte 0x40C9B6E3
+ .4byte 0x41091443
+ .4byte 0x413A4F54
+ .4byte 0x417D38AC
+ .4byte 0x41AC14EE
+ .4byte 0x41E9E224
+ .4byte 0x421EF0B3
+ .4byte 0x425805AD
+ .4byte 0x4292CD62
+ .4byte 0x42C78665
+ .4byte 0x4307975F
+ .4byte 0x433849A4
+ .4byte 0x437A7910
+ .4byte 0x43AA36C8
+ .4byte 0x43E75844
+ .4byte 0x441D3710
+ .4byte 0x4455AD6E
+ .4byte 0x4491357A
+ .4byte 0x44C55BFE
+ .4byte 0x45061E9D
+ .4byte 0x45364993
+ .4byte 0x4577C118
+ .4byte 0x45A85DD2
+ .4byte 0x45E4D572
+ .4byte 0x461B8238
+ .4byte 0x46535BB3
+ .4byte 0x468FA1FE
+ .4byte 0x46C3379A
+ .4byte 0x4704A9F1
+ .4byte 0x47344F11
+ .4byte 0x477510AD
+ .4byte 0x47A689FE
+ .4byte 0x47E2599A
+ .4byte 0x4819D21F
+ .4byte 0x4851106A
+ .4byte 0x488E12E4
+ .4byte 0x48C1192B
+ .4byte 0x49033952
+ .4byte 0x49325A0E
+ .4byte 0x497267BB
+ .4byte 0x49A4BB3E
+ .4byte 0x49DFE4A9
+ .4byte 0x4A1826B5
+ .4byte 0x4A4ECB81
+ .4byte 0x4A8C881F
+ .4byte 0x4ABF009E
+ .4byte 0x4B01CCB3
+ .4byte 0x4B306A7C
+ .4byte 0x4B6FC62E
+ .4byte 0x4BA2F184
+ .4byte 0x4BDD768B
+ .4byte 0x4C167FF0
+ .4byte 0x4C4C8CE5
+ .4byte 0x4C8B01A3
+ .4byte 0x4CBCEDE5
+ .4byte 0x4D006408
+ .4byte 0x4D2E804A
+ .4byte 0x4D6D2BEF
+ .4byte 0x4DA12CC1
+ .4byte 0x4DDB0F2E
+ .4byte 0x4E14DDC1
+ .4byte 0x4E4A5487
+ .4byte 0x4E897F64
+ .4byte 0x4EBAE0EE
+ .4byte 0x4EFDFE91
+ .4byte 0x4F2C9B6A
+ .4byte 0x4F6A98EC
+ .4byte 0x4F9F6CE9
+ .4byte 0x4FD8AE7F
+ .4byte 0x5013401C
+ .4byte 0x50482254
+ .4byte 0x50880156
+ .4byte 0x50B8D9AA
+ .4byte 0x50FB3CCF
+ .4byte 0x512ABBCE
+ .4byte 0x51680D11
+ .4byte 0x519DB1ED
+ .4byte 0x51D6546B
+ .4byte 0x5211A6F5
+ .4byte 0x5245F63B
+ .4byte 0x5286876D
+ .4byte 0x52B6D809
+ .4byte 0x52F882B7
+ .4byte 0x5328E166
+.global __one_over_F
+__one_over_F:
+ .4byte 0x3F800000
+ .4byte 0x3F7E03F8
+ .4byte 0x3F7C0FC1
+ .4byte 0x3F7A232D
+ .4byte 0x3F783E10
+ .4byte 0x3F76603E
+ .4byte 0x3F74898D
+ .4byte 0x3F72B9D6
+ .4byte 0x3F70F0F1
+ .4byte 0x3F6F2EB7
+ .4byte 0x3F6D7304
+ .4byte 0x3F6BBDB3
+ .4byte 0x3F6A0EA1
+ .4byte 0x3F6865AC
+ .4byte 0x3F66C2B4
+ .4byte 0x3F652598
+ .4byte 0x3F638E39
+ .4byte 0x3F61FC78
+ .4byte 0x3F607038
+ .4byte 0x3F5EE95C
+ .4byte 0x3F5D67C9
+ .4byte 0x3F5BEB62
+ .4byte 0x3F5A740E
+ .4byte 0x3F5901B2
+ .4byte 0x3F579436
+ .4byte 0x3F562B81
+ .4byte 0x3F54C77B
+ .4byte 0x3F53680D
+ .4byte 0x3F520D21
+ .4byte 0x3F50B6A0
+ .4byte 0x3F4F6475
+ .4byte 0x3F4E168A
+ .4byte 0x3F4CCCCD
+ .4byte 0x3F4B8728
+ .4byte 0x3F4A4588
+ .4byte 0x3F4907DA
+ .4byte 0x3F47CE0C
+ .4byte 0x3F46980C
+ .4byte 0x3F4565C8
+ .4byte 0x3F443730
+ .4byte 0x3F430C31
+ .4byte 0x3F41E4BC
+ .4byte 0x3F40C0C1
+ .4byte 0x3F3FA030
+ .4byte 0x3F3E82FA
+ .4byte 0x3F3D6910
+ .4byte 0x3F3C5264
+ .4byte 0x3F3B3EE7
+ .4byte 0x3F3A2E8C
+ .4byte 0x3F392144
+ .4byte 0x3F381703
+ .4byte 0x3F370FBB
+ .4byte 0x3F360B61
+ .4byte 0x3F3509E7
+ .4byte 0x3F340B41
+ .4byte 0x3F330F63
+ .4byte 0x3F321643
+ .4byte 0x3F311FD4
+ .4byte 0x3F302C0B
+ .4byte 0x3F2F3ADE
+ .4byte 0x3F2E4C41
+ .4byte 0x3F2D602B
+ .4byte 0x3F2C7692
+ .4byte 0x3F2B8F6A
+ .4byte 0x3F2AAAAB
+ .4byte 0x3F29C84A
+ .4byte 0x3F28E83F
+ .4byte 0x3F280A81
+ .4byte 0x3F272F05
+ .4byte 0x3F2655C4
+ .4byte 0x3F257EB5
+ .4byte 0x3F24A9CF
+ .4byte 0x3F23D70A
+ .4byte 0x3F23065E
+ .4byte 0x3F2237C3
+ .4byte 0x3F216B31
+ .4byte 0x3F20A0A1
+ .4byte 0x3F1FD80A
+ .4byte 0x3F1F1166
+ .4byte 0x3F1E4CAD
+ .4byte 0x3F1D89D9
+ .4byte 0x3F1CC8E1
+ .4byte 0x3F1C09C1
+ .4byte 0x3F1B4C70
+ .4byte 0x3F1A90E8
+ .4byte 0x3F19D723
+ .4byte 0x3F191F1A
+ .4byte 0x3F1868C8
+ .4byte 0x3F17B426
+ .4byte 0x3F17012E
+ .4byte 0x3F164FDA
+ .4byte 0x3F15A025
+ .4byte 0x3F14F209
+ .4byte 0x3F144581
+ .4byte 0x3F139A86
+ .4byte 0x3F12F114
+ .4byte 0x3F124925
+ .4byte 0x3F11A2B4
+ .4byte 0x3F10FDBC
+ .4byte 0x3F105A38
+ .4byte 0x3F0FB824
+ .4byte 0x3F0F177A
+ .4byte 0x3F0E7835
+ .4byte 0x3F0DDA52
+ .4byte 0x3F0D3DCB
+ .4byte 0x3F0CA29C
+ .4byte 0x3F0C08C1
+ .4byte 0x3F0B7034
+ .4byte 0x3F0AD8F3
+ .4byte 0x3F0A42F8
+ .4byte 0x3F09AE41
+ .4byte 0x3F091AC7
+ .4byte 0x3F088889
+ .4byte 0x3F07F781
+ .4byte 0x3F0767AB
+ .4byte 0x3F06D905
+ .4byte 0x3F064B8A
+ .4byte 0x3F05BF37
+ .4byte 0x3F053408
+ .4byte 0x3F04A9FA
+ .4byte 0x3F042108
+ .4byte 0x3F039930
+ .4byte 0x3F03126F
+ .4byte 0x3F028CC0
+ .4byte 0x3F020821
+ .4byte 0x3F01848E
+ .4byte 0x3F010204
+ .4byte 0x3F008080
+ .4byte 0x3F000000
+.global __sincos_on_quadrant
+__sincos_on_quadrant:
+ .4byte 0
+ .4byte 0x3F800000
+ .4byte 0x3F800000
+ .4byte 0
+ .4byte 0
+ .4byte 0xBF800000
+ .4byte 0xBF800000
+ .4byte 0
+.global __sincos_poly
+__sincos_poly:
+ .4byte 0x366CCFAA
+ .4byte 0x34A5E129
+ .4byte 0xB9AAE275
+ .4byte 0xB8196543
+ .4byte 0x3C81E0ED
+ .4byte 0x3B2335DD
+ .4byte 0xBE9DE9E6
+ .4byte 0xBDA55DE7
+ .4byte 0x3F800000
+ .4byte 0x3F490FDB
+ .4byte 0
diff --git a/asm/MSL_C.PPCEABI.bare.H/critical_regions.ppc_eabi.s b/asm/MSL_C.PPCEABI.bare.H/critical_regions.ppc_eabi.s
new file mode 100644
index 0000000..6d0f74c
--- /dev/null
+++ b/asm/MSL_C.PPCEABI.bare.H/critical_regions.ppc_eabi.s
@@ -0,0 +1,6 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80005600 - 0x8036FBA0
+.global __kill_critical_regions
+__kill_critical_regions:
+/* 80083858 00080798 4E 80 00 20 */ blr
diff --git a/asm/MSL_C.PPCEABI.bare.H/exponentialsf.s b/asm/MSL_C.PPCEABI.bare.H/exponentialsf.s
new file mode 100644
index 0000000..ebf0950
--- /dev/null
+++ b/asm/MSL_C.PPCEABI.bare.H/exponentialsf.s
@@ -0,0 +1,762 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80005600 - 0x8036FBA0
+.global powf
+powf:
+/* 800872D8 00084218 94 21 FF 70 */ stwu r1, -0x90(r1)
+/* 800872DC 0008421C 3C 60 80 37 */ lis r3, __log2_F@ha
+/* 800872E0 00084220 38 63 1F A8 */ addi r3, r3, __log2_F@l
+/* 800872E4 00084224 C0 62 8A 60 */ lfs f3, "@246"@sda21(r2)
+/* 800872E8 00084228 FC 01 18 40 */ fcmpo cr0, f1, f3
+/* 800872EC 0008422C 40 81 01 E4 */ ble lbl_800874D0
+/* 800872F0 00084230 D0 21 00 60 */ stfs f1, 0x60(r1)
+/* 800872F4 00084234 80 02 8A 50 */ lwz r0, "@93"@sda21(r2)
+/* 800872F8 00084238 81 21 00 60 */ lwz r9, 0x60(r1)
+/* 800872FC 0008423C 90 01 00 68 */ stw r0, 0x68(r1)
+/* 80087300 00084240 80 A2 8A 54 */ lwz r5, lbl_8040BEB4@sda21(r2)
+/* 80087304 00084244 55 20 04 3F */ clrlwi. r0, r9, 0x10
+/* 80087308 00084248 55 24 4D FE */ srwi r4, r9, 0x17
+/* 8008730C 0008424C 90 A1 00 6C */ stw r5, 0x6c(r1)
+/* 80087310 00084250 55 26 02 7E */ clrlwi r6, r9, 9
+/* 80087314 00084254 39 04 FF 80 */ addi r8, r4, -128
+/* 80087318 00084258 55 27 86 7E */ rlwinm r7, r9, 0x10, 0x19, 0x1f
+/* 8008731C 0008425C 41 82 00 B4 */ beq lbl_800873D0
+/* 80087320 00084260 55 24 02 5E */ rlwinm r4, r9, 0, 9, 0xf
+/* 80087324 00084264 64 85 3F 80 */ oris r5, r4, 0x3f80
+/* 80087328 00084268 64 C4 3F 80 */ oris r4, r6, 0x3f80
+/* 8008732C 0008426C 90 A1 00 64 */ stw r5, 0x64(r1)
+/* 80087330 00084270 55 20 04 21 */ rlwinm. r0, r9, 0, 0x10, 0x10
+/* 80087334 00084274 90 81 00 74 */ stw r4, 0x74(r1)
+/* 80087338 00084278 41 82 00 14 */ beq lbl_8008734C
+/* 8008733C 0008427C 80 81 00 64 */ lwz r4, 0x64(r1)
+/* 80087340 00084280 38 E7 00 01 */ addi r7, r7, 1
+/* 80087344 00084284 3C 04 00 01 */ addis r0, r4, 1
+/* 80087348 00084288 90 01 00 64 */ stw r0, 0x64(r1)
+lbl_8008734C:
+/* 8008734C 0008428C 3C 80 80 37 */ lis r4, __one_over_F@ha
+/* 80087350 00084290 C0 61 00 74 */ lfs f3, 0x74(r1)
+/* 80087354 00084294 C0 01 00 64 */ lfs f0, 0x64(r1)
+/* 80087358 00084298 54 E5 10 3A */ slwi r5, r7, 2
+/* 8008735C 0008429C 38 04 1D 58 */ addi r0, r4, __one_over_F@l
+/* 80087360 000842A0 C0 21 00 6C */ lfs f1, 0x6c(r1)
+/* 80087364 000842A4 7C 80 2A 14 */ add r4, r0, r5
+/* 80087368 000842A8 ED 03 00 28 */ fsubs f8, f3, f0
+/* 8008736C 000842AC C0 64 00 00 */ lfs f3, 0(r4)
+/* 80087370 000842B0 38 82 8A 48 */ addi r4, r2, __log2e_m1$localstatic0$__log2f__Ff@sda21
+/* 80087374 000842B4 C0 01 00 68 */ lfs f0, 0x68(r1)
+/* 80087378 000842B8 6D 00 80 00 */ xoris r0, r8, 0x8000
+/* 8008737C 000842BC ED 08 00 F2 */ fmuls f8, f8, f3
+/* 80087380 000842C0 C0 84 00 04 */ lfs f4, 4(r4)
+/* 80087384 000842C4 90 01 00 8C */ stw r0, 0x8c(r1)
+/* 80087388 000842C8 3C 00 43 30 */ lis r0, 0x4330
+/* 8008738C 000842CC C0 A2 8A 48 */ lfs f5, __log2e_m1$localstatic0$__log2f__Ff@sda21(r2)
+/* 80087390 000842D0 EC 68 02 32 */ fmuls f3, f8, f8
+/* 80087394 000842D4 90 01 00 88 */ stw r0, 0x88(r1)
+/* 80087398 000842D8 EC 08 00 7A */ fmadds f0, f8, f1, f0
+/* 8008739C 000842DC C8 C2 8A 78 */ lfd f6, "@253"@sda21(r2)
+/* 800873A0 000842E0 C8 21 00 88 */ lfd f1, 0x88(r1)
+/* 800873A4 000842E4 EC 03 00 32 */ fmuls f0, f3, f0
+/* 800873A8 000842E8 C0 E2 8A 64 */ lfs f7, "@247"@sda21(r2)
+/* 800873AC 000842EC EC 61 30 28 */ fsubs f3, f1, f6
+/* 800873B0 000842F0 7C 23 2C 2E */ lfsx f1, r3, r5
+/* 800873B4 000842F4 EC 04 02 3A */ fmadds f0, f4, f8, f0
+/* 800873B8 000842F8 EC 67 18 2A */ fadds f3, f7, f3
+/* 800873BC 000842FC EC 05 02 3A */ fmadds f0, f5, f8, f0
+/* 800873C0 00084300 EC 08 00 2A */ fadds f0, f8, f0
+/* 800873C4 00084304 EC 01 00 2A */ fadds f0, f1, f0
+/* 800873C8 00084308 EC 03 00 2A */ fadds f0, f3, f0
+/* 800873CC 0008430C 48 00 00 34 */ b lbl_80087400
+lbl_800873D0:
+/* 800873D0 00084310 6D 00 80 00 */ xoris r0, r8, 0x8000
+/* 800873D4 00084314 C8 62 8A 78 */ lfd f3, "@253"@sda21(r2)
+/* 800873D8 00084318 90 01 00 8C */ stw r0, 0x8c(r1)
+/* 800873DC 0008431C 3C 80 43 30 */ lis r4, 0x4330
+/* 800873E0 00084320 54 E0 10 3A */ slwi r0, r7, 2
+/* 800873E4 00084324 C0 82 8A 64 */ lfs f4, "@247"@sda21(r2)
+/* 800873E8 00084328 90 81 00 88 */ stw r4, 0x88(r1)
+/* 800873EC 0008432C 7C 03 04 2E */ lfsx f0, r3, r0
+/* 800873F0 00084330 C8 21 00 88 */ lfd f1, 0x88(r1)
+/* 800873F4 00084334 EC 21 18 28 */ fsubs f1, f1, f3
+/* 800873F8 00084338 EC 24 08 2A */ fadds f1, f4, f1
+/* 800873FC 0008433C EC 01 00 2A */ fadds f0, f1, f0
+lbl_80087400:
+/* 80087400 00084340 EC 42 00 32 */ fmuls f2, f2, f0
+/* 80087404 00084344 3C 00 43 30 */ lis r0, 0x4330
+/* 80087408 00084348 C8 22 8A 78 */ lfd f1, "@253"@sda21(r2)
+/* 8008740C 0008434C FC 00 10 1E */ fctiwz f0, f2
+/* 80087410 00084350 D8 01 00 88 */ stfd f0, 0x88(r1)
+/* 80087414 00084354 80 81 00 8C */ lwz r4, 0x8c(r1)
+/* 80087418 00084358 90 81 00 58 */ stw r4, 0x58(r1)
+/* 8008741C 0008435C 80 A1 00 58 */ lwz r5, 0x58(r1)
+/* 80087420 00084360 6C A4 80 00 */ xoris r4, r5, 0x8000
+/* 80087424 00084364 90 81 00 84 */ stw r4, 0x84(r1)
+/* 80087428 00084368 2C 05 00 80 */ cmpwi r5, 0x80
+/* 8008742C 0008436C 90 01 00 80 */ stw r0, 0x80(r1)
+/* 80087430 00084370 C8 01 00 80 */ lfd f0, 0x80(r1)
+/* 80087434 00084374 EC 00 08 28 */ fsubs f0, f0, f1
+/* 80087438 00084378 ED 22 00 28 */ fsubs f9, f2, f0
+/* 8008743C 0008437C 40 81 00 0C */ ble lbl_80087448
+/* 80087440 00084380 C0 22 8A 58 */ lfs f1, _inf@sda21(r2)
+/* 80087444 00084384 48 00 05 CC */ b lbl_80087A10
+lbl_80087448:
+/* 80087448 00084388 2C 05 FF 81 */ cmpwi r5, -127
+/* 8008744C 0008438C 40 80 00 0C */ bge lbl_80087458
+/* 80087450 00084390 C0 22 8A 60 */ lfs f1, "@246"@sda21(r2)
+/* 80087454 00084394 48 00 05 BC */ b lbl_80087A10
+lbl_80087458:
+/* 80087458 00084398 38 05 00 7F */ addi r0, r5, 0x7f
+/* 8008745C 0008439C C0 C2 8A 6C */ lfs f6, "@249"@sda21(r2)
+/* 80087460 000843A0 90 01 00 58 */ stw r0, 0x58(r1)
+/* 80087464 000843A4 C0 E2 8A 68 */ lfs f7, "@248"@sda21(r2)
+/* 80087468 000843A8 80 01 00 58 */ lwz r0, 0x58(r1)
+/* 8008746C 000843AC 54 00 B8 10 */ slwi r0, r0, 0x17
+/* 80087470 000843B0 90 01 00 58 */ stw r0, 0x58(r1)
+/* 80087474 000843B4 C0 43 02 24 */ lfs f2, 0x224(r3)
+/* 80087478 000843B8 C0 03 02 20 */ lfs f0, 0x220(r3)
+/* 8008747C 000843BC C0 23 02 1C */ lfs f1, 0x21c(r3)
+/* 80087480 000843C0 EC 49 00 BA */ fmadds f2, f9, f2, f0
+/* 80087484 000843C4 C0 03 02 18 */ lfs f0, 0x218(r3)
+/* 80087488 000843C8 C0 83 02 14 */ lfs f4, 0x214(r3)
+/* 8008748C 000843CC C0 63 02 10 */ lfs f3, 0x210(r3)
+/* 80087490 000843D0 EC A9 08 BA */ fmadds f5, f9, f2, f1
+/* 80087494 000843D4 C0 43 02 0C */ lfs f2, 0x20c(r3)
+/* 80087498 000843D8 C0 23 02 08 */ lfs f1, 0x208(r3)
+/* 8008749C 000843DC EC A9 01 7A */ fmadds f5, f9, f5, f0
+/* 800874A0 000843E0 C0 03 02 04 */ lfs f0, 0x204(r3)
+/* 800874A4 000843E4 C1 01 00 58 */ lfs f8, 0x58(r1)
+/* 800874A8 000843E8 EC 89 21 7A */ fmadds f4, f9, f5, f4
+/* 800874AC 000843EC EC 69 19 3A */ fmadds f3, f9, f4, f3
+/* 800874B0 000843F0 EC 49 10 FA */ fmadds f2, f9, f3, f2
+/* 800874B4 000843F4 EC 29 08 BA */ fmadds f1, f9, f2, f1
+/* 800874B8 000843F8 EC 09 00 7A */ fmadds f0, f9, f1, f0
+/* 800874BC 000843FC EC 09 00 32 */ fmuls f0, f9, f0
+/* 800874C0 00084400 EC 06 00 2A */ fadds f0, f6, f0
+/* 800874C4 00084404 EC 07 00 2A */ fadds f0, f7, f0
+/* 800874C8 00084408 EC 28 00 32 */ fmuls f1, f8, f0
+/* 800874CC 0008440C 48 00 05 44 */ b lbl_80087A10
+lbl_800874D0:
+/* 800874D0 00084410 40 80 04 18 */ bge lbl_800878E8
+/* 800874D4 00084414 FC 00 10 1E */ fctiwz f0, f2
+/* 800874D8 00084418 3C A0 43 30 */ lis r5, 0x4330
+/* 800874DC 0008441C C8 82 8A 78 */ lfd f4, "@253"@sda21(r2)
+/* 800874E0 00084420 D8 01 00 88 */ stfd f0, 0x88(r1)
+/* 800874E4 00084424 80 01 00 8C */ lwz r0, 0x8c(r1)
+/* 800874E8 00084428 D8 01 00 80 */ stfd f0, 0x80(r1)
+/* 800874EC 0008442C 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 800874F0 00084430 90 01 00 7C */ stw r0, 0x7c(r1)
+/* 800874F4 00084434 80 81 00 84 */ lwz r4, 0x84(r1)
+/* 800874F8 00084438 90 A1 00 78 */ stw r5, 0x78(r1)
+/* 800874FC 0008443C C8 01 00 78 */ lfd f0, 0x78(r1)
+/* 80087500 00084440 EC 00 20 28 */ fsubs f0, f0, f4
+/* 80087504 00084444 EC 02 00 28 */ fsubs f0, f2, f0
+/* 80087508 00084448 FC 00 18 00 */ fcmpu cr0, f0, f3
+/* 8008750C 0008444C 41 82 00 0C */ beq lbl_80087518
+/* 80087510 00084450 C0 22 8A 5C */ lfs f1, _nan@sda21(r2)
+/* 80087514 00084454 48 00 04 FC */ b lbl_80087A10
+lbl_80087518:
+/* 80087518 00084458 7C 80 0E 70 */ srawi r0, r4, 1
+/* 8008751C 0008445C 7C 00 01 94 */ addze r0, r0
+/* 80087520 00084460 54 00 08 3C */ slwi r0, r0, 1
+/* 80087524 00084464 7C 00 20 11 */ subfc. r0, r0, r4
+/* 80087528 00084468 41 82 01 E4 */ beq lbl_8008770C
+/* 8008752C 0008446C FC 00 08 50 */ fneg f0, f1
+/* 80087530 00084470 80 82 8A 50 */ lwz r4, "@93"@sda21(r2)
+/* 80087534 00084474 80 02 8A 54 */ lwz r0, lbl_8040BEB4@sda21(r2)
+/* 80087538 00084478 90 81 00 48 */ stw r4, 0x48(r1)
+/* 8008753C 0008447C D0 01 00 40 */ stfs f0, 0x40(r1)
+/* 80087540 00084480 81 21 00 40 */ lwz r9, 0x40(r1)
+/* 80087544 00084484 90 01 00 4C */ stw r0, 0x4c(r1)
+/* 80087548 00084488 55 24 4D FE */ srwi r4, r9, 0x17
+/* 8008754C 0008448C 55 20 04 3F */ clrlwi. r0, r9, 0x10
+/* 80087550 00084490 55 26 02 7E */ clrlwi r6, r9, 9
+/* 80087554 00084494 39 04 FF 80 */ addi r8, r4, -128
+/* 80087558 00084498 55 27 86 7E */ rlwinm r7, r9, 0x10, 0x19, 0x1f
+/* 8008755C 0008449C 41 82 00 B4 */ beq lbl_80087610
+/* 80087560 000844A0 55 24 02 5E */ rlwinm r4, r9, 0, 9, 0xf
+/* 80087564 000844A4 64 85 3F 80 */ oris r5, r4, 0x3f80
+/* 80087568 000844A8 64 C4 3F 80 */ oris r4, r6, 0x3f80
+/* 8008756C 000844AC 90 A1 00 44 */ stw r5, 0x44(r1)
+/* 80087570 000844B0 55 20 04 21 */ rlwinm. r0, r9, 0, 0x10, 0x10
+/* 80087574 000844B4 90 81 00 54 */ stw r4, 0x54(r1)
+/* 80087578 000844B8 41 82 00 14 */ beq lbl_8008758C
+/* 8008757C 000844BC 80 81 00 44 */ lwz r4, 0x44(r1)
+/* 80087580 000844C0 38 E7 00 01 */ addi r7, r7, 1
+/* 80087584 000844C4 3C 04 00 01 */ addis r0, r4, 1
+/* 80087588 000844C8 90 01 00 44 */ stw r0, 0x44(r1)
+lbl_8008758C:
+/* 8008758C 000844CC 3C 80 80 37 */ lis r4, __one_over_F@ha
+/* 80087590 000844D0 C0 61 00 54 */ lfs f3, 0x54(r1)
+/* 80087594 000844D4 C0 01 00 44 */ lfs f0, 0x44(r1)
+/* 80087598 000844D8 54 E5 10 3A */ slwi r5, r7, 2
+/* 8008759C 000844DC 38 04 1D 58 */ addi r0, r4, __one_over_F@l
+/* 800875A0 000844E0 C0 21 00 4C */ lfs f1, 0x4c(r1)
+/* 800875A4 000844E4 7C 80 2A 14 */ add r4, r0, r5
+/* 800875A8 000844E8 ED 03 00 28 */ fsubs f8, f3, f0
+/* 800875AC 000844EC C0 64 00 00 */ lfs f3, 0(r4)
+/* 800875B0 000844F0 38 82 8A 48 */ addi r4, r2, __log2e_m1$localstatic0$__log2f__Ff@sda21
+/* 800875B4 000844F4 C0 01 00 48 */ lfs f0, 0x48(r1)
+/* 800875B8 000844F8 6D 00 80 00 */ xoris r0, r8, 0x8000
+/* 800875BC 000844FC ED 08 00 F2 */ fmuls f8, f8, f3
+/* 800875C0 00084500 C0 84 00 04 */ lfs f4, 4(r4)
+/* 800875C4 00084504 90 01 00 7C */ stw r0, 0x7c(r1)
+/* 800875C8 00084508 3C 00 43 30 */ lis r0, 0x4330
+/* 800875CC 0008450C C0 A2 8A 48 */ lfs f5, __log2e_m1$localstatic0$__log2f__Ff@sda21(r2)
+/* 800875D0 00084510 EC 68 02 32 */ fmuls f3, f8, f8
+/* 800875D4 00084514 90 01 00 78 */ stw r0, 0x78(r1)
+/* 800875D8 00084518 EC 08 00 7A */ fmadds f0, f8, f1, f0
+/* 800875DC 0008451C C8 C2 8A 78 */ lfd f6, "@253"@sda21(r2)
+/* 800875E0 00084520 C8 21 00 78 */ lfd f1, 0x78(r1)
+/* 800875E4 00084524 EC 03 00 32 */ fmuls f0, f3, f0
+/* 800875E8 00084528 C0 E2 8A 64 */ lfs f7, "@247"@sda21(r2)
+/* 800875EC 0008452C EC 61 30 28 */ fsubs f3, f1, f6
+/* 800875F0 00084530 7C 23 2C 2E */ lfsx f1, r3, r5
+/* 800875F4 00084534 EC 04 02 3A */ fmadds f0, f4, f8, f0
+/* 800875F8 00084538 EC 67 18 2A */ fadds f3, f7, f3
+/* 800875FC 0008453C EC 05 02 3A */ fmadds f0, f5, f8, f0
+/* 80087600 00084540 EC 08 00 2A */ fadds f0, f8, f0
+/* 80087604 00084544 EC 01 00 2A */ fadds f0, f1, f0
+/* 80087608 00084548 EC 03 00 2A */ fadds f0, f3, f0
+/* 8008760C 0008454C 48 00 00 2C */ b lbl_80087638
+lbl_80087610:
+/* 80087610 00084550 6D 00 80 00 */ xoris r0, r8, 0x8000
+/* 80087614 00084554 C0 62 8A 64 */ lfs f3, "@247"@sda21(r2)
+/* 80087618 00084558 90 01 00 7C */ stw r0, 0x7c(r1)
+/* 8008761C 0008455C 54 E0 10 3A */ slwi r0, r7, 2
+/* 80087620 00084560 7C 03 04 2E */ lfsx f0, r3, r0
+/* 80087624 00084564 90 A1 00 78 */ stw r5, 0x78(r1)
+/* 80087628 00084568 C8 21 00 78 */ lfd f1, 0x78(r1)
+/* 8008762C 0008456C EC 21 20 28 */ fsubs f1, f1, f4
+/* 80087630 00084570 EC 23 08 2A */ fadds f1, f3, f1
+/* 80087634 00084574 EC 01 00 2A */ fadds f0, f1, f0
+lbl_80087638:
+/* 80087638 00084578 EC 42 00 32 */ fmuls f2, f2, f0
+/* 8008763C 0008457C 3C 00 43 30 */ lis r0, 0x4330
+/* 80087640 00084580 C8 22 8A 78 */ lfd f1, "@253"@sda21(r2)
+/* 80087644 00084584 FC 00 10 1E */ fctiwz f0, f2
+/* 80087648 00084588 D8 01 00 78 */ stfd f0, 0x78(r1)
+/* 8008764C 0008458C 80 81 00 7C */ lwz r4, 0x7c(r1)
+/* 80087650 00084590 90 81 00 38 */ stw r4, 0x38(r1)
+/* 80087654 00084594 80 A1 00 38 */ lwz r5, 0x38(r1)
+/* 80087658 00084598 6C A4 80 00 */ xoris r4, r5, 0x8000
+/* 8008765C 0008459C 90 81 00 84 */ stw r4, 0x84(r1)
+/* 80087660 000845A0 2C 05 00 80 */ cmpwi r5, 0x80
+/* 80087664 000845A4 90 01 00 80 */ stw r0, 0x80(r1)
+/* 80087668 000845A8 C8 01 00 80 */ lfd f0, 0x80(r1)
+/* 8008766C 000845AC EC 00 08 28 */ fsubs f0, f0, f1
+/* 80087670 000845B0 ED 22 00 28 */ fsubs f9, f2, f0
+/* 80087674 000845B4 40 81 00 0C */ ble lbl_80087680
+/* 80087678 000845B8 C0 02 8A 58 */ lfs f0, _inf@sda21(r2)
+/* 8008767C 000845BC 48 00 00 88 */ b lbl_80087704
+lbl_80087680:
+/* 80087680 000845C0 2C 05 FF 81 */ cmpwi r5, -127
+/* 80087684 000845C4 40 80 00 0C */ bge lbl_80087690
+/* 80087688 000845C8 C0 02 8A 60 */ lfs f0, "@246"@sda21(r2)
+/* 8008768C 000845CC 48 00 00 78 */ b lbl_80087704
+lbl_80087690:
+/* 80087690 000845D0 38 05 00 7F */ addi r0, r5, 0x7f
+/* 80087694 000845D4 C0 C2 8A 6C */ lfs f6, "@249"@sda21(r2)
+/* 80087698 000845D8 90 01 00 38 */ stw r0, 0x38(r1)
+/* 8008769C 000845DC C0 E2 8A 68 */ lfs f7, "@248"@sda21(r2)
+/* 800876A0 000845E0 80 01 00 38 */ lwz r0, 0x38(r1)
+/* 800876A4 000845E4 54 00 B8 10 */ slwi r0, r0, 0x17
+/* 800876A8 000845E8 90 01 00 38 */ stw r0, 0x38(r1)
+/* 800876AC 000845EC C0 43 02 24 */ lfs f2, 0x224(r3)
+/* 800876B0 000845F0 C0 03 02 20 */ lfs f0, 0x220(r3)
+/* 800876B4 000845F4 C0 23 02 1C */ lfs f1, 0x21c(r3)
+/* 800876B8 000845F8 EC 49 00 BA */ fmadds f2, f9, f2, f0
+/* 800876BC 000845FC C0 03 02 18 */ lfs f0, 0x218(r3)
+/* 800876C0 00084600 C0 83 02 14 */ lfs f4, 0x214(r3)
+/* 800876C4 00084604 C0 63 02 10 */ lfs f3, 0x210(r3)
+/* 800876C8 00084608 EC A9 08 BA */ fmadds f5, f9, f2, f1
+/* 800876CC 0008460C C0 43 02 0C */ lfs f2, 0x20c(r3)
+/* 800876D0 00084610 C0 23 02 08 */ lfs f1, 0x208(r3)
+/* 800876D4 00084614 EC A9 01 7A */ fmadds f5, f9, f5, f0
+/* 800876D8 00084618 C0 03 02 04 */ lfs f0, 0x204(r3)
+/* 800876DC 0008461C C1 01 00 38 */ lfs f8, 0x38(r1)
+/* 800876E0 00084620 EC 89 21 7A */ fmadds f4, f9, f5, f4
+/* 800876E4 00084624 EC 69 19 3A */ fmadds f3, f9, f4, f3
+/* 800876E8 00084628 EC 49 10 FA */ fmadds f2, f9, f3, f2
+/* 800876EC 0008462C EC 29 08 BA */ fmadds f1, f9, f2, f1
+/* 800876F0 00084630 EC 09 00 7A */ fmadds f0, f9, f1, f0
+/* 800876F4 00084634 EC 09 00 32 */ fmuls f0, f9, f0
+/* 800876F8 00084638 EC 06 00 2A */ fadds f0, f6, f0
+/* 800876FC 0008463C EC 07 00 2A */ fadds f0, f7, f0
+/* 80087700 00084640 EC 08 00 32 */ fmuls f0, f8, f0
+lbl_80087704:
+/* 80087704 00084644 FC 20 00 50 */ fneg f1, f0
+/* 80087708 00084648 48 00 03 08 */ b lbl_80087A10
+lbl_8008770C:
+/* 8008770C 0008464C FC 00 08 50 */ fneg f0, f1
+/* 80087710 00084650 80 82 8A 50 */ lwz r4, "@93"@sda21(r2)
+/* 80087714 00084654 80 02 8A 54 */ lwz r0, lbl_8040BEB4@sda21(r2)
+/* 80087718 00084658 90 81 00 28 */ stw r4, 0x28(r1)
+/* 8008771C 0008465C D0 01 00 20 */ stfs f0, 0x20(r1)
+/* 80087720 00084660 81 21 00 20 */ lwz r9, 0x20(r1)
+/* 80087724 00084664 90 01 00 2C */ stw r0, 0x2c(r1)
+/* 80087728 00084668 55 24 4D FE */ srwi r4, r9, 0x17
+/* 8008772C 0008466C 55 20 04 3F */ clrlwi. r0, r9, 0x10
+/* 80087730 00084670 55 26 02 7E */ clrlwi r6, r9, 9
+/* 80087734 00084674 39 04 FF 80 */ addi r8, r4, -128
+/* 80087738 00084678 55 27 86 7E */ rlwinm r7, r9, 0x10, 0x19, 0x1f
+/* 8008773C 0008467C 41 82 00 B4 */ beq lbl_800877F0
+/* 80087740 00084680 55 24 02 5E */ rlwinm r4, r9, 0, 9, 0xf
+/* 80087744 00084684 64 85 3F 80 */ oris r5, r4, 0x3f80
+/* 80087748 00084688 64 C4 3F 80 */ oris r4, r6, 0x3f80
+/* 8008774C 0008468C 90 A1 00 24 */ stw r5, 0x24(r1)
+/* 80087750 00084690 55 20 04 21 */ rlwinm. r0, r9, 0, 0x10, 0x10
+/* 80087754 00084694 90 81 00 34 */ stw r4, 0x34(r1)
+/* 80087758 00084698 41 82 00 14 */ beq lbl_8008776C
+/* 8008775C 0008469C 80 81 00 24 */ lwz r4, 0x24(r1)
+/* 80087760 000846A0 38 E7 00 01 */ addi r7, r7, 1
+/* 80087764 000846A4 3C 04 00 01 */ addis r0, r4, 1
+/* 80087768 000846A8 90 01 00 24 */ stw r0, 0x24(r1)
+lbl_8008776C:
+/* 8008776C 000846AC 3C 80 80 37 */ lis r4, __one_over_F@ha
+/* 80087770 000846B0 C0 61 00 34 */ lfs f3, 0x34(r1)
+/* 80087774 000846B4 C0 01 00 24 */ lfs f0, 0x24(r1)
+/* 80087778 000846B8 54 E5 10 3A */ slwi r5, r7, 2
+/* 8008777C 000846BC 38 04 1D 58 */ addi r0, r4, __one_over_F@l
+/* 80087780 000846C0 C0 21 00 2C */ lfs f1, 0x2c(r1)
+/* 80087784 000846C4 7C 80 2A 14 */ add r4, r0, r5
+/* 80087788 000846C8 ED 03 00 28 */ fsubs f8, f3, f0
+/* 8008778C 000846CC C0 64 00 00 */ lfs f3, 0(r4)
+/* 80087790 000846D0 38 82 8A 48 */ addi r4, r2, __log2e_m1$localstatic0$__log2f__Ff@sda21
+/* 80087794 000846D4 C0 01 00 28 */ lfs f0, 0x28(r1)
+/* 80087798 000846D8 6D 00 80 00 */ xoris r0, r8, 0x8000
+/* 8008779C 000846DC ED 08 00 F2 */ fmuls f8, f8, f3
+/* 800877A0 000846E0 C0 84 00 04 */ lfs f4, 4(r4)
+/* 800877A4 000846E4 90 01 00 7C */ stw r0, 0x7c(r1)
+/* 800877A8 000846E8 3C 00 43 30 */ lis r0, 0x4330
+/* 800877AC 000846EC C0 A2 8A 48 */ lfs f5, __log2e_m1$localstatic0$__log2f__Ff@sda21(r2)
+/* 800877B0 000846F0 EC 68 02 32 */ fmuls f3, f8, f8
+/* 800877B4 000846F4 90 01 00 78 */ stw r0, 0x78(r1)
+/* 800877B8 000846F8 EC 08 00 7A */ fmadds f0, f8, f1, f0
+/* 800877BC 000846FC C8 C2 8A 78 */ lfd f6, "@253"@sda21(r2)
+/* 800877C0 00084700 C8 21 00 78 */ lfd f1, 0x78(r1)
+/* 800877C4 00084704 EC 03 00 32 */ fmuls f0, f3, f0
+/* 800877C8 00084708 C0 E2 8A 64 */ lfs f7, "@247"@sda21(r2)
+/* 800877CC 0008470C EC 61 30 28 */ fsubs f3, f1, f6
+/* 800877D0 00084710 7C 23 2C 2E */ lfsx f1, r3, r5
+/* 800877D4 00084714 EC 04 02 3A */ fmadds f0, f4, f8, f0
+/* 800877D8 00084718 EC 67 18 2A */ fadds f3, f7, f3
+/* 800877DC 0008471C EC 05 02 3A */ fmadds f0, f5, f8, f0
+/* 800877E0 00084720 EC 08 00 2A */ fadds f0, f8, f0
+/* 800877E4 00084724 EC 01 00 2A */ fadds f0, f1, f0
+/* 800877E8 00084728 EC 03 00 2A */ fadds f0, f3, f0
+/* 800877EC 0008472C 48 00 00 2C */ b lbl_80087818
+lbl_800877F0:
+/* 800877F0 00084730 6D 00 80 00 */ xoris r0, r8, 0x8000
+/* 800877F4 00084734 C0 62 8A 64 */ lfs f3, "@247"@sda21(r2)
+/* 800877F8 00084738 90 01 00 7C */ stw r0, 0x7c(r1)
+/* 800877FC 0008473C 54 E0 10 3A */ slwi r0, r7, 2
+/* 80087800 00084740 7C 03 04 2E */ lfsx f0, r3, r0
+/* 80087804 00084744 90 A1 00 78 */ stw r5, 0x78(r1)
+/* 80087808 00084748 C8 21 00 78 */ lfd f1, 0x78(r1)
+/* 8008780C 0008474C EC 21 20 28 */ fsubs f1, f1, f4
+/* 80087810 00084750 EC 23 08 2A */ fadds f1, f3, f1
+/* 80087814 00084754 EC 01 00 2A */ fadds f0, f1, f0
+lbl_80087818:
+/* 80087818 00084758 EC 42 00 32 */ fmuls f2, f2, f0
+/* 8008781C 0008475C 3C 00 43 30 */ lis r0, 0x4330
+/* 80087820 00084760 C8 22 8A 78 */ lfd f1, "@253"@sda21(r2)
+/* 80087824 00084764 FC 00 10 1E */ fctiwz f0, f2
+/* 80087828 00084768 D8 01 00 78 */ stfd f0, 0x78(r1)
+/* 8008782C 0008476C 80 81 00 7C */ lwz r4, 0x7c(r1)
+/* 80087830 00084770 90 81 00 18 */ stw r4, 0x18(r1)
+/* 80087834 00084774 80 A1 00 18 */ lwz r5, 0x18(r1)
+/* 80087838 00084778 6C A4 80 00 */ xoris r4, r5, 0x8000
+/* 8008783C 0008477C 90 81 00 84 */ stw r4, 0x84(r1)
+/* 80087840 00084780 2C 05 00 80 */ cmpwi r5, 0x80
+/* 80087844 00084784 90 01 00 80 */ stw r0, 0x80(r1)
+/* 80087848 00084788 C8 01 00 80 */ lfd f0, 0x80(r1)
+/* 8008784C 0008478C EC 00 08 28 */ fsubs f0, f0, f1
+/* 80087850 00084790 ED 22 00 28 */ fsubs f9, f2, f0
+/* 80087854 00084794 40 81 00 0C */ ble lbl_80087860
+/* 80087858 00084798 C0 22 8A 58 */ lfs f1, _inf@sda21(r2)
+/* 8008785C 0008479C 48 00 01 B4 */ b lbl_80087A10
+lbl_80087860:
+/* 80087860 000847A0 2C 05 FF 81 */ cmpwi r5, -127
+/* 80087864 000847A4 40 80 00 0C */ bge lbl_80087870
+/* 80087868 000847A8 C0 22 8A 60 */ lfs f1, "@246"@sda21(r2)
+/* 8008786C 000847AC 48 00 01 A4 */ b lbl_80087A10
+lbl_80087870:
+/* 80087870 000847B0 38 05 00 7F */ addi r0, r5, 0x7f
+/* 80087874 000847B4 C0 C2 8A 6C */ lfs f6, "@249"@sda21(r2)
+/* 80087878 000847B8 90 01 00 18 */ stw r0, 0x18(r1)
+/* 8008787C 000847BC C0 E2 8A 68 */ lfs f7, "@248"@sda21(r2)
+/* 80087880 000847C0 80 01 00 18 */ lwz r0, 0x18(r1)
+/* 80087884 000847C4 54 00 B8 10 */ slwi r0, r0, 0x17
+/* 80087888 000847C8 90 01 00 18 */ stw r0, 0x18(r1)
+/* 8008788C 000847CC C0 43 02 24 */ lfs f2, 0x224(r3)
+/* 80087890 000847D0 C0 03 02 20 */ lfs f0, 0x220(r3)
+/* 80087894 000847D4 C0 23 02 1C */ lfs f1, 0x21c(r3)
+/* 80087898 000847D8 EC 49 00 BA */ fmadds f2, f9, f2, f0
+/* 8008789C 000847DC C0 03 02 18 */ lfs f0, 0x218(r3)
+/* 800878A0 000847E0 C0 83 02 14 */ lfs f4, 0x214(r3)
+/* 800878A4 000847E4 C0 63 02 10 */ lfs f3, 0x210(r3)
+/* 800878A8 000847E8 EC A9 08 BA */ fmadds f5, f9, f2, f1
+/* 800878AC 000847EC C0 43 02 0C */ lfs f2, 0x20c(r3)
+/* 800878B0 000847F0 C0 23 02 08 */ lfs f1, 0x208(r3)
+/* 800878B4 000847F4 EC A9 01 7A */ fmadds f5, f9, f5, f0
+/* 800878B8 000847F8 C0 03 02 04 */ lfs f0, 0x204(r3)
+/* 800878BC 000847FC C1 01 00 18 */ lfs f8, 0x18(r1)
+/* 800878C0 00084800 EC 89 21 7A */ fmadds f4, f9, f5, f4
+/* 800878C4 00084804 EC 69 19 3A */ fmadds f3, f9, f4, f3
+/* 800878C8 00084808 EC 49 10 FA */ fmadds f2, f9, f3, f2
+/* 800878CC 0008480C EC 29 08 BA */ fmadds f1, f9, f2, f1
+/* 800878D0 00084810 EC 09 00 7A */ fmadds f0, f9, f1, f0
+/* 800878D4 00084814 EC 09 00 32 */ fmuls f0, f9, f0
+/* 800878D8 00084818 EC 06 00 2A */ fadds f0, f6, f0
+/* 800878DC 0008481C EC 07 00 2A */ fadds f0, f7, f0
+/* 800878E0 00084820 EC 28 00 32 */ fmuls f1, f8, f0
+/* 800878E4 00084824 48 00 01 2C */ b lbl_80087A10
+lbl_800878E8:
+/* 800878E8 00084828 D0 21 00 14 */ stfs f1, 0x14(r1)
+/* 800878EC 0008482C 3C 00 7F 80 */ lis r0, 0x7f80
+/* 800878F0 00084830 80 81 00 14 */ lwz r4, 0x14(r1)
+/* 800878F4 00084834 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
+/* 800878F8 00084838 7C 03 00 00 */ cmpw r3, r0
+/* 800878FC 0008483C 41 82 00 14 */ beq lbl_80087910
+/* 80087900 00084840 40 80 00 40 */ bge lbl_80087940
+/* 80087904 00084844 2C 03 00 00 */ cmpwi r3, 0
+/* 80087908 00084848 41 82 00 20 */ beq lbl_80087928
+/* 8008790C 0008484C 48 00 00 34 */ b lbl_80087940
+lbl_80087910:
+/* 80087910 00084850 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 80087914 00084854 41 82 00 0C */ beq lbl_80087920
+/* 80087918 00084858 38 00 00 01 */ li r0, 1
+/* 8008791C 0008485C 48 00 00 28 */ b lbl_80087944
+lbl_80087920:
+/* 80087920 00084860 38 00 00 02 */ li r0, 2
+/* 80087924 00084864 48 00 00 20 */ b lbl_80087944
+lbl_80087928:
+/* 80087928 00084868 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 8008792C 0008486C 41 82 00 0C */ beq lbl_80087938
+/* 80087930 00084870 38 00 00 05 */ li r0, 5
+/* 80087934 00084874 48 00 00 10 */ b lbl_80087944
+lbl_80087938:
+/* 80087938 00084878 38 00 00 03 */ li r0, 3
+/* 8008793C 0008487C 48 00 00 08 */ b lbl_80087944
+lbl_80087940:
+/* 80087940 00084880 38 00 00 04 */ li r0, 4
+lbl_80087944:
+/* 80087944 00084884 2C 00 00 01 */ cmpwi r0, 1
+/* 80087948 00084888 40 82 00 08 */ bne lbl_80087950
+/* 8008794C 0008488C 48 00 00 C4 */ b lbl_80087A10
+lbl_80087950:
+/* 80087950 00084890 D0 41 00 10 */ stfs f2, 0x10(r1)
+/* 80087954 00084894 3C 00 7F 80 */ lis r0, 0x7f80
+/* 80087958 00084898 80 81 00 10 */ lwz r4, 0x10(r1)
+/* 8008795C 0008489C 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
+/* 80087960 000848A0 7C 03 00 00 */ cmpw r3, r0
+/* 80087964 000848A4 41 82 00 14 */ beq lbl_80087978
+/* 80087968 000848A8 40 80 00 40 */ bge lbl_800879A8
+/* 8008796C 000848AC 2C 03 00 00 */ cmpwi r3, 0
+/* 80087970 000848B0 41 82 00 20 */ beq lbl_80087990
+/* 80087974 000848B4 48 00 00 34 */ b lbl_800879A8
+lbl_80087978:
+/* 80087978 000848B8 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 8008797C 000848BC 41 82 00 0C */ beq lbl_80087988
+/* 80087980 000848C0 38 00 00 01 */ li r0, 1
+/* 80087984 000848C4 48 00 00 28 */ b lbl_800879AC
+lbl_80087988:
+/* 80087988 000848C8 38 00 00 02 */ li r0, 2
+/* 8008798C 000848CC 48 00 00 20 */ b lbl_800879AC
+lbl_80087990:
+/* 80087990 000848D0 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 80087994 000848D4 41 82 00 0C */ beq lbl_800879A0
+/* 80087998 000848D8 38 00 00 05 */ li r0, 5
+/* 8008799C 000848DC 48 00 00 10 */ b lbl_800879AC
+lbl_800879A0:
+/* 800879A0 000848E0 38 00 00 03 */ li r0, 3
+/* 800879A4 000848E4 48 00 00 08 */ b lbl_800879AC
+lbl_800879A8:
+/* 800879A8 000848E8 38 00 00 04 */ li r0, 4
+lbl_800879AC:
+/* 800879AC 000848EC 2C 00 00 03 */ cmpwi r0, 3
+/* 800879B0 000848F0 41 82 00 20 */ beq lbl_800879D0
+/* 800879B4 000848F4 40 80 00 10 */ bge lbl_800879C4
+/* 800879B8 000848F8 2C 00 00 01 */ cmpwi r0, 1
+/* 800879BC 000848FC 40 80 00 1C */ bge lbl_800879D8
+/* 800879C0 00084900 48 00 00 4C */ b lbl_80087A0C
+lbl_800879C4:
+/* 800879C4 00084904 2C 00 00 06 */ cmpwi r0, 6
+/* 800879C8 00084908 40 80 00 44 */ bge lbl_80087A0C
+/* 800879CC 0008490C 48 00 00 14 */ b lbl_800879E0
+lbl_800879D0:
+/* 800879D0 00084910 C0 22 8A 70 */ lfs f1, "@250"@sda21(r2)
+/* 800879D4 00084914 48 00 00 3C */ b lbl_80087A10
+lbl_800879D8:
+/* 800879D8 00084918 C0 22 8A 5C */ lfs f1, _nan@sda21(r2)
+/* 800879DC 0008491C 48 00 00 34 */ b lbl_80087A10
+lbl_800879E0:
+/* 800879E0 00084920 C0 02 8A 60 */ lfs f0, "@246"@sda21(r2)
+/* 800879E4 00084924 FC 02 00 40 */ fcmpo cr0, f2, f0
+/* 800879E8 00084928 40 80 00 24 */ bge lbl_80087A0C
+/* 800879EC 0008492C C0 02 8A 74 */ lfs f0, "@251"@sda21(r2)
+/* 800879F0 00084930 FC 00 08 00 */ fcmpu cr0, f0, f1
+/* 800879F4 00084934 40 82 00 10 */ bne lbl_80087A04
+/* 800879F8 00084938 C0 02 8A 58 */ lfs f0, _inf@sda21(r2)
+/* 800879FC 0008493C FC 20 00 50 */ fneg f1, f0
+/* 80087A00 00084940 48 00 00 10 */ b lbl_80087A10
+lbl_80087A04:
+/* 80087A04 00084944 C0 22 8A 58 */ lfs f1, _inf@sda21(r2)
+/* 80087A08 00084948 48 00 00 08 */ b lbl_80087A10
+lbl_80087A0C:
+/* 80087A0C 0008494C C0 22 8A 60 */ lfs f1, "@246"@sda21(r2)
+lbl_80087A10:
+/* 80087A10 00084950 38 21 00 90 */ addi r1, r1, 0x90
+/* 80087A14 00084954 4E 80 00 20 */ blr
+
+.global expf
+expf:
+/* 80087A18 00084958 94 21 FF D8 */ stwu r1, -0x28(r1)
+/* 80087A1C 0008495C 3C 60 80 37 */ lis r3, __log2_F@ha
+/* 80087A20 00084960 38 A3 1F A8 */ addi r5, r3, __log2_F@l
+/* 80087A24 00084964 C0 02 8A 80 */ lfs f0, "@259"@sda21(r2)
+/* 80087A28 00084968 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 80087A2C 0008496C 40 81 00 0C */ ble lbl_80087A38
+/* 80087A30 00084970 C0 22 8A 58 */ lfs f1, _inf@sda21(r2)
+/* 80087A34 00084974 48 00 00 C4 */ b lbl_80087AF8
+lbl_80087A38:
+/* 80087A38 00084978 C0 02 8A 84 */ lfs f0, "@260"@sda21(r2)
+/* 80087A3C 0008497C FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 80087A40 00084980 40 80 00 0C */ bge lbl_80087A4C
+/* 80087A44 00084984 C0 22 8A 60 */ lfs f1, "@246"@sda21(r2)
+/* 80087A48 00084988 48 00 00 B0 */ b lbl_80087AF8
+lbl_80087A4C:
+/* 80087A4C 0008498C FC 00 08 1E */ fctiwz f0, f1
+/* 80087A50 00084990 3C 60 80 37 */ lis r3, __two_to_log2e_m1_tI@ha
+/* 80087A54 00084994 3C 80 43 30 */ lis r4, 0x4330
+/* 80087A58 00084998 C8 42 8A 78 */ lfd f2, "@253"@sda21(r2)
+/* 80087A5C 0008499C C0 C2 8A 8C */ lfs f6, "@262"@sda21(r2)
+/* 80087A60 000849A0 D8 01 00 20 */ stfd f0, 0x20(r1)
+/* 80087A64 000849A4 38 03 1A 90 */ addi r0, r3, __two_to_log2e_m1_tI@l
+/* 80087A68 000849A8 C0 E2 8A 88 */ lfs f7, "@261"@sda21(r2)
+/* 80087A6C 000849AC 80 C1 00 24 */ lwz r6, 0x24(r1)
+/* 80087A70 000849B0 6C C3 80 00 */ xoris r3, r6, 0x8000
+/* 80087A74 000849B4 90 61 00 1C */ stw r3, 0x1c(r1)
+/* 80087A78 000849B8 38 C6 00 58 */ addi r6, r6, 0x58
+/* 80087A7C 000849BC 38 66 00 27 */ addi r3, r6, 0x27
+/* 80087A80 000849C0 90 81 00 18 */ stw r4, 0x18(r1)
+/* 80087A84 000849C4 54 64 B8 10 */ slwi r4, r3, 0x17
+/* 80087A88 000849C8 54 C3 10 3A */ slwi r3, r6, 2
+/* 80087A8C 000849CC C8 01 00 18 */ lfd f0, 0x18(r1)
+/* 80087A90 000849D0 7C 60 1A 14 */ add r3, r0, r3
+/* 80087A94 000849D4 90 81 00 10 */ stw r4, 0x10(r1)
+/* 80087A98 000849D8 EC 00 10 28 */ fsubs f0, f0, f2
+/* 80087A9C 000849DC C0 A5 02 44 */ lfs f5, 0x244(r5)
+/* 80087AA0 000849E0 C0 45 02 40 */ lfs f2, 0x240(r5)
+/* 80087AA4 000849E4 ED 41 00 28 */ fsubs f10, f1, f0
+/* 80087AA8 000849E8 C0 05 02 3C */ lfs f0, 0x23c(r5)
+/* 80087AAC 000849EC C0 85 02 38 */ lfs f4, 0x238(r5)
+/* 80087AB0 000849F0 C0 65 02 34 */ lfs f3, 0x234(r5)
+/* 80087AB4 000849F4 EC AA 11 7A */ fmadds f5, f10, f5, f2
+/* 80087AB8 000849F8 C0 45 02 30 */ lfs f2, 0x230(r5)
+/* 80087ABC 000849FC C0 25 02 2C */ lfs f1, 0x22c(r5)
+/* 80087AC0 00084A00 EC AA 01 7A */ fmadds f5, f10, f5, f0
+/* 80087AC4 00084A04 C0 05 02 28 */ lfs f0, 0x228(r5)
+/* 80087AC8 00084A08 C1 01 00 10 */ lfs f8, 0x10(r1)
+/* 80087ACC 00084A0C C1 23 00 00 */ lfs f9, 0(r3)
+/* 80087AD0 00084A10 EC 8A 21 7A */ fmadds f4, f10, f5, f4
+/* 80087AD4 00084A14 EC 6A 19 3A */ fmadds f3, f10, f4, f3
+/* 80087AD8 00084A18 EC 4A 10 FA */ fmadds f2, f10, f3, f2
+/* 80087ADC 00084A1C EC 2A 08 BA */ fmadds f1, f10, f2, f1
+/* 80087AE0 00084A20 EC 0A 00 7A */ fmadds f0, f10, f1, f0
+/* 80087AE4 00084A24 EC 0A 00 32 */ fmuls f0, f10, f0
+/* 80087AE8 00084A28 EC 06 00 2A */ fadds f0, f6, f0
+/* 80087AEC 00084A2C EC 07 00 2A */ fadds f0, f7, f0
+/* 80087AF0 00084A30 EC 08 00 32 */ fmuls f0, f8, f0
+/* 80087AF4 00084A34 EC 29 00 32 */ fmuls f1, f9, f0
+lbl_80087AF8:
+/* 80087AF8 00084A38 38 21 00 28 */ addi r1, r1, 0x28
+/* 80087AFC 00084A3C 4E 80 00 20 */ blr
+
+.section .rodata, "a" # 0x8036FFA0 - 0x803A8380
+.balign 8
+__log2_F:
+ .4byte 0xBEC00000
+ .4byte 0xBEBA406C
+ .4byte 0xBEB48C35
+ .4byte 0xBEAEE32E
+ .4byte 0xBEA9452D
+ .4byte 0xBEA3B205
+ .4byte 0xBE9E298F
+ .4byte 0xBE98ABA0
+ .4byte 0xBE933812
+ .4byte 0xBE8DCEBD
+ .4byte 0xBE886F7B
+ .4byte 0xBE831A28
+ .4byte 0xBE7B9D3C
+ .4byte 0xBE711973
+ .4byte 0xBE66A8B1
+ .4byte 0xBE5C4AB0
+ .4byte 0xBE51FF2E
+ .4byte 0xBE47C5E9
+ .4byte 0xBE3D9EA1
+ .4byte 0xBE338918
+ .4byte 0xBE29850F
+ .4byte 0xBE1F924A
+ .4byte 0xBE15B08E
+ .4byte 0xBE0BDFA1
+ .4byte 0xBE021F4A
+ .4byte 0xBDF0DEA4
+ .4byte 0xBDDD9F05
+ .4byte 0xBDCA7F4A
+ .4byte 0xBDB77F0B
+ .4byte 0xBDA49DE0
+ .4byte 0xBD91DB66
+ .4byte 0xBD7E6E71
+ .4byte 0xBD5961ED
+ .4byte 0xBD349081
+ .4byte 0xBD0FF971
+ .4byte 0xBCD7380E
+ .4byte 0xBC8EEF19
+ .4byte 0xBC0E2D45
+ .4byte 0x38256316
+ .4byte 0x3C0E9C73
+ .4byte 0x3C8DDD45
+ .4byte 0x3CD4011D
+ .4byte 0x3D0CDD83
+ .4byte 0x3D2F861E
+ .4byte 0x3D51FAFE
+ .4byte 0x3D743CBA
+ .4byte 0x3D8B25F6
+ .4byte 0x3D9C1492
+ .4byte 0x3DACEA7C
+ .4byte 0x3DBDA7FB
+ .4byte 0x3DCE4D54
+ .4byte 0x3DDEDACE
+ .4byte 0x3DEF50AD
+ .4byte 0x3DFFAF33
+ .4byte 0x3E07FB51
+ .4byte 0x3E10139E
+ .4byte 0x3E1820A0
+ .4byte 0x3E202276
+ .4byte 0x3E28193F
+ .4byte 0x3E30051A
+ .4byte 0x3E37E624
+ .4byte 0x3E3FBC7A
+ .4byte 0x3E47883A
+ .4byte 0x3E4F4981
+ .4byte 0x3E570069
+ .4byte 0x3E5EAD0F
+ .4byte 0x3E664F8D
+ .4byte 0x3E6DE7FF
+ .4byte 0x3E75767F
+ .4byte 0x3E7CFB27
+ .4byte 0x3E823B08
+ .4byte 0x3E85F3AA
+ .4byte 0x3E89A785
+ .4byte 0x3E8D56A6
+ .4byte 0x3E910118
+ .4byte 0x3E94A6E9
+ .4byte 0x3E984822
+ .4byte 0x3E9BE4D1
+ .4byte 0x3E9F7CFF
+ .4byte 0x3EA310B9
+ .4byte 0x3EA6A009
+ .4byte 0x3EAA2AFA
+ .4byte 0x3EADB197
+ .4byte 0x3EB133EA
+ .4byte 0x3EB4B1FD
+ .4byte 0x3EB82BDC
+ .4byte 0x3EBBA190
+ .4byte 0x3EBF1322
+ .4byte 0x3EC2809D
+ .4byte 0x3EC5EA0B
+ .4byte 0x3EC94F75
+ .4byte 0x3ECCB0E4
+ .4byte 0x3ED00E61
+ .4byte 0x3ED367F7
+ .4byte 0x3ED6BDAD
+ .4byte 0x3EDA0F8D
+ .4byte 0x3EDD5DA0
+ .4byte 0x3EE0A7EE
+ .4byte 0x3EE3EE7F
+ .4byte 0x3EE7315D
+ .4byte 0x3EEA708F
+ .4byte 0x3EEDAC1E
+ .4byte 0x3EF0E412
+ .4byte 0x3EF41873
+ .4byte 0x3EF74949
+ .4byte 0x3EFA769B
+ .4byte 0x3EFDA072
+ .4byte 0x3F00636A
+ .4byte 0x3F01F4E5
+ .4byte 0x3F0384AD
+ .4byte 0x3F0512C7
+ .4byte 0x3F069F35
+ .4byte 0x3F0829FB
+ .4byte 0x3F09B31E
+ .4byte 0x3F0B3A9F
+ .4byte 0x3F0CC083
+ .4byte 0x3F0E44CD
+ .4byte 0x3F0FC781
+ .4byte 0x3F1148A1
+ .4byte 0x3F12C832
+ .4byte 0x3F144636
+ .4byte 0x3F15C2B0
+ .4byte 0x3F173DA4
+ .4byte 0x3F18B714
+ .4byte 0x3F1A2F04
+ .4byte 0x3F1BA578
+ .4byte 0x3F1D1A71
+ .4byte 0x3F1E8DF2
+ .4byte 0x3F200000
+__two_to_x:
+ .4byte 0x3F317218
+ .4byte 0x3E75FDF0
+ .4byte 0x3D635854
+ .4byte 0x3C1D9561
+ .4byte 0x3AAEBE2F
+ .4byte 0x3921805E
+ .4byte 0x3781E214
+ .4byte 0x35B3C15F
+ .4byte 0x33DD30D7
+__exp_to_x$105:
+ .4byte 0x3F7FFFFE
+ .4byte 0x3EFFFFFF
+ .4byte 0x3E2AAB03
+ .4byte 0x3D2AAAE6
+ .4byte 0x3C0874AA
+ .4byte 0x3AB5F6D0
+ .4byte 0x3956A4B8
+ .4byte 0x37D5E715
+
+.section .sdata2, "a" # 0x8040B460 - 0x80414020
+.balign 8
+__log2e_m1$localstatic0$__log2f__Ff:
+ .4byte 0x3ED20000
+ .4byte 0x3D054765
+"@93":
+ .4byte 0xBF38AA80
+lbl_8040BEB4:
+ .4byte 0x3EF637A6
+_inf:
+ .4byte 0x7F800000
+_nan:
+ .4byte 0x7FFFFFFF
+"@246":
+ .4byte 0
+"@247":
+ .4byte 0x3FB00000
+"@248":
+ .4byte 0x3F400000
+"@249":
+ .4byte 0x3E800000
+"@250":
+ .4byte 0x3F800000
+"@251":
+ .4byte 0x80000000
+"@253":
+ .4byte 0x43300000
+ .4byte 0x80000000
+"@259":
+ .4byte 0x42B17218
+"@260":
+ .4byte 0xC2AEAC50
+"@261":
+ .4byte 0x3F7E0000
+"@262":
+ .4byte 0x3C000001
diff --git a/asm/MSL_C.PPCEABI.bare.H/inverse_trig.s b/asm/MSL_C.PPCEABI.bare.H/inverse_trig.s
new file mode 100644
index 0000000..81f6f68
--- /dev/null
+++ b/asm/MSL_C.PPCEABI.bare.H/inverse_trig.s
@@ -0,0 +1,345 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80005600 - 0x8036FBA0
+.global atanf
+atanf:
+/* 80086B4C 00083A8C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80086B50 00083A90 3C 60 80 37 */ lis r3, atan_coeff$96@ha
+/* 80086B54 00083A94 38 83 19 C8 */ addi r4, r3, atan_coeff$96@l
+/* 80086B58 00083A98 D0 21 00 08 */ stfs f1, 8(r1)
+/* 80086B5C 00083A9C 38 C0 FF FF */ li r6, -1
+/* 80086B60 00083AA0 C0 02 8A 10 */ lfs f0, "@156"@sda21(r2)
+/* 80086B64 00083AA4 38 E0 00 00 */ li r7, 0
+/* 80086B68 00083AA8 80 61 00 08 */ lwz r3, 8(r1)
+/* 80086B6C 00083AAC 54 60 00 7E */ clrlwi r0, r3, 1
+/* 80086B70 00083AB0 90 01 00 08 */ stw r0, 8(r1)
+/* 80086B74 00083AB4 54 68 00 00 */ rlwinm r8, r3, 0, 0, 0
+/* 80086B78 00083AB8 C0 41 00 08 */ lfs f2, 8(r1)
+/* 80086B7C 00083ABC FC 02 00 40 */ fcmpo cr0, f2, f0
+/* 80086B80 00083AC0 4C 41 13 82 */ cror 2, 1, 2
+/* 80086B84 00083AC4 40 82 00 18 */ bne lbl_80086B9C
+/* 80086B88 00083AC8 C0 02 8A 14 */ lfs f0, "@157"@sda21(r2)
+/* 80086B8C 00083ACC 38 E0 00 01 */ li r7, 1
+/* 80086B90 00083AD0 EC 00 10 24 */ fdivs f0, f0, f2
+/* 80086B94 00083AD4 D0 01 00 0C */ stfs f0, 0xc(r1)
+/* 80086B98 00083AD8 48 00 00 F4 */ b lbl_80086C8C
+lbl_80086B9C:
+/* 80086B9C 00083ADC C0 02 8A 18 */ lfs f0, "@158"@sda21(r2)
+/* 80086BA0 00083AE0 FC 00 10 40 */ fcmpo cr0, f0, f2
+/* 80086BA4 00083AE4 40 80 00 E4 */ bge lbl_80086C88
+/* 80086BA8 00083AE8 80 A1 00 08 */ lwz r5, 8(r1)
+/* 80086BAC 00083AEC 3C 00 3F 80 */ lis r0, 0x3f80
+/* 80086BB0 00083AF0 38 C0 00 00 */ li r6, 0
+/* 80086BB4 00083AF4 54 A3 00 50 */ rlwinm r3, r5, 0, 1, 8
+/* 80086BB8 00083AF8 7C 03 00 00 */ cmpw r3, r0
+/* 80086BBC 00083AFC 41 82 00 54 */ beq lbl_80086C10
+/* 80086BC0 00083B00 40 80 00 14 */ bge lbl_80086BD4
+/* 80086BC4 00083B04 3C 00 3F 00 */ lis r0, 0x3f00
+/* 80086BC8 00083B08 7C 03 00 00 */ cmpw r3, r0
+/* 80086BCC 00083B0C 41 82 00 18 */ beq lbl_80086BE4
+/* 80086BD0 00083B10 48 00 00 74 */ b lbl_80086C44
+lbl_80086BD4:
+/* 80086BD4 00083B14 3C 00 40 00 */ lis r0, 0x4000
+/* 80086BD8 00083B18 7C 03 00 00 */ cmpw r3, r0
+/* 80086BDC 00083B1C 41 82 00 64 */ beq lbl_80086C40
+/* 80086BE0 00083B20 48 00 00 64 */ b lbl_80086C44
+lbl_80086BE4:
+/* 80086BE4 00083B24 3C 60 3F 09 */ lis r3, 0x3F08D5B9@ha
+/* 80086BE8 00083B28 38 03 D5 B9 */ addi r0, r3, 0x3F08D5B9@l
+/* 80086BEC 00083B2C 7C 05 00 00 */ cmpw r5, r0
+/* 80086BF0 00083B30 41 80 00 08 */ blt lbl_80086BF8
+/* 80086BF4 00083B34 38 C0 00 01 */ li r6, 1
+lbl_80086BF8:
+/* 80086BF8 00083B38 3C 60 3F 52 */ lis r3, 0x3F521801@ha
+/* 80086BFC 00083B3C 38 03 18 01 */ addi r0, r3, 0x3F521801@l
+/* 80086C00 00083B40 7C 05 00 00 */ cmpw r5, r0
+/* 80086C04 00083B44 41 80 00 40 */ blt lbl_80086C44
+/* 80086C08 00083B48 38 C6 00 01 */ addi r6, r6, 1
+/* 80086C0C 00083B4C 48 00 00 38 */ b lbl_80086C44
+lbl_80086C10:
+/* 80086C10 00083B50 3C 60 3F 9C */ lis r3, 0x3F9BF7EC@ha
+/* 80086C14 00083B54 38 03 F7 EC */ addi r0, r3, 0x3F9BF7EC@l
+/* 80086C18 00083B58 7C 05 00 00 */ cmpw r5, r0
+/* 80086C1C 00083B5C 38 C0 00 02 */ li r6, 2
+/* 80086C20 00083B60 41 80 00 08 */ blt lbl_80086C28
+/* 80086C24 00083B64 38 C0 00 03 */ li r6, 3
+lbl_80086C28:
+/* 80086C28 00083B68 3C 60 3F EF */ lis r3, 0x3FEF789E@ha
+/* 80086C2C 00083B6C 38 03 78 9E */ addi r0, r3, 0x3FEF789E@l
+/* 80086C30 00083B70 7C 05 00 00 */ cmpw r5, r0
+/* 80086C34 00083B74 41 80 00 10 */ blt lbl_80086C44
+/* 80086C38 00083B78 38 C6 00 01 */ addi r6, r6, 1
+/* 80086C3C 00083B7C 48 00 00 08 */ b lbl_80086C44
+lbl_80086C40:
+/* 80086C40 00083B80 38 C0 00 04 */ li r6, 4
+lbl_80086C44:
+/* 80086C44 00083B84 54 C0 10 3A */ slwi r0, r6, 2
+/* 80086C48 00083B88 C0 22 8A 14 */ lfs f1, "@157"@sda21(r2)
+/* 80086C4C 00083B8C 7C 64 02 14 */ add r3, r4, r0
+/* 80086C50 00083B90 C0 63 00 9C */ lfs f3, 0x9c(r3)
+/* 80086C54 00083B94 C0 83 00 84 */ lfs f4, 0x84(r3)
+/* 80086C58 00083B98 EC 02 18 2A */ fadds f0, f2, f3
+/* 80086C5C 00083B9C EC 04 00 2A */ fadds f0, f4, f0
+/* 80086C60 00083BA0 EC 01 00 24 */ fdivs f0, f1, f0
+/* 80086C64 00083BA4 D0 01 00 0C */ stfs f0, 0xc(r1)
+/* 80086C68 00083BA8 C0 41 00 0C */ lfs f2, 0xc(r1)
+/* 80086C6C 00083BAC C0 23 00 1C */ lfs f1, 0x1c(r3)
+/* 80086C70 00083BB0 C0 03 00 34 */ lfs f0, 0x34(r3)
+/* 80086C74 00083BB4 EC 22 20 7C */ fnmsubs f1, f2, f1, f4
+/* 80086C78 00083BB8 EC 02 18 3C */ fnmsubs f0, f2, f0, f3
+/* 80086C7C 00083BBC EC 01 00 2A */ fadds f0, f1, f0
+/* 80086C80 00083BC0 D0 01 00 0C */ stfs f0, 0xc(r1)
+/* 80086C84 00083BC4 48 00 00 08 */ b lbl_80086C8C
+lbl_80086C88:
+/* 80086C88 00083BC8 D0 41 00 0C */ stfs f2, 0xc(r1)
+lbl_80086C8C:
+/* 80086C8C 00083BCC C0 A1 00 0C */ lfs f5, 0xc(r1)
+/* 80086C90 00083BD0 54 C0 10 3A */ slwi r0, r6, 2
+/* 80086C94 00083BD4 C0 44 00 18 */ lfs f2, 0x18(r4)
+/* 80086C98 00083BD8 7C 64 02 14 */ add r3, r4, r0
+/* 80086C9C 00083BDC EC C5 01 72 */ fmuls f6, f5, f5
+/* 80086CA0 00083BE0 C0 24 00 14 */ lfs f1, 0x14(r4)
+/* 80086CA4 00083BE4 2C 07 00 00 */ cmpwi r7, 0
+/* 80086CA8 00083BE8 C0 04 00 10 */ lfs f0, 0x10(r4)
+/* 80086CAC 00083BEC EC 66 08 BA */ fmadds f3, f6, f2, f1
+/* 80086CB0 00083BF0 C0 44 00 0C */ lfs f2, 0xc(r4)
+/* 80086CB4 00083BF4 EC 85 01 B2 */ fmuls f4, f5, f6
+/* 80086CB8 00083BF8 C0 24 00 08 */ lfs f1, 8(r4)
+/* 80086CBC 00083BFC EC 66 00 FA */ fmadds f3, f6, f3, f0
+/* 80086CC0 00083C00 C0 04 00 04 */ lfs f0, 4(r4)
+/* 80086CC4 00083C04 EC 46 10 FA */ fmadds f2, f6, f3, f2
+/* 80086CC8 00083C08 EC 26 08 BA */ fmadds f1, f6, f2, f1
+/* 80086CCC 00083C0C EC 06 00 7A */ fmadds f0, f6, f1, f0
+/* 80086CD0 00083C10 EC 04 28 3A */ fmadds f0, f4, f0, f5
+/* 80086CD4 00083C14 D0 01 00 0C */ stfs f0, 0xc(r1)
+/* 80086CD8 00083C18 C0 21 00 0C */ lfs f1, 0xc(r1)
+/* 80086CDC 00083C1C C0 03 00 6C */ lfs f0, 0x6c(r3)
+/* 80086CE0 00083C20 EC 01 00 2A */ fadds f0, f1, f0
+/* 80086CE4 00083C24 D0 01 00 0C */ stfs f0, 0xc(r1)
+/* 80086CE8 00083C28 C0 21 00 0C */ lfs f1, 0xc(r1)
+/* 80086CEC 00083C2C C0 03 00 50 */ lfs f0, 0x50(r3)
+/* 80086CF0 00083C30 EC 01 00 2A */ fadds f0, f1, f0
+/* 80086CF4 00083C34 D0 01 00 0C */ stfs f0, 0xc(r1)
+/* 80086CF8 00083C38 41 82 00 30 */ beq lbl_80086D28
+/* 80086CFC 00083C3C C0 21 00 0C */ lfs f1, 0xc(r1)
+/* 80086D00 00083C40 2C 08 00 00 */ cmpwi r8, 0
+/* 80086D04 00083C44 C0 02 8A 1C */ lfs f0, "@159"@sda21(r2)
+/* 80086D08 00083C48 EC 01 00 28 */ fsubs f0, f1, f0
+/* 80086D0C 00083C4C D0 01 00 0C */ stfs f0, 0xc(r1)
+/* 80086D10 00083C50 41 82 00 0C */ beq lbl_80086D1C
+/* 80086D14 00083C54 C0 21 00 0C */ lfs f1, 0xc(r1)
+/* 80086D18 00083C58 48 00 00 20 */ b lbl_80086D38
+lbl_80086D1C:
+/* 80086D1C 00083C5C C0 01 00 0C */ lfs f0, 0xc(r1)
+/* 80086D20 00083C60 FC 20 00 50 */ fneg f1, f0
+/* 80086D24 00083C64 48 00 00 14 */ b lbl_80086D38
+lbl_80086D28:
+/* 80086D28 00083C68 80 01 00 0C */ lwz r0, 0xc(r1)
+/* 80086D2C 00083C6C 7C 00 43 78 */ or r0, r0, r8
+/* 80086D30 00083C70 90 01 00 0C */ stw r0, 0xc(r1)
+/* 80086D34 00083C74 C0 21 00 0C */ lfs f1, 0xc(r1)
+lbl_80086D38:
+/* 80086D38 00083C78 38 21 00 10 */ addi r1, r1, 0x10
+/* 80086D3C 00083C7C 4E 80 00 20 */ blr
+
+.global atan__Ff
+atan__Ff:
+/* 80086D40 00083C80 7C 08 02 A6 */ mflr r0
+/* 80086D44 00083C84 90 01 00 04 */ stw r0, 4(r1)
+/* 80086D48 00083C88 94 21 FF F8 */ stwu r1, -8(r1)
+/* 80086D4C 00083C8C 4B FF FE 01 */ bl atanf
+/* 80086D50 00083C90 80 01 00 0C */ lwz r0, 0xc(r1)
+/* 80086D54 00083C94 38 21 00 08 */ addi r1, r1, 8
+/* 80086D58 00083C98 7C 08 03 A6 */ mtlr r0
+/* 80086D5C 00083C9C 4E 80 00 20 */ blr
+
+.global _inv_sqrtf
+_inv_sqrtf:
+/* 80086D60 00083CA0 C0 02 8A 20 */ lfs f0, "@168"@sda21(r2)
+/* 80086D64 00083CA4 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 80086D68 00083CA8 40 81 00 48 */ ble lbl_80086DB0
+/* 80086D6C 00083CAC FC 40 08 34 */ frsqrte f2, f1
+/* 80086D70 00083CB0 C0 82 8A 24 */ lfs f4, "@169"@sda21(r2)
+/* 80086D74 00083CB4 C0 62 8A 28 */ lfs f3, "@170"@sda21(r2)
+/* 80086D78 00083CB8 FC 40 10 18 */ frsp f2, f2
+/* 80086D7C 00083CBC EC 02 00 B2 */ fmuls f0, f2, f2
+/* 80086D80 00083CC0 EC 44 00 B2 */ fmuls f2, f4, f2
+/* 80086D84 00083CC4 EC 01 18 3C */ fnmsubs f0, f1, f0, f3
+/* 80086D88 00083CC8 EC 42 00 32 */ fmuls f2, f2, f0
+/* 80086D8C 00083CCC EC 02 00 B2 */ fmuls f0, f2, f2
+/* 80086D90 00083CD0 EC 44 00 B2 */ fmuls f2, f4, f2
+/* 80086D94 00083CD4 EC 01 18 3C */ fnmsubs f0, f1, f0, f3
+/* 80086D98 00083CD8 EC 42 00 32 */ fmuls f2, f2, f0
+/* 80086D9C 00083CDC EC 02 00 B2 */ fmuls f0, f2, f2
+/* 80086DA0 00083CE0 EC 44 00 B2 */ fmuls f2, f4, f2
+/* 80086DA4 00083CE4 EC 01 18 3C */ fnmsubs f0, f1, f0, f3
+/* 80086DA8 00083CE8 EC 22 00 32 */ fmuls f1, f2, f0
+/* 80086DAC 00083CEC 4E 80 00 20 */ blr
+lbl_80086DB0:
+/* 80086DB0 00083CF0 FC 01 00 00 */ fcmpu cr0, f1, f0
+/* 80086DB4 00083CF4 41 82 00 10 */ beq lbl_80086DC4
+/* 80086DB8 00083CF8 3C 60 80 3B */ lis r3, __float_nan@ha
+/* 80086DBC 00083CFC C0 23 EF 40 */ lfs f1, __float_nan@l(r3)
+/* 80086DC0 00083D00 4E 80 00 20 */ blr
+lbl_80086DC4:
+/* 80086DC4 00083D04 3C 60 80 3B */ lis r3, __float_huge@ha
+/* 80086DC8 00083D08 C0 23 EF 44 */ lfs f1, __float_huge@l(r3)
+/* 80086DCC 00083D0C 4E 80 00 20 */ blr
+
+.global acosf
+acosf:
+/* 80086DD0 00083D10 7C 08 02 A6 */ mflr r0
+/* 80086DD4 00083D14 90 01 00 04 */ stw r0, 4(r1)
+/* 80086DD8 00083D18 94 21 FF E8 */ stwu r1, -0x18(r1)
+/* 80086DDC 00083D1C DB E1 00 10 */ stfd f31, 0x10(r1)
+/* 80086DE0 00083D20 FF E0 08 90 */ fmr f31, f1
+/* 80086DE4 00083D24 C0 02 8A 14 */ lfs f0, "@157"@sda21(r2)
+/* 80086DE8 00083D28 EC 3F 07 FC */ fnmsubs f1, f31, f31, f0
+/* 80086DEC 00083D2C 4B FF FF 75 */ bl _inv_sqrtf
+/* 80086DF0 00083D30 EC 3F 00 72 */ fmuls f1, f31, f1
+/* 80086DF4 00083D34 4B FF FF 4D */ bl atan__Ff
+/* 80086DF8 00083D38 C0 02 8A 1C */ lfs f0, "@159"@sda21(r2)
+/* 80086DFC 00083D3C 80 01 00 1C */ lwz r0, 0x1c(r1)
+/* 80086E00 00083D40 EC 20 08 28 */ fsubs f1, f0, f1
+/* 80086E04 00083D44 CB E1 00 10 */ lfd f31, 0x10(r1)
+/* 80086E08 00083D48 7C 08 03 A6 */ mtlr r0
+/* 80086E0C 00083D4C 38 21 00 18 */ addi r1, r1, 0x18
+/* 80086E10 00083D50 4E 80 00 20 */ blr
+
+.global atan2f
+atan2f:
+/* 80086E14 00083D54 7C 08 02 A6 */ mflr r0
+/* 80086E18 00083D58 90 01 00 04 */ stw r0, 4(r1)
+/* 80086E1C 00083D5C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80086E20 00083D60 D0 21 00 08 */ stfs f1, 8(r1)
+/* 80086E24 00083D64 D0 41 00 0C */ stfs f2, 0xc(r1)
+/* 80086E28 00083D68 80 01 00 08 */ lwz r0, 8(r1)
+/* 80086E2C 00083D6C 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 80086E30 00083D70 54 04 00 00 */ rlwinm r4, r0, 0, 0, 0
+/* 80086E34 00083D74 54 60 00 00 */ rlwinm r0, r3, 0, 0, 0
+/* 80086E38 00083D78 7C 00 20 00 */ cmpw r0, r4
+/* 80086E3C 00083D7C 40 82 00 50 */ bne lbl_80086E8C
+/* 80086E40 00083D80 2C 00 00 00 */ cmpwi r0, 0
+/* 80086E44 00083D84 41 82 00 20 */ beq lbl_80086E64
+/* 80086E48 00083D88 C0 21 00 08 */ lfs f1, 8(r1)
+/* 80086E4C 00083D8C C0 01 00 0C */ lfs f0, 0xc(r1)
+/* 80086E50 00083D90 EC 21 00 24 */ fdivs f1, f1, f0
+/* 80086E54 00083D94 4B FF FC F9 */ bl atanf
+/* 80086E58 00083D98 C0 02 8A 2C */ lfs f0, "@188"@sda21(r2)
+/* 80086E5C 00083D9C EC 21 00 28 */ fsubs f1, f1, f0
+/* 80086E60 00083DA0 48 00 00 7C */ b lbl_80086EDC
+lbl_80086E64:
+/* 80086E64 00083DA4 C0 21 00 0C */ lfs f1, 0xc(r1)
+/* 80086E68 00083DA8 C0 02 8A 20 */ lfs f0, "@168"@sda21(r2)
+/* 80086E6C 00083DAC FC 01 00 00 */ fcmpu cr0, f1, f0
+/* 80086E70 00083DB0 41 82 00 14 */ beq lbl_80086E84
+/* 80086E74 00083DB4 C0 01 00 08 */ lfs f0, 8(r1)
+/* 80086E78 00083DB8 EC 20 08 24 */ fdivs f1, f0, f1
+/* 80086E7C 00083DBC 4B FF FC D1 */ bl atanf
+/* 80086E80 00083DC0 48 00 00 5C */ b lbl_80086EDC
+lbl_80086E84:
+/* 80086E84 00083DC4 C0 22 8A 1C */ lfs f1, "@159"@sda21(r2)
+/* 80086E88 00083DC8 48 00 00 54 */ b lbl_80086EDC
+lbl_80086E8C:
+/* 80086E8C 00083DCC C0 21 00 0C */ lfs f1, 0xc(r1)
+/* 80086E90 00083DD0 C0 02 8A 20 */ lfs f0, "@168"@sda21(r2)
+/* 80086E94 00083DD4 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 80086E98 00083DD8 40 80 00 1C */ bge lbl_80086EB4
+/* 80086E9C 00083DDC C0 01 00 08 */ lfs f0, 8(r1)
+/* 80086EA0 00083DE0 EC 20 08 24 */ fdivs f1, f0, f1
+/* 80086EA4 00083DE4 4B FF FC A9 */ bl atanf
+/* 80086EA8 00083DE8 C0 02 8A 2C */ lfs f0, "@188"@sda21(r2)
+/* 80086EAC 00083DEC EC 20 08 2A */ fadds f1, f0, f1
+/* 80086EB0 00083DF0 48 00 00 2C */ b lbl_80086EDC
+lbl_80086EB4:
+/* 80086EB4 00083DF4 FC 01 00 00 */ fcmpu cr0, f1, f0
+/* 80086EB8 00083DF8 41 82 00 14 */ beq lbl_80086ECC
+/* 80086EBC 00083DFC C0 01 00 08 */ lfs f0, 8(r1)
+/* 80086EC0 00083E00 EC 20 08 24 */ fdivs f1, f0, f1
+/* 80086EC4 00083E04 4B FF FC 89 */ bl atanf
+/* 80086EC8 00083E08 48 00 00 14 */ b lbl_80086EDC
+lbl_80086ECC:
+/* 80086ECC 00083E0C 3C 64 3F C9 */ addis r3, r4, 0x3fc9
+/* 80086ED0 00083E10 38 03 0F DB */ addi r0, r3, 0xfdb
+/* 80086ED4 00083E14 90 01 00 08 */ stw r0, 8(r1)
+/* 80086ED8 00083E18 C0 21 00 08 */ lfs f1, 8(r1)
+lbl_80086EDC:
+/* 80086EDC 00083E1C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80086EE0 00083E20 38 21 00 10 */ addi r1, r1, 0x10
+/* 80086EE4 00083E24 7C 08 03 A6 */ mtlr r0
+/* 80086EE8 00083E28 4E 80 00 20 */ blr
+
+.section .rodata, "a" # 0x8036FFA0 - 0x803A8380
+.balign 8
+atan_coeff$96:
+ .4byte 0x3F800000
+ .4byte 0xBEAAAAAA
+ .4byte 0x3E4CCC81
+ .4byte 0xBE123E7D
+ .4byte 0x3DE21F95
+ .4byte 0xBDAD417C
+ .4byte 0x3D41186D
+onep_one_over_xisqr_hi$97:
+ .4byte 0x40DA826B
+ .asciz "@OYX@"
+ .balign 4
+ .4byte 0x3FB925AB
+ .4byte 0x3F95F61A
+ .4byte 0x3F851081
+onep_one_over_xisqr_lo$98:
+ .4byte 0x36EF692F
+ .4byte 0x355C1DF9
+ .4byte 0
+ .4byte 0x35291D45
+ .4byte 0
+ .4byte 0
+atan_xi_hi$99:
+ .4byte 0
+ .4byte 0x3EC90EAA
+ .4byte 0x3F16CBE4
+ .4byte 0x3F490FDA
+ .4byte 0x3F7B53C5
+ .4byte 0x3F96CBE2
+ .4byte 0x3FAFEDD9
+atan_xi_lo$100:
+ .4byte 0
+ .4byte 0x37185D99
+ .4byte 0x32C59189
+ .4byte 0x33874A9E
+ .4byte 0x353CFA83
+ .4byte 0x348637BD
+ .4byte 0x35541063
+one_over_xi_hi$101:
+ .4byte 0x401A8277
+ .4byte 0x3FBF90C7
+ .4byte 0x3F800000
+ .4byte 0x3F2B0DC1
+ .4byte 0x3ED413CD
+ .4byte 0x3E4BAFAF
+one_over_xi_lo$102:
+ .4byte 0x3516DC59
+ .4byte 0
+ .4byte 0
+ .4byte 0
+ .4byte 0
+ .4byte 0
+ .4byte 0
+
+.section .sdata2, "a" # 0x8040B460 - 0x80414020
+.balign 8
+"@156":
+ .4byte 0x401A827A
+"@157":
+ .4byte 0x3F800000
+"@158":
+ .4byte 0x3ED413CD
+"@159":
+ .4byte 0x3FC90FDB
+"@168":
+ .4byte 0
+"@169":
+ .4byte 0x3F000000
+"@170":
+ .4byte 0x40400000
+"@188":
+ .4byte 0x40490FDB
diff --git a/asm/MSL_C.PPCEABI.bare.H/printf.s b/asm/MSL_C.PPCEABI.bare.H/printf.s
new file mode 100644
index 0000000..d6540b7
--- /dev/null
+++ b/asm/MSL_C.PPCEABI.bare.H/printf.s
@@ -0,0 +1,2156 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80005600 - 0x8036FBA0
+.global sprintf
+sprintf:
+/* 80083FF0 00080F30 7C 08 02 A6 */ mflr r0
+/* 80083FF4 00080F34 90 01 00 04 */ stw r0, 4(r1)
+/* 80083FF8 00080F38 94 21 FF 70 */ stwu r1, -0x90(r1)
+/* 80083FFC 00080F3C 93 E1 00 8C */ stw r31, 0x8c(r1)
+/* 80084000 00080F40 93 C1 00 88 */ stw r30, 0x88(r1)
+/* 80084004 00080F44 40 86 00 24 */ bne cr1, lbl_80084028
+/* 80084008 00080F48 D8 21 00 28 */ stfd f1, 0x28(r1)
+/* 8008400C 00080F4C D8 41 00 30 */ stfd f2, 0x30(r1)
+/* 80084010 00080F50 D8 61 00 38 */ stfd f3, 0x38(r1)
+/* 80084014 00080F54 D8 81 00 40 */ stfd f4, 0x40(r1)
+/* 80084018 00080F58 D8 A1 00 48 */ stfd f5, 0x48(r1)
+/* 8008401C 00080F5C D8 C1 00 50 */ stfd f6, 0x50(r1)
+/* 80084020 00080F60 D8 E1 00 58 */ stfd f7, 0x58(r1)
+/* 80084024 00080F64 D9 01 00 60 */ stfd f8, 0x60(r1)
+lbl_80084028:
+/* 80084028 00080F68 90 61 00 08 */ stw r3, 8(r1)
+/* 8008402C 00080F6C 3C 00 02 00 */ lis r0, 0x200
+/* 80084030 00080F70 3B C3 00 00 */ addi r30, r3, 0
+/* 80084034 00080F74 90 81 00 0C */ stw r4, 0xc(r1)
+/* 80084038 00080F78 3B E0 FF FF */ li r31, -1
+/* 8008403C 00080F7C 90 A1 00 10 */ stw r5, 0x10(r1)
+/* 80084040 00080F80 3C A0 80 08 */ lis r5, __StringWrite@ha
+/* 80084044 00080F84 38 65 42 80 */ addi r3, r5, __StringWrite@l
+/* 80084048 00080F88 90 C1 00 14 */ stw r6, 0x14(r1)
+/* 8008404C 00080F8C 38 A4 00 00 */ addi r5, r4, 0
+/* 80084050 00080F90 38 C1 00 7C */ addi r6, r1, 0x7c
+/* 80084054 00080F94 90 E1 00 18 */ stw r7, 0x18(r1)
+/* 80084058 00080F98 38 81 00 70 */ addi r4, r1, 0x70
+/* 8008405C 00080F9C 91 01 00 1C */ stw r8, 0x1c(r1)
+/* 80084060 00080FA0 91 21 00 20 */ stw r9, 0x20(r1)
+/* 80084064 00080FA4 91 41 00 24 */ stw r10, 0x24(r1)
+/* 80084068 00080FA8 90 01 00 7C */ stw r0, 0x7c(r1)
+/* 8008406C 00080FAC 38 01 00 98 */ addi r0, r1, 0x98
+/* 80084070 00080FB0 90 01 00 80 */ stw r0, 0x80(r1)
+/* 80084074 00080FB4 38 01 00 08 */ addi r0, r1, 8
+/* 80084078 00080FB8 90 01 00 84 */ stw r0, 0x84(r1)
+/* 8008407C 00080FBC 38 00 00 00 */ li r0, 0
+/* 80084080 00080FC0 93 C1 00 70 */ stw r30, 0x70(r1)
+/* 80084084 00080FC4 93 E1 00 74 */ stw r31, 0x74(r1)
+/* 80084088 00080FC8 90 01 00 78 */ stw r0, 0x78(r1)
+/* 8008408C 00080FCC 48 00 02 B9 */ bl __pformatter
+/* 80084090 00080FD0 7C 03 F8 40 */ cmplw r3, r31
+/* 80084094 00080FD4 40 80 00 0C */ bge lbl_800840A0
+/* 80084098 00080FD8 7C 64 1B 78 */ mr r4, r3
+/* 8008409C 00080FDC 48 00 00 08 */ b lbl_800840A4
+lbl_800840A0:
+/* 800840A0 00080FE0 38 80 FF FE */ li r4, -2
+lbl_800840A4:
+/* 800840A4 00080FE4 38 00 00 00 */ li r0, 0
+/* 800840A8 00080FE8 7C 1E 21 AE */ stbx r0, r30, r4
+/* 800840AC 00080FEC 80 01 00 94 */ lwz r0, 0x94(r1)
+/* 800840B0 00080FF0 83 E1 00 8C */ lwz r31, 0x8c(r1)
+/* 800840B4 00080FF4 83 C1 00 88 */ lwz r30, 0x88(r1)
+/* 800840B8 00080FF8 7C 08 03 A6 */ mtlr r0
+/* 800840BC 00080FFC 38 21 00 90 */ addi r1, r1, 0x90
+/* 800840C0 00081000 4E 80 00 20 */ blr
+
+.global snprintf
+snprintf:
+/* 800840C4 00081004 7C 08 02 A6 */ mflr r0
+/* 800840C8 00081008 90 01 00 04 */ stw r0, 4(r1)
+/* 800840CC 0008100C 94 21 FF 68 */ stwu r1, -0x98(r1)
+/* 800840D0 00081010 93 E1 00 94 */ stw r31, 0x94(r1)
+/* 800840D4 00081014 93 C1 00 90 */ stw r30, 0x90(r1)
+/* 800840D8 00081018 40 86 00 24 */ bne cr1, lbl_800840FC
+/* 800840DC 0008101C D8 21 00 28 */ stfd f1, 0x28(r1)
+/* 800840E0 00081020 D8 41 00 30 */ stfd f2, 0x30(r1)
+/* 800840E4 00081024 D8 61 00 38 */ stfd f3, 0x38(r1)
+/* 800840E8 00081028 D8 81 00 40 */ stfd f4, 0x40(r1)
+/* 800840EC 0008102C D8 A1 00 48 */ stfd f5, 0x48(r1)
+/* 800840F0 00081030 D8 C1 00 50 */ stfd f6, 0x50(r1)
+/* 800840F4 00081034 D8 E1 00 58 */ stfd f7, 0x58(r1)
+/* 800840F8 00081038 D9 01 00 60 */ stfd f8, 0x60(r1)
+lbl_800840FC:
+/* 800840FC 0008103C 90 61 00 08 */ stw r3, 8(r1)
+/* 80084100 00081040 3C 00 03 00 */ lis r0, 0x300
+/* 80084104 00081044 7C 7E 1B 78 */ mr r30, r3
+/* 80084108 00081048 90 81 00 0C */ stw r4, 0xc(r1)
+/* 8008410C 0008104C 3B E4 00 00 */ addi r31, r4, 0
+/* 80084110 00081050 3C 80 80 08 */ lis r4, __StringWrite@ha
+/* 80084114 00081054 90 A1 00 10 */ stw r5, 0x10(r1)
+/* 80084118 00081058 38 64 42 80 */ addi r3, r4, __StringWrite@l
+/* 8008411C 0008105C 38 81 00 74 */ addi r4, r1, 0x74
+/* 80084120 00081060 90 C1 00 14 */ stw r6, 0x14(r1)
+/* 80084124 00081064 38 C1 00 80 */ addi r6, r1, 0x80
+/* 80084128 00081068 90 E1 00 18 */ stw r7, 0x18(r1)
+/* 8008412C 0008106C 91 01 00 1C */ stw r8, 0x1c(r1)
+/* 80084130 00081070 91 21 00 20 */ stw r9, 0x20(r1)
+/* 80084134 00081074 91 41 00 24 */ stw r10, 0x24(r1)
+/* 80084138 00081078 90 01 00 80 */ stw r0, 0x80(r1)
+/* 8008413C 0008107C 38 01 00 A0 */ addi r0, r1, 0xa0
+/* 80084140 00081080 90 01 00 84 */ stw r0, 0x84(r1)
+/* 80084144 00081084 38 01 00 08 */ addi r0, r1, 8
+/* 80084148 00081088 90 01 00 88 */ stw r0, 0x88(r1)
+/* 8008414C 0008108C 38 00 00 00 */ li r0, 0
+/* 80084150 00081090 93 C1 00 74 */ stw r30, 0x74(r1)
+/* 80084154 00081094 93 E1 00 78 */ stw r31, 0x78(r1)
+/* 80084158 00081098 90 01 00 7C */ stw r0, 0x7c(r1)
+/* 8008415C 0008109C 48 00 01 E9 */ bl __pformatter
+/* 80084160 000810A0 7C 03 F8 40 */ cmplw r3, r31
+/* 80084164 000810A4 40 80 00 0C */ bge lbl_80084170
+/* 80084168 000810A8 7C 64 1B 78 */ mr r4, r3
+/* 8008416C 000810AC 48 00 00 08 */ b lbl_80084174
+lbl_80084170:
+/* 80084170 000810B0 38 9F FF FF */ addi r4, r31, -1
+lbl_80084174:
+/* 80084174 000810B4 38 00 00 00 */ li r0, 0
+/* 80084178 000810B8 7C 1E 21 AE */ stbx r0, r30, r4
+/* 8008417C 000810BC 80 01 00 9C */ lwz r0, 0x9c(r1)
+/* 80084180 000810C0 83 E1 00 94 */ lwz r31, 0x94(r1)
+/* 80084184 000810C4 83 C1 00 90 */ lwz r30, 0x90(r1)
+/* 80084188 000810C8 7C 08 03 A6 */ mtlr r0
+/* 8008418C 000810CC 38 21 00 98 */ addi r1, r1, 0x98
+/* 80084190 000810D0 4E 80 00 20 */ blr
+
+.global vsnprintf
+vsnprintf:
+/* 80084194 000810D4 7C 08 02 A6 */ mflr r0
+/* 80084198 000810D8 90 01 00 04 */ stw r0, 4(r1)
+/* 8008419C 000810DC 38 00 00 00 */ li r0, 0
+/* 800841A0 000810E0 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 800841A4 000810E4 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 800841A8 000810E8 3B E4 00 00 */ addi r31, r4, 0
+/* 800841AC 000810EC 38 81 00 18 */ addi r4, r1, 0x18
+/* 800841B0 000810F0 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 800841B4 000810F4 7C 7E 1B 78 */ mr r30, r3
+/* 800841B8 000810F8 3C 60 80 08 */ lis r3, __StringWrite@ha
+/* 800841BC 000810FC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 800841C0 00081100 38 63 42 80 */ addi r3, r3, __StringWrite@l
+/* 800841C4 00081104 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 800841C8 00081108 90 01 00 20 */ stw r0, 0x20(r1)
+/* 800841CC 0008110C 48 00 01 79 */ bl __pformatter
+/* 800841D0 00081110 7C 03 F8 40 */ cmplw r3, r31
+/* 800841D4 00081114 40 80 00 0C */ bge lbl_800841E0
+/* 800841D8 00081118 7C 64 1B 78 */ mr r4, r3
+/* 800841DC 0008111C 48 00 00 08 */ b lbl_800841E4
+lbl_800841E0:
+/* 800841E0 00081120 38 9F FF FF */ addi r4, r31, -1
+lbl_800841E4:
+/* 800841E4 00081124 38 00 00 00 */ li r0, 0
+/* 800841E8 00081128 7C 1E 21 AE */ stbx r0, r30, r4
+/* 800841EC 0008112C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 800841F0 00081130 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 800841F4 00081134 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 800841F8 00081138 7C 08 03 A6 */ mtlr r0
+/* 800841FC 0008113C 38 21 00 30 */ addi r1, r1, 0x30
+/* 80084200 00081140 4E 80 00 20 */ blr
+
+.global vprintf
+vprintf:
+/* 80084204 00081144 7C 08 02 A6 */ mflr r0
+/* 80084208 00081148 3C A0 80 3B */ lis r5, __files@ha
+/* 8008420C 0008114C 90 01 00 04 */ stw r0, 4(r1)
+/* 80084210 00081150 38 A5 EC 00 */ addi r5, r5, __files@l
+/* 80084214 00081154 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80084218 00081158 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8008421C 0008115C 3B E5 00 48 */ addi r31, r5, 0x48
+/* 80084220 00081160 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80084224 00081164 3B C4 00 00 */ addi r30, r4, 0
+/* 80084228 00081168 38 80 FF FF */ li r4, -1
+/* 8008422C 0008116C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80084230 00081170 3B A3 00 00 */ addi r29, r3, 0
+/* 80084234 00081174 38 7F 00 00 */ addi r3, r31, 0
+/* 80084238 00081178 48 00 22 F1 */ bl fwide
+/* 8008423C 0008117C 2C 03 00 00 */ cmpwi r3, 0
+/* 80084240 00081180 41 80 00 0C */ blt lbl_8008424C
+/* 80084244 00081184 38 60 FF FF */ li r3, -1
+/* 80084248 00081188 48 00 00 1C */ b lbl_80084264
+lbl_8008424C:
+/* 8008424C 0008118C 3C 60 80 08 */ lis r3, __FileWrite@ha
+/* 80084250 00081190 38 63 42 EC */ addi r3, r3, __FileWrite@l
+/* 80084254 00081194 38 9F 00 00 */ addi r4, r31, 0
+/* 80084258 00081198 38 BD 00 00 */ addi r5, r29, 0
+/* 8008425C 0008119C 38 DE 00 00 */ addi r6, r30, 0
+/* 80084260 000811A0 48 00 00 E5 */ bl __pformatter
+lbl_80084264:
+/* 80084264 000811A4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80084268 000811A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8008426C 000811AC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80084270 000811B0 7C 08 03 A6 */ mtlr r0
+/* 80084274 000811B4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80084278 000811B8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8008427C 000811BC 4E 80 00 20 */ blr
+
+.global __StringWrite
+__StringWrite:
+/* 80084280 000811C0 7C 08 02 A6 */ mflr r0
+/* 80084284 000811C4 90 01 00 04 */ stw r0, 4(r1)
+/* 80084288 000811C8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8008428C 000811CC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80084290 000811D0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80084294 000811D4 7C 7E 1B 78 */ mr r30, r3
+/* 80084298 000811D8 80 63 00 08 */ lwz r3, 8(r3)
+/* 8008429C 000811DC 80 DE 00 04 */ lwz r6, 4(r30)
+/* 800842A0 000811E0 7C 03 2A 14 */ add r0, r3, r5
+/* 800842A4 000811E4 7C 00 30 40 */ cmplw r0, r6
+/* 800842A8 000811E8 41 81 00 0C */ bgt lbl_800842B4
+/* 800842AC 000811EC 7C BF 2B 78 */ mr r31, r5
+/* 800842B0 000811F0 48 00 00 08 */ b lbl_800842B8
+lbl_800842B4:
+/* 800842B4 000811F4 7F E3 30 50 */ subf r31, r3, r6
+lbl_800842B8:
+/* 800842B8 000811F8 80 1E 00 00 */ lwz r0, 0(r30)
+/* 800842BC 000811FC 38 BF 00 00 */ addi r5, r31, 0
+/* 800842C0 00081200 7C 60 1A 14 */ add r3, r0, r3
+/* 800842C4 00081204 4B F7 EF 31 */ bl memcpy
+/* 800842C8 00081208 80 1E 00 08 */ lwz r0, 8(r30)
+/* 800842CC 0008120C 7C 00 FA 14 */ add r0, r0, r31
+/* 800842D0 00081210 90 1E 00 08 */ stw r0, 8(r30)
+/* 800842D4 00081214 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 800842D8 00081218 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 800842DC 0008121C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 800842E0 00081220 7C 08 03 A6 */ mtlr r0
+/* 800842E4 00081224 38 21 00 20 */ addi r1, r1, 0x20
+/* 800842E8 00081228 4E 80 00 20 */ blr
+
+.global __FileWrite
+__FileWrite:
+/* 800842EC 0008122C 7C 08 02 A6 */ mflr r0
+/* 800842F0 00081230 90 01 00 04 */ stw r0, 4(r1)
+/* 800842F4 00081234 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 800842F8 00081238 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 800842FC 0008123C 3B E5 00 00 */ addi r31, r5, 0
+/* 80084300 00081240 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80084304 00081244 3B C3 00 00 */ addi r30, r3, 0
+/* 80084308 00081248 38 64 00 00 */ addi r3, r4, 0
+/* 8008430C 0008124C 38 DE 00 00 */ addi r6, r30, 0
+/* 80084310 00081250 38 80 00 01 */ li r4, 1
+/* 80084314 00081254 4B FF F5 99 */ bl fwrite
+/* 80084318 00081258 7C 1F 18 40 */ cmplw r31, r3
+/* 8008431C 0008125C 40 82 00 0C */ bne lbl_80084328
+/* 80084320 00081260 7F C3 F3 78 */ mr r3, r30
+/* 80084324 00081264 48 00 00 08 */ b lbl_8008432C
+lbl_80084328:
+/* 80084328 00081268 38 60 00 00 */ li r3, 0
+lbl_8008432C:
+/* 8008432C 0008126C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80084330 00081270 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80084334 00081274 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80084338 00081278 7C 08 03 A6 */ mtlr r0
+/* 8008433C 0008127C 38 21 00 20 */ addi r1, r1, 0x20
+/* 80084340 00081280 4E 80 00 20 */ blr
+
+.global __pformatter
+__pformatter:
+/* 80084344 00081284 7C 08 02 A6 */ mflr r0
+/* 80084348 00081288 3C E0 80 37 */ lis r7, "@stringBase0"@ha
+/* 8008434C 0008128C 90 01 00 04 */ stw r0, 4(r1)
+/* 80084350 00081290 38 00 00 20 */ li r0, 0x20
+/* 80084354 00081294 94 21 FD 98 */ stwu r1, -0x268(r1)
+/* 80084358 00081298 BE 41 02 30 */ stmw r18, 0x230(r1)
+/* 8008435C 0008129C 3B E3 00 00 */ addi r31, r3, 0
+/* 80084360 000812A0 3B C4 00 00 */ addi r30, r4, 0
+/* 80084364 000812A4 3B 86 00 00 */ addi r28, r6, 0
+/* 80084368 000812A8 3B 25 00 00 */ addi r25, r5, 0
+/* 8008436C 000812AC 3B 41 02 1C */ addi r26, r1, 0x21c
+/* 80084370 000812B0 3A E1 02 1B */ addi r23, r1, 0x21b
+/* 80084374 000812B4 3A 87 19 20 */ addi r20, r7, "@stringBase0"@l
+/* 80084378 000812B8 3B 60 00 00 */ li r27, 0
+/* 8008437C 000812BC 98 01 00 19 */ stb r0, 0x19(r1)
+/* 80084380 000812C0 48 00 05 D0 */ b lbl_80084950
+lbl_80084384:
+/* 80084384 000812C4 38 79 00 00 */ addi r3, r25, 0
+/* 80084388 000812C8 38 80 00 25 */ li r4, 0x25
+/* 8008438C 000812CC 48 00 18 A1 */ bl strchr
+/* 80084390 000812D0 7C 78 1B 79 */ or. r24, r3, r3
+/* 80084394 000812D4 40 82 00 3C */ bne lbl_800843D0
+/* 80084398 000812D8 7F 23 CB 78 */ mr r3, r25
+/* 8008439C 000812DC 48 00 1B 09 */ bl strlen
+/* 800843A0 000812E0 7C 65 1B 79 */ or. r5, r3, r3
+/* 800843A4 000812E4 7F 7B 2A 14 */ add r27, r27, r5
+/* 800843A8 000812E8 41 82 05 B4 */ beq lbl_8008495C
+/* 800843AC 000812EC 39 9F 00 00 */ addi r12, r31, 0
+/* 800843B0 000812F0 7D 88 03 A6 */ mtlr r12
+/* 800843B4 000812F4 38 7E 00 00 */ addi r3, r30, 0
+/* 800843B8 000812F8 38 99 00 00 */ addi r4, r25, 0
+/* 800843BC 000812FC 4E 80 00 21 */ blrl
+/* 800843C0 00081300 28 03 00 00 */ cmplwi r3, 0
+/* 800843C4 00081304 40 82 05 98 */ bne lbl_8008495C
+/* 800843C8 00081308 38 60 FF FF */ li r3, -1
+/* 800843CC 0008130C 48 00 05 94 */ b lbl_80084960
+lbl_800843D0:
+/* 800843D0 00081310 7C B9 C0 51 */ subf. r5, r25, r24
+/* 800843D4 00081314 7F 7B 2A 14 */ add r27, r27, r5
+/* 800843D8 00081318 41 82 00 28 */ beq lbl_80084400
+/* 800843DC 0008131C 39 9F 00 00 */ addi r12, r31, 0
+/* 800843E0 00081320 7D 88 03 A6 */ mtlr r12
+/* 800843E4 00081324 38 7E 00 00 */ addi r3, r30, 0
+/* 800843E8 00081328 38 99 00 00 */ addi r4, r25, 0
+/* 800843EC 0008132C 4E 80 00 21 */ blrl
+/* 800843F0 00081330 28 03 00 00 */ cmplwi r3, 0
+/* 800843F4 00081334 40 82 00 0C */ bne lbl_80084400
+/* 800843F8 00081338 38 60 FF FF */ li r3, -1
+/* 800843FC 0008133C 48 00 05 64 */ b lbl_80084960
+lbl_80084400:
+/* 80084400 00081340 38 78 00 00 */ addi r3, r24, 0
+/* 80084404 00081344 38 9C 00 00 */ addi r4, r28, 0
+/* 80084408 00081348 38 A1 02 1C */ addi r5, r1, 0x21c
+/* 8008440C 0008134C 48 00 11 D9 */ bl parse_format
+/* 80084410 00081350 88 01 02 21 */ lbz r0, 0x221(r1)
+/* 80084414 00081354 3B 23 00 00 */ addi r25, r3, 0
+/* 80084418 00081358 2C 00 00 69 */ cmpwi r0, 0x69
+/* 8008441C 0008135C 41 82 00 A4 */ beq lbl_800844C0
+/* 80084420 00081360 40 80 00 58 */ bge lbl_80084478
+/* 80084424 00081364 2C 00 00 58 */ cmpwi r0, 0x58
+/* 80084428 00081368 41 82 01 54 */ beq lbl_8008457C
+/* 8008442C 0008136C 40 80 00 28 */ bge lbl_80084454
+/* 80084430 00081370 2C 00 00 45 */ cmpwi r0, 0x45
+/* 80084434 00081374 41 82 02 04 */ beq lbl_80084638
+/* 80084438 00081378 40 80 00 10 */ bge lbl_80084448
+/* 8008443C 0008137C 2C 00 00 25 */ cmpwi r0, 0x25
+/* 80084440 00081380 41 82 03 7C */ beq lbl_800847BC
+/* 80084444 00081384 48 00 03 8C */ b lbl_800847D0
+lbl_80084448:
+/* 80084448 00081388 2C 00 00 47 */ cmpwi r0, 0x47
+/* 8008444C 0008138C 41 82 01 EC */ beq lbl_80084638
+/* 80084450 00081390 48 00 03 80 */ b lbl_800847D0
+lbl_80084454:
+/* 80084454 00081394 2C 00 00 64 */ cmpwi r0, 0x64
+/* 80084458 00081398 41 82 00 68 */ beq lbl_800844C0
+/* 8008445C 0008139C 40 80 00 10 */ bge lbl_8008446C
+/* 80084460 000813A0 2C 00 00 63 */ cmpwi r0, 0x63
+/* 80084464 000813A4 40 80 03 34 */ bge lbl_80084798
+/* 80084468 000813A8 48 00 03 68 */ b lbl_800847D0
+lbl_8008446C:
+/* 8008446C 000813AC 2C 00 00 68 */ cmpwi r0, 0x68
+/* 80084470 000813B0 40 80 03 60 */ bge lbl_800847D0
+/* 80084474 000813B4 48 00 01 C4 */ b lbl_80084638
+lbl_80084478:
+/* 80084478 000813B8 2C 00 00 75 */ cmpwi r0, 0x75
+/* 8008447C 000813BC 41 82 01 00 */ beq lbl_8008457C
+/* 80084480 000813C0 40 80 00 28 */ bge lbl_800844A8
+/* 80084484 000813C4 2C 00 00 6F */ cmpwi r0, 0x6f
+/* 80084488 000813C8 41 82 00 F4 */ beq lbl_8008457C
+/* 8008448C 000813CC 40 80 00 10 */ bge lbl_8008449C
+/* 80084490 000813D0 2C 00 00 6E */ cmpwi r0, 0x6e
+/* 80084494 000813D4 40 80 02 9C */ bge lbl_80084730
+/* 80084498 000813D8 48 00 03 38 */ b lbl_800847D0
+lbl_8008449C:
+/* 8008449C 000813DC 2C 00 00 73 */ cmpwi r0, 0x73
+/* 800844A0 000813E0 41 82 01 BC */ beq lbl_8008465C
+/* 800844A4 000813E4 48 00 03 2C */ b lbl_800847D0
+lbl_800844A8:
+/* 800844A8 000813E8 2C 00 00 FF */ cmpwi r0, 0xff
+/* 800844AC 000813EC 41 82 03 24 */ beq lbl_800847D0
+/* 800844B0 000813F0 40 80 03 20 */ bge lbl_800847D0
+/* 800844B4 000813F4 2C 00 00 78 */ cmpwi r0, 0x78
+/* 800844B8 000813F8 41 82 00 C4 */ beq lbl_8008457C
+/* 800844BC 000813FC 48 00 03 14 */ b lbl_800847D0
+lbl_800844C0:
+/* 800844C0 00081400 88 01 02 20 */ lbz r0, 0x220(r1)
+/* 800844C4 00081404 28 00 00 03 */ cmplwi r0, 3
+/* 800844C8 00081408 40 82 00 18 */ bne lbl_800844E0
+/* 800844CC 0008140C 38 7C 00 00 */ addi r3, r28, 0
+/* 800844D0 00081410 38 80 00 01 */ li r4, 1
+/* 800844D4 00081414 4B FF E1 19 */ bl __va_arg
+/* 800844D8 00081418 83 A3 00 00 */ lwz r29, 0(r3)
+/* 800844DC 0008141C 48 00 00 34 */ b lbl_80084510
+lbl_800844E0:
+/* 800844E0 00081420 28 00 00 04 */ cmplwi r0, 4
+/* 800844E4 00081424 40 82 00 1C */ bne lbl_80084500
+/* 800844E8 00081428 38 7C 00 00 */ addi r3, r28, 0
+/* 800844EC 0008142C 38 80 00 02 */ li r4, 2
+/* 800844F0 00081430 4B FF E0 FD */ bl __va_arg
+/* 800844F4 00081434 82 A3 00 00 */ lwz r21, 0(r3)
+/* 800844F8 00081438 82 C3 00 04 */ lwz r22, 4(r3)
+/* 800844FC 0008143C 48 00 00 14 */ b lbl_80084510
+lbl_80084500:
+/* 80084500 00081440 38 7C 00 00 */ addi r3, r28, 0
+/* 80084504 00081444 38 80 00 01 */ li r4, 1
+/* 80084508 00081448 4B FF E0 E5 */ bl __va_arg
+/* 8008450C 0008144C 83 A3 00 00 */ lwz r29, 0(r3)
+lbl_80084510:
+/* 80084510 00081450 88 61 02 20 */ lbz r3, 0x220(r1)
+/* 80084514 00081454 28 03 00 02 */ cmplwi r3, 2
+/* 80084518 00081458 40 82 00 0C */ bne lbl_80084524
+/* 8008451C 0008145C 7F A0 07 34 */ extsh r0, r29
+/* 80084520 00081460 7C 1D 03 78 */ mr r29, r0
+lbl_80084524:
+/* 80084524 00081464 28 03 00 01 */ cmplwi r3, 1
+/* 80084528 00081468 40 82 00 0C */ bne lbl_80084534
+/* 8008452C 0008146C 7F A0 07 74 */ extsb r0, r29
+/* 80084530 00081470 7C 1D 03 78 */ mr r29, r0
+lbl_80084534:
+/* 80084534 00081474 28 03 00 04 */ cmplwi r3, 4
+/* 80084538 00081478 40 82 00 24 */ bne lbl_8008455C
+/* 8008453C 0008147C 38 96 00 00 */ addi r4, r22, 0
+/* 80084540 00081480 38 75 00 00 */ addi r3, r21, 0
+/* 80084544 00081484 38 BA 00 00 */ addi r5, r26, 0
+/* 80084548 00081488 38 C1 02 1C */ addi r6, r1, 0x21c
+/* 8008454C 0008148C 48 00 0B 95 */ bl longlong2str
+/* 80084550 00081490 7C 73 1B 79 */ or. r19, r3, r3
+/* 80084554 00081494 41 82 02 7C */ beq lbl_800847D0
+/* 80084558 00081498 48 00 00 1C */ b lbl_80084574
+lbl_8008455C:
+/* 8008455C 0008149C 38 7D 00 00 */ addi r3, r29, 0
+/* 80084560 000814A0 38 9A 00 00 */ addi r4, r26, 0
+/* 80084564 000814A4 38 A1 02 1C */ addi r5, r1, 0x21c
+/* 80084568 000814A8 48 00 0E 59 */ bl long2str
+/* 8008456C 000814AC 7C 73 1B 79 */ or. r19, r3, r3
+/* 80084570 000814B0 41 82 02 60 */ beq lbl_800847D0
+lbl_80084574:
+/* 80084574 000814B4 7F 13 B8 50 */ subf r24, r19, r23
+/* 80084578 000814B8 48 00 02 98 */ b lbl_80084810
+lbl_8008457C:
+/* 8008457C 000814BC 88 01 02 20 */ lbz r0, 0x220(r1)
+/* 80084580 000814C0 28 00 00 03 */ cmplwi r0, 3
+/* 80084584 000814C4 40 82 00 18 */ bne lbl_8008459C
+/* 80084588 000814C8 38 7C 00 00 */ addi r3, r28, 0
+/* 8008458C 000814CC 38 80 00 01 */ li r4, 1
+/* 80084590 000814D0 4B FF E0 5D */ bl __va_arg
+/* 80084594 000814D4 83 A3 00 00 */ lwz r29, 0(r3)
+/* 80084598 000814D8 48 00 00 34 */ b lbl_800845CC
+lbl_8008459C:
+/* 8008459C 000814DC 28 00 00 04 */ cmplwi r0, 4
+/* 800845A0 000814E0 40 82 00 1C */ bne lbl_800845BC
+/* 800845A4 000814E4 38 7C 00 00 */ addi r3, r28, 0
+/* 800845A8 000814E8 38 80 00 02 */ li r4, 2
+/* 800845AC 000814EC 4B FF E0 41 */ bl __va_arg
+/* 800845B0 000814F0 82 A3 00 00 */ lwz r21, 0(r3)
+/* 800845B4 000814F4 82 C3 00 04 */ lwz r22, 4(r3)
+/* 800845B8 000814F8 48 00 00 14 */ b lbl_800845CC
+lbl_800845BC:
+/* 800845BC 000814FC 38 7C 00 00 */ addi r3, r28, 0
+/* 800845C0 00081500 38 80 00 01 */ li r4, 1
+/* 800845C4 00081504 4B FF E0 29 */ bl __va_arg
+/* 800845C8 00081508 83 A3 00 00 */ lwz r29, 0(r3)
+lbl_800845CC:
+/* 800845CC 0008150C 88 61 02 20 */ lbz r3, 0x220(r1)
+/* 800845D0 00081510 28 03 00 02 */ cmplwi r3, 2
+/* 800845D4 00081514 40 82 00 0C */ bne lbl_800845E0
+/* 800845D8 00081518 57 A0 04 3E */ clrlwi r0, r29, 0x10
+/* 800845DC 0008151C 7C 1D 03 78 */ mr r29, r0
+lbl_800845E0:
+/* 800845E0 00081520 28 03 00 01 */ cmplwi r3, 1
+/* 800845E4 00081524 40 82 00 0C */ bne lbl_800845F0
+/* 800845E8 00081528 57 A0 06 3E */ clrlwi r0, r29, 0x18
+/* 800845EC 0008152C 7C 1D 03 78 */ mr r29, r0
+lbl_800845F0:
+/* 800845F0 00081530 28 03 00 04 */ cmplwi r3, 4
+/* 800845F4 00081534 40 82 00 24 */ bne lbl_80084618
+/* 800845F8 00081538 38 96 00 00 */ addi r4, r22, 0
+/* 800845FC 0008153C 38 75 00 00 */ addi r3, r21, 0
+/* 80084600 00081540 38 BA 00 00 */ addi r5, r26, 0
+/* 80084604 00081544 38 C1 02 1C */ addi r6, r1, 0x21c
+/* 80084608 00081548 48 00 0A D9 */ bl longlong2str
+/* 8008460C 0008154C 7C 73 1B 79 */ or. r19, r3, r3
+/* 80084610 00081550 41 82 01 C0 */ beq lbl_800847D0
+/* 80084614 00081554 48 00 00 1C */ b lbl_80084630
+lbl_80084618:
+/* 80084618 00081558 38 7D 00 00 */ addi r3, r29, 0
+/* 8008461C 0008155C 38 9A 00 00 */ addi r4, r26, 0
+/* 80084620 00081560 38 A1 02 1C */ addi r5, r1, 0x21c
+/* 80084624 00081564 48 00 0D 9D */ bl long2str
+/* 80084628 00081568 7C 73 1B 79 */ or. r19, r3, r3
+/* 8008462C 0008156C 41 82 01 A4 */ beq lbl_800847D0
+lbl_80084630:
+/* 80084630 00081570 7F 13 B8 50 */ subf r24, r19, r23
+/* 80084634 00081574 48 00 01 DC */ b lbl_80084810
+lbl_80084638:
+/* 80084638 00081578 38 7C 00 00 */ addi r3, r28, 0
+/* 8008463C 0008157C 38 9A 00 00 */ addi r4, r26, 0
+/* 80084640 00081580 38 A1 02 1C */ addi r5, r1, 0x21c
+/* 80084644 00081584 38 C0 00 00 */ li r6, 0
+/* 80084648 00081588 48 00 03 2D */ bl float2str
+/* 8008464C 0008158C 7C 73 1B 79 */ or. r19, r3, r3
+/* 80084650 00081590 41 82 01 80 */ beq lbl_800847D0
+/* 80084654 00081594 7F 13 B8 50 */ subf r24, r19, r23
+/* 80084658 00081598 48 00 01 B8 */ b lbl_80084810
+lbl_8008465C:
+/* 8008465C 0008159C 88 01 02 20 */ lbz r0, 0x220(r1)
+/* 80084660 000815A0 28 00 00 06 */ cmplwi r0, 6
+/* 80084664 000815A4 40 82 00 3C */ bne lbl_800846A0
+/* 80084668 000815A8 38 7C 00 00 */ addi r3, r28, 0
+/* 8008466C 000815AC 38 80 00 01 */ li r4, 1
+/* 80084670 000815B0 4B FF DF 7D */ bl __va_arg
+/* 80084674 000815B4 80 83 00 00 */ lwz r4, 0(r3)
+/* 80084678 000815B8 28 04 00 00 */ cmplwi r4, 0
+/* 8008467C 000815BC 40 82 00 08 */ bne lbl_80084684
+/* 80084680 000815C0 38 8D 82 28 */ addi r4, r13, "@wstringBase0"@sda21
+lbl_80084684:
+/* 80084684 000815C4 38 61 00 1C */ addi r3, r1, 0x1c
+/* 80084688 000815C8 38 A0 02 00 */ li r5, 0x200
+/* 8008468C 000815CC 4B FF F4 FD */ bl wcstombs
+/* 80084690 000815D0 2C 03 00 00 */ cmpwi r3, 0
+/* 80084694 000815D4 41 80 01 3C */ blt lbl_800847D0
+/* 80084698 000815D8 3A 61 00 1C */ addi r19, r1, 0x1c
+/* 8008469C 000815DC 48 00 00 14 */ b lbl_800846B0
+lbl_800846A0:
+/* 800846A0 000815E0 38 7C 00 00 */ addi r3, r28, 0
+/* 800846A4 000815E4 38 80 00 01 */ li r4, 1
+/* 800846A8 000815E8 4B FF DF 45 */ bl __va_arg
+/* 800846AC 000815EC 82 63 00 00 */ lwz r19, 0(r3)
+lbl_800846B0:
+/* 800846B0 000815F0 28 13 00 00 */ cmplwi r19, 0
+/* 800846B4 000815F4 40 82 00 08 */ bne lbl_800846BC
+/* 800846B8 000815F8 7E 93 A3 78 */ mr r19, r20
+lbl_800846BC:
+/* 800846BC 000815FC 88 01 02 1F */ lbz r0, 0x21f(r1)
+/* 800846C0 00081600 28 00 00 00 */ cmplwi r0, 0
+/* 800846C4 00081604 41 82 00 2C */ beq lbl_800846F0
+/* 800846C8 00081608 88 01 02 1E */ lbz r0, 0x21e(r1)
+/* 800846CC 0008160C 8B 13 00 00 */ lbz r24, 0(r19)
+/* 800846D0 00081610 3A 73 00 01 */ addi r19, r19, 1
+/* 800846D4 00081614 28 00 00 00 */ cmplwi r0, 0
+/* 800846D8 00081618 41 82 01 38 */ beq lbl_80084810
+/* 800846DC 0008161C 80 01 02 28 */ lwz r0, 0x228(r1)
+/* 800846E0 00081620 7C 18 00 00 */ cmpw r24, r0
+/* 800846E4 00081624 40 81 01 2C */ ble lbl_80084810
+/* 800846E8 00081628 7C 18 03 78 */ mr r24, r0
+/* 800846EC 0008162C 48 00 01 24 */ b lbl_80084810
+lbl_800846F0:
+/* 800846F0 00081630 88 01 02 1E */ lbz r0, 0x21e(r1)
+/* 800846F4 00081634 28 00 00 00 */ cmplwi r0, 0
+/* 800846F8 00081638 41 82 00 28 */ beq lbl_80084720
+/* 800846FC 0008163C 83 01 02 28 */ lwz r24, 0x228(r1)
+/* 80084700 00081640 38 73 00 00 */ addi r3, r19, 0
+/* 80084704 00081644 38 80 00 00 */ li r4, 0
+/* 80084708 00081648 38 B8 00 00 */ addi r5, r24, 0
+/* 8008470C 0008164C 4B FF F4 FD */ bl memchr
+/* 80084710 00081650 28 03 00 00 */ cmplwi r3, 0
+/* 80084714 00081654 41 82 00 FC */ beq lbl_80084810
+/* 80084718 00081658 7F 13 18 50 */ subf r24, r19, r3
+/* 8008471C 0008165C 48 00 00 F4 */ b lbl_80084810
+lbl_80084720:
+/* 80084720 00081660 7E 63 9B 78 */ mr r3, r19
+/* 80084724 00081664 48 00 17 81 */ bl strlen
+/* 80084728 00081668 7C 78 1B 78 */ mr r24, r3
+/* 8008472C 0008166C 48 00 00 E4 */ b lbl_80084810
+lbl_80084730:
+/* 80084730 00081670 38 7C 00 00 */ addi r3, r28, 0
+/* 80084734 00081674 38 80 00 01 */ li r4, 1
+/* 80084738 00081678 4B FF DE B5 */ bl __va_arg
+/* 8008473C 0008167C 88 01 02 20 */ lbz r0, 0x220(r1)
+/* 80084740 00081680 80 63 00 00 */ lwz r3, 0(r3)
+/* 80084744 00081684 2C 00 00 02 */ cmpwi r0, 2
+/* 80084748 00081688 41 82 00 2C */ beq lbl_80084774
+/* 8008474C 0008168C 40 80 00 10 */ bge lbl_8008475C
+/* 80084750 00081690 2C 00 00 00 */ cmpwi r0, 0
+/* 80084754 00081694 41 82 00 18 */ beq lbl_8008476C
+/* 80084758 00081698 48 00 01 F8 */ b lbl_80084950
+lbl_8008475C:
+/* 8008475C 0008169C 2C 00 00 04 */ cmpwi r0, 4
+/* 80084760 000816A0 41 82 00 28 */ beq lbl_80084788
+/* 80084764 000816A4 40 80 01 EC */ bge lbl_80084950
+/* 80084768 000816A8 48 00 00 18 */ b lbl_80084780
+lbl_8008476C:
+/* 8008476C 000816AC 93 63 00 00 */ stw r27, 0(r3)
+/* 80084770 000816B0 48 00 01 E0 */ b lbl_80084950
+lbl_80084774:
+/* 80084774 000816B4 7F 60 07 34 */ extsh r0, r27
+/* 80084778 000816B8 B0 03 00 00 */ sth r0, 0(r3)
+/* 8008477C 000816BC 48 00 01 D4 */ b lbl_80084950
+lbl_80084780:
+/* 80084780 000816C0 93 63 00 00 */ stw r27, 0(r3)
+/* 80084784 000816C4 48 00 01 CC */ b lbl_80084950
+lbl_80084788:
+/* 80084788 000816C8 93 63 00 04 */ stw r27, 4(r3)
+/* 8008478C 000816CC 7F 60 FE 70 */ srawi r0, r27, 0x1f
+/* 80084790 000816D0 90 03 00 00 */ stw r0, 0(r3)
+/* 80084794 000816D4 48 00 01 BC */ b lbl_80084950
+lbl_80084798:
+/* 80084798 000816D8 38 7C 00 00 */ addi r3, r28, 0
+/* 8008479C 000816DC 3A 61 00 1C */ addi r19, r1, 0x1c
+/* 800847A0 000816E0 38 80 00 01 */ li r4, 1
+/* 800847A4 000816E4 4B FF DE 49 */ bl __va_arg
+/* 800847A8 000816E8 80 03 00 00 */ lwz r0, 0(r3)
+/* 800847AC 000816EC 3B 00 00 01 */ li r24, 1
+/* 800847B0 000816F0 7C 00 07 74 */ extsb r0, r0
+/* 800847B4 000816F4 98 01 00 1C */ stb r0, 0x1c(r1)
+/* 800847B8 000816F8 48 00 00 58 */ b lbl_80084810
+lbl_800847BC:
+/* 800847BC 000816FC 38 00 00 25 */ li r0, 0x25
+/* 800847C0 00081700 98 01 00 1C */ stb r0, 0x1c(r1)
+/* 800847C4 00081704 3A 61 00 1C */ addi r19, r1, 0x1c
+/* 800847C8 00081708 3B 00 00 01 */ li r24, 1
+/* 800847CC 0008170C 48 00 00 44 */ b lbl_80084810
+lbl_800847D0:
+/* 800847D0 00081710 7F 03 C3 78 */ mr r3, r24
+/* 800847D4 00081714 48 00 16 D1 */ bl strlen
+/* 800847D8 00081718 7C 65 1B 79 */ or. r5, r3, r3
+/* 800847DC 0008171C 7F 7B 2A 14 */ add r27, r27, r5
+/* 800847E0 00081720 41 82 00 28 */ beq lbl_80084808
+/* 800847E4 00081724 39 9F 00 00 */ addi r12, r31, 0
+/* 800847E8 00081728 7D 88 03 A6 */ mtlr r12
+/* 800847EC 0008172C 38 7E 00 00 */ addi r3, r30, 0
+/* 800847F0 00081730 38 98 00 00 */ addi r4, r24, 0
+/* 800847F4 00081734 4E 80 00 21 */ blrl
+/* 800847F8 00081738 28 03 00 00 */ cmplwi r3, 0
+/* 800847FC 0008173C 40 82 00 0C */ bne lbl_80084808
+/* 80084800 00081740 38 60 FF FF */ li r3, -1
+/* 80084804 00081744 48 00 01 5C */ b lbl_80084960
+lbl_80084808:
+/* 80084808 00081748 7F 63 DB 78 */ mr r3, r27
+/* 8008480C 0008174C 48 00 01 54 */ b lbl_80084960
+lbl_80084810:
+/* 80084810 00081750 88 01 02 1C */ lbz r0, 0x21c(r1)
+/* 80084814 00081754 3A 58 00 00 */ addi r18, r24, 0
+/* 80084818 00081758 28 00 00 00 */ cmplwi r0, 0
+/* 8008481C 0008175C 41 82 00 B0 */ beq lbl_800848CC
+/* 80084820 00081760 28 00 00 02 */ cmplwi r0, 2
+/* 80084824 00081764 40 82 00 0C */ bne lbl_80084830
+/* 80084828 00081768 38 00 00 30 */ li r0, 0x30
+/* 8008482C 0008176C 48 00 00 08 */ b lbl_80084834
+lbl_80084830:
+/* 80084830 00081770 38 00 00 20 */ li r0, 0x20
+lbl_80084834:
+/* 80084834 00081774 7C 00 07 74 */ extsb r0, r0
+/* 80084838 00081778 98 01 00 19 */ stb r0, 0x19(r1)
+/* 8008483C 0008177C 88 13 00 00 */ lbz r0, 0(r19)
+/* 80084840 00081780 7C 00 07 74 */ extsb r0, r0
+/* 80084844 00081784 2C 00 00 2B */ cmpwi r0, 0x2b
+/* 80084848 00081788 41 82 00 0C */ beq lbl_80084854
+/* 8008484C 0008178C 2C 00 00 2D */ cmpwi r0, 0x2d
+/* 80084850 00081790 40 82 00 70 */ bne lbl_800848C0
+lbl_80084854:
+/* 80084854 00081794 88 01 00 19 */ lbz r0, 0x19(r1)
+/* 80084858 00081798 2C 00 00 30 */ cmpwi r0, 0x30
+/* 8008485C 0008179C 40 82 00 64 */ bne lbl_800848C0
+/* 80084860 000817A0 39 9F 00 00 */ addi r12, r31, 0
+/* 80084864 000817A4 7D 88 03 A6 */ mtlr r12
+/* 80084868 000817A8 38 7E 00 00 */ addi r3, r30, 0
+/* 8008486C 000817AC 38 93 00 00 */ addi r4, r19, 0
+/* 80084870 000817B0 38 A0 00 01 */ li r5, 1
+/* 80084874 000817B4 4E 80 00 21 */ blrl
+/* 80084878 000817B8 28 03 00 00 */ cmplwi r3, 0
+/* 8008487C 000817BC 40 82 00 0C */ bne lbl_80084888
+/* 80084880 000817C0 38 60 FF FF */ li r3, -1
+/* 80084884 000817C4 48 00 00 DC */ b lbl_80084960
+lbl_80084888:
+/* 80084888 000817C8 3A 73 00 01 */ addi r19, r19, 1
+/* 8008488C 000817CC 3B 18 FF FF */ addi r24, r24, -1
+/* 80084890 000817D0 48 00 00 30 */ b lbl_800848C0
+lbl_80084894:
+/* 80084894 000817D4 39 9F 00 00 */ addi r12, r31, 0
+/* 80084898 000817D8 7D 88 03 A6 */ mtlr r12
+/* 8008489C 000817DC 38 7E 00 00 */ addi r3, r30, 0
+/* 800848A0 000817E0 38 81 00 19 */ addi r4, r1, 0x19
+/* 800848A4 000817E4 38 A0 00 01 */ li r5, 1
+/* 800848A8 000817E8 4E 80 00 21 */ blrl
+/* 800848AC 000817EC 28 03 00 00 */ cmplwi r3, 0
+/* 800848B0 000817F0 40 82 00 0C */ bne lbl_800848BC
+/* 800848B4 000817F4 38 60 FF FF */ li r3, -1
+/* 800848B8 000817F8 48 00 00 A8 */ b lbl_80084960
+lbl_800848BC:
+/* 800848BC 000817FC 3A 52 00 01 */ addi r18, r18, 1
+lbl_800848C0:
+/* 800848C0 00081800 80 01 02 24 */ lwz r0, 0x224(r1)
+/* 800848C4 00081804 7C 12 00 00 */ cmpw r18, r0
+/* 800848C8 00081808 41 80 FF CC */ blt lbl_80084894
+lbl_800848CC:
+/* 800848CC 0008180C 2C 18 00 00 */ cmpwi r24, 0
+/* 800848D0 00081810 41 82 00 2C */ beq lbl_800848FC
+/* 800848D4 00081814 39 9F 00 00 */ addi r12, r31, 0
+/* 800848D8 00081818 7D 88 03 A6 */ mtlr r12
+/* 800848DC 0008181C 38 7E 00 00 */ addi r3, r30, 0
+/* 800848E0 00081820 38 93 00 00 */ addi r4, r19, 0
+/* 800848E4 00081824 38 B8 00 00 */ addi r5, r24, 0
+/* 800848E8 00081828 4E 80 00 21 */ blrl
+/* 800848EC 0008182C 28 03 00 00 */ cmplwi r3, 0
+/* 800848F0 00081830 40 82 00 0C */ bne lbl_800848FC
+/* 800848F4 00081834 38 60 FF FF */ li r3, -1
+/* 800848F8 00081838 48 00 00 68 */ b lbl_80084960
+lbl_800848FC:
+/* 800848FC 0008183C 88 01 02 1C */ lbz r0, 0x21c(r1)
+/* 80084900 00081840 28 00 00 00 */ cmplwi r0, 0
+/* 80084904 00081844 40 82 00 48 */ bne lbl_8008494C
+/* 80084908 00081848 3A 60 00 20 */ li r19, 0x20
+/* 8008490C 0008184C 48 00 00 34 */ b lbl_80084940
+lbl_80084910:
+/* 80084910 00081850 7F EC FB 78 */ mr r12, r31
+/* 80084914 00081854 9A 61 00 18 */ stb r19, 0x18(r1)
+/* 80084918 00081858 7D 88 03 A6 */ mtlr r12
+/* 8008491C 0008185C 38 7E 00 00 */ addi r3, r30, 0
+/* 80084920 00081860 38 81 00 18 */ addi r4, r1, 0x18
+/* 80084924 00081864 38 A0 00 01 */ li r5, 1
+/* 80084928 00081868 4E 80 00 21 */ blrl
+/* 8008492C 0008186C 28 03 00 00 */ cmplwi r3, 0
+/* 80084930 00081870 40 82 00 0C */ bne lbl_8008493C
+/* 80084934 00081874 38 60 FF FF */ li r3, -1
+/* 80084938 00081878 48 00 00 28 */ b lbl_80084960
+lbl_8008493C:
+/* 8008493C 0008187C 3A 52 00 01 */ addi r18, r18, 1
+lbl_80084940:
+/* 80084940 00081880 80 01 02 24 */ lwz r0, 0x224(r1)
+/* 80084944 00081884 7C 12 00 00 */ cmpw r18, r0
+/* 80084948 00081888 41 80 FF C8 */ blt lbl_80084910
+lbl_8008494C:
+/* 8008494C 0008188C 7F 7B 92 14 */ add r27, r27, r18
+lbl_80084950:
+/* 80084950 00081890 88 19 00 00 */ lbz r0, 0(r25)
+/* 80084954 00081894 7C 00 07 75 */ extsb. r0, r0
+/* 80084958 00081898 40 82 FA 2C */ bne lbl_80084384
+lbl_8008495C:
+/* 8008495C 0008189C 7F 63 DB 78 */ mr r3, r27
+lbl_80084960:
+/* 80084960 000818A0 BA 41 02 30 */ lmw r18, 0x230(r1)
+/* 80084964 000818A4 80 01 02 6C */ lwz r0, 0x26c(r1)
+/* 80084968 000818A8 38 21 02 68 */ addi r1, r1, 0x268
+/* 8008496C 000818AC 7C 08 03 A6 */ mtlr r0
+/* 80084970 000818B0 4E 80 00 20 */ blr
+
+.global float2str
+float2str:
+/* 80084974 000818B4 7C 08 02 A6 */ mflr r0
+/* 80084978 000818B8 90 01 00 04 */ stw r0, 4(r1)
+/* 8008497C 000818BC 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 80084980 000818C0 DB E1 00 58 */ stfd f31, 0x58(r1)
+/* 80084984 000818C4 93 E1 00 54 */ stw r31, 0x54(r1)
+/* 80084988 000818C8 93 C1 00 50 */ stw r30, 0x50(r1)
+/* 8008498C 000818CC 93 A1 00 4C */ stw r29, 0x4c(r1)
+/* 80084990 000818D0 7C BD 2B 78 */ mr r29, r5
+/* 80084994 000818D4 93 81 00 48 */ stw r28, 0x48(r1)
+/* 80084998 000818D8 3B 84 00 00 */ addi r28, r4, 0
+/* 8008499C 000818DC 88 05 00 04 */ lbz r0, 4(r5)
+/* 800849A0 000818E0 28 00 00 05 */ cmplwi r0, 5
+/* 800849A4 000818E4 40 82 00 14 */ bne lbl_800849B8
+/* 800849A8 000818E8 38 80 00 03 */ li r4, 3
+/* 800849AC 000818EC 4B FF DC 41 */ bl __va_arg
+/* 800849B0 000818F0 CB E3 00 00 */ lfd f31, 0(r3)
+/* 800849B4 000818F4 48 00 00 10 */ b lbl_800849C4
+lbl_800849B8:
+/* 800849B8 000818F8 38 80 00 03 */ li r4, 3
+/* 800849BC 000818FC 4B FF DC 31 */ bl __va_arg
+/* 800849C0 00081900 CB E3 00 00 */ lfd f31, 0(r3)
+lbl_800849C4:
+/* 800849C4 00081904 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 800849C8 00081908 2C 00 01 FD */ cmpwi r0, 0x1fd
+/* 800849CC 0008190C 40 81 00 0C */ ble lbl_800849D8
+/* 800849D0 00081910 38 60 00 00 */ li r3, 0
+/* 800849D4 00081914 48 00 05 B4 */ b lbl_80084F88
+lbl_800849D8:
+/* 800849D8 00081918 38 00 00 00 */ li r0, 0
+/* 800849DC 0008191C FC 20 F8 90 */ fmr f1, f31
+/* 800849E0 00081920 98 01 00 18 */ stb r0, 0x18(r1)
+/* 800849E4 00081924 38 00 00 20 */ li r0, 0x20
+/* 800849E8 00081928 38 61 00 18 */ addi r3, r1, 0x18
+/* 800849EC 0008192C B0 01 00 1A */ sth r0, 0x1a(r1)
+/* 800849F0 00081930 38 81 00 1C */ addi r4, r1, 0x1c
+/* 800849F4 00081934 4B FF E9 B1 */ bl __num2dec
+/* 800849F8 00081938 88 01 00 20 */ lbz r0, 0x20(r1)
+/* 800849FC 0008193C 3B E1 00 21 */ addi r31, r1, 0x21
+/* 80084A00 00081940 7C 9F 02 14 */ add r4, r31, r0
+/* 80084A04 00081944 48 00 00 1C */ b lbl_80084A20
+lbl_80084A08:
+/* 80084A08 00081948 88 61 00 20 */ lbz r3, 0x20(r1)
+/* 80084A0C 0008194C 38 03 FF FF */ addi r0, r3, -1
+/* 80084A10 00081950 98 01 00 20 */ stb r0, 0x20(r1)
+/* 80084A14 00081954 A8 61 00 1E */ lha r3, 0x1e(r1)
+/* 80084A18 00081958 38 03 00 01 */ addi r0, r3, 1
+/* 80084A1C 0008195C B0 01 00 1E */ sth r0, 0x1e(r1)
+lbl_80084A20:
+/* 80084A20 00081960 88 01 00 20 */ lbz r0, 0x20(r1)
+/* 80084A24 00081964 28 00 00 01 */ cmplwi r0, 1
+/* 80084A28 00081968 40 81 00 10 */ ble lbl_80084A38
+/* 80084A2C 0008196C 8C 04 FF FF */ lbzu r0, -1(r4)
+/* 80084A30 00081970 2C 00 00 30 */ cmpwi r0, 0x30
+/* 80084A34 00081974 41 82 FF D4 */ beq lbl_80084A08
+lbl_80084A38:
+/* 80084A38 00081978 88 01 00 21 */ lbz r0, 0x21(r1)
+/* 80084A3C 0008197C 2C 00 00 49 */ cmpwi r0, 0x49
+/* 80084A40 00081980 41 82 00 2C */ beq lbl_80084A6C
+/* 80084A44 00081984 40 80 00 10 */ bge lbl_80084A54
+/* 80084A48 00081988 2C 00 00 30 */ cmpwi r0, 0x30
+/* 80084A4C 0008198C 41 82 00 14 */ beq lbl_80084A60
+/* 80084A50 00081990 48 00 00 84 */ b lbl_80084AD4
+lbl_80084A54:
+/* 80084A54 00081994 2C 00 00 4E */ cmpwi r0, 0x4e
+/* 80084A58 00081998 41 82 00 5C */ beq lbl_80084AB4
+/* 80084A5C 0008199C 48 00 00 78 */ b lbl_80084AD4
+lbl_80084A60:
+/* 80084A60 000819A0 38 00 00 00 */ li r0, 0
+/* 80084A64 000819A4 B0 01 00 1E */ sth r0, 0x1e(r1)
+/* 80084A68 000819A8 48 00 00 6C */ b lbl_80084AD4
+lbl_80084A6C:
+/* 80084A6C 000819AC C8 02 89 80 */ lfd f0, "@919"@sda21(r2)
+/* 80084A70 000819B0 FC 1F 00 40 */ fcmpo cr0, f31, f0
+/* 80084A74 000819B4 40 80 00 20 */ bge lbl_80084A94
+/* 80084A78 000819B8 3C 60 80 37 */ lis r3, "@stringBase0"@ha
+/* 80084A7C 000819BC 3B 9C FF FB */ addi r28, r28, -5
+/* 80084A80 000819C0 38 83 19 20 */ addi r4, r3, "@stringBase0"@l
+/* 80084A84 000819C4 38 7C 00 00 */ addi r3, r28, 0
+/* 80084A88 000819C8 38 84 00 01 */ addi r4, r4, 1
+/* 80084A8C 000819CC 48 00 13 65 */ bl strcpy
+/* 80084A90 000819D0 48 00 00 1C */ b lbl_80084AAC
+lbl_80084A94:
+/* 80084A94 000819D4 3C 60 80 37 */ lis r3, "@stringBase0"@ha
+/* 80084A98 000819D8 3B 9C FF FC */ addi r28, r28, -4
+/* 80084A9C 000819DC 38 83 19 20 */ addi r4, r3, "@stringBase0"@l
+/* 80084AA0 000819E0 38 7C 00 00 */ addi r3, r28, 0
+/* 80084AA4 000819E4 38 84 00 06 */ addi r4, r4, 6
+/* 80084AA8 000819E8 48 00 13 49 */ bl strcpy
+lbl_80084AAC:
+/* 80084AAC 000819EC 7F 83 E3 78 */ mr r3, r28
+/* 80084AB0 000819F0 48 00 04 D8 */ b lbl_80084F88
+lbl_80084AB4:
+/* 80084AB4 000819F4 3C 60 80 37 */ lis r3, "@stringBase0"@ha
+/* 80084AB8 000819F8 3B 9C FF FC */ addi r28, r28, -4
+/* 80084ABC 000819FC 38 83 19 20 */ addi r4, r3, "@stringBase0"@l
+/* 80084AC0 00081A00 38 7C 00 00 */ addi r3, r28, 0
+/* 80084AC4 00081A04 38 84 00 0A */ addi r4, r4, 0xa
+/* 80084AC8 00081A08 48 00 13 29 */ bl strcpy
+/* 80084ACC 00081A0C 7F 83 E3 78 */ mr r3, r28
+/* 80084AD0 00081A10 48 00 04 B8 */ b lbl_80084F88
+lbl_80084AD4:
+/* 80084AD4 00081A14 A8 81 00 1E */ lha r4, 0x1e(r1)
+/* 80084AD8 00081A18 38 00 00 00 */ li r0, 0
+/* 80084ADC 00081A1C 88 61 00 20 */ lbz r3, 0x20(r1)
+/* 80084AE0 00081A20 3B DC FF FF */ addi r30, r28, -1
+/* 80084AE4 00081A24 7C 63 22 14 */ add r3, r3, r4
+/* 80084AE8 00081A28 38 63 FF FF */ addi r3, r3, -1
+/* 80084AEC 00081A2C B0 61 00 1E */ sth r3, 0x1e(r1)
+/* 80084AF0 00081A30 98 1C FF FF */ stb r0, -1(r28)
+/* 80084AF4 00081A34 88 1D 00 05 */ lbz r0, 5(r29)
+/* 80084AF8 00081A38 2C 00 00 65 */ cmpwi r0, 0x65
+/* 80084AFC 00081A3C 41 82 00 F4 */ beq lbl_80084BF0
+/* 80084B00 00081A40 40 80 00 28 */ bge lbl_80084B28
+/* 80084B04 00081A44 2C 00 00 46 */ cmpwi r0, 0x46
+/* 80084B08 00081A48 41 82 04 7C */ beq lbl_80084F84
+/* 80084B0C 00081A4C 40 80 00 10 */ bge lbl_80084B1C
+/* 80084B10 00081A50 2C 00 00 45 */ cmpwi r0, 0x45
+/* 80084B14 00081A54 40 80 00 DC */ bge lbl_80084BF0
+/* 80084B18 00081A58 48 00 04 6C */ b lbl_80084F84
+lbl_80084B1C:
+/* 80084B1C 00081A5C 2C 00 00 48 */ cmpwi r0, 0x48
+/* 80084B20 00081A60 40 80 04 64 */ bge lbl_80084F84
+/* 80084B24 00081A64 48 00 00 14 */ b lbl_80084B38
+lbl_80084B28:
+/* 80084B28 00081A68 2C 00 00 67 */ cmpwi r0, 0x67
+/* 80084B2C 00081A6C 41 82 00 0C */ beq lbl_80084B38
+/* 80084B30 00081A70 40 80 04 54 */ bge lbl_80084F84
+/* 80084B34 00081A74 48 00 02 2C */ b lbl_80084D60
+lbl_80084B38:
+/* 80084B38 00081A78 88 01 00 20 */ lbz r0, 0x20(r1)
+/* 80084B3C 00081A7C 80 9D 00 0C */ lwz r4, 0xc(r29)
+/* 80084B40 00081A80 7C 00 20 00 */ cmpw r0, r4
+/* 80084B44 00081A84 40 81 00 0C */ ble lbl_80084B50
+/* 80084B48 00081A88 38 61 00 1C */ addi r3, r1, 0x1c
+/* 80084B4C 00081A8C 48 00 04 61 */ bl round_decimal
+lbl_80084B50:
+/* 80084B50 00081A90 A8 81 00 1E */ lha r4, 0x1e(r1)
+/* 80084B54 00081A94 2C 04 FF FC */ cmpwi r4, -4
+/* 80084B58 00081A98 41 80 00 10 */ blt lbl_80084B68
+/* 80084B5C 00081A9C 80 7D 00 0C */ lwz r3, 0xc(r29)
+/* 80084B60 00081AA0 7C 04 18 00 */ cmpw r4, r3
+/* 80084B64 00081AA4 41 80 00 50 */ blt lbl_80084BB4
+lbl_80084B68:
+/* 80084B68 00081AA8 88 1D 00 03 */ lbz r0, 3(r29)
+/* 80084B6C 00081AAC 28 00 00 00 */ cmplwi r0, 0
+/* 80084B70 00081AB0 41 82 00 14 */ beq lbl_80084B84
+/* 80084B74 00081AB4 80 7D 00 0C */ lwz r3, 0xc(r29)
+/* 80084B78 00081AB8 38 03 FF FF */ addi r0, r3, -1
+/* 80084B7C 00081ABC 90 1D 00 0C */ stw r0, 0xc(r29)
+/* 80084B80 00081AC0 48 00 00 10 */ b lbl_80084B90
+lbl_80084B84:
+/* 80084B84 00081AC4 88 61 00 20 */ lbz r3, 0x20(r1)
+/* 80084B88 00081AC8 38 03 FF FF */ addi r0, r3, -1
+/* 80084B8C 00081ACC 90 1D 00 0C */ stw r0, 0xc(r29)
+lbl_80084B90:
+/* 80084B90 00081AD0 88 1D 00 05 */ lbz r0, 5(r29)
+/* 80084B94 00081AD4 28 00 00 67 */ cmplwi r0, 0x67
+/* 80084B98 00081AD8 40 82 00 10 */ bne lbl_80084BA8
+/* 80084B9C 00081ADC 38 00 00 65 */ li r0, 0x65
+/* 80084BA0 00081AE0 98 1D 00 05 */ stb r0, 5(r29)
+/* 80084BA4 00081AE4 48 00 00 4C */ b lbl_80084BF0
+lbl_80084BA8:
+/* 80084BA8 00081AE8 38 00 00 45 */ li r0, 0x45
+/* 80084BAC 00081AEC 98 1D 00 05 */ stb r0, 5(r29)
+/* 80084BB0 00081AF0 48 00 00 40 */ b lbl_80084BF0
+lbl_80084BB4:
+/* 80084BB4 00081AF4 88 1D 00 03 */ lbz r0, 3(r29)
+/* 80084BB8 00081AF8 28 00 00 00 */ cmplwi r0, 0
+/* 80084BBC 00081AFC 41 82 00 14 */ beq lbl_80084BD0
+/* 80084BC0 00081B00 38 04 00 01 */ addi r0, r4, 1
+/* 80084BC4 00081B04 7C 00 18 50 */ subf r0, r0, r3
+/* 80084BC8 00081B08 90 1D 00 0C */ stw r0, 0xc(r29)
+/* 80084BCC 00081B0C 48 00 01 94 */ b lbl_80084D60
+lbl_80084BD0:
+/* 80084BD0 00081B10 88 01 00 20 */ lbz r0, 0x20(r1)
+/* 80084BD4 00081B14 38 64 00 01 */ addi r3, r4, 1
+/* 80084BD8 00081B18 7C 03 00 51 */ subf. r0, r3, r0
+/* 80084BDC 00081B1C 90 1D 00 0C */ stw r0, 0xc(r29)
+/* 80084BE0 00081B20 40 80 01 80 */ bge lbl_80084D60
+/* 80084BE4 00081B24 38 00 00 00 */ li r0, 0
+/* 80084BE8 00081B28 90 1D 00 0C */ stw r0, 0xc(r29)
+/* 80084BEC 00081B2C 48 00 01 74 */ b lbl_80084D60
+lbl_80084BF0:
+/* 80084BF0 00081B30 80 7D 00 0C */ lwz r3, 0xc(r29)
+/* 80084BF4 00081B34 88 01 00 20 */ lbz r0, 0x20(r1)
+/* 80084BF8 00081B38 38 83 00 01 */ addi r4, r3, 1
+/* 80084BFC 00081B3C 7C 00 20 00 */ cmpw r0, r4
+/* 80084C00 00081B40 40 81 00 0C */ ble lbl_80084C0C
+/* 80084C04 00081B44 38 61 00 1C */ addi r3, r1, 0x1c
+/* 80084C08 00081B48 48 00 03 A5 */ bl round_decimal
+lbl_80084C0C:
+/* 80084C0C 00081B4C A8 01 00 1E */ lha r0, 0x1e(r1)
+/* 80084C10 00081B50 39 00 00 2B */ li r8, 0x2b
+/* 80084C14 00081B54 2C 00 00 00 */ cmpwi r0, 0
+/* 80084C18 00081B58 7C 04 03 78 */ mr r4, r0
+/* 80084C1C 00081B5C 40 80 00 0C */ bge lbl_80084C28
+/* 80084C20 00081B60 7C 84 00 D0 */ neg r4, r4
+/* 80084C24 00081B64 39 00 00 2D */ li r8, 0x2d
+lbl_80084C28:
+/* 80084C28 00081B68 3C 60 66 66 */ lis r3, 0x66666667@ha
+/* 80084C2C 00081B6C 38 A3 66 67 */ addi r5, r3, 0x66666667@l
+/* 80084C30 00081B70 38 E0 00 00 */ li r7, 0
+/* 80084C34 00081B74 48 00 00 38 */ b lbl_80084C6C
+lbl_80084C38:
+/* 80084C38 00081B78 7C C5 20 96 */ mulhw r6, r5, r4
+/* 80084C3C 00081B7C 7C C0 16 70 */ srawi r0, r6, 2
+/* 80084C40 00081B80 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 80084C44 00081B84 7C 00 1A 14 */ add r0, r0, r3
+/* 80084C48 00081B88 1C 00 00 0A */ mulli r0, r0, 0xa
+/* 80084C4C 00081B8C 7C 80 20 50 */ subf r4, r0, r4
+/* 80084C50 00081B90 7C C0 16 70 */ srawi r0, r6, 2
+/* 80084C54 00081B94 38 84 00 30 */ addi r4, r4, 0x30
+/* 80084C58 00081B98 98 9E FF FF */ stb r4, -1(r30)
+/* 80084C5C 00081B9C 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 80084C60 00081BA0 7C 80 1A 14 */ add r4, r0, r3
+/* 80084C64 00081BA4 38 E7 00 01 */ addi r7, r7, 1
+/* 80084C68 00081BA8 3B DE FF FF */ addi r30, r30, -1
+lbl_80084C6C:
+/* 80084C6C 00081BAC 2C 04 00 00 */ cmpwi r4, 0
+/* 80084C70 00081BB0 40 82 FF C8 */ bne lbl_80084C38
+/* 80084C74 00081BB4 2C 07 00 02 */ cmpwi r7, 2
+/* 80084C78 00081BB8 41 80 FF C0 */ blt lbl_80084C38
+/* 80084C7C 00081BBC 7D 00 07 74 */ extsb r0, r8
+/* 80084C80 00081BC0 98 1E FF FF */ stb r0, -1(r30)
+/* 80084C84 00081BC4 3B DE FF FE */ addi r30, r30, -2
+/* 80084C88 00081BC8 7C 1E E0 50 */ subf r0, r30, r28
+/* 80084C8C 00081BCC 88 7D 00 05 */ lbz r3, 5(r29)
+/* 80084C90 00081BD0 98 7E 00 00 */ stb r3, 0(r30)
+/* 80084C94 00081BD4 80 7D 00 0C */ lwz r3, 0xc(r29)
+/* 80084C98 00081BD8 7C 03 02 14 */ add r0, r3, r0
+/* 80084C9C 00081BDC 2C 00 01 FD */ cmpwi r0, 0x1fd
+/* 80084CA0 00081BE0 40 81 00 0C */ ble lbl_80084CAC
+/* 80084CA4 00081BE4 38 60 00 00 */ li r3, 0
+/* 80084CA8 00081BE8 48 00 02 E0 */ b lbl_80084F88
+lbl_80084CAC:
+/* 80084CAC 00081BEC 88 81 00 20 */ lbz r4, 0x20(r1)
+/* 80084CB0 00081BF0 38 03 00 01 */ addi r0, r3, 1
+/* 80084CB4 00081BF4 7C 04 00 00 */ cmpw r4, r0
+/* 80084CB8 00081BF8 40 80 00 20 */ bge lbl_80084CD8
+/* 80084CBC 00081BFC 38 03 00 02 */ addi r0, r3, 2
+/* 80084CC0 00081C00 7C 64 00 50 */ subf r3, r4, r0
+/* 80084CC4 00081C04 38 00 00 30 */ li r0, 0x30
+/* 80084CC8 00081C08 48 00 00 08 */ b lbl_80084CD0
+lbl_80084CCC:
+/* 80084CCC 00081C0C 9C 1E FF FF */ stbu r0, -1(r30)
+lbl_80084CD0:
+/* 80084CD0 00081C10 34 63 FF FF */ addic. r3, r3, -1
+/* 80084CD4 00081C14 40 82 FF F8 */ bne lbl_80084CCC
+lbl_80084CD8:
+/* 80084CD8 00081C18 88 61 00 20 */ lbz r3, 0x20(r1)
+/* 80084CDC 00081C1C 7C 9F 1A 14 */ add r4, r31, r3
+/* 80084CE0 00081C20 48 00 00 0C */ b lbl_80084CEC
+lbl_80084CE4:
+/* 80084CE4 00081C24 8C 04 FF FF */ lbzu r0, -1(r4)
+/* 80084CE8 00081C28 9C 1E FF FF */ stbu r0, -1(r30)
+lbl_80084CEC:
+/* 80084CEC 00081C2C 34 63 FF FF */ addic. r3, r3, -1
+/* 80084CF0 00081C30 40 82 FF F4 */ bne lbl_80084CE4
+/* 80084CF4 00081C34 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 80084CF8 00081C38 2C 00 00 00 */ cmpwi r0, 0
+/* 80084CFC 00081C3C 40 82 00 10 */ bne lbl_80084D0C
+/* 80084D00 00081C40 88 1D 00 03 */ lbz r0, 3(r29)
+/* 80084D04 00081C44 28 00 00 00 */ cmplwi r0, 0
+/* 80084D08 00081C48 41 82 00 0C */ beq lbl_80084D14
+lbl_80084D0C:
+/* 80084D0C 00081C4C 38 00 00 2E */ li r0, 0x2e
+/* 80084D10 00081C50 9C 1E FF FF */ stbu r0, -1(r30)
+lbl_80084D14:
+/* 80084D14 00081C54 88 01 00 21 */ lbz r0, 0x21(r1)
+/* 80084D18 00081C58 9C 1E FF FF */ stbu r0, -1(r30)
+/* 80084D1C 00081C5C 88 01 00 1C */ lbz r0, 0x1c(r1)
+/* 80084D20 00081C60 7C 00 07 75 */ extsb. r0, r0
+/* 80084D24 00081C64 41 82 00 10 */ beq lbl_80084D34
+/* 80084D28 00081C68 38 00 00 2D */ li r0, 0x2d
+/* 80084D2C 00081C6C 9C 1E FF FF */ stbu r0, -1(r30)
+/* 80084D30 00081C70 48 00 02 54 */ b lbl_80084F84
+lbl_80084D34:
+/* 80084D34 00081C74 88 1D 00 01 */ lbz r0, 1(r29)
+/* 80084D38 00081C78 28 00 00 01 */ cmplwi r0, 1
+/* 80084D3C 00081C7C 40 82 00 10 */ bne lbl_80084D4C
+/* 80084D40 00081C80 38 00 00 2B */ li r0, 0x2b
+/* 80084D44 00081C84 9C 1E FF FF */ stbu r0, -1(r30)
+/* 80084D48 00081C88 48 00 02 3C */ b lbl_80084F84
+lbl_80084D4C:
+/* 80084D4C 00081C8C 28 00 00 02 */ cmplwi r0, 2
+/* 80084D50 00081C90 40 82 02 34 */ bne lbl_80084F84
+/* 80084D54 00081C94 38 00 00 20 */ li r0, 0x20
+/* 80084D58 00081C98 9C 1E FF FF */ stbu r0, -1(r30)
+/* 80084D5C 00081C9C 48 00 02 28 */ b lbl_80084F84
+lbl_80084D60:
+/* 80084D60 00081CA0 A8 01 00 1E */ lha r0, 0x1e(r1)
+/* 80084D64 00081CA4 88 81 00 20 */ lbz r4, 0x20(r1)
+/* 80084D68 00081CA8 7C 00 20 50 */ subf r0, r0, r4
+/* 80084D6C 00081CAC 34 E0 FF FF */ addic. r7, r0, -1
+/* 80084D70 00081CB0 40 80 00 08 */ bge lbl_80084D78
+/* 80084D74 00081CB4 38 E0 00 00 */ li r7, 0
+lbl_80084D78:
+/* 80084D78 00081CB8 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 80084D7C 00081CBC 7C 07 00 00 */ cmpw r7, r0
+/* 80084D80 00081CC0 40 81 00 2C */ ble lbl_80084DAC
+/* 80084D84 00081CC4 7C 00 38 50 */ subf r0, r0, r7
+/* 80084D88 00081CC8 38 61 00 1C */ addi r3, r1, 0x1c
+/* 80084D8C 00081CCC 7C 80 20 50 */ subf r4, r0, r4
+/* 80084D90 00081CD0 48 00 02 1D */ bl round_decimal
+/* 80084D94 00081CD4 A8 61 00 1E */ lha r3, 0x1e(r1)
+/* 80084D98 00081CD8 88 01 00 20 */ lbz r0, 0x20(r1)
+/* 80084D9C 00081CDC 7C 03 00 50 */ subf r0, r3, r0
+/* 80084DA0 00081CE0 34 E0 FF FF */ addic. r7, r0, -1
+/* 80084DA4 00081CE4 40 80 00 08 */ bge lbl_80084DAC
+/* 80084DA8 00081CE8 38 E0 00 00 */ li r7, 0
+lbl_80084DAC:
+/* 80084DAC 00081CEC A8 01 00 1E */ lha r0, 0x1e(r1)
+/* 80084DB0 00081CF0 34 C0 00 01 */ addic. r6, r0, 1
+/* 80084DB4 00081CF4 40 80 00 08 */ bge lbl_80084DBC
+/* 80084DB8 00081CF8 38 C0 00 00 */ li r6, 0
+lbl_80084DBC:
+/* 80084DBC 00081CFC 7C 06 3A 14 */ add r0, r6, r7
+/* 80084DC0 00081D00 2C 00 01 FD */ cmpwi r0, 0x1fd
+/* 80084DC4 00081D04 40 81 00 0C */ ble lbl_80084DD0
+/* 80084DC8 00081D08 38 60 00 00 */ li r3, 0
+/* 80084DCC 00081D0C 48 00 01 BC */ b lbl_80084F88
+lbl_80084DD0:
+/* 80084DD0 00081D10 88 01 00 20 */ lbz r0, 0x20(r1)
+/* 80084DD4 00081D14 38 80 00 00 */ li r4, 0
+/* 80084DD8 00081D18 38 60 00 30 */ li r3, 0x30
+/* 80084DDC 00081D1C 7C BF 02 14 */ add r5, r31, r0
+/* 80084DE0 00081D20 48 00 00 0C */ b lbl_80084DEC
+lbl_80084DE4:
+/* 80084DE4 00081D24 9C 7E FF FF */ stbu r3, -1(r30)
+/* 80084DE8 00081D28 38 84 00 01 */ addi r4, r4, 1
+lbl_80084DEC:
+/* 80084DEC 00081D2C 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 80084DF0 00081D30 7C 07 00 50 */ subf r0, r7, r0
+/* 80084DF4 00081D34 7C 04 00 00 */ cmpw r4, r0
+/* 80084DF8 00081D38 41 80 FF EC */ blt lbl_80084DE4
+/* 80084DFC 00081D3C 38 60 00 00 */ li r3, 0
+/* 80084E00 00081D40 48 00 00 10 */ b lbl_80084E10
+lbl_80084E04:
+/* 80084E04 00081D44 8C 05 FF FF */ lbzu r0, -1(r5)
+/* 80084E08 00081D48 38 63 00 01 */ addi r3, r3, 1
+/* 80084E0C 00081D4C 9C 1E FF FF */ stbu r0, -1(r30)
+lbl_80084E10:
+/* 80084E10 00081D50 7C 03 38 00 */ cmpw r3, r7
+/* 80084E14 00081D54 40 80 00 10 */ bge lbl_80084E24
+/* 80084E18 00081D58 88 01 00 20 */ lbz r0, 0x20(r1)
+/* 80084E1C 00081D5C 7C 03 00 00 */ cmpw r3, r0
+/* 80084E20 00081D60 41 80 FF E4 */ blt lbl_80084E04
+lbl_80084E24:
+/* 80084E24 00081D64 7C 03 38 00 */ cmpw r3, r7
+/* 80084E28 00081D68 7C 63 38 50 */ subf r3, r3, r7
+/* 80084E2C 00081D6C 38 80 00 30 */ li r4, 0x30
+/* 80084E30 00081D70 40 80 00 48 */ bge lbl_80084E78
+/* 80084E34 00081D74 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f
+/* 80084E38 00081D78 7C 09 03 A6 */ mtctr r0
+/* 80084E3C 00081D7C 41 82 00 30 */ beq lbl_80084E6C
+lbl_80084E40:
+/* 80084E40 00081D80 98 9E FF FF */ stb r4, -1(r30)
+/* 80084E44 00081D84 98 9E FF FE */ stb r4, -2(r30)
+/* 80084E48 00081D88 98 9E FF FD */ stb r4, -3(r30)
+/* 80084E4C 00081D8C 98 9E FF FC */ stb r4, -4(r30)
+/* 80084E50 00081D90 98 9E FF FB */ stb r4, -5(r30)
+/* 80084E54 00081D94 98 9E FF FA */ stb r4, -6(r30)
+/* 80084E58 00081D98 98 9E FF F9 */ stb r4, -7(r30)
+/* 80084E5C 00081D9C 9C 9E FF F8 */ stbu r4, -8(r30)
+/* 80084E60 00081DA0 42 00 FF E0 */ bdnz lbl_80084E40
+/* 80084E64 00081DA4 70 63 00 07 */ andi. r3, r3, 7
+/* 80084E68 00081DA8 41 82 00 10 */ beq lbl_80084E78
+lbl_80084E6C:
+/* 80084E6C 00081DAC 7C 69 03 A6 */ mtctr r3
+lbl_80084E70:
+/* 80084E70 00081DB0 9C 9E FF FF */ stbu r4, -1(r30)
+/* 80084E74 00081DB4 42 00 FF FC */ bdnz lbl_80084E70
+lbl_80084E78:
+/* 80084E78 00081DB8 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 80084E7C 00081DBC 2C 00 00 00 */ cmpwi r0, 0
+/* 80084E80 00081DC0 40 82 00 10 */ bne lbl_80084E90
+/* 80084E84 00081DC4 88 1D 00 03 */ lbz r0, 3(r29)
+/* 80084E88 00081DC8 28 00 00 00 */ cmplwi r0, 0
+/* 80084E8C 00081DCC 41 82 00 0C */ beq lbl_80084E98
+lbl_80084E90:
+/* 80084E90 00081DD0 38 00 00 2E */ li r0, 0x2e
+/* 80084E94 00081DD4 9C 1E FF FF */ stbu r0, -1(r30)
+lbl_80084E98:
+/* 80084E98 00081DD8 2C 06 00 00 */ cmpwi r6, 0
+/* 80084E9C 00081DDC 41 82 00 A0 */ beq lbl_80084F3C
+/* 80084EA0 00081DE0 38 80 00 00 */ li r4, 0
+/* 80084EA4 00081DE4 38 60 00 30 */ li r3, 0x30
+/* 80084EA8 00081DE8 48 00 00 0C */ b lbl_80084EB4
+lbl_80084EAC:
+/* 80084EAC 00081DEC 9C 7E FF FF */ stbu r3, -1(r30)
+/* 80084EB0 00081DF0 38 84 00 01 */ addi r4, r4, 1
+lbl_80084EB4:
+/* 80084EB4 00081DF4 88 01 00 20 */ lbz r0, 0x20(r1)
+/* 80084EB8 00081DF8 7C 00 30 50 */ subf r0, r0, r6
+/* 80084EBC 00081DFC 7C 04 00 00 */ cmpw r4, r0
+/* 80084EC0 00081E00 41 80 FF EC */ blt lbl_80084EAC
+/* 80084EC4 00081E04 7C 04 30 00 */ cmpw r4, r6
+/* 80084EC8 00081E08 7C 64 30 50 */ subf r3, r4, r6
+/* 80084ECC 00081E0C 40 80 00 78 */ bge lbl_80084F44
+/* 80084ED0 00081E10 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f
+/* 80084ED4 00081E14 7C 09 03 A6 */ mtctr r0
+/* 80084ED8 00081E18 41 82 00 50 */ beq lbl_80084F28
+lbl_80084EDC:
+/* 80084EDC 00081E1C 88 05 FF FF */ lbz r0, -1(r5)
+/* 80084EE0 00081E20 98 1E FF FF */ stb r0, -1(r30)
+/* 80084EE4 00081E24 88 05 FF FE */ lbz r0, -2(r5)
+/* 80084EE8 00081E28 98 1E FF FE */ stb r0, -2(r30)
+/* 80084EEC 00081E2C 88 05 FF FD */ lbz r0, -3(r5)
+/* 80084EF0 00081E30 98 1E FF FD */ stb r0, -3(r30)
+/* 80084EF4 00081E34 88 05 FF FC */ lbz r0, -4(r5)
+/* 80084EF8 00081E38 98 1E FF FC */ stb r0, -4(r30)
+/* 80084EFC 00081E3C 88 05 FF FB */ lbz r0, -5(r5)
+/* 80084F00 00081E40 98 1E FF FB */ stb r0, -5(r30)
+/* 80084F04 00081E44 88 05 FF FA */ lbz r0, -6(r5)
+/* 80084F08 00081E48 98 1E FF FA */ stb r0, -6(r30)
+/* 80084F0C 00081E4C 88 05 FF F9 */ lbz r0, -7(r5)
+/* 80084F10 00081E50 98 1E FF F9 */ stb r0, -7(r30)
+/* 80084F14 00081E54 8C 05 FF F8 */ lbzu r0, -8(r5)
+/* 80084F18 00081E58 9C 1E FF F8 */ stbu r0, -8(r30)
+/* 80084F1C 00081E5C 42 00 FF C0 */ bdnz lbl_80084EDC
+/* 80084F20 00081E60 70 63 00 07 */ andi. r3, r3, 7
+/* 80084F24 00081E64 41 82 00 20 */ beq lbl_80084F44
+lbl_80084F28:
+/* 80084F28 00081E68 7C 69 03 A6 */ mtctr r3
+lbl_80084F2C:
+/* 80084F2C 00081E6C 8C 05 FF FF */ lbzu r0, -1(r5)
+/* 80084F30 00081E70 9C 1E FF FF */ stbu r0, -1(r30)
+/* 80084F34 00081E74 42 00 FF F8 */ bdnz lbl_80084F2C
+/* 80084F38 00081E78 48 00 00 0C */ b lbl_80084F44
+lbl_80084F3C:
+/* 80084F3C 00081E7C 38 00 00 30 */ li r0, 0x30
+/* 80084F40 00081E80 9C 1E FF FF */ stbu r0, -1(r30)
+lbl_80084F44:
+/* 80084F44 00081E84 88 01 00 1C */ lbz r0, 0x1c(r1)
+/* 80084F48 00081E88 7C 00 07 75 */ extsb. r0, r0
+/* 80084F4C 00081E8C 41 82 00 10 */ beq lbl_80084F5C
+/* 80084F50 00081E90 38 00 00 2D */ li r0, 0x2d
+/* 80084F54 00081E94 9C 1E FF FF */ stbu r0, -1(r30)
+/* 80084F58 00081E98 48 00 00 2C */ b lbl_80084F84
+lbl_80084F5C:
+/* 80084F5C 00081E9C 88 1D 00 01 */ lbz r0, 1(r29)
+/* 80084F60 00081EA0 28 00 00 01 */ cmplwi r0, 1
+/* 80084F64 00081EA4 40 82 00 10 */ bne lbl_80084F74
+/* 80084F68 00081EA8 38 00 00 2B */ li r0, 0x2b
+/* 80084F6C 00081EAC 9C 1E FF FF */ stbu r0, -1(r30)
+/* 80084F70 00081EB0 48 00 00 14 */ b lbl_80084F84
+lbl_80084F74:
+/* 80084F74 00081EB4 28 00 00 02 */ cmplwi r0, 2
+/* 80084F78 00081EB8 40 82 00 0C */ bne lbl_80084F84
+/* 80084F7C 00081EBC 38 00 00 20 */ li r0, 0x20
+/* 80084F80 00081EC0 9C 1E FF FF */ stbu r0, -1(r30)
+lbl_80084F84:
+/* 80084F84 00081EC4 7F C3 F3 78 */ mr r3, r30
+lbl_80084F88:
+/* 80084F88 00081EC8 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 80084F8C 00081ECC CB E1 00 58 */ lfd f31, 0x58(r1)
+/* 80084F90 00081ED0 83 E1 00 54 */ lwz r31, 0x54(r1)
+/* 80084F94 00081ED4 7C 08 03 A6 */ mtlr r0
+/* 80084F98 00081ED8 83 C1 00 50 */ lwz r30, 0x50(r1)
+/* 80084F9C 00081EDC 83 A1 00 4C */ lwz r29, 0x4c(r1)
+/* 80084FA0 00081EE0 83 81 00 48 */ lwz r28, 0x48(r1)
+/* 80084FA4 00081EE4 38 21 00 60 */ addi r1, r1, 0x60
+/* 80084FA8 00081EE8 4E 80 00 20 */ blr
+
+.global round_decimal
+round_decimal:
+/* 80084FAC 00081EEC 2C 04 00 00 */ cmpwi r4, 0
+/* 80084FB0 00081EF0 40 80 00 24 */ bge lbl_80084FD4
+lbl_80084FB4:
+/* 80084FB4 00081EF4 38 A0 00 00 */ li r5, 0
+/* 80084FB8 00081EF8 98 A3 00 00 */ stb r5, 0(r3)
+/* 80084FBC 00081EFC 38 80 00 01 */ li r4, 1
+/* 80084FC0 00081F00 38 00 00 30 */ li r0, 0x30
+/* 80084FC4 00081F04 B0 A3 00 02 */ sth r5, 2(r3)
+/* 80084FC8 00081F08 98 83 00 04 */ stb r4, 4(r3)
+/* 80084FCC 00081F0C 98 03 00 05 */ stb r0, 5(r3)
+/* 80084FD0 00081F10 4E 80 00 20 */ blr
+lbl_80084FD4:
+/* 80084FD4 00081F14 88 03 00 04 */ lbz r0, 4(r3)
+/* 80084FD8 00081F18 7C 04 00 00 */ cmpw r4, r0
+/* 80084FDC 00081F1C 4C 80 00 20 */ bgelr
+/* 80084FE0 00081F20 7C A3 22 14 */ add r5, r3, r4
+/* 80084FE4 00081F24 39 05 00 06 */ addi r8, r5, 6
+/* 80084FE8 00081F28 8C A8 FF FF */ lbzu r5, -1(r8)
+/* 80084FEC 00081F2C 38 A5 FF D0 */ addi r5, r5, -48
+/* 80084FF0 00081F30 7C A6 07 74 */ extsb r6, r5
+/* 80084FF4 00081F34 2C 06 00 05 */ cmpwi r6, 5
+/* 80084FF8 00081F38 40 82 00 44 */ bne lbl_8008503C
+/* 80084FFC 00081F3C 7C A3 02 14 */ add r5, r3, r0
+/* 80085000 00081F40 38 A5 00 05 */ addi r5, r5, 5
+lbl_80085004:
+/* 80085004 00081F44 38 A5 FF FF */ addi r5, r5, -1
+/* 80085008 00081F48 7C 05 40 40 */ cmplw r5, r8
+/* 8008500C 00081F4C 40 81 00 10 */ ble lbl_8008501C
+/* 80085010 00081F50 88 05 00 00 */ lbz r0, 0(r5)
+/* 80085014 00081F54 2C 00 00 30 */ cmpwi r0, 0x30
+/* 80085018 00081F58 41 82 FF EC */ beq lbl_80085004
+lbl_8008501C:
+/* 8008501C 00081F5C 7C 05 40 40 */ cmplw r5, r8
+/* 80085020 00081F60 40 82 00 10 */ bne lbl_80085030
+/* 80085024 00081F64 88 08 FF FF */ lbz r0, -1(r8)
+/* 80085028 00081F68 54 00 07 FE */ clrlwi r0, r0, 0x1f
+/* 8008502C 00081F6C 48 00 00 08 */ b lbl_80085034
+lbl_80085030:
+/* 80085030 00081F70 38 00 00 01 */ li r0, 1
+lbl_80085034:
+/* 80085034 00081F74 7C 05 03 78 */ mr r5, r0
+/* 80085038 00081F78 48 00 00 64 */ b lbl_8008509C
+lbl_8008503C:
+/* 8008503C 00081F7C 38 A0 00 05 */ li r5, 5
+/* 80085040 00081F80 7C C0 2A 38 */ eqv r0, r6, r5
+/* 80085044 00081F84 7C A6 28 10 */ subfc r5, r6, r5
+/* 80085048 00081F88 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8008504C 00081F8C 7C A0 01 94 */ addze r5, r0
+/* 80085050 00081F90 54 A5 07 FE */ clrlwi r5, r5, 0x1f
+/* 80085054 00081F94 48 00 00 48 */ b lbl_8008509C
+lbl_80085058:
+/* 80085058 00081F98 8C 08 FF FF */ lbzu r0, -1(r8)
+/* 8008505C 00081F9C 7C E0 2A 14 */ add r7, r0, r5
+/* 80085060 00081FA0 38 E7 FF D0 */ addi r7, r7, -48
+/* 80085064 00081FA4 7C E5 07 74 */ extsb r5, r7
+/* 80085068 00081FA8 7C A0 32 38 */ eqv r0, r5, r6
+/* 8008506C 00081FAC 7C A5 30 10 */ subfc r5, r5, r6
+/* 80085070 00081FB0 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 80085074 00081FB4 7C A0 01 94 */ addze r5, r0
+/* 80085078 00081FB8 54 A5 07 FF */ clrlwi. r5, r5, 0x1f
+/* 8008507C 00081FBC 40 82 00 0C */ bne lbl_80085088
+/* 80085080 00081FC0 7C E0 07 75 */ extsb. r0, r7
+/* 80085084 00081FC4 40 82 00 0C */ bne lbl_80085090
+lbl_80085088:
+/* 80085088 00081FC8 38 84 FF FF */ addi r4, r4, -1
+/* 8008508C 00081FCC 48 00 00 14 */ b lbl_800850A0
+lbl_80085090:
+/* 80085090 00081FD0 38 07 00 30 */ addi r0, r7, 0x30
+/* 80085094 00081FD4 98 08 00 00 */ stb r0, 0(r8)
+/* 80085098 00081FD8 48 00 00 10 */ b lbl_800850A8
+lbl_8008509C:
+/* 8008509C 00081FDC 38 C0 00 09 */ li r6, 9
+lbl_800850A0:
+/* 800850A0 00081FE0 2C 04 00 00 */ cmpwi r4, 0
+/* 800850A4 00081FE4 40 82 FF B4 */ bne lbl_80085058
+lbl_800850A8:
+/* 800850A8 00081FE8 2C 05 00 00 */ cmpwi r5, 0
+/* 800850AC 00081FEC 41 82 00 24 */ beq lbl_800850D0
+/* 800850B0 00081FF0 A8 A3 00 02 */ lha r5, 2(r3)
+/* 800850B4 00081FF4 38 80 00 01 */ li r4, 1
+/* 800850B8 00081FF8 38 00 00 31 */ li r0, 0x31
+/* 800850BC 00081FFC 38 A5 00 01 */ addi r5, r5, 1
+/* 800850C0 00082000 B0 A3 00 02 */ sth r5, 2(r3)
+/* 800850C4 00082004 98 83 00 04 */ stb r4, 4(r3)
+/* 800850C8 00082008 98 03 00 05 */ stb r0, 5(r3)
+/* 800850CC 0008200C 4E 80 00 20 */ blr
+lbl_800850D0:
+/* 800850D0 00082010 2C 04 00 00 */ cmpwi r4, 0
+/* 800850D4 00082014 41 82 FE E0 */ beq lbl_80084FB4
+/* 800850D8 00082018 98 83 00 04 */ stb r4, 4(r3)
+/* 800850DC 0008201C 4E 80 00 20 */ blr
+
+.global longlong2str
+longlong2str:
+/* 800850E0 00082020 7C 08 02 A6 */ mflr r0
+/* 800850E4 00082024 90 01 00 04 */ stw r0, 4(r1)
+/* 800850E8 00082028 38 00 00 00 */ li r0, 0
+/* 800850EC 0008202C 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 800850F0 00082030 BE C1 00 18 */ stmw r22, 0x18(r1)
+/* 800850F4 00082034 3A E5 00 00 */ addi r23, r5, 0
+/* 800850F8 00082038 7C 85 02 78 */ xor r5, r4, r0
+/* 800850FC 0008203C 3B 77 FF FF */ addi r27, r23, -1
+/* 80085100 00082040 3B 06 00 00 */ addi r24, r6, 0
+/* 80085104 00082044 3B C4 00 00 */ addi r30, r4, 0
+/* 80085108 00082048 3B E3 00 00 */ addi r31, r3, 0
+/* 8008510C 0008204C 3B 20 00 00 */ li r25, 0
+/* 80085110 00082050 3B 40 00 00 */ li r26, 0
+/* 80085114 00082054 98 17 FF FF */ stb r0, -1(r23)
+/* 80085118 00082058 7C 60 02 78 */ xor r0, r3, r0
+/* 8008511C 0008205C 7C A0 03 79 */ or. r0, r5, r0
+/* 80085120 00082060 40 82 00 30 */ bne lbl_80085150
+/* 80085124 00082064 80 18 00 0C */ lwz r0, 0xc(r24)
+/* 80085128 00082068 2C 00 00 00 */ cmpwi r0, 0
+/* 8008512C 0008206C 40 82 00 24 */ bne lbl_80085150
+/* 80085130 00082070 88 18 00 03 */ lbz r0, 3(r24)
+/* 80085134 00082074 28 00 00 00 */ cmplwi r0, 0
+/* 80085138 00082078 41 82 00 10 */ beq lbl_80085148
+/* 8008513C 0008207C 88 18 00 05 */ lbz r0, 5(r24)
+/* 80085140 00082080 28 00 00 6F */ cmplwi r0, 0x6f
+/* 80085144 00082084 41 82 00 0C */ beq lbl_80085150
+lbl_80085148:
+/* 80085148 00082088 7F 63 DB 78 */ mr r3, r27
+/* 8008514C 0008208C 48 00 02 60 */ b lbl_800853AC
+lbl_80085150:
+/* 80085150 00082090 88 B8 00 05 */ lbz r5, 5(r24)
+/* 80085154 00082094 38 05 FF A8 */ addi r0, r5, -88
+/* 80085158 00082098 28 00 00 20 */ cmplwi r0, 0x20
+/* 8008515C 0008209C 41 81 00 8C */ bgt lbl_800851E8
+/* 80085160 000820A0 3C A0 80 3B */ lis r5, "@1009"@ha
+/* 80085164 000820A4 38 A5 EC D8 */ addi r5, r5, "@1009"@l
+/* 80085168 000820A8 54 00 10 3A */ slwi r0, r0, 2
+/* 8008516C 000820AC 7C 05 00 2E */ lwzx r0, r5, r0
+/* 80085170 000820B0 7C 09 03 A6 */ mtctr r0
+/* 80085174 000820B4 4E 80 04 20 */ bctr
+lbl_80085178:
+/* 80085178 000820B8 38 00 00 00 */ li r0, 0
+/* 8008517C 000820BC 6C 65 80 00 */ xoris r5, r3, 0x8000
+/* 80085180 000820C0 6C 03 80 00 */ xoris r3, r0, 0x8000
+/* 80085184 000820C4 7C 00 20 10 */ subfc r0, r0, r4
+/* 80085188 000820C8 7C 63 29 10 */ subfe r3, r3, r5
+/* 8008518C 000820CC 7C 65 29 10 */ subfe r3, r5, r5
+/* 80085190 000820D0 7C 63 00 D1 */ neg. r3, r3
+/* 80085194 000820D4 3B 80 00 0A */ li r28, 0xa
+/* 80085198 000820D8 3B A0 00 00 */ li r29, 0
+/* 8008519C 000820DC 41 82 00 4C */ beq lbl_800851E8
+/* 800851A0 000820E0 23 DE 00 00 */ subfic r30, r30, 0
+/* 800851A4 000820E4 7F FF 01 90 */ subfze r31, r31
+/* 800851A8 000820E8 3B 20 00 01 */ li r25, 1
+/* 800851AC 000820EC 48 00 00 3C */ b lbl_800851E8
+lbl_800851B0:
+/* 800851B0 000820F0 38 00 00 00 */ li r0, 0
+/* 800851B4 000820F4 98 18 00 01 */ stb r0, 1(r24)
+/* 800851B8 000820F8 3B 80 00 08 */ li r28, 8
+/* 800851BC 000820FC 3B A0 00 00 */ li r29, 0
+/* 800851C0 00082100 48 00 00 28 */ b lbl_800851E8
+lbl_800851C4:
+/* 800851C4 00082104 38 00 00 00 */ li r0, 0
+/* 800851C8 00082108 98 18 00 01 */ stb r0, 1(r24)
+/* 800851CC 0008210C 3B 80 00 0A */ li r28, 0xa
+/* 800851D0 00082110 3B A0 00 00 */ li r29, 0
+/* 800851D4 00082114 48 00 00 14 */ b lbl_800851E8
+lbl_800851D8:
+/* 800851D8 00082118 38 00 00 00 */ li r0, 0
+/* 800851DC 0008211C 98 18 00 01 */ stb r0, 1(r24)
+/* 800851E0 00082120 3B 80 00 10 */ li r28, 0x10
+/* 800851E4 00082124 3B A0 00 00 */ li r29, 0
+lbl_800851E8:
+/* 800851E8 00082128 38 7F 00 00 */ addi r3, r31, 0
+/* 800851EC 0008212C 38 9E 00 00 */ addi r4, r30, 0
+/* 800851F0 00082130 38 BD 00 00 */ addi r5, r29, 0
+/* 800851F4 00082134 38 DC 00 00 */ addi r6, r28, 0
+/* 800851F8 00082138 4B FF DC 45 */ bl __mod2u
+/* 800851FC 0008213C 3A C4 00 00 */ addi r22, r4, 0
+/* 80085200 00082140 38 7F 00 00 */ addi r3, r31, 0
+/* 80085204 00082144 38 9E 00 00 */ addi r4, r30, 0
+/* 80085208 00082148 38 BD 00 00 */ addi r5, r29, 0
+/* 8008520C 0008214C 38 DC 00 00 */ addi r6, r28, 0
+/* 80085210 00082150 4B FF DA 09 */ bl __div2u
+/* 80085214 00082154 2C 16 00 0A */ cmpwi r22, 0xa
+/* 80085218 00082158 3B C4 00 00 */ addi r30, r4, 0
+/* 8008521C 0008215C 3B E3 00 00 */ addi r31, r3, 0
+/* 80085220 00082160 40 80 00 0C */ bge lbl_8008522C
+/* 80085224 00082164 38 B6 00 30 */ addi r5, r22, 0x30
+/* 80085228 00082168 48 00 00 1C */ b lbl_80085244
+lbl_8008522C:
+/* 8008522C 0008216C 88 18 00 05 */ lbz r0, 5(r24)
+/* 80085230 00082170 28 00 00 78 */ cmplwi r0, 0x78
+/* 80085234 00082174 40 82 00 0C */ bne lbl_80085240
+/* 80085238 00082178 38 B6 00 57 */ addi r5, r22, 0x57
+/* 8008523C 0008217C 48 00 00 08 */ b lbl_80085244
+lbl_80085240:
+/* 80085240 00082180 38 B6 00 37 */ addi r5, r22, 0x37
+lbl_80085244:
+/* 80085244 00082184 38 80 00 00 */ li r4, 0
+/* 80085248 00082188 7F C3 22 78 */ xor r3, r30, r4
+/* 8008524C 0008218C 7F E0 22 78 */ xor r0, r31, r4
+/* 80085250 00082190 7C 60 03 79 */ or. r0, r3, r0
+/* 80085254 00082194 7C A0 07 74 */ extsb r0, r5
+/* 80085258 00082198 3B 5A 00 01 */ addi r26, r26, 1
+/* 8008525C 0008219C 9C 1B FF FF */ stbu r0, -1(r27)
+/* 80085260 000821A0 40 82 FF 88 */ bne lbl_800851E8
+/* 80085264 000821A4 38 00 00 08 */ li r0, 8
+/* 80085268 000821A8 7F 83 02 78 */ xor r3, r28, r0
+/* 8008526C 000821AC 7F A0 22 78 */ xor r0, r29, r4
+/* 80085270 000821B0 7C 60 03 79 */ or. r0, r3, r0
+/* 80085274 000821B4 40 82 00 28 */ bne lbl_8008529C
+/* 80085278 000821B8 88 18 00 03 */ lbz r0, 3(r24)
+/* 8008527C 000821BC 28 00 00 00 */ cmplwi r0, 0
+/* 80085280 000821C0 41 82 00 1C */ beq lbl_8008529C
+/* 80085284 000821C4 88 1B 00 00 */ lbz r0, 0(r27)
+/* 80085288 000821C8 2C 00 00 30 */ cmpwi r0, 0x30
+/* 8008528C 000821CC 41 82 00 10 */ beq lbl_8008529C
+/* 80085290 000821D0 38 00 00 30 */ li r0, 0x30
+/* 80085294 000821D4 9C 1B FF FF */ stbu r0, -1(r27)
+/* 80085298 000821D8 3B 5A 00 01 */ addi r26, r26, 1
+lbl_8008529C:
+/* 8008529C 000821DC 88 18 00 00 */ lbz r0, 0(r24)
+/* 800852A0 000821E0 28 00 00 02 */ cmplwi r0, 2
+/* 800852A4 000821E4 40 82 00 5C */ bne lbl_80085300
+/* 800852A8 000821E8 80 18 00 08 */ lwz r0, 8(r24)
+/* 800852AC 000821EC 2C 19 00 00 */ cmpwi r25, 0
+/* 800852B0 000821F0 90 18 00 0C */ stw r0, 0xc(r24)
+/* 800852B4 000821F4 40 82 00 10 */ bne lbl_800852C4
+/* 800852B8 000821F8 88 18 00 01 */ lbz r0, 1(r24)
+/* 800852BC 000821FC 28 00 00 00 */ cmplwi r0, 0
+/* 800852C0 00082200 41 82 00 10 */ beq lbl_800852D0
+lbl_800852C4:
+/* 800852C4 00082204 80 78 00 0C */ lwz r3, 0xc(r24)
+/* 800852C8 00082208 38 03 FF FF */ addi r0, r3, -1
+/* 800852CC 0008220C 90 18 00 0C */ stw r0, 0xc(r24)
+lbl_800852D0:
+/* 800852D0 00082210 38 60 00 10 */ li r3, 0x10
+/* 800852D4 00082214 38 00 00 00 */ li r0, 0
+/* 800852D8 00082218 7F 83 1A 78 */ xor r3, r28, r3
+/* 800852DC 0008221C 7F A0 02 78 */ xor r0, r29, r0
+/* 800852E0 00082220 7C 60 03 79 */ or. r0, r3, r0
+/* 800852E4 00082224 40 82 00 1C */ bne lbl_80085300
+/* 800852E8 00082228 88 18 00 03 */ lbz r0, 3(r24)
+/* 800852EC 0008222C 28 00 00 00 */ cmplwi r0, 0
+/* 800852F0 00082230 41 82 00 10 */ beq lbl_80085300
+/* 800852F4 00082234 80 78 00 0C */ lwz r3, 0xc(r24)
+/* 800852F8 00082238 38 03 FF FE */ addi r0, r3, -2
+/* 800852FC 0008223C 90 18 00 0C */ stw r0, 0xc(r24)
+lbl_80085300:
+/* 80085300 00082240 80 78 00 0C */ lwz r3, 0xc(r24)
+/* 80085304 00082244 7C 1B B8 50 */ subf r0, r27, r23
+/* 80085308 00082248 7C 03 02 14 */ add r0, r3, r0
+/* 8008530C 0008224C 2C 00 01 FD */ cmpwi r0, 0x1fd
+/* 80085310 00082250 40 81 00 0C */ ble lbl_8008531C
+/* 80085314 00082254 38 60 00 00 */ li r3, 0
+/* 80085318 00082258 48 00 00 94 */ b lbl_800853AC
+lbl_8008531C:
+/* 8008531C 0008225C 38 60 00 30 */ li r3, 0x30
+/* 80085320 00082260 48 00 00 0C */ b lbl_8008532C
+lbl_80085324:
+/* 80085324 00082264 9C 7B FF FF */ stbu r3, -1(r27)
+/* 80085328 00082268 3B 5A 00 01 */ addi r26, r26, 1
+lbl_8008532C:
+/* 8008532C 0008226C 80 18 00 0C */ lwz r0, 0xc(r24)
+/* 80085330 00082270 7C 1A 00 00 */ cmpw r26, r0
+/* 80085334 00082274 41 80 FF F0 */ blt lbl_80085324
+/* 80085338 00082278 38 60 00 10 */ li r3, 0x10
+/* 8008533C 0008227C 38 00 00 00 */ li r0, 0
+/* 80085340 00082280 7F 83 1A 78 */ xor r3, r28, r3
+/* 80085344 00082284 7F A0 02 78 */ xor r0, r29, r0
+/* 80085348 00082288 7C 60 03 79 */ or. r0, r3, r0
+/* 8008534C 0008228C 40 82 00 20 */ bne lbl_8008536C
+/* 80085350 00082290 88 18 00 03 */ lbz r0, 3(r24)
+/* 80085354 00082294 28 00 00 00 */ cmplwi r0, 0
+/* 80085358 00082298 41 82 00 14 */ beq lbl_8008536C
+/* 8008535C 0008229C 88 78 00 05 */ lbz r3, 5(r24)
+/* 80085360 000822A0 38 00 00 30 */ li r0, 0x30
+/* 80085364 000822A4 98 7B FF FF */ stb r3, -1(r27)
+/* 80085368 000822A8 9C 1B FF FE */ stbu r0, -2(r27)
+lbl_8008536C:
+/* 8008536C 000822AC 2C 19 00 00 */ cmpwi r25, 0
+/* 80085370 000822B0 41 82 00 10 */ beq lbl_80085380
+/* 80085374 000822B4 38 00 00 2D */ li r0, 0x2d
+/* 80085378 000822B8 9C 1B FF FF */ stbu r0, -1(r27)
+/* 8008537C 000822BC 48 00 00 2C */ b lbl_800853A8
+lbl_80085380:
+/* 80085380 000822C0 88 18 00 01 */ lbz r0, 1(r24)
+/* 80085384 000822C4 28 00 00 01 */ cmplwi r0, 1
+/* 80085388 000822C8 40 82 00 10 */ bne lbl_80085398
+/* 8008538C 000822CC 38 00 00 2B */ li r0, 0x2b
+/* 80085390 000822D0 9C 1B FF FF */ stbu r0, -1(r27)
+/* 80085394 000822D4 48 00 00 14 */ b lbl_800853A8
+lbl_80085398:
+/* 80085398 000822D8 28 00 00 02 */ cmplwi r0, 2
+/* 8008539C 000822DC 40 82 00 0C */ bne lbl_800853A8
+/* 800853A0 000822E0 38 00 00 20 */ li r0, 0x20
+/* 800853A4 000822E4 9C 1B FF FF */ stbu r0, -1(r27)
+lbl_800853A8:
+/* 800853A8 000822E8 7F 63 DB 78 */ mr r3, r27
+lbl_800853AC:
+/* 800853AC 000822EC BA C1 00 18 */ lmw r22, 0x18(r1)
+/* 800853B0 000822F0 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 800853B4 000822F4 38 21 00 40 */ addi r1, r1, 0x40
+/* 800853B8 000822F8 7C 08 03 A6 */ mtlr r0
+/* 800853BC 000822FC 4E 80 00 20 */ blr
+
+.global long2str
+long2str:
+/* 800853C0 00082300 38 E0 00 00 */ li r7, 0
+/* 800853C4 00082304 98 E4 FF FF */ stb r7, -1(r4)
+/* 800853C8 00082308 2C 03 00 00 */ cmpwi r3, 0
+/* 800853CC 0008230C 38 C4 FF FF */ addi r6, r4, -1
+/* 800853D0 00082310 39 00 00 00 */ li r8, 0
+/* 800853D4 00082314 38 E0 00 00 */ li r7, 0
+/* 800853D8 00082318 40 82 00 30 */ bne lbl_80085408
+/* 800853DC 0008231C 81 25 00 0C */ lwz r9, 0xc(r5)
+/* 800853E0 00082320 2C 09 00 00 */ cmpwi r9, 0
+/* 800853E4 00082324 40 82 00 24 */ bne lbl_80085408
+/* 800853E8 00082328 89 25 00 03 */ lbz r9, 3(r5)
+/* 800853EC 0008232C 28 09 00 00 */ cmplwi r9, 0
+/* 800853F0 00082330 41 82 00 10 */ beq lbl_80085400
+/* 800853F4 00082334 89 25 00 05 */ lbz r9, 5(r5)
+/* 800853F8 00082338 28 09 00 6F */ cmplwi r9, 0x6f
+/* 800853FC 0008233C 41 82 00 0C */ beq lbl_80085408
+lbl_80085400:
+/* 80085400 00082340 7C C3 33 78 */ mr r3, r6
+/* 80085404 00082344 4E 80 00 20 */ blr
+lbl_80085408:
+/* 80085408 00082348 89 25 00 05 */ lbz r9, 5(r5)
+/* 8008540C 0008234C 39 49 FF A8 */ addi r10, r9, -88
+/* 80085410 00082350 28 0A 00 20 */ cmplwi r10, 0x20
+/* 80085414 00082354 41 81 00 60 */ bgt lbl_80085474
+/* 80085418 00082358 3D 20 80 3B */ lis r9, "@1066"@ha
+/* 8008541C 0008235C 39 29 ED 5C */ addi r9, r9, "@1066"@l
+/* 80085420 00082360 55 4A 10 3A */ slwi r10, r10, 2
+/* 80085424 00082364 7D 29 50 2E */ lwzx r9, r9, r10
+/* 80085428 00082368 7D 29 03 A6 */ mtctr r9
+/* 8008542C 0008236C 4E 80 04 20 */ bctr
+lbl_80085430:
+/* 80085430 00082370 2C 03 00 00 */ cmpwi r3, 0
+/* 80085434 00082374 38 00 00 0A */ li r0, 0xa
+/* 80085438 00082378 40 80 00 3C */ bge lbl_80085474
+/* 8008543C 0008237C 7C 63 00 D0 */ neg r3, r3
+/* 80085440 00082380 39 00 00 01 */ li r8, 1
+/* 80085444 00082384 48 00 00 30 */ b lbl_80085474
+lbl_80085448:
+/* 80085448 00082388 38 00 00 00 */ li r0, 0
+/* 8008544C 0008238C 98 05 00 01 */ stb r0, 1(r5)
+/* 80085450 00082390 38 00 00 08 */ li r0, 8
+/* 80085454 00082394 48 00 00 20 */ b lbl_80085474
+lbl_80085458:
+/* 80085458 00082398 38 00 00 00 */ li r0, 0
+/* 8008545C 0008239C 98 05 00 01 */ stb r0, 1(r5)
+/* 80085460 000823A0 38 00 00 0A */ li r0, 0xa
+/* 80085464 000823A4 48 00 00 10 */ b lbl_80085474
+lbl_80085468:
+/* 80085468 000823A8 38 00 00 00 */ li r0, 0
+/* 8008546C 000823AC 98 05 00 01 */ stb r0, 1(r5)
+/* 80085470 000823B0 38 00 00 10 */ li r0, 0x10
+lbl_80085474:
+/* 80085474 000823B4 7D 23 03 96 */ divwu r9, r3, r0
+/* 80085478 000823B8 7D 29 01 D6 */ mullw r9, r9, r0
+/* 8008547C 000823BC 7D 49 18 50 */ subf r10, r9, r3
+/* 80085480 000823C0 7C 63 03 96 */ divwu r3, r3, r0
+/* 80085484 000823C4 2C 0A 00 0A */ cmpwi r10, 0xa
+/* 80085488 000823C8 40 80 00 0C */ bge lbl_80085494
+/* 8008548C 000823CC 39 4A 00 30 */ addi r10, r10, 0x30
+/* 80085490 000823D0 48 00 00 1C */ b lbl_800854AC
+lbl_80085494:
+/* 80085494 000823D4 89 25 00 05 */ lbz r9, 5(r5)
+/* 80085498 000823D8 28 09 00 78 */ cmplwi r9, 0x78
+/* 8008549C 000823DC 40 82 00 0C */ bne lbl_800854A8
+/* 800854A0 000823E0 39 4A 00 57 */ addi r10, r10, 0x57
+/* 800854A4 000823E4 48 00 00 08 */ b lbl_800854AC
+lbl_800854A8:
+/* 800854A8 000823E8 39 4A 00 37 */ addi r10, r10, 0x37
+lbl_800854AC:
+/* 800854AC 000823EC 7D 49 07 74 */ extsb r9, r10
+/* 800854B0 000823F0 99 26 FF FF */ stb r9, -1(r6)
+/* 800854B4 000823F4 28 03 00 00 */ cmplwi r3, 0
+/* 800854B8 000823F8 38 C6 FF FF */ addi r6, r6, -1
+/* 800854BC 000823FC 38 E7 00 01 */ addi r7, r7, 1
+/* 800854C0 00082400 40 82 FF B4 */ bne lbl_80085474
+/* 800854C4 00082404 28 00 00 08 */ cmplwi r0, 8
+/* 800854C8 00082408 40 82 00 28 */ bne lbl_800854F0
+/* 800854CC 0008240C 88 65 00 03 */ lbz r3, 3(r5)
+/* 800854D0 00082410 28 03 00 00 */ cmplwi r3, 0
+/* 800854D4 00082414 41 82 00 1C */ beq lbl_800854F0
+/* 800854D8 00082418 88 66 00 00 */ lbz r3, 0(r6)
+/* 800854DC 0008241C 2C 03 00 30 */ cmpwi r3, 0x30
+/* 800854E0 00082420 41 82 00 10 */ beq lbl_800854F0
+/* 800854E4 00082424 38 60 00 30 */ li r3, 0x30
+/* 800854E8 00082428 9C 66 FF FF */ stbu r3, -1(r6)
+/* 800854EC 0008242C 38 E7 00 01 */ addi r7, r7, 1
+lbl_800854F0:
+/* 800854F0 00082430 88 65 00 00 */ lbz r3, 0(r5)
+/* 800854F4 00082434 28 03 00 02 */ cmplwi r3, 2
+/* 800854F8 00082438 40 82 00 4C */ bne lbl_80085544
+/* 800854FC 0008243C 80 65 00 08 */ lwz r3, 8(r5)
+/* 80085500 00082440 2C 08 00 00 */ cmpwi r8, 0
+/* 80085504 00082444 90 65 00 0C */ stw r3, 0xc(r5)
+/* 80085508 00082448 40 82 00 10 */ bne lbl_80085518
+/* 8008550C 0008244C 88 65 00 01 */ lbz r3, 1(r5)
+/* 80085510 00082450 28 03 00 00 */ cmplwi r3, 0
+/* 80085514 00082454 41 82 00 10 */ beq lbl_80085524
+lbl_80085518:
+/* 80085518 00082458 80 65 00 0C */ lwz r3, 0xc(r5)
+/* 8008551C 0008245C 38 63 FF FF */ addi r3, r3, -1
+/* 80085520 00082460 90 65 00 0C */ stw r3, 0xc(r5)
+lbl_80085524:
+/* 80085524 00082464 28 00 00 10 */ cmplwi r0, 0x10
+/* 80085528 00082468 40 82 00 1C */ bne lbl_80085544
+/* 8008552C 0008246C 88 65 00 03 */ lbz r3, 3(r5)
+/* 80085530 00082470 28 03 00 00 */ cmplwi r3, 0
+/* 80085534 00082474 41 82 00 10 */ beq lbl_80085544
+/* 80085538 00082478 80 65 00 0C */ lwz r3, 0xc(r5)
+/* 8008553C 0008247C 38 63 FF FE */ addi r3, r3, -2
+/* 80085540 00082480 90 65 00 0C */ stw r3, 0xc(r5)
+lbl_80085544:
+/* 80085544 00082484 81 25 00 0C */ lwz r9, 0xc(r5)
+/* 80085548 00082488 7C 66 20 50 */ subf r3, r6, r4
+/* 8008554C 0008248C 7C 69 1A 14 */ add r3, r9, r3
+/* 80085550 00082490 2C 03 01 FD */ cmpwi r3, 0x1fd
+/* 80085554 00082494 40 81 00 0C */ ble lbl_80085560
+/* 80085558 00082498 38 60 00 00 */ li r3, 0
+/* 8008555C 0008249C 4E 80 00 20 */ blr
+lbl_80085560:
+/* 80085560 000824A0 38 80 00 30 */ li r4, 0x30
+/* 80085564 000824A4 48 00 00 0C */ b lbl_80085570
+lbl_80085568:
+/* 80085568 000824A8 9C 86 FF FF */ stbu r4, -1(r6)
+/* 8008556C 000824AC 38 E7 00 01 */ addi r7, r7, 1
+lbl_80085570:
+/* 80085570 000824B0 80 65 00 0C */ lwz r3, 0xc(r5)
+/* 80085574 000824B4 7C 07 18 00 */ cmpw r7, r3
+/* 80085578 000824B8 41 80 FF F0 */ blt lbl_80085568
+/* 8008557C 000824BC 28 00 00 10 */ cmplwi r0, 0x10
+/* 80085580 000824C0 40 82 00 20 */ bne lbl_800855A0
+/* 80085584 000824C4 88 05 00 03 */ lbz r0, 3(r5)
+/* 80085588 000824C8 28 00 00 00 */ cmplwi r0, 0
+/* 8008558C 000824CC 41 82 00 14 */ beq lbl_800855A0
+/* 80085590 000824D0 88 65 00 05 */ lbz r3, 5(r5)
+/* 80085594 000824D4 38 00 00 30 */ li r0, 0x30
+/* 80085598 000824D8 98 66 FF FF */ stb r3, -1(r6)
+/* 8008559C 000824DC 9C 06 FF FE */ stbu r0, -2(r6)
+lbl_800855A0:
+/* 800855A0 000824E0 2C 08 00 00 */ cmpwi r8, 0
+/* 800855A4 000824E4 41 82 00 10 */ beq lbl_800855B4
+/* 800855A8 000824E8 38 00 00 2D */ li r0, 0x2d
+/* 800855AC 000824EC 9C 06 FF FF */ stbu r0, -1(r6)
+/* 800855B0 000824F0 48 00 00 2C */ b lbl_800855DC
+lbl_800855B4:
+/* 800855B4 000824F4 88 05 00 01 */ lbz r0, 1(r5)
+/* 800855B8 000824F8 28 00 00 01 */ cmplwi r0, 1
+/* 800855BC 000824FC 40 82 00 10 */ bne lbl_800855CC
+/* 800855C0 00082500 38 00 00 2B */ li r0, 0x2b
+/* 800855C4 00082504 9C 06 FF FF */ stbu r0, -1(r6)
+/* 800855C8 00082508 48 00 00 14 */ b lbl_800855DC
+lbl_800855CC:
+/* 800855CC 0008250C 28 00 00 02 */ cmplwi r0, 2
+/* 800855D0 00082510 40 82 00 0C */ bne lbl_800855DC
+/* 800855D4 00082514 38 00 00 20 */ li r0, 0x20
+/* 800855D8 00082518 9C 06 FF FF */ stbu r0, -1(r6)
+lbl_800855DC:
+/* 800855DC 0008251C 7C C3 33 78 */ mr r3, r6
+/* 800855E0 00082520 4E 80 00 20 */ blr
+
+.global parse_format
+parse_format:
+/* 800855E4 00082524 7C 08 02 A6 */ mflr r0
+/* 800855E8 00082528 90 01 00 04 */ stw r0, 4(r1)
+/* 800855EC 0008252C 38 00 00 01 */ li r0, 1
+/* 800855F0 00082530 94 21 FF C8 */ stwu r1, -0x38(r1)
+/* 800855F4 00082534 93 E1 00 34 */ stw r31, 0x34(r1)
+/* 800855F8 00082538 3B E3 00 01 */ addi r31, r3, 1
+/* 800855FC 0008253C 93 C1 00 30 */ stw r30, 0x30(r1)
+/* 80085600 00082540 3B C5 00 00 */ addi r30, r5, 0
+/* 80085604 00082544 93 A1 00 2C */ stw r29, 0x2c(r1)
+/* 80085608 00082548 3B A4 00 00 */ addi r29, r4, 0
+/* 8008560C 0008254C 98 01 00 14 */ stb r0, 0x14(r1)
+/* 80085610 00082550 38 00 00 00 */ li r0, 0
+/* 80085614 00082554 98 01 00 15 */ stb r0, 0x15(r1)
+/* 80085618 00082558 98 01 00 16 */ stb r0, 0x16(r1)
+/* 8008561C 0008255C 98 01 00 17 */ stb r0, 0x17(r1)
+/* 80085620 00082560 98 01 00 18 */ stb r0, 0x18(r1)
+/* 80085624 00082564 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 80085628 00082568 90 01 00 20 */ stw r0, 0x20(r1)
+/* 8008562C 0008256C 88 63 00 01 */ lbz r3, 1(r3)
+/* 80085630 00082570 7C 63 07 74 */ extsb r3, r3
+/* 80085634 00082574 2C 03 00 25 */ cmpwi r3, 0x25
+/* 80085638 00082578 40 82 00 30 */ bne lbl_80085668
+/* 8008563C 0008257C 98 61 00 19 */ stb r3, 0x19(r1)
+/* 80085640 00082580 38 7F 00 01 */ addi r3, r31, 1
+/* 80085644 00082584 80 81 00 14 */ lwz r4, 0x14(r1)
+/* 80085648 00082588 80 01 00 18 */ lwz r0, 0x18(r1)
+/* 8008564C 0008258C 90 9E 00 00 */ stw r4, 0(r30)
+/* 80085650 00082590 90 1E 00 04 */ stw r0, 4(r30)
+/* 80085654 00082594 80 81 00 1C */ lwz r4, 0x1c(r1)
+/* 80085658 00082598 80 01 00 20 */ lwz r0, 0x20(r1)
+/* 8008565C 0008259C 90 9E 00 08 */ stw r4, 8(r30)
+/* 80085660 000825A0 90 1E 00 0C */ stw r0, 0xc(r30)
+/* 80085664 000825A4 48 00 04 3C */ b lbl_80085AA0
+lbl_80085668:
+/* 80085668 000825A8 3C 80 80 3B */ lis r4, "@1185"@ha
+/* 8008566C 000825AC 38 84 EE B0 */ addi r4, r4, "@1185"@l
+lbl_80085670:
+/* 80085670 000825B0 38 03 FF E0 */ addi r0, r3, -32
+/* 80085674 000825B4 28 00 00 10 */ cmplwi r0, 0x10
+/* 80085678 000825B8 38 A0 00 01 */ li r5, 1
+/* 8008567C 000825BC 41 81 00 68 */ bgt lbl_800856E4
+/* 80085680 000825C0 54 00 10 3A */ slwi r0, r0, 2
+/* 80085684 000825C4 7C 04 00 2E */ lwzx r0, r4, r0
+/* 80085688 000825C8 7C 09 03 A6 */ mtctr r0
+/* 8008568C 000825CC 4E 80 04 20 */ bctr
+lbl_80085690:
+/* 80085690 000825D0 38 00 00 00 */ li r0, 0
+/* 80085694 000825D4 98 01 00 14 */ stb r0, 0x14(r1)
+/* 80085698 000825D8 48 00 00 50 */ b lbl_800856E8
+lbl_8008569C:
+/* 8008569C 000825DC 38 00 00 01 */ li r0, 1
+/* 800856A0 000825E0 98 01 00 15 */ stb r0, 0x15(r1)
+/* 800856A4 000825E4 48 00 00 44 */ b lbl_800856E8
+lbl_800856A8:
+/* 800856A8 000825E8 88 01 00 15 */ lbz r0, 0x15(r1)
+/* 800856AC 000825EC 28 00 00 01 */ cmplwi r0, 1
+/* 800856B0 000825F0 41 82 00 38 */ beq lbl_800856E8
+/* 800856B4 000825F4 38 00 00 02 */ li r0, 2
+/* 800856B8 000825F8 98 01 00 15 */ stb r0, 0x15(r1)
+/* 800856BC 000825FC 48 00 00 2C */ b lbl_800856E8
+lbl_800856C0:
+/* 800856C0 00082600 38 00 00 01 */ li r0, 1
+/* 800856C4 00082604 98 01 00 17 */ stb r0, 0x17(r1)
+/* 800856C8 00082608 48 00 00 20 */ b lbl_800856E8
+lbl_800856CC:
+/* 800856CC 0008260C 88 01 00 14 */ lbz r0, 0x14(r1)
+/* 800856D0 00082610 28 00 00 00 */ cmplwi r0, 0
+/* 800856D4 00082614 41 82 00 14 */ beq lbl_800856E8
+/* 800856D8 00082618 38 00 00 02 */ li r0, 2
+/* 800856DC 0008261C 98 01 00 14 */ stb r0, 0x14(r1)
+/* 800856E0 00082620 48 00 00 08 */ b lbl_800856E8
+lbl_800856E4:
+/* 800856E4 00082624 38 A0 00 00 */ li r5, 0
+lbl_800856E8:
+/* 800856E8 00082628 2C 05 00 00 */ cmpwi r5, 0
+/* 800856EC 0008262C 41 82 00 10 */ beq lbl_800856FC
+/* 800856F0 00082630 8C 7F 00 01 */ lbzu r3, 1(r31)
+/* 800856F4 00082634 7C 63 07 74 */ extsb r3, r3
+/* 800856F8 00082638 4B FF FF 78 */ b lbl_80085670
+lbl_800856FC:
+/* 800856FC 0008263C 2C 03 00 2A */ cmpwi r3, 0x2a
+/* 80085700 00082640 40 82 00 40 */ bne lbl_80085740
+/* 80085704 00082644 38 7D 00 00 */ addi r3, r29, 0
+/* 80085708 00082648 38 80 00 01 */ li r4, 1
+/* 8008570C 0008264C 4B FF CE E1 */ bl __va_arg
+/* 80085710 00082650 80 03 00 00 */ lwz r0, 0(r3)
+/* 80085714 00082654 2C 00 00 00 */ cmpwi r0, 0
+/* 80085718 00082658 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 8008571C 0008265C 40 80 00 18 */ bge lbl_80085734
+/* 80085720 00082660 38 00 00 00 */ li r0, 0
+/* 80085724 00082664 98 01 00 14 */ stb r0, 0x14(r1)
+/* 80085728 00082668 80 01 00 1C */ lwz r0, 0x1c(r1)
+/* 8008572C 0008266C 7C 00 00 D0 */ neg r0, r0
+/* 80085730 00082670 90 01 00 1C */ stw r0, 0x1c(r1)
+lbl_80085734:
+/* 80085734 00082674 8C 7F 00 01 */ lbzu r3, 1(r31)
+/* 80085738 00082678 7C 63 07 74 */ extsb r3, r3
+/* 8008573C 0008267C 48 00 00 40 */ b lbl_8008577C
+lbl_80085740:
+/* 80085740 00082680 3C 80 80 37 */ lis r4, __ctype_map@ha
+/* 80085744 00082684 38 A4 16 20 */ addi r5, r4, __ctype_map@l
+/* 80085748 00082688 48 00 00 20 */ b lbl_80085768
+lbl_8008574C:
+/* 8008574C 0008268C 80 01 00 1C */ lwz r0, 0x1c(r1)
+/* 80085750 00082690 1C 00 00 0A */ mulli r0, r0, 0xa
+/* 80085754 00082694 7C 63 02 14 */ add r3, r3, r0
+/* 80085758 00082698 38 03 FF D0 */ addi r0, r3, -48
+/* 8008575C 0008269C 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 80085760 000826A0 8C 7F 00 01 */ lbzu r3, 1(r31)
+/* 80085764 000826A4 7C 63 07 74 */ extsb r3, r3
+lbl_80085768:
+/* 80085768 000826A8 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 8008576C 000826AC 7C 85 02 14 */ add r4, r5, r0
+/* 80085770 000826B0 88 04 00 00 */ lbz r0, 0(r4)
+/* 80085774 000826B4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
+/* 80085778 000826B8 40 82 FF D4 */ bne lbl_8008574C
+lbl_8008577C:
+/* 8008577C 000826BC 80 01 00 1C */ lwz r0, 0x1c(r1)
+/* 80085780 000826C0 2C 00 01 FD */ cmpwi r0, 0x1fd
+/* 80085784 000826C4 40 81 00 34 */ ble lbl_800857B8
+/* 80085788 000826C8 38 00 00 FF */ li r0, 0xff
+/* 8008578C 000826CC 98 01 00 19 */ stb r0, 0x19(r1)
+/* 80085790 000826D0 38 7F 00 01 */ addi r3, r31, 1
+/* 80085794 000826D4 80 81 00 14 */ lwz r4, 0x14(r1)
+/* 80085798 000826D8 80 01 00 18 */ lwz r0, 0x18(r1)
+/* 8008579C 000826DC 90 9E 00 00 */ stw r4, 0(r30)
+/* 800857A0 000826E0 90 1E 00 04 */ stw r0, 4(r30)
+/* 800857A4 000826E4 80 81 00 1C */ lwz r4, 0x1c(r1)
+/* 800857A8 000826E8 80 01 00 20 */ lwz r0, 0x20(r1)
+/* 800857AC 000826EC 90 9E 00 08 */ stw r4, 8(r30)
+/* 800857B0 000826F0 90 1E 00 0C */ stw r0, 0xc(r30)
+/* 800857B4 000826F4 48 00 02 EC */ b lbl_80085AA0
+lbl_800857B8:
+/* 800857B8 000826F8 2C 03 00 2E */ cmpwi r3, 0x2e
+/* 800857BC 000826FC 40 82 00 88 */ bne lbl_80085844
+/* 800857C0 00082700 38 00 00 01 */ li r0, 1
+/* 800857C4 00082704 98 01 00 16 */ stb r0, 0x16(r1)
+/* 800857C8 00082708 8C 7F 00 01 */ lbzu r3, 1(r31)
+/* 800857CC 0008270C 7C 63 07 74 */ extsb r3, r3
+/* 800857D0 00082710 2C 03 00 2A */ cmpwi r3, 0x2a
+/* 800857D4 00082714 40 82 00 34 */ bne lbl_80085808
+/* 800857D8 00082718 38 7D 00 00 */ addi r3, r29, 0
+/* 800857DC 0008271C 38 80 00 01 */ li r4, 1
+/* 800857E0 00082720 4B FF CE 0D */ bl __va_arg
+/* 800857E4 00082724 80 03 00 00 */ lwz r0, 0(r3)
+/* 800857E8 00082728 2C 00 00 00 */ cmpwi r0, 0
+/* 800857EC 0008272C 90 01 00 20 */ stw r0, 0x20(r1)
+/* 800857F0 00082730 40 80 00 0C */ bge lbl_800857FC
+/* 800857F4 00082734 38 00 00 00 */ li r0, 0
+/* 800857F8 00082738 98 01 00 16 */ stb r0, 0x16(r1)
+lbl_800857FC:
+/* 800857FC 0008273C 8C 7F 00 01 */ lbzu r3, 1(r31)
+/* 80085800 00082740 7C 63 07 74 */ extsb r3, r3
+/* 80085804 00082744 48 00 00 40 */ b lbl_80085844
+lbl_80085808:
+/* 80085808 00082748 3C 80 80 37 */ lis r4, __ctype_map@ha
+/* 8008580C 0008274C 38 A4 16 20 */ addi r5, r4, __ctype_map@l
+/* 80085810 00082750 48 00 00 20 */ b lbl_80085830
+lbl_80085814:
+/* 80085814 00082754 80 01 00 20 */ lwz r0, 0x20(r1)
+/* 80085818 00082758 1C 00 00 0A */ mulli r0, r0, 0xa
+/* 8008581C 0008275C 7C 63 02 14 */ add r3, r3, r0
+/* 80085820 00082760 38 03 FF D0 */ addi r0, r3, -48
+/* 80085824 00082764 90 01 00 20 */ stw r0, 0x20(r1)
+/* 80085828 00082768 8C 7F 00 01 */ lbzu r3, 1(r31)
+/* 8008582C 0008276C 7C 63 07 74 */ extsb r3, r3
+lbl_80085830:
+/* 80085830 00082770 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 80085834 00082774 7C 85 02 14 */ add r4, r5, r0
+/* 80085838 00082778 88 04 00 00 */ lbz r0, 0(r4)
+/* 8008583C 0008277C 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
+/* 80085840 00082780 40 82 FF D4 */ bne lbl_80085814
+lbl_80085844:
+/* 80085844 00082784 2C 03 00 68 */ cmpwi r3, 0x68
+/* 80085848 00082788 38 80 00 01 */ li r4, 1
+/* 8008584C 0008278C 41 82 00 20 */ beq lbl_8008586C
+/* 80085850 00082790 40 80 00 10 */ bge lbl_80085860
+/* 80085854 00082794 2C 03 00 4C */ cmpwi r3, 0x4c
+/* 80085858 00082798 41 82 00 60 */ beq lbl_800858B8
+/* 8008585C 0008279C 48 00 00 68 */ b lbl_800858C4
+lbl_80085860:
+/* 80085860 000827A0 2C 03 00 6C */ cmpwi r3, 0x6c
+/* 80085864 000827A4 41 82 00 2C */ beq lbl_80085890
+/* 80085868 000827A8 48 00 00 5C */ b lbl_800858C4
+lbl_8008586C:
+/* 8008586C 000827AC 38 00 00 02 */ li r0, 2
+/* 80085870 000827B0 98 01 00 18 */ stb r0, 0x18(r1)
+/* 80085874 000827B4 88 1F 00 01 */ lbz r0, 1(r31)
+/* 80085878 000827B8 2C 00 00 68 */ cmpwi r0, 0x68
+/* 8008587C 000827BC 40 82 00 4C */ bne lbl_800858C8
+/* 80085880 000827C0 98 81 00 18 */ stb r4, 0x18(r1)
+/* 80085884 000827C4 8C 7F 00 01 */ lbzu r3, 1(r31)
+/* 80085888 000827C8 7C 63 07 74 */ extsb r3, r3
+/* 8008588C 000827CC 48 00 00 3C */ b lbl_800858C8
+lbl_80085890:
+/* 80085890 000827D0 38 00 00 03 */ li r0, 3
+/* 80085894 000827D4 98 01 00 18 */ stb r0, 0x18(r1)
+/* 80085898 000827D8 88 1F 00 01 */ lbz r0, 1(r31)
+/* 8008589C 000827DC 2C 00 00 6C */ cmpwi r0, 0x6c
+/* 800858A0 000827E0 40 82 00 28 */ bne lbl_800858C8
+/* 800858A4 000827E4 38 00 00 04 */ li r0, 4
+/* 800858A8 000827E8 98 01 00 18 */ stb r0, 0x18(r1)
+/* 800858AC 000827EC 8C 7F 00 01 */ lbzu r3, 1(r31)
+/* 800858B0 000827F0 7C 63 07 74 */ extsb r3, r3
+/* 800858B4 000827F4 48 00 00 14 */ b lbl_800858C8
+lbl_800858B8:
+/* 800858B8 000827F8 38 00 00 05 */ li r0, 5
+/* 800858BC 000827FC 98 01 00 18 */ stb r0, 0x18(r1)
+/* 800858C0 00082800 48 00 00 08 */ b lbl_800858C8
+lbl_800858C4:
+/* 800858C4 00082804 38 80 00 00 */ li r4, 0
+lbl_800858C8:
+/* 800858C8 00082808 2C 04 00 00 */ cmpwi r4, 0
+/* 800858CC 0008280C 41 82 00 0C */ beq lbl_800858D8
+/* 800858D0 00082810 8C 7F 00 01 */ lbzu r3, 1(r31)
+/* 800858D4 00082814 7C 63 07 74 */ extsb r3, r3
+lbl_800858D8:
+/* 800858D8 00082818 38 03 FF BB */ addi r0, r3, -69
+/* 800858DC 0008281C 98 61 00 19 */ stb r3, 0x19(r1)
+/* 800858E0 00082820 28 00 00 33 */ cmplwi r0, 0x33
+/* 800858E4 00082824 41 81 01 90 */ bgt lbl_80085A74
+/* 800858E8 00082828 3C 60 80 3B */ lis r3, "@1186"@ha
+/* 800858EC 0008282C 38 63 ED E0 */ addi r3, r3, "@1186"@l
+/* 800858F0 00082830 54 00 10 3A */ slwi r0, r0, 2
+/* 800858F4 00082834 7C 03 00 2E */ lwzx r0, r3, r0
+/* 800858F8 00082838 7C 09 03 A6 */ mtctr r0
+/* 800858FC 0008283C 4E 80 04 20 */ bctr
+lbl_80085900:
+/* 80085900 00082840 88 01 00 18 */ lbz r0, 0x18(r1)
+/* 80085904 00082844 28 00 00 05 */ cmplwi r0, 5
+/* 80085908 00082848 40 82 00 10 */ bne lbl_80085918
+/* 8008590C 0008284C 38 00 00 FF */ li r0, 0xff
+/* 80085910 00082850 98 01 00 19 */ stb r0, 0x19(r1)
+/* 80085914 00082854 48 00 01 68 */ b lbl_80085A7C
+lbl_80085918:
+/* 80085918 00082858 88 01 00 16 */ lbz r0, 0x16(r1)
+/* 8008591C 0008285C 28 00 00 00 */ cmplwi r0, 0
+/* 80085920 00082860 40 82 00 10 */ bne lbl_80085930
+/* 80085924 00082864 38 00 00 01 */ li r0, 1
+/* 80085928 00082868 90 01 00 20 */ stw r0, 0x20(r1)
+/* 8008592C 0008286C 48 00 01 50 */ b lbl_80085A7C
+lbl_80085930:
+/* 80085930 00082870 88 01 00 14 */ lbz r0, 0x14(r1)
+/* 80085934 00082874 28 00 00 02 */ cmplwi r0, 2
+/* 80085938 00082878 40 82 01 44 */ bne lbl_80085A7C
+/* 8008593C 0008287C 38 00 00 01 */ li r0, 1
+/* 80085940 00082880 98 01 00 14 */ stb r0, 0x14(r1)
+/* 80085944 00082884 48 00 01 38 */ b lbl_80085A7C
+lbl_80085948:
+/* 80085948 00082888 88 01 00 18 */ lbz r0, 0x18(r1)
+/* 8008594C 0008288C 28 00 00 02 */ cmplwi r0, 2
+/* 80085950 00082890 41 82 00 0C */ beq lbl_8008595C
+/* 80085954 00082894 28 00 00 04 */ cmplwi r0, 4
+/* 80085958 00082898 40 82 00 10 */ bne lbl_80085968
+lbl_8008595C:
+/* 8008595C 0008289C 38 00 00 FF */ li r0, 0xff
+/* 80085960 000828A0 98 01 00 19 */ stb r0, 0x19(r1)
+/* 80085964 000828A4 48 00 01 18 */ b lbl_80085A7C
+lbl_80085968:
+/* 80085968 000828A8 88 01 00 16 */ lbz r0, 0x16(r1)
+/* 8008596C 000828AC 28 00 00 00 */ cmplwi r0, 0
+/* 80085970 000828B0 40 82 01 0C */ bne lbl_80085A7C
+/* 80085974 000828B4 38 00 00 06 */ li r0, 6
+/* 80085978 000828B8 90 01 00 20 */ stw r0, 0x20(r1)
+/* 8008597C 000828BC 48 00 01 00 */ b lbl_80085A7C
+lbl_80085980:
+/* 80085980 000828C0 80 01 00 20 */ lwz r0, 0x20(r1)
+/* 80085984 000828C4 2C 00 00 00 */ cmpwi r0, 0
+/* 80085988 000828C8 40 82 00 0C */ bne lbl_80085994
+/* 8008598C 000828CC 38 00 00 01 */ li r0, 1
+/* 80085990 000828D0 90 01 00 20 */ stw r0, 0x20(r1)
+lbl_80085994:
+/* 80085994 000828D4 88 01 00 18 */ lbz r0, 0x18(r1)
+/* 80085998 000828D8 28 00 00 02 */ cmplwi r0, 2
+/* 8008599C 000828DC 41 82 00 14 */ beq lbl_800859B0
+/* 800859A0 000828E0 28 00 00 04 */ cmplwi r0, 4
+/* 800859A4 000828E4 41 82 00 0C */ beq lbl_800859B0
+/* 800859A8 000828E8 28 00 00 01 */ cmplwi r0, 1
+/* 800859AC 000828EC 40 82 00 10 */ bne lbl_800859BC
+lbl_800859B0:
+/* 800859B0 000828F0 38 00 00 FF */ li r0, 0xff
+/* 800859B4 000828F4 98 01 00 19 */ stb r0, 0x19(r1)
+/* 800859B8 000828F8 48 00 00 C4 */ b lbl_80085A7C
+lbl_800859BC:
+/* 800859BC 000828FC 88 01 00 16 */ lbz r0, 0x16(r1)
+/* 800859C0 00082900 28 00 00 00 */ cmplwi r0, 0
+/* 800859C4 00082904 40 82 00 B8 */ bne lbl_80085A7C
+/* 800859C8 00082908 38 00 00 06 */ li r0, 6
+/* 800859CC 0008290C 90 01 00 20 */ stw r0, 0x20(r1)
+/* 800859D0 00082910 48 00 00 AC */ b lbl_80085A7C
+lbl_800859D4:
+/* 800859D4 00082914 38 00 00 78 */ li r0, 0x78
+/* 800859D8 00082918 98 01 00 19 */ stb r0, 0x19(r1)
+/* 800859DC 0008291C 38 00 00 01 */ li r0, 1
+/* 800859E0 00082920 38 60 00 03 */ li r3, 3
+/* 800859E4 00082924 98 01 00 17 */ stb r0, 0x17(r1)
+/* 800859E8 00082928 38 00 00 08 */ li r0, 8
+/* 800859EC 0008292C 98 61 00 18 */ stb r3, 0x18(r1)
+/* 800859F0 00082930 90 01 00 20 */ stw r0, 0x20(r1)
+/* 800859F4 00082934 48 00 00 88 */ b lbl_80085A7C
+lbl_800859F8:
+/* 800859F8 00082938 88 61 00 18 */ lbz r3, 0x18(r1)
+/* 800859FC 0008293C 28 03 00 03 */ cmplwi r3, 3
+/* 80085A00 00082940 40 82 00 10 */ bne lbl_80085A10
+/* 80085A04 00082944 38 00 00 06 */ li r0, 6
+/* 80085A08 00082948 98 01 00 18 */ stb r0, 0x18(r1)
+/* 80085A0C 0008294C 48 00 00 70 */ b lbl_80085A7C
+lbl_80085A10:
+/* 80085A10 00082950 88 01 00 16 */ lbz r0, 0x16(r1)
+/* 80085A14 00082954 28 00 00 00 */ cmplwi r0, 0
+/* 80085A18 00082958 40 82 00 0C */ bne lbl_80085A24
+/* 80085A1C 0008295C 28 03 00 00 */ cmplwi r3, 0
+/* 80085A20 00082960 41 82 00 5C */ beq lbl_80085A7C
+lbl_80085A24:
+/* 80085A24 00082964 38 00 00 FF */ li r0, 0xff
+/* 80085A28 00082968 98 01 00 19 */ stb r0, 0x19(r1)
+/* 80085A2C 0008296C 48 00 00 50 */ b lbl_80085A7C
+lbl_80085A30:
+/* 80085A30 00082970 88 01 00 18 */ lbz r0, 0x18(r1)
+/* 80085A34 00082974 28 00 00 03 */ cmplwi r0, 3
+/* 80085A38 00082978 40 82 00 10 */ bne lbl_80085A48
+/* 80085A3C 0008297C 38 00 00 06 */ li r0, 6
+/* 80085A40 00082980 98 01 00 18 */ stb r0, 0x18(r1)
+/* 80085A44 00082984 48 00 00 38 */ b lbl_80085A7C
+lbl_80085A48:
+/* 80085A48 00082988 28 00 00 00 */ cmplwi r0, 0
+/* 80085A4C 0008298C 41 82 00 30 */ beq lbl_80085A7C
+/* 80085A50 00082990 38 00 00 FF */ li r0, 0xff
+/* 80085A54 00082994 98 01 00 19 */ stb r0, 0x19(r1)
+/* 80085A58 00082998 48 00 00 24 */ b lbl_80085A7C
+lbl_80085A5C:
+/* 80085A5C 0008299C 88 01 00 18 */ lbz r0, 0x18(r1)
+/* 80085A60 000829A0 28 00 00 05 */ cmplwi r0, 5
+/* 80085A64 000829A4 40 82 00 18 */ bne lbl_80085A7C
+/* 80085A68 000829A8 38 00 00 FF */ li r0, 0xff
+/* 80085A6C 000829AC 98 01 00 19 */ stb r0, 0x19(r1)
+/* 80085A70 000829B0 48 00 00 0C */ b lbl_80085A7C
+lbl_80085A74:
+/* 80085A74 000829B4 38 00 00 FF */ li r0, 0xff
+/* 80085A78 000829B8 98 01 00 19 */ stb r0, 0x19(r1)
+lbl_80085A7C:
+/* 80085A7C 000829BC 80 81 00 14 */ lwz r4, 0x14(r1)
+/* 80085A80 000829C0 38 7F 00 01 */ addi r3, r31, 1
+/* 80085A84 000829C4 80 01 00 18 */ lwz r0, 0x18(r1)
+/* 80085A88 000829C8 90 9E 00 00 */ stw r4, 0(r30)
+/* 80085A8C 000829CC 90 1E 00 04 */ stw r0, 4(r30)
+/* 80085A90 000829D0 80 81 00 1C */ lwz r4, 0x1c(r1)
+/* 80085A94 000829D4 80 01 00 20 */ lwz r0, 0x20(r1)
+/* 80085A98 000829D8 90 9E 00 08 */ stw r4, 8(r30)
+/* 80085A9C 000829DC 90 1E 00 0C */ stw r0, 0xc(r30)
+lbl_80085AA0:
+/* 80085AA0 000829E0 80 01 00 3C */ lwz r0, 0x3c(r1)
+/* 80085AA4 000829E4 83 E1 00 34 */ lwz r31, 0x34(r1)
+/* 80085AA8 000829E8 83 C1 00 30 */ lwz r30, 0x30(r1)
+/* 80085AAC 000829EC 7C 08 03 A6 */ mtlr r0
+/* 80085AB0 000829F0 83 A1 00 2C */ lwz r29, 0x2c(r1)
+/* 80085AB4 000829F4 38 21 00 38 */ addi r1, r1, 0x38
+/* 80085AB8 000829F8 4E 80 00 20 */ blr
+
+.section .rodata, "a" # 0x8036FFA0 - 0x803A8380
+.balign 8
+"@stringBase0":
+ .4byte 0x002D496E
+ .4byte 0x6600496E
+ .4byte 0x66004E61
+ .4byte 0x4E000000
+
+.section .data, "wa" # 0x803A8380 - 0x803E6000
+"@1009":
+ .4byte lbl_800851D8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_80085178
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_80085178
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851B0
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851C4
+ .4byte lbl_800851E8
+ .4byte lbl_800851E8
+ .4byte lbl_800851D8
+"@1066":
+ .4byte lbl_80085468
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085430
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085430
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085448
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085458
+ .4byte lbl_80085474
+ .4byte lbl_80085474
+ .4byte lbl_80085468
+"@1186":
+ .4byte lbl_80085994
+ .4byte lbl_80085A74
+ .4byte lbl_80085980
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085900
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_800859F8
+ .4byte lbl_80085900
+ .4byte lbl_80085994
+ .4byte lbl_80085948
+ .4byte lbl_80085980
+ .4byte lbl_80085A74
+ .4byte lbl_80085900
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A5C
+ .4byte lbl_80085900
+ .4byte lbl_800859D4
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085A30
+ .4byte lbl_80085A74
+ .4byte lbl_80085900
+ .4byte lbl_80085A74
+ .4byte lbl_80085A74
+ .4byte lbl_80085900
+"@1185":
+ .4byte lbl_800856A8
+ .4byte lbl_800856E4
+ .4byte lbl_800856E4
+ .4byte lbl_800856C0
+ .4byte lbl_800856E4
+ .4byte lbl_800856E4
+ .4byte lbl_800856E4
+ .4byte lbl_800856E4
+ .4byte lbl_800856E4
+ .4byte lbl_800856E4
+ .4byte lbl_800856E4
+ .4byte lbl_8008569C
+ .4byte lbl_800856E4
+ .4byte lbl_80085690
+ .4byte lbl_800856E4
+ .4byte lbl_800856E4
+ .4byte lbl_800856CC
+.section .sdata, "wa" # 0x80408AC0 - 0x804097C0
+"@wstringBase0":
+ .4byte 0
+ .4byte 0
+
+.section .sdata2, "a" # 0x8040B460 - 0x80414020
+.balign 8
+"@919":
+ .4byte 0
+ .4byte 0
diff --git a/asm/MSL_C.PPCEABI.bare.H/scanf.s b/asm/MSL_C.PPCEABI.bare.H/scanf.s
new file mode 100644
index 0000000..8c028c9
--- /dev/null
+++ b/asm/MSL_C.PPCEABI.bare.H/scanf.s
@@ -0,0 +1,49 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80005600 - 0x8036FBA0
+.global __StringRead
+__StringRead:
+/* 80085AE8 00082A28 2C 05 00 01 */ cmpwi r5, 1
+/* 80085AEC 00082A2C 41 82 00 50 */ beq lbl_80085B3C
+/* 80085AF0 00082A30 40 80 00 10 */ bge lbl_80085B00
+/* 80085AF4 00082A34 2C 05 00 00 */ cmpwi r5, 0
+/* 80085AF8 00082A38 40 80 00 14 */ bge lbl_80085B0C
+/* 80085AFC 00082A3C 48 00 00 74 */ b lbl_80085B70
+lbl_80085B00:
+/* 80085B00 00082A40 2C 05 00 03 */ cmpwi r5, 3
+/* 80085B04 00082A44 40 80 00 6C */ bge lbl_80085B70
+/* 80085B08 00082A48 48 00 00 60 */ b lbl_80085B68
+lbl_80085B0C:
+/* 80085B0C 00082A4C 80 83 00 00 */ lwz r4, 0(r3)
+/* 80085B10 00082A50 88 A4 00 00 */ lbz r5, 0(r4)
+/* 80085B14 00082A54 7C A0 07 75 */ extsb. r0, r5
+/* 80085B18 00082A58 40 82 00 14 */ bne lbl_80085B2C
+/* 80085B1C 00082A5C 38 00 00 01 */ li r0, 1
+/* 80085B20 00082A60 90 03 00 04 */ stw r0, 4(r3)
+/* 80085B24 00082A64 38 60 FF FF */ li r3, -1
+/* 80085B28 00082A68 4E 80 00 20 */ blr
+lbl_80085B2C:
+/* 80085B2C 00082A6C 38 04 00 01 */ addi r0, r4, 1
+/* 80085B30 00082A70 90 03 00 00 */ stw r0, 0(r3)
+/* 80085B34 00082A74 7C A3 07 74 */ extsb r3, r5
+/* 80085B38 00082A78 4E 80 00 20 */ blr
+lbl_80085B3C:
+/* 80085B3C 00082A7C 80 03 00 04 */ lwz r0, 4(r3)
+/* 80085B40 00082A80 2C 00 00 00 */ cmpwi r0, 0
+/* 80085B44 00082A84 40 82 00 14 */ bne lbl_80085B58
+/* 80085B48 00082A88 80 A3 00 00 */ lwz r5, 0(r3)
+/* 80085B4C 00082A8C 38 05 FF FF */ addi r0, r5, -1
+/* 80085B50 00082A90 90 03 00 00 */ stw r0, 0(r3)
+/* 80085B54 00082A94 48 00 00 0C */ b lbl_80085B60
+lbl_80085B58:
+/* 80085B58 00082A98 38 00 00 00 */ li r0, 0
+/* 80085B5C 00082A9C 90 03 00 04 */ stw r0, 4(r3)
+lbl_80085B60:
+/* 80085B60 00082AA0 7C 83 23 78 */ mr r3, r4
+/* 80085B64 00082AA4 4E 80 00 20 */ blr
+lbl_80085B68:
+/* 80085B68 00082AA8 80 63 00 04 */ lwz r3, 4(r3)
+/* 80085B6C 00082AAC 4E 80 00 20 */ blr
+lbl_80085B70:
+/* 80085B70 00082AB0 38 60 00 00 */ li r3, 0
+/* 80085B74 00082AB4 4E 80 00 20 */ blr
diff --git a/asm/MSL_C.PPCEABI.bare.H/strtoul.s b/asm/MSL_C.PPCEABI.bare.H/strtoul.s
new file mode 100644
index 0000000..ec66ea2
--- /dev/null
+++ b/asm/MSL_C.PPCEABI.bare.H/strtoul.s
@@ -0,0 +1,387 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80005600 - 0x8036FBA0
+.global strtol
+strtol:
+/* 80085EC4 00082E04 7C 08 02 A6 */ mflr r0
+/* 80085EC8 00082E08 3C C0 80 00 */ lis r6, 0x7FFFFFFF@ha
+/* 80085ECC 00082E0C 90 01 00 04 */ stw r0, 4(r1)
+/* 80085ED0 00082E10 38 00 00 00 */ li r0, 0
+/* 80085ED4 00082E14 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80085ED8 00082E18 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 80085EDC 00082E1C 3B E4 00 00 */ addi r31, r4, 0
+/* 80085EE0 00082E20 38 86 FF FF */ addi r4, r6, 0x7FFFFFFF@l
+/* 80085EE4 00082E24 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 80085EE8 00082E28 7C 7E 1B 78 */ mr r30, r3
+/* 80085EEC 00082E2C 3C 60 80 08 */ lis r3, __StringRead@ha
+/* 80085EF0 00082E30 93 C1 00 14 */ stw r30, 0x14(r1)
+/* 80085EF4 00082E34 38 C1 00 14 */ addi r6, r1, 0x14
+/* 80085EF8 00082E38 38 E1 00 24 */ addi r7, r1, 0x24
+/* 80085EFC 00082E3C 90 01 00 18 */ stw r0, 0x18(r1)
+/* 80085F00 00082E40 38 03 5A E8 */ addi r0, r3, __StringRead@l
+/* 80085F04 00082E44 38 65 00 00 */ addi r3, r5, 0
+/* 80085F08 00082E48 7C 05 03 78 */ mr r5, r0
+/* 80085F0C 00082E4C 39 01 00 20 */ addi r8, r1, 0x20
+/* 80085F10 00082E50 39 21 00 1C */ addi r9, r1, 0x1c
+/* 80085F14 00082E54 48 00 01 4D */ bl __strtoul
+/* 80085F18 00082E58 28 1F 00 00 */ cmplwi r31, 0
+/* 80085F1C 00082E5C 41 82 00 10 */ beq lbl_80085F2C
+/* 80085F20 00082E60 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80085F24 00082E64 7C 1E 02 14 */ add r0, r30, r0
+/* 80085F28 00082E68 90 1F 00 00 */ stw r0, 0(r31)
+lbl_80085F2C:
+/* 80085F2C 00082E6C 80 01 00 1C */ lwz r0, 0x1c(r1)
+/* 80085F30 00082E70 2C 00 00 00 */ cmpwi r0, 0
+/* 80085F34 00082E74 40 82 00 34 */ bne lbl_80085F68
+/* 80085F38 00082E78 80 A1 00 20 */ lwz r5, 0x20(r1)
+/* 80085F3C 00082E7C 2C 05 00 00 */ cmpwi r5, 0
+/* 80085F40 00082E80 40 82 00 14 */ bne lbl_80085F54
+/* 80085F44 00082E84 3C 80 80 00 */ lis r4, 0x7FFFFFFF@ha
+/* 80085F48 00082E88 38 04 FF FF */ addi r0, r4, 0x7FFFFFFF@l
+/* 80085F4C 00082E8C 7C 03 00 40 */ cmplw r3, r0
+/* 80085F50 00082E90 41 81 00 18 */ bgt lbl_80085F68
+lbl_80085F54:
+/* 80085F54 00082E94 2C 05 00 00 */ cmpwi r5, 0
+/* 80085F58 00082E98 41 82 00 38 */ beq lbl_80085F90
+/* 80085F5C 00082E9C 3C 00 80 00 */ lis r0, 0x8000
+/* 80085F60 00082EA0 7C 03 00 40 */ cmplw r3, r0
+/* 80085F64 00082EA4 40 81 00 2C */ ble lbl_80085F90
+lbl_80085F68:
+/* 80085F68 00082EA8 80 01 00 20 */ lwz r0, 0x20(r1)
+/* 80085F6C 00082EAC 2C 00 00 00 */ cmpwi r0, 0
+/* 80085F70 00082EB0 41 82 00 0C */ beq lbl_80085F7C
+/* 80085F74 00082EB4 3C 60 80 00 */ lis r3, 0x8000
+/* 80085F78 00082EB8 48 00 00 0C */ b lbl_80085F84
+lbl_80085F7C:
+/* 80085F7C 00082EBC 3C 60 80 00 */ lis r3, 0x7FFFFFFF@ha
+/* 80085F80 00082EC0 38 63 FF FF */ addi r3, r3, 0x7FFFFFFF@l
+lbl_80085F84:
+/* 80085F84 00082EC4 38 00 00 22 */ li r0, 0x22
+/* 80085F88 00082EC8 90 0D 92 A8 */ stw r0, errno@sda21(r13)
+/* 80085F8C 00082ECC 48 00 00 10 */ b lbl_80085F9C
+lbl_80085F90:
+/* 80085F90 00082ED0 2C 05 00 00 */ cmpwi r5, 0
+/* 80085F94 00082ED4 41 82 00 08 */ beq lbl_80085F9C
+/* 80085F98 00082ED8 7C 63 00 D0 */ neg r3, r3
+lbl_80085F9C:
+/* 80085F9C 00082EDC 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80085FA0 00082EE0 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 80085FA4 00082EE4 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 80085FA8 00082EE8 7C 08 03 A6 */ mtlr r0
+/* 80085FAC 00082EEC 38 21 00 30 */ addi r1, r1, 0x30
+/* 80085FB0 00082EF0 4E 80 00 20 */ blr
+
+.global strtoul
+strtoul:
+/* 80085FB4 00082EF4 7C 08 02 A6 */ mflr r0
+/* 80085FB8 00082EF8 3C C0 80 00 */ lis r6, 0x7FFFFFFF@ha
+/* 80085FBC 00082EFC 90 01 00 04 */ stw r0, 4(r1)
+/* 80085FC0 00082F00 38 00 00 00 */ li r0, 0
+/* 80085FC4 00082F04 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80085FC8 00082F08 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 80085FCC 00082F0C 3B E4 00 00 */ addi r31, r4, 0
+/* 80085FD0 00082F10 38 86 FF FF */ addi r4, r6, 0x7FFFFFFF@l
+/* 80085FD4 00082F14 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 80085FD8 00082F18 7C 7E 1B 78 */ mr r30, r3
+/* 80085FDC 00082F1C 3C 60 80 08 */ lis r3, __StringRead@ha
+/* 80085FE0 00082F20 93 C1 00 14 */ stw r30, 0x14(r1)
+/* 80085FE4 00082F24 38 C1 00 14 */ addi r6, r1, 0x14
+/* 80085FE8 00082F28 38 E1 00 24 */ addi r7, r1, 0x24
+/* 80085FEC 00082F2C 90 01 00 18 */ stw r0, 0x18(r1)
+/* 80085FF0 00082F30 38 03 5A E8 */ addi r0, r3, __StringRead@l
+/* 80085FF4 00082F34 38 65 00 00 */ addi r3, r5, 0
+/* 80085FF8 00082F38 7C 05 03 78 */ mr r5, r0
+/* 80085FFC 00082F3C 39 01 00 20 */ addi r8, r1, 0x20
+/* 80086000 00082F40 39 21 00 1C */ addi r9, r1, 0x1c
+/* 80086004 00082F44 48 00 00 5D */ bl __strtoul
+/* 80086008 00082F48 28 1F 00 00 */ cmplwi r31, 0
+/* 8008600C 00082F4C 41 82 00 10 */ beq lbl_8008601C
+/* 80086010 00082F50 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80086014 00082F54 7C 1E 02 14 */ add r0, r30, r0
+/* 80086018 00082F58 90 1F 00 00 */ stw r0, 0(r31)
+lbl_8008601C:
+/* 8008601C 00082F5C 80 01 00 1C */ lwz r0, 0x1c(r1)
+/* 80086020 00082F60 2C 00 00 00 */ cmpwi r0, 0
+/* 80086024 00082F64 41 82 00 14 */ beq lbl_80086038
+/* 80086028 00082F68 38 00 00 22 */ li r0, 0x22
+/* 8008602C 00082F6C 90 0D 92 A8 */ stw r0, errno@sda21(r13)
+/* 80086030 00082F70 38 60 FF FF */ li r3, -1
+/* 80086034 00082F74 48 00 00 14 */ b lbl_80086048
+lbl_80086038:
+/* 80086038 00082F78 80 01 00 20 */ lwz r0, 0x20(r1)
+/* 8008603C 00082F7C 2C 00 00 00 */ cmpwi r0, 0
+/* 80086040 00082F80 41 82 00 08 */ beq lbl_80086048
+/* 80086044 00082F84 7C 63 00 D0 */ neg r3, r3
+lbl_80086048:
+/* 80086048 00082F88 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8008604C 00082F8C 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 80086050 00082F90 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 80086054 00082F94 7C 08 03 A6 */ mtlr r0
+/* 80086058 00082F98 38 21 00 30 */ addi r1, r1, 0x30
+/* 8008605C 00082F9C 4E 80 00 20 */ blr
+
+.global __strtoul
+__strtoul:
+/* 80086060 00082FA0 7C 08 02 A6 */ mflr r0
+/* 80086064 00082FA4 90 01 00 04 */ stw r0, 4(r1)
+/* 80086068 00082FA8 38 00 00 00 */ li r0, 0
+/* 8008606C 00082FAC 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 80086070 00082FB0 BE 41 00 28 */ stmw r18, 0x28(r1)
+/* 80086074 00082FB4 7C 7C 1B 79 */ or. r28, r3, r3
+/* 80086078 00082FB8 3A E9 00 00 */ addi r23, r9, 0
+/* 8008607C 00082FBC 7D 15 43 78 */ mr r21, r8
+/* 80086080 00082FC0 3A C4 00 00 */ addi r22, r4, 0
+/* 80086084 00082FC4 3B A5 00 00 */ addi r29, r5, 0
+/* 80086088 00082FC8 3B C6 00 00 */ addi r30, r6, 0
+/* 8008608C 00082FCC 3A 67 00 00 */ addi r19, r7, 0
+/* 80086090 00082FD0 3B 00 00 01 */ li r24, 1
+/* 80086094 00082FD4 3B E0 00 00 */ li r31, 0
+/* 80086098 00082FD8 3B 60 00 00 */ li r27, 0
+/* 8008609C 00082FDC 3B 40 00 00 */ li r26, 0
+/* 800860A0 00082FE0 90 09 00 00 */ stw r0, 0(r9)
+/* 800860A4 00082FE4 90 08 00 00 */ stw r0, 0(r8)
+/* 800860A8 00082FE8 41 80 00 1C */ blt lbl_800860C4
+/* 800860AC 00082FEC 2C 1C 00 01 */ cmpwi r28, 1
+/* 800860B0 00082FF0 41 82 00 14 */ beq lbl_800860C4
+/* 800860B4 00082FF4 2C 1C 00 24 */ cmpwi r28, 0x24
+/* 800860B8 00082FF8 41 81 00 0C */ bgt lbl_800860C4
+/* 800860BC 00082FFC 2C 16 00 01 */ cmpwi r22, 1
+/* 800860C0 00083000 40 80 00 0C */ bge lbl_800860CC
+lbl_800860C4:
+/* 800860C4 00083004 3B 00 00 40 */ li r24, 0x40
+/* 800860C8 00083008 48 00 00 24 */ b lbl_800860EC
+lbl_800860CC:
+/* 800860CC 0008300C 39 9D 00 00 */ addi r12, r29, 0
+/* 800860D0 00083010 7D 88 03 A6 */ mtlr r12
+/* 800860D4 00083014 38 7E 00 00 */ addi r3, r30, 0
+/* 800860D8 00083018 3B E0 00 01 */ li r31, 1
+/* 800860DC 0008301C 38 80 00 00 */ li r4, 0
+/* 800860E0 00083020 38 A0 00 00 */ li r5, 0
+/* 800860E4 00083024 4E 80 00 21 */ blrl
+/* 800860E8 00083028 7C 72 1B 78 */ mr r18, r3
+lbl_800860EC:
+/* 800860EC 0008302C 2C 1C 00 00 */ cmpwi r28, 0
+/* 800860F0 00083030 41 82 00 0C */ beq lbl_800860FC
+/* 800860F4 00083034 38 00 FF FF */ li r0, -1
+/* 800860F8 00083038 7F 40 E3 96 */ divwu r26, r0, r28
+lbl_800860FC:
+/* 800860FC 0008303C 3C 60 80 37 */ lis r3, __ctype_map@ha
+/* 80086100 00083040 3C 80 80 3B */ lis r4, "@410"@ha
+/* 80086104 00083044 3B 23 16 20 */ addi r25, r3, __ctype_map@l
+/* 80086108 00083048 3A 84 EE F8 */ addi r20, r4, "@410"@l
+/* 8008610C 0008304C 48 00 02 38 */ b lbl_80086344
+lbl_80086110:
+/* 80086110 00083050 28 18 00 10 */ cmplwi r24, 0x10
+/* 80086114 00083054 41 81 02 30 */ bgt lbl_80086344
+/* 80086118 00083058 57 00 10 3A */ slwi r0, r24, 2
+/* 8008611C 0008305C 7C 14 00 2E */ lwzx r0, r20, r0
+/* 80086120 00083060 7C 09 03 A6 */ mtctr r0
+/* 80086124 00083064 4E 80 04 20 */ bctr
+lbl_80086128:
+/* 80086128 00083068 56 40 06 3E */ clrlwi r0, r18, 0x18
+/* 8008612C 0008306C 7C 79 02 14 */ add r3, r25, r0
+/* 80086130 00083070 88 03 00 00 */ lbz r0, 0(r3)
+/* 80086134 00083074 54 00 07 7D */ rlwinm. r0, r0, 0, 0x1d, 0x1e
+/* 80086138 00083078 41 82 00 28 */ beq lbl_80086160
+/* 8008613C 0008307C 39 9D 00 00 */ addi r12, r29, 0
+/* 80086140 00083080 7D 88 03 A6 */ mtlr r12
+/* 80086144 00083084 38 7E 00 00 */ addi r3, r30, 0
+/* 80086148 00083088 38 80 00 00 */ li r4, 0
+/* 8008614C 0008308C 38 A0 00 00 */ li r5, 0
+/* 80086150 00083090 3B FF 00 01 */ addi r31, r31, 1
+/* 80086154 00083094 4E 80 00 21 */ blrl
+/* 80086158 00083098 7C 72 1B 78 */ mr r18, r3
+/* 8008615C 0008309C 48 00 01 E8 */ b lbl_80086344
+lbl_80086160:
+/* 80086160 000830A0 2C 12 00 2B */ cmpwi r18, 0x2b
+/* 80086164 000830A4 40 82 00 28 */ bne lbl_8008618C
+/* 80086168 000830A8 39 9D 00 00 */ addi r12, r29, 0
+/* 8008616C 000830AC 7D 88 03 A6 */ mtlr r12
+/* 80086170 000830B0 38 7E 00 00 */ addi r3, r30, 0
+/* 80086174 000830B4 38 80 00 00 */ li r4, 0
+/* 80086178 000830B8 38 A0 00 00 */ li r5, 0
+/* 8008617C 000830BC 3B FF 00 01 */ addi r31, r31, 1
+/* 80086180 000830C0 4E 80 00 21 */ blrl
+/* 80086184 000830C4 7C 72 1B 78 */ mr r18, r3
+/* 80086188 000830C8 48 00 00 34 */ b lbl_800861BC
+lbl_8008618C:
+/* 8008618C 000830CC 2C 12 00 2D */ cmpwi r18, 0x2d
+/* 80086190 000830D0 40 82 00 2C */ bne lbl_800861BC
+/* 80086194 000830D4 39 9D 00 00 */ addi r12, r29, 0
+/* 80086198 000830D8 7D 88 03 A6 */ mtlr r12
+/* 8008619C 000830DC 38 7E 00 00 */ addi r3, r30, 0
+/* 800861A0 000830E0 38 80 00 00 */ li r4, 0
+/* 800861A4 000830E4 38 A0 00 00 */ li r5, 0
+/* 800861A8 000830E8 3B FF 00 01 */ addi r31, r31, 1
+/* 800861AC 000830EC 4E 80 00 21 */ blrl
+/* 800861B0 000830F0 38 00 00 01 */ li r0, 1
+/* 800861B4 000830F4 90 15 00 00 */ stw r0, 0(r21)
+/* 800861B8 000830F8 7C 72 1B 78 */ mr r18, r3
+lbl_800861BC:
+/* 800861BC 000830FC 3B 00 00 02 */ li r24, 2
+/* 800861C0 00083100 48 00 01 84 */ b lbl_80086344
+lbl_800861C4:
+/* 800861C4 00083104 2C 1C 00 00 */ cmpwi r28, 0
+/* 800861C8 00083108 41 82 00 0C */ beq lbl_800861D4
+/* 800861CC 0008310C 2C 1C 00 10 */ cmpwi r28, 0x10
+/* 800861D0 00083110 40 82 00 34 */ bne lbl_80086204
+lbl_800861D4:
+/* 800861D4 00083114 2C 12 00 30 */ cmpwi r18, 0x30
+/* 800861D8 00083118 40 82 00 2C */ bne lbl_80086204
+/* 800861DC 0008311C 39 9D 00 00 */ addi r12, r29, 0
+/* 800861E0 00083120 7D 88 03 A6 */ mtlr r12
+/* 800861E4 00083124 38 7E 00 00 */ addi r3, r30, 0
+/* 800861E8 00083128 3B 00 00 04 */ li r24, 4
+/* 800861EC 0008312C 38 80 00 00 */ li r4, 0
+/* 800861F0 00083130 38 A0 00 00 */ li r5, 0
+/* 800861F4 00083134 3B FF 00 01 */ addi r31, r31, 1
+/* 800861F8 00083138 4E 80 00 21 */ blrl
+/* 800861FC 0008313C 7C 72 1B 78 */ mr r18, r3
+/* 80086200 00083140 48 00 01 44 */ b lbl_80086344
+lbl_80086204:
+/* 80086204 00083144 3B 00 00 08 */ li r24, 8
+/* 80086208 00083148 48 00 01 3C */ b lbl_80086344
+lbl_8008620C:
+/* 8008620C 0008314C 2C 12 00 58 */ cmpwi r18, 0x58
+/* 80086210 00083150 41 82 00 0C */ beq lbl_8008621C
+/* 80086214 00083154 2C 12 00 78 */ cmpwi r18, 0x78
+/* 80086218 00083158 40 82 00 30 */ bne lbl_80086248
+lbl_8008621C:
+/* 8008621C 0008315C 39 9D 00 00 */ addi r12, r29, 0
+/* 80086220 00083160 7D 88 03 A6 */ mtlr r12
+/* 80086224 00083164 38 7E 00 00 */ addi r3, r30, 0
+/* 80086228 00083168 3B 80 00 10 */ li r28, 0x10
+/* 8008622C 0008316C 3B 00 00 08 */ li r24, 8
+/* 80086230 00083170 38 80 00 00 */ li r4, 0
+/* 80086234 00083174 38 A0 00 00 */ li r5, 0
+/* 80086238 00083178 3B FF 00 01 */ addi r31, r31, 1
+/* 8008623C 0008317C 4E 80 00 21 */ blrl
+/* 80086240 00083180 7C 72 1B 78 */ mr r18, r3
+/* 80086244 00083184 48 00 01 00 */ b lbl_80086344
+lbl_80086248:
+/* 80086248 00083188 2C 1C 00 00 */ cmpwi r28, 0
+/* 8008624C 0008318C 40 82 00 08 */ bne lbl_80086254
+/* 80086250 00083190 3B 80 00 08 */ li r28, 8
+lbl_80086254:
+/* 80086254 00083194 3B 00 00 10 */ li r24, 0x10
+/* 80086258 00083198 48 00 00 EC */ b lbl_80086344
+lbl_8008625C:
+/* 8008625C 0008319C 2C 1C 00 00 */ cmpwi r28, 0
+/* 80086260 000831A0 40 82 00 08 */ bne lbl_80086268
+/* 80086264 000831A4 3B 80 00 0A */ li r28, 0xa
+lbl_80086268:
+/* 80086268 000831A8 28 1A 00 00 */ cmplwi r26, 0
+/* 8008626C 000831AC 40 82 00 0C */ bne lbl_80086278
+/* 80086270 000831B0 38 00 FF FF */ li r0, -1
+/* 80086274 000831B4 7F 40 E3 96 */ divwu r26, r0, r28
+lbl_80086278:
+/* 80086278 000831B8 56 40 06 3E */ clrlwi r0, r18, 0x18
+/* 8008627C 000831BC 7C 79 02 14 */ add r3, r25, r0
+/* 80086280 000831C0 88 63 00 00 */ lbz r3, 0(r3)
+/* 80086284 000831C4 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
+/* 80086288 000831C8 41 82 00 2C */ beq lbl_800862B4
+/* 8008628C 000831CC 3A 52 FF D0 */ addi r18, r18, -48
+/* 80086290 000831D0 7C 12 E0 00 */ cmpw r18, r28
+/* 80086294 000831D4 41 80 00 60 */ blt lbl_800862F4
+/* 80086298 000831D8 2C 18 00 10 */ cmpwi r24, 0x10
+/* 8008629C 000831DC 40 82 00 0C */ bne lbl_800862A8
+/* 800862A0 000831E0 3B 00 00 20 */ li r24, 0x20
+/* 800862A4 000831E4 48 00 00 08 */ b lbl_800862AC
+lbl_800862A8:
+/* 800862A8 000831E8 3B 00 00 40 */ li r24, 0x40
+lbl_800862AC:
+/* 800862AC 000831EC 3A 52 00 30 */ addi r18, r18, 0x30
+/* 800862B0 000831F0 48 00 00 94 */ b lbl_80086344
+lbl_800862B4:
+/* 800862B4 000831F4 54 60 06 33 */ rlwinm. r0, r3, 0, 0x18, 0x19
+/* 800862B8 000831F8 41 82 00 18 */ beq lbl_800862D0
+/* 800862BC 000831FC 7E 43 93 78 */ mr r3, r18
+/* 800862C0 00083200 4B FF D5 9D */ bl toupper
+/* 800862C4 00083204 38 03 FF C9 */ addi r0, r3, -55
+/* 800862C8 00083208 7C 00 E0 00 */ cmpw r0, r28
+/* 800862CC 0008320C 41 80 00 1C */ blt lbl_800862E8
+lbl_800862D0:
+/* 800862D0 00083210 2C 18 00 10 */ cmpwi r24, 0x10
+/* 800862D4 00083214 40 82 00 0C */ bne lbl_800862E0
+/* 800862D8 00083218 3B 00 00 20 */ li r24, 0x20
+/* 800862DC 0008321C 48 00 00 68 */ b lbl_80086344
+lbl_800862E0:
+/* 800862E0 00083220 3B 00 00 40 */ li r24, 0x40
+/* 800862E4 00083224 48 00 00 60 */ b lbl_80086344
+lbl_800862E8:
+/* 800862E8 00083228 7E 43 93 78 */ mr r3, r18
+/* 800862EC 0008322C 4B FF D5 71 */ bl toupper
+/* 800862F0 00083230 3A 43 FF C9 */ addi r18, r3, -55
+lbl_800862F4:
+/* 800862F4 00083234 7C 1B D0 40 */ cmplw r27, r26
+/* 800862F8 00083238 40 81 00 0C */ ble lbl_80086304
+/* 800862FC 0008323C 38 00 00 01 */ li r0, 1
+/* 80086300 00083240 90 17 00 00 */ stw r0, 0(r23)
+lbl_80086304:
+/* 80086304 00083244 7F 7B E1 D6 */ mullw r27, r27, r28
+/* 80086308 00083248 20 1B FF FF */ subfic r0, r27, -1
+/* 8008630C 0008324C 7C 12 00 40 */ cmplw r18, r0
+/* 80086310 00083250 40 81 00 0C */ ble lbl_8008631C
+/* 80086314 00083254 38 00 00 01 */ li r0, 1
+/* 80086318 00083258 90 17 00 00 */ stw r0, 0(r23)
+lbl_8008631C:
+/* 8008631C 0008325C 39 9D 00 00 */ addi r12, r29, 0
+/* 80086320 00083260 7D 88 03 A6 */ mtlr r12
+/* 80086324 00083264 38 7E 00 00 */ addi r3, r30, 0
+/* 80086328 00083268 7F 7B 92 14 */ add r27, r27, r18
+/* 8008632C 0008326C 3B 00 00 10 */ li r24, 0x10
+/* 80086330 00083270 38 80 00 00 */ li r4, 0
+/* 80086334 00083274 38 A0 00 00 */ li r5, 0
+/* 80086338 00083278 3B FF 00 01 */ addi r31, r31, 1
+/* 8008633C 0008327C 4E 80 00 21 */ blrl
+/* 80086340 00083280 7C 72 1B 78 */ mr r18, r3
+lbl_80086344:
+/* 80086344 00083284 7C 1F B0 00 */ cmpw r31, r22
+/* 80086348 00083288 41 81 00 14 */ bgt lbl_8008635C
+/* 8008634C 0008328C 2C 12 FF FF */ cmpwi r18, -1
+/* 80086350 00083290 41 82 00 0C */ beq lbl_8008635C
+/* 80086354 00083294 57 00 06 75 */ rlwinm. r0, r24, 0, 0x19, 0x1a
+/* 80086358 00083298 41 82 FD B8 */ beq lbl_80086110
+lbl_8008635C:
+/* 8008635C 0008329C 73 00 00 34 */ andi. r0, r24, 0x34
+/* 80086360 000832A0 40 82 00 10 */ bne lbl_80086370
+/* 80086364 000832A4 3B 60 00 00 */ li r27, 0
+/* 80086368 000832A8 3B E0 00 00 */ li r31, 0
+/* 8008636C 000832AC 48 00 00 08 */ b lbl_80086374
+lbl_80086370:
+/* 80086370 000832B0 3B FF FF FF */ addi r31, r31, -1
+lbl_80086374:
+/* 80086374 000832B4 7F AC EB 78 */ mr r12, r29
+/* 80086378 000832B8 93 F3 00 00 */ stw r31, 0(r19)
+/* 8008637C 000832BC 7D 88 03 A6 */ mtlr r12
+/* 80086380 000832C0 38 7E 00 00 */ addi r3, r30, 0
+/* 80086384 000832C4 38 92 00 00 */ addi r4, r18, 0
+/* 80086388 000832C8 38 A0 00 01 */ li r5, 1
+/* 8008638C 000832CC 4E 80 00 21 */ blrl
+/* 80086390 000832D0 7F 63 DB 78 */ mr r3, r27
+/* 80086394 000832D4 BA 41 00 28 */ lmw r18, 0x28(r1)
+/* 80086398 000832D8 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 8008639C 000832DC 38 21 00 60 */ addi r1, r1, 0x60
+/* 800863A0 000832E0 7C 08 03 A6 */ mtlr r0
+/* 800863A4 000832E4 4E 80 00 20 */ blr
+
+.section .data, "wa" # 0x803A8380 - 0x803E6000
+ .balign 8
+"@410":
+ .4byte lbl_80086344
+ .4byte lbl_80086128
+ .4byte lbl_800861C4
+ .4byte lbl_80086344
+ .4byte lbl_8008620C
+ .4byte lbl_80086344
+ .4byte lbl_80086344
+ .4byte lbl_80086344
+ .4byte lbl_8008625C
+ .4byte lbl_80086344
+ .4byte lbl_80086344
+ .4byte lbl_80086344
+ .4byte lbl_80086344
+ .4byte lbl_80086344
+ .4byte lbl_80086344
+ .4byte lbl_80086344
+ .4byte lbl_8008625C
diff --git a/asm/MSL_C.PPCEABI.bare.H/trigf.s b/asm/MSL_C.PPCEABI.bare.H/trigf.s
new file mode 100644
index 0000000..5168e4b
--- /dev/null
+++ b/asm/MSL_C.PPCEABI.bare.H/trigf.s
@@ -0,0 +1,314 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80005600 - 0x8036FBA0
+
+.global cos__Ff
+cos__Ff:
+/* 80086F30 00083E70 7C 08 02 A6 */ mflr r0
+/* 80086F34 00083E74 90 01 00 04 */ stw r0, 4(r1)
+/* 80086F38 00083E78 94 21 FF F8 */ stwu r1, -8(r1)
+/* 80086F3C 00083E7C 48 00 00 35 */ bl cosf
+/* 80086F40 00083E80 80 01 00 0C */ lwz r0, 0xc(r1)
+/* 80086F44 00083E84 38 21 00 08 */ addi r1, r1, 8
+/* 80086F48 00083E88 7C 08 03 A6 */ mtlr r0
+/* 80086F4C 00083E8C 4E 80 00 20 */ blr
+
+.global sin__Ff
+sin__Ff:
+/* 80086F50 00083E90 7C 08 02 A6 */ mflr r0
+/* 80086F54 00083E94 90 01 00 04 */ stw r0, 4(r1)
+/* 80086F58 00083E98 94 21 FF F8 */ stwu r1, -8(r1)
+/* 80086F5C 00083E9C 48 00 01 A9 */ bl sinf
+/* 80086F60 00083EA0 80 01 00 0C */ lwz r0, 0xc(r1)
+/* 80086F64 00083EA4 38 21 00 08 */ addi r1, r1, 8
+/* 80086F68 00083EA8 7C 08 03 A6 */ mtlr r0
+/* 80086F6C 00083EAC 4E 80 00 20 */ blr
+
+.global tanf
+tanf:
+/* 80086EEC 00083E2C 7C 08 02 A6 */ mflr r0
+/* 80086EF0 00083E30 90 01 00 04 */ stw r0, 4(r1)
+/* 80086EF4 00083E34 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80086EF8 00083E38 DB E1 00 18 */ stfd f31, 0x18(r1)
+/* 80086EFC 00083E3C DB C1 00 10 */ stfd f30, 0x10(r1)
+/* 80086F00 00083E40 FF C0 08 90 */ fmr f30, f1
+/* 80086F04 00083E44 48 00 00 2D */ bl cos__Ff
+/* 80086F08 00083E48 FF E0 08 90 */ fmr f31, f1
+/* 80086F0C 00083E4C FC 20 F0 90 */ fmr f1, f30
+/* 80086F10 00083E50 48 00 00 41 */ bl sin__Ff
+/* 80086F14 00083E54 EC 21 F8 24 */ fdivs f1, f1, f31
+/* 80086F18 00083E58 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80086F1C 00083E5C CB E1 00 18 */ lfd f31, 0x18(r1)
+/* 80086F20 00083E60 CB C1 00 10 */ lfd f30, 0x10(r1)
+/* 80086F24 00083E64 7C 08 03 A6 */ mtlr r0
+/* 80086F28 00083E68 38 21 00 20 */ addi r1, r1, 0x20
+/* 80086F2C 00083E6C 4E 80 00 20 */ blr
+
+.global sinf
+sinf:
+/* 80087104 00084044 7C 08 02 A6 */ mflr r0
+/* 80087108 00084048 3C 60 80 3B */ lis r3, __four_over_pi_m1@ha
+/* 8008710C 0008404C 90 01 00 04 */ stw r0, 4(r1)
+/* 80087110 00084050 38 63 EF 48 */ addi r3, r3, __four_over_pi_m1@l
+/* 80087114 00084054 94 21 FF D8 */ stwu r1, -0x28(r1)
+/* 80087118 00084058 DB E1 00 20 */ stfd f31, 0x20(r1)
+/* 8008711C 0008405C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80087120 00084060 D0 21 00 08 */ stfs f1, 8(r1)
+/* 80087124 00084064 C0 02 8A 30 */ lfs f0, "@106"@sda21(r2)
+/* 80087128 00084068 80 01 00 08 */ lwz r0, 8(r1)
+/* 8008712C 0008406C C0 C1 00 08 */ lfs f6, 8(r1)
+/* 80087130 00084070 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
+/* 80087134 00084074 EC 20 01 B2 */ fmuls f1, f0, f6
+/* 80087138 00084078 41 82 00 1C */ beq lbl_80087154
+/* 8008713C 0008407C C0 02 8A 34 */ lfs f0, "@107"@sda21(r2)
+/* 80087140 00084080 EC 01 00 28 */ fsubs f0, f1, f0
+/* 80087144 00084084 FC 00 00 1E */ fctiwz f0, f0
+/* 80087148 00084088 D8 01 00 10 */ stfd f0, 0x10(r1)
+/* 8008714C 0008408C 80 81 00 14 */ lwz r4, 0x14(r1)
+/* 80087150 00084090 48 00 00 18 */ b lbl_80087168
+lbl_80087154:
+/* 80087154 00084094 C0 02 8A 34 */ lfs f0, "@107"@sda21(r2)
+/* 80087158 00084098 EC 00 08 2A */ fadds f0, f0, f1
+/* 8008715C 0008409C FC 00 00 1E */ fctiwz f0, f0
+/* 80087160 000840A0 D8 01 00 10 */ stfd f0, 0x10(r1)
+/* 80087164 000840A4 80 81 00 14 */ lwz r4, 0x14(r1)
+lbl_80087168:
+/* 80087168 000840A8 54 80 08 3C */ slwi r0, r4, 1
+/* 8008716C 000840AC C8 22 8A 40 */ lfd f1, "@110"@sda21(r2)
+/* 80087170 000840B0 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 80087174 000840B4 C0 43 00 00 */ lfs f2, 0(r3)
+/* 80087178 000840B8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8008717C 000840BC 3C 00 43 30 */ lis r0, 0x4330
+/* 80087180 000840C0 C0 63 00 04 */ lfs f3, 4(r3)
+/* 80087184 000840C4 54 9F 07 BE */ clrlwi r31, r4, 0x1e
+/* 80087188 000840C8 90 01 00 10 */ stw r0, 0x10(r1)
+/* 8008718C 000840CC C0 83 00 08 */ lfs f4, 8(r3)
+/* 80087190 000840D0 C8 01 00 10 */ lfd f0, 0x10(r1)
+/* 80087194 000840D4 C0 A3 00 0C */ lfs f5, 0xc(r3)
+/* 80087198 000840D8 EC 00 08 28 */ fsubs f0, f0, f1
+/* 8008719C 000840DC EC 06 00 28 */ fsubs f0, f6, f0
+/* 800871A0 000840E0 EC 02 01 BA */ fmadds f0, f2, f6, f0
+/* 800871A4 000840E4 EC 03 01 BA */ fmadds f0, f3, f6, f0
+/* 800871A8 000840E8 EC 04 01 BA */ fmadds f0, f4, f6, f0
+/* 800871AC 000840EC EF E5 01 BA */ fmadds f31, f5, f6, f0
+/* 800871B0 000840F0 FC 20 F8 90 */ fmr f1, f31
+/* 800871B4 000840F4 4B FF F9 91 */ bl fabsf__Ff
+/* 800871B8 000840F8 C0 02 8A 38 */ lfs f0, "@108"@sda21(r2)
+/* 800871BC 000840FC FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 800871C0 00084100 40 80 00 34 */ bge lbl_800871F4
+/* 800871C4 00084104 3C 60 80 37 */ lis r3, __sincos_on_quadrant@ha
+/* 800871C8 00084108 57 E4 18 38 */ slwi r4, r31, 3
+/* 800871CC 0008410C 38 03 1F 5C */ addi r0, r3, __sincos_on_quadrant@l
+/* 800871D0 00084110 7C 60 22 14 */ add r3, r0, r4
+/* 800871D4 00084114 C0 23 00 04 */ lfs f1, 4(r3)
+/* 800871D8 00084118 3C 80 80 37 */ lis r4, __sincos_poly@ha
+/* 800871DC 0008411C 38 84 1F 7C */ addi r4, r4, __sincos_poly@l
+/* 800871E0 00084120 C0 03 00 00 */ lfs f0, 0(r3)
+/* 800871E4 00084124 EC 3F 00 72 */ fmuls f1, f31, f1
+/* 800871E8 00084128 C0 44 00 24 */ lfs f2, 0x24(r4)
+/* 800871EC 0008412C EC 22 00 7A */ fmadds f1, f2, f1, f0
+/* 800871F0 00084130 48 00 00 A0 */ b lbl_80087290
+lbl_800871F4:
+/* 800871F4 00084134 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 800871F8 00084138 EC 9F 07 F2 */ fmuls f4, f31, f31
+/* 800871FC 0008413C 41 82 00 4C */ beq lbl_80087248
+/* 80087200 00084140 3C 60 80 37 */ lis r3, __sincos_poly@ha
+/* 80087204 00084144 38 83 1F 7C */ addi r4, r3, __sincos_poly@l
+/* 80087208 00084148 C0 44 00 00 */ lfs f2, 0(r4)
+/* 8008720C 0008414C 3C 60 80 37 */ lis r3, __sincos_on_quadrant@ha
+/* 80087210 00084150 C0 24 00 08 */ lfs f1, 8(r4)
+/* 80087214 00084154 38 03 1F 5C */ addi r0, r3, __sincos_on_quadrant@l
+/* 80087218 00084158 C0 04 00 10 */ lfs f0, 0x10(r4)
+/* 8008721C 0008415C EC 62 09 3A */ fmadds f3, f2, f4, f1
+/* 80087220 00084160 C0 44 00 18 */ lfs f2, 0x18(r4)
+/* 80087224 00084164 C0 24 00 20 */ lfs f1, 0x20(r4)
+/* 80087228 00084168 57 E4 18 38 */ slwi r4, r31, 3
+/* 8008722C 0008416C 7C 60 22 14 */ add r3, r0, r4
+/* 80087230 00084170 EC 64 00 FA */ fmadds f3, f4, f3, f0
+/* 80087234 00084174 C0 03 00 00 */ lfs f0, 0(r3)
+/* 80087238 00084178 EC 44 10 FA */ fmadds f2, f4, f3, f2
+/* 8008723C 0008417C EC 24 08 BA */ fmadds f1, f4, f2, f1
+/* 80087240 00084180 EC 21 00 32 */ fmuls f1, f1, f0
+/* 80087244 00084184 48 00 00 4C */ b lbl_80087290
+lbl_80087248:
+/* 80087248 00084188 3C 60 80 37 */ lis r3, __sincos_poly@ha
+/* 8008724C 0008418C 38 83 1F 7C */ addi r4, r3, __sincos_poly@l
+/* 80087250 00084190 C0 44 00 04 */ lfs f2, 4(r4)
+/* 80087254 00084194 3C 60 80 37 */ lis r3, __sincos_on_quadrant@ha
+/* 80087258 00084198 C0 24 00 0C */ lfs f1, 0xc(r4)
+/* 8008725C 0008419C 38 63 1F 5C */ addi r3, r3, __sincos_on_quadrant@l
+/* 80087260 000841A0 57 E0 18 38 */ slwi r0, r31, 3
+/* 80087264 000841A4 EC 62 09 3A */ fmadds f3, f2, f4, f1
+/* 80087268 000841A8 C0 04 00 14 */ lfs f0, 0x14(r4)
+/* 8008726C 000841AC C0 44 00 1C */ lfs f2, 0x1c(r4)
+/* 80087270 000841B0 7C 63 02 14 */ add r3, r3, r0
+/* 80087274 000841B4 C0 24 00 24 */ lfs f1, 0x24(r4)
+/* 80087278 000841B8 EC 64 00 FA */ fmadds f3, f4, f3, f0
+/* 8008727C 000841BC C0 03 00 04 */ lfs f0, 4(r3)
+/* 80087280 000841C0 EC 44 10 FA */ fmadds f2, f4, f3, f2
+/* 80087284 000841C4 EC 24 08 BA */ fmadds f1, f4, f2, f1
+/* 80087288 000841C8 EC 3F 00 72 */ fmuls f1, f31, f1
+/* 8008728C 000841CC EC 21 00 32 */ fmuls f1, f1, f0
+lbl_80087290:
+/* 80087290 000841D0 80 01 00 2C */ lwz r0, 0x2c(r1)
+/* 80087294 000841D4 CB E1 00 20 */ lfd f31, 0x20(r1)
+/* 80087298 000841D8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8008729C 000841DC 7C 08 03 A6 */ mtlr r0
+/* 800872A0 000841E0 38 21 00 28 */ addi r1, r1, 0x28
+/* 800872A4 000841E4 4E 80 00 20 */ blr
+
+.global cosf
+cosf:
+/* 80086F70 00083EB0 7C 08 02 A6 */ mflr r0
+/* 80086F74 00083EB4 3C 60 80 3B */ lis r3, __four_over_pi_m1@ha
+/* 80086F78 00083EB8 90 01 00 04 */ stw r0, 4(r1)
+/* 80086F7C 00083EBC 38 63 EF 48 */ addi r3, r3, __four_over_pi_m1@l
+/* 80086F80 00083EC0 94 21 FF D8 */ stwu r1, -0x28(r1)
+/* 80086F84 00083EC4 DB E1 00 20 */ stfd f31, 0x20(r1)
+/* 80086F88 00083EC8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80086F8C 00083ECC D0 21 00 08 */ stfs f1, 8(r1)
+/* 80086F90 00083ED0 C0 02 8A 30 */ lfs f0, "@106"@sda21(r2)
+/* 80086F94 00083ED4 80 01 00 08 */ lwz r0, 8(r1)
+/* 80086F98 00083ED8 C0 C1 00 08 */ lfs f6, 8(r1)
+/* 80086F9C 00083EDC 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
+/* 80086FA0 00083EE0 EC 20 01 B2 */ fmuls f1, f0, f6
+/* 80086FA4 00083EE4 41 82 00 1C */ beq lbl_80086FC0
+/* 80086FA8 00083EE8 C0 02 8A 34 */ lfs f0, "@107"@sda21(r2)
+/* 80086FAC 00083EEC EC 01 00 28 */ fsubs f0, f1, f0
+/* 80086FB0 00083EF0 FC 00 00 1E */ fctiwz f0, f0
+/* 80086FB4 00083EF4 D8 01 00 10 */ stfd f0, 0x10(r1)
+/* 80086FB8 00083EF8 80 81 00 14 */ lwz r4, 0x14(r1)
+/* 80086FBC 00083EFC 48 00 00 18 */ b lbl_80086FD4
+lbl_80086FC0:
+/* 80086FC0 00083F00 C0 02 8A 34 */ lfs f0, "@107"@sda21(r2)
+/* 80086FC4 00083F04 EC 00 08 2A */ fadds f0, f0, f1
+/* 80086FC8 00083F08 FC 00 00 1E */ fctiwz f0, f0
+/* 80086FCC 00083F0C D8 01 00 10 */ stfd f0, 0x10(r1)
+/* 80086FD0 00083F10 80 81 00 14 */ lwz r4, 0x14(r1)
+lbl_80086FD4:
+/* 80086FD4 00083F14 54 80 08 3C */ slwi r0, r4, 1
+/* 80086FD8 00083F18 C8 22 8A 40 */ lfd f1, "@110"@sda21(r2)
+/* 80086FDC 00083F1C 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 80086FE0 00083F20 C0 43 00 00 */ lfs f2, 0(r3)
+/* 80086FE4 00083F24 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80086FE8 00083F28 3C 00 43 30 */ lis r0, 0x4330
+/* 80086FEC 00083F2C C0 63 00 04 */ lfs f3, 4(r3)
+/* 80086FF0 00083F30 54 9F 07 BE */ clrlwi r31, r4, 0x1e
+/* 80086FF4 00083F34 90 01 00 10 */ stw r0, 0x10(r1)
+/* 80086FF8 00083F38 C0 83 00 08 */ lfs f4, 8(r3)
+/* 80086FFC 00083F3C C8 01 00 10 */ lfd f0, 0x10(r1)
+/* 80087000 00083F40 C0 A3 00 0C */ lfs f5, 0xc(r3)
+/* 80087004 00083F44 EC 00 08 28 */ fsubs f0, f0, f1
+/* 80087008 00083F48 EC 06 00 28 */ fsubs f0, f6, f0
+/* 8008700C 00083F4C EC 02 01 BA */ fmadds f0, f2, f6, f0
+/* 80087010 00083F50 EC 03 01 BA */ fmadds f0, f3, f6, f0
+/* 80087014 00083F54 EC 04 01 BA */ fmadds f0, f4, f6, f0
+/* 80087018 00083F58 EF E5 01 BA */ fmadds f31, f5, f6, f0
+/* 8008701C 00083F5C FC 20 F8 90 */ fmr f1, f31
+/* 80087020 00083F60 4B FF FB 25 */ bl fabsf__Ff
+/* 80087024 00083F64 C0 02 8A 38 */ lfs f0, "@108"@sda21(r2)
+/* 80087028 00083F68 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8008702C 00083F6C 40 80 00 24 */ bge lbl_80087050
+/* 80087030 00083F70 3C 60 80 37 */ lis r3, __sincos_on_quadrant@ha
+/* 80087034 00083F74 57 E4 18 38 */ slwi r4, r31, 3
+/* 80087038 00083F78 38 03 1F 5C */ addi r0, r3, __sincos_on_quadrant@l
+/* 8008703C 00083F7C 7C 60 22 14 */ add r3, r0, r4
+/* 80087040 00083F80 C0 23 00 00 */ lfs f1, 0(r3)
+/* 80087044 00083F84 C0 03 00 04 */ lfs f0, 4(r3)
+/* 80087048 00083F88 EC 3F 00 7C */ fnmsubs f1, f31, f1, f0
+/* 8008704C 00083F8C 48 00 00 A0 */ b lbl_800870EC
+lbl_80087050:
+/* 80087050 00083F90 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 80087054 00083F94 EC 9F 07 F2 */ fmuls f4, f31, f31
+/* 80087058 00083F98 41 82 00 50 */ beq lbl_800870A8
+/* 8008705C 00083F9C 3C 60 80 37 */ lis r3, __sincos_poly@ha
+/* 80087060 00083FA0 38 83 1F 7C */ addi r4, r3, __sincos_poly@l
+/* 80087064 00083FA4 C0 44 00 04 */ lfs f2, 4(r4)
+/* 80087068 00083FA8 3C 60 80 37 */ lis r3, __sincos_on_quadrant@ha
+/* 8008706C 00083FAC C0 24 00 0C */ lfs f1, 0xc(r4)
+/* 80087070 00083FB0 38 03 1F 5C */ addi r0, r3, __sincos_on_quadrant@l
+/* 80087074 00083FB4 C0 04 00 14 */ lfs f0, 0x14(r4)
+/* 80087078 00083FB8 EC 62 09 3A */ fmadds f3, f2, f4, f1
+/* 8008707C 00083FBC C0 44 00 1C */ lfs f2, 0x1c(r4)
+/* 80087080 00083FC0 C0 24 00 24 */ lfs f1, 0x24(r4)
+/* 80087084 00083FC4 57 E4 18 38 */ slwi r4, r31, 3
+/* 80087088 00083FC8 7C 60 22 14 */ add r3, r0, r4
+/* 8008708C 00083FCC EC 64 00 FA */ fmadds f3, f4, f3, f0
+/* 80087090 00083FD0 C0 03 00 00 */ lfs f0, 0(r3)
+/* 80087094 00083FD4 EC 44 10 FA */ fmadds f2, f4, f3, f2
+/* 80087098 00083FD8 EC 24 08 BE */ fnmadds f1, f4, f2, f1
+/* 8008709C 00083FDC EC 3F 00 72 */ fmuls f1, f31, f1
+/* 800870A0 00083FE0 EC 21 00 32 */ fmuls f1, f1, f0
+/* 800870A4 00083FE4 48 00 00 48 */ b lbl_800870EC
+lbl_800870A8:
+/* 800870A8 00083FE8 3C 60 80 37 */ lis r3, __sincos_poly@ha
+/* 800870AC 00083FEC 38 83 1F 7C */ addi r4, r3, __sincos_poly@l
+/* 800870B0 00083FF0 C0 44 00 00 */ lfs f2, 0(r4)
+/* 800870B4 00083FF4 3C 60 80 37 */ lis r3, __sincos_on_quadrant@ha
+/* 800870B8 00083FF8 C0 24 00 08 */ lfs f1, 8(r4)
+/* 800870BC 00083FFC 38 63 1F 5C */ addi r3, r3, __sincos_on_quadrant@l
+/* 800870C0 00084000 57 E0 18 38 */ slwi r0, r31, 3
+/* 800870C4 00084004 EC 62 09 3A */ fmadds f3, f2, f4, f1
+/* 800870C8 00084008 C0 04 00 10 */ lfs f0, 0x10(r4)
+/* 800870CC 0008400C C0 44 00 18 */ lfs f2, 0x18(r4)
+/* 800870D0 00084010 7C 63 02 14 */ add r3, r3, r0
+/* 800870D4 00084014 C0 24 00 20 */ lfs f1, 0x20(r4)
+/* 800870D8 00084018 EC 64 00 FA */ fmadds f3, f4, f3, f0
+/* 800870DC 0008401C C0 03 00 04 */ lfs f0, 4(r3)
+/* 800870E0 00084020 EC 44 10 FA */ fmadds f2, f4, f3, f2
+/* 800870E4 00084024 EC 24 08 BA */ fmadds f1, f4, f2, f1
+/* 800870E8 00084028 EC 21 00 32 */ fmuls f1, f1, f0
+lbl_800870EC:
+/* 800870EC 0008402C 80 01 00 2C */ lwz r0, 0x2c(r1)
+/* 800870F0 00084030 CB E1 00 20 */ lfd f31, 0x20(r1)
+/* 800870F4 00084034 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 800870F8 00084038 7C 08 03 A6 */ mtlr r0
+/* 800870FC 0008403C 38 21 00 28 */ addi r1, r1, 0x28
+/* 80087100 00084040 4E 80 00 20 */ blr
+
+.global __sinit_trigf_c
+__sinit_trigf_c:
+/* 800872A8 000841E8 3C 60 80 37 */ lis r3, tmp_float@ha
+/* 800872AC 000841EC 38 83 1A 80 */ addi r4, r3, tmp_float@l
+/* 800872B0 000841F0 C0 04 00 00 */ lfs f0, 0(r4)
+/* 800872B4 000841F4 3C 60 80 3B */ lis r3, __four_over_pi_m1@ha
+/* 800872B8 000841F8 D4 03 EF 48 */ stfsu f0, __four_over_pi_m1@l(r3)
+/* 800872BC 000841FC C0 04 00 04 */ lfs f0, 4(r4)
+/* 800872C0 00084200 D0 03 00 04 */ stfs f0, 4(r3)
+/* 800872C4 00084204 C0 04 00 08 */ lfs f0, 8(r4)
+/* 800872C8 00084208 D0 03 00 08 */ stfs f0, 8(r3)
+/* 800872CC 0008420C C0 04 00 0C */ lfs f0, 0xc(r4)
+/* 800872D0 00084210 D0 03 00 0C */ stfs f0, 0xc(r3)
+/* 800872D4 00084214 4E 80 00 20 */ blr
+
+.section .ctors, "wa" # 0x8036FBA0 - 0x8036FF80
+lbl_constructor:
+ .4byte __sinit_trigf_c
+
+.section .rodata, "a" # 0x8036FFA0 - 0x803A8380
+.balign 8
+tmp_float:
+ .4byte 0x3E800000
+ .4byte 0x3CBE6080
+ .4byte 0x34372200
+ .4byte 0x2DA44152
+
+.section .data, "wa" # 0x803A8380 - 0x803E6000
+__four_over_pi_m1:
+ .4byte 0
+ .4byte 0
+ .4byte 0
+ .4byte 0
+
+.section .sdata2, "a" # 0x8040B460 - 0x80414020
+.balign 8
+"@106":
+ .4byte 0x3F22F983
+"@107":
+ .4byte 0x3F000000
+"@108":
+ .4byte 0x39B504F3
+ .4byte 0
+"@110":
+ .4byte 0x43300000
+ .4byte 0x80000000
diff --git a/asm/MSL_C.PPCEABI.bare.H/uart_console_io.s b/asm/MSL_C.PPCEABI.bare.H/uart_console_io.s
new file mode 100644
index 0000000..671c827
--- /dev/null
+++ b/asm/MSL_C.PPCEABI.bare.H/uart_console_io.s
@@ -0,0 +1,123 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80005600 - 0x8036FBA0
+.global __close_console
+__close_console:
+/* 800863A8 000832E8 38 60 00 00 */ li r3, 0
+/* 800863AC 000832EC 4E 80 00 20 */ blr
+
+.global __write_console
+__write_console:
+/* 800863B0 000832F0 7C 08 02 A6 */ mflr r0
+/* 800863B4 000832F4 38 60 00 00 */ li r3, 0
+/* 800863B8 000832F8 90 01 00 04 */ stw r0, 4(r1)
+/* 800863BC 000832FC 94 21 FF D8 */ stwu r1, -0x28(r1)
+/* 800863C0 00083300 93 E1 00 24 */ stw r31, 0x24(r1)
+/* 800863C4 00083304 3B E5 00 00 */ addi r31, r5, 0
+/* 800863C8 00083308 93 C1 00 20 */ stw r30, 0x20(r1)
+/* 800863CC 0008330C 3B C4 00 00 */ addi r30, r4, 0
+/* 800863D0 00083310 80 0D 92 B0 */ lwz r0, initialized$16@sda21(r13)
+/* 800863D4 00083314 2C 00 00 00 */ cmpwi r0, 0
+/* 800863D8 00083318 40 82 00 20 */ bne lbl_800863F8
+/* 800863DC 0008331C 3C 60 00 01 */ lis r3, 0x0000E100@ha
+/* 800863E0 00083320 38 63 E1 00 */ addi r3, r3, 0x0000E100@l
+/* 800863E4 00083324 48 02 F9 09 */ bl InitializeUART
+/* 800863E8 00083328 2C 03 00 00 */ cmpwi r3, 0
+/* 800863EC 0008332C 40 82 00 0C */ bne lbl_800863F8
+/* 800863F0 00083330 38 00 00 01 */ li r0, 1
+/* 800863F4 00083334 90 0D 92 B0 */ stw r0, initialized$16@sda21(r13)
+lbl_800863F8:
+/* 800863F8 00083338 2C 03 00 00 */ cmpwi r3, 0
+/* 800863FC 0008333C 41 82 00 0C */ beq lbl_80086408
+/* 80086400 00083340 38 60 00 01 */ li r3, 1
+/* 80086404 00083344 48 00 00 2C */ b lbl_80086430
+lbl_80086408:
+/* 80086408 00083348 7F C3 F3 78 */ mr r3, r30
+/* 8008640C 0008334C 80 9F 00 00 */ lwz r4, 0(r31)
+/* 80086410 00083350 48 02 F9 55 */ bl WriteUARTN
+/* 80086414 00083354 2C 03 00 00 */ cmpwi r3, 0
+/* 80086418 00083358 41 82 00 14 */ beq lbl_8008642C
+/* 8008641C 0008335C 38 00 00 00 */ li r0, 0
+/* 80086420 00083360 90 1F 00 00 */ stw r0, 0(r31)
+/* 80086424 00083364 38 60 00 01 */ li r3, 1
+/* 80086428 00083368 48 00 00 08 */ b lbl_80086430
+lbl_8008642C:
+/* 8008642C 0008336C 38 60 00 00 */ li r3, 0
+lbl_80086430:
+/* 80086430 00083370 80 01 00 2C */ lwz r0, 0x2c(r1)
+/* 80086434 00083374 83 E1 00 24 */ lwz r31, 0x24(r1)
+/* 80086438 00083378 83 C1 00 20 */ lwz r30, 0x20(r1)
+/* 8008643C 0008337C 7C 08 03 A6 */ mtlr r0
+/* 80086440 00083380 38 21 00 28 */ addi r1, r1, 0x28
+/* 80086444 00083384 4E 80 00 20 */ blr
+
+.global __read_console
+__read_console:
+/* 80086448 00083388 7C 08 02 A6 */ mflr r0
+/* 8008644C 0008338C 38 60 00 00 */ li r3, 0
+/* 80086450 00083390 90 01 00 04 */ stw r0, 4(r1)
+/* 80086454 00083394 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80086458 00083398 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 8008645C 0008339C 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 80086460 000833A0 3B C5 00 00 */ addi r30, r5, 0
+/* 80086464 000833A4 93 A1 00 24 */ stw r29, 0x24(r1)
+/* 80086468 000833A8 3B A4 00 00 */ addi r29, r4, 0
+/* 8008646C 000833AC 80 0D 92 B0 */ lwz r0, initialized$16@sda21(r13)
+/* 80086470 000833B0 2C 00 00 00 */ cmpwi r0, 0
+/* 80086474 000833B4 40 82 00 20 */ bne lbl_80086494
+/* 80086478 000833B8 3C 60 00 01 */ lis r3, 0x0000E100@ha
+/* 8008647C 000833BC 38 63 E1 00 */ addi r3, r3, 0x0000E100@l
+/* 80086480 000833C0 48 02 F8 6D */ bl InitializeUART
+/* 80086484 000833C4 2C 03 00 00 */ cmpwi r3, 0
+/* 80086488 000833C8 40 82 00 0C */ bne lbl_80086494
+/* 8008648C 000833CC 38 00 00 01 */ li r0, 1
+/* 80086490 000833D0 90 0D 92 B0 */ stw r0, initialized$16@sda21(r13)
+lbl_80086494:
+/* 80086494 000833D4 2C 03 00 00 */ cmpwi r3, 0
+/* 80086498 000833D8 41 82 00 0C */ beq lbl_800864A4
+/* 8008649C 000833DC 38 60 00 01 */ li r3, 1
+/* 800864A0 000833E0 48 00 00 6C */ b lbl_8008650C
+lbl_800864A4:
+/* 800864A4 000833E4 83 FE 00 00 */ lwz r31, 0(r30)
+/* 800864A8 000833E8 38 00 00 00 */ li r0, 0
+/* 800864AC 000833EC 38 60 00 00 */ li r3, 0
+/* 800864B0 000833F0 90 1E 00 00 */ stw r0, 0(r30)
+/* 800864B4 000833F4 48 00 00 2C */ b lbl_800864E0
+lbl_800864B8:
+/* 800864B8 000833F8 38 7D 00 00 */ addi r3, r29, 0
+/* 800864BC 000833FC 38 80 00 01 */ li r4, 1
+/* 800864C0 00083400 48 02 F8 9D */ bl ReadUARTN
+/* 800864C4 00083404 80 9E 00 00 */ lwz r4, 0(r30)
+/* 800864C8 00083408 38 04 00 01 */ addi r0, r4, 1
+/* 800864CC 0008340C 90 1E 00 00 */ stw r0, 0(r30)
+/* 800864D0 00083410 88 1D 00 00 */ lbz r0, 0(r29)
+/* 800864D4 00083414 28 00 00 0D */ cmplwi r0, 0xd
+/* 800864D8 00083418 41 82 00 1C */ beq lbl_800864F4
+/* 800864DC 0008341C 3B BD 00 01 */ addi r29, r29, 1
+lbl_800864E0:
+/* 800864E0 00083420 80 1E 00 00 */ lwz r0, 0(r30)
+/* 800864E4 00083424 7C 00 F8 40 */ cmplw r0, r31
+/* 800864E8 00083428 41 81 00 0C */ bgt lbl_800864F4
+/* 800864EC 0008342C 2C 03 00 00 */ cmpwi r3, 0
+/* 800864F0 00083430 41 82 FF C8 */ beq lbl_800864B8
+lbl_800864F4:
+/* 800864F4 00083434 2C 03 00 00 */ cmpwi r3, 0
+/* 800864F8 00083438 40 82 00 0C */ bne lbl_80086504
+/* 800864FC 0008343C 38 00 00 00 */ li r0, 0
+/* 80086500 00083440 48 00 00 08 */ b lbl_80086508
+lbl_80086504:
+/* 80086504 00083444 38 00 00 01 */ li r0, 1
+lbl_80086508:
+/* 80086508 00083448 54 03 06 3E */ clrlwi r3, r0, 0x18
+lbl_8008650C:
+/* 8008650C 0008344C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80086510 00083450 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 80086514 00083454 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 80086518 00083458 7C 08 03 A6 */ mtlr r0
+/* 8008651C 0008345C 83 A1 00 24 */ lwz r29, 0x24(r1)
+/* 80086520 00083460 38 21 00 30 */ addi r1, r1, 0x30
+/* 80086524 00083464 4E 80 00 20 */ blr
+
+.section .sbss, "wa" # 0x804097C0 - 0x8040B45C
+initialized$16:
+ .skip 0x8