mirror of
https://github.com/encounter/oot-gc.git
synced 2026-03-30 11:33:44 -07:00
2110 lines
90 KiB
ArmAsm
2110 lines
90 KiB
ArmAsm
# printf.c
|
|
.include "macros.inc"
|
|
|
|
.section .text, "ax"
|
|
|
|
.balign 4
|
|
|
|
glabel sprintf
|
|
/* 0C979C 800CED3C 7C0802A6 */ mflr r0
|
|
/* 0C97A0 800CED40 90010004 */ stw r0, 4(r1)
|
|
/* 0C97A4 800CED44 9421FF70 */ stwu r1, -0x90(r1)
|
|
/* 0C97A8 800CED48 93E1008C */ stw r31, 0x8c(r1)
|
|
/* 0C97AC 800CED4C 93C10088 */ stw r30, 0x88(r1)
|
|
/* 0C97B0 800CED50 40860024 */ bne cr1, lbl_800CED74
|
|
/* 0C97B4 800CED54 D8210028 */ stfd f1, 0x28(r1)
|
|
/* 0C97B8 800CED58 D8410030 */ stfd f2, 0x30(r1)
|
|
/* 0C97BC 800CED5C D8610038 */ stfd f3, 0x38(r1)
|
|
/* 0C97C0 800CED60 D8810040 */ stfd f4, 0x40(r1)
|
|
/* 0C97C4 800CED64 D8A10048 */ stfd f5, 0x48(r1)
|
|
/* 0C97C8 800CED68 D8C10050 */ stfd f6, 0x50(r1)
|
|
/* 0C97CC 800CED6C D8E10058 */ stfd f7, 0x58(r1)
|
|
/* 0C97D0 800CED70 D9010060 */ stfd f8, 0x60(r1)
|
|
lbl_800CED74:
|
|
/* 0C97D4 800CED74 90610008 */ stw r3, 8(r1)
|
|
/* 0C97D8 800CED78 3C000200 */ lis r0, 0x200
|
|
/* 0C97DC 800CED7C 3BC30000 */ addi r30, r3, 0
|
|
/* 0C97E0 800CED80 9081000C */ stw r4, 0xc(r1)
|
|
/* 0C97E4 800CED84 3BE0FFFF */ li r31, -1
|
|
/* 0C97E8 800CED88 90A10010 */ stw r5, 0x10(r1)
|
|
/* 0C97EC 800CED8C 3CA0800D */ lis r5, __StringWrite@ha
|
|
/* 0C97F0 800CED90 3865EF04 */ addi r3, r5, __StringWrite@l
|
|
/* 0C97F4 800CED94 90C10014 */ stw r6, 0x14(r1)
|
|
/* 0C97F8 800CED98 38A40000 */ addi r5, r4, 0
|
|
/* 0C97FC 800CED9C 38C1007C */ addi r6, r1, 0x7c
|
|
/* 0C9800 800CEDA0 90E10018 */ stw r7, 0x18(r1)
|
|
/* 0C9804 800CEDA4 38810070 */ addi r4, r1, 0x70
|
|
/* 0C9808 800CEDA8 9101001C */ stw r8, 0x1c(r1)
|
|
/* 0C980C 800CEDAC 91210020 */ stw r9, 0x20(r1)
|
|
/* 0C9810 800CEDB0 91410024 */ stw r10, 0x24(r1)
|
|
/* 0C9814 800CEDB4 9001007C */ stw r0, 0x7c(r1)
|
|
/* 0C9818 800CEDB8 38010098 */ addi r0, r1, 0x98
|
|
/* 0C981C 800CEDBC 90010080 */ stw r0, 0x80(r1)
|
|
/* 0C9820 800CEDC0 38010008 */ addi r0, r1, 8
|
|
/* 0C9824 800CEDC4 90010084 */ stw r0, 0x84(r1)
|
|
/* 0C9828 800CEDC8 38000000 */ li r0, 0
|
|
/* 0C982C 800CEDCC 93C10070 */ stw r30, 0x70(r1)
|
|
/* 0C9830 800CEDD0 93E10074 */ stw r31, 0x74(r1)
|
|
/* 0C9834 800CEDD4 90010078 */ stw r0, 0x78(r1)
|
|
/* 0C9838 800CEDD8 480001F1 */ bl __pformatter
|
|
/* 0C983C 800CEDDC 7C03F840 */ cmplw r3, r31
|
|
/* 0C9840 800CEDE0 4080000C */ bge lbl_800CEDEC
|
|
/* 0C9844 800CEDE4 7C641B78 */ mr r4, r3
|
|
/* 0C9848 800CEDE8 48000008 */ b lbl_800CEDF0
|
|
lbl_800CEDEC:
|
|
/* 0C984C 800CEDEC 3880FFFE */ li r4, -2
|
|
lbl_800CEDF0:
|
|
/* 0C9850 800CEDF0 38000000 */ li r0, 0
|
|
/* 0C9854 800CEDF4 7C1E21AE */ stbx r0, r30, r4
|
|
/* 0C9858 800CEDF8 80010094 */ lwz r0, 0x94(r1)
|
|
/* 0C985C 800CEDFC 83E1008C */ lwz r31, 0x8c(r1)
|
|
/* 0C9860 800CEE00 83C10088 */ lwz r30, 0x88(r1)
|
|
/* 0C9864 800CEE04 7C0803A6 */ mtlr r0
|
|
/* 0C9868 800CEE08 38210090 */ addi r1, r1, 0x90
|
|
/* 0C986C 800CEE0C 4E800020 */ blr
|
|
|
|
glabel vsprintf
|
|
/* 0C9870 800CEE10 7C0802A6 */ mflr r0
|
|
/* 0C9874 800CEE14 38C50000 */ addi r6, r5, 0
|
|
/* 0C9878 800CEE18 90010004 */ stw r0, 4(r1)
|
|
/* 0C987C 800CEE1C 38000000 */ li r0, 0
|
|
/* 0C9880 800CEE20 38A40000 */ addi r5, r4, 0
|
|
/* 0C9884 800CEE24 9421FFD8 */ stwu r1, -0x28(r1)
|
|
/* 0C9888 800CEE28 93E10024 */ stw r31, 0x24(r1)
|
|
/* 0C988C 800CEE2C 3BE0FFFF */ li r31, -1
|
|
/* 0C9890 800CEE30 38810014 */ addi r4, r1, 0x14
|
|
/* 0C9894 800CEE34 93C10020 */ stw r30, 0x20(r1)
|
|
/* 0C9898 800CEE38 7C7E1B78 */ mr r30, r3
|
|
/* 0C989C 800CEE3C 3C60800D */ lis r3, __StringWrite@ha
|
|
/* 0C98A0 800CEE40 93C10014 */ stw r30, 0x14(r1)
|
|
/* 0C98A4 800CEE44 3863EF04 */ addi r3, r3, __StringWrite@l
|
|
/* 0C98A8 800CEE48 93E10018 */ stw r31, 0x18(r1)
|
|
/* 0C98AC 800CEE4C 9001001C */ stw r0, 0x1c(r1)
|
|
/* 0C98B0 800CEE50 48000179 */ bl __pformatter
|
|
/* 0C98B4 800CEE54 7C03F840 */ cmplw r3, r31
|
|
/* 0C98B8 800CEE58 4080000C */ bge lbl_800CEE64
|
|
/* 0C98BC 800CEE5C 7C641B78 */ mr r4, r3
|
|
/* 0C98C0 800CEE60 48000008 */ b lbl_800CEE68
|
|
lbl_800CEE64:
|
|
/* 0C98C4 800CEE64 3880FFFE */ li r4, -2
|
|
lbl_800CEE68:
|
|
/* 0C98C8 800CEE68 38000000 */ li r0, 0
|
|
/* 0C98CC 800CEE6C 7C1E21AE */ stbx r0, r30, r4
|
|
/* 0C98D0 800CEE70 8001002C */ lwz r0, 0x2c(r1)
|
|
/* 0C98D4 800CEE74 83E10024 */ lwz r31, 0x24(r1)
|
|
/* 0C98D8 800CEE78 83C10020 */ lwz r30, 0x20(r1)
|
|
/* 0C98DC 800CEE7C 7C0803A6 */ mtlr r0
|
|
/* 0C98E0 800CEE80 38210028 */ addi r1, r1, 0x28
|
|
/* 0C98E4 800CEE84 4E800020 */ blr
|
|
|
|
glabel vprintf
|
|
/* 0C98E8 800CEE88 7C0802A6 */ mflr r0
|
|
/* 0C98EC 800CEE8C 3CA0800F */ lis r5, __files@ha
|
|
/* 0C98F0 800CEE90 90010004 */ stw r0, 4(r1)
|
|
/* 0C98F4 800CEE94 38A53B38 */ addi r5, r5, __files@l
|
|
/* 0C98F8 800CEE98 9421FFE0 */ stwu r1, -0x20(r1)
|
|
/* 0C98FC 800CEE9C 93E1001C */ stw r31, 0x1c(r1)
|
|
/* 0C9900 800CEEA0 3BE50048 */ addi r31, r5, 0x48
|
|
/* 0C9904 800CEEA4 93C10018 */ stw r30, 0x18(r1)
|
|
/* 0C9908 800CEEA8 3BC40000 */ addi r30, r4, 0
|
|
/* 0C990C 800CEEAC 3880FFFF */ li r4, -1
|
|
/* 0C9910 800CEEB0 93A10014 */ stw r29, 0x14(r1)
|
|
/* 0C9914 800CEEB4 3BA30000 */ addi r29, r3, 0
|
|
/* 0C9918 800CEEB8 387F0000 */ addi r3, r31, 0
|
|
/* 0C991C 800CEEBC 4800214D */ bl fwide
|
|
/* 0C9920 800CEEC0 2C030000 */ cmpwi r3, 0
|
|
/* 0C9924 800CEEC4 4180000C */ blt lbl_800CEED0
|
|
/* 0C9928 800CEEC8 3860FFFF */ li r3, -1
|
|
/* 0C992C 800CEECC 4800001C */ b lbl_800CEEE8
|
|
lbl_800CEED0:
|
|
/* 0C9930 800CEED0 3C60800D */ lis r3, __FileWrite@ha
|
|
/* 0C9934 800CEED4 3863EF70 */ addi r3, r3, __FileWrite@l
|
|
/* 0C9938 800CEED8 389F0000 */ addi r4, r31, 0
|
|
/* 0C993C 800CEEDC 38BD0000 */ addi r5, r29, 0
|
|
/* 0C9940 800CEEE0 38DE0000 */ addi r6, r30, 0
|
|
/* 0C9944 800CEEE4 480000E5 */ bl __pformatter
|
|
lbl_800CEEE8:
|
|
/* 0C9948 800CEEE8 80010024 */ lwz r0, 0x24(r1)
|
|
/* 0C994C 800CEEEC 83E1001C */ lwz r31, 0x1c(r1)
|
|
/* 0C9950 800CEEF0 83C10018 */ lwz r30, 0x18(r1)
|
|
/* 0C9954 800CEEF4 7C0803A6 */ mtlr r0
|
|
/* 0C9958 800CEEF8 83A10014 */ lwz r29, 0x14(r1)
|
|
/* 0C995C 800CEEFC 38210020 */ addi r1, r1, 0x20
|
|
/* 0C9960 800CEF00 4E800020 */ blr
|
|
|
|
glabel __StringWrite
|
|
/* 0C9964 800CEF04 7C0802A6 */ mflr r0
|
|
/* 0C9968 800CEF08 90010004 */ stw r0, 4(r1)
|
|
/* 0C996C 800CEF0C 9421FFE0 */ stwu r1, -0x20(r1)
|
|
/* 0C9970 800CEF10 93E1001C */ stw r31, 0x1c(r1)
|
|
/* 0C9974 800CEF14 93C10018 */ stw r30, 0x18(r1)
|
|
/* 0C9978 800CEF18 7C7E1B78 */ mr r30, r3
|
|
/* 0C997C 800CEF1C 80630008 */ lwz r3, 8(r3)
|
|
/* 0C9980 800CEF20 80DE0004 */ lwz r6, 4(r30)
|
|
/* 0C9984 800CEF24 7C032A14 */ add r0, r3, r5
|
|
/* 0C9988 800CEF28 7C003040 */ cmplw r0, r6
|
|
/* 0C998C 800CEF2C 4181000C */ bgt lbl_800CEF38
|
|
/* 0C9990 800CEF30 7CBF2B78 */ mr r31, r5
|
|
/* 0C9994 800CEF34 48000008 */ b lbl_800CEF3C
|
|
lbl_800CEF38:
|
|
/* 0C9998 800CEF38 7FE33050 */ subf r31, r3, r6
|
|
lbl_800CEF3C:
|
|
/* 0C999C 800CEF3C 801E0000 */ lwz r0, 0(r30)
|
|
/* 0C99A0 800CEF40 38BF0000 */ addi r5, r31, 0
|
|
/* 0C99A4 800CEF44 7C601A14 */ add r3, r0, r3
|
|
/* 0C99A8 800CEF48 4BF3657D */ bl memcpy
|
|
/* 0C99AC 800CEF4C 801E0008 */ lwz r0, 8(r30)
|
|
/* 0C99B0 800CEF50 7C00FA14 */ add r0, r0, r31
|
|
/* 0C99B4 800CEF54 901E0008 */ stw r0, 8(r30)
|
|
/* 0C99B8 800CEF58 80010024 */ lwz r0, 0x24(r1)
|
|
/* 0C99BC 800CEF5C 83E1001C */ lwz r31, 0x1c(r1)
|
|
/* 0C99C0 800CEF60 83C10018 */ lwz r30, 0x18(r1)
|
|
/* 0C99C4 800CEF64 7C0803A6 */ mtlr r0
|
|
/* 0C99C8 800CEF68 38210020 */ addi r1, r1, 0x20
|
|
/* 0C99CC 800CEF6C 4E800020 */ blr
|
|
|
|
glabel __FileWrite
|
|
/* 0C99D0 800CEF70 7C0802A6 */ mflr r0
|
|
/* 0C99D4 800CEF74 90010004 */ stw r0, 4(r1)
|
|
/* 0C99D8 800CEF78 9421FFE0 */ stwu r1, -0x20(r1)
|
|
/* 0C99DC 800CEF7C 93E1001C */ stw r31, 0x1c(r1)
|
|
/* 0C99E0 800CEF80 3BE50000 */ addi r31, r5, 0
|
|
/* 0C99E4 800CEF84 93C10018 */ stw r30, 0x18(r1)
|
|
/* 0C99E8 800CEF88 3BC30000 */ addi r30, r3, 0
|
|
/* 0C99EC 800CEF8C 38640000 */ addi r3, r4, 0
|
|
/* 0C99F0 800CEF90 38DE0000 */ addi r6, r30, 0
|
|
/* 0C99F4 800CEF94 38800001 */ li r4, 1
|
|
/* 0C99F8 800CEF98 4BFFF661 */ bl fwrite
|
|
/* 0C99FC 800CEF9C 7C1F1840 */ cmplw r31, r3
|
|
/* 0C9A00 800CEFA0 4082000C */ bne lbl_800CEFAC
|
|
/* 0C9A04 800CEFA4 7FC3F378 */ mr r3, r30
|
|
/* 0C9A08 800CEFA8 48000008 */ b lbl_800CEFB0
|
|
lbl_800CEFAC:
|
|
/* 0C9A0C 800CEFAC 38600000 */ li r3, 0
|
|
lbl_800CEFB0:
|
|
/* 0C9A10 800CEFB0 80010024 */ lwz r0, 0x24(r1)
|
|
/* 0C9A14 800CEFB4 83E1001C */ lwz r31, 0x1c(r1)
|
|
/* 0C9A18 800CEFB8 83C10018 */ lwz r30, 0x18(r1)
|
|
/* 0C9A1C 800CEFBC 7C0803A6 */ mtlr r0
|
|
/* 0C9A20 800CEFC0 38210020 */ addi r1, r1, 0x20
|
|
/* 0C9A24 800CEFC4 4E800020 */ blr
|
|
|
|
__pformatter:
|
|
/* 0C9A28 800CEFC8 7C0802A6 */ mflr r0
|
|
/* 0C9A2C 800CEFCC 3CE0800D */ lis r7, D_800D36B0@ha
|
|
/* 0C9A30 800CEFD0 90010004 */ stw r0, 4(r1)
|
|
/* 0C9A34 800CEFD4 38000020 */ li r0, 0x20
|
|
/* 0C9A38 800CEFD8 9421FD98 */ stwu r1, -0x268(r1)
|
|
/* 0C9A3C 800CEFDC BE410230 */ stmw r18, 0x230(r1)
|
|
/* 0C9A40 800CEFE0 3BE30000 */ addi r31, r3, 0
|
|
/* 0C9A44 800CEFE4 3BC40000 */ addi r30, r4, 0
|
|
/* 0C9A48 800CEFE8 3B860000 */ addi r28, r6, 0
|
|
/* 0C9A4C 800CEFEC 3B250000 */ addi r25, r5, 0
|
|
/* 0C9A50 800CEFF0 3B41021C */ addi r26, r1, 0x21c
|
|
/* 0C9A54 800CEFF4 3AE1021B */ addi r23, r1, 0x21b
|
|
/* 0C9A58 800CEFF8 3A8736B0 */ addi r20, r7, D_800D36B0@l
|
|
/* 0C9A5C 800CEFFC 3B600000 */ li r27, 0
|
|
/* 0C9A60 800CF000 98010019 */ stb r0, 0x19(r1)
|
|
/* 0C9A64 800CF004 480005D0 */ b lbl_800CF5D4
|
|
lbl_800CF008:
|
|
/* 0C9A68 800CF008 38790000 */ addi r3, r25, 0
|
|
/* 0C9A6C 800CF00C 38800025 */ li r4, 0x25
|
|
/* 0C9A70 800CF010 480017C1 */ bl strchr
|
|
/* 0C9A74 800CF014 7C781B79 */ or. r24, r3, r3
|
|
/* 0C9A78 800CF018 4082003C */ bne lbl_800CF054
|
|
/* 0C9A7C 800CF01C 7F23CB78 */ mr r3, r25
|
|
/* 0C9A80 800CF020 48001A3D */ bl strlen
|
|
/* 0C9A84 800CF024 7C651B79 */ or. r5, r3, r3
|
|
/* 0C9A88 800CF028 7F7B2A14 */ add r27, r27, r5
|
|
/* 0C9A8C 800CF02C 418205B4 */ beq lbl_800CF5E0
|
|
/* 0C9A90 800CF030 399F0000 */ addi r12, r31, 0
|
|
/* 0C9A94 800CF034 7D8803A6 */ mtlr r12
|
|
/* 0C9A98 800CF038 387E0000 */ addi r3, r30, 0
|
|
/* 0C9A9C 800CF03C 38990000 */ addi r4, r25, 0
|
|
/* 0C9AA0 800CF040 4E800021 */ blrl
|
|
/* 0C9AA4 800CF044 28030000 */ cmplwi r3, 0
|
|
/* 0C9AA8 800CF048 40820598 */ bne lbl_800CF5E0
|
|
/* 0C9AAC 800CF04C 3860FFFF */ li r3, -1
|
|
/* 0C9AB0 800CF050 48000594 */ b lbl_800CF5E4
|
|
lbl_800CF054:
|
|
/* 0C9AB4 800CF054 7CB9C051 */ subf. r5, r25, r24
|
|
/* 0C9AB8 800CF058 7F7B2A14 */ add r27, r27, r5
|
|
/* 0C9ABC 800CF05C 41820028 */ beq lbl_800CF084
|
|
/* 0C9AC0 800CF060 399F0000 */ addi r12, r31, 0
|
|
/* 0C9AC4 800CF064 7D8803A6 */ mtlr r12
|
|
/* 0C9AC8 800CF068 387E0000 */ addi r3, r30, 0
|
|
/* 0C9ACC 800CF06C 38990000 */ addi r4, r25, 0
|
|
/* 0C9AD0 800CF070 4E800021 */ blrl
|
|
/* 0C9AD4 800CF074 28030000 */ cmplwi r3, 0
|
|
/* 0C9AD8 800CF078 4082000C */ bne lbl_800CF084
|
|
/* 0C9ADC 800CF07C 3860FFFF */ li r3, -1
|
|
/* 0C9AE0 800CF080 48000564 */ b lbl_800CF5E4
|
|
lbl_800CF084:
|
|
/* 0C9AE4 800CF084 38780000 */ addi r3, r24, 0
|
|
/* 0C9AE8 800CF088 389C0000 */ addi r4, r28, 0
|
|
/* 0C9AEC 800CF08C 38A1021C */ addi r5, r1, 0x21c
|
|
/* 0C9AF0 800CF090 480011D9 */ bl parse_format
|
|
/* 0C9AF4 800CF094 88010221 */ lbz r0, 0x221(r1)
|
|
/* 0C9AF8 800CF098 3B230000 */ addi r25, r3, 0
|
|
/* 0C9AFC 800CF09C 2C000069 */ cmpwi r0, 0x69
|
|
/* 0C9B00 800CF0A0 418200A4 */ beq lbl_800CF144
|
|
/* 0C9B04 800CF0A4 40800058 */ bge lbl_800CF0FC
|
|
/* 0C9B08 800CF0A8 2C000058 */ cmpwi r0, 0x58
|
|
/* 0C9B0C 800CF0AC 41820154 */ beq lbl_800CF200
|
|
/* 0C9B10 800CF0B0 40800028 */ bge lbl_800CF0D8
|
|
/* 0C9B14 800CF0B4 2C000045 */ cmpwi r0, 0x45
|
|
/* 0C9B18 800CF0B8 41820204 */ beq lbl_800CF2BC
|
|
/* 0C9B1C 800CF0BC 40800010 */ bge lbl_800CF0CC
|
|
/* 0C9B20 800CF0C0 2C000025 */ cmpwi r0, 0x25
|
|
/* 0C9B24 800CF0C4 4182037C */ beq lbl_800CF440
|
|
/* 0C9B28 800CF0C8 4800038C */ b lbl_800CF454
|
|
lbl_800CF0CC:
|
|
/* 0C9B2C 800CF0CC 2C000047 */ cmpwi r0, 0x47
|
|
/* 0C9B30 800CF0D0 418201EC */ beq lbl_800CF2BC
|
|
/* 0C9B34 800CF0D4 48000380 */ b lbl_800CF454
|
|
lbl_800CF0D8:
|
|
/* 0C9B38 800CF0D8 2C000064 */ cmpwi r0, 0x64
|
|
/* 0C9B3C 800CF0DC 41820068 */ beq lbl_800CF144
|
|
/* 0C9B40 800CF0E0 40800010 */ bge lbl_800CF0F0
|
|
/* 0C9B44 800CF0E4 2C000063 */ cmpwi r0, 0x63
|
|
/* 0C9B48 800CF0E8 40800334 */ bge lbl_800CF41C
|
|
/* 0C9B4C 800CF0EC 48000368 */ b lbl_800CF454
|
|
lbl_800CF0F0:
|
|
/* 0C9B50 800CF0F0 2C000068 */ cmpwi r0, 0x68
|
|
/* 0C9B54 800CF0F4 40800360 */ bge lbl_800CF454
|
|
/* 0C9B58 800CF0F8 480001C4 */ b lbl_800CF2BC
|
|
lbl_800CF0FC:
|
|
/* 0C9B5C 800CF0FC 2C000075 */ cmpwi r0, 0x75
|
|
/* 0C9B60 800CF100 41820100 */ beq lbl_800CF200
|
|
/* 0C9B64 800CF104 40800028 */ bge lbl_800CF12C
|
|
/* 0C9B68 800CF108 2C00006F */ cmpwi r0, 0x6f
|
|
/* 0C9B6C 800CF10C 418200F4 */ beq lbl_800CF200
|
|
/* 0C9B70 800CF110 40800010 */ bge lbl_800CF120
|
|
/* 0C9B74 800CF114 2C00006E */ cmpwi r0, 0x6e
|
|
/* 0C9B78 800CF118 4080029C */ bge lbl_800CF3B4
|
|
/* 0C9B7C 800CF11C 48000338 */ b lbl_800CF454
|
|
lbl_800CF120:
|
|
/* 0C9B80 800CF120 2C000073 */ cmpwi r0, 0x73
|
|
/* 0C9B84 800CF124 418201BC */ beq lbl_800CF2E0
|
|
/* 0C9B88 800CF128 4800032C */ b lbl_800CF454
|
|
lbl_800CF12C:
|
|
/* 0C9B8C 800CF12C 2C0000FF */ cmpwi r0, 0xff
|
|
/* 0C9B90 800CF130 41820324 */ beq lbl_800CF454
|
|
/* 0C9B94 800CF134 40800320 */ bge lbl_800CF454
|
|
/* 0C9B98 800CF138 2C000078 */ cmpwi r0, 0x78
|
|
/* 0C9B9C 800CF13C 418200C4 */ beq lbl_800CF200
|
|
/* 0C9BA0 800CF140 48000314 */ b lbl_800CF454
|
|
lbl_800CF144:
|
|
/* 0C9BA4 800CF144 88010220 */ lbz r0, 0x220(r1)
|
|
/* 0C9BA8 800CF148 28000003 */ cmplwi r0, 3
|
|
/* 0C9BAC 800CF14C 40820018 */ bne lbl_800CF164
|
|
/* 0C9BB0 800CF150 387C0000 */ addi r3, r28, 0
|
|
/* 0C9BB4 800CF154 38800001 */ li r4, 1
|
|
/* 0C9BB8 800CF158 4BFFE641 */ bl __va_arg
|
|
/* 0C9BBC 800CF15C 83A30000 */ lwz r29, 0(r3)
|
|
/* 0C9BC0 800CF160 48000034 */ b lbl_800CF194
|
|
lbl_800CF164:
|
|
/* 0C9BC4 800CF164 28000004 */ cmplwi r0, 4
|
|
/* 0C9BC8 800CF168 4082001C */ bne lbl_800CF184
|
|
/* 0C9BCC 800CF16C 387C0000 */ addi r3, r28, 0
|
|
/* 0C9BD0 800CF170 38800002 */ li r4, 2
|
|
/* 0C9BD4 800CF174 4BFFE625 */ bl __va_arg
|
|
/* 0C9BD8 800CF178 82A30000 */ lwz r21, 0(r3)
|
|
/* 0C9BDC 800CF17C 82C30004 */ lwz r22, 4(r3)
|
|
/* 0C9BE0 800CF180 48000014 */ b lbl_800CF194
|
|
lbl_800CF184:
|
|
/* 0C9BE4 800CF184 387C0000 */ addi r3, r28, 0
|
|
/* 0C9BE8 800CF188 38800001 */ li r4, 1
|
|
/* 0C9BEC 800CF18C 4BFFE60D */ bl __va_arg
|
|
/* 0C9BF0 800CF190 83A30000 */ lwz r29, 0(r3)
|
|
lbl_800CF194:
|
|
/* 0C9BF4 800CF194 88610220 */ lbz r3, 0x220(r1)
|
|
/* 0C9BF8 800CF198 28030002 */ cmplwi r3, 2
|
|
/* 0C9BFC 800CF19C 4082000C */ bne lbl_800CF1A8
|
|
/* 0C9C00 800CF1A0 7FA00734 */ extsh r0, r29
|
|
/* 0C9C04 800CF1A4 7C1D0378 */ mr r29, r0
|
|
lbl_800CF1A8:
|
|
/* 0C9C08 800CF1A8 28030001 */ cmplwi r3, 1
|
|
/* 0C9C0C 800CF1AC 4082000C */ bne lbl_800CF1B8
|
|
/* 0C9C10 800CF1B0 7FA00774 */ extsb r0, r29
|
|
/* 0C9C14 800CF1B4 7C1D0378 */ mr r29, r0
|
|
lbl_800CF1B8:
|
|
/* 0C9C18 800CF1B8 28030004 */ cmplwi r3, 4
|
|
/* 0C9C1C 800CF1BC 40820024 */ bne lbl_800CF1E0
|
|
/* 0C9C20 800CF1C0 38960000 */ addi r4, r22, 0
|
|
/* 0C9C24 800CF1C4 38750000 */ addi r3, r21, 0
|
|
/* 0C9C28 800CF1C8 38BA0000 */ addi r5, r26, 0
|
|
/* 0C9C2C 800CF1CC 38C1021C */ addi r6, r1, 0x21c
|
|
/* 0C9C30 800CF1D0 48000B95 */ bl longlong2str
|
|
/* 0C9C34 800CF1D4 7C731B79 */ or. r19, r3, r3
|
|
/* 0C9C38 800CF1D8 4182027C */ beq lbl_800CF454
|
|
/* 0C9C3C 800CF1DC 4800001C */ b lbl_800CF1F8
|
|
lbl_800CF1E0:
|
|
/* 0C9C40 800CF1E0 387D0000 */ addi r3, r29, 0
|
|
/* 0C9C44 800CF1E4 389A0000 */ addi r4, r26, 0
|
|
/* 0C9C48 800CF1E8 38A1021C */ addi r5, r1, 0x21c
|
|
/* 0C9C4C 800CF1EC 48000E59 */ bl long2str
|
|
/* 0C9C50 800CF1F0 7C731B79 */ or. r19, r3, r3
|
|
/* 0C9C54 800CF1F4 41820260 */ beq lbl_800CF454
|
|
lbl_800CF1F8:
|
|
/* 0C9C58 800CF1F8 7F13B850 */ subf r24, r19, r23
|
|
/* 0C9C5C 800CF1FC 48000298 */ b lbl_800CF494
|
|
lbl_800CF200:
|
|
/* 0C9C60 800CF200 88010220 */ lbz r0, 0x220(r1)
|
|
/* 0C9C64 800CF204 28000003 */ cmplwi r0, 3
|
|
/* 0C9C68 800CF208 40820018 */ bne lbl_800CF220
|
|
/* 0C9C6C 800CF20C 387C0000 */ addi r3, r28, 0
|
|
/* 0C9C70 800CF210 38800001 */ li r4, 1
|
|
/* 0C9C74 800CF214 4BFFE585 */ bl __va_arg
|
|
/* 0C9C78 800CF218 83A30000 */ lwz r29, 0(r3)
|
|
/* 0C9C7C 800CF21C 48000034 */ b lbl_800CF250
|
|
lbl_800CF220:
|
|
/* 0C9C80 800CF220 28000004 */ cmplwi r0, 4
|
|
/* 0C9C84 800CF224 4082001C */ bne lbl_800CF240
|
|
/* 0C9C88 800CF228 387C0000 */ addi r3, r28, 0
|
|
/* 0C9C8C 800CF22C 38800002 */ li r4, 2
|
|
/* 0C9C90 800CF230 4BFFE569 */ bl __va_arg
|
|
/* 0C9C94 800CF234 82A30000 */ lwz r21, 0(r3)
|
|
/* 0C9C98 800CF238 82C30004 */ lwz r22, 4(r3)
|
|
/* 0C9C9C 800CF23C 48000014 */ b lbl_800CF250
|
|
lbl_800CF240:
|
|
/* 0C9CA0 800CF240 387C0000 */ addi r3, r28, 0
|
|
/* 0C9CA4 800CF244 38800001 */ li r4, 1
|
|
/* 0C9CA8 800CF248 4BFFE551 */ bl __va_arg
|
|
/* 0C9CAC 800CF24C 83A30000 */ lwz r29, 0(r3)
|
|
lbl_800CF250:
|
|
/* 0C9CB0 800CF250 88610220 */ lbz r3, 0x220(r1)
|
|
/* 0C9CB4 800CF254 28030002 */ cmplwi r3, 2
|
|
/* 0C9CB8 800CF258 4082000C */ bne lbl_800CF264
|
|
/* 0C9CBC 800CF25C 57A0043E */ clrlwi r0, r29, 0x10
|
|
/* 0C9CC0 800CF260 7C1D0378 */ mr r29, r0
|
|
lbl_800CF264:
|
|
/* 0C9CC4 800CF264 28030001 */ cmplwi r3, 1
|
|
/* 0C9CC8 800CF268 4082000C */ bne lbl_800CF274
|
|
/* 0C9CCC 800CF26C 57A0063E */ clrlwi r0, r29, 0x18
|
|
/* 0C9CD0 800CF270 7C1D0378 */ mr r29, r0
|
|
lbl_800CF274:
|
|
/* 0C9CD4 800CF274 28030004 */ cmplwi r3, 4
|
|
/* 0C9CD8 800CF278 40820024 */ bne lbl_800CF29C
|
|
/* 0C9CDC 800CF27C 38960000 */ addi r4, r22, 0
|
|
/* 0C9CE0 800CF280 38750000 */ addi r3, r21, 0
|
|
/* 0C9CE4 800CF284 38BA0000 */ addi r5, r26, 0
|
|
/* 0C9CE8 800CF288 38C1021C */ addi r6, r1, 0x21c
|
|
/* 0C9CEC 800CF28C 48000AD9 */ bl longlong2str
|
|
/* 0C9CF0 800CF290 7C731B79 */ or. r19, r3, r3
|
|
/* 0C9CF4 800CF294 418201C0 */ beq lbl_800CF454
|
|
/* 0C9CF8 800CF298 4800001C */ b lbl_800CF2B4
|
|
lbl_800CF29C:
|
|
/* 0C9CFC 800CF29C 387D0000 */ addi r3, r29, 0
|
|
/* 0C9D00 800CF2A0 389A0000 */ addi r4, r26, 0
|
|
/* 0C9D04 800CF2A4 38A1021C */ addi r5, r1, 0x21c
|
|
/* 0C9D08 800CF2A8 48000D9D */ bl long2str
|
|
/* 0C9D0C 800CF2AC 7C731B79 */ or. r19, r3, r3
|
|
/* 0C9D10 800CF2B0 418201A4 */ beq lbl_800CF454
|
|
lbl_800CF2B4:
|
|
/* 0C9D14 800CF2B4 7F13B850 */ subf r24, r19, r23
|
|
/* 0C9D18 800CF2B8 480001DC */ b lbl_800CF494
|
|
lbl_800CF2BC:
|
|
/* 0C9D1C 800CF2BC 387C0000 */ addi r3, r28, 0
|
|
/* 0C9D20 800CF2C0 389A0000 */ addi r4, r26, 0
|
|
/* 0C9D24 800CF2C4 38A1021C */ addi r5, r1, 0x21c
|
|
/* 0C9D28 800CF2C8 38C00000 */ li r6, 0
|
|
/* 0C9D2C 800CF2CC 4800032D */ bl float2str
|
|
/* 0C9D30 800CF2D0 7C731B79 */ or. r19, r3, r3
|
|
/* 0C9D34 800CF2D4 41820180 */ beq lbl_800CF454
|
|
/* 0C9D38 800CF2D8 7F13B850 */ subf r24, r19, r23
|
|
/* 0C9D3C 800CF2DC 480001B8 */ b lbl_800CF494
|
|
lbl_800CF2E0:
|
|
/* 0C9D40 800CF2E0 88010220 */ lbz r0, 0x220(r1)
|
|
/* 0C9D44 800CF2E4 28000006 */ cmplwi r0, 6
|
|
/* 0C9D48 800CF2E8 4082003C */ bne lbl_800CF324
|
|
/* 0C9D4C 800CF2EC 387C0000 */ addi r3, r28, 0
|
|
/* 0C9D50 800CF2F0 38800001 */ li r4, 1
|
|
/* 0C9D54 800CF2F4 4BFFE4A5 */ bl __va_arg
|
|
/* 0C9D58 800CF2F8 80830000 */ lwz r4, 0(r3)
|
|
/* 0C9D5C 800CF2FC 28040000 */ cmplwi r4, 0
|
|
/* 0C9D60 800CF300 40820008 */ bne lbl_800CF308
|
|
/* 0C9D64 800CF304 388D8888 */ addi r4, r13, D_80135568@sda21
|
|
lbl_800CF308:
|
|
/* 0C9D68 800CF308 3861001C */ addi r3, r1, 0x1c
|
|
/* 0C9D6C 800CF30C 38A00200 */ li r5, 0x200
|
|
/* 0C9D70 800CF310 4BFFF5C5 */ bl wcstombs
|
|
/* 0C9D74 800CF314 2C030000 */ cmpwi r3, 0
|
|
/* 0C9D78 800CF318 4180013C */ blt lbl_800CF454
|
|
/* 0C9D7C 800CF31C 3A61001C */ addi r19, r1, 0x1c
|
|
/* 0C9D80 800CF320 48000014 */ b lbl_800CF334
|
|
lbl_800CF324:
|
|
/* 0C9D84 800CF324 387C0000 */ addi r3, r28, 0
|
|
/* 0C9D88 800CF328 38800001 */ li r4, 1
|
|
/* 0C9D8C 800CF32C 4BFFE46D */ bl __va_arg
|
|
/* 0C9D90 800CF330 82630000 */ lwz r19, 0(r3)
|
|
lbl_800CF334:
|
|
/* 0C9D94 800CF334 28130000 */ cmplwi r19, 0
|
|
/* 0C9D98 800CF338 40820008 */ bne lbl_800CF340
|
|
/* 0C9D9C 800CF33C 7E93A378 */ mr r19, r20
|
|
lbl_800CF340:
|
|
/* 0C9DA0 800CF340 8801021F */ lbz r0, 0x21f(r1)
|
|
/* 0C9DA4 800CF344 28000000 */ cmplwi r0, 0
|
|
/* 0C9DA8 800CF348 4182002C */ beq lbl_800CF374
|
|
/* 0C9DAC 800CF34C 8801021E */ lbz r0, 0x21e(r1)
|
|
/* 0C9DB0 800CF350 8B130000 */ lbz r24, 0(r19)
|
|
/* 0C9DB4 800CF354 3A730001 */ addi r19, r19, 1
|
|
/* 0C9DB8 800CF358 28000000 */ cmplwi r0, 0
|
|
/* 0C9DBC 800CF35C 41820138 */ beq lbl_800CF494
|
|
/* 0C9DC0 800CF360 80010228 */ lwz r0, 0x228(r1)
|
|
/* 0C9DC4 800CF364 7C180000 */ cmpw r24, r0
|
|
/* 0C9DC8 800CF368 4081012C */ ble lbl_800CF494
|
|
/* 0C9DCC 800CF36C 7C180378 */ mr r24, r0
|
|
/* 0C9DD0 800CF370 48000124 */ b lbl_800CF494
|
|
lbl_800CF374:
|
|
/* 0C9DD4 800CF374 8801021E */ lbz r0, 0x21e(r1)
|
|
/* 0C9DD8 800CF378 28000000 */ cmplwi r0, 0
|
|
/* 0C9DDC 800CF37C 41820028 */ beq lbl_800CF3A4
|
|
/* 0C9DE0 800CF380 83010228 */ lwz r24, 0x228(r1)
|
|
/* 0C9DE4 800CF384 38730000 */ addi r3, r19, 0
|
|
/* 0C9DE8 800CF388 38800000 */ li r4, 0
|
|
/* 0C9DEC 800CF38C 38B80000 */ addi r5, r24, 0
|
|
/* 0C9DF0 800CF390 4BFFF5C5 */ bl memchr
|
|
/* 0C9DF4 800CF394 28030000 */ cmplwi r3, 0
|
|
/* 0C9DF8 800CF398 418200FC */ beq lbl_800CF494
|
|
/* 0C9DFC 800CF39C 7F131850 */ subf r24, r19, r3
|
|
/* 0C9E00 800CF3A0 480000F4 */ b lbl_800CF494
|
|
lbl_800CF3A4:
|
|
/* 0C9E04 800CF3A4 7E639B78 */ mr r3, r19
|
|
/* 0C9E08 800CF3A8 480016B5 */ bl strlen
|
|
/* 0C9E0C 800CF3AC 7C781B78 */ mr r24, r3
|
|
/* 0C9E10 800CF3B0 480000E4 */ b lbl_800CF494
|
|
lbl_800CF3B4:
|
|
/* 0C9E14 800CF3B4 387C0000 */ addi r3, r28, 0
|
|
/* 0C9E18 800CF3B8 38800001 */ li r4, 1
|
|
/* 0C9E1C 800CF3BC 4BFFE3DD */ bl __va_arg
|
|
/* 0C9E20 800CF3C0 88010220 */ lbz r0, 0x220(r1)
|
|
/* 0C9E24 800CF3C4 80630000 */ lwz r3, 0(r3)
|
|
/* 0C9E28 800CF3C8 2C000002 */ cmpwi r0, 2
|
|
/* 0C9E2C 800CF3CC 4182002C */ beq lbl_800CF3F8
|
|
/* 0C9E30 800CF3D0 40800010 */ bge lbl_800CF3E0
|
|
/* 0C9E34 800CF3D4 2C000000 */ cmpwi r0, 0
|
|
/* 0C9E38 800CF3D8 41820018 */ beq lbl_800CF3F0
|
|
/* 0C9E3C 800CF3DC 480001F8 */ b lbl_800CF5D4
|
|
lbl_800CF3E0:
|
|
/* 0C9E40 800CF3E0 2C000004 */ cmpwi r0, 4
|
|
/* 0C9E44 800CF3E4 41820028 */ beq lbl_800CF40C
|
|
/* 0C9E48 800CF3E8 408001EC */ bge lbl_800CF5D4
|
|
/* 0C9E4C 800CF3EC 48000018 */ b lbl_800CF404
|
|
lbl_800CF3F0:
|
|
/* 0C9E50 800CF3F0 93630000 */ stw r27, 0(r3)
|
|
/* 0C9E54 800CF3F4 480001E0 */ b lbl_800CF5D4
|
|
lbl_800CF3F8:
|
|
/* 0C9E58 800CF3F8 7F600734 */ extsh r0, r27
|
|
/* 0C9E5C 800CF3FC B0030000 */ sth r0, 0(r3)
|
|
/* 0C9E60 800CF400 480001D4 */ b lbl_800CF5D4
|
|
lbl_800CF404:
|
|
/* 0C9E64 800CF404 93630000 */ stw r27, 0(r3)
|
|
/* 0C9E68 800CF408 480001CC */ b lbl_800CF5D4
|
|
lbl_800CF40C:
|
|
/* 0C9E6C 800CF40C 93630004 */ stw r27, 4(r3)
|
|
/* 0C9E70 800CF410 7F60FE70 */ srawi r0, r27, 0x1f
|
|
/* 0C9E74 800CF414 90030000 */ stw r0, 0(r3)
|
|
/* 0C9E78 800CF418 480001BC */ b lbl_800CF5D4
|
|
lbl_800CF41C:
|
|
/* 0C9E7C 800CF41C 387C0000 */ addi r3, r28, 0
|
|
/* 0C9E80 800CF420 3A61001C */ addi r19, r1, 0x1c
|
|
/* 0C9E84 800CF424 38800001 */ li r4, 1
|
|
/* 0C9E88 800CF428 4BFFE371 */ bl __va_arg
|
|
/* 0C9E8C 800CF42C 80030000 */ lwz r0, 0(r3)
|
|
/* 0C9E90 800CF430 3B000001 */ li r24, 1
|
|
/* 0C9E94 800CF434 7C000774 */ extsb r0, r0
|
|
/* 0C9E98 800CF438 9801001C */ stb r0, 0x1c(r1)
|
|
/* 0C9E9C 800CF43C 48000058 */ b lbl_800CF494
|
|
lbl_800CF440:
|
|
/* 0C9EA0 800CF440 38000025 */ li r0, 0x25
|
|
/* 0C9EA4 800CF444 9801001C */ stb r0, 0x1c(r1)
|
|
/* 0C9EA8 800CF448 3A61001C */ addi r19, r1, 0x1c
|
|
/* 0C9EAC 800CF44C 3B000001 */ li r24, 1
|
|
/* 0C9EB0 800CF450 48000044 */ b lbl_800CF494
|
|
lbl_800CF454:
|
|
/* 0C9EB4 800CF454 7F03C378 */ mr r3, r24
|
|
/* 0C9EB8 800CF458 48001605 */ bl strlen
|
|
/* 0C9EBC 800CF45C 7C651B79 */ or. r5, r3, r3
|
|
/* 0C9EC0 800CF460 7F7B2A14 */ add r27, r27, r5
|
|
/* 0C9EC4 800CF464 41820028 */ beq lbl_800CF48C
|
|
/* 0C9EC8 800CF468 399F0000 */ addi r12, r31, 0
|
|
/* 0C9ECC 800CF46C 7D8803A6 */ mtlr r12
|
|
/* 0C9ED0 800CF470 387E0000 */ addi r3, r30, 0
|
|
/* 0C9ED4 800CF474 38980000 */ addi r4, r24, 0
|
|
/* 0C9ED8 800CF478 4E800021 */ blrl
|
|
/* 0C9EDC 800CF47C 28030000 */ cmplwi r3, 0
|
|
/* 0C9EE0 800CF480 4082000C */ bne lbl_800CF48C
|
|
/* 0C9EE4 800CF484 3860FFFF */ li r3, -1
|
|
/* 0C9EE8 800CF488 4800015C */ b lbl_800CF5E4
|
|
lbl_800CF48C:
|
|
/* 0C9EEC 800CF48C 7F63DB78 */ mr r3, r27
|
|
/* 0C9EF0 800CF490 48000154 */ b lbl_800CF5E4
|
|
lbl_800CF494:
|
|
/* 0C9EF4 800CF494 8801021C */ lbz r0, 0x21c(r1)
|
|
/* 0C9EF8 800CF498 3A580000 */ addi r18, r24, 0
|
|
/* 0C9EFC 800CF49C 28000000 */ cmplwi r0, 0
|
|
/* 0C9F00 800CF4A0 418200B0 */ beq lbl_800CF550
|
|
/* 0C9F04 800CF4A4 28000002 */ cmplwi r0, 2
|
|
/* 0C9F08 800CF4A8 4082000C */ bne lbl_800CF4B4
|
|
/* 0C9F0C 800CF4AC 38000030 */ li r0, 0x30
|
|
/* 0C9F10 800CF4B0 48000008 */ b lbl_800CF4B8
|
|
lbl_800CF4B4:
|
|
/* 0C9F14 800CF4B4 38000020 */ li r0, 0x20
|
|
lbl_800CF4B8:
|
|
/* 0C9F18 800CF4B8 7C000774 */ extsb r0, r0
|
|
/* 0C9F1C 800CF4BC 98010019 */ stb r0, 0x19(r1)
|
|
/* 0C9F20 800CF4C0 88130000 */ lbz r0, 0(r19)
|
|
/* 0C9F24 800CF4C4 7C000774 */ extsb r0, r0
|
|
/* 0C9F28 800CF4C8 2C00002B */ cmpwi r0, 0x2b
|
|
/* 0C9F2C 800CF4CC 4182000C */ beq lbl_800CF4D8
|
|
/* 0C9F30 800CF4D0 2C00002D */ cmpwi r0, 0x2d
|
|
/* 0C9F34 800CF4D4 40820070 */ bne lbl_800CF544
|
|
lbl_800CF4D8:
|
|
/* 0C9F38 800CF4D8 88010019 */ lbz r0, 0x19(r1)
|
|
/* 0C9F3C 800CF4DC 2C000030 */ cmpwi r0, 0x30
|
|
/* 0C9F40 800CF4E0 40820064 */ bne lbl_800CF544
|
|
/* 0C9F44 800CF4E4 399F0000 */ addi r12, r31, 0
|
|
/* 0C9F48 800CF4E8 7D8803A6 */ mtlr r12
|
|
/* 0C9F4C 800CF4EC 387E0000 */ addi r3, r30, 0
|
|
/* 0C9F50 800CF4F0 38930000 */ addi r4, r19, 0
|
|
/* 0C9F54 800CF4F4 38A00001 */ li r5, 1
|
|
/* 0C9F58 800CF4F8 4E800021 */ blrl
|
|
/* 0C9F5C 800CF4FC 28030000 */ cmplwi r3, 0
|
|
/* 0C9F60 800CF500 4082000C */ bne lbl_800CF50C
|
|
/* 0C9F64 800CF504 3860FFFF */ li r3, -1
|
|
/* 0C9F68 800CF508 480000DC */ b lbl_800CF5E4
|
|
lbl_800CF50C:
|
|
/* 0C9F6C 800CF50C 3A730001 */ addi r19, r19, 1
|
|
/* 0C9F70 800CF510 3B18FFFF */ addi r24, r24, -1
|
|
/* 0C9F74 800CF514 48000030 */ b lbl_800CF544
|
|
lbl_800CF518:
|
|
/* 0C9F78 800CF518 399F0000 */ addi r12, r31, 0
|
|
/* 0C9F7C 800CF51C 7D8803A6 */ mtlr r12
|
|
/* 0C9F80 800CF520 387E0000 */ addi r3, r30, 0
|
|
/* 0C9F84 800CF524 38810019 */ addi r4, r1, 0x19
|
|
/* 0C9F88 800CF528 38A00001 */ li r5, 1
|
|
/* 0C9F8C 800CF52C 4E800021 */ blrl
|
|
/* 0C9F90 800CF530 28030000 */ cmplwi r3, 0
|
|
/* 0C9F94 800CF534 4082000C */ bne lbl_800CF540
|
|
/* 0C9F98 800CF538 3860FFFF */ li r3, -1
|
|
/* 0C9F9C 800CF53C 480000A8 */ b lbl_800CF5E4
|
|
lbl_800CF540:
|
|
/* 0C9FA0 800CF540 3A520001 */ addi r18, r18, 1
|
|
lbl_800CF544:
|
|
/* 0C9FA4 800CF544 80010224 */ lwz r0, 0x224(r1)
|
|
/* 0C9FA8 800CF548 7C120000 */ cmpw r18, r0
|
|
/* 0C9FAC 800CF54C 4180FFCC */ blt lbl_800CF518
|
|
lbl_800CF550:
|
|
/* 0C9FB0 800CF550 2C180000 */ cmpwi r24, 0
|
|
/* 0C9FB4 800CF554 4182002C */ beq lbl_800CF580
|
|
/* 0C9FB8 800CF558 399F0000 */ addi r12, r31, 0
|
|
/* 0C9FBC 800CF55C 7D8803A6 */ mtlr r12
|
|
/* 0C9FC0 800CF560 387E0000 */ addi r3, r30, 0
|
|
/* 0C9FC4 800CF564 38930000 */ addi r4, r19, 0
|
|
/* 0C9FC8 800CF568 38B80000 */ addi r5, r24, 0
|
|
/* 0C9FCC 800CF56C 4E800021 */ blrl
|
|
/* 0C9FD0 800CF570 28030000 */ cmplwi r3, 0
|
|
/* 0C9FD4 800CF574 4082000C */ bne lbl_800CF580
|
|
/* 0C9FD8 800CF578 3860FFFF */ li r3, -1
|
|
/* 0C9FDC 800CF57C 48000068 */ b lbl_800CF5E4
|
|
lbl_800CF580:
|
|
/* 0C9FE0 800CF580 8801021C */ lbz r0, 0x21c(r1)
|
|
/* 0C9FE4 800CF584 28000000 */ cmplwi r0, 0
|
|
/* 0C9FE8 800CF588 40820048 */ bne lbl_800CF5D0
|
|
/* 0C9FEC 800CF58C 3A600020 */ li r19, 0x20
|
|
/* 0C9FF0 800CF590 48000034 */ b lbl_800CF5C4
|
|
lbl_800CF594:
|
|
/* 0C9FF4 800CF594 7FECFB78 */ mr r12, r31
|
|
/* 0C9FF8 800CF598 9A610018 */ stb r19, 0x18(r1)
|
|
/* 0C9FFC 800CF59C 7D8803A6 */ mtlr r12
|
|
/* 0CA000 800CF5A0 387E0000 */ addi r3, r30, 0
|
|
/* 0CA004 800CF5A4 38810018 */ addi r4, r1, 0x18
|
|
/* 0CA008 800CF5A8 38A00001 */ li r5, 1
|
|
/* 0CA00C 800CF5AC 4E800021 */ blrl
|
|
/* 0CA010 800CF5B0 28030000 */ cmplwi r3, 0
|
|
/* 0CA014 800CF5B4 4082000C */ bne lbl_800CF5C0
|
|
/* 0CA018 800CF5B8 3860FFFF */ li r3, -1
|
|
/* 0CA01C 800CF5BC 48000028 */ b lbl_800CF5E4
|
|
lbl_800CF5C0:
|
|
/* 0CA020 800CF5C0 3A520001 */ addi r18, r18, 1
|
|
lbl_800CF5C4:
|
|
/* 0CA024 800CF5C4 80010224 */ lwz r0, 0x224(r1)
|
|
/* 0CA028 800CF5C8 7C120000 */ cmpw r18, r0
|
|
/* 0CA02C 800CF5CC 4180FFC8 */ blt lbl_800CF594
|
|
lbl_800CF5D0:
|
|
/* 0CA030 800CF5D0 7F7B9214 */ add r27, r27, r18
|
|
lbl_800CF5D4:
|
|
/* 0CA034 800CF5D4 88190000 */ lbz r0, 0(r25)
|
|
/* 0CA038 800CF5D8 7C000775 */ extsb. r0, r0
|
|
/* 0CA03C 800CF5DC 4082FA2C */ bne lbl_800CF008
|
|
lbl_800CF5E0:
|
|
/* 0CA040 800CF5E0 7F63DB78 */ mr r3, r27
|
|
lbl_800CF5E4:
|
|
/* 0CA044 800CF5E4 BA410230 */ lmw r18, 0x230(r1)
|
|
/* 0CA048 800CF5E8 8001026C */ lwz r0, 0x26c(r1)
|
|
/* 0CA04C 800CF5EC 38210268 */ addi r1, r1, 0x268
|
|
/* 0CA050 800CF5F0 7C0803A6 */ mtlr r0
|
|
/* 0CA054 800CF5F4 4E800020 */ blr
|
|
|
|
float2str:
|
|
/* 0CA058 800CF5F8 7C0802A6 */ mflr r0
|
|
/* 0CA05C 800CF5FC 90010004 */ stw r0, 4(r1)
|
|
/* 0CA060 800CF600 9421FFA0 */ stwu r1, -0x60(r1)
|
|
/* 0CA064 800CF604 DBE10058 */ stfd f31, 0x58(r1)
|
|
/* 0CA068 800CF608 93E10054 */ stw r31, 0x54(r1)
|
|
/* 0CA06C 800CF60C 93C10050 */ stw r30, 0x50(r1)
|
|
/* 0CA070 800CF610 93A1004C */ stw r29, 0x4c(r1)
|
|
/* 0CA074 800CF614 7CBD2B78 */ mr r29, r5
|
|
/* 0CA078 800CF618 93810048 */ stw r28, 0x48(r1)
|
|
/* 0CA07C 800CF61C 3B840000 */ addi r28, r4, 0
|
|
/* 0CA080 800CF620 88050004 */ lbz r0, 4(r5)
|
|
/* 0CA084 800CF624 28000005 */ cmplwi r0, 5
|
|
/* 0CA088 800CF628 40820014 */ bne lbl_800CF63C
|
|
/* 0CA08C 800CF62C 38800003 */ li r4, 3
|
|
/* 0CA090 800CF630 4BFFE169 */ bl __va_arg
|
|
/* 0CA094 800CF634 CBE30000 */ lfd f31, 0(r3)
|
|
/* 0CA098 800CF638 48000010 */ b lbl_800CF648
|
|
lbl_800CF63C:
|
|
/* 0CA09C 800CF63C 38800003 */ li r4, 3
|
|
/* 0CA0A0 800CF640 4BFFE159 */ bl __va_arg
|
|
/* 0CA0A4 800CF644 CBE30000 */ lfd f31, 0(r3)
|
|
lbl_800CF648:
|
|
/* 0CA0A8 800CF648 801D000C */ lwz r0, 0xc(r29)
|
|
/* 0CA0AC 800CF64C 2C0001FD */ cmpwi r0, 0x1fd
|
|
/* 0CA0B0 800CF650 4081000C */ ble lbl_800CF65C
|
|
/* 0CA0B4 800CF654 38600000 */ li r3, 0
|
|
/* 0CA0B8 800CF658 480005B4 */ b lbl_800CFC0C
|
|
lbl_800CF65C:
|
|
/* 0CA0BC 800CF65C 38000000 */ li r0, 0
|
|
/* 0CA0C0 800CF660 FC20F890 */ fmr f1, f31
|
|
/* 0CA0C4 800CF664 98010018 */ stb r0, 0x18(r1)
|
|
/* 0CA0C8 800CF668 38000020 */ li r0, 0x20
|
|
/* 0CA0CC 800CF66C 38610018 */ addi r3, r1, 0x18
|
|
/* 0CA0D0 800CF670 B001001A */ sth r0, 0x1a(r1)
|
|
/* 0CA0D4 800CF674 3881001C */ addi r4, r1, 0x1c
|
|
/* 0CA0D8 800CF678 4BFFEA79 */ bl __num2dec
|
|
/* 0CA0DC 800CF67C 88010020 */ lbz r0, 0x20(r1)
|
|
/* 0CA0E0 800CF680 3BE10021 */ addi r31, r1, 0x21
|
|
/* 0CA0E4 800CF684 7C9F0214 */ add r4, r31, r0
|
|
/* 0CA0E8 800CF688 4800001C */ b lbl_800CF6A4
|
|
lbl_800CF68C:
|
|
/* 0CA0EC 800CF68C 88610020 */ lbz r3, 0x20(r1)
|
|
/* 0CA0F0 800CF690 3803FFFF */ addi r0, r3, -1
|
|
/* 0CA0F4 800CF694 98010020 */ stb r0, 0x20(r1)
|
|
/* 0CA0F8 800CF698 A861001E */ lha r3, 0x1e(r1)
|
|
/* 0CA0FC 800CF69C 38030001 */ addi r0, r3, 1
|
|
/* 0CA100 800CF6A0 B001001E */ sth r0, 0x1e(r1)
|
|
lbl_800CF6A4:
|
|
/* 0CA104 800CF6A4 88010020 */ lbz r0, 0x20(r1)
|
|
/* 0CA108 800CF6A8 28000001 */ cmplwi r0, 1
|
|
/* 0CA10C 800CF6AC 40810010 */ ble lbl_800CF6BC
|
|
/* 0CA110 800CF6B0 8C04FFFF */ lbzu r0, -1(r4)
|
|
/* 0CA114 800CF6B4 2C000030 */ cmpwi r0, 0x30
|
|
/* 0CA118 800CF6B8 4182FFD4 */ beq lbl_800CF68C
|
|
lbl_800CF6BC:
|
|
/* 0CA11C 800CF6BC 88010021 */ lbz r0, 0x21(r1)
|
|
/* 0CA120 800CF6C0 2C000049 */ cmpwi r0, 0x49
|
|
/* 0CA124 800CF6C4 4182002C */ beq lbl_800CF6F0
|
|
/* 0CA128 800CF6C8 40800010 */ bge lbl_800CF6D8
|
|
/* 0CA12C 800CF6CC 2C000030 */ cmpwi r0, 0x30
|
|
/* 0CA130 800CF6D0 41820014 */ beq lbl_800CF6E4
|
|
/* 0CA134 800CF6D4 48000084 */ b lbl_800CF758
|
|
lbl_800CF6D8:
|
|
/* 0CA138 800CF6D8 2C00004E */ cmpwi r0, 0x4e
|
|
/* 0CA13C 800CF6DC 4182005C */ beq lbl_800CF738
|
|
/* 0CA140 800CF6E0 48000078 */ b lbl_800CF758
|
|
lbl_800CF6E4:
|
|
/* 0CA144 800CF6E4 38000000 */ li r0, 0
|
|
/* 0CA148 800CF6E8 B001001E */ sth r0, 0x1e(r1)
|
|
/* 0CA14C 800CF6EC 4800006C */ b lbl_800CF758
|
|
lbl_800CF6F0:
|
|
/* 0CA150 800CF6F0 C8028568 */ lfd f0, D_80136268@sda21(r2)
|
|
/* 0CA154 800CF6F4 FC1F0040 */ fcmpo cr0, f31, f0
|
|
/* 0CA158 800CF6F8 40800020 */ bge lbl_800CF718
|
|
/* 0CA15C 800CF6FC 3C60800D */ lis r3, D_800D36B0@ha
|
|
/* 0CA160 800CF700 3B9CFFFB */ addi r28, r28, -5
|
|
/* 0CA164 800CF704 388336B0 */ addi r4, r3, D_800D36B0@l
|
|
/* 0CA168 800CF708 387C0000 */ addi r3, r28, 0
|
|
/* 0CA16C 800CF70C 38840001 */ addi r4, r4, 1
|
|
/* 0CA170 800CF710 48001299 */ bl strcpy
|
|
/* 0CA174 800CF714 4800001C */ b lbl_800CF730
|
|
lbl_800CF718:
|
|
/* 0CA178 800CF718 3C60800D */ lis r3, D_800D36B0@ha
|
|
/* 0CA17C 800CF71C 3B9CFFFC */ addi r28, r28, -4
|
|
/* 0CA180 800CF720 388336B0 */ addi r4, r3, D_800D36B0@l
|
|
/* 0CA184 800CF724 387C0000 */ addi r3, r28, 0
|
|
/* 0CA188 800CF728 38840006 */ addi r4, r4, 6
|
|
/* 0CA18C 800CF72C 4800127D */ bl strcpy
|
|
lbl_800CF730:
|
|
/* 0CA190 800CF730 7F83E378 */ mr r3, r28
|
|
/* 0CA194 800CF734 480004D8 */ b lbl_800CFC0C
|
|
lbl_800CF738:
|
|
/* 0CA198 800CF738 3C60800D */ lis r3, D_800D36B0@ha
|
|
/* 0CA19C 800CF73C 3B9CFFFC */ addi r28, r28, -4
|
|
/* 0CA1A0 800CF740 388336B0 */ addi r4, r3, D_800D36B0@l
|
|
/* 0CA1A4 800CF744 387C0000 */ addi r3, r28, 0
|
|
/* 0CA1A8 800CF748 3884000A */ addi r4, r4, 0xa
|
|
/* 0CA1AC 800CF74C 4800125D */ bl strcpy
|
|
/* 0CA1B0 800CF750 7F83E378 */ mr r3, r28
|
|
/* 0CA1B4 800CF754 480004B8 */ b lbl_800CFC0C
|
|
lbl_800CF758:
|
|
/* 0CA1B8 800CF758 A881001E */ lha r4, 0x1e(r1)
|
|
/* 0CA1BC 800CF75C 38000000 */ li r0, 0
|
|
/* 0CA1C0 800CF760 88610020 */ lbz r3, 0x20(r1)
|
|
/* 0CA1C4 800CF764 3BDCFFFF */ addi r30, r28, -1
|
|
/* 0CA1C8 800CF768 7C632214 */ add r3, r3, r4
|
|
/* 0CA1CC 800CF76C 3863FFFF */ addi r3, r3, -1
|
|
/* 0CA1D0 800CF770 B061001E */ sth r3, 0x1e(r1)
|
|
/* 0CA1D4 800CF774 981CFFFF */ stb r0, -1(r28)
|
|
/* 0CA1D8 800CF778 881D0005 */ lbz r0, 5(r29)
|
|
/* 0CA1DC 800CF77C 2C000065 */ cmpwi r0, 0x65
|
|
/* 0CA1E0 800CF780 418200F4 */ beq lbl_800CF874
|
|
/* 0CA1E4 800CF784 40800028 */ bge lbl_800CF7AC
|
|
/* 0CA1E8 800CF788 2C000046 */ cmpwi r0, 0x46
|
|
/* 0CA1EC 800CF78C 4182047C */ beq lbl_800CFC08
|
|
/* 0CA1F0 800CF790 40800010 */ bge lbl_800CF7A0
|
|
/* 0CA1F4 800CF794 2C000045 */ cmpwi r0, 0x45
|
|
/* 0CA1F8 800CF798 408000DC */ bge lbl_800CF874
|
|
/* 0CA1FC 800CF79C 4800046C */ b lbl_800CFC08
|
|
lbl_800CF7A0:
|
|
/* 0CA200 800CF7A0 2C000048 */ cmpwi r0, 0x48
|
|
/* 0CA204 800CF7A4 40800464 */ bge lbl_800CFC08
|
|
/* 0CA208 800CF7A8 48000014 */ b lbl_800CF7BC
|
|
lbl_800CF7AC:
|
|
/* 0CA20C 800CF7AC 2C000067 */ cmpwi r0, 0x67
|
|
/* 0CA210 800CF7B0 4182000C */ beq lbl_800CF7BC
|
|
/* 0CA214 800CF7B4 40800454 */ bge lbl_800CFC08
|
|
/* 0CA218 800CF7B8 4800022C */ b lbl_800CF9E4
|
|
lbl_800CF7BC:
|
|
/* 0CA21C 800CF7BC 88010020 */ lbz r0, 0x20(r1)
|
|
/* 0CA220 800CF7C0 809D000C */ lwz r4, 0xc(r29)
|
|
/* 0CA224 800CF7C4 7C002000 */ cmpw r0, r4
|
|
/* 0CA228 800CF7C8 4081000C */ ble lbl_800CF7D4
|
|
/* 0CA22C 800CF7CC 3861001C */ addi r3, r1, 0x1c
|
|
/* 0CA230 800CF7D0 48000461 */ bl round_decimal
|
|
lbl_800CF7D4:
|
|
/* 0CA234 800CF7D4 A881001E */ lha r4, 0x1e(r1)
|
|
/* 0CA238 800CF7D8 2C04FFFC */ cmpwi r4, -4
|
|
/* 0CA23C 800CF7DC 41800010 */ blt lbl_800CF7EC
|
|
/* 0CA240 800CF7E0 807D000C */ lwz r3, 0xc(r29)
|
|
/* 0CA244 800CF7E4 7C041800 */ cmpw r4, r3
|
|
/* 0CA248 800CF7E8 41800050 */ blt lbl_800CF838
|
|
lbl_800CF7EC:
|
|
/* 0CA24C 800CF7EC 881D0003 */ lbz r0, 3(r29)
|
|
/* 0CA250 800CF7F0 28000000 */ cmplwi r0, 0
|
|
/* 0CA254 800CF7F4 41820014 */ beq lbl_800CF808
|
|
/* 0CA258 800CF7F8 807D000C */ lwz r3, 0xc(r29)
|
|
/* 0CA25C 800CF7FC 3803FFFF */ addi r0, r3, -1
|
|
/* 0CA260 800CF800 901D000C */ stw r0, 0xc(r29)
|
|
/* 0CA264 800CF804 48000010 */ b lbl_800CF814
|
|
lbl_800CF808:
|
|
/* 0CA268 800CF808 88610020 */ lbz r3, 0x20(r1)
|
|
/* 0CA26C 800CF80C 3803FFFF */ addi r0, r3, -1
|
|
/* 0CA270 800CF810 901D000C */ stw r0, 0xc(r29)
|
|
lbl_800CF814:
|
|
/* 0CA274 800CF814 881D0005 */ lbz r0, 5(r29)
|
|
/* 0CA278 800CF818 28000067 */ cmplwi r0, 0x67
|
|
/* 0CA27C 800CF81C 40820010 */ bne lbl_800CF82C
|
|
/* 0CA280 800CF820 38000065 */ li r0, 0x65
|
|
/* 0CA284 800CF824 981D0005 */ stb r0, 5(r29)
|
|
/* 0CA288 800CF828 4800004C */ b lbl_800CF874
|
|
lbl_800CF82C:
|
|
/* 0CA28C 800CF82C 38000045 */ li r0, 0x45
|
|
/* 0CA290 800CF830 981D0005 */ stb r0, 5(r29)
|
|
/* 0CA294 800CF834 48000040 */ b lbl_800CF874
|
|
lbl_800CF838:
|
|
/* 0CA298 800CF838 881D0003 */ lbz r0, 3(r29)
|
|
/* 0CA29C 800CF83C 28000000 */ cmplwi r0, 0
|
|
/* 0CA2A0 800CF840 41820014 */ beq lbl_800CF854
|
|
/* 0CA2A4 800CF844 38040001 */ addi r0, r4, 1
|
|
/* 0CA2A8 800CF848 7C001850 */ subf r0, r0, r3
|
|
/* 0CA2AC 800CF84C 901D000C */ stw r0, 0xc(r29)
|
|
/* 0CA2B0 800CF850 48000194 */ b lbl_800CF9E4
|
|
lbl_800CF854:
|
|
/* 0CA2B4 800CF854 88010020 */ lbz r0, 0x20(r1)
|
|
/* 0CA2B8 800CF858 38640001 */ addi r3, r4, 1
|
|
/* 0CA2BC 800CF85C 7C030051 */ subf. r0, r3, r0
|
|
/* 0CA2C0 800CF860 901D000C */ stw r0, 0xc(r29)
|
|
/* 0CA2C4 800CF864 40800180 */ bge lbl_800CF9E4
|
|
/* 0CA2C8 800CF868 38000000 */ li r0, 0
|
|
/* 0CA2CC 800CF86C 901D000C */ stw r0, 0xc(r29)
|
|
/* 0CA2D0 800CF870 48000174 */ b lbl_800CF9E4
|
|
lbl_800CF874:
|
|
/* 0CA2D4 800CF874 807D000C */ lwz r3, 0xc(r29)
|
|
/* 0CA2D8 800CF878 88010020 */ lbz r0, 0x20(r1)
|
|
/* 0CA2DC 800CF87C 38830001 */ addi r4, r3, 1
|
|
/* 0CA2E0 800CF880 7C002000 */ cmpw r0, r4
|
|
/* 0CA2E4 800CF884 4081000C */ ble lbl_800CF890
|
|
/* 0CA2E8 800CF888 3861001C */ addi r3, r1, 0x1c
|
|
/* 0CA2EC 800CF88C 480003A5 */ bl round_decimal
|
|
lbl_800CF890:
|
|
/* 0CA2F0 800CF890 A801001E */ lha r0, 0x1e(r1)
|
|
/* 0CA2F4 800CF894 3900002B */ li r8, 0x2b
|
|
/* 0CA2F8 800CF898 2C000000 */ cmpwi r0, 0
|
|
/* 0CA2FC 800CF89C 7C040378 */ mr r4, r0
|
|
/* 0CA300 800CF8A0 4080000C */ bge lbl_800CF8AC
|
|
/* 0CA304 800CF8A4 7C8400D0 */ neg r4, r4
|
|
/* 0CA308 800CF8A8 3900002D */ li r8, 0x2d
|
|
lbl_800CF8AC:
|
|
/* 0CA30C 800CF8AC 3C606666 */ lis r3, 0x6666
|
|
/* 0CA310 800CF8B0 38A36667 */ addi r5, r3, 0x6667
|
|
/* 0CA314 800CF8B4 38E00000 */ li r7, 0
|
|
/* 0CA318 800CF8B8 48000038 */ b lbl_800CF8F0
|
|
lbl_800CF8BC:
|
|
/* 0CA31C 800CF8BC 7CC52096 */ mulhw r6, r5, r4
|
|
/* 0CA320 800CF8C0 7CC01670 */ srawi r0, r6, 2
|
|
/* 0CA324 800CF8C4 54030FFE */ srwi r3, r0, 0x1f
|
|
/* 0CA328 800CF8C8 7C001A14 */ add r0, r0, r3
|
|
/* 0CA32C 800CF8CC 1C00000A */ mulli r0, r0, 0xa
|
|
/* 0CA330 800CF8D0 7C802050 */ subf r4, r0, r4
|
|
/* 0CA334 800CF8D4 7CC01670 */ srawi r0, r6, 2
|
|
/* 0CA338 800CF8D8 38840030 */ addi r4, r4, 0x30
|
|
/* 0CA33C 800CF8DC 989EFFFF */ stb r4, -1(r30)
|
|
/* 0CA340 800CF8E0 54030FFE */ srwi r3, r0, 0x1f
|
|
/* 0CA344 800CF8E4 7C801A14 */ add r4, r0, r3
|
|
/* 0CA348 800CF8E8 38E70001 */ addi r7, r7, 1
|
|
/* 0CA34C 800CF8EC 3BDEFFFF */ addi r30, r30, -1
|
|
lbl_800CF8F0:
|
|
/* 0CA350 800CF8F0 2C040000 */ cmpwi r4, 0
|
|
/* 0CA354 800CF8F4 4082FFC8 */ bne lbl_800CF8BC
|
|
/* 0CA358 800CF8F8 2C070002 */ cmpwi r7, 2
|
|
/* 0CA35C 800CF8FC 4180FFC0 */ blt lbl_800CF8BC
|
|
/* 0CA360 800CF900 7D000774 */ extsb r0, r8
|
|
/* 0CA364 800CF904 981EFFFF */ stb r0, -1(r30)
|
|
/* 0CA368 800CF908 3BDEFFFE */ addi r30, r30, -2
|
|
/* 0CA36C 800CF90C 7C1EE050 */ subf r0, r30, r28
|
|
/* 0CA370 800CF910 887D0005 */ lbz r3, 5(r29)
|
|
/* 0CA374 800CF914 987E0000 */ stb r3, 0(r30)
|
|
/* 0CA378 800CF918 807D000C */ lwz r3, 0xc(r29)
|
|
/* 0CA37C 800CF91C 7C030214 */ add r0, r3, r0
|
|
/* 0CA380 800CF920 2C0001FD */ cmpwi r0, 0x1fd
|
|
/* 0CA384 800CF924 4081000C */ ble lbl_800CF930
|
|
/* 0CA388 800CF928 38600000 */ li r3, 0
|
|
/* 0CA38C 800CF92C 480002E0 */ b lbl_800CFC0C
|
|
lbl_800CF930:
|
|
/* 0CA390 800CF930 88810020 */ lbz r4, 0x20(r1)
|
|
/* 0CA394 800CF934 38030001 */ addi r0, r3, 1
|
|
/* 0CA398 800CF938 7C040000 */ cmpw r4, r0
|
|
/* 0CA39C 800CF93C 40800020 */ bge lbl_800CF95C
|
|
/* 0CA3A0 800CF940 38030002 */ addi r0, r3, 2
|
|
/* 0CA3A4 800CF944 7C640050 */ subf r3, r4, r0
|
|
/* 0CA3A8 800CF948 38000030 */ li r0, 0x30
|
|
/* 0CA3AC 800CF94C 48000008 */ b lbl_800CF954
|
|
lbl_800CF950:
|
|
/* 0CA3B0 800CF950 9C1EFFFF */ stbu r0, -1(r30)
|
|
lbl_800CF954:
|
|
/* 0CA3B4 800CF954 3463FFFF */ addic. r3, r3, -1
|
|
/* 0CA3B8 800CF958 4082FFF8 */ bne lbl_800CF950
|
|
lbl_800CF95C:
|
|
/* 0CA3BC 800CF95C 88610020 */ lbz r3, 0x20(r1)
|
|
/* 0CA3C0 800CF960 7C9F1A14 */ add r4, r31, r3
|
|
/* 0CA3C4 800CF964 4800000C */ b lbl_800CF970
|
|
lbl_800CF968:
|
|
/* 0CA3C8 800CF968 8C04FFFF */ lbzu r0, -1(r4)
|
|
/* 0CA3CC 800CF96C 9C1EFFFF */ stbu r0, -1(r30)
|
|
lbl_800CF970:
|
|
/* 0CA3D0 800CF970 3463FFFF */ addic. r3, r3, -1
|
|
/* 0CA3D4 800CF974 4082FFF4 */ bne lbl_800CF968
|
|
/* 0CA3D8 800CF978 801D000C */ lwz r0, 0xc(r29)
|
|
/* 0CA3DC 800CF97C 2C000000 */ cmpwi r0, 0
|
|
/* 0CA3E0 800CF980 40820010 */ bne lbl_800CF990
|
|
/* 0CA3E4 800CF984 881D0003 */ lbz r0, 3(r29)
|
|
/* 0CA3E8 800CF988 28000000 */ cmplwi r0, 0
|
|
/* 0CA3EC 800CF98C 4182000C */ beq lbl_800CF998
|
|
lbl_800CF990:
|
|
/* 0CA3F0 800CF990 3800002E */ li r0, 0x2e
|
|
/* 0CA3F4 800CF994 9C1EFFFF */ stbu r0, -1(r30)
|
|
lbl_800CF998:
|
|
/* 0CA3F8 800CF998 88010021 */ lbz r0, 0x21(r1)
|
|
/* 0CA3FC 800CF99C 9C1EFFFF */ stbu r0, -1(r30)
|
|
/* 0CA400 800CF9A0 8801001C */ lbz r0, 0x1c(r1)
|
|
/* 0CA404 800CF9A4 7C000775 */ extsb. r0, r0
|
|
/* 0CA408 800CF9A8 41820010 */ beq lbl_800CF9B8
|
|
/* 0CA40C 800CF9AC 3800002D */ li r0, 0x2d
|
|
/* 0CA410 800CF9B0 9C1EFFFF */ stbu r0, -1(r30)
|
|
/* 0CA414 800CF9B4 48000254 */ b lbl_800CFC08
|
|
lbl_800CF9B8:
|
|
/* 0CA418 800CF9B8 881D0001 */ lbz r0, 1(r29)
|
|
/* 0CA41C 800CF9BC 28000001 */ cmplwi r0, 1
|
|
/* 0CA420 800CF9C0 40820010 */ bne lbl_800CF9D0
|
|
/* 0CA424 800CF9C4 3800002B */ li r0, 0x2b
|
|
/* 0CA428 800CF9C8 9C1EFFFF */ stbu r0, -1(r30)
|
|
/* 0CA42C 800CF9CC 4800023C */ b lbl_800CFC08
|
|
lbl_800CF9D0:
|
|
/* 0CA430 800CF9D0 28000002 */ cmplwi r0, 2
|
|
/* 0CA434 800CF9D4 40820234 */ bne lbl_800CFC08
|
|
/* 0CA438 800CF9D8 38000020 */ li r0, 0x20
|
|
/* 0CA43C 800CF9DC 9C1EFFFF */ stbu r0, -1(r30)
|
|
/* 0CA440 800CF9E0 48000228 */ b lbl_800CFC08
|
|
lbl_800CF9E4:
|
|
/* 0CA444 800CF9E4 A801001E */ lha r0, 0x1e(r1)
|
|
/* 0CA448 800CF9E8 88810020 */ lbz r4, 0x20(r1)
|
|
/* 0CA44C 800CF9EC 7C002050 */ subf r0, r0, r4
|
|
/* 0CA450 800CF9F0 34E0FFFF */ addic. r7, r0, -1
|
|
/* 0CA454 800CF9F4 40800008 */ bge lbl_800CF9FC
|
|
/* 0CA458 800CF9F8 38E00000 */ li r7, 0
|
|
lbl_800CF9FC:
|
|
/* 0CA45C 800CF9FC 801D000C */ lwz r0, 0xc(r29)
|
|
/* 0CA460 800CFA00 7C070000 */ cmpw r7, r0
|
|
/* 0CA464 800CFA04 4081002C */ ble lbl_800CFA30
|
|
/* 0CA468 800CFA08 7C003850 */ subf r0, r0, r7
|
|
/* 0CA46C 800CFA0C 3861001C */ addi r3, r1, 0x1c
|
|
/* 0CA470 800CFA10 7C802050 */ subf r4, r0, r4
|
|
/* 0CA474 800CFA14 4800021D */ bl round_decimal
|
|
/* 0CA478 800CFA18 A861001E */ lha r3, 0x1e(r1)
|
|
/* 0CA47C 800CFA1C 88010020 */ lbz r0, 0x20(r1)
|
|
/* 0CA480 800CFA20 7C030050 */ subf r0, r3, r0
|
|
/* 0CA484 800CFA24 34E0FFFF */ addic. r7, r0, -1
|
|
/* 0CA488 800CFA28 40800008 */ bge lbl_800CFA30
|
|
/* 0CA48C 800CFA2C 38E00000 */ li r7, 0
|
|
lbl_800CFA30:
|
|
/* 0CA490 800CFA30 A801001E */ lha r0, 0x1e(r1)
|
|
/* 0CA494 800CFA34 34C00001 */ addic. r6, r0, 1
|
|
/* 0CA498 800CFA38 40800008 */ bge lbl_800CFA40
|
|
/* 0CA49C 800CFA3C 38C00000 */ li r6, 0
|
|
lbl_800CFA40:
|
|
/* 0CA4A0 800CFA40 7C063A14 */ add r0, r6, r7
|
|
/* 0CA4A4 800CFA44 2C0001FD */ cmpwi r0, 0x1fd
|
|
/* 0CA4A8 800CFA48 4081000C */ ble lbl_800CFA54
|
|
/* 0CA4AC 800CFA4C 38600000 */ li r3, 0
|
|
/* 0CA4B0 800CFA50 480001BC */ b lbl_800CFC0C
|
|
lbl_800CFA54:
|
|
/* 0CA4B4 800CFA54 88010020 */ lbz r0, 0x20(r1)
|
|
/* 0CA4B8 800CFA58 38800000 */ li r4, 0
|
|
/* 0CA4BC 800CFA5C 38600030 */ li r3, 0x30
|
|
/* 0CA4C0 800CFA60 7CBF0214 */ add r5, r31, r0
|
|
/* 0CA4C4 800CFA64 4800000C */ b lbl_800CFA70
|
|
lbl_800CFA68:
|
|
/* 0CA4C8 800CFA68 9C7EFFFF */ stbu r3, -1(r30)
|
|
/* 0CA4CC 800CFA6C 38840001 */ addi r4, r4, 1
|
|
lbl_800CFA70:
|
|
/* 0CA4D0 800CFA70 801D000C */ lwz r0, 0xc(r29)
|
|
/* 0CA4D4 800CFA74 7C070050 */ subf r0, r7, r0
|
|
/* 0CA4D8 800CFA78 7C040000 */ cmpw r4, r0
|
|
/* 0CA4DC 800CFA7C 4180FFEC */ blt lbl_800CFA68
|
|
/* 0CA4E0 800CFA80 38600000 */ li r3, 0
|
|
/* 0CA4E4 800CFA84 48000010 */ b lbl_800CFA94
|
|
lbl_800CFA88:
|
|
/* 0CA4E8 800CFA88 8C05FFFF */ lbzu r0, -1(r5)
|
|
/* 0CA4EC 800CFA8C 38630001 */ addi r3, r3, 1
|
|
/* 0CA4F0 800CFA90 9C1EFFFF */ stbu r0, -1(r30)
|
|
lbl_800CFA94:
|
|
/* 0CA4F4 800CFA94 7C033800 */ cmpw r3, r7
|
|
/* 0CA4F8 800CFA98 40800010 */ bge lbl_800CFAA8
|
|
/* 0CA4FC 800CFA9C 88010020 */ lbz r0, 0x20(r1)
|
|
/* 0CA500 800CFAA0 7C030000 */ cmpw r3, r0
|
|
/* 0CA504 800CFAA4 4180FFE4 */ blt lbl_800CFA88
|
|
lbl_800CFAA8:
|
|
/* 0CA508 800CFAA8 7C033800 */ cmpw r3, r7
|
|
/* 0CA50C 800CFAAC 7C633850 */ subf r3, r3, r7
|
|
/* 0CA510 800CFAB0 38800030 */ li r4, 0x30
|
|
/* 0CA514 800CFAB4 40800048 */ bge lbl_800CFAFC
|
|
/* 0CA518 800CFAB8 5460E8FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f
|
|
/* 0CA51C 800CFABC 7C0903A6 */ mtctr r0
|
|
/* 0CA520 800CFAC0 41820030 */ beq lbl_800CFAF0
|
|
lbl_800CFAC4:
|
|
/* 0CA524 800CFAC4 989EFFFF */ stb r4, -1(r30)
|
|
/* 0CA528 800CFAC8 989EFFFE */ stb r4, -2(r30)
|
|
/* 0CA52C 800CFACC 989EFFFD */ stb r4, -3(r30)
|
|
/* 0CA530 800CFAD0 989EFFFC */ stb r4, -4(r30)
|
|
/* 0CA534 800CFAD4 989EFFFB */ stb r4, -5(r30)
|
|
/* 0CA538 800CFAD8 989EFFFA */ stb r4, -6(r30)
|
|
/* 0CA53C 800CFADC 989EFFF9 */ stb r4, -7(r30)
|
|
/* 0CA540 800CFAE0 9C9EFFF8 */ stbu r4, -8(r30)
|
|
/* 0CA544 800CFAE4 4200FFE0 */ bdnz lbl_800CFAC4
|
|
/* 0CA548 800CFAE8 70630007 */ andi. r3, r3, 7
|
|
/* 0CA54C 800CFAEC 41820010 */ beq lbl_800CFAFC
|
|
lbl_800CFAF0:
|
|
/* 0CA550 800CFAF0 7C6903A6 */ mtctr r3
|
|
lbl_800CFAF4:
|
|
/* 0CA554 800CFAF4 9C9EFFFF */ stbu r4, -1(r30)
|
|
/* 0CA558 800CFAF8 4200FFFC */ bdnz lbl_800CFAF4
|
|
lbl_800CFAFC:
|
|
/* 0CA55C 800CFAFC 801D000C */ lwz r0, 0xc(r29)
|
|
/* 0CA560 800CFB00 2C000000 */ cmpwi r0, 0
|
|
/* 0CA564 800CFB04 40820010 */ bne lbl_800CFB14
|
|
/* 0CA568 800CFB08 881D0003 */ lbz r0, 3(r29)
|
|
/* 0CA56C 800CFB0C 28000000 */ cmplwi r0, 0
|
|
/* 0CA570 800CFB10 4182000C */ beq lbl_800CFB1C
|
|
lbl_800CFB14:
|
|
/* 0CA574 800CFB14 3800002E */ li r0, 0x2e
|
|
/* 0CA578 800CFB18 9C1EFFFF */ stbu r0, -1(r30)
|
|
lbl_800CFB1C:
|
|
/* 0CA57C 800CFB1C 2C060000 */ cmpwi r6, 0
|
|
/* 0CA580 800CFB20 418200A0 */ beq lbl_800CFBC0
|
|
/* 0CA584 800CFB24 38800000 */ li r4, 0
|
|
/* 0CA588 800CFB28 38600030 */ li r3, 0x30
|
|
/* 0CA58C 800CFB2C 4800000C */ b lbl_800CFB38
|
|
lbl_800CFB30:
|
|
/* 0CA590 800CFB30 9C7EFFFF */ stbu r3, -1(r30)
|
|
/* 0CA594 800CFB34 38840001 */ addi r4, r4, 1
|
|
lbl_800CFB38:
|
|
/* 0CA598 800CFB38 88010020 */ lbz r0, 0x20(r1)
|
|
/* 0CA59C 800CFB3C 7C003050 */ subf r0, r0, r6
|
|
/* 0CA5A0 800CFB40 7C040000 */ cmpw r4, r0
|
|
/* 0CA5A4 800CFB44 4180FFEC */ blt lbl_800CFB30
|
|
/* 0CA5A8 800CFB48 7C043000 */ cmpw r4, r6
|
|
/* 0CA5AC 800CFB4C 7C643050 */ subf r3, r4, r6
|
|
/* 0CA5B0 800CFB50 40800078 */ bge lbl_800CFBC8
|
|
/* 0CA5B4 800CFB54 5460E8FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f
|
|
/* 0CA5B8 800CFB58 7C0903A6 */ mtctr r0
|
|
/* 0CA5BC 800CFB5C 41820050 */ beq lbl_800CFBAC
|
|
lbl_800CFB60:
|
|
/* 0CA5C0 800CFB60 8805FFFF */ lbz r0, -1(r5)
|
|
/* 0CA5C4 800CFB64 981EFFFF */ stb r0, -1(r30)
|
|
/* 0CA5C8 800CFB68 8805FFFE */ lbz r0, -2(r5)
|
|
/* 0CA5CC 800CFB6C 981EFFFE */ stb r0, -2(r30)
|
|
/* 0CA5D0 800CFB70 8805FFFD */ lbz r0, -3(r5)
|
|
/* 0CA5D4 800CFB74 981EFFFD */ stb r0, -3(r30)
|
|
/* 0CA5D8 800CFB78 8805FFFC */ lbz r0, -4(r5)
|
|
/* 0CA5DC 800CFB7C 981EFFFC */ stb r0, -4(r30)
|
|
/* 0CA5E0 800CFB80 8805FFFB */ lbz r0, -5(r5)
|
|
/* 0CA5E4 800CFB84 981EFFFB */ stb r0, -5(r30)
|
|
/* 0CA5E8 800CFB88 8805FFFA */ lbz r0, -6(r5)
|
|
/* 0CA5EC 800CFB8C 981EFFFA */ stb r0, -6(r30)
|
|
/* 0CA5F0 800CFB90 8805FFF9 */ lbz r0, -7(r5)
|
|
/* 0CA5F4 800CFB94 981EFFF9 */ stb r0, -7(r30)
|
|
/* 0CA5F8 800CFB98 8C05FFF8 */ lbzu r0, -8(r5)
|
|
/* 0CA5FC 800CFB9C 9C1EFFF8 */ stbu r0, -8(r30)
|
|
/* 0CA600 800CFBA0 4200FFC0 */ bdnz lbl_800CFB60
|
|
/* 0CA604 800CFBA4 70630007 */ andi. r3, r3, 7
|
|
/* 0CA608 800CFBA8 41820020 */ beq lbl_800CFBC8
|
|
lbl_800CFBAC:
|
|
/* 0CA60C 800CFBAC 7C6903A6 */ mtctr r3
|
|
lbl_800CFBB0:
|
|
/* 0CA610 800CFBB0 8C05FFFF */ lbzu r0, -1(r5)
|
|
/* 0CA614 800CFBB4 9C1EFFFF */ stbu r0, -1(r30)
|
|
/* 0CA618 800CFBB8 4200FFF8 */ bdnz lbl_800CFBB0
|
|
/* 0CA61C 800CFBBC 4800000C */ b lbl_800CFBC8
|
|
lbl_800CFBC0:
|
|
/* 0CA620 800CFBC0 38000030 */ li r0, 0x30
|
|
/* 0CA624 800CFBC4 9C1EFFFF */ stbu r0, -1(r30)
|
|
lbl_800CFBC8:
|
|
/* 0CA628 800CFBC8 8801001C */ lbz r0, 0x1c(r1)
|
|
/* 0CA62C 800CFBCC 7C000775 */ extsb. r0, r0
|
|
/* 0CA630 800CFBD0 41820010 */ beq lbl_800CFBE0
|
|
/* 0CA634 800CFBD4 3800002D */ li r0, 0x2d
|
|
/* 0CA638 800CFBD8 9C1EFFFF */ stbu r0, -1(r30)
|
|
/* 0CA63C 800CFBDC 4800002C */ b lbl_800CFC08
|
|
lbl_800CFBE0:
|
|
/* 0CA640 800CFBE0 881D0001 */ lbz r0, 1(r29)
|
|
/* 0CA644 800CFBE4 28000001 */ cmplwi r0, 1
|
|
/* 0CA648 800CFBE8 40820010 */ bne lbl_800CFBF8
|
|
/* 0CA64C 800CFBEC 3800002B */ li r0, 0x2b
|
|
/* 0CA650 800CFBF0 9C1EFFFF */ stbu r0, -1(r30)
|
|
/* 0CA654 800CFBF4 48000014 */ b lbl_800CFC08
|
|
lbl_800CFBF8:
|
|
/* 0CA658 800CFBF8 28000002 */ cmplwi r0, 2
|
|
/* 0CA65C 800CFBFC 4082000C */ bne lbl_800CFC08
|
|
/* 0CA660 800CFC00 38000020 */ li r0, 0x20
|
|
/* 0CA664 800CFC04 9C1EFFFF */ stbu r0, -1(r30)
|
|
lbl_800CFC08:
|
|
/* 0CA668 800CFC08 7FC3F378 */ mr r3, r30
|
|
lbl_800CFC0C:
|
|
/* 0CA66C 800CFC0C 80010064 */ lwz r0, 0x64(r1)
|
|
/* 0CA670 800CFC10 CBE10058 */ lfd f31, 0x58(r1)
|
|
/* 0CA674 800CFC14 83E10054 */ lwz r31, 0x54(r1)
|
|
/* 0CA678 800CFC18 7C0803A6 */ mtlr r0
|
|
/* 0CA67C 800CFC1C 83C10050 */ lwz r30, 0x50(r1)
|
|
/* 0CA680 800CFC20 83A1004C */ lwz r29, 0x4c(r1)
|
|
/* 0CA684 800CFC24 83810048 */ lwz r28, 0x48(r1)
|
|
/* 0CA688 800CFC28 38210060 */ addi r1, r1, 0x60
|
|
/* 0CA68C 800CFC2C 4E800020 */ blr
|
|
|
|
round_decimal:
|
|
/* 0CA690 800CFC30 2C040000 */ cmpwi r4, 0
|
|
/* 0CA694 800CFC34 40800024 */ bge lbl_800CFC58
|
|
lbl_800CFC38:
|
|
/* 0CA698 800CFC38 38A00000 */ li r5, 0
|
|
/* 0CA69C 800CFC3C 98A30000 */ stb r5, 0(r3)
|
|
/* 0CA6A0 800CFC40 38800001 */ li r4, 1
|
|
/* 0CA6A4 800CFC44 38000030 */ li r0, 0x30
|
|
/* 0CA6A8 800CFC48 B0A30002 */ sth r5, 2(r3)
|
|
/* 0CA6AC 800CFC4C 98830004 */ stb r4, 4(r3)
|
|
/* 0CA6B0 800CFC50 98030005 */ stb r0, 5(r3)
|
|
/* 0CA6B4 800CFC54 4E800020 */ blr
|
|
lbl_800CFC58:
|
|
/* 0CA6B8 800CFC58 88030004 */ lbz r0, 4(r3)
|
|
/* 0CA6BC 800CFC5C 7C040000 */ cmpw r4, r0
|
|
/* 0CA6C0 800CFC60 4C800020 */ bgelr
|
|
/* 0CA6C4 800CFC64 7CA32214 */ add r5, r3, r4
|
|
/* 0CA6C8 800CFC68 39050006 */ addi r8, r5, 6
|
|
/* 0CA6CC 800CFC6C 8CA8FFFF */ lbzu r5, -1(r8)
|
|
/* 0CA6D0 800CFC70 38A5FFD0 */ addi r5, r5, -48
|
|
/* 0CA6D4 800CFC74 7CA60774 */ extsb r6, r5
|
|
/* 0CA6D8 800CFC78 2C060005 */ cmpwi r6, 5
|
|
/* 0CA6DC 800CFC7C 40820044 */ bne lbl_800CFCC0
|
|
/* 0CA6E0 800CFC80 7CA30214 */ add r5, r3, r0
|
|
/* 0CA6E4 800CFC84 38A50005 */ addi r5, r5, 5
|
|
lbl_800CFC88:
|
|
/* 0CA6E8 800CFC88 38A5FFFF */ addi r5, r5, -1
|
|
/* 0CA6EC 800CFC8C 7C054040 */ cmplw r5, r8
|
|
/* 0CA6F0 800CFC90 40810010 */ ble lbl_800CFCA0
|
|
/* 0CA6F4 800CFC94 88050000 */ lbz r0, 0(r5)
|
|
/* 0CA6F8 800CFC98 2C000030 */ cmpwi r0, 0x30
|
|
/* 0CA6FC 800CFC9C 4182FFEC */ beq lbl_800CFC88
|
|
lbl_800CFCA0:
|
|
/* 0CA700 800CFCA0 7C054040 */ cmplw r5, r8
|
|
/* 0CA704 800CFCA4 40820010 */ bne lbl_800CFCB4
|
|
/* 0CA708 800CFCA8 8808FFFF */ lbz r0, -1(r8)
|
|
/* 0CA70C 800CFCAC 540007FE */ clrlwi r0, r0, 0x1f
|
|
/* 0CA710 800CFCB0 48000008 */ b lbl_800CFCB8
|
|
lbl_800CFCB4:
|
|
/* 0CA714 800CFCB4 38000001 */ li r0, 1
|
|
lbl_800CFCB8:
|
|
/* 0CA718 800CFCB8 7C050378 */ mr r5, r0
|
|
/* 0CA71C 800CFCBC 48000064 */ b lbl_800CFD20
|
|
lbl_800CFCC0:
|
|
/* 0CA720 800CFCC0 38A00005 */ li r5, 5
|
|
/* 0CA724 800CFCC4 7CC02A38 */ eqv r0, r6, r5
|
|
/* 0CA728 800CFCC8 7CA62810 */ subfc r5, r6, r5
|
|
/* 0CA72C 800CFCCC 54000FFE */ srwi r0, r0, 0x1f
|
|
/* 0CA730 800CFCD0 7CA00194 */ addze r5, r0
|
|
/* 0CA734 800CFCD4 54A507FE */ clrlwi r5, r5, 0x1f
|
|
/* 0CA738 800CFCD8 48000048 */ b lbl_800CFD20
|
|
lbl_800CFCDC:
|
|
/* 0CA73C 800CFCDC 8C08FFFF */ lbzu r0, -1(r8)
|
|
/* 0CA740 800CFCE0 7CE02A14 */ add r7, r0, r5
|
|
/* 0CA744 800CFCE4 38E7FFD0 */ addi r7, r7, -48
|
|
/* 0CA748 800CFCE8 7CE50774 */ extsb r5, r7
|
|
/* 0CA74C 800CFCEC 7CA03238 */ eqv r0, r5, r6
|
|
/* 0CA750 800CFCF0 7CA53010 */ subfc r5, r5, r6
|
|
/* 0CA754 800CFCF4 54000FFE */ srwi r0, r0, 0x1f
|
|
/* 0CA758 800CFCF8 7CA00194 */ addze r5, r0
|
|
/* 0CA75C 800CFCFC 54A507FF */ clrlwi. r5, r5, 0x1f
|
|
/* 0CA760 800CFD00 4082000C */ bne lbl_800CFD0C
|
|
/* 0CA764 800CFD04 7CE00775 */ extsb. r0, r7
|
|
/* 0CA768 800CFD08 4082000C */ bne lbl_800CFD14
|
|
lbl_800CFD0C:
|
|
/* 0CA76C 800CFD0C 3884FFFF */ addi r4, r4, -1
|
|
/* 0CA770 800CFD10 48000014 */ b lbl_800CFD24
|
|
lbl_800CFD14:
|
|
/* 0CA774 800CFD14 38070030 */ addi r0, r7, 0x30
|
|
/* 0CA778 800CFD18 98080000 */ stb r0, 0(r8)
|
|
/* 0CA77C 800CFD1C 48000010 */ b lbl_800CFD2C
|
|
lbl_800CFD20:
|
|
/* 0CA780 800CFD20 38C00009 */ li r6, 9
|
|
lbl_800CFD24:
|
|
/* 0CA784 800CFD24 2C040000 */ cmpwi r4, 0
|
|
/* 0CA788 800CFD28 4082FFB4 */ bne lbl_800CFCDC
|
|
lbl_800CFD2C:
|
|
/* 0CA78C 800CFD2C 2C050000 */ cmpwi r5, 0
|
|
/* 0CA790 800CFD30 41820024 */ beq lbl_800CFD54
|
|
/* 0CA794 800CFD34 A8A30002 */ lha r5, 2(r3)
|
|
/* 0CA798 800CFD38 38800001 */ li r4, 1
|
|
/* 0CA79C 800CFD3C 38000031 */ li r0, 0x31
|
|
/* 0CA7A0 800CFD40 38A50001 */ addi r5, r5, 1
|
|
/* 0CA7A4 800CFD44 B0A30002 */ sth r5, 2(r3)
|
|
/* 0CA7A8 800CFD48 98830004 */ stb r4, 4(r3)
|
|
/* 0CA7AC 800CFD4C 98030005 */ stb r0, 5(r3)
|
|
/* 0CA7B0 800CFD50 4E800020 */ blr
|
|
lbl_800CFD54:
|
|
/* 0CA7B4 800CFD54 2C040000 */ cmpwi r4, 0
|
|
/* 0CA7B8 800CFD58 4182FEE0 */ beq lbl_800CFC38
|
|
/* 0CA7BC 800CFD5C 98830004 */ stb r4, 4(r3)
|
|
/* 0CA7C0 800CFD60 4E800020 */ blr
|
|
|
|
longlong2str:
|
|
/* 0CA7C4 800CFD64 7C0802A6 */ mflr r0
|
|
/* 0CA7C8 800CFD68 90010004 */ stw r0, 4(r1)
|
|
/* 0CA7CC 800CFD6C 38000000 */ li r0, 0
|
|
/* 0CA7D0 800CFD70 9421FFC0 */ stwu r1, -0x40(r1)
|
|
/* 0CA7D4 800CFD74 BEC10018 */ stmw r22, 0x18(r1)
|
|
/* 0CA7D8 800CFD78 3AE50000 */ addi r23, r5, 0
|
|
/* 0CA7DC 800CFD7C 7C850278 */ xor r5, r4, r0
|
|
/* 0CA7E0 800CFD80 3B77FFFF */ addi r27, r23, -1
|
|
/* 0CA7E4 800CFD84 3B060000 */ addi r24, r6, 0
|
|
/* 0CA7E8 800CFD88 3BC40000 */ addi r30, r4, 0
|
|
/* 0CA7EC 800CFD8C 3BE30000 */ addi r31, r3, 0
|
|
/* 0CA7F0 800CFD90 3B200000 */ li r25, 0
|
|
/* 0CA7F4 800CFD94 3B400000 */ li r26, 0
|
|
/* 0CA7F8 800CFD98 9817FFFF */ stb r0, -1(r23)
|
|
/* 0CA7FC 800CFD9C 7C600278 */ xor r0, r3, r0
|
|
/* 0CA800 800CFDA0 7CA00379 */ or. r0, r5, r0
|
|
/* 0CA804 800CFDA4 40820030 */ bne lbl_800CFDD4
|
|
/* 0CA808 800CFDA8 8018000C */ lwz r0, 0xc(r24)
|
|
/* 0CA80C 800CFDAC 2C000000 */ cmpwi r0, 0
|
|
/* 0CA810 800CFDB0 40820024 */ bne lbl_800CFDD4
|
|
/* 0CA814 800CFDB4 88180003 */ lbz r0, 3(r24)
|
|
/* 0CA818 800CFDB8 28000000 */ cmplwi r0, 0
|
|
/* 0CA81C 800CFDBC 41820010 */ beq lbl_800CFDCC
|
|
/* 0CA820 800CFDC0 88180005 */ lbz r0, 5(r24)
|
|
/* 0CA824 800CFDC4 2800006F */ cmplwi r0, 0x6f
|
|
/* 0CA828 800CFDC8 4182000C */ beq lbl_800CFDD4
|
|
lbl_800CFDCC:
|
|
/* 0CA82C 800CFDCC 7F63DB78 */ mr r3, r27
|
|
/* 0CA830 800CFDD0 48000260 */ b lbl_800D0030
|
|
lbl_800CFDD4:
|
|
/* 0CA834 800CFDD4 88B80005 */ lbz r5, 5(r24)
|
|
/* 0CA838 800CFDD8 3805FFA8 */ addi r0, r5, -88
|
|
/* 0CA83C 800CFDDC 28000020 */ cmplwi r0, 0x20
|
|
/* 0CA840 800CFDE0 4181008C */ bgt lbl_800CFE6C
|
|
/* 0CA844 800CFDE4 3CA0800F */ lis r5, jtbl_800F3C10@ha
|
|
/* 0CA848 800CFDE8 38A53C10 */ addi r5, r5, jtbl_800F3C10@l
|
|
/* 0CA84C 800CFDEC 5400103A */ slwi r0, r0, 2
|
|
/* 0CA850 800CFDF0 7C05002E */ lwzx r0, r5, r0
|
|
/* 0CA854 800CFDF4 7C0903A6 */ mtctr r0
|
|
/* 0CA858 800CFDF8 4E800420 */ bctr
|
|
glabel lbl_800CFDFC
|
|
/* 0CA85C 800CFDFC 38000000 */ li r0, 0
|
|
/* 0CA860 800CFE00 6C658000 */ xoris r5, r3, 0x8000
|
|
/* 0CA864 800CFE04 6C038000 */ xoris r3, r0, 0x8000
|
|
/* 0CA868 800CFE08 7C002010 */ subfc r0, r0, r4
|
|
/* 0CA86C 800CFE0C 7C632910 */ subfe r3, r3, r5
|
|
/* 0CA870 800CFE10 7C652910 */ subfe r3, r5, r5
|
|
/* 0CA874 800CFE14 7C6300D1 */ neg. r3, r3
|
|
/* 0CA878 800CFE18 3B80000A */ li r28, 0xa
|
|
/* 0CA87C 800CFE1C 3BA00000 */ li r29, 0
|
|
/* 0CA880 800CFE20 4182004C */ beq lbl_800CFE6C
|
|
/* 0CA884 800CFE24 23DE0000 */ subfic r30, r30, 0
|
|
/* 0CA888 800CFE28 7FFF0190 */ subfze r31, r31
|
|
/* 0CA88C 800CFE2C 3B200001 */ li r25, 1
|
|
/* 0CA890 800CFE30 4800003C */ b lbl_800CFE6C
|
|
glabel lbl_800CFE34
|
|
/* 0CA894 800CFE34 38000000 */ li r0, 0
|
|
/* 0CA898 800CFE38 98180001 */ stb r0, 1(r24)
|
|
/* 0CA89C 800CFE3C 3B800008 */ li r28, 8
|
|
/* 0CA8A0 800CFE40 3BA00000 */ li r29, 0
|
|
/* 0CA8A4 800CFE44 48000028 */ b lbl_800CFE6C
|
|
glabel lbl_800CFE48
|
|
/* 0CA8A8 800CFE48 38000000 */ li r0, 0
|
|
/* 0CA8AC 800CFE4C 98180001 */ stb r0, 1(r24)
|
|
/* 0CA8B0 800CFE50 3B80000A */ li r28, 0xa
|
|
/* 0CA8B4 800CFE54 3BA00000 */ li r29, 0
|
|
/* 0CA8B8 800CFE58 48000014 */ b lbl_800CFE6C
|
|
glabel lbl_800CFE5C
|
|
/* 0CA8BC 800CFE5C 38000000 */ li r0, 0
|
|
/* 0CA8C0 800CFE60 98180001 */ stb r0, 1(r24)
|
|
/* 0CA8C4 800CFE64 3B800010 */ li r28, 0x10
|
|
/* 0CA8C8 800CFE68 3BA00000 */ li r29, 0
|
|
glabel lbl_800CFE6C
|
|
/* 0CA8CC 800CFE6C 387F0000 */ addi r3, r31, 0
|
|
/* 0CA8D0 800CFE70 389E0000 */ addi r4, r30, 0
|
|
/* 0CA8D4 800CFE74 38BD0000 */ addi r5, r29, 0
|
|
/* 0CA8D8 800CFE78 38DC0000 */ addi r6, r28, 0
|
|
/* 0CA8DC 800CFE7C 4BFFDCD9 */ bl __mod2u
|
|
/* 0CA8E0 800CFE80 3AC40000 */ addi r22, r4, 0
|
|
/* 0CA8E4 800CFE84 387F0000 */ addi r3, r31, 0
|
|
/* 0CA8E8 800CFE88 389E0000 */ addi r4, r30, 0
|
|
/* 0CA8EC 800CFE8C 38BD0000 */ addi r5, r29, 0
|
|
/* 0CA8F0 800CFE90 38DC0000 */ addi r6, r28, 0
|
|
/* 0CA8F4 800CFE94 4BFFDA9D */ bl __div2u
|
|
/* 0CA8F8 800CFE98 2C16000A */ cmpwi r22, 0xa
|
|
/* 0CA8FC 800CFE9C 3BC40000 */ addi r30, r4, 0
|
|
/* 0CA900 800CFEA0 3BE30000 */ addi r31, r3, 0
|
|
/* 0CA904 800CFEA4 4080000C */ bge lbl_800CFEB0
|
|
/* 0CA908 800CFEA8 38B60030 */ addi r5, r22, 0x30
|
|
/* 0CA90C 800CFEAC 4800001C */ b lbl_800CFEC8
|
|
lbl_800CFEB0:
|
|
/* 0CA910 800CFEB0 88180005 */ lbz r0, 5(r24)
|
|
/* 0CA914 800CFEB4 28000078 */ cmplwi r0, 0x78
|
|
/* 0CA918 800CFEB8 4082000C */ bne lbl_800CFEC4
|
|
/* 0CA91C 800CFEBC 38B60057 */ addi r5, r22, 0x57
|
|
/* 0CA920 800CFEC0 48000008 */ b lbl_800CFEC8
|
|
lbl_800CFEC4:
|
|
/* 0CA924 800CFEC4 38B60037 */ addi r5, r22, 0x37
|
|
lbl_800CFEC8:
|
|
/* 0CA928 800CFEC8 38800000 */ li r4, 0
|
|
/* 0CA92C 800CFECC 7FC32278 */ xor r3, r30, r4
|
|
/* 0CA930 800CFED0 7FE02278 */ xor r0, r31, r4
|
|
/* 0CA934 800CFED4 7C600379 */ or. r0, r3, r0
|
|
/* 0CA938 800CFED8 7CA00774 */ extsb r0, r5
|
|
/* 0CA93C 800CFEDC 3B5A0001 */ addi r26, r26, 1
|
|
/* 0CA940 800CFEE0 9C1BFFFF */ stbu r0, -1(r27)
|
|
/* 0CA944 800CFEE4 4082FF88 */ bne lbl_800CFE6C
|
|
/* 0CA948 800CFEE8 38000008 */ li r0, 8
|
|
/* 0CA94C 800CFEEC 7F830278 */ xor r3, r28, r0
|
|
/* 0CA950 800CFEF0 7FA02278 */ xor r0, r29, r4
|
|
/* 0CA954 800CFEF4 7C600379 */ or. r0, r3, r0
|
|
/* 0CA958 800CFEF8 40820028 */ bne lbl_800CFF20
|
|
/* 0CA95C 800CFEFC 88180003 */ lbz r0, 3(r24)
|
|
/* 0CA960 800CFF00 28000000 */ cmplwi r0, 0
|
|
/* 0CA964 800CFF04 4182001C */ beq lbl_800CFF20
|
|
/* 0CA968 800CFF08 881B0000 */ lbz r0, 0(r27)
|
|
/* 0CA96C 800CFF0C 2C000030 */ cmpwi r0, 0x30
|
|
/* 0CA970 800CFF10 41820010 */ beq lbl_800CFF20
|
|
/* 0CA974 800CFF14 38000030 */ li r0, 0x30
|
|
/* 0CA978 800CFF18 9C1BFFFF */ stbu r0, -1(r27)
|
|
/* 0CA97C 800CFF1C 3B5A0001 */ addi r26, r26, 1
|
|
lbl_800CFF20:
|
|
/* 0CA980 800CFF20 88180000 */ lbz r0, 0(r24)
|
|
/* 0CA984 800CFF24 28000002 */ cmplwi r0, 2
|
|
/* 0CA988 800CFF28 4082005C */ bne lbl_800CFF84
|
|
/* 0CA98C 800CFF2C 80180008 */ lwz r0, 8(r24)
|
|
/* 0CA990 800CFF30 2C190000 */ cmpwi r25, 0
|
|
/* 0CA994 800CFF34 9018000C */ stw r0, 0xc(r24)
|
|
/* 0CA998 800CFF38 40820010 */ bne lbl_800CFF48
|
|
/* 0CA99C 800CFF3C 88180001 */ lbz r0, 1(r24)
|
|
/* 0CA9A0 800CFF40 28000000 */ cmplwi r0, 0
|
|
/* 0CA9A4 800CFF44 41820010 */ beq lbl_800CFF54
|
|
lbl_800CFF48:
|
|
/* 0CA9A8 800CFF48 8078000C */ lwz r3, 0xc(r24)
|
|
/* 0CA9AC 800CFF4C 3803FFFF */ addi r0, r3, -1
|
|
/* 0CA9B0 800CFF50 9018000C */ stw r0, 0xc(r24)
|
|
lbl_800CFF54:
|
|
/* 0CA9B4 800CFF54 38600010 */ li r3, 0x10
|
|
/* 0CA9B8 800CFF58 38000000 */ li r0, 0
|
|
/* 0CA9BC 800CFF5C 7F831A78 */ xor r3, r28, r3
|
|
/* 0CA9C0 800CFF60 7FA00278 */ xor r0, r29, r0
|
|
/* 0CA9C4 800CFF64 7C600379 */ or. r0, r3, r0
|
|
/* 0CA9C8 800CFF68 4082001C */ bne lbl_800CFF84
|
|
/* 0CA9CC 800CFF6C 88180003 */ lbz r0, 3(r24)
|
|
/* 0CA9D0 800CFF70 28000000 */ cmplwi r0, 0
|
|
/* 0CA9D4 800CFF74 41820010 */ beq lbl_800CFF84
|
|
/* 0CA9D8 800CFF78 8078000C */ lwz r3, 0xc(r24)
|
|
/* 0CA9DC 800CFF7C 3803FFFE */ addi r0, r3, -2
|
|
/* 0CA9E0 800CFF80 9018000C */ stw r0, 0xc(r24)
|
|
lbl_800CFF84:
|
|
/* 0CA9E4 800CFF84 8078000C */ lwz r3, 0xc(r24)
|
|
/* 0CA9E8 800CFF88 7C1BB850 */ subf r0, r27, r23
|
|
/* 0CA9EC 800CFF8C 7C030214 */ add r0, r3, r0
|
|
/* 0CA9F0 800CFF90 2C0001FD */ cmpwi r0, 0x1fd
|
|
/* 0CA9F4 800CFF94 4081000C */ ble lbl_800CFFA0
|
|
/* 0CA9F8 800CFF98 38600000 */ li r3, 0
|
|
/* 0CA9FC 800CFF9C 48000094 */ b lbl_800D0030
|
|
lbl_800CFFA0:
|
|
/* 0CAA00 800CFFA0 38600030 */ li r3, 0x30
|
|
/* 0CAA04 800CFFA4 4800000C */ b lbl_800CFFB0
|
|
lbl_800CFFA8:
|
|
/* 0CAA08 800CFFA8 9C7BFFFF */ stbu r3, -1(r27)
|
|
/* 0CAA0C 800CFFAC 3B5A0001 */ addi r26, r26, 1
|
|
lbl_800CFFB0:
|
|
/* 0CAA10 800CFFB0 8018000C */ lwz r0, 0xc(r24)
|
|
/* 0CAA14 800CFFB4 7C1A0000 */ cmpw r26, r0
|
|
/* 0CAA18 800CFFB8 4180FFF0 */ blt lbl_800CFFA8
|
|
/* 0CAA1C 800CFFBC 38600010 */ li r3, 0x10
|
|
/* 0CAA20 800CFFC0 38000000 */ li r0, 0
|
|
/* 0CAA24 800CFFC4 7F831A78 */ xor r3, r28, r3
|
|
/* 0CAA28 800CFFC8 7FA00278 */ xor r0, r29, r0
|
|
/* 0CAA2C 800CFFCC 7C600379 */ or. r0, r3, r0
|
|
/* 0CAA30 800CFFD0 40820020 */ bne lbl_800CFFF0
|
|
/* 0CAA34 800CFFD4 88180003 */ lbz r0, 3(r24)
|
|
/* 0CAA38 800CFFD8 28000000 */ cmplwi r0, 0
|
|
/* 0CAA3C 800CFFDC 41820014 */ beq lbl_800CFFF0
|
|
/* 0CAA40 800CFFE0 88780005 */ lbz r3, 5(r24)
|
|
/* 0CAA44 800CFFE4 38000030 */ li r0, 0x30
|
|
/* 0CAA48 800CFFE8 987BFFFF */ stb r3, -1(r27)
|
|
/* 0CAA4C 800CFFEC 9C1BFFFE */ stbu r0, -2(r27)
|
|
lbl_800CFFF0:
|
|
/* 0CAA50 800CFFF0 2C190000 */ cmpwi r25, 0
|
|
/* 0CAA54 800CFFF4 41820010 */ beq lbl_800D0004
|
|
/* 0CAA58 800CFFF8 3800002D */ li r0, 0x2d
|
|
/* 0CAA5C 800CFFFC 9C1BFFFF */ stbu r0, -1(r27)
|
|
/* 0CAA60 800D0000 4800002C */ b lbl_800D002C
|
|
lbl_800D0004:
|
|
/* 0CAA64 800D0004 88180001 */ lbz r0, 1(r24)
|
|
/* 0CAA68 800D0008 28000001 */ cmplwi r0, 1
|
|
/* 0CAA6C 800D000C 40820010 */ bne lbl_800D001C
|
|
/* 0CAA70 800D0010 3800002B */ li r0, 0x2b
|
|
/* 0CAA74 800D0014 9C1BFFFF */ stbu r0, -1(r27)
|
|
/* 0CAA78 800D0018 48000014 */ b lbl_800D002C
|
|
lbl_800D001C:
|
|
/* 0CAA7C 800D001C 28000002 */ cmplwi r0, 2
|
|
/* 0CAA80 800D0020 4082000C */ bne lbl_800D002C
|
|
/* 0CAA84 800D0024 38000020 */ li r0, 0x20
|
|
/* 0CAA88 800D0028 9C1BFFFF */ stbu r0, -1(r27)
|
|
lbl_800D002C:
|
|
/* 0CAA8C 800D002C 7F63DB78 */ mr r3, r27
|
|
lbl_800D0030:
|
|
/* 0CAA90 800D0030 BAC10018 */ lmw r22, 0x18(r1)
|
|
/* 0CAA94 800D0034 80010044 */ lwz r0, 0x44(r1)
|
|
/* 0CAA98 800D0038 38210040 */ addi r1, r1, 0x40
|
|
/* 0CAA9C 800D003C 7C0803A6 */ mtlr r0
|
|
/* 0CAAA0 800D0040 4E800020 */ blr
|
|
|
|
long2str:
|
|
/* 0CAAA4 800D0044 38E00000 */ li r7, 0
|
|
/* 0CAAA8 800D0048 98E4FFFF */ stb r7, -1(r4)
|
|
/* 0CAAAC 800D004C 2C030000 */ cmpwi r3, 0
|
|
/* 0CAAB0 800D0050 38C4FFFF */ addi r6, r4, -1
|
|
/* 0CAAB4 800D0054 39000000 */ li r8, 0
|
|
/* 0CAAB8 800D0058 38E00000 */ li r7, 0
|
|
/* 0CAABC 800D005C 40820030 */ bne lbl_800D008C
|
|
/* 0CAAC0 800D0060 8125000C */ lwz r9, 0xc(r5)
|
|
/* 0CAAC4 800D0064 2C090000 */ cmpwi r9, 0
|
|
/* 0CAAC8 800D0068 40820024 */ bne lbl_800D008C
|
|
/* 0CAACC 800D006C 89250003 */ lbz r9, 3(r5)
|
|
/* 0CAAD0 800D0070 28090000 */ cmplwi r9, 0
|
|
/* 0CAAD4 800D0074 41820010 */ beq lbl_800D0084
|
|
/* 0CAAD8 800D0078 89250005 */ lbz r9, 5(r5)
|
|
/* 0CAADC 800D007C 2809006F */ cmplwi r9, 0x6f
|
|
/* 0CAAE0 800D0080 4182000C */ beq lbl_800D008C
|
|
lbl_800D0084:
|
|
/* 0CAAE4 800D0084 7CC33378 */ mr r3, r6
|
|
/* 0CAAE8 800D0088 4E800020 */ blr
|
|
lbl_800D008C:
|
|
/* 0CAAEC 800D008C 89250005 */ lbz r9, 5(r5)
|
|
/* 0CAAF0 800D0090 3949FFA8 */ addi r10, r9, -88
|
|
/* 0CAAF4 800D0094 280A0020 */ cmplwi r10, 0x20
|
|
/* 0CAAF8 800D0098 41810060 */ bgt lbl_800D00F8
|
|
/* 0CAAFC 800D009C 3D20800F */ lis r9, jtbl_800F3C94@ha
|
|
/* 0CAB00 800D00A0 39293C94 */ addi r9, r9, jtbl_800F3C94@l
|
|
/* 0CAB04 800D00A4 554A103A */ slwi r10, r10, 2
|
|
/* 0CAB08 800D00A8 7D29502E */ lwzx r9, r9, r10
|
|
/* 0CAB0C 800D00AC 7D2903A6 */ mtctr r9
|
|
/* 0CAB10 800D00B0 4E800420 */ bctr
|
|
glabel lbl_800D00B4
|
|
/* 0CAB14 800D00B4 2C030000 */ cmpwi r3, 0
|
|
/* 0CAB18 800D00B8 3800000A */ li r0, 0xa
|
|
/* 0CAB1C 800D00BC 4080003C */ bge lbl_800D00F8
|
|
/* 0CAB20 800D00C0 7C6300D0 */ neg r3, r3
|
|
/* 0CAB24 800D00C4 39000001 */ li r8, 1
|
|
/* 0CAB28 800D00C8 48000030 */ b lbl_800D00F8
|
|
glabel lbl_800D00CC
|
|
/* 0CAB2C 800D00CC 38000000 */ li r0, 0
|
|
/* 0CAB30 800D00D0 98050001 */ stb r0, 1(r5)
|
|
/* 0CAB34 800D00D4 38000008 */ li r0, 8
|
|
/* 0CAB38 800D00D8 48000020 */ b lbl_800D00F8
|
|
glabel lbl_800D00DC
|
|
/* 0CAB3C 800D00DC 38000000 */ li r0, 0
|
|
/* 0CAB40 800D00E0 98050001 */ stb r0, 1(r5)
|
|
/* 0CAB44 800D00E4 3800000A */ li r0, 0xa
|
|
/* 0CAB48 800D00E8 48000010 */ b lbl_800D00F8
|
|
glabel lbl_800D00EC
|
|
/* 0CAB4C 800D00EC 38000000 */ li r0, 0
|
|
/* 0CAB50 800D00F0 98050001 */ stb r0, 1(r5)
|
|
/* 0CAB54 800D00F4 38000010 */ li r0, 0x10
|
|
glabel lbl_800D00F8
|
|
/* 0CAB58 800D00F8 7D230396 */ divwu r9, r3, r0
|
|
/* 0CAB5C 800D00FC 7D2901D6 */ mullw r9, r9, r0
|
|
/* 0CAB60 800D0100 7D491850 */ subf r10, r9, r3
|
|
/* 0CAB64 800D0104 7C630396 */ divwu r3, r3, r0
|
|
/* 0CAB68 800D0108 2C0A000A */ cmpwi r10, 0xa
|
|
/* 0CAB6C 800D010C 4080000C */ bge lbl_800D0118
|
|
/* 0CAB70 800D0110 394A0030 */ addi r10, r10, 0x30
|
|
/* 0CAB74 800D0114 4800001C */ b lbl_800D0130
|
|
lbl_800D0118:
|
|
/* 0CAB78 800D0118 89250005 */ lbz r9, 5(r5)
|
|
/* 0CAB7C 800D011C 28090078 */ cmplwi r9, 0x78
|
|
/* 0CAB80 800D0120 4082000C */ bne lbl_800D012C
|
|
/* 0CAB84 800D0124 394A0057 */ addi r10, r10, 0x57
|
|
/* 0CAB88 800D0128 48000008 */ b lbl_800D0130
|
|
lbl_800D012C:
|
|
/* 0CAB8C 800D012C 394A0037 */ addi r10, r10, 0x37
|
|
lbl_800D0130:
|
|
/* 0CAB90 800D0130 7D490774 */ extsb r9, r10
|
|
/* 0CAB94 800D0134 9926FFFF */ stb r9, -1(r6)
|
|
/* 0CAB98 800D0138 28030000 */ cmplwi r3, 0
|
|
/* 0CAB9C 800D013C 38C6FFFF */ addi r6, r6, -1
|
|
/* 0CABA0 800D0140 38E70001 */ addi r7, r7, 1
|
|
/* 0CABA4 800D0144 4082FFB4 */ bne lbl_800D00F8
|
|
/* 0CABA8 800D0148 28000008 */ cmplwi r0, 8
|
|
/* 0CABAC 800D014C 40820028 */ bne lbl_800D0174
|
|
/* 0CABB0 800D0150 88650003 */ lbz r3, 3(r5)
|
|
/* 0CABB4 800D0154 28030000 */ cmplwi r3, 0
|
|
/* 0CABB8 800D0158 4182001C */ beq lbl_800D0174
|
|
/* 0CABBC 800D015C 88660000 */ lbz r3, 0(r6)
|
|
/* 0CABC0 800D0160 2C030030 */ cmpwi r3, 0x30
|
|
/* 0CABC4 800D0164 41820010 */ beq lbl_800D0174
|
|
/* 0CABC8 800D0168 38600030 */ li r3, 0x30
|
|
/* 0CABCC 800D016C 9C66FFFF */ stbu r3, -1(r6)
|
|
/* 0CABD0 800D0170 38E70001 */ addi r7, r7, 1
|
|
lbl_800D0174:
|
|
/* 0CABD4 800D0174 88650000 */ lbz r3, 0(r5)
|
|
/* 0CABD8 800D0178 28030002 */ cmplwi r3, 2
|
|
/* 0CABDC 800D017C 4082004C */ bne lbl_800D01C8
|
|
/* 0CABE0 800D0180 80650008 */ lwz r3, 8(r5)
|
|
/* 0CABE4 800D0184 2C080000 */ cmpwi r8, 0
|
|
/* 0CABE8 800D0188 9065000C */ stw r3, 0xc(r5)
|
|
/* 0CABEC 800D018C 40820010 */ bne lbl_800D019C
|
|
/* 0CABF0 800D0190 88650001 */ lbz r3, 1(r5)
|
|
/* 0CABF4 800D0194 28030000 */ cmplwi r3, 0
|
|
/* 0CABF8 800D0198 41820010 */ beq lbl_800D01A8
|
|
lbl_800D019C:
|
|
/* 0CABFC 800D019C 8065000C */ lwz r3, 0xc(r5)
|
|
/* 0CAC00 800D01A0 3863FFFF */ addi r3, r3, -1
|
|
/* 0CAC04 800D01A4 9065000C */ stw r3, 0xc(r5)
|
|
lbl_800D01A8:
|
|
/* 0CAC08 800D01A8 28000010 */ cmplwi r0, 0x10
|
|
/* 0CAC0C 800D01AC 4082001C */ bne lbl_800D01C8
|
|
/* 0CAC10 800D01B0 88650003 */ lbz r3, 3(r5)
|
|
/* 0CAC14 800D01B4 28030000 */ cmplwi r3, 0
|
|
/* 0CAC18 800D01B8 41820010 */ beq lbl_800D01C8
|
|
/* 0CAC1C 800D01BC 8065000C */ lwz r3, 0xc(r5)
|
|
/* 0CAC20 800D01C0 3863FFFE */ addi r3, r3, -2
|
|
/* 0CAC24 800D01C4 9065000C */ stw r3, 0xc(r5)
|
|
lbl_800D01C8:
|
|
/* 0CAC28 800D01C8 8125000C */ lwz r9, 0xc(r5)
|
|
/* 0CAC2C 800D01CC 7C662050 */ subf r3, r6, r4
|
|
/* 0CAC30 800D01D0 7C691A14 */ add r3, r9, r3
|
|
/* 0CAC34 800D01D4 2C0301FD */ cmpwi r3, 0x1fd
|
|
/* 0CAC38 800D01D8 4081000C */ ble lbl_800D01E4
|
|
/* 0CAC3C 800D01DC 38600000 */ li r3, 0
|
|
/* 0CAC40 800D01E0 4E800020 */ blr
|
|
lbl_800D01E4:
|
|
/* 0CAC44 800D01E4 38800030 */ li r4, 0x30
|
|
/* 0CAC48 800D01E8 4800000C */ b lbl_800D01F4
|
|
lbl_800D01EC:
|
|
/* 0CAC4C 800D01EC 9C86FFFF */ stbu r4, -1(r6)
|
|
/* 0CAC50 800D01F0 38E70001 */ addi r7, r7, 1
|
|
lbl_800D01F4:
|
|
/* 0CAC54 800D01F4 8065000C */ lwz r3, 0xc(r5)
|
|
/* 0CAC58 800D01F8 7C071800 */ cmpw r7, r3
|
|
/* 0CAC5C 800D01FC 4180FFF0 */ blt lbl_800D01EC
|
|
/* 0CAC60 800D0200 28000010 */ cmplwi r0, 0x10
|
|
/* 0CAC64 800D0204 40820020 */ bne lbl_800D0224
|
|
/* 0CAC68 800D0208 88050003 */ lbz r0, 3(r5)
|
|
/* 0CAC6C 800D020C 28000000 */ cmplwi r0, 0
|
|
/* 0CAC70 800D0210 41820014 */ beq lbl_800D0224
|
|
/* 0CAC74 800D0214 88650005 */ lbz r3, 5(r5)
|
|
/* 0CAC78 800D0218 38000030 */ li r0, 0x30
|
|
/* 0CAC7C 800D021C 9866FFFF */ stb r3, -1(r6)
|
|
/* 0CAC80 800D0220 9C06FFFE */ stbu r0, -2(r6)
|
|
lbl_800D0224:
|
|
/* 0CAC84 800D0224 2C080000 */ cmpwi r8, 0
|
|
/* 0CAC88 800D0228 41820010 */ beq lbl_800D0238
|
|
/* 0CAC8C 800D022C 3800002D */ li r0, 0x2d
|
|
/* 0CAC90 800D0230 9C06FFFF */ stbu r0, -1(r6)
|
|
/* 0CAC94 800D0234 4800002C */ b lbl_800D0260
|
|
lbl_800D0238:
|
|
/* 0CAC98 800D0238 88050001 */ lbz r0, 1(r5)
|
|
/* 0CAC9C 800D023C 28000001 */ cmplwi r0, 1
|
|
/* 0CACA0 800D0240 40820010 */ bne lbl_800D0250
|
|
/* 0CACA4 800D0244 3800002B */ li r0, 0x2b
|
|
/* 0CACA8 800D0248 9C06FFFF */ stbu r0, -1(r6)
|
|
/* 0CACAC 800D024C 48000014 */ b lbl_800D0260
|
|
lbl_800D0250:
|
|
/* 0CACB0 800D0250 28000002 */ cmplwi r0, 2
|
|
/* 0CACB4 800D0254 4082000C */ bne lbl_800D0260
|
|
/* 0CACB8 800D0258 38000020 */ li r0, 0x20
|
|
/* 0CACBC 800D025C 9C06FFFF */ stbu r0, -1(r6)
|
|
lbl_800D0260:
|
|
/* 0CACC0 800D0260 7CC33378 */ mr r3, r6
|
|
/* 0CACC4 800D0264 4E800020 */ blr
|
|
|
|
parse_format:
|
|
/* 0CACC8 800D0268 7C0802A6 */ mflr r0
|
|
/* 0CACCC 800D026C 90010004 */ stw r0, 4(r1)
|
|
/* 0CACD0 800D0270 38000001 */ li r0, 1
|
|
/* 0CACD4 800D0274 9421FFC8 */ stwu r1, -0x38(r1)
|
|
/* 0CACD8 800D0278 93E10034 */ stw r31, 0x34(r1)
|
|
/* 0CACDC 800D027C 3BE30001 */ addi r31, r3, 1
|
|
/* 0CACE0 800D0280 93C10030 */ stw r30, 0x30(r1)
|
|
/* 0CACE4 800D0284 3BC50000 */ addi r30, r5, 0
|
|
/* 0CACE8 800D0288 93A1002C */ stw r29, 0x2c(r1)
|
|
/* 0CACEC 800D028C 3BA40000 */ addi r29, r4, 0
|
|
/* 0CACF0 800D0290 98010014 */ stb r0, 0x14(r1)
|
|
/* 0CACF4 800D0294 38000000 */ li r0, 0
|
|
/* 0CACF8 800D0298 98010015 */ stb r0, 0x15(r1)
|
|
/* 0CACFC 800D029C 98010016 */ stb r0, 0x16(r1)
|
|
/* 0CAD00 800D02A0 98010017 */ stb r0, 0x17(r1)
|
|
/* 0CAD04 800D02A4 98010018 */ stb r0, 0x18(r1)
|
|
/* 0CAD08 800D02A8 9001001C */ stw r0, 0x1c(r1)
|
|
/* 0CAD0C 800D02AC 90010020 */ stw r0, 0x20(r1)
|
|
/* 0CAD10 800D02B0 88630001 */ lbz r3, 1(r3)
|
|
/* 0CAD14 800D02B4 7C630774 */ extsb r3, r3
|
|
/* 0CAD18 800D02B8 2C030025 */ cmpwi r3, 0x25
|
|
/* 0CAD1C 800D02BC 40820030 */ bne lbl_800D02EC
|
|
/* 0CAD20 800D02C0 98610019 */ stb r3, 0x19(r1)
|
|
/* 0CAD24 800D02C4 387F0001 */ addi r3, r31, 1
|
|
/* 0CAD28 800D02C8 80810014 */ lwz r4, 0x14(r1)
|
|
/* 0CAD2C 800D02CC 80010018 */ lwz r0, 0x18(r1)
|
|
/* 0CAD30 800D02D0 909E0000 */ stw r4, 0(r30)
|
|
/* 0CAD34 800D02D4 901E0004 */ stw r0, 4(r30)
|
|
/* 0CAD38 800D02D8 8081001C */ lwz r4, 0x1c(r1)
|
|
/* 0CAD3C 800D02DC 80010020 */ lwz r0, 0x20(r1)
|
|
/* 0CAD40 800D02E0 909E0008 */ stw r4, 8(r30)
|
|
/* 0CAD44 800D02E4 901E000C */ stw r0, 0xc(r30)
|
|
/* 0CAD48 800D02E8 4800043C */ b lbl_800D0724
|
|
lbl_800D02EC:
|
|
/* 0CAD4C 800D02EC 3C80800F */ lis r4, jtbl_800F3DE8@ha
|
|
/* 0CAD50 800D02F0 38843DE8 */ addi r4, r4, jtbl_800F3DE8@l
|
|
lbl_800D02F4:
|
|
/* 0CAD54 800D02F4 3803FFE0 */ addi r0, r3, -32
|
|
/* 0CAD58 800D02F8 28000010 */ cmplwi r0, 0x10
|
|
/* 0CAD5C 800D02FC 38A00001 */ li r5, 1
|
|
/* 0CAD60 800D0300 41810068 */ bgt lbl_800D0368
|
|
/* 0CAD64 800D0304 5400103A */ slwi r0, r0, 2
|
|
/* 0CAD68 800D0308 7C04002E */ lwzx r0, r4, r0
|
|
/* 0CAD6C 800D030C 7C0903A6 */ mtctr r0
|
|
/* 0CAD70 800D0310 4E800420 */ bctr
|
|
glabel lbl_800D0314
|
|
/* 0CAD74 800D0314 38000000 */ li r0, 0
|
|
/* 0CAD78 800D0318 98010014 */ stb r0, 0x14(r1)
|
|
/* 0CAD7C 800D031C 48000050 */ b lbl_800D036C
|
|
glabel lbl_800D0320
|
|
/* 0CAD80 800D0320 38000001 */ li r0, 1
|
|
/* 0CAD84 800D0324 98010015 */ stb r0, 0x15(r1)
|
|
/* 0CAD88 800D0328 48000044 */ b lbl_800D036C
|
|
glabel lbl_800D032C
|
|
/* 0CAD8C 800D032C 88010015 */ lbz r0, 0x15(r1)
|
|
/* 0CAD90 800D0330 28000001 */ cmplwi r0, 1
|
|
/* 0CAD94 800D0334 41820038 */ beq lbl_800D036C
|
|
/* 0CAD98 800D0338 38000002 */ li r0, 2
|
|
/* 0CAD9C 800D033C 98010015 */ stb r0, 0x15(r1)
|
|
/* 0CADA0 800D0340 4800002C */ b lbl_800D036C
|
|
glabel lbl_800D0344
|
|
/* 0CADA4 800D0344 38000001 */ li r0, 1
|
|
/* 0CADA8 800D0348 98010017 */ stb r0, 0x17(r1)
|
|
/* 0CADAC 800D034C 48000020 */ b lbl_800D036C
|
|
glabel lbl_800D0350
|
|
/* 0CADB0 800D0350 88010014 */ lbz r0, 0x14(r1)
|
|
/* 0CADB4 800D0354 28000000 */ cmplwi r0, 0
|
|
/* 0CADB8 800D0358 41820014 */ beq lbl_800D036C
|
|
/* 0CADBC 800D035C 38000002 */ li r0, 2
|
|
/* 0CADC0 800D0360 98010014 */ stb r0, 0x14(r1)
|
|
/* 0CADC4 800D0364 48000008 */ b lbl_800D036C
|
|
glabel lbl_800D0368
|
|
/* 0CADC8 800D0368 38A00000 */ li r5, 0
|
|
lbl_800D036C:
|
|
/* 0CADCC 800D036C 2C050000 */ cmpwi r5, 0
|
|
/* 0CADD0 800D0370 41820010 */ beq lbl_800D0380
|
|
/* 0CADD4 800D0374 8C7F0001 */ lbzu r3, 1(r31)
|
|
/* 0CADD8 800D0378 7C630774 */ extsb r3, r3
|
|
/* 0CADDC 800D037C 4BFFFF78 */ b lbl_800D02F4
|
|
lbl_800D0380:
|
|
/* 0CADE0 800D0380 2C03002A */ cmpwi r3, 0x2a
|
|
/* 0CADE4 800D0384 40820040 */ bne lbl_800D03C4
|
|
/* 0CADE8 800D0388 387D0000 */ addi r3, r29, 0
|
|
/* 0CADEC 800D038C 38800001 */ li r4, 1
|
|
/* 0CADF0 800D0390 4BFFD409 */ bl __va_arg
|
|
/* 0CADF4 800D0394 80030000 */ lwz r0, 0(r3)
|
|
/* 0CADF8 800D0398 2C000000 */ cmpwi r0, 0
|
|
/* 0CADFC 800D039C 9001001C */ stw r0, 0x1c(r1)
|
|
/* 0CAE00 800D03A0 40800018 */ bge lbl_800D03B8
|
|
/* 0CAE04 800D03A4 38000000 */ li r0, 0
|
|
/* 0CAE08 800D03A8 98010014 */ stb r0, 0x14(r1)
|
|
/* 0CAE0C 800D03AC 8001001C */ lwz r0, 0x1c(r1)
|
|
/* 0CAE10 800D03B0 7C0000D0 */ neg r0, r0
|
|
/* 0CAE14 800D03B4 9001001C */ stw r0, 0x1c(r1)
|
|
lbl_800D03B8:
|
|
/* 0CAE18 800D03B8 8C7F0001 */ lbzu r3, 1(r31)
|
|
/* 0CAE1C 800D03BC 7C630774 */ extsb r3, r3
|
|
/* 0CAE20 800D03C0 48000040 */ b lbl_800D0400
|
|
lbl_800D03C4:
|
|
/* 0CAE24 800D03C4 3C80800D */ lis r4, __ctype_map@ha
|
|
/* 0CAE28 800D03C8 38A433B0 */ addi r5, r4, __ctype_map@l
|
|
/* 0CAE2C 800D03CC 48000020 */ b lbl_800D03EC
|
|
lbl_800D03D0:
|
|
/* 0CAE30 800D03D0 8001001C */ lwz r0, 0x1c(r1)
|
|
/* 0CAE34 800D03D4 1C00000A */ mulli r0, r0, 0xa
|
|
/* 0CAE38 800D03D8 7C630214 */ add r3, r3, r0
|
|
/* 0CAE3C 800D03DC 3803FFD0 */ addi r0, r3, -48
|
|
/* 0CAE40 800D03E0 9001001C */ stw r0, 0x1c(r1)
|
|
/* 0CAE44 800D03E4 8C7F0001 */ lbzu r3, 1(r31)
|
|
/* 0CAE48 800D03E8 7C630774 */ extsb r3, r3
|
|
lbl_800D03EC:
|
|
/* 0CAE4C 800D03EC 5460063E */ clrlwi r0, r3, 0x18
|
|
/* 0CAE50 800D03F0 7C850214 */ add r4, r5, r0
|
|
/* 0CAE54 800D03F4 88040000 */ lbz r0, 0(r4)
|
|
/* 0CAE58 800D03F8 540006F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
|
|
/* 0CAE5C 800D03FC 4082FFD4 */ bne lbl_800D03D0
|
|
lbl_800D0400:
|
|
/* 0CAE60 800D0400 8001001C */ lwz r0, 0x1c(r1)
|
|
/* 0CAE64 800D0404 2C0001FD */ cmpwi r0, 0x1fd
|
|
/* 0CAE68 800D0408 40810034 */ ble lbl_800D043C
|
|
/* 0CAE6C 800D040C 380000FF */ li r0, 0xff
|
|
/* 0CAE70 800D0410 98010019 */ stb r0, 0x19(r1)
|
|
/* 0CAE74 800D0414 387F0001 */ addi r3, r31, 1
|
|
/* 0CAE78 800D0418 80810014 */ lwz r4, 0x14(r1)
|
|
/* 0CAE7C 800D041C 80010018 */ lwz r0, 0x18(r1)
|
|
/* 0CAE80 800D0420 909E0000 */ stw r4, 0(r30)
|
|
/* 0CAE84 800D0424 901E0004 */ stw r0, 4(r30)
|
|
/* 0CAE88 800D0428 8081001C */ lwz r4, 0x1c(r1)
|
|
/* 0CAE8C 800D042C 80010020 */ lwz r0, 0x20(r1)
|
|
/* 0CAE90 800D0430 909E0008 */ stw r4, 8(r30)
|
|
/* 0CAE94 800D0434 901E000C */ stw r0, 0xc(r30)
|
|
/* 0CAE98 800D0438 480002EC */ b lbl_800D0724
|
|
lbl_800D043C:
|
|
/* 0CAE9C 800D043C 2C03002E */ cmpwi r3, 0x2e
|
|
/* 0CAEA0 800D0440 40820088 */ bne lbl_800D04C8
|
|
/* 0CAEA4 800D0444 38000001 */ li r0, 1
|
|
/* 0CAEA8 800D0448 98010016 */ stb r0, 0x16(r1)
|
|
/* 0CAEAC 800D044C 8C7F0001 */ lbzu r3, 1(r31)
|
|
/* 0CAEB0 800D0450 7C630774 */ extsb r3, r3
|
|
/* 0CAEB4 800D0454 2C03002A */ cmpwi r3, 0x2a
|
|
/* 0CAEB8 800D0458 40820034 */ bne lbl_800D048C
|
|
/* 0CAEBC 800D045C 387D0000 */ addi r3, r29, 0
|
|
/* 0CAEC0 800D0460 38800001 */ li r4, 1
|
|
/* 0CAEC4 800D0464 4BFFD335 */ bl __va_arg
|
|
/* 0CAEC8 800D0468 80030000 */ lwz r0, 0(r3)
|
|
/* 0CAECC 800D046C 2C000000 */ cmpwi r0, 0
|
|
/* 0CAED0 800D0470 90010020 */ stw r0, 0x20(r1)
|
|
/* 0CAED4 800D0474 4080000C */ bge lbl_800D0480
|
|
/* 0CAED8 800D0478 38000000 */ li r0, 0
|
|
/* 0CAEDC 800D047C 98010016 */ stb r0, 0x16(r1)
|
|
lbl_800D0480:
|
|
/* 0CAEE0 800D0480 8C7F0001 */ lbzu r3, 1(r31)
|
|
/* 0CAEE4 800D0484 7C630774 */ extsb r3, r3
|
|
/* 0CAEE8 800D0488 48000040 */ b lbl_800D04C8
|
|
lbl_800D048C:
|
|
/* 0CAEEC 800D048C 3C80800D */ lis r4, __ctype_map@ha
|
|
/* 0CAEF0 800D0490 38A433B0 */ addi r5, r4, __ctype_map@l
|
|
/* 0CAEF4 800D0494 48000020 */ b lbl_800D04B4
|
|
lbl_800D0498:
|
|
/* 0CAEF8 800D0498 80010020 */ lwz r0, 0x20(r1)
|
|
/* 0CAEFC 800D049C 1C00000A */ mulli r0, r0, 0xa
|
|
/* 0CAF00 800D04A0 7C630214 */ add r3, r3, r0
|
|
/* 0CAF04 800D04A4 3803FFD0 */ addi r0, r3, -48
|
|
/* 0CAF08 800D04A8 90010020 */ stw r0, 0x20(r1)
|
|
/* 0CAF0C 800D04AC 8C7F0001 */ lbzu r3, 1(r31)
|
|
/* 0CAF10 800D04B0 7C630774 */ extsb r3, r3
|
|
lbl_800D04B4:
|
|
/* 0CAF14 800D04B4 5460063E */ clrlwi r0, r3, 0x18
|
|
/* 0CAF18 800D04B8 7C850214 */ add r4, r5, r0
|
|
/* 0CAF1C 800D04BC 88040000 */ lbz r0, 0(r4)
|
|
/* 0CAF20 800D04C0 540006F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
|
|
/* 0CAF24 800D04C4 4082FFD4 */ bne lbl_800D0498
|
|
lbl_800D04C8:
|
|
/* 0CAF28 800D04C8 2C030068 */ cmpwi r3, 0x68
|
|
/* 0CAF2C 800D04CC 38800001 */ li r4, 1
|
|
/* 0CAF30 800D04D0 41820020 */ beq lbl_800D04F0
|
|
/* 0CAF34 800D04D4 40800010 */ bge lbl_800D04E4
|
|
/* 0CAF38 800D04D8 2C03004C */ cmpwi r3, 0x4c
|
|
/* 0CAF3C 800D04DC 41820060 */ beq lbl_800D053C
|
|
/* 0CAF40 800D04E0 48000068 */ b lbl_800D0548
|
|
lbl_800D04E4:
|
|
/* 0CAF44 800D04E4 2C03006C */ cmpwi r3, 0x6c
|
|
/* 0CAF48 800D04E8 4182002C */ beq lbl_800D0514
|
|
/* 0CAF4C 800D04EC 4800005C */ b lbl_800D0548
|
|
lbl_800D04F0:
|
|
/* 0CAF50 800D04F0 38000002 */ li r0, 2
|
|
/* 0CAF54 800D04F4 98010018 */ stb r0, 0x18(r1)
|
|
/* 0CAF58 800D04F8 881F0001 */ lbz r0, 1(r31)
|
|
/* 0CAF5C 800D04FC 2C000068 */ cmpwi r0, 0x68
|
|
/* 0CAF60 800D0500 4082004C */ bne lbl_800D054C
|
|
/* 0CAF64 800D0504 98810018 */ stb r4, 0x18(r1)
|
|
/* 0CAF68 800D0508 8C7F0001 */ lbzu r3, 1(r31)
|
|
/* 0CAF6C 800D050C 7C630774 */ extsb r3, r3
|
|
/* 0CAF70 800D0510 4800003C */ b lbl_800D054C
|
|
lbl_800D0514:
|
|
/* 0CAF74 800D0514 38000003 */ li r0, 3
|
|
/* 0CAF78 800D0518 98010018 */ stb r0, 0x18(r1)
|
|
/* 0CAF7C 800D051C 881F0001 */ lbz r0, 1(r31)
|
|
/* 0CAF80 800D0520 2C00006C */ cmpwi r0, 0x6c
|
|
/* 0CAF84 800D0524 40820028 */ bne lbl_800D054C
|
|
/* 0CAF88 800D0528 38000004 */ li r0, 4
|
|
/* 0CAF8C 800D052C 98010018 */ stb r0, 0x18(r1)
|
|
/* 0CAF90 800D0530 8C7F0001 */ lbzu r3, 1(r31)
|
|
/* 0CAF94 800D0534 7C630774 */ extsb r3, r3
|
|
/* 0CAF98 800D0538 48000014 */ b lbl_800D054C
|
|
lbl_800D053C:
|
|
/* 0CAF9C 800D053C 38000005 */ li r0, 5
|
|
/* 0CAFA0 800D0540 98010018 */ stb r0, 0x18(r1)
|
|
/* 0CAFA4 800D0544 48000008 */ b lbl_800D054C
|
|
lbl_800D0548:
|
|
/* 0CAFA8 800D0548 38800000 */ li r4, 0
|
|
lbl_800D054C:
|
|
/* 0CAFAC 800D054C 2C040000 */ cmpwi r4, 0
|
|
/* 0CAFB0 800D0550 4182000C */ beq lbl_800D055C
|
|
/* 0CAFB4 800D0554 8C7F0001 */ lbzu r3, 1(r31)
|
|
/* 0CAFB8 800D0558 7C630774 */ extsb r3, r3
|
|
lbl_800D055C:
|
|
/* 0CAFBC 800D055C 3803FFBB */ addi r0, r3, -69
|
|
/* 0CAFC0 800D0560 98610019 */ stb r3, 0x19(r1)
|
|
/* 0CAFC4 800D0564 28000033 */ cmplwi r0, 0x33
|
|
/* 0CAFC8 800D0568 41810190 */ bgt lbl_800D06F8
|
|
/* 0CAFCC 800D056C 3C60800F */ lis r3, jtbl_800F3D18@ha
|
|
/* 0CAFD0 800D0570 38633D18 */ addi r3, r3, jtbl_800F3D18@l
|
|
/* 0CAFD4 800D0574 5400103A */ slwi r0, r0, 2
|
|
/* 0CAFD8 800D0578 7C03002E */ lwzx r0, r3, r0
|
|
/* 0CAFDC 800D057C 7C0903A6 */ mtctr r0
|
|
/* 0CAFE0 800D0580 4E800420 */ bctr
|
|
glabel lbl_800D0584
|
|
/* 0CAFE4 800D0584 88010018 */ lbz r0, 0x18(r1)
|
|
/* 0CAFE8 800D0588 28000005 */ cmplwi r0, 5
|
|
/* 0CAFEC 800D058C 40820010 */ bne lbl_800D059C
|
|
/* 0CAFF0 800D0590 380000FF */ li r0, 0xff
|
|
/* 0CAFF4 800D0594 98010019 */ stb r0, 0x19(r1)
|
|
/* 0CAFF8 800D0598 48000168 */ b lbl_800D0700
|
|
lbl_800D059C:
|
|
/* 0CAFFC 800D059C 88010016 */ lbz r0, 0x16(r1)
|
|
/* 0CB000 800D05A0 28000000 */ cmplwi r0, 0
|
|
/* 0CB004 800D05A4 40820010 */ bne lbl_800D05B4
|
|
/* 0CB008 800D05A8 38000001 */ li r0, 1
|
|
/* 0CB00C 800D05AC 90010020 */ stw r0, 0x20(r1)
|
|
/* 0CB010 800D05B0 48000150 */ b lbl_800D0700
|
|
lbl_800D05B4:
|
|
/* 0CB014 800D05B4 88010014 */ lbz r0, 0x14(r1)
|
|
/* 0CB018 800D05B8 28000002 */ cmplwi r0, 2
|
|
/* 0CB01C 800D05BC 40820144 */ bne lbl_800D0700
|
|
/* 0CB020 800D05C0 38000001 */ li r0, 1
|
|
/* 0CB024 800D05C4 98010014 */ stb r0, 0x14(r1)
|
|
/* 0CB028 800D05C8 48000138 */ b lbl_800D0700
|
|
glabel lbl_800D05CC
|
|
/* 0CB02C 800D05CC 88010018 */ lbz r0, 0x18(r1)
|
|
/* 0CB030 800D05D0 28000002 */ cmplwi r0, 2
|
|
/* 0CB034 800D05D4 4182000C */ beq lbl_800D05E0
|
|
/* 0CB038 800D05D8 28000004 */ cmplwi r0, 4
|
|
/* 0CB03C 800D05DC 40820010 */ bne lbl_800D05EC
|
|
lbl_800D05E0:
|
|
/* 0CB040 800D05E0 380000FF */ li r0, 0xff
|
|
/* 0CB044 800D05E4 98010019 */ stb r0, 0x19(r1)
|
|
/* 0CB048 800D05E8 48000118 */ b lbl_800D0700
|
|
lbl_800D05EC:
|
|
/* 0CB04C 800D05EC 88010016 */ lbz r0, 0x16(r1)
|
|
/* 0CB050 800D05F0 28000000 */ cmplwi r0, 0
|
|
/* 0CB054 800D05F4 4082010C */ bne lbl_800D0700
|
|
/* 0CB058 800D05F8 38000006 */ li r0, 6
|
|
/* 0CB05C 800D05FC 90010020 */ stw r0, 0x20(r1)
|
|
/* 0CB060 800D0600 48000100 */ b lbl_800D0700
|
|
glabel lbl_800D0604
|
|
/* 0CB064 800D0604 80010020 */ lwz r0, 0x20(r1)
|
|
/* 0CB068 800D0608 2C000000 */ cmpwi r0, 0
|
|
/* 0CB06C 800D060C 4082000C */ bne lbl_800D0618
|
|
/* 0CB070 800D0610 38000001 */ li r0, 1
|
|
/* 0CB074 800D0614 90010020 */ stw r0, 0x20(r1)
|
|
glabel lbl_800D0618
|
|
/* 0CB078 800D0618 88010018 */ lbz r0, 0x18(r1)
|
|
/* 0CB07C 800D061C 28000002 */ cmplwi r0, 2
|
|
/* 0CB080 800D0620 41820014 */ beq lbl_800D0634
|
|
/* 0CB084 800D0624 28000004 */ cmplwi r0, 4
|
|
/* 0CB088 800D0628 4182000C */ beq lbl_800D0634
|
|
/* 0CB08C 800D062C 28000001 */ cmplwi r0, 1
|
|
/* 0CB090 800D0630 40820010 */ bne lbl_800D0640
|
|
lbl_800D0634:
|
|
/* 0CB094 800D0634 380000FF */ li r0, 0xff
|
|
/* 0CB098 800D0638 98010019 */ stb r0, 0x19(r1)
|
|
/* 0CB09C 800D063C 480000C4 */ b lbl_800D0700
|
|
lbl_800D0640:
|
|
/* 0CB0A0 800D0640 88010016 */ lbz r0, 0x16(r1)
|
|
/* 0CB0A4 800D0644 28000000 */ cmplwi r0, 0
|
|
/* 0CB0A8 800D0648 408200B8 */ bne lbl_800D0700
|
|
/* 0CB0AC 800D064C 38000006 */ li r0, 6
|
|
/* 0CB0B0 800D0650 90010020 */ stw r0, 0x20(r1)
|
|
/* 0CB0B4 800D0654 480000AC */ b lbl_800D0700
|
|
glabel lbl_800D0658
|
|
/* 0CB0B8 800D0658 38000078 */ li r0, 0x78
|
|
/* 0CB0BC 800D065C 98010019 */ stb r0, 0x19(r1)
|
|
/* 0CB0C0 800D0660 38000001 */ li r0, 1
|
|
/* 0CB0C4 800D0664 38600003 */ li r3, 3
|
|
/* 0CB0C8 800D0668 98010017 */ stb r0, 0x17(r1)
|
|
/* 0CB0CC 800D066C 38000008 */ li r0, 8
|
|
/* 0CB0D0 800D0670 98610018 */ stb r3, 0x18(r1)
|
|
/* 0CB0D4 800D0674 90010020 */ stw r0, 0x20(r1)
|
|
/* 0CB0D8 800D0678 48000088 */ b lbl_800D0700
|
|
glabel lbl_800D067C
|
|
/* 0CB0DC 800D067C 88610018 */ lbz r3, 0x18(r1)
|
|
/* 0CB0E0 800D0680 28030003 */ cmplwi r3, 3
|
|
/* 0CB0E4 800D0684 40820010 */ bne lbl_800D0694
|
|
/* 0CB0E8 800D0688 38000006 */ li r0, 6
|
|
/* 0CB0EC 800D068C 98010018 */ stb r0, 0x18(r1)
|
|
/* 0CB0F0 800D0690 48000070 */ b lbl_800D0700
|
|
lbl_800D0694:
|
|
/* 0CB0F4 800D0694 88010016 */ lbz r0, 0x16(r1)
|
|
/* 0CB0F8 800D0698 28000000 */ cmplwi r0, 0
|
|
/* 0CB0FC 800D069C 4082000C */ bne lbl_800D06A8
|
|
/* 0CB100 800D06A0 28030000 */ cmplwi r3, 0
|
|
/* 0CB104 800D06A4 4182005C */ beq lbl_800D0700
|
|
lbl_800D06A8:
|
|
/* 0CB108 800D06A8 380000FF */ li r0, 0xff
|
|
/* 0CB10C 800D06AC 98010019 */ stb r0, 0x19(r1)
|
|
/* 0CB110 800D06B0 48000050 */ b lbl_800D0700
|
|
glabel lbl_800D06B4
|
|
/* 0CB114 800D06B4 88010018 */ lbz r0, 0x18(r1)
|
|
/* 0CB118 800D06B8 28000003 */ cmplwi r0, 3
|
|
/* 0CB11C 800D06BC 40820010 */ bne lbl_800D06CC
|
|
/* 0CB120 800D06C0 38000006 */ li r0, 6
|
|
/* 0CB124 800D06C4 98010018 */ stb r0, 0x18(r1)
|
|
/* 0CB128 800D06C8 48000038 */ b lbl_800D0700
|
|
lbl_800D06CC:
|
|
/* 0CB12C 800D06CC 28000000 */ cmplwi r0, 0
|
|
/* 0CB130 800D06D0 41820030 */ beq lbl_800D0700
|
|
/* 0CB134 800D06D4 380000FF */ li r0, 0xff
|
|
/* 0CB138 800D06D8 98010019 */ stb r0, 0x19(r1)
|
|
/* 0CB13C 800D06DC 48000024 */ b lbl_800D0700
|
|
glabel lbl_800D06E0
|
|
/* 0CB140 800D06E0 88010018 */ lbz r0, 0x18(r1)
|
|
/* 0CB144 800D06E4 28000005 */ cmplwi r0, 5
|
|
/* 0CB148 800D06E8 40820018 */ bne lbl_800D0700
|
|
/* 0CB14C 800D06EC 380000FF */ li r0, 0xff
|
|
/* 0CB150 800D06F0 98010019 */ stb r0, 0x19(r1)
|
|
/* 0CB154 800D06F4 4800000C */ b lbl_800D0700
|
|
glabel lbl_800D06F8
|
|
/* 0CB158 800D06F8 380000FF */ li r0, 0xff
|
|
/* 0CB15C 800D06FC 98010019 */ stb r0, 0x19(r1)
|
|
lbl_800D0700:
|
|
/* 0CB160 800D0700 80810014 */ lwz r4, 0x14(r1)
|
|
/* 0CB164 800D0704 387F0001 */ addi r3, r31, 1
|
|
/* 0CB168 800D0708 80010018 */ lwz r0, 0x18(r1)
|
|
/* 0CB16C 800D070C 909E0000 */ stw r4, 0(r30)
|
|
/* 0CB170 800D0710 901E0004 */ stw r0, 4(r30)
|
|
/* 0CB174 800D0714 8081001C */ lwz r4, 0x1c(r1)
|
|
/* 0CB178 800D0718 80010020 */ lwz r0, 0x20(r1)
|
|
/* 0CB17C 800D071C 909E0008 */ stw r4, 8(r30)
|
|
/* 0CB180 800D0720 901E000C */ stw r0, 0xc(r30)
|
|
lbl_800D0724:
|
|
/* 0CB184 800D0724 8001003C */ lwz r0, 0x3c(r1)
|
|
/* 0CB188 800D0728 83E10034 */ lwz r31, 0x34(r1)
|
|
/* 0CB18C 800D072C 83C10030 */ lwz r30, 0x30(r1)
|
|
/* 0CB190 800D0730 7C0803A6 */ mtlr r0
|
|
/* 0CB194 800D0734 83A1002C */ lwz r29, 0x2c(r1)
|
|
/* 0CB198 800D0738 38210038 */ addi r1, r1, 0x38
|
|
/* 0CB19C 800D073C 4E800020 */ blr
|
|
|
|
.section .rodata, "a"
|
|
|
|
.balign 8
|
|
|
|
/* 000D0730 800D36B0 000E */
|
|
D_800D36B0:
|
|
.short 0x002D, 0x496E, 0x6600, 0x496E, 0x6600, 0x4E61, 0x4E00
|
|
|
|
.section .data, "wa"
|
|
|
|
.balign 8
|
|
|
|
/* 000F0C90 800F3C10 0084 */
|
|
jtbl_800F3C10:
|
|
.long lbl_800CFE5C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFDFC
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFDFC
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE34
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE48
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE6C
|
|
.long lbl_800CFE5C
|
|
|
|
/* 000F0D14 800F3C94 0084 */
|
|
jtbl_800F3C94:
|
|
.long lbl_800D00EC
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00B4
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00B4
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00CC
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00DC
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00F8
|
|
.long lbl_800D00EC
|
|
|
|
/* 000F0D98 800F3D18 00D0 */
|
|
jtbl_800F3D18:
|
|
.long lbl_800D0618
|
|
.long lbl_800D06F8
|
|
.long lbl_800D0604
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D0584
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D067C
|
|
.long lbl_800D0584
|
|
.long lbl_800D0618
|
|
.long lbl_800D05CC
|
|
.long lbl_800D0604
|
|
.long lbl_800D06F8
|
|
.long lbl_800D0584
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06E0
|
|
.long lbl_800D0584
|
|
.long lbl_800D0658
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06B4
|
|
.long lbl_800D06F8
|
|
.long lbl_800D0584
|
|
.long lbl_800D06F8
|
|
.long lbl_800D06F8
|
|
.long lbl_800D0584
|
|
|
|
/* 000F0E68 800F3DE8 0044 */
|
|
jtbl_800F3DE8:
|
|
.long lbl_800D032C
|
|
.long lbl_800D0368
|
|
.long lbl_800D0368
|
|
.long lbl_800D0344
|
|
.long lbl_800D0368
|
|
.long lbl_800D0368
|
|
.long lbl_800D0368
|
|
.long lbl_800D0368
|
|
.long lbl_800D0368
|
|
.long lbl_800D0368
|
|
.long lbl_800D0368
|
|
.long lbl_800D0320
|
|
.long lbl_800D0368
|
|
.long lbl_800D0314
|
|
.long lbl_800D0368
|
|
.long lbl_800D0368
|
|
.long lbl_800D0350
|
|
|
|
.section .sdata, "wa"
|
|
|
|
.balign 8
|
|
|
|
/* 000F17E8 80135568 0002 */
|
|
D_80135568:
|
|
.short 0x0000
|
|
|
|
.section .sdata2, "wa"
|
|
|
|
.balign 8
|
|
|
|
/* 000F1D68 80136268 0008 */
|
|
D_80136268:
|
|
.double 0.0
|