diff options
Diffstat (limited to 'asm/libstdc++/strtoul.s')
-rw-r--r-- | asm/libstdc++/strtoul.s | 847 |
1 files changed, 0 insertions, 847 deletions
diff --git a/asm/libstdc++/strtoul.s b/asm/libstdc++/strtoul.s deleted file mode 100644 index c6e412c..0000000 --- a/asm/libstdc++/strtoul.s +++ /dev/null @@ -1,847 +0,0 @@ -.include "macros.inc"
-
-.section .text, "ax" # 0x80006980 - 0x803E1E60
-
-.global __strtoul
-__strtoul:
-/* 801CFC84 001CB8E4 94 21 FF B0 */ stwu r1, -0x50(r1)
-/* 801CFC88 001CB8E8 7C 08 02 A6 */ mflr r0
-/* 801CFC8C 001CB8EC 2C 03 00 00 */ cmpwi r3, 0
-/* 801CFC90 001CB8F0 90 01 00 54 */ stw r0, 0x54(r1)
-/* 801CFC94 001CB8F4 BE 01 00 10 */ stmw r16, 0x10(r1)
-/* 801CFC98 001CB8F8 3B 40 00 00 */ li r26, 0
-/* 801CFC9C 001CB8FC 7C 70 1B 78 */ mr r16, r3
-/* 801CFCA0 001CB900 7C 91 23 78 */ mr r17, r4
-/* 801CFCA4 001CB904 7C B2 2B 78 */ mr r18, r5
-/* 801CFCA8 001CB908 7C D3 33 78 */ mr r19, r6
-/* 801CFCAC 001CB90C 7C F4 3B 78 */ mr r20, r7
-/* 801CFCB0 001CB910 7D 15 43 78 */ mr r21, r8
-/* 801CFCB4 001CB914 7D 36 4B 78 */ mr r22, r9
-/* 801CFCB8 001CB918 3B 60 00 01 */ li r27, 1
-/* 801CFCBC 001CB91C 3B 20 00 00 */ li r25, 0
-/* 801CFCC0 001CB920 3B 00 00 00 */ li r24, 0
-/* 801CFCC4 001CB924 3A E0 00 00 */ li r23, 0
-/* 801CFCC8 001CB928 93 49 00 00 */ stw r26, 0(r9)
-/* 801CFCCC 001CB92C 93 48 00 00 */ stw r26, 0(r8)
-/* 801CFCD0 001CB930 41 80 00 1C */ blt lbl_801CFCEC
-/* 801CFCD4 001CB934 2C 03 00 01 */ cmpwi r3, 1
-/* 801CFCD8 001CB938 41 82 00 14 */ beq lbl_801CFCEC
-/* 801CFCDC 001CB93C 2C 03 00 24 */ cmpwi r3, 0x24
-/* 801CFCE0 001CB940 41 81 00 0C */ bgt lbl_801CFCEC
-/* 801CFCE4 001CB944 2C 04 00 01 */ cmpwi r4, 1
-/* 801CFCE8 001CB948 40 80 00 0C */ bge lbl_801CFCF4
-lbl_801CFCEC:
-/* 801CFCEC 001CB94C 3B 60 00 40 */ li r27, 0x40
-/* 801CFCF0 001CB950 48 00 00 24 */ b lbl_801CFD14
-lbl_801CFCF4:
-/* 801CFCF4 001CB954 7E 4C 93 78 */ mr r12, r18
-/* 801CFCF8 001CB958 7E 63 9B 78 */ mr r3, r19
-/* 801CFCFC 001CB95C 38 80 00 00 */ li r4, 0
-/* 801CFD00 001CB960 38 A0 00 00 */ li r5, 0
-/* 801CFD04 001CB964 7D 89 03 A6 */ mtctr r12
-/* 801CFD08 001CB968 3B 40 00 01 */ li r26, 1
-/* 801CFD0C 001CB96C 4E 80 04 21 */ bctrl
-/* 801CFD10 001CB970 7C 64 1B 78 */ mr r4, r3
-lbl_801CFD14:
-/* 801CFD14 001CB974 2C 10 00 00 */ cmpwi r16, 0
-/* 801CFD18 001CB978 41 82 00 0C */ beq lbl_801CFD24
-/* 801CFD1C 001CB97C 38 00 FF FF */ li r0, -1
-/* 801CFD20 001CB980 7E E0 83 96 */ divwu r23, r0, r16
-lbl_801CFD24:
-/* 801CFD24 001CB984 3C 60 80 42 */ lis r3, lbl_80422D48@ha
-/* 801CFD28 001CB988 3B C0 00 01 */ li r30, 1
-/* 801CFD2C 001CB98C 3B E0 FF FF */ li r31, -1
-/* 801CFD30 001CB990 3F 80 80 42 */ lis r28, 0x8042
-/* 801CFD34 001CB994 3B A3 2D 48 */ addi r29, r3, lbl_80422D48@l
-/* 801CFD38 001CB998 48 00 03 18 */ b lbl_801D0050
-lbl_801CFD3C:
-/* 801CFD3C 001CB99C 28 1B 00 10 */ cmplwi r27, 0x10
-/* 801CFD40 001CB9A0 41 81 03 10 */ bgt lbl_801D0050
-/* 801CFD44 001CB9A4 38 7C 31 00 */ addi r3, r28, 0x3100
-/* 801CFD48 001CB9A8 57 60 10 3A */ slwi r0, r27, 2
-/* 801CFD4C 001CB9AC 7C 63 00 2E */ lwzx r3, r3, r0
-/* 801CFD50 001CB9B0 7C 69 03 A6 */ mtctr r3
-/* 801CFD54 001CB9B4 4E 80 04 20 */ bctr
-/* 801CFD58 001CB9B8 2C 04 00 00 */ cmpwi r4, 0
-/* 801CFD5C 001CB9BC 38 00 00 00 */ li r0, 0
-/* 801CFD60 001CB9C0 41 80 00 0C */ blt lbl_801CFD6C
-/* 801CFD64 001CB9C4 2C 04 01 00 */ cmpwi r4, 0x100
-/* 801CFD68 001CB9C8 41 80 00 08 */ blt lbl_801CFD70
-lbl_801CFD6C:
-/* 801CFD6C 001CB9CC 38 00 00 01 */ li r0, 1
-lbl_801CFD70:
-/* 801CFD70 001CB9D0 2C 00 00 00 */ cmpwi r0, 0
-/* 801CFD74 001CB9D4 41 82 00 0C */ beq lbl_801CFD80
-/* 801CFD78 001CB9D8 38 00 00 00 */ li r0, 0
-/* 801CFD7C 001CB9DC 48 00 00 18 */ b lbl_801CFD94
-lbl_801CFD80:
-/* 801CFD80 001CB9E0 80 7D 00 38 */ lwz r3, 0x38(r29)
-/* 801CFD84 001CB9E4 54 80 08 3C */ slwi r0, r4, 1
-/* 801CFD88 001CB9E8 80 63 00 08 */ lwz r3, 8(r3)
-/* 801CFD8C 001CB9EC 7C 03 02 2E */ lhzx r0, r3, r0
-/* 801CFD90 001CB9F0 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17
-lbl_801CFD94:
-/* 801CFD94 001CB9F4 2C 00 00 00 */ cmpwi r0, 0
-/* 801CFD98 001CB9F8 41 82 00 28 */ beq lbl_801CFDC0
-/* 801CFD9C 001CB9FC 7E 4C 93 78 */ mr r12, r18
-/* 801CFDA0 001CBA00 7E 63 9B 78 */ mr r3, r19
-/* 801CFDA4 001CBA04 38 80 00 00 */ li r4, 0
-/* 801CFDA8 001CBA08 38 A0 00 00 */ li r5, 0
-/* 801CFDAC 001CBA0C 7D 89 03 A6 */ mtctr r12
-/* 801CFDB0 001CBA10 4E 80 04 21 */ bctrl
-/* 801CFDB4 001CBA14 7C 64 1B 78 */ mr r4, r3
-/* 801CFDB8 001CBA18 3B 39 00 01 */ addi r25, r25, 1
-/* 801CFDBC 001CBA1C 48 00 02 94 */ b lbl_801D0050
-lbl_801CFDC0:
-/* 801CFDC0 001CBA20 2C 04 00 2B */ cmpwi r4, 0x2b
-/* 801CFDC4 001CBA24 40 82 00 28 */ bne lbl_801CFDEC
-/* 801CFDC8 001CBA28 7E 4C 93 78 */ mr r12, r18
-/* 801CFDCC 001CBA2C 7E 63 9B 78 */ mr r3, r19
-/* 801CFDD0 001CBA30 38 80 00 00 */ li r4, 0
-/* 801CFDD4 001CBA34 38 A0 00 00 */ li r5, 0
-/* 801CFDD8 001CBA38 7D 89 03 A6 */ mtctr r12
-/* 801CFDDC 001CBA3C 3B 5A 00 01 */ addi r26, r26, 1
-/* 801CFDE0 001CBA40 4E 80 04 21 */ bctrl
-/* 801CFDE4 001CBA44 7C 64 1B 78 */ mr r4, r3
-/* 801CFDE8 001CBA48 48 00 00 30 */ b lbl_801CFE18
-lbl_801CFDEC:
-/* 801CFDEC 001CBA4C 2C 04 00 2D */ cmpwi r4, 0x2d
-/* 801CFDF0 001CBA50 40 82 00 28 */ bne lbl_801CFE18
-/* 801CFDF4 001CBA54 7E 4C 93 78 */ mr r12, r18
-/* 801CFDF8 001CBA58 7E 63 9B 78 */ mr r3, r19
-/* 801CFDFC 001CBA5C 38 80 00 00 */ li r4, 0
-/* 801CFE00 001CBA60 38 A0 00 00 */ li r5, 0
-/* 801CFE04 001CBA64 7D 89 03 A6 */ mtctr r12
-/* 801CFE08 001CBA68 3B 5A 00 01 */ addi r26, r26, 1
-/* 801CFE0C 001CBA6C 4E 80 04 21 */ bctrl
-/* 801CFE10 001CBA70 7C 64 1B 78 */ mr r4, r3
-/* 801CFE14 001CBA74 93 D5 00 00 */ stw r30, 0(r21)
-lbl_801CFE18:
-/* 801CFE18 001CBA78 3B 60 00 02 */ li r27, 2
-/* 801CFE1C 001CBA7C 48 00 02 34 */ b lbl_801D0050
-/* 801CFE20 001CBA80 2C 10 00 00 */ cmpwi r16, 0
-/* 801CFE24 001CBA84 41 82 00 0C */ beq lbl_801CFE30
-/* 801CFE28 001CBA88 2C 10 00 10 */ cmpwi r16, 0x10
-/* 801CFE2C 001CBA8C 40 82 00 34 */ bne lbl_801CFE60
-lbl_801CFE30:
-/* 801CFE30 001CBA90 2C 04 00 30 */ cmpwi r4, 0x30
-/* 801CFE34 001CBA94 40 82 00 2C */ bne lbl_801CFE60
-/* 801CFE38 001CBA98 7E 4C 93 78 */ mr r12, r18
-/* 801CFE3C 001CBA9C 7E 63 9B 78 */ mr r3, r19
-/* 801CFE40 001CBAA0 3B 60 00 04 */ li r27, 4
-/* 801CFE44 001CBAA4 38 80 00 00 */ li r4, 0
-/* 801CFE48 001CBAA8 38 A0 00 00 */ li r5, 0
-/* 801CFE4C 001CBAAC 7D 89 03 A6 */ mtctr r12
-/* 801CFE50 001CBAB0 3B 5A 00 01 */ addi r26, r26, 1
-/* 801CFE54 001CBAB4 4E 80 04 21 */ bctrl
-/* 801CFE58 001CBAB8 7C 64 1B 78 */ mr r4, r3
-/* 801CFE5C 001CBABC 48 00 01 F4 */ b lbl_801D0050
-lbl_801CFE60:
-/* 801CFE60 001CBAC0 3B 60 00 08 */ li r27, 8
-/* 801CFE64 001CBAC4 48 00 01 EC */ b lbl_801D0050
-/* 801CFE68 001CBAC8 2C 04 00 58 */ cmpwi r4, 0x58
-/* 801CFE6C 001CBACC 41 82 00 0C */ beq lbl_801CFE78
-/* 801CFE70 001CBAD0 2C 04 00 78 */ cmpwi r4, 0x78
-/* 801CFE74 001CBAD4 40 82 00 30 */ bne lbl_801CFEA4
-lbl_801CFE78:
-/* 801CFE78 001CBAD8 7E 4C 93 78 */ mr r12, r18
-/* 801CFE7C 001CBADC 7E 63 9B 78 */ mr r3, r19
-/* 801CFE80 001CBAE0 3A 00 00 10 */ li r16, 0x10
-/* 801CFE84 001CBAE4 3B 60 00 08 */ li r27, 8
-/* 801CFE88 001CBAE8 38 80 00 00 */ li r4, 0
-/* 801CFE8C 001CBAEC 38 A0 00 00 */ li r5, 0
-/* 801CFE90 001CBAF0 7D 89 03 A6 */ mtctr r12
-/* 801CFE94 001CBAF4 3B 5A 00 01 */ addi r26, r26, 1
-/* 801CFE98 001CBAF8 4E 80 04 21 */ bctrl
-/* 801CFE9C 001CBAFC 7C 64 1B 78 */ mr r4, r3
-/* 801CFEA0 001CBB00 48 00 01 B0 */ b lbl_801D0050
-lbl_801CFEA4:
-/* 801CFEA4 001CBB04 2C 10 00 00 */ cmpwi r16, 0
-/* 801CFEA8 001CBB08 40 82 00 08 */ bne lbl_801CFEB0
-/* 801CFEAC 001CBB0C 3A 00 00 08 */ li r16, 8
-lbl_801CFEB0:
-/* 801CFEB0 001CBB10 3B 60 00 10 */ li r27, 0x10
-/* 801CFEB4 001CBB14 48 00 01 9C */ b lbl_801D0050
-/* 801CFEB8 001CBB18 2C 10 00 00 */ cmpwi r16, 0
-/* 801CFEBC 001CBB1C 40 82 00 08 */ bne lbl_801CFEC4
-/* 801CFEC0 001CBB20 3A 00 00 0A */ li r16, 0xa
-lbl_801CFEC4:
-/* 801CFEC4 001CBB24 2C 17 00 00 */ cmpwi r23, 0
-/* 801CFEC8 001CBB28 40 82 00 08 */ bne lbl_801CFED0
-/* 801CFECC 001CBB2C 7E FF 83 96 */ divwu r23, r31, r16
-lbl_801CFED0:
-/* 801CFED0 001CBB30 2C 04 00 00 */ cmpwi r4, 0
-/* 801CFED4 001CBB34 38 00 00 00 */ li r0, 0
-/* 801CFED8 001CBB38 41 80 00 0C */ blt lbl_801CFEE4
-/* 801CFEDC 001CBB3C 2C 04 01 00 */ cmpwi r4, 0x100
-/* 801CFEE0 001CBB40 41 80 00 08 */ blt lbl_801CFEE8
-lbl_801CFEE4:
-/* 801CFEE4 001CBB44 38 00 00 01 */ li r0, 1
-lbl_801CFEE8:
-/* 801CFEE8 001CBB48 2C 00 00 00 */ cmpwi r0, 0
-/* 801CFEEC 001CBB4C 41 82 00 0C */ beq lbl_801CFEF8
-/* 801CFEF0 001CBB50 38 00 00 00 */ li r0, 0
-/* 801CFEF4 001CBB54 48 00 00 18 */ b lbl_801CFF0C
-lbl_801CFEF8:
-/* 801CFEF8 001CBB58 80 7D 00 38 */ lwz r3, 0x38(r29)
-/* 801CFEFC 001CBB5C 54 80 08 3C */ slwi r0, r4, 1
-/* 801CFF00 001CBB60 80 63 00 08 */ lwz r3, 8(r3)
-/* 801CFF04 001CBB64 7C 03 02 2E */ lhzx r0, r3, r0
-/* 801CFF08 001CBB68 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
-lbl_801CFF0C:
-/* 801CFF0C 001CBB6C 2C 00 00 00 */ cmpwi r0, 0
-/* 801CFF10 001CBB70 41 82 00 28 */ beq lbl_801CFF38
-/* 801CFF14 001CBB74 38 84 FF D0 */ addi r4, r4, -48
-/* 801CFF18 001CBB78 7C 04 80 00 */ cmpw r4, r16
-/* 801CFF1C 001CBB7C 41 80 00 EC */ blt lbl_801D0008
-/* 801CFF20 001CBB80 2C 1B 00 10 */ cmpwi r27, 0x10
-/* 801CFF24 001CBB84 3B 60 00 40 */ li r27, 0x40
-/* 801CFF28 001CBB88 40 82 00 08 */ bne lbl_801CFF30
-/* 801CFF2C 001CBB8C 3B 60 00 20 */ li r27, 0x20
-lbl_801CFF30:
-/* 801CFF30 001CBB90 38 84 00 30 */ addi r4, r4, 0x30
-/* 801CFF34 001CBB94 48 00 01 1C */ b lbl_801D0050
-lbl_801CFF38:
-/* 801CFF38 001CBB98 2C 04 00 00 */ cmpwi r4, 0
-/* 801CFF3C 001CBB9C 38 00 00 00 */ li r0, 0
-/* 801CFF40 001CBBA0 41 80 00 0C */ blt lbl_801CFF4C
-/* 801CFF44 001CBBA4 2C 04 01 00 */ cmpwi r4, 0x100
-/* 801CFF48 001CBBA8 41 80 00 08 */ blt lbl_801CFF50
-lbl_801CFF4C:
-/* 801CFF4C 001CBBAC 38 00 00 01 */ li r0, 1
-lbl_801CFF50:
-/* 801CFF50 001CBBB0 2C 00 00 00 */ cmpwi r0, 0
-/* 801CFF54 001CBBB4 41 82 00 0C */ beq lbl_801CFF60
-/* 801CFF58 001CBBB8 38 00 00 00 */ li r0, 0
-/* 801CFF5C 001CBBBC 48 00 00 18 */ b lbl_801CFF74
-lbl_801CFF60:
-/* 801CFF60 001CBBC0 80 7D 00 38 */ lwz r3, 0x38(r29)
-/* 801CFF64 001CBBC4 54 80 08 3C */ slwi r0, r4, 1
-/* 801CFF68 001CBBC8 80 63 00 08 */ lwz r3, 8(r3)
-/* 801CFF6C 001CBBCC 7C 03 02 2E */ lhzx r0, r3, r0
-/* 801CFF70 001CBBD0 54 00 07 FE */ clrlwi r0, r0, 0x1f
-lbl_801CFF74:
-/* 801CFF74 001CBBD4 2C 00 00 00 */ cmpwi r0, 0
-/* 801CFF78 001CBBD8 41 82 00 44 */ beq lbl_801CFFBC
-/* 801CFF7C 001CBBDC 2C 04 00 00 */ cmpwi r4, 0
-/* 801CFF80 001CBBE0 38 00 00 00 */ li r0, 0
-/* 801CFF84 001CBBE4 41 80 00 0C */ blt lbl_801CFF90
-/* 801CFF88 001CBBE8 2C 04 01 00 */ cmpwi r4, 0x100
-/* 801CFF8C 001CBBEC 41 80 00 08 */ blt lbl_801CFF94
-lbl_801CFF90:
-/* 801CFF90 001CBBF0 38 00 00 01 */ li r0, 1
-lbl_801CFF94:
-/* 801CFF94 001CBBF4 2C 00 00 00 */ cmpwi r0, 0
-/* 801CFF98 001CBBF8 41 82 00 0C */ beq lbl_801CFFA4
-/* 801CFF9C 001CBBFC 7C 83 23 78 */ mr r3, r4
-/* 801CFFA0 001CBC00 48 00 00 10 */ b lbl_801CFFB0
-lbl_801CFFA4:
-/* 801CFFA4 001CBC04 80 7D 00 38 */ lwz r3, 0x38(r29)
-/* 801CFFA8 001CBC08 80 63 00 0C */ lwz r3, 0xc(r3)
-/* 801CFFAC 001CBC0C 7C 63 20 AE */ lbzx r3, r3, r4
-lbl_801CFFB0:
-/* 801CFFB0 001CBC10 38 03 FF C9 */ addi r0, r3, -55
-/* 801CFFB4 001CBC14 7C 00 80 00 */ cmpw r0, r16
-/* 801CFFB8 001CBC18 41 80 00 1C */ blt lbl_801CFFD4
-lbl_801CFFBC:
-/* 801CFFBC 001CBC1C 2C 1B 00 10 */ cmpwi r27, 0x10
-/* 801CFFC0 001CBC20 40 82 00 0C */ bne lbl_801CFFCC
-/* 801CFFC4 001CBC24 3B 60 00 20 */ li r27, 0x20
-/* 801CFFC8 001CBC28 48 00 00 88 */ b lbl_801D0050
-lbl_801CFFCC:
-/* 801CFFCC 001CBC2C 3B 60 00 40 */ li r27, 0x40
-/* 801CFFD0 001CBC30 48 00 00 80 */ b lbl_801D0050
-lbl_801CFFD4:
-/* 801CFFD4 001CBC34 2C 04 00 00 */ cmpwi r4, 0
-/* 801CFFD8 001CBC38 38 00 00 00 */ li r0, 0
-/* 801CFFDC 001CBC3C 41 80 00 0C */ blt lbl_801CFFE8
-/* 801CFFE0 001CBC40 2C 04 01 00 */ cmpwi r4, 0x100
-/* 801CFFE4 001CBC44 41 80 00 08 */ blt lbl_801CFFEC
-lbl_801CFFE8:
-/* 801CFFE8 001CBC48 38 00 00 01 */ li r0, 1
-lbl_801CFFEC:
-/* 801CFFEC 001CBC4C 2C 00 00 00 */ cmpwi r0, 0
-/* 801CFFF0 001CBC50 41 82 00 08 */ beq lbl_801CFFF8
-/* 801CFFF4 001CBC54 48 00 00 10 */ b lbl_801D0004
-lbl_801CFFF8:
-/* 801CFFF8 001CBC58 80 7D 00 38 */ lwz r3, 0x38(r29)
-/* 801CFFFC 001CBC5C 80 63 00 0C */ lwz r3, 0xc(r3)
-/* 801D0000 001CBC60 7C 83 20 AE */ lbzx r4, r3, r4
-lbl_801D0004:
-/* 801D0004 001CBC64 38 84 FF C9 */ addi r4, r4, -55
-lbl_801D0008:
-/* 801D0008 001CBC68 7C 18 B8 40 */ cmplw r24, r23
-/* 801D000C 001CBC6C 40 81 00 08 */ ble lbl_801D0014
-/* 801D0010 001CBC70 93 D6 00 00 */ stw r30, 0(r22)
-lbl_801D0014:
-/* 801D0014 001CBC74 7F 18 81 D6 */ mullw r24, r24, r16
-/* 801D0018 001CBC78 20 18 FF FF */ subfic r0, r24, -1
-/* 801D001C 001CBC7C 7C 04 00 40 */ cmplw r4, r0
-/* 801D0020 001CBC80 40 81 00 08 */ ble lbl_801D0028
-/* 801D0024 001CBC84 93 D6 00 00 */ stw r30, 0(r22)
-lbl_801D0028:
-/* 801D0028 001CBC88 7E 4C 93 78 */ mr r12, r18
-/* 801D002C 001CBC8C 7F 18 22 14 */ add r24, r24, r4
-/* 801D0030 001CBC90 7E 63 9B 78 */ mr r3, r19
-/* 801D0034 001CBC94 3B 60 00 10 */ li r27, 0x10
-/* 801D0038 001CBC98 38 80 00 00 */ li r4, 0
-/* 801D003C 001CBC9C 38 A0 00 00 */ li r5, 0
-/* 801D0040 001CBCA0 7D 89 03 A6 */ mtctr r12
-/* 801D0044 001CBCA4 3B 5A 00 01 */ addi r26, r26, 1
-/* 801D0048 001CBCA8 4E 80 04 21 */ bctrl
-/* 801D004C 001CBCAC 7C 64 1B 78 */ mr r4, r3
-lbl_801D0050:
-/* 801D0050 001CBCB0 7C 1A 88 00 */ cmpw r26, r17
-/* 801D0054 001CBCB4 41 81 00 14 */ bgt lbl_801D0068
-/* 801D0058 001CBCB8 2C 04 FF FF */ cmpwi r4, -1
-/* 801D005C 001CBCBC 41 82 00 0C */ beq lbl_801D0068
-/* 801D0060 001CBCC0 57 60 06 75 */ rlwinm. r0, r27, 0, 0x19, 0x1a
-/* 801D0064 001CBCC4 41 82 FC D8 */ beq lbl_801CFD3C
-lbl_801D0068:
-/* 801D0068 001CBCC8 73 60 00 34 */ andi. r0, r27, 0x34
-/* 801D006C 001CBCCC 40 82 00 10 */ bne lbl_801D007C
-/* 801D0070 001CBCD0 3B 00 00 00 */ li r24, 0
-/* 801D0074 001CBCD4 93 14 00 00 */ stw r24, 0(r20)
-/* 801D0078 001CBCD8 48 00 00 10 */ b lbl_801D0088
-lbl_801D007C:
-/* 801D007C 001CBCDC 7C 7A CA 14 */ add r3, r26, r25
-/* 801D0080 001CBCE0 38 03 FF FF */ addi r0, r3, -1
-/* 801D0084 001CBCE4 90 14 00 00 */ stw r0, 0(r20)
-lbl_801D0088:
-/* 801D0088 001CBCE8 7E 4C 93 78 */ mr r12, r18
-/* 801D008C 001CBCEC 7E 63 9B 78 */ mr r3, r19
-/* 801D0090 001CBCF0 38 A0 00 01 */ li r5, 1
-/* 801D0094 001CBCF4 7D 89 03 A6 */ mtctr r12
-/* 801D0098 001CBCF8 4E 80 04 21 */ bctrl
-/* 801D009C 001CBCFC 7F 03 C3 78 */ mr r3, r24
-/* 801D00A0 001CBD00 BA 01 00 10 */ lmw r16, 0x10(r1)
-/* 801D00A4 001CBD04 80 01 00 54 */ lwz r0, 0x54(r1)
-/* 801D00A8 001CBD08 7C 08 03 A6 */ mtlr r0
-/* 801D00AC 001CBD0C 38 21 00 50 */ addi r1, r1, 0x50
-/* 801D00B0 001CBD10 4E 80 00 20 */ blr
-
-.global __strtoull
-__strtoull:
-/* 801D00B4 001CBD14 94 21 FF A0 */ stwu r1, -0x60(r1)
-/* 801D00B8 001CBD18 7C 08 02 A6 */ mflr r0
-/* 801D00BC 001CBD1C 2C 03 00 00 */ cmpwi r3, 0
-/* 801D00C0 001CBD20 90 01 00 64 */ stw r0, 0x64(r1)
-/* 801D00C4 001CBD24 BD C1 00 18 */ stmw r14, 0x18(r1)
-/* 801D00C8 001CBD28 3B 60 00 00 */ li r27, 0
-/* 801D00CC 001CBD2C 7C 6F 1B 78 */ mr r15, r3
-/* 801D00D0 001CBD30 7C 90 23 78 */ mr r16, r4
-/* 801D00D4 001CBD34 90 E1 00 08 */ stw r7, 8(r1)
-/* 801D00D8 001CBD38 7C B1 2B 78 */ mr r17, r5
-/* 801D00DC 001CBD3C 7C D2 33 78 */ mr r18, r6
-/* 801D00E0 001CBD40 7D 13 43 78 */ mr r19, r8
-/* 801D00E4 001CBD44 7D 34 4B 78 */ mr r20, r9
-/* 801D00E8 001CBD48 3B 80 00 01 */ li r28, 1
-/* 801D00EC 001CBD4C 3B 40 00 00 */ li r26, 0
-/* 801D00F0 001CBD50 3B 00 00 00 */ li r24, 0
-/* 801D00F4 001CBD54 3B 20 00 00 */ li r25, 0
-/* 801D00F8 001CBD58 3A C0 00 00 */ li r22, 0
-/* 801D00FC 001CBD5C 3A E0 00 00 */ li r23, 0
-/* 801D0100 001CBD60 93 69 00 00 */ stw r27, 0(r9)
-/* 801D0104 001CBD64 93 68 00 00 */ stw r27, 0(r8)
-/* 801D0108 001CBD68 41 80 00 1C */ blt lbl_801D0124
-/* 801D010C 001CBD6C 2C 03 00 01 */ cmpwi r3, 1
-/* 801D0110 001CBD70 41 82 00 14 */ beq lbl_801D0124
-/* 801D0114 001CBD74 2C 03 00 24 */ cmpwi r3, 0x24
-/* 801D0118 001CBD78 41 81 00 0C */ bgt lbl_801D0124
-/* 801D011C 001CBD7C 2C 04 00 01 */ cmpwi r4, 1
-/* 801D0120 001CBD80 40 80 00 0C */ bge lbl_801D012C
-lbl_801D0124:
-/* 801D0124 001CBD84 3B 80 00 40 */ li r28, 0x40
-/* 801D0128 001CBD88 48 00 00 24 */ b lbl_801D014C
-lbl_801D012C:
-/* 801D012C 001CBD8C 7E 2C 8B 78 */ mr r12, r17
-/* 801D0130 001CBD90 7E 43 93 78 */ mr r3, r18
-/* 801D0134 001CBD94 38 80 00 00 */ li r4, 0
-/* 801D0138 001CBD98 38 A0 00 00 */ li r5, 0
-/* 801D013C 001CBD9C 7D 89 03 A6 */ mtctr r12
-/* 801D0140 001CBDA0 3B 60 00 01 */ li r27, 1
-/* 801D0144 001CBDA4 4E 80 04 21 */ bctrl
-/* 801D0148 001CBDA8 7C 75 1B 78 */ mr r21, r3
-lbl_801D014C:
-/* 801D014C 001CBDAC 2C 0F 00 00 */ cmpwi r15, 0
-/* 801D0150 001CBDB0 41 82 00 20 */ beq lbl_801D0170
-/* 801D0154 001CBDB4 7D E6 7B 78 */ mr r6, r15
-/* 801D0158 001CBDB8 7D E5 FE 70 */ srawi r5, r15, 0x1f
-/* 801D015C 001CBDBC 38 60 FF FF */ li r3, -1
-/* 801D0160 001CBDC0 38 80 FF FF */ li r4, -1
-/* 801D0164 001CBDC4 4B FF 70 29 */ bl __div2u
-/* 801D0168 001CBDC8 7C 96 23 78 */ mr r22, r4
-/* 801D016C 001CBDCC 7C 77 1B 78 */ mr r23, r3
-lbl_801D0170:
-/* 801D0170 001CBDD0 3C 60 80 42 */ lis r3, lbl_80422D48@ha
-/* 801D0174 001CBDD4 3B C0 00 01 */ li r30, 1
-/* 801D0178 001CBDD8 3B E0 FF FF */ li r31, -1
-/* 801D017C 001CBDDC 3D C0 80 42 */ lis r14, 0x8042
-/* 801D0180 001CBDE0 3B A3 2D 48 */ addi r29, r3, lbl_80422D48@l
-/* 801D0184 001CBDE4 48 00 03 7C */ b lbl_801D0500
-lbl_801D0188:
-/* 801D0188 001CBDE8 28 1C 00 10 */ cmplwi r28, 0x10
-/* 801D018C 001CBDEC 41 81 03 74 */ bgt lbl_801D0500
-/* 801D0190 001CBDF0 38 6E 31 44 */ addi r3, r14, 0x3144
-/* 801D0194 001CBDF4 57 80 10 3A */ slwi r0, r28, 2
-/* 801D0198 001CBDF8 7C 63 00 2E */ lwzx r3, r3, r0
-/* 801D019C 001CBDFC 7C 69 03 A6 */ mtctr r3
-/* 801D01A0 001CBE00 4E 80 04 20 */ bctr
-/* 801D01A4 001CBE04 2C 15 00 00 */ cmpwi r21, 0
-/* 801D01A8 001CBE08 38 00 00 00 */ li r0, 0
-/* 801D01AC 001CBE0C 41 80 00 0C */ blt lbl_801D01B8
-/* 801D01B0 001CBE10 2C 15 01 00 */ cmpwi r21, 0x100
-/* 801D01B4 001CBE14 41 80 00 08 */ blt lbl_801D01BC
-lbl_801D01B8:
-/* 801D01B8 001CBE18 38 00 00 01 */ li r0, 1
-lbl_801D01BC:
-/* 801D01BC 001CBE1C 2C 00 00 00 */ cmpwi r0, 0
-/* 801D01C0 001CBE20 41 82 00 0C */ beq lbl_801D01CC
-/* 801D01C4 001CBE24 38 00 00 00 */ li r0, 0
-/* 801D01C8 001CBE28 48 00 00 18 */ b lbl_801D01E0
-lbl_801D01CC:
-/* 801D01CC 001CBE2C 80 7D 00 38 */ lwz r3, 0x38(r29)
-/* 801D01D0 001CBE30 56 A0 08 3C */ slwi r0, r21, 1
-/* 801D01D4 001CBE34 80 63 00 08 */ lwz r3, 8(r3)
-/* 801D01D8 001CBE38 7C 03 02 2E */ lhzx r0, r3, r0
-/* 801D01DC 001CBE3C 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17
-lbl_801D01E0:
-/* 801D01E0 001CBE40 2C 00 00 00 */ cmpwi r0, 0
-/* 801D01E4 001CBE44 41 82 00 28 */ beq lbl_801D020C
-/* 801D01E8 001CBE48 7E 2C 8B 78 */ mr r12, r17
-/* 801D01EC 001CBE4C 7E 43 93 78 */ mr r3, r18
-/* 801D01F0 001CBE50 38 80 00 00 */ li r4, 0
-/* 801D01F4 001CBE54 38 A0 00 00 */ li r5, 0
-/* 801D01F8 001CBE58 7D 89 03 A6 */ mtctr r12
-/* 801D01FC 001CBE5C 4E 80 04 21 */ bctrl
-/* 801D0200 001CBE60 7C 75 1B 78 */ mr r21, r3
-/* 801D0204 001CBE64 3B 5A 00 01 */ addi r26, r26, 1
-/* 801D0208 001CBE68 48 00 02 F8 */ b lbl_801D0500
-lbl_801D020C:
-/* 801D020C 001CBE6C 2C 15 00 2B */ cmpwi r21, 0x2b
-/* 801D0210 001CBE70 40 82 00 28 */ bne lbl_801D0238
-/* 801D0214 001CBE74 7E 2C 8B 78 */ mr r12, r17
-/* 801D0218 001CBE78 7E 43 93 78 */ mr r3, r18
-/* 801D021C 001CBE7C 38 80 00 00 */ li r4, 0
-/* 801D0220 001CBE80 38 A0 00 00 */ li r5, 0
-/* 801D0224 001CBE84 7D 89 03 A6 */ mtctr r12
-/* 801D0228 001CBE88 3B 7B 00 01 */ addi r27, r27, 1
-/* 801D022C 001CBE8C 4E 80 04 21 */ bctrl
-/* 801D0230 001CBE90 7C 75 1B 78 */ mr r21, r3
-/* 801D0234 001CBE94 48 00 00 30 */ b lbl_801D0264
-lbl_801D0238:
-/* 801D0238 001CBE98 2C 15 00 2D */ cmpwi r21, 0x2d
-/* 801D023C 001CBE9C 40 82 00 28 */ bne lbl_801D0264
-/* 801D0240 001CBEA0 7E 2C 8B 78 */ mr r12, r17
-/* 801D0244 001CBEA4 7E 43 93 78 */ mr r3, r18
-/* 801D0248 001CBEA8 38 80 00 00 */ li r4, 0
-/* 801D024C 001CBEAC 38 A0 00 00 */ li r5, 0
-/* 801D0250 001CBEB0 7D 89 03 A6 */ mtctr r12
-/* 801D0254 001CBEB4 3B 7B 00 01 */ addi r27, r27, 1
-/* 801D0258 001CBEB8 4E 80 04 21 */ bctrl
-/* 801D025C 001CBEBC 7C 75 1B 78 */ mr r21, r3
-/* 801D0260 001CBEC0 93 D3 00 00 */ stw r30, 0(r19)
-lbl_801D0264:
-/* 801D0264 001CBEC4 3B 80 00 02 */ li r28, 2
-/* 801D0268 001CBEC8 48 00 02 98 */ b lbl_801D0500
-/* 801D026C 001CBECC 2C 0F 00 00 */ cmpwi r15, 0
-/* 801D0270 001CBED0 41 82 00 0C */ beq lbl_801D027C
-/* 801D0274 001CBED4 2C 0F 00 10 */ cmpwi r15, 0x10
-/* 801D0278 001CBED8 40 82 00 34 */ bne lbl_801D02AC
-lbl_801D027C:
-/* 801D027C 001CBEDC 2C 15 00 30 */ cmpwi r21, 0x30
-/* 801D0280 001CBEE0 40 82 00 2C */ bne lbl_801D02AC
-/* 801D0284 001CBEE4 7E 2C 8B 78 */ mr r12, r17
-/* 801D0288 001CBEE8 7E 43 93 78 */ mr r3, r18
-/* 801D028C 001CBEEC 3B 80 00 04 */ li r28, 4
-/* 801D0290 001CBEF0 38 80 00 00 */ li r4, 0
-/* 801D0294 001CBEF4 38 A0 00 00 */ li r5, 0
-/* 801D0298 001CBEF8 7D 89 03 A6 */ mtctr r12
-/* 801D029C 001CBEFC 3B 7B 00 01 */ addi r27, r27, 1
-/* 801D02A0 001CBF00 4E 80 04 21 */ bctrl
-/* 801D02A4 001CBF04 7C 75 1B 78 */ mr r21, r3
-/* 801D02A8 001CBF08 48 00 02 58 */ b lbl_801D0500
-lbl_801D02AC:
-/* 801D02AC 001CBF0C 3B 80 00 08 */ li r28, 8
-/* 801D02B0 001CBF10 48 00 02 50 */ b lbl_801D0500
-/* 801D02B4 001CBF14 2C 15 00 58 */ cmpwi r21, 0x58
-/* 801D02B8 001CBF18 41 82 00 0C */ beq lbl_801D02C4
-/* 801D02BC 001CBF1C 2C 15 00 78 */ cmpwi r21, 0x78
-/* 801D02C0 001CBF20 40 82 00 30 */ bne lbl_801D02F0
-lbl_801D02C4:
-/* 801D02C4 001CBF24 7E 2C 8B 78 */ mr r12, r17
-/* 801D02C8 001CBF28 7E 43 93 78 */ mr r3, r18
-/* 801D02CC 001CBF2C 39 E0 00 10 */ li r15, 0x10
-/* 801D02D0 001CBF30 3B 80 00 08 */ li r28, 8
-/* 801D02D4 001CBF34 38 80 00 00 */ li r4, 0
-/* 801D02D8 001CBF38 38 A0 00 00 */ li r5, 0
-/* 801D02DC 001CBF3C 7D 89 03 A6 */ mtctr r12
-/* 801D02E0 001CBF40 3B 7B 00 01 */ addi r27, r27, 1
-/* 801D02E4 001CBF44 4E 80 04 21 */ bctrl
-/* 801D02E8 001CBF48 7C 75 1B 78 */ mr r21, r3
-/* 801D02EC 001CBF4C 48 00 02 14 */ b lbl_801D0500
-lbl_801D02F0:
-/* 801D02F0 001CBF50 2C 0F 00 00 */ cmpwi r15, 0
-/* 801D02F4 001CBF54 40 82 00 08 */ bne lbl_801D02FC
-/* 801D02F8 001CBF58 39 E0 00 08 */ li r15, 8
-lbl_801D02FC:
-/* 801D02FC 001CBF5C 3B 80 00 10 */ li r28, 0x10
-/* 801D0300 001CBF60 48 00 02 00 */ b lbl_801D0500
-/* 801D0304 001CBF64 2C 0F 00 00 */ cmpwi r15, 0
-/* 801D0308 001CBF68 40 82 00 08 */ bne lbl_801D0310
-/* 801D030C 001CBF6C 39 E0 00 0A */ li r15, 0xa
-lbl_801D0310:
-/* 801D0310 001CBF70 38 00 00 00 */ li r0, 0
-/* 801D0314 001CBF74 7C 00 FE 70 */ srawi r0, r0, 0x1f
-/* 801D0318 001CBF78 7E E0 02 78 */ xor r0, r23, r0
-/* 801D031C 001CBF7C 7E C0 03 79 */ or. r0, r22, r0
-/* 801D0320 001CBF80 40 82 00 20 */ bne lbl_801D0340
-/* 801D0324 001CBF84 7D E6 7B 78 */ mr r6, r15
-/* 801D0328 001CBF88 7D E5 FE 70 */ srawi r5, r15, 0x1f
-/* 801D032C 001CBF8C 38 60 FF FF */ li r3, -1
-/* 801D0330 001CBF90 38 80 FF FF */ li r4, -1
-/* 801D0334 001CBF94 4B FF 6E 59 */ bl __div2u
-/* 801D0338 001CBF98 7C 96 23 78 */ mr r22, r4
-/* 801D033C 001CBF9C 7C 77 1B 78 */ mr r23, r3
-lbl_801D0340:
-/* 801D0340 001CBFA0 2C 15 00 00 */ cmpwi r21, 0
-/* 801D0344 001CBFA4 38 00 00 00 */ li r0, 0
-/* 801D0348 001CBFA8 41 80 00 0C */ blt lbl_801D0354
-/* 801D034C 001CBFAC 2C 15 01 00 */ cmpwi r21, 0x100
-/* 801D0350 001CBFB0 41 80 00 08 */ blt lbl_801D0358
-lbl_801D0354:
-/* 801D0354 001CBFB4 38 00 00 01 */ li r0, 1
-lbl_801D0358:
-/* 801D0358 001CBFB8 2C 00 00 00 */ cmpwi r0, 0
-/* 801D035C 001CBFBC 41 82 00 0C */ beq lbl_801D0368
-/* 801D0360 001CBFC0 38 00 00 00 */ li r0, 0
-/* 801D0364 001CBFC4 48 00 00 18 */ b lbl_801D037C
-lbl_801D0368:
-/* 801D0368 001CBFC8 80 7D 00 38 */ lwz r3, 0x38(r29)
-/* 801D036C 001CBFCC 56 A0 08 3C */ slwi r0, r21, 1
-/* 801D0370 001CBFD0 80 63 00 08 */ lwz r3, 8(r3)
-/* 801D0374 001CBFD4 7C 03 02 2E */ lhzx r0, r3, r0
-/* 801D0378 001CBFD8 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
-lbl_801D037C:
-/* 801D037C 001CBFDC 2C 00 00 00 */ cmpwi r0, 0
-/* 801D0380 001CBFE0 41 82 00 28 */ beq lbl_801D03A8
-/* 801D0384 001CBFE4 3A B5 FF D0 */ addi r21, r21, -48
-/* 801D0388 001CBFE8 7C 15 78 00 */ cmpw r21, r15
-/* 801D038C 001CBFEC 41 80 00 EC */ blt lbl_801D0478
-/* 801D0390 001CBFF0 2C 1C 00 10 */ cmpwi r28, 0x10
-/* 801D0394 001CBFF4 3B 80 00 40 */ li r28, 0x40
-/* 801D0398 001CBFF8 40 82 00 08 */ bne lbl_801D03A0
-/* 801D039C 001CBFFC 3B 80 00 20 */ li r28, 0x20
-lbl_801D03A0:
-/* 801D03A0 001CC000 3A B5 00 30 */ addi r21, r21, 0x30
-/* 801D03A4 001CC004 48 00 01 5C */ b lbl_801D0500
-lbl_801D03A8:
-/* 801D03A8 001CC008 2C 15 00 00 */ cmpwi r21, 0
-/* 801D03AC 001CC00C 38 00 00 00 */ li r0, 0
-/* 801D03B0 001CC010 41 80 00 0C */ blt lbl_801D03BC
-/* 801D03B4 001CC014 2C 15 01 00 */ cmpwi r21, 0x100
-/* 801D03B8 001CC018 41 80 00 08 */ blt lbl_801D03C0
-lbl_801D03BC:
-/* 801D03BC 001CC01C 38 00 00 01 */ li r0, 1
-lbl_801D03C0:
-/* 801D03C0 001CC020 2C 00 00 00 */ cmpwi r0, 0
-/* 801D03C4 001CC024 41 82 00 0C */ beq lbl_801D03D0
-/* 801D03C8 001CC028 38 00 00 00 */ li r0, 0
-/* 801D03CC 001CC02C 48 00 00 18 */ b lbl_801D03E4
-lbl_801D03D0:
-/* 801D03D0 001CC030 80 7D 00 38 */ lwz r3, 0x38(r29)
-/* 801D03D4 001CC034 56 A0 08 3C */ slwi r0, r21, 1
-/* 801D03D8 001CC038 80 63 00 08 */ lwz r3, 8(r3)
-/* 801D03DC 001CC03C 7C 03 02 2E */ lhzx r0, r3, r0
-/* 801D03E0 001CC040 54 00 07 FE */ clrlwi r0, r0, 0x1f
-lbl_801D03E4:
-/* 801D03E4 001CC044 2C 00 00 00 */ cmpwi r0, 0
-/* 801D03E8 001CC048 41 82 00 44 */ beq lbl_801D042C
-/* 801D03EC 001CC04C 2C 15 00 00 */ cmpwi r21, 0
-/* 801D03F0 001CC050 38 00 00 00 */ li r0, 0
-/* 801D03F4 001CC054 41 80 00 0C */ blt lbl_801D0400
-/* 801D03F8 001CC058 2C 15 01 00 */ cmpwi r21, 0x100
-/* 801D03FC 001CC05C 41 80 00 08 */ blt lbl_801D0404
-lbl_801D0400:
-/* 801D0400 001CC060 38 00 00 01 */ li r0, 1
-lbl_801D0404:
-/* 801D0404 001CC064 2C 00 00 00 */ cmpwi r0, 0
-/* 801D0408 001CC068 41 82 00 0C */ beq lbl_801D0414
-/* 801D040C 001CC06C 7E A3 AB 78 */ mr r3, r21
-/* 801D0410 001CC070 48 00 00 10 */ b lbl_801D0420
-lbl_801D0414:
-/* 801D0414 001CC074 80 7D 00 38 */ lwz r3, 0x38(r29)
-/* 801D0418 001CC078 80 63 00 0C */ lwz r3, 0xc(r3)
-/* 801D041C 001CC07C 7C 63 A8 AE */ lbzx r3, r3, r21
-lbl_801D0420:
-/* 801D0420 001CC080 38 03 FF C9 */ addi r0, r3, -55
-/* 801D0424 001CC084 7C 00 78 00 */ cmpw r0, r15
-/* 801D0428 001CC088 41 80 00 1C */ blt lbl_801D0444
-lbl_801D042C:
-/* 801D042C 001CC08C 2C 1C 00 10 */ cmpwi r28, 0x10
-/* 801D0430 001CC090 40 82 00 0C */ bne lbl_801D043C
-/* 801D0434 001CC094 3B 80 00 20 */ li r28, 0x20
-/* 801D0438 001CC098 48 00 00 C8 */ b lbl_801D0500
-lbl_801D043C:
-/* 801D043C 001CC09C 3B 80 00 40 */ li r28, 0x40
-/* 801D0440 001CC0A0 48 00 00 C0 */ b lbl_801D0500
-lbl_801D0444:
-/* 801D0444 001CC0A4 2C 15 00 00 */ cmpwi r21, 0
-/* 801D0448 001CC0A8 38 00 00 00 */ li r0, 0
-/* 801D044C 001CC0AC 41 80 00 0C */ blt lbl_801D0458
-/* 801D0450 001CC0B0 2C 15 01 00 */ cmpwi r21, 0x100
-/* 801D0454 001CC0B4 41 80 00 08 */ blt lbl_801D045C
-lbl_801D0458:
-/* 801D0458 001CC0B8 38 00 00 01 */ li r0, 1
-lbl_801D045C:
-/* 801D045C 001CC0BC 2C 00 00 00 */ cmpwi r0, 0
-/* 801D0460 001CC0C0 41 82 00 08 */ beq lbl_801D0468
-/* 801D0464 001CC0C4 48 00 00 10 */ b lbl_801D0474
-lbl_801D0468:
-/* 801D0468 001CC0C8 80 7D 00 38 */ lwz r3, 0x38(r29)
-/* 801D046C 001CC0CC 80 63 00 0C */ lwz r3, 0xc(r3)
-/* 801D0470 001CC0D0 7E A3 A8 AE */ lbzx r21, r3, r21
-lbl_801D0474:
-/* 801D0474 001CC0D4 3A B5 FF C9 */ addi r21, r21, -55
-lbl_801D0478:
-/* 801D0478 001CC0D8 7C 18 B0 10 */ subfc r0, r24, r22
-/* 801D047C 001CC0DC 7C 19 B9 10 */ subfe r0, r25, r23
-/* 801D0480 001CC0E0 7C 16 B1 10 */ subfe r0, r22, r22
-/* 801D0484 001CC0E4 7C 00 00 D1 */ neg. r0, r0
-/* 801D0488 001CC0E8 41 82 00 08 */ beq lbl_801D0490
-/* 801D048C 001CC0EC 93 D4 00 00 */ stw r30, 0(r20)
-lbl_801D0490:
-/* 801D0490 001CC0F0 7C 78 78 16 */ mulhwu r3, r24, r15
-/* 801D0494 001CC0F4 7D E5 FE 70 */ srawi r5, r15, 0x1f
-/* 801D0498 001CC0F8 7E A6 FE 70 */ srawi r6, r21, 0x1f
-/* 801D049C 001CC0FC 7C 99 79 D6 */ mullw r4, r25, r15
-/* 801D04A0 001CC100 7C 83 22 14 */ add r4, r3, r4
-/* 801D04A4 001CC104 7C 78 29 D6 */ mullw r3, r24, r5
-/* 801D04A8 001CC108 7C 18 79 D6 */ mullw r0, r24, r15
-/* 801D04AC 001CC10C 7C E4 1A 14 */ add r7, r4, r3
-/* 801D04B0 001CC110 7C A0 F8 10 */ subfc r5, r0, r31
-/* 801D04B4 001CC114 7C 87 F9 10 */ subfe r4, r7, r31
-/* 801D04B8 001CC118 7C 75 28 10 */ subfc r3, r21, r5
-/* 801D04BC 001CC11C 7C 66 21 10 */ subfe r3, r6, r4
-/* 801D04C0 001CC120 7C 65 29 10 */ subfe r3, r5, r5
-/* 801D04C4 001CC124 7C 63 00 D1 */ neg. r3, r3
-/* 801D04C8 001CC128 41 82 00 08 */ beq lbl_801D04D0
-/* 801D04CC 001CC12C 93 D4 00 00 */ stw r30, 0(r20)
-lbl_801D04D0:
-/* 801D04D0 001CC130 7E A4 FE 70 */ srawi r4, r21, 0x1f
-/* 801D04D4 001CC134 7E 2C 8B 78 */ mr r12, r17
-/* 801D04D8 001CC138 7F 00 A8 14 */ addc r24, r0, r21
-/* 801D04DC 001CC13C 7E 43 93 78 */ mr r3, r18
-/* 801D04E0 001CC140 7F 27 21 14 */ adde r25, r7, r4
-/* 801D04E4 001CC144 3B 80 00 10 */ li r28, 0x10
-/* 801D04E8 001CC148 38 80 00 00 */ li r4, 0
-/* 801D04EC 001CC14C 38 A0 00 00 */ li r5, 0
-/* 801D04F0 001CC150 7D 89 03 A6 */ mtctr r12
-/* 801D04F4 001CC154 3B 7B 00 01 */ addi r27, r27, 1
-/* 801D04F8 001CC158 4E 80 04 21 */ bctrl
-/* 801D04FC 001CC15C 7C 75 1B 78 */ mr r21, r3
-lbl_801D0500:
-/* 801D0500 001CC160 7C 1B 80 00 */ cmpw r27, r16
-/* 801D0504 001CC164 41 81 00 14 */ bgt lbl_801D0518
-/* 801D0508 001CC168 2C 15 FF FF */ cmpwi r21, -1
-/* 801D050C 001CC16C 41 82 00 0C */ beq lbl_801D0518
-/* 801D0510 001CC170 57 80 06 75 */ rlwinm. r0, r28, 0, 0x19, 0x1a
-/* 801D0514 001CC174 41 82 FC 74 */ beq lbl_801D0188
-lbl_801D0518:
-/* 801D0518 001CC178 73 80 00 34 */ andi. r0, r28, 0x34
-/* 801D051C 001CC17C 40 82 00 18 */ bne lbl_801D0534
-/* 801D0520 001CC180 80 61 00 08 */ lwz r3, 8(r1)
-/* 801D0524 001CC184 3B 00 00 00 */ li r24, 0
-/* 801D0528 001CC188 3B 20 00 00 */ li r25, 0
-/* 801D052C 001CC18C 93 03 00 00 */ stw r24, 0(r3)
-/* 801D0530 001CC190 48 00 00 14 */ b lbl_801D0544
-lbl_801D0534:
-/* 801D0534 001CC194 7C 7B D2 14 */ add r3, r27, r26
-/* 801D0538 001CC198 38 03 FF FF */ addi r0, r3, -1
-/* 801D053C 001CC19C 80 61 00 08 */ lwz r3, 8(r1)
-/* 801D0540 001CC1A0 90 03 00 00 */ stw r0, 0(r3)
-lbl_801D0544:
-/* 801D0544 001CC1A4 7E 2C 8B 78 */ mr r12, r17
-/* 801D0548 001CC1A8 7E 43 93 78 */ mr r3, r18
-/* 801D054C 001CC1AC 7E A4 AB 78 */ mr r4, r21
-/* 801D0550 001CC1B0 38 A0 00 01 */ li r5, 1
-/* 801D0554 001CC1B4 7D 89 03 A6 */ mtctr r12
-/* 801D0558 001CC1B8 4E 80 04 21 */ bctrl
-/* 801D055C 001CC1BC 7F 04 C3 78 */ mr r4, r24
-/* 801D0560 001CC1C0 7F 23 CB 78 */ mr r3, r25
-/* 801D0564 001CC1C4 B9 C1 00 18 */ lmw r14, 0x18(r1)
-/* 801D0568 001CC1C8 80 01 00 64 */ lwz r0, 0x64(r1)
-/* 801D056C 001CC1CC 7C 08 03 A6 */ mtlr r0
-/* 801D0570 001CC1D0 38 21 00 60 */ addi r1, r1, 0x60
-/* 801D0574 001CC1D4 4E 80 00 20 */ blr
-
-.global strtoul
-strtoul:
-/* 801D0578 001CC1D8 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 801D057C 001CC1DC 7C 08 02 A6 */ mflr r0
-/* 801D0580 001CC1E0 3C E0 80 00 */ lis r7, 0x7FFFFFFF@ha
-/* 801D0584 001CC1E4 3C C0 80 1D */ lis r6, __StringRead@ha
-/* 801D0588 001CC1E8 90 01 00 34 */ stw r0, 0x34(r1)
-/* 801D058C 001CC1EC 38 00 00 00 */ li r0, 0
-/* 801D0590 001CC1F0 39 01 00 0C */ addi r8, r1, 0xc
-/* 801D0594 001CC1F4 39 21 00 08 */ addi r9, r1, 8
-/* 801D0598 001CC1F8 93 E1 00 2C */ stw r31, 0x2c(r1)
-/* 801D059C 001CC1FC 7C 9F 23 78 */ mr r31, r4
-/* 801D05A0 001CC200 38 87 FF FF */ addi r4, r7, 0x7FFFFFFF@l
-/* 801D05A4 001CC204 38 E1 00 10 */ addi r7, r1, 0x10
-/* 801D05A8 001CC208 93 C1 00 28 */ stw r30, 0x28(r1)
-/* 801D05AC 001CC20C 7C 7E 1B 78 */ mr r30, r3
-/* 801D05B0 001CC210 7C A3 2B 78 */ mr r3, r5
-/* 801D05B4 001CC214 38 A6 E1 78 */ addi r5, r6, __StringRead@l
-/* 801D05B8 001CC218 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 801D05BC 001CC21C 38 C1 00 18 */ addi r6, r1, 0x18
-/* 801D05C0 001CC220 90 01 00 1C */ stw r0, 0x1c(r1)
-/* 801D05C4 001CC224 4B FF F6 C1 */ bl __strtoul
-/* 801D05C8 001CC228 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D05CC 001CC22C 41 82 00 10 */ beq lbl_801D05DC
-/* 801D05D0 001CC230 80 01 00 10 */ lwz r0, 0x10(r1)
-/* 801D05D4 001CC234 7C 1E 02 14 */ add r0, r30, r0
-/* 801D05D8 001CC238 90 1F 00 00 */ stw r0, 0(r31)
-lbl_801D05DC:
-/* 801D05DC 001CC23C 80 01 00 08 */ lwz r0, 8(r1)
-/* 801D05E0 001CC240 2C 00 00 00 */ cmpwi r0, 0
-/* 801D05E4 001CC244 41 82 00 14 */ beq lbl_801D05F8
-/* 801D05E8 001CC248 38 00 00 22 */ li r0, 0x22
-/* 801D05EC 001CC24C 38 60 FF FF */ li r3, -1
-/* 801D05F0 001CC250 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13)
-/* 801D05F4 001CC254 48 00 00 14 */ b lbl_801D0608
-lbl_801D05F8:
-/* 801D05F8 001CC258 80 01 00 0C */ lwz r0, 0xc(r1)
-/* 801D05FC 001CC25C 2C 00 00 00 */ cmpwi r0, 0
-/* 801D0600 001CC260 41 82 00 08 */ beq lbl_801D0608
-/* 801D0604 001CC264 7C 63 00 D0 */ neg r3, r3
-lbl_801D0608:
-/* 801D0608 001CC268 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 801D060C 001CC26C 83 E1 00 2C */ lwz r31, 0x2c(r1)
-/* 801D0610 001CC270 83 C1 00 28 */ lwz r30, 0x28(r1)
-/* 801D0614 001CC274 7C 08 03 A6 */ mtlr r0
-/* 801D0618 001CC278 38 21 00 30 */ addi r1, r1, 0x30
-/* 801D061C 001CC27C 4E 80 00 20 */ blr
-
-.global strtol
-strtol:
-/* 801D0620 001CC280 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 801D0624 001CC284 7C 08 02 A6 */ mflr r0
-/* 801D0628 001CC288 3C E0 80 00 */ lis r7, 0x7FFFFFFF@ha
-/* 801D062C 001CC28C 3C C0 80 1D */ lis r6, __StringRead@ha
-/* 801D0630 001CC290 90 01 00 34 */ stw r0, 0x34(r1)
-/* 801D0634 001CC294 38 00 00 00 */ li r0, 0
-/* 801D0638 001CC298 39 01 00 0C */ addi r8, r1, 0xc
-/* 801D063C 001CC29C 39 21 00 08 */ addi r9, r1, 8
-/* 801D0640 001CC2A0 93 E1 00 2C */ stw r31, 0x2c(r1)
-/* 801D0644 001CC2A4 7C 9F 23 78 */ mr r31, r4
-/* 801D0648 001CC2A8 38 87 FF FF */ addi r4, r7, 0x7FFFFFFF@l
-/* 801D064C 001CC2AC 38 E1 00 10 */ addi r7, r1, 0x10
-/* 801D0650 001CC2B0 93 C1 00 28 */ stw r30, 0x28(r1)
-/* 801D0654 001CC2B4 7C 7E 1B 78 */ mr r30, r3
-/* 801D0658 001CC2B8 7C A3 2B 78 */ mr r3, r5
-/* 801D065C 001CC2BC 38 A6 E1 78 */ addi r5, r6, __StringRead@l
-/* 801D0660 001CC2C0 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 801D0664 001CC2C4 38 C1 00 18 */ addi r6, r1, 0x18
-/* 801D0668 001CC2C8 90 01 00 1C */ stw r0, 0x1c(r1)
-/* 801D066C 001CC2CC 4B FF F6 19 */ bl __strtoul
-/* 801D0670 001CC2D0 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D0674 001CC2D4 41 82 00 10 */ beq lbl_801D0684
-/* 801D0678 001CC2D8 80 01 00 10 */ lwz r0, 0x10(r1)
-/* 801D067C 001CC2DC 7C 1E 02 14 */ add r0, r30, r0
-/* 801D0680 001CC2E0 90 1F 00 00 */ stw r0, 0(r31)
-lbl_801D0684:
-/* 801D0684 001CC2E4 80 01 00 08 */ lwz r0, 8(r1)
-/* 801D0688 001CC2E8 2C 00 00 00 */ cmpwi r0, 0
-/* 801D068C 001CC2EC 40 82 00 34 */ bne lbl_801D06C0
-/* 801D0690 001CC2F0 80 A1 00 0C */ lwz r5, 0xc(r1)
-/* 801D0694 001CC2F4 2C 05 00 00 */ cmpwi r5, 0
-/* 801D0698 001CC2F8 40 82 00 14 */ bne lbl_801D06AC
-/* 801D069C 001CC2FC 3C 80 80 00 */ lis r4, 0x7FFFFFFF@ha
-/* 801D06A0 001CC300 38 04 FF FF */ addi r0, r4, 0x7FFFFFFF@l
-/* 801D06A4 001CC304 7C 03 00 40 */ cmplw r3, r0
-/* 801D06A8 001CC308 41 81 00 18 */ bgt lbl_801D06C0
-lbl_801D06AC:
-/* 801D06AC 001CC30C 2C 05 00 00 */ cmpwi r5, 0
-/* 801D06B0 001CC310 41 82 00 38 */ beq lbl_801D06E8
-/* 801D06B4 001CC314 3C 00 80 00 */ lis r0, 0x8000
-/* 801D06B8 001CC318 7C 03 00 40 */ cmplw r3, r0
-/* 801D06BC 001CC31C 40 81 00 2C */ ble lbl_801D06E8
-lbl_801D06C0:
-/* 801D06C0 001CC320 80 A1 00 0C */ lwz r5, 0xc(r1)
-/* 801D06C4 001CC324 38 00 00 22 */ li r0, 0x22
-/* 801D06C8 001CC328 3C 60 80 00 */ lis r3, 0x7FFFFFFF@ha
-/* 801D06CC 001CC32C 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13)
-/* 801D06D0 001CC330 7C 85 00 D0 */ neg r4, r5
-/* 801D06D4 001CC334 7C 84 2B 78 */ or r4, r4, r5
-/* 801D06D8 001CC338 38 03 FF FF */ addi r0, r3, 0x7FFFFFFF@l
-/* 801D06DC 001CC33C 54 83 0F FE */ srwi r3, r4, 0x1f
-/* 801D06E0 001CC340 7C 63 02 14 */ add r3, r3, r0
-/* 801D06E4 001CC344 48 00 00 10 */ b lbl_801D06F4
-lbl_801D06E8:
-/* 801D06E8 001CC348 2C 05 00 00 */ cmpwi r5, 0
-/* 801D06EC 001CC34C 41 82 00 08 */ beq lbl_801D06F4
-/* 801D06F0 001CC350 7C 63 00 D0 */ neg r3, r3
-lbl_801D06F4:
-/* 801D06F4 001CC354 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 801D06F8 001CC358 83 E1 00 2C */ lwz r31, 0x2c(r1)
-/* 801D06FC 001CC35C 83 C1 00 28 */ lwz r30, 0x28(r1)
-/* 801D0700 001CC360 7C 08 03 A6 */ mtlr r0
-/* 801D0704 001CC364 38 21 00 30 */ addi r1, r1, 0x30
-/* 801D0708 001CC368 4E 80 00 20 */ blr
-
-.global atoi
-atoi:
-/* 801D070C 001CC36C 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 801D0710 001CC370 7C 08 02 A6 */ mflr r0
-/* 801D0714 001CC374 3C A0 80 1D */ lis r5, __StringRead@ha
-/* 801D0718 001CC378 90 01 00 34 */ stw r0, 0x34(r1)
-/* 801D071C 001CC37C 38 00 00 00 */ li r0, 0
-/* 801D0720 001CC380 38 A5 E1 78 */ addi r5, r5, __StringRead@l
-/* 801D0724 001CC384 38 C1 00 18 */ addi r6, r1, 0x18
-/* 801D0728 001CC388 93 E1 00 2C */ stw r31, 0x2c(r1)
-/* 801D072C 001CC38C 3F E0 80 00 */ lis r31, 0x7FFFFFFF@ha
-/* 801D0730 001CC390 38 9F FF FF */ addi r4, r31, 0x7FFFFFFF@l
-/* 801D0734 001CC394 38 E1 00 08 */ addi r7, r1, 8
-/* 801D0738 001CC398 90 61 00 18 */ stw r3, 0x18(r1)
-/* 801D073C 001CC39C 39 01 00 0C */ addi r8, r1, 0xc
-/* 801D0740 001CC3A0 39 21 00 10 */ addi r9, r1, 0x10
-/* 801D0744 001CC3A4 38 60 00 0A */ li r3, 0xa
-/* 801D0748 001CC3A8 90 01 00 1C */ stw r0, 0x1c(r1)
-/* 801D074C 001CC3AC 4B FF F5 39 */ bl __strtoul
-/* 801D0750 001CC3B0 80 01 00 10 */ lwz r0, 0x10(r1)
-/* 801D0754 001CC3B4 2C 00 00 00 */ cmpwi r0, 0
-/* 801D0758 001CC3B8 40 82 00 30 */ bne lbl_801D0788
-/* 801D075C 001CC3BC 80 81 00 0C */ lwz r4, 0xc(r1)
-/* 801D0760 001CC3C0 2C 04 00 00 */ cmpwi r4, 0
-/* 801D0764 001CC3C4 40 82 00 10 */ bne lbl_801D0774
-/* 801D0768 001CC3C8 38 1F FF FF */ addi r0, r31, -1
-/* 801D076C 001CC3CC 7C 03 00 40 */ cmplw r3, r0
-/* 801D0770 001CC3D0 41 81 00 18 */ bgt lbl_801D0788
-lbl_801D0774:
-/* 801D0774 001CC3D4 2C 04 00 00 */ cmpwi r4, 0
-/* 801D0778 001CC3D8 41 82 00 38 */ beq lbl_801D07B0
-/* 801D077C 001CC3DC 3C 00 80 00 */ lis r0, 0x8000
-/* 801D0780 001CC3E0 7C 03 00 40 */ cmplw r3, r0
-/* 801D0784 001CC3E4 40 81 00 2C */ ble lbl_801D07B0
-lbl_801D0788:
-/* 801D0788 001CC3E8 80 A1 00 0C */ lwz r5, 0xc(r1)
-/* 801D078C 001CC3EC 38 00 00 22 */ li r0, 0x22
-/* 801D0790 001CC3F0 3C 60 80 00 */ lis r3, 0x7FFFFFFF@ha
-/* 801D0794 001CC3F4 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13)
-/* 801D0798 001CC3F8 7C 85 00 D0 */ neg r4, r5
-/* 801D079C 001CC3FC 7C 84 2B 78 */ or r4, r4, r5
-/* 801D07A0 001CC400 38 03 FF FF */ addi r0, r3, 0x7FFFFFFF@l
-/* 801D07A4 001CC404 54 83 0F FE */ srwi r3, r4, 0x1f
-/* 801D07A8 001CC408 7C 63 02 14 */ add r3, r3, r0
-/* 801D07AC 001CC40C 48 00 00 10 */ b lbl_801D07BC
-lbl_801D07B0:
-/* 801D07B0 001CC410 2C 04 00 00 */ cmpwi r4, 0
-/* 801D07B4 001CC414 41 82 00 08 */ beq lbl_801D07BC
-/* 801D07B8 001CC418 7C 63 00 D0 */ neg r3, r3
-lbl_801D07BC:
-/* 801D07BC 001CC41C 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 801D07C0 001CC420 83 E1 00 2C */ lwz r31, 0x2c(r1)
-/* 801D07C4 001CC424 7C 08 03 A6 */ mtlr r0
-/* 801D07C8 001CC428 38 21 00 30 */ addi r1, r1, 0x30
-/* 801D07CC 001CC42C 4E 80 00 20 */ blr
|