.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global STD_strnlen STD_strnlen: /* 80300FE4 002FCC44 38 A0 00 00 */ li r5, 0 /* 80300FE8 002FCC48 7C 89 03 A6 */ mtctr r4 /* 80300FEC 002FCC4C 28 04 00 00 */ cmplwi r4, 0 /* 80300FF0 002FCC50 40 81 00 1C */ ble lbl_8030100C lbl_80300FF4: /* 80300FF4 002FCC54 88 03 00 00 */ lbz r0, 0(r3) /* 80300FF8 002FCC58 7C 00 07 75 */ extsb. r0, r0 /* 80300FFC 002FCC5C 41 82 00 10 */ beq lbl_8030100C /* 80301000 002FCC60 38 A5 00 01 */ addi r5, r5, 1 /* 80301004 002FCC64 38 63 00 01 */ addi r3, r3, 1 /* 80301008 002FCC68 42 00 FF EC */ bdnz lbl_80300FF4 lbl_8030100C: /* 8030100C 002FCC6C 7C A3 2B 78 */ mr r3, r5 /* 80301010 002FCC70 4E 80 00 20 */ blr .global Mail_memset Mail_memset: /* 80301014 002FCC74 2C 05 00 00 */ cmpwi r5, 0 /* 80301018 002FCC78 39 00 00 00 */ li r8, 0 /* 8030101C 002FCC7C 4D 82 00 20 */ beqlr /* 80301020 002FCC80 28 05 00 08 */ cmplwi r5, 8 /* 80301024 002FCC84 38 C5 FF F8 */ addi r6, r5, -8 /* 80301028 002FCC88 40 81 00 48 */ ble lbl_80301070 /* 8030102C 002FCC8C 38 06 00 07 */ addi r0, r6, 7 /* 80301030 002FCC90 7C 67 1B 78 */ mr r7, r3 /* 80301034 002FCC94 54 00 E8 FE */ srwi r0, r0, 3 /* 80301038 002FCC98 7C 09 03 A6 */ mtctr r0 /* 8030103C 002FCC9C 28 06 00 00 */ cmplwi r6, 0 /* 80301040 002FCCA0 40 81 00 30 */ ble lbl_80301070 lbl_80301044: /* 80301044 002FCCA4 98 87 00 00 */ stb r4, 0(r7) /* 80301048 002FCCA8 39 08 00 08 */ addi r8, r8, 8 /* 8030104C 002FCCAC 98 87 00 01 */ stb r4, 1(r7) /* 80301050 002FCCB0 98 87 00 02 */ stb r4, 2(r7) /* 80301054 002FCCB4 98 87 00 03 */ stb r4, 3(r7) /* 80301058 002FCCB8 98 87 00 04 */ stb r4, 4(r7) /* 8030105C 002FCCBC 98 87 00 05 */ stb r4, 5(r7) /* 80301060 002FCCC0 98 87 00 06 */ stb r4, 6(r7) /* 80301064 002FCCC4 98 87 00 07 */ stb r4, 7(r7) /* 80301068 002FCCC8 38 E7 00 08 */ addi r7, r7, 8 /* 8030106C 002FCCCC 42 00 FF D8 */ bdnz lbl_80301044 lbl_80301070: /* 80301070 002FCCD0 7C 08 28 50 */ subf r0, r8, r5 /* 80301074 002FCCD4 7C C3 42 14 */ add r6, r3, r8 /* 80301078 002FCCD8 7C 09 03 A6 */ mtctr r0 /* 8030107C 002FCCDC 7C 08 28 40 */ cmplw r8, r5 /* 80301080 002FCCE0 4C 80 00 20 */ bgelr lbl_80301084: /* 80301084 002FCCE4 98 86 00 00 */ stb r4, 0(r6) /* 80301088 002FCCE8 38 C6 00 01 */ addi r6, r6, 1 /* 8030108C 002FCCEC 42 00 FF F8 */ bdnz lbl_80301084 /* 80301090 002FCCF0 4E 80 00 20 */ blr .global convNum convNum: /* 80301094 002FCCF4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80301098 002FCCF8 7C 08 02 A6 */ mflr r0 /* 8030109C 002FCCFC 90 01 00 24 */ stw r0, 0x24(r1) /* 803010A0 002FCD00 39 61 00 20 */ addi r11, r1, 0x20 /* 803010A4 002FCD04 4B EC 60 85 */ bl _savegpr_27 /* 803010A8 002FCD08 2C 07 00 00 */ cmpwi r7, 0 /* 803010AC 002FCD0C 41 82 00 18 */ beq lbl_803010C4 /* 803010B0 002FCD10 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0 /* 803010B4 002FCD14 41 82 00 10 */ beq lbl_803010C4 /* 803010B8 002FCD18 7C 84 00 D0 */ neg r4, r4 /* 803010BC 002FCD1C 3B C0 00 01 */ li r30, 1 /* 803010C0 002FCD20 48 00 00 08 */ b lbl_803010C8 lbl_803010C4: /* 803010C4 002FCD24 3B C0 00 00 */ li r30, 0 lbl_803010C8: /* 803010C8 002FCD28 3B E0 00 00 */ li r31, 0 /* 803010CC 002FCD2C 39 80 00 00 */ li r12, 0 /* 803010D0 002FCD30 3C E0 80 00 */ lis r7, 0x8000 /* 803010D4 002FCD34 48 00 01 40 */ b lbl_80301214 lbl_803010D8: /* 803010D8 002FCD38 7C 04 2B 96 */ divwu r0, r4, r5 /* 803010DC 002FCD3C 7C 7B 1B 78 */ mr r27, r3 /* 803010E0 002FCD40 39 60 00 00 */ li r11, 0 /* 803010E4 002FCD44 7C 00 29 D6 */ mullw r0, r0, r5 /* 803010E8 002FCD48 7C 00 20 50 */ subf r0, r0, r4 /* 803010EC 002FCD4C 7C 84 2B 96 */ divwu r4, r4, r5 /* 803010F0 002FCD50 7C 00 07 74 */ extsb r0, r0 /* 803010F4 002FCD54 48 00 00 0C */ b lbl_80301100 lbl_803010F8: /* 803010F8 002FCD58 3B 7B 00 01 */ addi r27, r27, 1 /* 803010FC 002FCD5C 39 6B 00 01 */ addi r11, r11, 1 lbl_80301100: /* 80301100 002FCD60 8B BB 00 00 */ lbz r29, 0(r27) /* 80301104 002FCD64 7F BD 07 75 */ extsb. r29, r29 /* 80301108 002FCD68 40 82 FF F0 */ bne lbl_803010F8 /* 8030110C 002FCD6C 2C 8B 00 00 */ cmpwi cr1, r11, 0 /* 80301110 002FCD70 41 84 00 E4 */ blt cr1, lbl_803011F4 /* 80301114 002FCD74 3B AB 00 01 */ addi r29, r11, 1 /* 80301118 002FCD78 2C 1D 00 08 */ cmpwi r29, 8 /* 8030111C 002FCD7C 40 81 00 B4 */ ble lbl_803011D0 /* 80301120 002FCD80 3B 80 00 00 */ li r28, 0 /* 80301124 002FCD84 3B 60 00 00 */ li r27, 0 /* 80301128 002FCD88 41 84 00 14 */ blt cr1, lbl_8030113C /* 8030112C 002FCD8C 3B A7 00 01 */ addi r29, r7, 1 /* 80301130 002FCD90 7C 0B E8 00 */ cmpw r11, r29 /* 80301134 002FCD94 41 80 00 08 */ blt lbl_8030113C /* 80301138 002FCD98 3B 60 00 01 */ li r27, 1 lbl_8030113C: /* 8030113C 002FCD9C 2C 1B 00 00 */ cmpwi r27, 0 /* 80301140 002FCDA0 41 82 00 2C */ beq lbl_8030116C /* 80301144 002FCDA4 55 7D 00 01 */ rlwinm. r29, r11, 0, 0, 0 /* 80301148 002FCDA8 3B 60 00 01 */ li r27, 1 /* 8030114C 002FCDAC 40 82 00 14 */ bne lbl_80301160 /* 80301150 002FCDB0 3B AB 00 01 */ addi r29, r11, 1 /* 80301154 002FCDB4 57 BD 00 01 */ rlwinm. r29, r29, 0, 0, 0 /* 80301158 002FCDB8 41 82 00 08 */ beq lbl_80301160 /* 8030115C 002FCDBC 3B 60 00 00 */ li r27, 0 lbl_80301160: /* 80301160 002FCDC0 2C 1B 00 00 */ cmpwi r27, 0 /* 80301164 002FCDC4 41 82 00 08 */ beq lbl_8030116C /* 80301168 002FCDC8 3B 80 00 01 */ li r28, 1 lbl_8030116C: /* 8030116C 002FCDCC 2C 1C 00 00 */ cmpwi r28, 0 /* 80301170 002FCDD0 41 82 00 60 */ beq lbl_803011D0 /* 80301174 002FCDD4 55 7D E8 FE */ srwi r29, r11, 3 /* 80301178 002FCDD8 7F A9 03 A6 */ mtctr r29 /* 8030117C 002FCDDC 2C 0B 00 08 */ cmpwi r11, 8 /* 80301180 002FCDE0 41 80 00 50 */ blt lbl_803011D0 lbl_80301184: /* 80301184 002FCDE4 7F A3 58 AE */ lbzx r29, r3, r11 /* 80301188 002FCDE8 7F 63 5A 14 */ add r27, r3, r11 /* 8030118C 002FCDEC 9B BB 00 01 */ stb r29, 1(r27) /* 80301190 002FCDF0 8B BB FF FF */ lbz r29, -1(r27) /* 80301194 002FCDF4 7F A3 59 AE */ stbx r29, r3, r11 /* 80301198 002FCDF8 39 6B FF F8 */ addi r11, r11, -8 /* 8030119C 002FCDFC 8B BB FF FE */ lbz r29, -2(r27) /* 803011A0 002FCE00 9B BB FF FF */ stb r29, -1(r27) /* 803011A4 002FCE04 8B BB FF FD */ lbz r29, -3(r27) /* 803011A8 002FCE08 9B BB FF FE */ stb r29, -2(r27) /* 803011AC 002FCE0C 8B BB FF FC */ lbz r29, -4(r27) /* 803011B0 002FCE10 9B BB FF FD */ stb r29, -3(r27) /* 803011B4 002FCE14 8B BB FF FB */ lbz r29, -5(r27) /* 803011B8 002FCE18 9B BB FF FC */ stb r29, -4(r27) /* 803011BC 002FCE1C 8B BB FF FA */ lbz r29, -6(r27) /* 803011C0 002FCE20 9B BB FF FB */ stb r29, -5(r27) /* 803011C4 002FCE24 8B BB FF F9 */ lbz r29, -7(r27) /* 803011C8 002FCE28 9B BB FF FA */ stb r29, -6(r27) /* 803011CC 002FCE2C 42 00 FF B8 */ bdnz lbl_80301184 lbl_803011D0: /* 803011D0 002FCE30 3B AB 00 01 */ addi r29, r11, 1 /* 803011D4 002FCE34 7F A9 03 A6 */ mtctr r29 /* 803011D8 002FCE38 2C 0B 00 00 */ cmpwi r11, 0 /* 803011DC 002FCE3C 41 80 00 18 */ blt lbl_803011F4 lbl_803011E0: /* 803011E0 002FCE40 7F A3 58 AE */ lbzx r29, r3, r11 /* 803011E4 002FCE44 7F 63 5A 14 */ add r27, r3, r11 /* 803011E8 002FCE48 39 6B FF FF */ addi r11, r11, -1 /* 803011EC 002FCE4C 9B BB 00 01 */ stb r29, 1(r27) /* 803011F0 002FCE50 42 00 FF F0 */ bdnz lbl_803011E0 lbl_803011F4: /* 803011F4 002FCE54 2C 00 00 09 */ cmpwi r0, 9 /* 803011F8 002FCE58 39 60 00 30 */ li r11, 0x30 /* 803011FC 002FCE5C 40 81 00 08 */ ble lbl_80301204 /* 80301200 002FCE60 7C CB 07 74 */ extsb r11, r6 lbl_80301204: /* 80301204 002FCE64 7C 00 5A 14 */ add r0, r0, r11 /* 80301208 002FCE68 39 8C 00 01 */ addi r12, r12, 1 /* 8030120C 002FCE6C 98 03 00 00 */ stb r0, 0(r3) /* 80301210 002FCE70 3B FF 00 01 */ addi r31, r31, 1 lbl_80301214: /* 80301214 002FCE74 2C 04 00 00 */ cmpwi r4, 0 /* 80301218 002FCE78 40 82 FE C0 */ bne lbl_803010D8 /* 8030121C 002FCE7C 88 03 00 00 */ lbz r0, 0(r3) /* 80301220 002FCE80 7C 00 07 75 */ extsb. r0, r0 /* 80301224 002FCE84 40 82 01 20 */ bne lbl_80301344 /* 80301228 002FCE88 7C 64 1B 78 */ mr r4, r3 /* 8030122C 002FCE8C 38 A0 00 00 */ li r5, 0 /* 80301230 002FCE90 48 00 00 0C */ b lbl_8030123C lbl_80301234: /* 80301234 002FCE94 38 84 00 01 */ addi r4, r4, 1 /* 80301238 002FCE98 38 A5 00 01 */ addi r5, r5, 1 lbl_8030123C: /* 8030123C 002FCE9C 88 04 00 00 */ lbz r0, 0(r4) /* 80301240 002FCEA0 7C 00 07 75 */ extsb. r0, r0 /* 80301244 002FCEA4 40 82 FF F0 */ bne lbl_80301234 /* 80301248 002FCEA8 2C 85 00 00 */ cmpwi cr1, r5, 0 /* 8030124C 002FCEAC 41 84 00 E8 */ blt cr1, lbl_80301334 /* 80301250 002FCEB0 38 05 00 01 */ addi r0, r5, 1 /* 80301254 002FCEB4 2C 00 00 08 */ cmpwi r0, 8 /* 80301258 002FCEB8 40 81 00 B8 */ ble lbl_80301310 /* 8030125C 002FCEBC 38 C0 00 00 */ li r6, 0 /* 80301260 002FCEC0 38 E0 00 00 */ li r7, 0 /* 80301264 002FCEC4 41 84 00 18 */ blt cr1, lbl_8030127C /* 80301268 002FCEC8 3C 80 80 00 */ lis r4, 0x80000001@ha /* 8030126C 002FCECC 38 04 00 01 */ addi r0, r4, 0x80000001@l /* 80301270 002FCED0 7C 05 00 00 */ cmpw r5, r0 /* 80301274 002FCED4 41 80 00 08 */ blt lbl_8030127C /* 80301278 002FCED8 38 E0 00 01 */ li r7, 1 lbl_8030127C: /* 8030127C 002FCEDC 2C 07 00 00 */ cmpwi r7, 0 /* 80301280 002FCEE0 41 82 00 2C */ beq lbl_803012AC /* 80301284 002FCEE4 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0 /* 80301288 002FCEE8 38 80 00 01 */ li r4, 1 /* 8030128C 002FCEEC 40 82 00 14 */ bne lbl_803012A0 /* 80301290 002FCEF0 38 05 00 01 */ addi r0, r5, 1 /* 80301294 002FCEF4 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 80301298 002FCEF8 41 82 00 08 */ beq lbl_803012A0 /* 8030129C 002FCEFC 38 80 00 00 */ li r4, 0 lbl_803012A0: /* 803012A0 002FCF00 2C 04 00 00 */ cmpwi r4, 0 /* 803012A4 002FCF04 41 82 00 08 */ beq lbl_803012AC /* 803012A8 002FCF08 38 C0 00 01 */ li r6, 1 lbl_803012AC: /* 803012AC 002FCF0C 2C 06 00 00 */ cmpwi r6, 0 /* 803012B0 002FCF10 41 82 00 60 */ beq lbl_80301310 /* 803012B4 002FCF14 54 A0 E8 FE */ srwi r0, r5, 3 /* 803012B8 002FCF18 7C 09 03 A6 */ mtctr r0 /* 803012BC 002FCF1C 2C 05 00 08 */ cmpwi r5, 8 /* 803012C0 002FCF20 41 80 00 50 */ blt lbl_80301310 lbl_803012C4: /* 803012C4 002FCF24 7C 03 28 AE */ lbzx r0, r3, r5 /* 803012C8 002FCF28 7C 83 2A 14 */ add r4, r3, r5 /* 803012CC 002FCF2C 98 04 00 01 */ stb r0, 1(r4) /* 803012D0 002FCF30 88 04 FF FF */ lbz r0, -1(r4) /* 803012D4 002FCF34 7C 03 29 AE */ stbx r0, r3, r5 /* 803012D8 002FCF38 38 A5 FF F8 */ addi r5, r5, -8 /* 803012DC 002FCF3C 88 04 FF FE */ lbz r0, -2(r4) /* 803012E0 002FCF40 98 04 FF FF */ stb r0, -1(r4) /* 803012E4 002FCF44 88 04 FF FD */ lbz r0, -3(r4) /* 803012E8 002FCF48 98 04 FF FE */ stb r0, -2(r4) /* 803012EC 002FCF4C 88 04 FF FC */ lbz r0, -4(r4) /* 803012F0 002FCF50 98 04 FF FD */ stb r0, -3(r4) /* 803012F4 002FCF54 88 04 FF FB */ lbz r0, -5(r4) /* 803012F8 002FCF58 98 04 FF FC */ stb r0, -4(r4) /* 803012FC 002FCF5C 88 04 FF FA */ lbz r0, -6(r4) /* 80301300 002FCF60 98 04 FF FB */ stb r0, -5(r4) /* 80301304 002FCF64 88 04 FF F9 */ lbz r0, -7(r4) /* 80301308 002FCF68 98 04 FF FA */ stb r0, -6(r4) /* 8030130C 002FCF6C 42 00 FF B8 */ bdnz lbl_803012C4 lbl_80301310: /* 80301310 002FCF70 38 05 00 01 */ addi r0, r5, 1 /* 80301314 002FCF74 7C 09 03 A6 */ mtctr r0 /* 80301318 002FCF78 2C 05 00 00 */ cmpwi r5, 0 /* 8030131C 002FCF7C 41 80 00 18 */ blt lbl_80301334 lbl_80301320: /* 80301320 002FCF80 7C 03 28 AE */ lbzx r0, r3, r5 /* 80301324 002FCF84 7C 83 2A 14 */ add r4, r3, r5 /* 80301328 002FCF88 38 A5 FF FF */ addi r5, r5, -1 /* 8030132C 002FCF8C 98 04 00 01 */ stb r0, 1(r4) /* 80301330 002FCF90 42 00 FF F0 */ bdnz lbl_80301320 lbl_80301334: /* 80301334 002FCF94 38 00 00 30 */ li r0, 0x30 /* 80301338 002FCF98 39 8C 00 01 */ addi r12, r12, 1 /* 8030133C 002FCF9C 98 03 00 00 */ stb r0, 0(r3) /* 80301340 002FCFA0 3B FF 00 01 */ addi r31, r31, 1 lbl_80301344: /* 80301344 002FCFA4 7D 20 07 74 */ extsb r0, r9 /* 80301348 002FCFA8 2C 00 00 30 */ cmpwi r0, 0x30 /* 8030134C 002FCFAC 41 82 00 08 */ beq lbl_80301354 /* 80301350 002FCFB0 39 20 00 20 */ li r9, 0x20 lbl_80301354: /* 80301354 002FCFB4 7D 45 07 74 */ extsb r5, r10 /* 80301358 002FCFB8 7F FF F2 14 */ add r31, r31, r30 /* 8030135C 002FCFBC 3D 40 80 00 */ lis r10, 0x8000 /* 80301360 002FCFC0 38 80 00 20 */ li r4, 0x20 /* 80301364 002FCFC4 38 00 00 00 */ li r0, 0 /* 80301368 002FCFC8 48 00 01 54 */ b lbl_803014BC lbl_8030136C: /* 8030136C 002FCFCC 2C 05 00 4C */ cmpwi r5, 0x4c /* 80301370 002FCFD0 40 82 00 38 */ bne lbl_803013A8 /* 80301374 002FCFD4 7C 6B 1B 78 */ mr r11, r3 /* 80301378 002FCFD8 38 E0 00 00 */ li r7, 0 /* 8030137C 002FCFDC 48 00 00 0C */ b lbl_80301388 lbl_80301380: /* 80301380 002FCFE0 39 6B 00 01 */ addi r11, r11, 1 /* 80301384 002FCFE4 38 E7 00 01 */ addi r7, r7, 1 lbl_80301388: /* 80301388 002FCFE8 88 CB 00 00 */ lbz r6, 0(r11) /* 8030138C 002FCFEC 7C C6 07 75 */ extsb. r6, r6 /* 80301390 002FCFF0 40 82 FF F0 */ bne lbl_80301380 /* 80301394 002FCFF4 7C 83 39 AE */ stbx r4, r3, r7 /* 80301398 002FCFF8 38 C7 00 01 */ addi r6, r7, 1 /* 8030139C 002FCFFC 39 8C 00 01 */ addi r12, r12, 1 /* 803013A0 002FD000 7C 03 31 AE */ stbx r0, r3, r6 /* 803013A4 002FD004 48 00 01 14 */ b lbl_803014B8 lbl_803013A8: /* 803013A8 002FD008 7C 6B 1B 78 */ mr r11, r3 /* 803013AC 002FD00C 38 C0 00 00 */ li r6, 0 /* 803013B0 002FD010 48 00 00 0C */ b lbl_803013BC lbl_803013B4: /* 803013B4 002FD014 39 6B 00 01 */ addi r11, r11, 1 /* 803013B8 002FD018 38 C6 00 01 */ addi r6, r6, 1 lbl_803013BC: /* 803013BC 002FD01C 88 EB 00 00 */ lbz r7, 0(r11) /* 803013C0 002FD020 7C E7 07 75 */ extsb. r7, r7 /* 803013C4 002FD024 40 82 FF F0 */ bne lbl_803013B4 /* 803013C8 002FD028 2C 86 00 00 */ cmpwi cr1, r6, 0 /* 803013CC 002FD02C 41 84 00 E4 */ blt cr1, lbl_803014B0 /* 803013D0 002FD030 38 E6 00 01 */ addi r7, r6, 1 /* 803013D4 002FD034 2C 07 00 08 */ cmpwi r7, 8 /* 803013D8 002FD038 40 81 00 B4 */ ble lbl_8030148C /* 803013DC 002FD03C 39 60 00 00 */ li r11, 0 /* 803013E0 002FD040 3B A0 00 00 */ li r29, 0 /* 803013E4 002FD044 41 84 00 14 */ blt cr1, lbl_803013F8 /* 803013E8 002FD048 38 EA 00 01 */ addi r7, r10, 1 /* 803013EC 002FD04C 7C 06 38 00 */ cmpw r6, r7 /* 803013F0 002FD050 41 80 00 08 */ blt lbl_803013F8 /* 803013F4 002FD054 3B A0 00 01 */ li r29, 1 lbl_803013F8: /* 803013F8 002FD058 2C 1D 00 00 */ cmpwi r29, 0 /* 803013FC 002FD05C 41 82 00 2C */ beq lbl_80301428 /* 80301400 002FD060 54 C7 00 01 */ rlwinm. r7, r6, 0, 0, 0 /* 80301404 002FD064 3B A0 00 01 */ li r29, 1 /* 80301408 002FD068 40 82 00 14 */ bne lbl_8030141C /* 8030140C 002FD06C 38 E6 00 01 */ addi r7, r6, 1 /* 80301410 002FD070 54 E7 00 01 */ rlwinm. r7, r7, 0, 0, 0 /* 80301414 002FD074 41 82 00 08 */ beq lbl_8030141C /* 80301418 002FD078 3B A0 00 00 */ li r29, 0 lbl_8030141C: /* 8030141C 002FD07C 2C 1D 00 00 */ cmpwi r29, 0 /* 80301420 002FD080 41 82 00 08 */ beq lbl_80301428 /* 80301424 002FD084 39 60 00 01 */ li r11, 1 lbl_80301428: /* 80301428 002FD088 2C 0B 00 00 */ cmpwi r11, 0 /* 8030142C 002FD08C 41 82 00 60 */ beq lbl_8030148C /* 80301430 002FD090 54 C7 E8 FE */ srwi r7, r6, 3 /* 80301434 002FD094 7C E9 03 A6 */ mtctr r7 /* 80301438 002FD098 2C 06 00 08 */ cmpwi r6, 8 /* 8030143C 002FD09C 41 80 00 50 */ blt lbl_8030148C lbl_80301440: /* 80301440 002FD0A0 7C E3 30 AE */ lbzx r7, r3, r6 /* 80301444 002FD0A4 7D 63 32 14 */ add r11, r3, r6 /* 80301448 002FD0A8 98 EB 00 01 */ stb r7, 1(r11) /* 8030144C 002FD0AC 88 EB FF FF */ lbz r7, -1(r11) /* 80301450 002FD0B0 7C E3 31 AE */ stbx r7, r3, r6 /* 80301454 002FD0B4 38 C6 FF F8 */ addi r6, r6, -8 /* 80301458 002FD0B8 88 EB FF FE */ lbz r7, -2(r11) /* 8030145C 002FD0BC 98 EB FF FF */ stb r7, -1(r11) /* 80301460 002FD0C0 88 EB FF FD */ lbz r7, -3(r11) /* 80301464 002FD0C4 98 EB FF FE */ stb r7, -2(r11) /* 80301468 002FD0C8 88 EB FF FC */ lbz r7, -4(r11) /* 8030146C 002FD0CC 98 EB FF FD */ stb r7, -3(r11) /* 80301470 002FD0D0 88 EB FF FB */ lbz r7, -5(r11) /* 80301474 002FD0D4 98 EB FF FC */ stb r7, -4(r11) /* 80301478 002FD0D8 88 EB FF FA */ lbz r7, -6(r11) /* 8030147C 002FD0DC 98 EB FF FB */ stb r7, -5(r11) /* 80301480 002FD0E0 88 EB FF F9 */ lbz r7, -7(r11) /* 80301484 002FD0E4 98 EB FF FA */ stb r7, -6(r11) /* 80301488 002FD0E8 42 00 FF B8 */ bdnz lbl_80301440 lbl_8030148C: /* 8030148C 002FD0EC 38 E6 00 01 */ addi r7, r6, 1 /* 80301490 002FD0F0 7C E9 03 A6 */ mtctr r7 /* 80301494 002FD0F4 2C 06 00 00 */ cmpwi r6, 0 /* 80301498 002FD0F8 41 80 00 18 */ blt lbl_803014B0 lbl_8030149C: /* 8030149C 002FD0FC 7C E3 30 AE */ lbzx r7, r3, r6 /* 803014A0 002FD100 7D 63 32 14 */ add r11, r3, r6 /* 803014A4 002FD104 38 C6 FF FF */ addi r6, r6, -1 /* 803014A8 002FD108 98 EB 00 01 */ stb r7, 1(r11) /* 803014AC 002FD10C 42 00 FF F0 */ bdnz lbl_8030149C lbl_803014B0: /* 803014B0 002FD110 99 23 00 00 */ stb r9, 0(r3) /* 803014B4 002FD114 39 8C 00 01 */ addi r12, r12, 1 lbl_803014B8: /* 803014B8 002FD118 3B FF 00 01 */ addi r31, r31, 1 lbl_803014BC: /* 803014BC 002FD11C 7C 1F 40 00 */ cmpw r31, r8 /* 803014C0 002FD120 41 80 FE AC */ blt lbl_8030136C /* 803014C4 002FD124 2C 1E 00 00 */ cmpwi r30, 0 /* 803014C8 002FD128 41 82 01 18 */ beq lbl_803015E0 /* 803014CC 002FD12C 7C 64 1B 78 */ mr r4, r3 /* 803014D0 002FD130 38 A0 00 00 */ li r5, 0 /* 803014D4 002FD134 48 00 00 0C */ b lbl_803014E0 lbl_803014D8: /* 803014D8 002FD138 38 84 00 01 */ addi r4, r4, 1 /* 803014DC 002FD13C 38 A5 00 01 */ addi r5, r5, 1 lbl_803014E0: /* 803014E0 002FD140 88 04 00 00 */ lbz r0, 0(r4) /* 803014E4 002FD144 7C 00 07 75 */ extsb. r0, r0 /* 803014E8 002FD148 40 82 FF F0 */ bne lbl_803014D8 /* 803014EC 002FD14C 2C 85 00 00 */ cmpwi cr1, r5, 0 /* 803014F0 002FD150 41 84 00 E8 */ blt cr1, lbl_803015D8 /* 803014F4 002FD154 38 05 00 01 */ addi r0, r5, 1 /* 803014F8 002FD158 2C 00 00 08 */ cmpwi r0, 8 /* 803014FC 002FD15C 40 81 00 B8 */ ble lbl_803015B4 /* 80301500 002FD160 38 C0 00 00 */ li r6, 0 /* 80301504 002FD164 38 E0 00 00 */ li r7, 0 /* 80301508 002FD168 41 84 00 18 */ blt cr1, lbl_80301520 /* 8030150C 002FD16C 3C 80 80 00 */ lis r4, 0x80000001@ha /* 80301510 002FD170 38 04 00 01 */ addi r0, r4, 0x80000001@l /* 80301514 002FD174 7C 05 00 00 */ cmpw r5, r0 /* 80301518 002FD178 41 80 00 08 */ blt lbl_80301520 /* 8030151C 002FD17C 38 E0 00 01 */ li r7, 1 lbl_80301520: /* 80301520 002FD180 2C 07 00 00 */ cmpwi r7, 0 /* 80301524 002FD184 41 82 00 2C */ beq lbl_80301550 /* 80301528 002FD188 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0 /* 8030152C 002FD18C 38 80 00 01 */ li r4, 1 /* 80301530 002FD190 40 82 00 14 */ bne lbl_80301544 /* 80301534 002FD194 38 05 00 01 */ addi r0, r5, 1 /* 80301538 002FD198 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 8030153C 002FD19C 41 82 00 08 */ beq lbl_80301544 /* 80301540 002FD1A0 38 80 00 00 */ li r4, 0 lbl_80301544: /* 80301544 002FD1A4 2C 04 00 00 */ cmpwi r4, 0 /* 80301548 002FD1A8 41 82 00 08 */ beq lbl_80301550 /* 8030154C 002FD1AC 38 C0 00 01 */ li r6, 1 lbl_80301550: /* 80301550 002FD1B0 2C 06 00 00 */ cmpwi r6, 0 /* 80301554 002FD1B4 41 82 00 60 */ beq lbl_803015B4 /* 80301558 002FD1B8 54 A0 E8 FE */ srwi r0, r5, 3 /* 8030155C 002FD1BC 7C 09 03 A6 */ mtctr r0 /* 80301560 002FD1C0 2C 05 00 08 */ cmpwi r5, 8 /* 80301564 002FD1C4 41 80 00 50 */ blt lbl_803015B4 lbl_80301568: /* 80301568 002FD1C8 7C 03 28 AE */ lbzx r0, r3, r5 /* 8030156C 002FD1CC 7C 83 2A 14 */ add r4, r3, r5 /* 80301570 002FD1D0 98 04 00 01 */ stb r0, 1(r4) /* 80301574 002FD1D4 88 04 FF FF */ lbz r0, -1(r4) /* 80301578 002FD1D8 7C 03 29 AE */ stbx r0, r3, r5 /* 8030157C 002FD1DC 38 A5 FF F8 */ addi r5, r5, -8 /* 80301580 002FD1E0 88 04 FF FE */ lbz r0, -2(r4) /* 80301584 002FD1E4 98 04 FF FF */ stb r0, -1(r4) /* 80301588 002FD1E8 88 04 FF FD */ lbz r0, -3(r4) /* 8030158C 002FD1EC 98 04 FF FE */ stb r0, -2(r4) /* 80301590 002FD1F0 88 04 FF FC */ lbz r0, -4(r4) /* 80301594 002FD1F4 98 04 FF FD */ stb r0, -3(r4) /* 80301598 002FD1F8 88 04 FF FB */ lbz r0, -5(r4) /* 8030159C 002FD1FC 98 04 FF FC */ stb r0, -4(r4) /* 803015A0 002FD200 88 04 FF FA */ lbz r0, -6(r4) /* 803015A4 002FD204 98 04 FF FB */ stb r0, -5(r4) /* 803015A8 002FD208 88 04 FF F9 */ lbz r0, -7(r4) /* 803015AC 002FD20C 98 04 FF FA */ stb r0, -6(r4) /* 803015B0 002FD210 42 00 FF B8 */ bdnz lbl_80301568 lbl_803015B4: /* 803015B4 002FD214 38 05 00 01 */ addi r0, r5, 1 /* 803015B8 002FD218 7C 09 03 A6 */ mtctr r0 /* 803015BC 002FD21C 2C 05 00 00 */ cmpwi r5, 0 /* 803015C0 002FD220 41 80 00 18 */ blt lbl_803015D8 lbl_803015C4: /* 803015C4 002FD224 7C 03 28 AE */ lbzx r0, r3, r5 /* 803015C8 002FD228 7C 83 2A 14 */ add r4, r3, r5 /* 803015CC 002FD22C 38 A5 FF FF */ addi r5, r5, -1 /* 803015D0 002FD230 98 04 00 01 */ stb r0, 1(r4) /* 803015D4 002FD234 42 00 FF F0 */ bdnz lbl_803015C4 lbl_803015D8: /* 803015D8 002FD238 38 00 00 2D */ li r0, 0x2d /* 803015DC 002FD23C 98 03 00 00 */ stb r0, 0(r3) lbl_803015E0: /* 803015E0 002FD240 39 61 00 20 */ addi r11, r1, 0x20 /* 803015E4 002FD244 7D 83 63 78 */ mr r3, r12 /* 803015E8 002FD248 4B EC 5B 8D */ bl _restgpr_27 /* 803015EC 002FD24C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803015F0 002FD250 7C 08 03 A6 */ mtlr r0 /* 803015F4 002FD254 38 21 00 20 */ addi r1, r1, 0x20 /* 803015F8 002FD258 4E 80 00 20 */ blr .global Mail_sprintf Mail_sprintf: /* 803015FC 002FD25C 94 21 FF 80 */ stwu r1, -0x80(r1) /* 80301600 002FD260 7C 08 02 A6 */ mflr r0 /* 80301604 002FD264 90 01 00 84 */ stw r0, 0x84(r1) /* 80301608 002FD268 93 E1 00 7C */ stw r31, 0x7c(r1) /* 8030160C 002FD26C 40 86 00 24 */ bne cr1, lbl_80301630 /* 80301610 002FD270 D8 21 00 28 */ stfd f1, 0x28(r1) /* 80301614 002FD274 D8 41 00 30 */ stfd f2, 0x30(r1) /* 80301618 002FD278 D8 61 00 38 */ stfd f3, 0x38(r1) /* 8030161C 002FD27C D8 81 00 40 */ stfd f4, 0x40(r1) /* 80301620 002FD280 D8 A1 00 48 */ stfd f5, 0x48(r1) /* 80301624 002FD284 D8 C1 00 50 */ stfd f6, 0x50(r1) /* 80301628 002FD288 D8 E1 00 58 */ stfd f7, 0x58(r1) /* 8030162C 002FD28C D9 01 00 60 */ stfd f8, 0x60(r1) lbl_80301630: /* 80301630 002FD290 39 61 00 88 */ addi r11, r1, 0x88 /* 80301634 002FD294 38 01 00 08 */ addi r0, r1, 8 /* 80301638 002FD298 3D 80 02 00 */ lis r12, 0x200 /* 8030163C 002FD29C 90 61 00 08 */ stw r3, 8(r1) /* 80301640 002FD2A0 3B E1 00 68 */ addi r31, r1, 0x68 /* 80301644 002FD2A4 90 A1 00 10 */ stw r5, 0x10(r1) /* 80301648 002FD2A8 7F E5 FB 78 */ mr r5, r31 /* 8030164C 002FD2AC 90 81 00 0C */ stw r4, 0xc(r1) /* 80301650 002FD2B0 90 C1 00 14 */ stw r6, 0x14(r1) /* 80301654 002FD2B4 90 E1 00 18 */ stw r7, 0x18(r1) /* 80301658 002FD2B8 91 01 00 1C */ stw r8, 0x1c(r1) /* 8030165C 002FD2BC 91 21 00 20 */ stw r9, 0x20(r1) /* 80301660 002FD2C0 91 41 00 24 */ stw r10, 0x24(r1) /* 80301664 002FD2C4 91 81 00 68 */ stw r12, 0x68(r1) /* 80301668 002FD2C8 91 61 00 6C */ stw r11, 0x6c(r1) /* 8030166C 002FD2CC 90 01 00 70 */ stw r0, 0x70(r1) /* 80301670 002FD2D0 48 00 00 19 */ bl Mail_vsprintf /* 80301674 002FD2D4 80 01 00 84 */ lwz r0, 0x84(r1) /* 80301678 002FD2D8 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 8030167C 002FD2DC 7C 08 03 A6 */ mtlr r0 /* 80301680 002FD2E0 38 21 00 80 */ addi r1, r1, 0x80 /* 80301684 002FD2E4 4E 80 00 20 */ blr .global Mail_vsprintf Mail_vsprintf: /* 80301688 002FD2E8 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8030168C 002FD2EC 7C 08 02 A6 */ mflr r0 /* 80301690 002FD2F0 90 01 00 54 */ stw r0, 0x54(r1) /* 80301694 002FD2F4 39 61 00 50 */ addi r11, r1, 0x50 /* 80301698 002FD2F8 4B EC 5A 65 */ bl _savegpr_16 /* 8030169C 002FD2FC 3A 00 00 00 */ li r16, 0 /* 803016A0 002FD300 7C 74 1B 78 */ mr r20, r3 /* 803016A4 002FD304 9A 03 00 00 */ stb r16, 0(r3) /* 803016A8 002FD308 7C 95 23 78 */ mr r21, r4 /* 803016AC 002FD30C 7C B6 2B 78 */ mr r22, r5 /* 803016B0 002FD310 3B E0 00 00 */ li r31, 0 /* 803016B4 002FD314 3E 40 80 00 */ lis r18, 0x8000 /* 803016B8 002FD318 3A 60 00 20 */ li r19, 0x20 /* 803016BC 002FD31C 3E 20 80 44 */ lis r17, 0x8044 /* 803016C0 002FD320 48 00 04 5C */ b lbl_80301B1C /* 803016C4 002FD324 48 00 00 08 */ b lbl_803016CC lbl_803016C8: /* 803016C8 002FD328 3A 94 00 01 */ addi r20, r20, 1 lbl_803016CC: /* 803016CC 002FD32C 88 14 00 00 */ lbz r0, 0(r20) /* 803016D0 002FD330 7C 00 07 75 */ extsb. r0, r0 /* 803016D4 002FD334 40 82 FF F4 */ bne lbl_803016C8 /* 803016D8 002FD338 7C C0 07 74 */ extsb r0, r6 /* 803016DC 002FD33C 2C 00 00 25 */ cmpwi r0, 0x25 /* 803016E0 002FD340 40 82 04 04 */ bne lbl_80301AE4 /* 803016E4 002FD344 88 15 00 00 */ lbz r0, 0(r21) /* 803016E8 002FD348 3A B5 00 01 */ addi r21, r21, 1 /* 803016EC 002FD34C 7C 03 07 74 */ extsb r3, r0 /* 803016F0 002FD350 2C 03 00 25 */ cmpwi r3, 0x25 /* 803016F4 002FD354 40 82 00 40 */ bne lbl_80301734 /* 803016F8 002FD358 7E 84 A3 78 */ mr r4, r20 /* 803016FC 002FD35C 7E 86 A3 78 */ mr r6, r20 /* 80301700 002FD360 38 A0 00 00 */ li r5, 0 /* 80301704 002FD364 3A 94 00 01 */ addi r20, r20, 1 /* 80301708 002FD368 48 00 00 0C */ b lbl_80301714 lbl_8030170C: /* 8030170C 002FD36C 38 C6 00 01 */ addi r6, r6, 1 /* 80301710 002FD370 38 A5 00 01 */ addi r5, r5, 1 lbl_80301714: /* 80301714 002FD374 88 66 00 00 */ lbz r3, 0(r6) /* 80301718 002FD378 7C 63 07 75 */ extsb. r3, r3 /* 8030171C 002FD37C 40 82 FF F0 */ bne lbl_8030170C /* 80301720 002FD380 7C 04 29 AE */ stbx r0, r4, r5 /* 80301724 002FD384 38 05 00 01 */ addi r0, r5, 1 /* 80301728 002FD388 3B FF 00 01 */ addi r31, r31, 1 /* 8030172C 002FD38C 7E 04 01 AE */ stbx r16, r4, r0 /* 80301730 002FD390 48 00 03 EC */ b lbl_80301B1C lbl_80301734: /* 80301734 002FD394 2C 03 00 2D */ cmpwi r3, 0x2d /* 80301738 002FD398 7C 1A 03 78 */ mr r26, r0 /* 8030173C 002FD39C 40 82 00 0C */ bne lbl_80301748 /* 80301740 002FD3A0 88 15 00 00 */ lbz r0, 0(r21) /* 80301744 002FD3A4 3A B5 00 01 */ addi r21, r21, 1 lbl_80301748: /* 80301748 002FD3A8 7C 03 07 74 */ extsb r3, r0 /* 8030174C 002FD3AC 7C 19 03 78 */ mr r25, r0 /* 80301750 002FD3B0 2C 03 00 2A */ cmpwi r3, 0x2a /* 80301754 002FD3B4 3B A0 00 00 */ li r29, 0 /* 80301758 002FD3B8 3B 80 00 0A */ li r28, 0xa /* 8030175C 002FD3BC 3B 00 00 30 */ li r24, 0x30 /* 80301760 002FD3C0 3B C0 00 00 */ li r30, 0 /* 80301764 002FD3C4 40 82 00 20 */ bne lbl_80301784 /* 80301768 002FD3C8 7E C3 B3 78 */ mr r3, r22 /* 8030176C 002FD3CC 38 80 00 01 */ li r4, 1 /* 80301770 002FD3D0 4B EC 54 11 */ bl __va_arg /* 80301774 002FD3D4 88 15 00 00 */ lbz r0, 0(r21) /* 80301778 002FD3D8 3A B5 00 01 */ addi r21, r21, 1 /* 8030177C 002FD3DC 83 63 00 00 */ lwz r27, 0(r3) /* 80301780 002FD3E0 48 00 00 38 */ b lbl_803017B8 lbl_80301784: /* 80301784 002FD3E4 3B 60 00 00 */ li r27, 0 /* 80301788 002FD3E8 48 00 00 1C */ b lbl_803017A4 lbl_8030178C: /* 8030178C 002FD3EC 1C 9B 00 0A */ mulli r4, r27, 0xa /* 80301790 002FD3F0 7C 03 07 74 */ extsb r3, r0 /* 80301794 002FD3F4 88 15 00 00 */ lbz r0, 0(r21) /* 80301798 002FD3F8 3A B5 00 01 */ addi r21, r21, 1 /* 8030179C 002FD3FC 7C 63 22 14 */ add r3, r3, r4 /* 803017A0 002FD400 3B 63 FF D0 */ addi r27, r3, -48 lbl_803017A4: /* 803017A4 002FD404 7C 03 07 74 */ extsb r3, r0 /* 803017A8 002FD408 2C 03 00 30 */ cmpwi r3, 0x30 /* 803017AC 002FD40C 41 80 00 0C */ blt lbl_803017B8 /* 803017B0 002FD410 2C 03 00 39 */ cmpwi r3, 0x39 /* 803017B4 002FD414 40 81 FF D8 */ ble lbl_8030178C lbl_803017B8: /* 803017B8 002FD418 70 03 00 DF */ andi. r3, r0, 0xdf /* 803017BC 002FD41C 7C 77 07 74 */ extsb r23, r3 /* 803017C0 002FD420 2C 17 00 4C */ cmpwi r23, 0x4c /* 803017C4 002FD424 40 82 00 0C */ bne lbl_803017D0 /* 803017C8 002FD428 88 15 00 00 */ lbz r0, 0(r21) /* 803017CC 002FD42C 3A B5 00 01 */ addi r21, r21, 1 lbl_803017D0: /* 803017D0 002FD430 7C 03 07 74 */ extsb r3, r0 /* 803017D4 002FD434 38 03 FF A8 */ addi r0, r3, -88 /* 803017D8 002FD438 28 00 00 20 */ cmplwi r0, 0x20 /* 803017DC 002FD43C 41 81 02 90 */ bgt lbl_80301A6C /* 803017E0 002FD440 38 71 62 50 */ addi r3, r17, 0x6250 /* 803017E4 002FD444 54 00 10 3A */ slwi r0, r0, 2 /* 803017E8 002FD448 7C 63 00 2E */ lwzx r3, r3, r0 /* 803017EC 002FD44C 7C 69 03 A6 */ mtctr r3 /* 803017F0 002FD450 4E 80 04 20 */ bctr /* 803017F4 002FD454 3B C0 00 01 */ li r30, 1 /* 803017F8 002FD458 3B A0 00 01 */ li r29, 1 /* 803017FC 002FD45C 48 00 02 70 */ b lbl_80301A6C /* 80301800 002FD460 3B C0 00 01 */ li r30, 1 /* 80301804 002FD464 3B 80 00 08 */ li r28, 8 /* 80301808 002FD468 48 00 02 64 */ b lbl_80301A6C /* 8030180C 002FD46C 3B C0 00 01 */ li r30, 1 /* 80301810 002FD470 48 00 02 5C */ b lbl_80301A6C /* 80301814 002FD474 3B C0 00 01 */ li r30, 1 /* 80301818 002FD478 3B 80 00 10 */ li r28, 0x10 /* 8030181C 002FD47C 3B 00 00 57 */ li r24, 0x57 /* 80301820 002FD480 48 00 02 4C */ b lbl_80301A6C /* 80301824 002FD484 3B C0 00 01 */ li r30, 1 /* 80301828 002FD488 3B 80 00 10 */ li r28, 0x10 /* 8030182C 002FD48C 3B 00 00 37 */ li r24, 0x37 /* 80301830 002FD490 48 00 02 3C */ b lbl_80301A6C /* 80301834 002FD494 7E C3 B3 78 */ mr r3, r22 /* 80301838 002FD498 38 80 00 01 */ li r4, 1 /* 8030183C 002FD49C 4B EC 53 45 */ bl __va_arg /* 80301840 002FD4A0 80 03 00 00 */ lwz r0, 0(r3) /* 80301844 002FD4A4 7E 83 A3 78 */ mr r3, r20 /* 80301848 002FD4A8 7E 85 A3 78 */ mr r5, r20 /* 8030184C 002FD4AC 38 80 00 00 */ li r4, 0 /* 80301850 002FD4B0 7C 06 07 74 */ extsb r6, r0 /* 80301854 002FD4B4 3A 94 00 01 */ addi r20, r20, 1 /* 80301858 002FD4B8 48 00 00 0C */ b lbl_80301864 lbl_8030185C: /* 8030185C 002FD4BC 38 A5 00 01 */ addi r5, r5, 1 /* 80301860 002FD4C0 38 84 00 01 */ addi r4, r4, 1 lbl_80301864: /* 80301864 002FD4C4 88 05 00 00 */ lbz r0, 0(r5) /* 80301868 002FD4C8 7C 00 07 75 */ extsb. r0, r0 /* 8030186C 002FD4CC 40 82 FF F0 */ bne lbl_8030185C /* 80301870 002FD4D0 7C C3 21 AE */ stbx r6, r3, r4 /* 80301874 002FD4D4 38 04 00 01 */ addi r0, r4, 1 /* 80301878 002FD4D8 3B FF 00 01 */ addi r31, r31, 1 /* 8030187C 002FD4DC 7E 03 01 AE */ stbx r16, r3, r0 /* 80301880 002FD4E0 48 00 01 EC */ b lbl_80301A6C /* 80301884 002FD4E4 7E C3 B3 78 */ mr r3, r22 /* 80301888 002FD4E8 38 80 00 01 */ li r4, 1 /* 8030188C 002FD4EC 4B EC 52 F5 */ bl __va_arg /* 80301890 002FD4F0 80 63 00 00 */ lwz r3, 0(r3) /* 80301894 002FD4F4 2C 03 00 00 */ cmpwi r3, 0 /* 80301898 002FD4F8 41 82 00 70 */ beq lbl_80301908 /* 8030189C 002FD4FC 7C 64 1B 78 */ mr r4, r3 /* 803018A0 002FD500 38 A0 00 00 */ li r5, 0 /* 803018A4 002FD504 48 00 00 0C */ b lbl_803018B0 lbl_803018A8: /* 803018A8 002FD508 38 84 00 01 */ addi r4, r4, 1 /* 803018AC 002FD50C 38 A5 00 01 */ addi r5, r5, 1 lbl_803018B0: /* 803018B0 002FD510 88 04 00 00 */ lbz r0, 0(r4) /* 803018B4 002FD514 7C 00 07 75 */ extsb. r0, r0 /* 803018B8 002FD518 40 82 FF F0 */ bne lbl_803018A8 /* 803018BC 002FD51C 7E 86 A3 78 */ mr r6, r20 /* 803018C0 002FD520 38 80 00 00 */ li r4, 0 /* 803018C4 002FD524 48 00 00 0C */ b lbl_803018D0 lbl_803018C8: /* 803018C8 002FD528 38 C6 00 01 */ addi r6, r6, 1 /* 803018CC 002FD52C 38 84 00 01 */ addi r4, r4, 1 lbl_803018D0: /* 803018D0 002FD530 88 06 00 00 */ lbz r0, 0(r6) /* 803018D4 002FD534 7C 00 07 75 */ extsb. r0, r0 /* 803018D8 002FD538 40 82 FF F0 */ bne lbl_803018C8 /* 803018DC 002FD53C 7C 94 22 14 */ add r4, r20, r4 /* 803018E0 002FD540 48 00 00 14 */ b lbl_803018F4 lbl_803018E4: /* 803018E4 002FD544 88 03 00 00 */ lbz r0, 0(r3) /* 803018E8 002FD548 38 63 00 01 */ addi r3, r3, 1 /* 803018EC 002FD54C 98 04 00 00 */ stb r0, 0(r4) /* 803018F0 002FD550 38 84 00 01 */ addi r4, r4, 1 lbl_803018F4: /* 803018F4 002FD554 88 03 00 00 */ lbz r0, 0(r3) /* 803018F8 002FD558 7C 00 07 75 */ extsb. r0, r0 /* 803018FC 002FD55C 40 82 FF E8 */ bne lbl_803018E4 /* 80301900 002FD560 9A 04 00 00 */ stb r16, 0(r4) /* 80301904 002FD564 48 00 00 08 */ b lbl_8030190C lbl_80301908: /* 80301908 002FD568 38 A0 00 00 */ li r5, 0 lbl_8030190C: /* 8030190C 002FD56C 7F FF 2A 14 */ add r31, r31, r5 /* 80301910 002FD570 7F 40 07 74 */ extsb r0, r26 /* 80301914 002FD574 48 00 01 50 */ b lbl_80301A64 lbl_80301918: /* 80301918 002FD578 2C 00 00 2D */ cmpwi r0, 0x2d /* 8030191C 002FD57C 3B FF 00 01 */ addi r31, r31, 1 /* 80301920 002FD580 40 82 00 34 */ bne lbl_80301954 /* 80301924 002FD584 7E 86 A3 78 */ mr r6, r20 /* 80301928 002FD588 38 80 00 00 */ li r4, 0 /* 8030192C 002FD58C 48 00 00 0C */ b lbl_80301938 lbl_80301930: /* 80301930 002FD590 38 C6 00 01 */ addi r6, r6, 1 /* 80301934 002FD594 38 84 00 01 */ addi r4, r4, 1 lbl_80301938: /* 80301938 002FD598 88 66 00 00 */ lbz r3, 0(r6) /* 8030193C 002FD59C 7C 63 07 75 */ extsb. r3, r3 /* 80301940 002FD5A0 40 82 FF F0 */ bne lbl_80301930 /* 80301944 002FD5A4 7E 74 21 AE */ stbx r19, r20, r4 /* 80301948 002FD5A8 38 64 00 01 */ addi r3, r4, 1 /* 8030194C 002FD5AC 7E 14 19 AE */ stbx r16, r20, r3 /* 80301950 002FD5B0 48 00 01 10 */ b lbl_80301A60 lbl_80301954: /* 80301954 002FD5B4 7E 86 A3 78 */ mr r6, r20 /* 80301958 002FD5B8 38 60 00 00 */ li r3, 0 /* 8030195C 002FD5BC 48 00 00 0C */ b lbl_80301968 lbl_80301960: /* 80301960 002FD5C0 38 C6 00 01 */ addi r6, r6, 1 /* 80301964 002FD5C4 38 63 00 01 */ addi r3, r3, 1 lbl_80301968: /* 80301968 002FD5C8 88 86 00 00 */ lbz r4, 0(r6) /* 8030196C 002FD5CC 7C 84 07 75 */ extsb. r4, r4 /* 80301970 002FD5D0 40 82 FF F0 */ bne lbl_80301960 /* 80301974 002FD5D4 2C 83 00 00 */ cmpwi cr1, r3, 0 /* 80301978 002FD5D8 41 84 00 E4 */ blt cr1, lbl_80301A5C /* 8030197C 002FD5DC 38 83 00 01 */ addi r4, r3, 1 /* 80301980 002FD5E0 2C 04 00 08 */ cmpwi r4, 8 /* 80301984 002FD5E4 40 81 00 B4 */ ble lbl_80301A38 /* 80301988 002FD5E8 38 C0 00 00 */ li r6, 0 /* 8030198C 002FD5EC 38 E0 00 00 */ li r7, 0 /* 80301990 002FD5F0 41 84 00 14 */ blt cr1, lbl_803019A4 /* 80301994 002FD5F4 38 92 00 01 */ addi r4, r18, 1 /* 80301998 002FD5F8 7C 03 20 00 */ cmpw r3, r4 /* 8030199C 002FD5FC 41 80 00 08 */ blt lbl_803019A4 /* 803019A0 002FD600 38 E0 00 01 */ li r7, 1 lbl_803019A4: /* 803019A4 002FD604 2C 07 00 00 */ cmpwi r7, 0 /* 803019A8 002FD608 41 82 00 2C */ beq lbl_803019D4 /* 803019AC 002FD60C 54 64 00 01 */ rlwinm. r4, r3, 0, 0, 0 /* 803019B0 002FD610 38 E0 00 01 */ li r7, 1 /* 803019B4 002FD614 40 82 00 14 */ bne lbl_803019C8 /* 803019B8 002FD618 38 83 00 01 */ addi r4, r3, 1 /* 803019BC 002FD61C 54 84 00 01 */ rlwinm. r4, r4, 0, 0, 0 /* 803019C0 002FD620 41 82 00 08 */ beq lbl_803019C8 /* 803019C4 002FD624 38 E0 00 00 */ li r7, 0 lbl_803019C8: /* 803019C8 002FD628 2C 07 00 00 */ cmpwi r7, 0 /* 803019CC 002FD62C 41 82 00 08 */ beq lbl_803019D4 /* 803019D0 002FD630 38 C0 00 01 */ li r6, 1 lbl_803019D4: /* 803019D4 002FD634 2C 06 00 00 */ cmpwi r6, 0 /* 803019D8 002FD638 41 82 00 60 */ beq lbl_80301A38 /* 803019DC 002FD63C 54 64 E8 FE */ srwi r4, r3, 3 /* 803019E0 002FD640 7C 89 03 A6 */ mtctr r4 /* 803019E4 002FD644 2C 03 00 08 */ cmpwi r3, 8 /* 803019E8 002FD648 41 80 00 50 */ blt lbl_80301A38 lbl_803019EC: /* 803019EC 002FD64C 7C D4 18 AE */ lbzx r6, r20, r3 /* 803019F0 002FD650 7C 94 1A 14 */ add r4, r20, r3 /* 803019F4 002FD654 98 C4 00 01 */ stb r6, 1(r4) /* 803019F8 002FD658 88 C4 FF FF */ lbz r6, -1(r4) /* 803019FC 002FD65C 7C D4 19 AE */ stbx r6, r20, r3 /* 80301A00 002FD660 38 63 FF F8 */ addi r3, r3, -8 /* 80301A04 002FD664 88 C4 FF FE */ lbz r6, -2(r4) /* 80301A08 002FD668 98 C4 FF FF */ stb r6, -1(r4) /* 80301A0C 002FD66C 88 C4 FF FD */ lbz r6, -3(r4) /* 80301A10 002FD670 98 C4 FF FE */ stb r6, -2(r4) /* 80301A14 002FD674 88 C4 FF FC */ lbz r6, -4(r4) /* 80301A18 002FD678 98 C4 FF FD */ stb r6, -3(r4) /* 80301A1C 002FD67C 88 C4 FF FB */ lbz r6, -5(r4) /* 80301A20 002FD680 98 C4 FF FC */ stb r6, -4(r4) /* 80301A24 002FD684 88 C4 FF FA */ lbz r6, -6(r4) /* 80301A28 002FD688 98 C4 FF FB */ stb r6, -5(r4) /* 80301A2C 002FD68C 88 C4 FF F9 */ lbz r6, -7(r4) /* 80301A30 002FD690 98 C4 FF FA */ stb r6, -6(r4) /* 80301A34 002FD694 42 00 FF B8 */ bdnz lbl_803019EC lbl_80301A38: /* 80301A38 002FD698 38 83 00 01 */ addi r4, r3, 1 /* 80301A3C 002FD69C 7C 89 03 A6 */ mtctr r4 /* 80301A40 002FD6A0 2C 03 00 00 */ cmpwi r3, 0 /* 80301A44 002FD6A4 41 80 00 18 */ blt lbl_80301A5C lbl_80301A48: /* 80301A48 002FD6A8 7C 94 18 AE */ lbzx r4, r20, r3 /* 80301A4C 002FD6AC 7C D4 1A 14 */ add r6, r20, r3 /* 80301A50 002FD6B0 38 63 FF FF */ addi r3, r3, -1 /* 80301A54 002FD6B4 98 86 00 01 */ stb r4, 1(r6) /* 80301A58 002FD6B8 42 00 FF F0 */ bdnz lbl_80301A48 lbl_80301A5C: /* 80301A5C 002FD6BC 9A 74 00 00 */ stb r19, 0(r20) lbl_80301A60: /* 80301A60 002FD6C0 38 A5 00 01 */ addi r5, r5, 1 lbl_80301A64: /* 80301A64 002FD6C4 7C 05 D8 00 */ cmpw r5, r27 /* 80301A68 002FD6C8 41 80 FE B0 */ blt lbl_80301918 lbl_80301A6C: /* 80301A6C 002FD6CC 2C 1E 00 00 */ cmpwi r30, 0 /* 80301A70 002FD6D0 41 82 00 AC */ beq lbl_80301B1C /* 80301A74 002FD6D4 2C 17 00 4C */ cmpwi r23, 0x4c /* 80301A78 002FD6D8 40 82 00 18 */ bne lbl_80301A90 /* 80301A7C 002FD6DC 7E C3 B3 78 */ mr r3, r22 /* 80301A80 002FD6E0 38 80 00 01 */ li r4, 1 /* 80301A84 002FD6E4 4B EC 50 FD */ bl __va_arg /* 80301A88 002FD6E8 80 83 00 00 */ lwz r4, 0(r3) /* 80301A8C 002FD6EC 48 00 00 30 */ b lbl_80301ABC lbl_80301A90: /* 80301A90 002FD6F0 2C 1D 00 00 */ cmpwi r29, 0 /* 80301A94 002FD6F4 41 82 00 18 */ beq lbl_80301AAC /* 80301A98 002FD6F8 7E C3 B3 78 */ mr r3, r22 /* 80301A9C 002FD6FC 38 80 00 01 */ li r4, 1 /* 80301AA0 002FD700 4B EC 50 E1 */ bl __va_arg /* 80301AA4 002FD704 80 83 00 00 */ lwz r4, 0(r3) /* 80301AA8 002FD708 48 00 00 14 */ b lbl_80301ABC lbl_80301AAC: /* 80301AAC 002FD70C 7E C3 B3 78 */ mr r3, r22 /* 80301AB0 002FD710 38 80 00 01 */ li r4, 1 /* 80301AB4 002FD714 4B EC 50 CD */ bl __va_arg /* 80301AB8 002FD718 80 83 00 00 */ lwz r4, 0(r3) lbl_80301ABC: /* 80301ABC 002FD71C 7E 83 A3 78 */ mr r3, r20 /* 80301AC0 002FD720 7F 85 E3 78 */ mr r5, r28 /* 80301AC4 002FD724 7F 06 C3 78 */ mr r6, r24 /* 80301AC8 002FD728 7F A7 EB 78 */ mr r7, r29 /* 80301ACC 002FD72C 7F 68 DB 78 */ mr r8, r27 /* 80301AD0 002FD730 7F 29 07 74 */ extsb r9, r25 /* 80301AD4 002FD734 7F 4A 07 74 */ extsb r10, r26 /* 80301AD8 002FD738 4B FF F5 BD */ bl convNum /* 80301ADC 002FD73C 7F FF 1A 14 */ add r31, r31, r3 /* 80301AE0 002FD740 48 00 00 3C */ b lbl_80301B1C lbl_80301AE4: /* 80301AE4 002FD744 7E 83 A3 78 */ mr r3, r20 /* 80301AE8 002FD748 7E 85 A3 78 */ mr r5, r20 /* 80301AEC 002FD74C 38 80 00 00 */ li r4, 0 /* 80301AF0 002FD750 3A 94 00 01 */ addi r20, r20, 1 /* 80301AF4 002FD754 48 00 00 0C */ b lbl_80301B00 lbl_80301AF8: /* 80301AF8 002FD758 38 A5 00 01 */ addi r5, r5, 1 /* 80301AFC 002FD75C 38 84 00 01 */ addi r4, r4, 1 lbl_80301B00: /* 80301B00 002FD760 88 05 00 00 */ lbz r0, 0(r5) /* 80301B04 002FD764 7C 00 07 75 */ extsb. r0, r0 /* 80301B08 002FD768 40 82 FF F0 */ bne lbl_80301AF8 /* 80301B0C 002FD76C 7C C3 21 AE */ stbx r6, r3, r4 /* 80301B10 002FD770 38 04 00 01 */ addi r0, r4, 1 /* 80301B14 002FD774 3B FF 00 01 */ addi r31, r31, 1 /* 80301B18 002FD778 7E 03 01 AE */ stbx r16, r3, r0 lbl_80301B1C: /* 80301B1C 002FD77C 88 D5 00 00 */ lbz r6, 0(r21) /* 80301B20 002FD780 3A B5 00 01 */ addi r21, r21, 1 /* 80301B24 002FD784 7C C0 07 75 */ extsb. r0, r6 /* 80301B28 002FD788 40 82 FB A4 */ bne lbl_803016CC /* 80301B2C 002FD78C 39 61 00 50 */ addi r11, r1, 0x50 /* 80301B30 002FD790 7F E3 FB 78 */ mr r3, r31 /* 80301B34 002FD794 4B EC 56 15 */ bl _restgpr_16 /* 80301B38 002FD798 80 01 00 54 */ lwz r0, 0x54(r1) /* 80301B3C 002FD79C 7C 08 03 A6 */ mtlr r0 /* 80301B40 002FD7A0 38 21 00 50 */ addi r1, r1, 0x50 /* 80301B44 002FD7A4 4E 80 00 20 */ blr