prime/asm/Runtime/ansi_fp.s

2087 lines
97 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .rodata
.global lbl_803D85D8
lbl_803D85D8:
.incbin "baserom.dol", 0x3D55D8, 0xE8
.section .text, "ax"
.global __dec2num
__dec2num:
/* 8038B1B0 00388110 94 21 FE 10 */ stwu r1, -0x1f0(r1)
/* 8038B1B4 00388114 7C 08 02 A6 */ mflr r0
/* 8038B1B8 00388118 90 01 01 F4 */ stw r0, 0x1f4(r1)
/* 8038B1BC 0038811C DB E1 01 E0 */ stfd f31, 0x1e0(r1)
/* 8038B1C0 00388120 F3 E1 01 E8 */ psq_st f31, 488(r1), 0, qr0
/* 8038B1C4 00388124 93 E1 01 DC */ stw r31, 0x1dc(r1)
/* 8038B1C8 00388128 93 C1 01 D8 */ stw r30, 0x1d8(r1)
/* 8038B1CC 0038812C 88 03 00 04 */ lbz r0, 4(r3)
/* 8038B1D0 00388130 28 00 00 00 */ cmplwi r0, 0
/* 8038B1D4 00388134 40 82 00 28 */ bne lbl_8038B1FC
/* 8038B1D8 00388138 88 03 00 00 */ lbz r0, 0(r3)
/* 8038B1DC 0038813C C8 22 CF 40 */ lfd f1, lbl_805AEC60@sda21(r2)
/* 8038B1E0 00388140 7C 00 07 75 */ extsb. r0, r0
/* 8038B1E4 00388144 40 82 00 0C */ bne lbl_8038B1F0
/* 8038B1E8 00388148 C8 42 CF 48 */ lfd f2, lbl_805AEC68@sda21(r2)
/* 8038B1EC 0038814C 48 00 00 08 */ b lbl_8038B1F4
lbl_8038B1F0:
/* 8038B1F0 00388150 C8 42 CF 50 */ lfd f2, lbl_805AEC70@sda21(r2)
lbl_8038B1F4:
/* 8038B1F4 00388154 48 00 91 D5 */ bl copysign
/* 8038B1F8 00388158 48 00 08 EC */ b lbl_8038BAE4
lbl_8038B1FC:
/* 8038B1FC 0038815C 88 03 00 05 */ lbz r0, 5(r3)
/* 8038B200 00388160 2C 00 00 49 */ cmpwi r0, 0x49
/* 8038B204 00388164 41 82 00 44 */ beq lbl_8038B248
/* 8038B208 00388168 40 80 00 10 */ bge lbl_8038B218
/* 8038B20C 0038816C 2C 00 00 30 */ cmpwi r0, 0x30
/* 8038B210 00388170 41 82 00 14 */ beq lbl_8038B224
/* 8038B214 00388174 48 00 01 84 */ b lbl_8038B398
lbl_8038B218:
/* 8038B218 00388178 2C 00 00 4E */ cmpwi r0, 0x4e
/* 8038B21C 0038817C 41 82 00 54 */ beq lbl_8038B270
/* 8038B220 00388180 48 00 01 78 */ b lbl_8038B398
lbl_8038B224:
/* 8038B224 00388184 88 03 00 00 */ lbz r0, 0(r3)
/* 8038B228 00388188 C8 22 CF 40 */ lfd f1, lbl_805AEC60@sda21(r2)
/* 8038B22C 0038818C 7C 00 07 75 */ extsb. r0, r0
/* 8038B230 00388190 40 82 00 0C */ bne lbl_8038B23C
/* 8038B234 00388194 C8 42 CF 48 */ lfd f2, lbl_805AEC68@sda21(r2)
/* 8038B238 00388198 48 00 00 08 */ b lbl_8038B240
lbl_8038B23C:
/* 8038B23C 0038819C C8 42 CF 50 */ lfd f2, lbl_805AEC70@sda21(r2)
lbl_8038B240:
/* 8038B240 003881A0 48 00 91 89 */ bl copysign
/* 8038B244 003881A4 48 00 08 A0 */ b lbl_8038BAE4
lbl_8038B248:
/* 8038B248 003881A8 88 03 00 00 */ lbz r0, 0(r3)
/* 8038B24C 003881AC 3C 60 80 5B */ lis r3, lbl_805A8BA4@ha
/* 8038B250 003881B0 C0 23 8B A4 */ lfs f1, lbl_805A8BA4@l(r3)
/* 8038B254 003881B4 7C 00 07 75 */ extsb. r0, r0
/* 8038B258 003881B8 40 82 00 0C */ bne lbl_8038B264
/* 8038B25C 003881BC C8 42 CF 48 */ lfd f2, lbl_805AEC68@sda21(r2)
/* 8038B260 003881C0 48 00 00 08 */ b lbl_8038B268
lbl_8038B264:
/* 8038B264 003881C4 C8 42 CF 50 */ lfd f2, lbl_805AEC70@sda21(r2)
lbl_8038B268:
/* 8038B268 003881C8 48 00 91 61 */ bl copysign
/* 8038B26C 003881CC 48 00 08 78 */ b lbl_8038BAE4
lbl_8038B270:
/* 8038B270 003881D0 88 03 00 00 */ lbz r0, 0(r3)
/* 8038B274 003881D4 38 A0 00 00 */ li r5, 0
/* 8038B278 003881D8 3C 80 7F F0 */ lis r4, 0x7ff0
/* 8038B27C 003881DC 90 A1 00 2C */ stw r5, 0x2c(r1)
/* 8038B280 003881E0 7C 00 07 75 */ extsb. r0, r0
/* 8038B284 003881E4 90 81 00 28 */ stw r4, 0x28(r1)
/* 8038B288 003881E8 41 82 00 14 */ beq lbl_8038B29C
/* 8038B28C 003881EC 3C 00 80 00 */ lis r0, 0x8000
/* 8038B290 003881F0 90 A1 00 2C */ stw r5, 0x2c(r1)
/* 8038B294 003881F4 7C 80 03 78 */ or r0, r4, r0
/* 8038B298 003881F8 90 01 00 28 */ stw r0, 0x28(r1)
lbl_8038B29C:
/* 8038B29C 003881FC 88 03 00 04 */ lbz r0, 4(r3)
/* 8038B2A0 00388200 28 00 00 01 */ cmplwi r0, 1
/* 8038B2A4 00388204 40 82 00 18 */ bne lbl_8038B2BC
/* 8038B2A8 00388208 80 61 00 28 */ lwz r3, 0x28(r1)
/* 8038B2AC 0038820C 3C 00 00 08 */ lis r0, 8
/* 8038B2B0 00388210 7C 60 03 78 */ or r0, r3, r0
/* 8038B2B4 00388214 90 01 00 28 */ stw r0, 0x28(r1)
/* 8038B2B8 00388218 48 00 00 D8 */ b lbl_8038B390
lbl_8038B2BC:
/* 8038B2BC 0038821C 2C 00 00 0E */ cmpwi r0, 0xe
/* 8038B2C0 00388220 7C 06 03 78 */ mr r6, r0
/* 8038B2C4 00388224 38 E1 00 29 */ addi r7, r1, 0x29
/* 8038B2C8 00388228 39 00 00 00 */ li r8, 0
/* 8038B2CC 0038822C 39 20 00 01 */ li r9, 1
/* 8038B2D0 00388230 40 81 00 08 */ ble lbl_8038B2D8
/* 8038B2D4 00388234 38 C0 00 0E */ li r6, 0xe
lbl_8038B2D8:
/* 8038B2D8 00388238 3C 80 80 3F */ lis r4, lbl_803F2A20@ha
/* 8038B2DC 0038823C 38 06 FF FF */ addi r0, r6, -1
/* 8038B2E0 00388240 38 A4 2A 20 */ addi r5, r4, lbl_803F2A20@l
/* 8038B2E4 00388244 39 40 00 01 */ li r10, 1
/* 8038B2E8 00388248 7C 09 03 A6 */ mtctr r0
/* 8038B2EC 0038824C 2C 06 00 01 */ cmpwi r6, 1
/* 8038B2F0 00388250 40 81 00 88 */ ble lbl_8038B378
lbl_8038B2F4:
/* 8038B2F4 00388254 38 0A 00 05 */ addi r0, r10, 5
/* 8038B2F8 00388258 7C C3 00 AE */ lbzx r6, r3, r0
/* 8038B2FC 0038825C 7C 05 30 AE */ lbzx r0, r5, r6
/* 8038B300 00388260 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 8038B304 00388264 41 82 00 0C */ beq lbl_8038B310
/* 8038B308 00388268 38 86 FF D0 */ addi r4, r6, -48
/* 8038B30C 0038826C 48 00 00 28 */ b lbl_8038B334
lbl_8038B310:
/* 8038B310 00388270 2C 06 FF FF */ cmpwi r6, -1
/* 8038B314 00388274 40 82 00 0C */ bne lbl_8038B320
/* 8038B318 00388278 38 80 FF FF */ li r4, -1
/* 8038B31C 0038827C 48 00 00 10 */ b lbl_8038B32C
lbl_8038B320:
/* 8038B320 00388280 3C 80 80 3F */ lis r4, lbl_803F2B20@ha
/* 8038B324 00388284 38 84 2B 20 */ addi r4, r4, lbl_803F2B20@l
/* 8038B328 00388288 7C 84 30 AE */ lbzx r4, r4, r6
lbl_8038B32C:
/* 8038B32C 0038828C 38 04 FF A9 */ addi r0, r4, -87
/* 8038B330 00388290 54 04 06 3E */ clrlwi r4, r0, 0x18
lbl_8038B334:
/* 8038B334 00388294 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8038B338 00388298 41 82 00 08 */ beq lbl_8038B340
/* 8038B33C 0038829C 39 00 00 01 */ li r8, 1
lbl_8038B340:
/* 8038B340 003882A0 2C 09 00 00 */ cmpwi r9, 0
/* 8038B344 003882A4 41 82 00 18 */ beq lbl_8038B35C
/* 8038B348 003882A8 88 07 00 00 */ lbz r0, 0(r7)
/* 8038B34C 003882AC 7C 00 23 78 */ or r0, r0, r4
/* 8038B350 003882B0 98 07 00 00 */ stb r0, 0(r7)
/* 8038B354 003882B4 38 E7 00 01 */ addi r7, r7, 1
/* 8038B358 003882B8 48 00 00 0C */ b lbl_8038B364
lbl_8038B35C:
/* 8038B35C 003882BC 54 80 26 36 */ rlwinm r0, r4, 4, 0x18, 0x1b
/* 8038B360 003882C0 98 07 00 00 */ stb r0, 0(r7)
lbl_8038B364:
/* 8038B364 003882C4 7D 20 00 34 */ cntlzw r0, r9
/* 8038B368 003882C8 39 4A 00 01 */ addi r10, r10, 1
/* 8038B36C 003882CC 54 00 D9 7E */ srwi r0, r0, 5
/* 8038B370 003882D0 7C 09 03 78 */ mr r9, r0
/* 8038B374 003882D4 42 00 FF 80 */ bdnz lbl_8038B2F4
lbl_8038B378:
/* 8038B378 003882D8 2C 08 00 00 */ cmpwi r8, 0
/* 8038B37C 003882DC 40 82 00 14 */ bne lbl_8038B390
/* 8038B380 003882E0 80 61 00 28 */ lwz r3, 0x28(r1)
/* 8038B384 003882E4 3C 00 00 08 */ lis r0, 8
/* 8038B388 003882E8 7C 60 03 78 */ or r0, r3, r0
/* 8038B38C 003882EC 90 01 00 28 */ stw r0, 0x28(r1)
lbl_8038B390:
/* 8038B390 003882F0 C8 21 00 28 */ lfd f1, 0x28(r1)
/* 8038B394 003882F4 48 00 07 50 */ b lbl_8038BAE4
lbl_8038B398:
/* 8038B398 003882F8 80 83 00 00 */ lwz r4, 0(r3)
/* 8038B39C 003882FC 39 01 01 95 */ addi r8, r1, 0x195
/* 8038B3A0 00388300 80 03 00 04 */ lwz r0, 4(r3)
/* 8038B3A4 00388304 7D 07 43 78 */ mr r7, r8
/* 8038B3A8 00388308 90 01 01 94 */ stw r0, 0x194(r1)
/* 8038B3AC 0038830C 90 81 01 90 */ stw r4, 0x190(r1)
/* 8038B3B0 00388310 88 01 01 94 */ lbz r0, 0x194(r1)
/* 8038B3B4 00388314 80 83 00 08 */ lwz r4, 8(r3)
/* 8038B3B8 00388318 80 A3 00 0C */ lwz r5, 0xc(r3)
/* 8038B3BC 0038831C 7C 08 02 14 */ add r0, r8, r0
/* 8038B3C0 00388320 7C 08 00 40 */ cmplw r8, r0
/* 8038B3C4 00388324 90 81 01 98 */ stw r4, 0x198(r1)
/* 8038B3C8 00388328 7C 88 00 50 */ subf r4, r8, r0
/* 8038B3CC 0038832C 90 A1 01 9C */ stw r5, 0x19c(r1)
/* 8038B3D0 00388330 80 C3 00 10 */ lwz r6, 0x10(r3)
/* 8038B3D4 00388334 80 A3 00 14 */ lwz r5, 0x14(r3)
/* 8038B3D8 00388338 90 C1 01 A0 */ stw r6, 0x1a0(r1)
/* 8038B3DC 0038833C 90 A1 01 A4 */ stw r5, 0x1a4(r1)
/* 8038B3E0 00388340 80 C3 00 18 */ lwz r6, 0x18(r3)
/* 8038B3E4 00388344 80 A3 00 1C */ lwz r5, 0x1c(r3)
/* 8038B3E8 00388348 90 C1 01 A8 */ stw r6, 0x1a8(r1)
/* 8038B3EC 0038834C 90 A1 01 AC */ stw r5, 0x1ac(r1)
/* 8038B3F0 00388350 80 C3 00 20 */ lwz r6, 0x20(r3)
/* 8038B3F4 00388354 80 A3 00 24 */ lwz r5, 0x24(r3)
/* 8038B3F8 00388358 90 C1 01 B0 */ stw r6, 0x1b0(r1)
/* 8038B3FC 0038835C 90 A1 01 B4 */ stw r5, 0x1b4(r1)
/* 8038B400 00388360 A0 63 00 28 */ lhz r3, 0x28(r3)
/* 8038B404 00388364 B0 61 01 B8 */ sth r3, 0x1b8(r1)
/* 8038B408 00388368 40 80 00 98 */ bge lbl_8038B4A0
/* 8038B40C 0038836C 54 83 E8 FF */ rlwinm. r3, r4, 0x1d, 3, 0x1f
/* 8038B410 00388370 7C 69 03 A6 */ mtctr r3
/* 8038B414 00388374 41 82 00 74 */ beq lbl_8038B488
lbl_8038B418:
/* 8038B418 00388378 88 67 00 00 */ lbz r3, 0(r7)
/* 8038B41C 0038837C 38 63 FF D0 */ addi r3, r3, -48
/* 8038B420 00388380 98 67 00 00 */ stb r3, 0(r7)
/* 8038B424 00388384 88 67 00 01 */ lbz r3, 1(r7)
/* 8038B428 00388388 38 63 FF D0 */ addi r3, r3, -48
/* 8038B42C 0038838C 98 67 00 01 */ stb r3, 1(r7)
/* 8038B430 00388390 88 67 00 02 */ lbz r3, 2(r7)
/* 8038B434 00388394 38 63 FF D0 */ addi r3, r3, -48
/* 8038B438 00388398 98 67 00 02 */ stb r3, 2(r7)
/* 8038B43C 0038839C 88 67 00 03 */ lbz r3, 3(r7)
/* 8038B440 003883A0 38 63 FF D0 */ addi r3, r3, -48
/* 8038B444 003883A4 98 67 00 03 */ stb r3, 3(r7)
/* 8038B448 003883A8 88 67 00 04 */ lbz r3, 4(r7)
/* 8038B44C 003883AC 38 63 FF D0 */ addi r3, r3, -48
/* 8038B450 003883B0 98 67 00 04 */ stb r3, 4(r7)
/* 8038B454 003883B4 88 67 00 05 */ lbz r3, 5(r7)
/* 8038B458 003883B8 38 63 FF D0 */ addi r3, r3, -48
/* 8038B45C 003883BC 98 67 00 05 */ stb r3, 5(r7)
/* 8038B460 003883C0 88 67 00 06 */ lbz r3, 6(r7)
/* 8038B464 003883C4 38 63 FF D0 */ addi r3, r3, -48
/* 8038B468 003883C8 98 67 00 06 */ stb r3, 6(r7)
/* 8038B46C 003883CC 88 67 00 07 */ lbz r3, 7(r7)
/* 8038B470 003883D0 38 63 FF D0 */ addi r3, r3, -48
/* 8038B474 003883D4 98 67 00 07 */ stb r3, 7(r7)
/* 8038B478 003883D8 38 E7 00 08 */ addi r7, r7, 8
/* 8038B47C 003883DC 42 00 FF 9C */ bdnz lbl_8038B418
/* 8038B480 003883E0 70 84 00 07 */ andi. r4, r4, 7
/* 8038B484 003883E4 41 82 00 1C */ beq lbl_8038B4A0
lbl_8038B488:
/* 8038B488 003883E8 7C 89 03 A6 */ mtctr r4
lbl_8038B48C:
/* 8038B48C 003883EC 88 67 00 00 */ lbz r3, 0(r7)
/* 8038B490 003883F0 38 63 FF D0 */ addi r3, r3, -48
/* 8038B494 003883F4 98 67 00 00 */ stb r3, 0(r7)
/* 8038B498 003883F8 38 E7 00 01 */ addi r7, r7, 1
/* 8038B49C 003883FC 42 00 FF F0 */ bdnz lbl_8038B48C
lbl_8038B4A0:
/* 8038B4A0 00388400 88 81 01 95 */ lbz r4, 0x195(r1)
/* 8038B4A4 00388404 3C E0 43 30 */ lis r7, 0x4330
/* 8038B4A8 00388408 3C 60 80 3F */ lis r3, lbl_803F28B8@ha
/* 8038B4AC 0038840C 90 E1 01 C0 */ stw r7, 0x1c0(r1)
/* 8038B4B0 00388410 C8 62 CF 60 */ lfd f3, lbl_805AEC80@sda21(r2)
/* 8038B4B4 00388414 39 08 00 01 */ addi r8, r8, 1
/* 8038B4B8 00388418 90 81 01 C4 */ stw r4, 0x1c4(r1)
/* 8038B4BC 0038841C 38 A3 28 B8 */ addi r5, r3, lbl_803F28B8@l
/* 8038B4C0 00388420 A8 81 01 92 */ lha r4, 0x192(r1)
/* 8038B4C4 00388424 C8 01 01 C0 */ lfd f0, 0x1c0(r1)
/* 8038B4C8 00388428 88 61 01 94 */ lbz r3, 0x194(r1)
/* 8038B4CC 0038842C FC 00 18 28 */ fsub f0, f0, f3
/* 8038B4D0 00388430 7C 63 22 14 */ add r3, r3, r4
/* 8038B4D4 00388434 38 83 FF FF */ addi r4, r3, -1
/* 8038B4D8 00388438 7C 83 07 34 */ extsh r3, r4
/* 8038B4DC 0038843C B0 81 01 92 */ sth r4, 0x192(r1)
/* 8038B4E0 00388440 7C 7F 1B 78 */ mr r31, r3
/* 8038B4E4 00388444 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 8038B4E8 00388448 48 00 01 08 */ b lbl_8038B5F0
lbl_8038B4EC:
/* 8038B4EC 0038844C 7C 88 00 50 */ subf r4, r8, r0
/* 8038B4F0 00388450 39 20 00 00 */ li r9, 0
/* 8038B4F4 00388454 54 83 E8 04 */ slwi r3, r4, 0x1d
/* 8038B4F8 00388458 54 84 0F FE */ srwi r4, r4, 0x1f
/* 8038B4FC 0038845C 7C 64 18 50 */ subf r3, r4, r3
/* 8038B500 00388460 54 63 18 3E */ rotlwi r3, r3, 3
/* 8038B504 00388464 7D 43 22 15 */ add. r10, r3, r4
/* 8038B508 00388468 40 82 00 08 */ bne lbl_8038B510
/* 8038B50C 0038846C 39 40 00 08 */ li r10, 8
lbl_8038B510:
/* 8038B510 00388470 2C 0A 00 00 */ cmpwi r10, 0
/* 8038B514 00388474 7D 44 53 78 */ mr r4, r10
/* 8038B518 00388478 40 81 00 98 */ ble lbl_8038B5B0
/* 8038B51C 0038847C 55 43 E8 FF */ rlwinm. r3, r10, 0x1d, 3, 0x1f
/* 8038B520 00388480 7C 69 03 A6 */ mtctr r3
/* 8038B524 00388484 41 82 00 74 */ beq lbl_8038B598
lbl_8038B528:
/* 8038B528 00388488 1C 69 00 0A */ mulli r3, r9, 0xa
/* 8038B52C 0038848C 88 C8 00 00 */ lbz r6, 0(r8)
/* 8038B530 00388490 7D 26 1A 14 */ add r9, r6, r3
/* 8038B534 00388494 88 C8 00 01 */ lbz r6, 1(r8)
/* 8038B538 00388498 1C 69 00 0A */ mulli r3, r9, 0xa
/* 8038B53C 0038849C 7D 26 1A 14 */ add r9, r6, r3
/* 8038B540 003884A0 88 C8 00 02 */ lbz r6, 2(r8)
/* 8038B544 003884A4 1C 69 00 0A */ mulli r3, r9, 0xa
/* 8038B548 003884A8 7D 26 1A 14 */ add r9, r6, r3
/* 8038B54C 003884AC 88 C8 00 03 */ lbz r6, 3(r8)
/* 8038B550 003884B0 1C 69 00 0A */ mulli r3, r9, 0xa
/* 8038B554 003884B4 7D 26 1A 14 */ add r9, r6, r3
/* 8038B558 003884B8 88 C8 00 04 */ lbz r6, 4(r8)
/* 8038B55C 003884BC 1C 69 00 0A */ mulli r3, r9, 0xa
/* 8038B560 003884C0 7D 26 1A 14 */ add r9, r6, r3
/* 8038B564 003884C4 88 C8 00 05 */ lbz r6, 5(r8)
/* 8038B568 003884C8 1C 69 00 0A */ mulli r3, r9, 0xa
/* 8038B56C 003884CC 7D 26 1A 14 */ add r9, r6, r3
/* 8038B570 003884D0 88 C8 00 06 */ lbz r6, 6(r8)
/* 8038B574 003884D4 1C 69 00 0A */ mulli r3, r9, 0xa
/* 8038B578 003884D8 7D 26 1A 14 */ add r9, r6, r3
/* 8038B57C 003884DC 88 C8 00 07 */ lbz r6, 7(r8)
/* 8038B580 003884E0 1C 69 00 0A */ mulli r3, r9, 0xa
/* 8038B584 003884E4 39 08 00 08 */ addi r8, r8, 8
/* 8038B588 003884E8 7D 26 1A 14 */ add r9, r6, r3
/* 8038B58C 003884EC 42 00 FF 9C */ bdnz lbl_8038B528
/* 8038B590 003884F0 70 84 00 07 */ andi. r4, r4, 7
/* 8038B594 003884F4 41 82 00 1C */ beq lbl_8038B5B0
lbl_8038B598:
/* 8038B598 003884F8 7C 89 03 A6 */ mtctr r4
lbl_8038B59C:
/* 8038B59C 003884FC 1C 69 00 0A */ mulli r3, r9, 0xa
/* 8038B5A0 00388500 88 C8 00 00 */ lbz r6, 0(r8)
/* 8038B5A4 00388504 39 08 00 01 */ addi r8, r8, 1
/* 8038B5A8 00388508 7D 26 1A 14 */ add r9, r6, r3
/* 8038B5AC 0038850C 42 00 FF F0 */ bdnz lbl_8038B59C
lbl_8038B5B0:
/* 8038B5B0 00388510 55 43 18 38 */ slwi r3, r10, 3
/* 8038B5B4 00388514 91 21 01 C4 */ stw r9, 0x1c4(r1)
/* 8038B5B8 00388518 7C 65 1A 14 */ add r3, r5, r3
/* 8038B5BC 0038851C C8 41 00 20 */ lfd f2, 0x20(r1)
/* 8038B5C0 00388520 90 E1 01 C0 */ stw r7, 0x1c0(r1)
/* 8038B5C4 00388524 28 09 00 00 */ cmplwi r9, 0
/* 8038B5C8 00388528 C8 23 FF F8 */ lfd f1, -8(r3)
/* 8038B5CC 0038852C C8 01 01 C0 */ lfd f0, 0x1c0(r1)
/* 8038B5D0 00388530 FC 22 00 72 */ fmul f1, f2, f1
/* 8038B5D4 00388534 FC 00 18 28 */ fsub f0, f0, f3
/* 8038B5D8 00388538 FC 01 00 2A */ fadd f0, f1, f0
/* 8038B5DC 0038853C 41 82 00 0C */ beq lbl_8038B5E8
/* 8038B5E0 00388540 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 8038B5E4 00388544 41 82 00 14 */ beq lbl_8038B5F8
lbl_8038B5E8:
/* 8038B5E8 00388548 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 8038B5EC 0038854C 7F EA F8 50 */ subf r31, r10, r31
lbl_8038B5F0:
/* 8038B5F0 00388550 7C 08 00 40 */ cmplw r8, r0
/* 8038B5F4 00388554 41 80 FE F8 */ blt lbl_8038B4EC
lbl_8038B5F8:
/* 8038B5F8 00388558 2C 1F 00 00 */ cmpwi r31, 0
/* 8038B5FC 0038855C 40 80 00 38 */ bge lbl_8038B634
/* 8038B600 00388560 7C 7F 00 D0 */ neg r3, r31
/* 8038B604 00388564 3C 00 43 30 */ lis r0, 0x4330
/* 8038B608 00388568 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 8038B60C 0038856C 90 01 01 C0 */ stw r0, 0x1c0(r1)
/* 8038B610 00388570 C8 42 CF 68 */ lfd f2, lbl_805AEC88@sda21(r2)
/* 8038B614 00388574 90 61 01 C4 */ stw r3, 0x1c4(r1)
/* 8038B618 00388578 C8 22 CF 58 */ lfd f1, lbl_805AEC78@sda21(r2)
/* 8038B61C 0038857C C8 01 01 C0 */ lfd f0, 0x1c0(r1)
/* 8038B620 00388580 FC 40 10 28 */ fsub f2, f0, f2
/* 8038B624 00388584 48 00 96 C9 */ bl pow
/* 8038B628 00388588 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 8038B62C 0038858C FC 20 08 24 */ fdiv f1, f0, f1
/* 8038B630 00388590 48 00 00 30 */ b lbl_8038B660
lbl_8038B634:
/* 8038B634 00388594 6F E3 80 00 */ xoris r3, r31, 0x8000
/* 8038B638 00388598 3C 00 43 30 */ lis r0, 0x4330
/* 8038B63C 0038859C 90 61 01 CC */ stw r3, 0x1cc(r1)
/* 8038B640 003885A0 C8 42 CF 68 */ lfd f2, lbl_805AEC88@sda21(r2)
/* 8038B644 003885A4 90 01 01 C8 */ stw r0, 0x1c8(r1)
/* 8038B648 003885A8 C8 22 CF 58 */ lfd f1, lbl_805AEC78@sda21(r2)
/* 8038B64C 003885AC C8 01 01 C8 */ lfd f0, 0x1c8(r1)
/* 8038B650 003885B0 FC 40 10 28 */ fsub f2, f0, f2
/* 8038B654 003885B4 48 00 96 99 */ bl pow
/* 8038B658 003885B8 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 8038B65C 003885BC FC 20 00 72 */ fmul f1, f0, f1
lbl_8038B660:
/* 8038B660 003885C0 D8 21 00 20 */ stfd f1, 0x20(r1)
/* 8038B664 003885C4 7F E3 FB 78 */ mr r3, r31
/* 8038B668 003885C8 48 00 90 31 */ bl ldexp
/* 8038B66C 003885CC D8 21 00 18 */ stfd f1, 0x18(r1)
/* 8038B670 003885D0 3C 00 7F F0 */ lis r0, 0x7ff0
/* 8038B674 003885D4 80 81 00 18 */ lwz r4, 0x18(r1)
/* 8038B678 003885D8 D8 21 00 20 */ stfd f1, 0x20(r1)
/* 8038B67C 003885DC 54 83 00 56 */ rlwinm r3, r4, 0, 1, 0xb
/* 8038B680 003885E0 7C 03 00 00 */ cmpw r3, r0
/* 8038B684 003885E4 41 82 00 14 */ beq lbl_8038B698
/* 8038B688 003885E8 40 80 00 58 */ bge lbl_8038B6E0
/* 8038B68C 003885EC 2C 03 00 00 */ cmpwi r3, 0
/* 8038B690 003885F0 41 82 00 2C */ beq lbl_8038B6BC
/* 8038B694 003885F4 48 00 00 4C */ b lbl_8038B6E0
lbl_8038B698:
/* 8038B698 003885F8 54 80 03 3F */ clrlwi. r0, r4, 0xc
/* 8038B69C 003885FC 40 82 00 10 */ bne lbl_8038B6AC
/* 8038B6A0 00388600 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8038B6A4 00388604 2C 00 00 00 */ cmpwi r0, 0
/* 8038B6A8 00388608 41 82 00 0C */ beq lbl_8038B6B4
lbl_8038B6AC:
/* 8038B6AC 0038860C 38 00 00 01 */ li r0, 1
/* 8038B6B0 00388610 48 00 00 34 */ b lbl_8038B6E4
lbl_8038B6B4:
/* 8038B6B4 00388614 38 00 00 02 */ li r0, 2
/* 8038B6B8 00388618 48 00 00 2C */ b lbl_8038B6E4
lbl_8038B6BC:
/* 8038B6BC 0038861C 54 80 03 3F */ clrlwi. r0, r4, 0xc
/* 8038B6C0 00388620 40 82 00 10 */ bne lbl_8038B6D0
/* 8038B6C4 00388624 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8038B6C8 00388628 2C 00 00 00 */ cmpwi r0, 0
/* 8038B6CC 0038862C 41 82 00 0C */ beq lbl_8038B6D8
lbl_8038B6D0:
/* 8038B6D0 00388630 38 00 00 05 */ li r0, 5
/* 8038B6D4 00388634 48 00 00 10 */ b lbl_8038B6E4
lbl_8038B6D8:
/* 8038B6D8 00388638 38 00 00 03 */ li r0, 3
/* 8038B6DC 0038863C 48 00 00 08 */ b lbl_8038B6E4
lbl_8038B6E0:
/* 8038B6E0 00388640 38 00 00 04 */ li r0, 4
lbl_8038B6E4:
/* 8038B6E4 00388644 2C 00 00 02 */ cmpwi r0, 2
/* 8038B6E8 00388648 40 82 00 38 */ bne lbl_8038B720
/* 8038B6EC 0038864C 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038B6F0 00388650 38 61 01 64 */ addi r3, r1, 0x164
/* 8038B6F4 00388654 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038B6F8 00388658 38 A0 01 34 */ li r5, 0x134
/* 8038B6FC 0038865C 48 00 12 29 */ bl __str2dec
/* 8038B700 00388660 38 61 01 64 */ addi r3, r1, 0x164
/* 8038B704 00388664 38 81 01 90 */ addi r4, r1, 0x190
/* 8038B708 00388668 48 00 0C D9 */ bl __less_dec
/* 8038B70C 0038866C 2C 03 00 00 */ cmpwi r3, 0
/* 8038B710 00388670 40 82 03 B8 */ bne lbl_8038BAC8
/* 8038B714 00388674 3C 60 80 5B */ lis r3, lbl_805A8BB0@ha
/* 8038B718 00388678 C8 03 8B B0 */ lfd f0, lbl_805A8BB0@l(r3)
/* 8038B71C 0038867C D8 01 00 20 */ stfd f0, 0x20(r1)
lbl_8038B720:
/* 8038B720 00388680 C8 21 00 20 */ lfd f1, 0x20(r1)
/* 8038B724 00388684 38 61 01 38 */ addi r3, r1, 0x138
/* 8038B728 00388688 48 00 05 81 */ bl __num2dec_internal
/* 8038B72C 0038868C 38 61 01 38 */ addi r3, r1, 0x138
/* 8038B730 00388690 38 81 01 90 */ addi r4, r1, 0x190
/* 8038B734 00388694 48 00 0D A5 */ bl __equals_dec
/* 8038B738 00388698 2C 03 00 00 */ cmpwi r3, 0
/* 8038B73C 0038869C 40 82 03 8C */ bne lbl_8038BAC8
/* 8038B740 003886A0 38 61 01 38 */ addi r3, r1, 0x138
/* 8038B744 003886A4 38 81 01 90 */ addi r4, r1, 0x190
/* 8038B748 003886A8 48 00 0C 99 */ bl __less_dec
/* 8038B74C 003886AC 2C 03 00 00 */ cmpwi r3, 0
/* 8038B750 003886B0 41 82 02 44 */ beq lbl_8038B994
/* 8038B754 003886B4 3C 60 80 5B */ lis r3, lbl_805A8BA4@ha
/* 8038B758 003886B8 C8 21 00 20 */ lfd f1, 0x20(r1)
/* 8038B75C 003886BC C0 43 8B A4 */ lfs f2, lbl_805A8BA4@l(r3)
/* 8038B760 003886C0 48 00 91 F9 */ bl nextafter
/* 8038B764 003886C4 FF E0 08 90 */ fmr f31, f1
/* 8038B768 003886C8 3C 00 7F F0 */ lis r0, 0x7ff0
/* 8038B76C 003886CC DB E1 00 10 */ stfd f31, 0x10(r1)
/* 8038B770 003886D0 80 81 00 10 */ lwz r4, 0x10(r1)
/* 8038B774 003886D4 54 83 00 56 */ rlwinm r3, r4, 0, 1, 0xb
/* 8038B778 003886D8 7C 03 00 00 */ cmpw r3, r0
/* 8038B77C 003886DC 41 82 00 14 */ beq lbl_8038B790
/* 8038B780 003886E0 40 80 00 58 */ bge lbl_8038B7D8
/* 8038B784 003886E4 2C 03 00 00 */ cmpwi r3, 0
/* 8038B788 003886E8 41 82 00 2C */ beq lbl_8038B7B4
/* 8038B78C 003886EC 48 00 00 4C */ b lbl_8038B7D8
lbl_8038B790:
/* 8038B790 003886F0 54 80 03 3F */ clrlwi. r0, r4, 0xc
/* 8038B794 003886F4 40 82 00 10 */ bne lbl_8038B7A4
/* 8038B798 003886F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8038B79C 003886FC 2C 00 00 00 */ cmpwi r0, 0
/* 8038B7A0 00388700 41 82 00 0C */ beq lbl_8038B7AC
lbl_8038B7A4:
/* 8038B7A4 00388704 38 00 00 01 */ li r0, 1
/* 8038B7A8 00388708 48 00 00 34 */ b lbl_8038B7DC
lbl_8038B7AC:
/* 8038B7AC 0038870C 38 00 00 02 */ li r0, 2
/* 8038B7B0 00388710 48 00 00 2C */ b lbl_8038B7DC
lbl_8038B7B4:
/* 8038B7B4 00388714 54 80 03 3F */ clrlwi. r0, r4, 0xc
/* 8038B7B8 00388718 40 82 00 10 */ bne lbl_8038B7C8
/* 8038B7BC 0038871C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8038B7C0 00388720 2C 00 00 00 */ cmpwi r0, 0
/* 8038B7C4 00388724 41 82 00 0C */ beq lbl_8038B7D0
lbl_8038B7C8:
/* 8038B7C8 00388728 38 00 00 05 */ li r0, 5
/* 8038B7CC 0038872C 48 00 00 10 */ b lbl_8038B7DC
lbl_8038B7D0:
/* 8038B7D0 00388730 38 00 00 03 */ li r0, 3
/* 8038B7D4 00388734 48 00 00 08 */ b lbl_8038B7DC
lbl_8038B7D8:
/* 8038B7D8 00388738 38 00 00 04 */ li r0, 4
lbl_8038B7DC:
/* 8038B7DC 0038873C 2C 00 00 02 */ cmpwi r0, 2
/* 8038B7E0 00388740 40 82 00 0C */ bne lbl_8038B7EC
/* 8038B7E4 00388744 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8038B7E8 00388748 48 00 02 E0 */ b lbl_8038BAC8
lbl_8038B7EC:
/* 8038B7EC 0038874C FC 20 F8 90 */ fmr f1, f31
/* 8038B7F0 00388750 38 61 01 0C */ addi r3, r1, 0x10c
/* 8038B7F4 00388754 48 00 04 B5 */ bl __num2dec_internal
/* 8038B7F8 00388758 3C 60 80 5B */ lis r3, lbl_805A8BA4@ha
/* 8038B7FC 0038875C 3F E0 7F F0 */ lis r31, 0x7ff0
/* 8038B800 00388760 3B C3 8B A4 */ addi r30, r3, lbl_805A8BA4@l
/* 8038B804 00388764 48 00 00 FC */ b lbl_8038B900
lbl_8038B808:
/* 8038B808 00388768 81 81 01 0C */ lwz r12, 0x10c(r1)
/* 8038B80C 0038876C FC 20 F8 90 */ fmr f1, f31
/* 8038B810 00388770 81 61 01 10 */ lwz r11, 0x110(r1)
/* 8038B814 00388774 81 41 01 14 */ lwz r10, 0x114(r1)
/* 8038B818 00388778 81 21 01 18 */ lwz r9, 0x118(r1)
/* 8038B81C 0038877C 81 01 01 1C */ lwz r8, 0x11c(r1)
/* 8038B820 00388780 80 E1 01 20 */ lwz r7, 0x120(r1)
/* 8038B824 00388784 80 C1 01 24 */ lwz r6, 0x124(r1)
/* 8038B828 00388788 80 A1 01 28 */ lwz r5, 0x128(r1)
/* 8038B82C 0038878C 80 81 01 2C */ lwz r4, 0x12c(r1)
/* 8038B830 00388790 80 61 01 30 */ lwz r3, 0x130(r1)
/* 8038B834 00388794 A0 01 01 34 */ lhz r0, 0x134(r1)
/* 8038B838 00388798 91 81 01 38 */ stw r12, 0x138(r1)
/* 8038B83C 0038879C C0 5E 00 00 */ lfs f2, 0(r30)
/* 8038B840 003887A0 91 61 01 3C */ stw r11, 0x13c(r1)
/* 8038B844 003887A4 91 41 01 40 */ stw r10, 0x140(r1)
/* 8038B848 003887A8 91 21 01 44 */ stw r9, 0x144(r1)
/* 8038B84C 003887AC 91 01 01 48 */ stw r8, 0x148(r1)
/* 8038B850 003887B0 90 E1 01 4C */ stw r7, 0x14c(r1)
/* 8038B854 003887B4 90 C1 01 50 */ stw r6, 0x150(r1)
/* 8038B858 003887B8 90 A1 01 54 */ stw r5, 0x154(r1)
/* 8038B85C 003887BC 90 81 01 58 */ stw r4, 0x158(r1)
/* 8038B860 003887C0 90 61 01 5C */ stw r3, 0x15c(r1)
/* 8038B864 003887C4 B0 01 01 60 */ sth r0, 0x160(r1)
/* 8038B868 003887C8 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8038B86C 003887CC 48 00 90 ED */ bl nextafter
/* 8038B870 003887D0 FF E0 08 90 */ fmr f31, f1
/* 8038B874 003887D4 DB E1 00 08 */ stfd f31, 8(r1)
/* 8038B878 003887D8 80 61 00 08 */ lwz r3, 8(r1)
/* 8038B87C 003887DC 54 60 00 56 */ rlwinm r0, r3, 0, 1, 0xb
/* 8038B880 003887E0 7C 00 F8 00 */ cmpw r0, r31
/* 8038B884 003887E4 41 82 00 14 */ beq lbl_8038B898
/* 8038B888 003887E8 40 80 00 58 */ bge lbl_8038B8E0
/* 8038B88C 003887EC 2C 00 00 00 */ cmpwi r0, 0
/* 8038B890 003887F0 41 82 00 2C */ beq lbl_8038B8BC
/* 8038B894 003887F4 48 00 00 4C */ b lbl_8038B8E0
lbl_8038B898:
/* 8038B898 003887F8 54 60 03 3F */ clrlwi. r0, r3, 0xc
/* 8038B89C 003887FC 40 82 00 10 */ bne lbl_8038B8AC
/* 8038B8A0 00388800 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8038B8A4 00388804 2C 00 00 00 */ cmpwi r0, 0
/* 8038B8A8 00388808 41 82 00 0C */ beq lbl_8038B8B4
lbl_8038B8AC:
/* 8038B8AC 0038880C 38 00 00 01 */ li r0, 1
/* 8038B8B0 00388810 48 00 00 34 */ b lbl_8038B8E4
lbl_8038B8B4:
/* 8038B8B4 00388814 38 00 00 02 */ li r0, 2
/* 8038B8B8 00388818 48 00 00 2C */ b lbl_8038B8E4
lbl_8038B8BC:
/* 8038B8BC 0038881C 54 60 03 3F */ clrlwi. r0, r3, 0xc
/* 8038B8C0 00388820 40 82 00 10 */ bne lbl_8038B8D0
/* 8038B8C4 00388824 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8038B8C8 00388828 2C 00 00 00 */ cmpwi r0, 0
/* 8038B8CC 0038882C 41 82 00 0C */ beq lbl_8038B8D8
lbl_8038B8D0:
/* 8038B8D0 00388830 38 00 00 05 */ li r0, 5
/* 8038B8D4 00388834 48 00 00 10 */ b lbl_8038B8E4
lbl_8038B8D8:
/* 8038B8D8 00388838 38 00 00 03 */ li r0, 3
/* 8038B8DC 0038883C 48 00 00 08 */ b lbl_8038B8E4
lbl_8038B8E0:
/* 8038B8E0 00388840 38 00 00 04 */ li r0, 4
lbl_8038B8E4:
/* 8038B8E4 00388844 2C 00 00 02 */ cmpwi r0, 2
/* 8038B8E8 00388848 40 82 00 0C */ bne lbl_8038B8F4
/* 8038B8EC 0038884C DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8038B8F0 00388850 48 00 01 D8 */ b lbl_8038BAC8
lbl_8038B8F4:
/* 8038B8F4 00388854 FC 20 F8 90 */ fmr f1, f31
/* 8038B8F8 00388858 38 61 01 0C */ addi r3, r1, 0x10c
/* 8038B8FC 0038885C 48 00 03 AD */ bl __num2dec_internal
lbl_8038B900:
/* 8038B900 00388860 38 61 01 0C */ addi r3, r1, 0x10c
/* 8038B904 00388864 38 81 01 90 */ addi r4, r1, 0x190
/* 8038B908 00388868 48 00 0A D9 */ bl __less_dec
/* 8038B90C 0038886C 2C 03 00 00 */ cmpwi r3, 0
/* 8038B910 00388870 40 82 FE F8 */ bne lbl_8038B808
/* 8038B914 00388874 38 61 00 E0 */ addi r3, r1, 0xe0
/* 8038B918 00388878 38 81 01 90 */ addi r4, r1, 0x190
/* 8038B91C 0038887C 38 A1 01 38 */ addi r5, r1, 0x138
/* 8038B920 00388880 48 00 05 C5 */ bl __minus_dec
/* 8038B924 00388884 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8038B928 00388888 38 81 01 0C */ addi r4, r1, 0x10c
/* 8038B92C 0038888C 38 A1 01 90 */ addi r5, r1, 0x190
/* 8038B930 00388890 48 00 05 B5 */ bl __minus_dec
/* 8038B934 00388894 38 61 00 E0 */ addi r3, r1, 0xe0
/* 8038B938 00388898 38 81 00 B4 */ addi r4, r1, 0xb4
/* 8038B93C 0038889C 48 00 0B 9D */ bl __equals_dec
/* 8038B940 003888A0 2C 03 00 00 */ cmpwi r3, 0
/* 8038B944 003888A4 41 82 00 34 */ beq lbl_8038B978
/* 8038B948 003888A8 80 01 00 20 */ lwz r0, 0x20(r1)
/* 8038B94C 003888AC 38 80 00 00 */ li r4, 0
/* 8038B950 003888B0 80 A1 00 24 */ lwz r5, 0x24(r1)
/* 8038B954 003888B4 38 60 00 01 */ li r3, 1
/* 8038B958 003888B8 7C 00 20 38 */ and r0, r0, r4
/* 8038B95C 003888BC 7C A3 18 38 */ and r3, r5, r3
/* 8038B960 003888C0 7C 63 22 78 */ xor r3, r3, r4
/* 8038B964 003888C4 7C 00 22 78 */ xor r0, r0, r4
/* 8038B968 003888C8 7C 60 03 79 */ or. r0, r3, r0
/* 8038B96C 003888CC 41 82 01 5C */ beq lbl_8038BAC8
/* 8038B970 003888D0 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8038B974 003888D4 48 00 01 54 */ b lbl_8038BAC8
lbl_8038B978:
/* 8038B978 003888D8 38 61 00 E0 */ addi r3, r1, 0xe0
/* 8038B97C 003888DC 38 81 00 B4 */ addi r4, r1, 0xb4
/* 8038B980 003888E0 48 00 0A 61 */ bl __less_dec
/* 8038B984 003888E4 2C 03 00 00 */ cmpwi r3, 0
/* 8038B988 003888E8 40 82 01 40 */ bne lbl_8038BAC8
/* 8038B98C 003888EC DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8038B990 003888F0 48 00 01 38 */ b lbl_8038BAC8
lbl_8038B994:
/* 8038B994 003888F4 3C 60 80 5B */ lis r3, lbl_805A8BA4@ha
/* 8038B998 003888F8 C8 21 00 20 */ lfd f1, 0x20(r1)
/* 8038B99C 003888FC C0 03 8B A4 */ lfs f0, lbl_805A8BA4@l(r3)
/* 8038B9A0 00388900 FC 40 00 50 */ fneg f2, f0
/* 8038B9A4 00388904 48 00 8F B5 */ bl nextafter
/* 8038B9A8 00388908 FF E0 08 90 */ fmr f31, f1
/* 8038B9AC 0038890C 38 61 00 88 */ addi r3, r1, 0x88
/* 8038B9B0 00388910 48 00 02 F9 */ bl __num2dec_internal
/* 8038B9B4 00388914 3C 60 80 5B */ lis r3, lbl_805A8BA4@ha
/* 8038B9B8 00388918 3B E3 8B A4 */ addi r31, r3, lbl_805A8BA4@l
/* 8038B9BC 0038891C 48 00 00 7C */ b lbl_8038BA38
lbl_8038B9C0:
/* 8038B9C0 00388920 C0 1F 00 00 */ lfs f0, 0(r31)
/* 8038B9C4 00388924 FC 20 F8 90 */ fmr f1, f31
/* 8038B9C8 00388928 81 81 00 88 */ lwz r12, 0x88(r1)
/* 8038B9CC 0038892C 81 61 00 8C */ lwz r11, 0x8c(r1)
/* 8038B9D0 00388930 FC 40 00 50 */ fneg f2, f0
/* 8038B9D4 00388934 81 41 00 90 */ lwz r10, 0x90(r1)
/* 8038B9D8 00388938 81 21 00 94 */ lwz r9, 0x94(r1)
/* 8038B9DC 0038893C 81 01 00 98 */ lwz r8, 0x98(r1)
/* 8038B9E0 00388940 80 E1 00 9C */ lwz r7, 0x9c(r1)
/* 8038B9E4 00388944 80 C1 00 A0 */ lwz r6, 0xa0(r1)
/* 8038B9E8 00388948 80 A1 00 A4 */ lwz r5, 0xa4(r1)
/* 8038B9EC 0038894C 80 81 00 A8 */ lwz r4, 0xa8(r1)
/* 8038B9F0 00388950 80 61 00 AC */ lwz r3, 0xac(r1)
/* 8038B9F4 00388954 A0 01 00 B0 */ lhz r0, 0xb0(r1)
/* 8038B9F8 00388958 91 81 01 38 */ stw r12, 0x138(r1)
/* 8038B9FC 0038895C 91 61 01 3C */ stw r11, 0x13c(r1)
/* 8038BA00 00388960 91 41 01 40 */ stw r10, 0x140(r1)
/* 8038BA04 00388964 91 21 01 44 */ stw r9, 0x144(r1)
/* 8038BA08 00388968 91 01 01 48 */ stw r8, 0x148(r1)
/* 8038BA0C 0038896C 90 E1 01 4C */ stw r7, 0x14c(r1)
/* 8038BA10 00388970 90 C1 01 50 */ stw r6, 0x150(r1)
/* 8038BA14 00388974 90 A1 01 54 */ stw r5, 0x154(r1)
/* 8038BA18 00388978 90 81 01 58 */ stw r4, 0x158(r1)
/* 8038BA1C 0038897C 90 61 01 5C */ stw r3, 0x15c(r1)
/* 8038BA20 00388980 B0 01 01 60 */ sth r0, 0x160(r1)
/* 8038BA24 00388984 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8038BA28 00388988 48 00 8F 31 */ bl nextafter
/* 8038BA2C 0038898C FF E0 08 90 */ fmr f31, f1
/* 8038BA30 00388990 38 61 00 88 */ addi r3, r1, 0x88
/* 8038BA34 00388994 48 00 02 75 */ bl __num2dec_internal
lbl_8038BA38:
/* 8038BA38 00388998 38 61 01 90 */ addi r3, r1, 0x190
/* 8038BA3C 0038899C 38 81 00 88 */ addi r4, r1, 0x88
/* 8038BA40 003889A0 48 00 09 A1 */ bl __less_dec
/* 8038BA44 003889A4 2C 03 00 00 */ cmpwi r3, 0
/* 8038BA48 003889A8 40 82 FF 78 */ bne lbl_8038B9C0
/* 8038BA4C 003889AC 38 61 00 5C */ addi r3, r1, 0x5c
/* 8038BA50 003889B0 38 81 01 90 */ addi r4, r1, 0x190
/* 8038BA54 003889B4 38 A1 00 88 */ addi r5, r1, 0x88
/* 8038BA58 003889B8 48 00 04 8D */ bl __minus_dec
/* 8038BA5C 003889BC 38 61 00 30 */ addi r3, r1, 0x30
/* 8038BA60 003889C0 38 81 01 38 */ addi r4, r1, 0x138
/* 8038BA64 003889C4 38 A1 01 90 */ addi r5, r1, 0x190
/* 8038BA68 003889C8 48 00 04 7D */ bl __minus_dec
/* 8038BA6C 003889CC 38 61 00 5C */ addi r3, r1, 0x5c
/* 8038BA70 003889D0 38 81 00 30 */ addi r4, r1, 0x30
/* 8038BA74 003889D4 48 00 0A 65 */ bl __equals_dec
/* 8038BA78 003889D8 2C 03 00 00 */ cmpwi r3, 0
/* 8038BA7C 003889DC 41 82 00 34 */ beq lbl_8038BAB0
/* 8038BA80 003889E0 80 01 00 20 */ lwz r0, 0x20(r1)
/* 8038BA84 003889E4 38 80 00 00 */ li r4, 0
/* 8038BA88 003889E8 80 A1 00 24 */ lwz r5, 0x24(r1)
/* 8038BA8C 003889EC 38 60 00 01 */ li r3, 1
/* 8038BA90 003889F0 7C 00 20 38 */ and r0, r0, r4
/* 8038BA94 003889F4 7C A3 18 38 */ and r3, r5, r3
/* 8038BA98 003889F8 7C 63 22 78 */ xor r3, r3, r4
/* 8038BA9C 003889FC 7C 00 22 78 */ xor r0, r0, r4
/* 8038BAA0 00388A00 7C 60 03 79 */ or. r0, r3, r0
/* 8038BAA4 00388A04 41 82 00 24 */ beq lbl_8038BAC8
/* 8038BAA8 00388A08 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8038BAAC 00388A0C 48 00 00 1C */ b lbl_8038BAC8
lbl_8038BAB0:
/* 8038BAB0 00388A10 38 61 00 5C */ addi r3, r1, 0x5c
/* 8038BAB4 00388A14 38 81 00 30 */ addi r4, r1, 0x30
/* 8038BAB8 00388A18 48 00 09 29 */ bl __less_dec
/* 8038BABC 00388A1C 2C 03 00 00 */ cmpwi r3, 0
/* 8038BAC0 00388A20 41 82 00 08 */ beq lbl_8038BAC8
/* 8038BAC4 00388A24 DB E1 00 20 */ stfd f31, 0x20(r1)
lbl_8038BAC8:
/* 8038BAC8 00388A28 88 01 01 90 */ lbz r0, 0x190(r1)
/* 8038BACC 00388A2C 7C 00 07 75 */ extsb. r0, r0
/* 8038BAD0 00388A30 41 82 00 10 */ beq lbl_8038BAE0
/* 8038BAD4 00388A34 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 8038BAD8 00388A38 FC 00 00 50 */ fneg f0, f0
/* 8038BADC 00388A3C D8 01 00 20 */ stfd f0, 0x20(r1)
lbl_8038BAE0:
/* 8038BAE0 00388A40 C8 21 00 20 */ lfd f1, 0x20(r1)
lbl_8038BAE4:
/* 8038BAE4 00388A44 E3 E1 01 E8 */ psq_l f31, 488(r1), 0, qr0
/* 8038BAE8 00388A48 80 01 01 F4 */ lwz r0, 0x1f4(r1)
/* 8038BAEC 00388A4C CB E1 01 E0 */ lfd f31, 0x1e0(r1)
/* 8038BAF0 00388A50 83 E1 01 DC */ lwz r31, 0x1dc(r1)
/* 8038BAF4 00388A54 83 C1 01 D8 */ lwz r30, 0x1d8(r1)
/* 8038BAF8 00388A58 7C 08 03 A6 */ mtlr r0
/* 8038BAFC 00388A5C 38 21 01 F0 */ addi r1, r1, 0x1f0
/* 8038BB00 00388A60 4E 80 00 20 */ blr
.global __num2dec
__num2dec:
/* 8038BB04 00388A64 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8038BB08 00388A68 7C 08 02 A6 */ mflr r0
/* 8038BB0C 00388A6C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8038BB10 00388A70 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8038BB14 00388A74 7C 9F 23 78 */ mr r31, r4
/* 8038BB18 00388A78 93 C1 00 08 */ stw r30, 8(r1)
/* 8038BB1C 00388A7C AB C3 00 02 */ lha r30, 2(r3)
/* 8038BB20 00388A80 7F E3 FB 78 */ mr r3, r31
/* 8038BB24 00388A84 48 00 01 85 */ bl __num2dec_internal
/* 8038BB28 00388A88 88 1F 00 05 */ lbz r0, 5(r31)
/* 8038BB2C 00388A8C 28 00 00 09 */ cmplwi r0, 9
/* 8038BB30 00388A90 41 81 01 60 */ bgt lbl_8038BC90
/* 8038BB34 00388A94 7F C0 07 34 */ extsh r0, r30
/* 8038BB38 00388A98 2C 00 00 24 */ cmpwi r0, 0x24
/* 8038BB3C 00388A9C 40 81 00 08 */ ble lbl_8038BB44
/* 8038BB40 00388AA0 3B C0 00 24 */ li r30, 0x24
lbl_8038BB44:
/* 8038BB44 00388AA4 7F C6 07 35 */ extsh. r6, r30
/* 8038BB48 00388AA8 40 81 00 E8 */ ble lbl_8038BC30
/* 8038BB4C 00388AAC 88 1F 00 04 */ lbz r0, 4(r31)
/* 8038BB50 00388AB0 7C 06 00 00 */ cmpw r6, r0
/* 8038BB54 00388AB4 40 80 00 DC */ bge lbl_8038BC30
/* 8038BB58 00388AB8 7C BF 32 14 */ add r5, r31, r6
/* 8038BB5C 00388ABC 88 05 00 05 */ lbz r0, 5(r5)
/* 8038BB60 00388AC0 28 00 00 05 */ cmplwi r0, 5
/* 8038BB64 00388AC4 40 81 00 0C */ ble lbl_8038BB70
/* 8038BB68 00388AC8 38 00 00 01 */ li r0, 1
/* 8038BB6C 00388ACC 48 00 00 64 */ b lbl_8038BBD0
lbl_8038BB70:
/* 8038BB70 00388AD0 40 80 00 0C */ bge lbl_8038BB7C
/* 8038BB74 00388AD4 38 00 FF FF */ li r0, -1
/* 8038BB78 00388AD8 48 00 00 58 */ b lbl_8038BBD0
lbl_8038BB7C:
/* 8038BB7C 00388ADC 88 7F 00 04 */ lbz r3, 4(r31)
/* 8038BB80 00388AE0 38 85 00 06 */ addi r4, r5, 6
/* 8038BB84 00388AE4 38 63 00 05 */ addi r3, r3, 5
/* 8038BB88 00388AE8 7C 7F 1A 14 */ add r3, r31, r3
/* 8038BB8C 00388AEC 7C 04 18 50 */ subf r0, r4, r3
/* 8038BB90 00388AF0 7C 09 03 A6 */ mtctr r0
/* 8038BB94 00388AF4 7C 04 18 40 */ cmplw r4, r3
/* 8038BB98 00388AF8 40 80 00 20 */ bge lbl_8038BBB8
lbl_8038BB9C:
/* 8038BB9C 00388AFC 88 04 00 00 */ lbz r0, 0(r4)
/* 8038BBA0 00388B00 28 00 00 00 */ cmplwi r0, 0
/* 8038BBA4 00388B04 41 82 00 0C */ beq lbl_8038BBB0
/* 8038BBA8 00388B08 38 00 00 01 */ li r0, 1
/* 8038BBAC 00388B0C 48 00 00 24 */ b lbl_8038BBD0
lbl_8038BBB0:
/* 8038BBB0 00388B10 38 84 00 01 */ addi r4, r4, 1
/* 8038BBB4 00388B14 42 00 FF E8 */ bdnz lbl_8038BB9C
lbl_8038BBB8:
/* 8038BBB8 00388B18 88 05 00 04 */ lbz r0, 4(r5)
/* 8038BBBC 00388B1C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8038BBC0 00388B20 41 82 00 0C */ beq lbl_8038BBCC
/* 8038BBC4 00388B24 38 00 00 01 */ li r0, 1
/* 8038BBC8 00388B28 48 00 00 08 */ b lbl_8038BBD0
lbl_8038BBCC:
/* 8038BBCC 00388B2C 38 00 FF FF */ li r0, -1
lbl_8038BBD0:
/* 8038BBD0 00388B30 2C 00 00 00 */ cmpwi r0, 0
/* 8038BBD4 00388B34 98 DF 00 04 */ stb r6, 4(r31)
/* 8038BBD8 00388B38 41 80 00 58 */ blt lbl_8038BC30
/* 8038BBDC 00388B3C 38 BF 00 05 */ addi r5, r31, 5
/* 8038BBE0 00388B40 38 86 FF FF */ addi r4, r6, -1
/* 8038BBE4 00388B44 7C 85 22 14 */ add r4, r5, r4
/* 8038BBE8 00388B48 38 00 00 00 */ li r0, 0
lbl_8038BBEC:
/* 8038BBEC 00388B4C 88 64 00 00 */ lbz r3, 0(r4)
/* 8038BBF0 00388B50 28 03 00 09 */ cmplwi r3, 9
/* 8038BBF4 00388B54 40 80 00 10 */ bge lbl_8038BC04
/* 8038BBF8 00388B58 38 03 00 01 */ addi r0, r3, 1
/* 8038BBFC 00388B5C 98 04 00 00 */ stb r0, 0(r4)
/* 8038BC00 00388B60 48 00 00 30 */ b lbl_8038BC30
lbl_8038BC04:
/* 8038BC04 00388B64 7C 04 28 40 */ cmplw r4, r5
/* 8038BC08 00388B68 40 82 00 1C */ bne lbl_8038BC24
/* 8038BC0C 00388B6C 38 00 00 01 */ li r0, 1
/* 8038BC10 00388B70 98 04 00 00 */ stb r0, 0(r4)
/* 8038BC14 00388B74 A8 7F 00 02 */ lha r3, 2(r31)
/* 8038BC18 00388B78 38 03 00 01 */ addi r0, r3, 1
/* 8038BC1C 00388B7C B0 1F 00 02 */ sth r0, 2(r31)
/* 8038BC20 00388B80 48 00 00 10 */ b lbl_8038BC30
lbl_8038BC24:
/* 8038BC24 00388B84 98 04 00 00 */ stb r0, 0(r4)
/* 8038BC28 00388B88 38 84 FF FF */ addi r4, r4, -1
/* 8038BC2C 00388B8C 4B FF FF C0 */ b lbl_8038BBEC
lbl_8038BC30:
/* 8038BC30 00388B90 38 A0 00 00 */ li r5, 0
/* 8038BC34 00388B94 48 00 00 18 */ b lbl_8038BC4C
lbl_8038BC38:
/* 8038BC38 00388B98 88 9F 00 04 */ lbz r4, 4(r31)
/* 8038BC3C 00388B9C 38 64 00 01 */ addi r3, r4, 1
/* 8038BC40 00388BA0 38 04 00 05 */ addi r0, r4, 5
/* 8038BC44 00388BA4 98 7F 00 04 */ stb r3, 4(r31)
/* 8038BC48 00388BA8 7C BF 01 AE */ stbx r5, r31, r0
lbl_8038BC4C:
/* 8038BC4C 00388BAC 88 7F 00 04 */ lbz r3, 4(r31)
/* 8038BC50 00388BB0 7C 03 30 00 */ cmpw r3, r6
/* 8038BC54 00388BB4 41 80 FF E4 */ blt lbl_8038BC38
/* 8038BC58 00388BB8 A8 1F 00 02 */ lha r0, 2(r31)
/* 8038BC5C 00388BBC 38 63 FF FF */ addi r3, r3, -1
/* 8038BC60 00388BC0 38 A0 00 00 */ li r5, 0
/* 8038BC64 00388BC4 7C 03 00 50 */ subf r0, r3, r0
/* 8038BC68 00388BC8 B0 1F 00 02 */ sth r0, 2(r31)
/* 8038BC6C 00388BCC 48 00 00 18 */ b lbl_8038BC84
lbl_8038BC70:
/* 8038BC70 00388BD0 38 85 00 05 */ addi r4, r5, 5
/* 8038BC74 00388BD4 38 A5 00 01 */ addi r5, r5, 1
/* 8038BC78 00388BD8 7C 7F 20 AE */ lbzx r3, r31, r4
/* 8038BC7C 00388BDC 38 03 00 30 */ addi r0, r3, 0x30
/* 8038BC80 00388BE0 7C 1F 21 AE */ stbx r0, r31, r4
lbl_8038BC84:
/* 8038BC84 00388BE4 88 1F 00 04 */ lbz r0, 4(r31)
/* 8038BC88 00388BE8 7C 05 00 00 */ cmpw r5, r0
/* 8038BC8C 00388BEC 41 80 FF E4 */ blt lbl_8038BC70
lbl_8038BC90:
/* 8038BC90 00388BF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8038BC94 00388BF4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8038BC98 00388BF8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8038BC9C 00388BFC 7C 08 03 A6 */ mtlr r0
/* 8038BCA0 00388C00 38 21 00 10 */ addi r1, r1, 0x10
/* 8038BCA4 00388C04 4E 80 00 20 */ blr
.global __num2dec_internal
__num2dec_internal:
/* 8038BCA8 00388C08 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 8038BCAC 00388C0C 7C 08 02 A6 */ mflr r0
/* 8038BCB0 00388C10 C8 02 CF 40 */ lfd f0, lbl_805AEC60@sda21(r2)
/* 8038BCB4 00388C14 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 8038BCB8 00388C18 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 8038BCBC 00388C1C DB E1 00 A8 */ stfd f31, 0xa8(r1)
/* 8038BCC0 00388C20 93 E1 00 A4 */ stw r31, 0xa4(r1)
/* 8038BCC4 00388C24 93 C1 00 A0 */ stw r30, 0xa0(r1)
/* 8038BCC8 00388C28 7C 7E 1B 78 */ mr r30, r3
/* 8038BCCC 00388C2C D8 21 00 08 */ stfd f1, 8(r1)
/* 8038BCD0 00388C30 80 01 00 08 */ lwz r0, 8(r1)
/* 8038BCD4 00388C34 93 A1 00 9C */ stw r29, 0x9c(r1)
/* 8038BCD8 00388C38 54 00 0F FE */ srwi r0, r0, 0x1f
/* 8038BCDC 00388C3C 7C 1F 07 74 */ extsb r31, r0
/* 8038BCE0 00388C40 40 82 00 20 */ bne lbl_8038BD00
/* 8038BCE4 00388C44 9B FE 00 00 */ stb r31, 0(r30)
/* 8038BCE8 00388C48 38 60 00 00 */ li r3, 0
/* 8038BCEC 00388C4C 38 00 00 01 */ li r0, 1
/* 8038BCF0 00388C50 B0 7E 00 02 */ sth r3, 2(r30)
/* 8038BCF4 00388C54 98 1E 00 04 */ stb r0, 4(r30)
/* 8038BCF8 00388C58 98 7E 00 05 */ stb r3, 5(r30)
/* 8038BCFC 00388C5C 48 00 01 C8 */ b lbl_8038BEC4
lbl_8038BD00:
/* 8038BD00 00388C60 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 8038BD04 00388C64 3C 00 7F F0 */ lis r0, 0x7ff0
/* 8038BD08 00388C68 80 81 00 28 */ lwz r4, 0x28(r1)
/* 8038BD0C 00388C6C 54 83 00 56 */ rlwinm r3, r4, 0, 1, 0xb
/* 8038BD10 00388C70 7C 03 00 00 */ cmpw r3, r0
/* 8038BD14 00388C74 41 82 00 14 */ beq lbl_8038BD28
/* 8038BD18 00388C78 40 80 00 58 */ bge lbl_8038BD70
/* 8038BD1C 00388C7C 2C 03 00 00 */ cmpwi r3, 0
/* 8038BD20 00388C80 41 82 00 2C */ beq lbl_8038BD4C
/* 8038BD24 00388C84 48 00 00 4C */ b lbl_8038BD70
lbl_8038BD28:
/* 8038BD28 00388C88 54 80 03 3F */ clrlwi. r0, r4, 0xc
/* 8038BD2C 00388C8C 40 82 00 10 */ bne lbl_8038BD3C
/* 8038BD30 00388C90 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8038BD34 00388C94 2C 00 00 00 */ cmpwi r0, 0
/* 8038BD38 00388C98 41 82 00 0C */ beq lbl_8038BD44
lbl_8038BD3C:
/* 8038BD3C 00388C9C 38 00 00 01 */ li r0, 1
/* 8038BD40 00388CA0 48 00 00 34 */ b lbl_8038BD74
lbl_8038BD44:
/* 8038BD44 00388CA4 38 00 00 02 */ li r0, 2
/* 8038BD48 00388CA8 48 00 00 2C */ b lbl_8038BD74
lbl_8038BD4C:
/* 8038BD4C 00388CAC 54 80 03 3F */ clrlwi. r0, r4, 0xc
/* 8038BD50 00388CB0 40 82 00 10 */ bne lbl_8038BD60
/* 8038BD54 00388CB4 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8038BD58 00388CB8 2C 00 00 00 */ cmpwi r0, 0
/* 8038BD5C 00388CBC 41 82 00 0C */ beq lbl_8038BD68
lbl_8038BD60:
/* 8038BD60 00388CC0 38 00 00 05 */ li r0, 5
/* 8038BD64 00388CC4 48 00 00 10 */ b lbl_8038BD74
lbl_8038BD68:
/* 8038BD68 00388CC8 38 00 00 03 */ li r0, 3
/* 8038BD6C 00388CCC 48 00 00 08 */ b lbl_8038BD74
lbl_8038BD70:
/* 8038BD70 00388CD0 38 00 00 04 */ li r0, 4
lbl_8038BD74:
/* 8038BD74 00388CD4 2C 00 00 02 */ cmpwi r0, 2
/* 8038BD78 00388CD8 41 81 00 A8 */ bgt lbl_8038BE20
/* 8038BD7C 00388CDC C8 01 00 08 */ lfd f0, 8(r1)
/* 8038BD80 00388CE0 38 60 00 00 */ li r3, 0
/* 8038BD84 00388CE4 9B FE 00 00 */ stb r31, 0(r30)
/* 8038BD88 00388CE8 3C 00 7F F0 */ lis r0, 0x7ff0
/* 8038BD8C 00388CEC 38 80 00 01 */ li r4, 1
/* 8038BD90 00388CF0 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 8038BD94 00388CF4 80 A1 00 20 */ lwz r5, 0x20(r1)
/* 8038BD98 00388CF8 B0 7E 00 02 */ sth r3, 2(r30)
/* 8038BD9C 00388CFC 54 A3 00 56 */ rlwinm r3, r5, 0, 1, 0xb
/* 8038BDA0 00388D00 7C 03 00 00 */ cmpw r3, r0
/* 8038BDA4 00388D04 98 9E 00 04 */ stb r4, 4(r30)
/* 8038BDA8 00388D08 41 82 00 14 */ beq lbl_8038BDBC
/* 8038BDAC 00388D0C 40 80 00 58 */ bge lbl_8038BE04
/* 8038BDB0 00388D10 2C 03 00 00 */ cmpwi r3, 0
/* 8038BDB4 00388D14 41 82 00 2C */ beq lbl_8038BDE0
/* 8038BDB8 00388D18 48 00 00 4C */ b lbl_8038BE04
lbl_8038BDBC:
/* 8038BDBC 00388D1C 54 A0 03 3F */ clrlwi. r0, r5, 0xc
/* 8038BDC0 00388D20 40 82 00 10 */ bne lbl_8038BDD0
/* 8038BDC4 00388D24 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8038BDC8 00388D28 2C 00 00 00 */ cmpwi r0, 0
/* 8038BDCC 00388D2C 41 82 00 0C */ beq lbl_8038BDD8
lbl_8038BDD0:
/* 8038BDD0 00388D30 38 00 00 01 */ li r0, 1
/* 8038BDD4 00388D34 48 00 00 34 */ b lbl_8038BE08
lbl_8038BDD8:
/* 8038BDD8 00388D38 38 00 00 02 */ li r0, 2
/* 8038BDDC 00388D3C 48 00 00 2C */ b lbl_8038BE08
lbl_8038BDE0:
/* 8038BDE0 00388D40 54 A0 03 3F */ clrlwi. r0, r5, 0xc
/* 8038BDE4 00388D44 40 82 00 10 */ bne lbl_8038BDF4
/* 8038BDE8 00388D48 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8038BDEC 00388D4C 2C 00 00 00 */ cmpwi r0, 0
/* 8038BDF0 00388D50 41 82 00 0C */ beq lbl_8038BDFC
lbl_8038BDF4:
/* 8038BDF4 00388D54 38 00 00 05 */ li r0, 5
/* 8038BDF8 00388D58 48 00 00 10 */ b lbl_8038BE08
lbl_8038BDFC:
/* 8038BDFC 00388D5C 38 00 00 03 */ li r0, 3
/* 8038BE00 00388D60 48 00 00 08 */ b lbl_8038BE08
lbl_8038BE04:
/* 8038BE04 00388D64 38 00 00 04 */ li r0, 4
lbl_8038BE08:
/* 8038BE08 00388D68 2C 00 00 01 */ cmpwi r0, 1
/* 8038BE0C 00388D6C 38 00 00 49 */ li r0, 0x49
/* 8038BE10 00388D70 40 82 00 08 */ bne lbl_8038BE18
/* 8038BE14 00388D74 38 00 00 4E */ li r0, 0x4e
lbl_8038BE18:
/* 8038BE18 00388D78 98 1E 00 05 */ stb r0, 5(r30)
/* 8038BE1C 00388D7C 48 00 00 A8 */ b lbl_8038BEC4
lbl_8038BE20:
/* 8038BE20 00388D80 7F E0 07 75 */ extsb. r0, r31
/* 8038BE24 00388D84 41 82 00 0C */ beq lbl_8038BE30
/* 8038BE28 00388D88 FC 00 08 50 */ fneg f0, f1
/* 8038BE2C 00388D8C D8 01 00 08 */ stfd f0, 8(r1)
lbl_8038BE30:
/* 8038BE30 00388D90 C8 21 00 08 */ lfd f1, 8(r1)
/* 8038BE34 00388D94 38 61 00 10 */ addi r3, r1, 0x10
/* 8038BE38 00388D98 48 00 87 D5 */ bl frexp
/* 8038BE3C 00388D9C FF E0 08 90 */ fmr f31, f1
/* 8038BE40 00388DA0 DB E1 00 18 */ stfd f31, 0x18(r1)
/* 8038BE44 00388DA4 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 8038BE48 00388DA8 28 03 00 00 */ cmplwi r3, 0
/* 8038BE4C 00388DAC 41 82 00 0C */ beq lbl_8038BE58
/* 8038BE50 00388DB0 48 00 0F 5D */ bl __count_trailing_zerol
/* 8038BE54 00388DB4 48 00 00 14 */ b lbl_8038BE68
lbl_8038BE58:
/* 8038BE58 00388DB8 80 01 00 18 */ lwz r0, 0x18(r1)
/* 8038BE5C 00388DBC 64 03 00 10 */ oris r3, r0, 0x10
/* 8038BE60 00388DC0 48 00 0F 4D */ bl __count_trailing_zerol
/* 8038BE64 00388DC4 38 63 00 20 */ addi r3, r3, 0x20
lbl_8038BE68:
/* 8038BE68 00388DC8 20 63 00 35 */ subfic r3, r3, 0x35
/* 8038BE6C 00388DCC 80 01 00 10 */ lwz r0, 0x10(r1)
/* 8038BE70 00388DD0 7C 7D 07 34 */ extsh r29, r3
/* 8038BE74 00388DD4 7C 1D 00 50 */ subf r0, r29, r0
/* 8038BE78 00388DD8 38 61 00 38 */ addi r3, r1, 0x38
/* 8038BE7C 00388DDC 7C 04 07 34 */ extsh r4, r0
/* 8038BE80 00388DE0 48 00 07 65 */ bl __two_exp
/* 8038BE84 00388DE4 FC 20 F8 90 */ fmr f1, f31
/* 8038BE88 00388DE8 7F A3 EB 78 */ mr r3, r29
/* 8038BE8C 00388DEC 48 00 88 0D */ bl ldexp
/* 8038BE90 00388DF0 38 61 00 30 */ addi r3, r1, 0x30
/* 8038BE94 00388DF4 48 00 89 C9 */ bl modf
/* 8038BE98 00388DF8 C8 21 00 30 */ lfd f1, 0x30(r1)
/* 8038BE9C 00388DFC 4B FF E1 7D */ bl __cvt_dbl_usll
/* 8038BEA0 00388E00 7C 65 1B 78 */ mr r5, r3
/* 8038BEA4 00388E04 7C 86 23 78 */ mr r6, r4
/* 8038BEA8 00388E08 38 61 00 64 */ addi r3, r1, 0x64
/* 8038BEAC 00388E0C 48 00 0D F1 */ bl __ull2dec
/* 8038BEB0 00388E10 7F C3 F3 78 */ mr r3, r30
/* 8038BEB4 00388E14 38 81 00 64 */ addi r4, r1, 0x64
/* 8038BEB8 00388E18 38 A1 00 38 */ addi r5, r1, 0x38
/* 8038BEBC 00388E1C 48 00 0B 55 */ bl __timesdec
/* 8038BEC0 00388E20 9B FE 00 00 */ stb r31, 0(r30)
lbl_8038BEC4:
/* 8038BEC4 00388E24 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 8038BEC8 00388E28 CB E1 00 A8 */ lfd f31, 0xa8(r1)
/* 8038BECC 00388E2C 83 E1 00 A4 */ lwz r31, 0xa4(r1)
/* 8038BED0 00388E30 83 C1 00 A0 */ lwz r30, 0xa0(r1)
/* 8038BED4 00388E34 83 A1 00 9C */ lwz r29, 0x9c(r1)
/* 8038BED8 00388E38 7C 08 03 A6 */ mtlr r0
/* 8038BEDC 00388E3C 38 21 00 B0 */ addi r1, r1, 0xb0
/* 8038BEE0 00388E40 4E 80 00 20 */ blr
.global __minus_dec
__minus_dec:
/* 8038BEE4 00388E44 80 C4 00 00 */ lwz r6, 0(r4)
/* 8038BEE8 00388E48 80 04 00 04 */ lwz r0, 4(r4)
/* 8038BEEC 00388E4C 90 C3 00 00 */ stw r6, 0(r3)
/* 8038BEF0 00388E50 90 03 00 04 */ stw r0, 4(r3)
/* 8038BEF4 00388E54 80 C4 00 08 */ lwz r6, 8(r4)
/* 8038BEF8 00388E58 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8038BEFC 00388E5C 90 C3 00 08 */ stw r6, 8(r3)
/* 8038BF00 00388E60 90 03 00 0C */ stw r0, 0xc(r3)
/* 8038BF04 00388E64 80 C4 00 10 */ lwz r6, 0x10(r4)
/* 8038BF08 00388E68 80 04 00 14 */ lwz r0, 0x14(r4)
/* 8038BF0C 00388E6C 90 C3 00 10 */ stw r6, 0x10(r3)
/* 8038BF10 00388E70 90 03 00 14 */ stw r0, 0x14(r3)
/* 8038BF14 00388E74 80 C4 00 18 */ lwz r6, 0x18(r4)
/* 8038BF18 00388E78 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 8038BF1C 00388E7C 90 C3 00 18 */ stw r6, 0x18(r3)
/* 8038BF20 00388E80 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8038BF24 00388E84 80 C4 00 20 */ lwz r6, 0x20(r4)
/* 8038BF28 00388E88 80 04 00 24 */ lwz r0, 0x24(r4)
/* 8038BF2C 00388E8C 90 C3 00 20 */ stw r6, 0x20(r3)
/* 8038BF30 00388E90 90 03 00 24 */ stw r0, 0x24(r3)
/* 8038BF34 00388E94 A0 04 00 28 */ lhz r0, 0x28(r4)
/* 8038BF38 00388E98 B0 03 00 28 */ sth r0, 0x28(r3)
/* 8038BF3C 00388E9C 88 05 00 05 */ lbz r0, 5(r5)
/* 8038BF40 00388EA0 28 00 00 00 */ cmplwi r0, 0
/* 8038BF44 00388EA4 4D 82 00 20 */ beqlr
/* 8038BF48 00388EA8 88 83 00 04 */ lbz r4, 4(r3)
/* 8038BF4C 00388EAC 88 05 00 04 */ lbz r0, 4(r5)
/* 8038BF50 00388EB0 7C 88 23 78 */ mr r8, r4
/* 8038BF54 00388EB4 7C 04 00 00 */ cmpw r4, r0
/* 8038BF58 00388EB8 40 80 00 08 */ bge lbl_8038BF60
/* 8038BF5C 00388EBC 7C 08 03 78 */ mr r8, r0
lbl_8038BF60:
/* 8038BF60 00388EC0 A8 85 00 02 */ lha r4, 2(r5)
/* 8038BF64 00388EC4 A8 03 00 02 */ lha r0, 2(r3)
/* 8038BF68 00388EC8 7C 04 00 50 */ subf r0, r4, r0
/* 8038BF6C 00388ECC 7D 08 02 14 */ add r8, r8, r0
/* 8038BF70 00388ED0 2C 08 00 24 */ cmpwi r8, 0x24
/* 8038BF74 00388ED4 40 81 00 08 */ ble lbl_8038BF7C
/* 8038BF78 00388ED8 39 00 00 24 */ li r8, 0x24
lbl_8038BF7C:
/* 8038BF7C 00388EDC 38 E0 00 00 */ li r7, 0
/* 8038BF80 00388EE0 48 00 00 18 */ b lbl_8038BF98
lbl_8038BF84:
/* 8038BF84 00388EE4 88 83 00 04 */ lbz r4, 4(r3)
/* 8038BF88 00388EE8 38 C4 00 01 */ addi r6, r4, 1
/* 8038BF8C 00388EEC 38 84 00 05 */ addi r4, r4, 5
/* 8038BF90 00388EF0 98 C3 00 04 */ stb r6, 4(r3)
/* 8038BF94 00388EF4 7C E3 21 AE */ stbx r7, r3, r4
lbl_8038BF98:
/* 8038BF98 00388EF8 88 83 00 04 */ lbz r4, 4(r3)
/* 8038BF9C 00388EFC 7C 04 40 00 */ cmpw r4, r8
/* 8038BFA0 00388F00 41 80 FF E4 */ blt lbl_8038BF84
/* 8038BFA4 00388F04 88 E5 00 04 */ lbz r7, 4(r5)
/* 8038BFA8 00388F08 38 83 00 05 */ addi r4, r3, 5
/* 8038BFAC 00388F0C 7C C4 42 14 */ add r6, r4, r8
/* 8038BFB0 00388F10 7C E7 02 14 */ add r7, r7, r0
/* 8038BFB4 00388F14 7C 07 40 00 */ cmpw r7, r8
/* 8038BFB8 00388F18 40 80 00 08 */ bge lbl_8038BFC0
/* 8038BFBC 00388F1C 7C C4 3A 14 */ add r6, r4, r7
lbl_8038BFC0:
/* 8038BFC0 00388F20 7C E4 30 50 */ subf r7, r4, r6
/* 8038BFC4 00388F24 39 25 00 05 */ addi r9, r5, 5
/* 8038BFC8 00388F28 7C E0 38 50 */ subf r7, r0, r7
/* 8038BFCC 00388F2C 7D 49 3A 14 */ add r10, r9, r7
/* 8038BFD0 00388F30 7D 4B 53 78 */ mr r11, r10
/* 8038BFD4 00388F34 48 00 01 40 */ b lbl_8038C114
lbl_8038BFD8:
/* 8038BFD8 00388F38 8D 06 FF FF */ lbzu r8, -1(r6)
/* 8038BFDC 00388F3C 8C EA FF FF */ lbzu r7, -1(r10)
/* 8038BFE0 00388F40 7C 08 38 40 */ cmplw r8, r7
/* 8038BFE4 00388F44 40 80 01 20 */ bge lbl_8038C104
/* 8038BFE8 00388F48 39 86 FF FF */ addi r12, r6, -1
/* 8038BFEC 00388F4C 48 00 00 08 */ b lbl_8038BFF4
lbl_8038BFF0:
/* 8038BFF0 00388F50 39 8C FF FF */ addi r12, r12, -1
lbl_8038BFF4:
/* 8038BFF4 00388F54 88 EC 00 00 */ lbz r7, 0(r12)
/* 8038BFF8 00388F58 28 07 00 00 */ cmplwi r7, 0
/* 8038BFFC 00388F5C 41 82 FF F4 */ beq lbl_8038BFF0
/* 8038C000 00388F60 7C 0C 30 40 */ cmplw r12, r6
/* 8038C004 00388F64 7D 0C 30 50 */ subf r8, r12, r6
/* 8038C008 00388F68 41 82 00 FC */ beq lbl_8038C104
/* 8038C00C 00388F6C 55 07 E8 FF */ rlwinm. r7, r8, 0x1d, 3, 0x1f
/* 8038C010 00388F70 7C E9 03 A6 */ mtctr r7
/* 8038C014 00388F74 41 82 00 D0 */ beq lbl_8038C0E4
lbl_8038C018:
/* 8038C018 00388F78 88 EC 00 00 */ lbz r7, 0(r12)
/* 8038C01C 00388F7C 38 E7 FF FF */ addi r7, r7, -1
/* 8038C020 00388F80 98 EC 00 00 */ stb r7, 0(r12)
/* 8038C024 00388F84 88 EC 00 01 */ lbz r7, 1(r12)
/* 8038C028 00388F88 38 E7 00 0A */ addi r7, r7, 0xa
/* 8038C02C 00388F8C 98 EC 00 01 */ stb r7, 1(r12)
/* 8038C030 00388F90 88 EC 00 01 */ lbz r7, 1(r12)
/* 8038C034 00388F94 38 E7 FF FF */ addi r7, r7, -1
/* 8038C038 00388F98 98 EC 00 01 */ stb r7, 1(r12)
/* 8038C03C 00388F9C 88 EC 00 02 */ lbz r7, 2(r12)
/* 8038C040 00388FA0 38 E7 00 0A */ addi r7, r7, 0xa
/* 8038C044 00388FA4 98 EC 00 02 */ stb r7, 2(r12)
/* 8038C048 00388FA8 88 EC 00 02 */ lbz r7, 2(r12)
/* 8038C04C 00388FAC 38 E7 FF FF */ addi r7, r7, -1
/* 8038C050 00388FB0 98 EC 00 02 */ stb r7, 2(r12)
/* 8038C054 00388FB4 88 EC 00 03 */ lbz r7, 3(r12)
/* 8038C058 00388FB8 38 E7 00 0A */ addi r7, r7, 0xa
/* 8038C05C 00388FBC 98 EC 00 03 */ stb r7, 3(r12)
/* 8038C060 00388FC0 88 EC 00 03 */ lbz r7, 3(r12)
/* 8038C064 00388FC4 38 E7 FF FF */ addi r7, r7, -1
/* 8038C068 00388FC8 98 EC 00 03 */ stb r7, 3(r12)
/* 8038C06C 00388FCC 88 EC 00 04 */ lbz r7, 4(r12)
/* 8038C070 00388FD0 38 E7 00 0A */ addi r7, r7, 0xa
/* 8038C074 00388FD4 98 EC 00 04 */ stb r7, 4(r12)
/* 8038C078 00388FD8 88 EC 00 04 */ lbz r7, 4(r12)
/* 8038C07C 00388FDC 38 E7 FF FF */ addi r7, r7, -1
/* 8038C080 00388FE0 98 EC 00 04 */ stb r7, 4(r12)
/* 8038C084 00388FE4 88 EC 00 05 */ lbz r7, 5(r12)
/* 8038C088 00388FE8 38 E7 00 0A */ addi r7, r7, 0xa
/* 8038C08C 00388FEC 98 EC 00 05 */ stb r7, 5(r12)
/* 8038C090 00388FF0 88 EC 00 05 */ lbz r7, 5(r12)
/* 8038C094 00388FF4 38 E7 FF FF */ addi r7, r7, -1
/* 8038C098 00388FF8 98 EC 00 05 */ stb r7, 5(r12)
/* 8038C09C 00388FFC 88 EC 00 06 */ lbz r7, 6(r12)
/* 8038C0A0 00389000 38 E7 00 0A */ addi r7, r7, 0xa
/* 8038C0A4 00389004 98 EC 00 06 */ stb r7, 6(r12)
/* 8038C0A8 00389008 88 EC 00 06 */ lbz r7, 6(r12)
/* 8038C0AC 0038900C 38 E7 FF FF */ addi r7, r7, -1
/* 8038C0B0 00389010 98 EC 00 06 */ stb r7, 6(r12)
/* 8038C0B4 00389014 88 EC 00 07 */ lbz r7, 7(r12)
/* 8038C0B8 00389018 38 E7 00 0A */ addi r7, r7, 0xa
/* 8038C0BC 0038901C 98 EC 00 07 */ stb r7, 7(r12)
/* 8038C0C0 00389020 88 EC 00 07 */ lbz r7, 7(r12)
/* 8038C0C4 00389024 38 E7 FF FF */ addi r7, r7, -1
/* 8038C0C8 00389028 98 EC 00 07 */ stb r7, 7(r12)
/* 8038C0CC 0038902C 88 EC 00 08 */ lbz r7, 8(r12)
/* 8038C0D0 00389030 38 E7 00 0A */ addi r7, r7, 0xa
/* 8038C0D4 00389034 9C EC 00 08 */ stbu r7, 8(r12)
/* 8038C0D8 00389038 42 00 FF 40 */ bdnz lbl_8038C018
/* 8038C0DC 0038903C 71 08 00 07 */ andi. r8, r8, 7
/* 8038C0E0 00389040 41 82 00 24 */ beq lbl_8038C104
lbl_8038C0E4:
/* 8038C0E4 00389044 7D 09 03 A6 */ mtctr r8
lbl_8038C0E8:
/* 8038C0E8 00389048 88 EC 00 00 */ lbz r7, 0(r12)
/* 8038C0EC 0038904C 38 E7 FF FF */ addi r7, r7, -1
/* 8038C0F0 00389050 98 EC 00 00 */ stb r7, 0(r12)
/* 8038C0F4 00389054 88 EC 00 01 */ lbz r7, 1(r12)
/* 8038C0F8 00389058 38 E7 00 0A */ addi r7, r7, 0xa
/* 8038C0FC 0038905C 9C EC 00 01 */ stbu r7, 1(r12)
/* 8038C100 00389060 42 00 FF E8 */ bdnz lbl_8038C0E8
lbl_8038C104:
/* 8038C104 00389064 89 0A 00 00 */ lbz r8, 0(r10)
/* 8038C108 00389068 88 E6 00 00 */ lbz r7, 0(r6)
/* 8038C10C 0038906C 7C E8 38 50 */ subf r7, r8, r7
/* 8038C110 00389070 98 E6 00 00 */ stb r7, 0(r6)
lbl_8038C114:
/* 8038C114 00389074 7C 06 20 40 */ cmplw r6, r4
/* 8038C118 00389078 40 81 00 0C */ ble lbl_8038C124
/* 8038C11C 0038907C 7C 0A 48 40 */ cmplw r10, r9
/* 8038C120 00389080 41 81 FE B8 */ bgt lbl_8038BFD8
lbl_8038C124:
/* 8038C124 00389084 89 05 00 04 */ lbz r8, 4(r5)
/* 8038C128 00389088 7D 29 58 50 */ subf r9, r9, r11
/* 8038C12C 0038908C 7C 09 40 00 */ cmpw r9, r8
/* 8038C130 00389090 40 80 01 A8 */ bge lbl_8038C2D8
/* 8038C134 00389094 88 EB 00 00 */ lbz r7, 0(r11)
/* 8038C138 00389098 39 40 00 00 */ li r10, 0
/* 8038C13C 0038909C 28 07 00 05 */ cmplwi r7, 5
/* 8038C140 003890A0 40 80 00 0C */ bge lbl_8038C14C
/* 8038C144 003890A4 39 40 00 01 */ li r10, 1
/* 8038C148 003890A8 48 00 00 54 */ b lbl_8038C19C
lbl_8038C14C:
/* 8038C14C 003890AC 40 82 00 50 */ bne lbl_8038C19C
/* 8038C150 003890B0 38 E8 00 05 */ addi r7, r8, 5
/* 8038C154 003890B4 38 CB 00 01 */ addi r6, r11, 1
/* 8038C158 003890B8 7C E5 3A 14 */ add r7, r5, r7
/* 8038C15C 003890BC 7C A6 38 50 */ subf r5, r6, r7
/* 8038C160 003890C0 7C A9 03 A6 */ mtctr r5
/* 8038C164 003890C4 7C 06 38 40 */ cmplw r6, r7
/* 8038C168 003890C8 40 80 00 18 */ bge lbl_8038C180
lbl_8038C16C:
/* 8038C16C 003890CC 88 A6 00 00 */ lbz r5, 0(r6)
/* 8038C170 003890D0 28 05 00 00 */ cmplwi r5, 0
/* 8038C174 003890D4 40 82 01 64 */ bne lbl_8038C2D8
/* 8038C178 003890D8 38 C6 00 01 */ addi r6, r6, 1
/* 8038C17C 003890DC 42 00 FF F0 */ bdnz lbl_8038C16C
lbl_8038C180:
/* 8038C180 003890E0 7C A9 02 14 */ add r5, r9, r0
/* 8038C184 003890E4 38 C5 FF FF */ addi r6, r5, -1
/* 8038C188 003890E8 7C C4 32 14 */ add r6, r4, r6
/* 8038C18C 003890EC 88 06 00 00 */ lbz r0, 0(r6)
/* 8038C190 003890F0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8038C194 003890F4 41 82 00 08 */ beq lbl_8038C19C
/* 8038C198 003890F8 39 40 00 01 */ li r10, 1
lbl_8038C19C:
/* 8038C19C 003890FC 2C 0A 00 00 */ cmpwi r10, 0
/* 8038C1A0 00389100 41 82 01 38 */ beq lbl_8038C2D8
/* 8038C1A4 00389104 88 06 00 00 */ lbz r0, 0(r6)
/* 8038C1A8 00389108 28 00 00 01 */ cmplwi r0, 1
/* 8038C1AC 0038910C 40 80 01 20 */ bge lbl_8038C2CC
/* 8038C1B0 00389110 39 06 FF FF */ addi r8, r6, -1
/* 8038C1B4 00389114 48 00 00 08 */ b lbl_8038C1BC
lbl_8038C1B8:
/* 8038C1B8 00389118 39 08 FF FF */ addi r8, r8, -1
lbl_8038C1BC:
/* 8038C1BC 0038911C 88 08 00 00 */ lbz r0, 0(r8)
/* 8038C1C0 00389120 28 00 00 00 */ cmplwi r0, 0
/* 8038C1C4 00389124 41 82 FF F4 */ beq lbl_8038C1B8
/* 8038C1C8 00389128 7C 08 30 40 */ cmplw r8, r6
/* 8038C1CC 0038912C 7C A8 30 50 */ subf r5, r8, r6
/* 8038C1D0 00389130 41 82 00 FC */ beq lbl_8038C2CC
/* 8038C1D4 00389134 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f
/* 8038C1D8 00389138 7C 09 03 A6 */ mtctr r0
/* 8038C1DC 0038913C 41 82 00 D0 */ beq lbl_8038C2AC
lbl_8038C1E0:
/* 8038C1E0 00389140 88 E8 00 00 */ lbz r7, 0(r8)
/* 8038C1E4 00389144 38 07 FF FF */ addi r0, r7, -1
/* 8038C1E8 00389148 98 08 00 00 */ stb r0, 0(r8)
/* 8038C1EC 0038914C 88 E8 00 01 */ lbz r7, 1(r8)
/* 8038C1F0 00389150 38 07 00 0A */ addi r0, r7, 0xa
/* 8038C1F4 00389154 98 08 00 01 */ stb r0, 1(r8)
/* 8038C1F8 00389158 88 E8 00 01 */ lbz r7, 1(r8)
/* 8038C1FC 0038915C 38 07 FF FF */ addi r0, r7, -1
/* 8038C200 00389160 98 08 00 01 */ stb r0, 1(r8)
/* 8038C204 00389164 88 E8 00 02 */ lbz r7, 2(r8)
/* 8038C208 00389168 38 07 00 0A */ addi r0, r7, 0xa
/* 8038C20C 0038916C 98 08 00 02 */ stb r0, 2(r8)
/* 8038C210 00389170 88 E8 00 02 */ lbz r7, 2(r8)
/* 8038C214 00389174 38 07 FF FF */ addi r0, r7, -1
/* 8038C218 00389178 98 08 00 02 */ stb r0, 2(r8)
/* 8038C21C 0038917C 88 E8 00 03 */ lbz r7, 3(r8)
/* 8038C220 00389180 38 07 00 0A */ addi r0, r7, 0xa
/* 8038C224 00389184 98 08 00 03 */ stb r0, 3(r8)
/* 8038C228 00389188 88 E8 00 03 */ lbz r7, 3(r8)
/* 8038C22C 0038918C 38 07 FF FF */ addi r0, r7, -1
/* 8038C230 00389190 98 08 00 03 */ stb r0, 3(r8)
/* 8038C234 00389194 88 E8 00 04 */ lbz r7, 4(r8)
/* 8038C238 00389198 38 07 00 0A */ addi r0, r7, 0xa
/* 8038C23C 0038919C 98 08 00 04 */ stb r0, 4(r8)
/* 8038C240 003891A0 88 E8 00 04 */ lbz r7, 4(r8)
/* 8038C244 003891A4 38 07 FF FF */ addi r0, r7, -1
/* 8038C248 003891A8 98 08 00 04 */ stb r0, 4(r8)
/* 8038C24C 003891AC 88 E8 00 05 */ lbz r7, 5(r8)
/* 8038C250 003891B0 38 07 00 0A */ addi r0, r7, 0xa
/* 8038C254 003891B4 98 08 00 05 */ stb r0, 5(r8)
/* 8038C258 003891B8 88 E8 00 05 */ lbz r7, 5(r8)
/* 8038C25C 003891BC 38 07 FF FF */ addi r0, r7, -1
/* 8038C260 003891C0 98 08 00 05 */ stb r0, 5(r8)
/* 8038C264 003891C4 88 E8 00 06 */ lbz r7, 6(r8)
/* 8038C268 003891C8 38 07 00 0A */ addi r0, r7, 0xa
/* 8038C26C 003891CC 98 08 00 06 */ stb r0, 6(r8)
/* 8038C270 003891D0 88 E8 00 06 */ lbz r7, 6(r8)
/* 8038C274 003891D4 38 07 FF FF */ addi r0, r7, -1
/* 8038C278 003891D8 98 08 00 06 */ stb r0, 6(r8)
/* 8038C27C 003891DC 88 E8 00 07 */ lbz r7, 7(r8)
/* 8038C280 003891E0 38 07 00 0A */ addi r0, r7, 0xa
/* 8038C284 003891E4 98 08 00 07 */ stb r0, 7(r8)
/* 8038C288 003891E8 88 E8 00 07 */ lbz r7, 7(r8)
/* 8038C28C 003891EC 38 07 FF FF */ addi r0, r7, -1
/* 8038C290 003891F0 98 08 00 07 */ stb r0, 7(r8)
/* 8038C294 003891F4 88 E8 00 08 */ lbz r7, 8(r8)
/* 8038C298 003891F8 38 07 00 0A */ addi r0, r7, 0xa
/* 8038C29C 003891FC 9C 08 00 08 */ stbu r0, 8(r8)
/* 8038C2A0 00389200 42 00 FF 40 */ bdnz lbl_8038C1E0
/* 8038C2A4 00389204 70 A5 00 07 */ andi. r5, r5, 7
/* 8038C2A8 00389208 41 82 00 24 */ beq lbl_8038C2CC
lbl_8038C2AC:
/* 8038C2AC 0038920C 7C A9 03 A6 */ mtctr r5
lbl_8038C2B0:
/* 8038C2B0 00389210 88 E8 00 00 */ lbz r7, 0(r8)
/* 8038C2B4 00389214 38 07 FF FF */ addi r0, r7, -1
/* 8038C2B8 00389218 98 08 00 00 */ stb r0, 0(r8)
/* 8038C2BC 0038921C 88 E8 00 01 */ lbz r7, 1(r8)
/* 8038C2C0 00389220 38 07 00 0A */ addi r0, r7, 0xa
/* 8038C2C4 00389224 9C 08 00 01 */ stbu r0, 1(r8)
/* 8038C2C8 00389228 42 00 FF E8 */ bdnz lbl_8038C2B0
lbl_8038C2CC:
/* 8038C2CC 0038922C 88 A6 00 00 */ lbz r5, 0(r6)
/* 8038C2D0 00389230 38 05 FF FF */ addi r0, r5, -1
/* 8038C2D4 00389234 98 06 00 00 */ stb r0, 0(r6)
lbl_8038C2D8:
/* 8038C2D8 00389238 7C 86 23 78 */ mr r6, r4
/* 8038C2DC 0038923C 48 00 00 08 */ b lbl_8038C2E4
lbl_8038C2E0:
/* 8038C2E0 00389240 38 C6 00 01 */ addi r6, r6, 1
lbl_8038C2E4:
/* 8038C2E4 00389244 88 06 00 00 */ lbz r0, 0(r6)
/* 8038C2E8 00389248 28 00 00 00 */ cmplwi r0, 0
/* 8038C2EC 0038924C 41 82 FF F4 */ beq lbl_8038C2E0
/* 8038C2F0 00389250 7C 06 20 40 */ cmplw r6, r4
/* 8038C2F4 00389254 40 81 00 B0 */ ble lbl_8038C3A4
/* 8038C2F8 00389258 7C A4 30 50 */ subf r5, r4, r6
/* 8038C2FC 0038925C A8 03 00 02 */ lha r0, 2(r3)
/* 8038C300 00389260 54 A7 06 3E */ clrlwi r7, r5, 0x18
/* 8038C304 00389264 7C 07 00 50 */ subf r0, r7, r0
/* 8038C308 00389268 B0 03 00 02 */ sth r0, 2(r3)
/* 8038C30C 0038926C 88 03 00 04 */ lbz r0, 4(r3)
/* 8038C310 00389270 7C 04 02 14 */ add r0, r4, r0
/* 8038C314 00389274 7C 06 00 40 */ cmplw r6, r0
/* 8038C318 00389278 7C A6 00 50 */ subf r5, r6, r0
/* 8038C31C 0038927C 40 80 00 7C */ bge lbl_8038C398
/* 8038C320 00389280 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f
/* 8038C324 00389284 7C 09 03 A6 */ mtctr r0
/* 8038C328 00389288 41 82 00 58 */ beq lbl_8038C380
lbl_8038C32C:
/* 8038C32C 0038928C 88 06 00 00 */ lbz r0, 0(r6)
/* 8038C330 00389290 98 04 00 00 */ stb r0, 0(r4)
/* 8038C334 00389294 88 06 00 01 */ lbz r0, 1(r6)
/* 8038C338 00389298 98 04 00 01 */ stb r0, 1(r4)
/* 8038C33C 0038929C 88 06 00 02 */ lbz r0, 2(r6)
/* 8038C340 003892A0 98 04 00 02 */ stb r0, 2(r4)
/* 8038C344 003892A4 88 06 00 03 */ lbz r0, 3(r6)
/* 8038C348 003892A8 98 04 00 03 */ stb r0, 3(r4)
/* 8038C34C 003892AC 88 06 00 04 */ lbz r0, 4(r6)
/* 8038C350 003892B0 98 04 00 04 */ stb r0, 4(r4)
/* 8038C354 003892B4 88 06 00 05 */ lbz r0, 5(r6)
/* 8038C358 003892B8 98 04 00 05 */ stb r0, 5(r4)
/* 8038C35C 003892BC 88 06 00 06 */ lbz r0, 6(r6)
/* 8038C360 003892C0 98 04 00 06 */ stb r0, 6(r4)
/* 8038C364 003892C4 88 06 00 07 */ lbz r0, 7(r6)
/* 8038C368 003892C8 38 C6 00 08 */ addi r6, r6, 8
/* 8038C36C 003892CC 98 04 00 07 */ stb r0, 7(r4)
/* 8038C370 003892D0 38 84 00 08 */ addi r4, r4, 8
/* 8038C374 003892D4 42 00 FF B8 */ bdnz lbl_8038C32C
/* 8038C378 003892D8 70 A5 00 07 */ andi. r5, r5, 7
/* 8038C37C 003892DC 41 82 00 1C */ beq lbl_8038C398
lbl_8038C380:
/* 8038C380 003892E0 7C A9 03 A6 */ mtctr r5
lbl_8038C384:
/* 8038C384 003892E4 88 06 00 00 */ lbz r0, 0(r6)
/* 8038C388 003892E8 38 C6 00 01 */ addi r6, r6, 1
/* 8038C38C 003892EC 98 04 00 00 */ stb r0, 0(r4)
/* 8038C390 003892F0 38 84 00 01 */ addi r4, r4, 1
/* 8038C394 003892F4 42 00 FF F0 */ bdnz lbl_8038C384
lbl_8038C398:
/* 8038C398 003892F8 88 03 00 04 */ lbz r0, 4(r3)
/* 8038C39C 003892FC 7C 07 00 50 */ subf r0, r7, r0
/* 8038C3A0 00389300 98 03 00 04 */ stb r0, 4(r3)
lbl_8038C3A4:
/* 8038C3A4 00389304 88 03 00 04 */ lbz r0, 4(r3)
/* 8038C3A8 00389308 38 83 00 05 */ addi r4, r3, 5
/* 8038C3AC 0038930C 7C A4 02 14 */ add r5, r4, r0
/* 8038C3B0 00389310 7C 04 28 50 */ subf r0, r4, r5
/* 8038C3B4 00389314 7C 09 03 A6 */ mtctr r0
/* 8038C3B8 00389318 7C 05 20 40 */ cmplw r5, r4
/* 8038C3BC 0038931C 40 81 00 14 */ ble lbl_8038C3D0
lbl_8038C3C0:
/* 8038C3C0 00389320 8C 05 FF FF */ lbzu r0, -1(r5)
/* 8038C3C4 00389324 28 00 00 00 */ cmplwi r0, 0
/* 8038C3C8 00389328 40 82 00 08 */ bne lbl_8038C3D0
/* 8038C3CC 0038932C 42 00 FF F4 */ bdnz lbl_8038C3C0
lbl_8038C3D0:
/* 8038C3D0 00389330 7C 84 28 50 */ subf r4, r4, r5
/* 8038C3D4 00389334 38 04 00 01 */ addi r0, r4, 1
/* 8038C3D8 00389338 98 03 00 04 */ stb r0, 4(r3)
/* 8038C3DC 0038933C 4E 80 00 20 */ blr
.global __less_dec
__less_dec:
/* 8038C3E0 00389340 88 03 00 05 */ lbz r0, 5(r3)
/* 8038C3E4 00389344 28 00 00 00 */ cmplwi r0, 0
/* 8038C3E8 00389348 40 82 00 18 */ bne lbl_8038C400
/* 8038C3EC 0038934C 88 64 00 05 */ lbz r3, 5(r4)
/* 8038C3F0 00389350 7C 03 00 D0 */ neg r0, r3
/* 8038C3F4 00389354 7C 00 1B 78 */ or r0, r0, r3
/* 8038C3F8 00389358 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8038C3FC 0038935C 4E 80 00 20 */ blr
lbl_8038C400:
/* 8038C400 00389360 88 04 00 05 */ lbz r0, 5(r4)
/* 8038C404 00389364 28 00 00 00 */ cmplwi r0, 0
/* 8038C408 00389368 40 82 00 0C */ bne lbl_8038C414
/* 8038C40C 0038936C 38 60 00 00 */ li r3, 0
/* 8038C410 00389370 4E 80 00 20 */ blr
lbl_8038C414:
/* 8038C414 00389374 A8 03 00 02 */ lha r0, 2(r3)
/* 8038C418 00389378 A8 A4 00 02 */ lha r5, 2(r4)
/* 8038C41C 0038937C 7C 00 28 00 */ cmpw r0, r5
/* 8038C420 00389380 40 82 00 A0 */ bne lbl_8038C4C0
/* 8038C424 00389384 88 E3 00 04 */ lbz r7, 4(r3)
/* 8038C428 00389388 88 A4 00 04 */ lbz r5, 4(r4)
/* 8038C42C 0038938C 7C E9 3B 78 */ mr r9, r7
/* 8038C430 00389390 7C 07 28 00 */ cmpw r7, r5
/* 8038C434 00389394 40 81 00 08 */ ble lbl_8038C43C
/* 8038C438 00389398 7C A9 2B 78 */ mr r9, r5
lbl_8038C43C:
/* 8038C43C 0038939C 39 00 00 00 */ li r8, 0
/* 8038C440 003893A0 7D 29 03 A6 */ mtctr r9
/* 8038C444 003893A4 2C 09 00 00 */ cmpwi r9, 0
/* 8038C448 003893A8 40 81 00 38 */ ble lbl_8038C480
lbl_8038C44C:
/* 8038C44C 003893AC 38 08 00 05 */ addi r0, r8, 5
/* 8038C450 003893B0 7C C3 00 AE */ lbzx r6, r3, r0
/* 8038C454 003893B4 7C 04 00 AE */ lbzx r0, r4, r0
/* 8038C458 003893B8 7C 06 00 40 */ cmplw r6, r0
/* 8038C45C 003893BC 40 80 00 0C */ bge lbl_8038C468
/* 8038C460 003893C0 38 60 00 01 */ li r3, 1
/* 8038C464 003893C4 4E 80 00 20 */ blr
lbl_8038C468:
/* 8038C468 003893C8 7C 00 30 40 */ cmplw r0, r6
/* 8038C46C 003893CC 40 80 00 0C */ bge lbl_8038C478
/* 8038C470 003893D0 38 60 00 00 */ li r3, 0
/* 8038C474 003893D4 4E 80 00 20 */ blr
lbl_8038C478:
/* 8038C478 003893D8 39 08 00 01 */ addi r8, r8, 1
/* 8038C47C 003893DC 42 00 FF D0 */ bdnz lbl_8038C44C
lbl_8038C480:
/* 8038C480 003893E0 7C 09 38 00 */ cmpw r9, r7
/* 8038C484 003893E4 40 82 00 34 */ bne lbl_8038C4B8
/* 8038C488 003893E8 7C 08 28 50 */ subf r0, r8, r5
/* 8038C48C 003893EC 7C 09 03 A6 */ mtctr r0
/* 8038C490 003893F0 7C 08 28 00 */ cmpw r8, r5
/* 8038C494 003893F4 40 80 00 24 */ bge lbl_8038C4B8
lbl_8038C498:
/* 8038C498 003893F8 38 08 00 05 */ addi r0, r8, 5
/* 8038C49C 003893FC 7C 04 00 AE */ lbzx r0, r4, r0
/* 8038C4A0 00389400 28 00 00 00 */ cmplwi r0, 0
/* 8038C4A4 00389404 41 82 00 0C */ beq lbl_8038C4B0
/* 8038C4A8 00389408 38 60 00 01 */ li r3, 1
/* 8038C4AC 0038940C 4E 80 00 20 */ blr
lbl_8038C4B0:
/* 8038C4B0 00389410 39 08 00 01 */ addi r8, r8, 1
/* 8038C4B4 00389414 42 00 FF E4 */ bdnz lbl_8038C498
lbl_8038C4B8:
/* 8038C4B8 00389418 38 60 00 00 */ li r3, 0
/* 8038C4BC 0038941C 4E 80 00 20 */ blr
lbl_8038C4C0:
/* 8038C4C0 00389420 7C A0 02 78 */ xor r0, r5, r0
/* 8038C4C4 00389424 7C 03 0E 70 */ srawi r3, r0, 1
/* 8038C4C8 00389428 7C 00 28 38 */ and r0, r0, r5
/* 8038C4CC 0038942C 7C 00 18 50 */ subf r0, r0, r3
/* 8038C4D0 00389430 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8038C4D4 00389434 4E 80 00 20 */ blr
.global __equals_dec
__equals_dec:
/* 8038C4D8 00389438 88 A3 00 05 */ lbz r5, 5(r3)
/* 8038C4DC 0038943C 28 05 00 00 */ cmplwi r5, 0
/* 8038C4E0 00389440 40 82 00 14 */ bne lbl_8038C4F4
/* 8038C4E4 00389444 88 04 00 05 */ lbz r0, 5(r4)
/* 8038C4E8 00389448 7C 00 00 34 */ cntlzw r0, r0
/* 8038C4EC 0038944C 54 03 D9 7E */ srwi r3, r0, 5
/* 8038C4F0 00389450 4E 80 00 20 */ blr
lbl_8038C4F4:
/* 8038C4F4 00389454 88 04 00 05 */ lbz r0, 5(r4)
/* 8038C4F8 00389458 28 00 00 00 */ cmplwi r0, 0
/* 8038C4FC 0038945C 40 82 00 10 */ bne lbl_8038C50C
/* 8038C500 00389460 7C A0 00 34 */ cntlzw r0, r5
/* 8038C504 00389464 54 03 D9 7E */ srwi r3, r0, 5
/* 8038C508 00389468 4E 80 00 20 */ blr
lbl_8038C50C:
/* 8038C50C 0038946C A8 A3 00 02 */ lha r5, 2(r3)
/* 8038C510 00389470 A8 04 00 02 */ lha r0, 2(r4)
/* 8038C514 00389474 7C 05 00 00 */ cmpw r5, r0
/* 8038C518 00389478 40 82 00 C4 */ bne lbl_8038C5DC
/* 8038C51C 0038947C 88 E3 00 04 */ lbz r7, 4(r3)
/* 8038C520 00389480 88 C4 00 04 */ lbz r6, 4(r4)
/* 8038C524 00389484 7C E9 3B 78 */ mr r9, r7
/* 8038C528 00389488 7C 07 30 00 */ cmpw r7, r6
/* 8038C52C 0038948C 40 81 00 08 */ ble lbl_8038C534
/* 8038C530 00389490 7C C9 33 78 */ mr r9, r6
lbl_8038C534:
/* 8038C534 00389494 39 00 00 00 */ li r8, 0
/* 8038C538 00389498 7D 29 03 A6 */ mtctr r9
/* 8038C53C 0038949C 2C 09 00 00 */ cmpwi r9, 0
/* 8038C540 003894A0 40 81 00 28 */ ble lbl_8038C568
lbl_8038C544:
/* 8038C544 003894A4 38 08 00 05 */ addi r0, r8, 5
/* 8038C548 003894A8 7C A3 00 AE */ lbzx r5, r3, r0
/* 8038C54C 003894AC 7C 04 00 AE */ lbzx r0, r4, r0
/* 8038C550 003894B0 7C 05 00 40 */ cmplw r5, r0
/* 8038C554 003894B4 41 82 00 0C */ beq lbl_8038C560
/* 8038C558 003894B8 38 60 00 00 */ li r3, 0
/* 8038C55C 003894BC 4E 80 00 20 */ blr
lbl_8038C560:
/* 8038C560 003894C0 39 08 00 01 */ addi r8, r8, 1
/* 8038C564 003894C4 42 00 FF E0 */ bdnz lbl_8038C544
lbl_8038C568:
/* 8038C568 003894C8 7C 09 38 00 */ cmpw r9, r7
/* 8038C56C 003894CC 40 82 00 38 */ bne lbl_8038C5A4
/* 8038C570 003894D0 7C 08 30 50 */ subf r0, r8, r6
/* 8038C574 003894D4 7C 09 03 A6 */ mtctr r0
/* 8038C578 003894D8 7C 08 30 00 */ cmpw r8, r6
/* 8038C57C 003894DC 40 80 00 58 */ bge lbl_8038C5D4
lbl_8038C580:
/* 8038C580 003894E0 38 08 00 05 */ addi r0, r8, 5
/* 8038C584 003894E4 7C 04 00 AE */ lbzx r0, r4, r0
/* 8038C588 003894E8 28 00 00 00 */ cmplwi r0, 0
/* 8038C58C 003894EC 41 82 00 0C */ beq lbl_8038C598
/* 8038C590 003894F0 38 60 00 00 */ li r3, 0
/* 8038C594 003894F4 4E 80 00 20 */ blr
lbl_8038C598:
/* 8038C598 003894F8 39 08 00 01 */ addi r8, r8, 1
/* 8038C59C 003894FC 42 00 FF E4 */ bdnz lbl_8038C580
/* 8038C5A0 00389500 48 00 00 34 */ b lbl_8038C5D4
lbl_8038C5A4:
/* 8038C5A4 00389504 7C 08 38 50 */ subf r0, r8, r7
/* 8038C5A8 00389508 7C 09 03 A6 */ mtctr r0
/* 8038C5AC 0038950C 7C 08 38 00 */ cmpw r8, r7
/* 8038C5B0 00389510 40 80 00 24 */ bge lbl_8038C5D4
lbl_8038C5B4:
/* 8038C5B4 00389514 38 08 00 05 */ addi r0, r8, 5
/* 8038C5B8 00389518 7C 03 00 AE */ lbzx r0, r3, r0
/* 8038C5BC 0038951C 28 00 00 00 */ cmplwi r0, 0
/* 8038C5C0 00389520 41 82 00 0C */ beq lbl_8038C5CC
/* 8038C5C4 00389524 38 60 00 00 */ li r3, 0
/* 8038C5C8 00389528 4E 80 00 20 */ blr
lbl_8038C5CC:
/* 8038C5CC 0038952C 39 08 00 01 */ addi r8, r8, 1
/* 8038C5D0 00389530 42 00 FF E4 */ bdnz lbl_8038C5B4
lbl_8038C5D4:
/* 8038C5D4 00389534 38 60 00 01 */ li r3, 1
/* 8038C5D8 00389538 4E 80 00 20 */ blr
lbl_8038C5DC:
/* 8038C5DC 0038953C 38 60 00 00 */ li r3, 0
/* 8038C5E0 00389540 4E 80 00 20 */ blr
.global __two_exp
__two_exp:
/* 8038C5E4 00389544 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 8038C5E8 00389548 7C 08 02 A6 */ mflr r0
/* 8038C5EC 0038954C 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 8038C5F0 00389550 93 E1 00 CC */ stw r31, 0xcc(r1)
/* 8038C5F4 00389554 7C 7F 1B 78 */ mr r31, r3
/* 8038C5F8 00389558 93 C1 00 C8 */ stw r30, 0xc8(r1)
/* 8038C5FC 0038955C 93 A1 00 C4 */ stw r29, 0xc4(r1)
/* 8038C600 00389560 7C 9D 23 78 */ mr r29, r4
/* 8038C604 00389564 7F BE 07 34 */ extsh r30, r29
/* 8038C608 00389568 38 1E 00 40 */ addi r0, r30, 0x40
/* 8038C60C 0038956C 28 00 00 48 */ cmplwi r0, 0x48
/* 8038C610 00389570 41 81 02 14 */ bgt lbl_8038C824
/* 8038C614 00389574 3C 80 80 3F */ lis r4, lbl_803F28F8@ha
/* 8038C618 00389578 54 00 10 3A */ slwi r0, r0, 2
/* 8038C61C 0038957C 38 84 28 F8 */ addi r4, r4, lbl_803F28F8@l
/* 8038C620 00389580 7C 04 00 2E */ lwzx r0, r4, r0
/* 8038C624 00389584 7C 09 03 A6 */ mtctr r0
/* 8038C628 00389588 4E 80 04 20 */ bctr
/* 8038C62C 0038958C 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C630 00389590 38 A0 FF EC */ li r5, -20
/* 8038C634 00389594 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C638 00389598 38 84 00 25 */ addi r4, r4, 0x25
/* 8038C63C 0038959C 48 00 02 E9 */ bl __str2dec
/* 8038C640 003895A0 48 00 02 C8 */ b lbl_8038C908
/* 8038C644 003895A4 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C648 003895A8 38 A0 FF F0 */ li r5, -16
/* 8038C64C 003895AC 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C650 003895B0 38 84 00 53 */ addi r4, r4, 0x53
/* 8038C654 003895B4 48 00 02 D1 */ bl __str2dec
/* 8038C658 003895B8 48 00 02 B0 */ b lbl_8038C908
/* 8038C65C 003895BC 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C660 003895C0 38 A0 FF F6 */ li r5, -10
/* 8038C664 003895C4 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C668 003895C8 38 84 00 7A */ addi r4, r4, 0x7a
/* 8038C66C 003895CC 48 00 02 B9 */ bl __str2dec
/* 8038C670 003895D0 48 00 02 98 */ b lbl_8038C908
/* 8038C674 003895D4 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C678 003895D8 38 A0 FF FB */ li r5, -5
/* 8038C67C 003895DC 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C680 003895E0 38 84 00 92 */ addi r4, r4, 0x92
/* 8038C684 003895E4 48 00 02 A1 */ bl __str2dec
/* 8038C688 003895E8 48 00 02 80 */ b lbl_8038C908
/* 8038C68C 003895EC 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C690 003895F0 38 A0 FF FD */ li r5, -3
/* 8038C694 003895F4 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C698 003895F8 38 84 00 9F */ addi r4, r4, 0x9f
/* 8038C69C 003895FC 48 00 02 89 */ bl __str2dec
/* 8038C6A0 00389600 48 00 02 68 */ b lbl_8038C908
/* 8038C6A4 00389604 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C6A8 00389608 38 A0 FF FD */ li r5, -3
/* 8038C6AC 0038960C 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C6B0 00389610 38 84 00 A6 */ addi r4, r4, 0xa6
/* 8038C6B4 00389614 48 00 02 71 */ bl __str2dec
/* 8038C6B8 00389618 48 00 02 50 */ b lbl_8038C908
/* 8038C6BC 0038961C 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C6C0 00389620 38 A0 FF FE */ li r5, -2
/* 8038C6C4 00389624 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C6C8 00389628 38 84 00 AC */ addi r4, r4, 0xac
/* 8038C6CC 0038962C 48 00 02 59 */ bl __str2dec
/* 8038C6D0 00389630 48 00 02 38 */ b lbl_8038C908
/* 8038C6D4 00389634 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C6D8 00389638 38 A0 FF FE */ li r5, -2
/* 8038C6DC 0038963C 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C6E0 00389640 38 84 00 B2 */ addi r4, r4, 0xb2
/* 8038C6E4 00389644 48 00 02 41 */ bl __str2dec
/* 8038C6E8 00389648 48 00 02 20 */ b lbl_8038C908
/* 8038C6EC 0038964C 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C6F0 00389650 38 A0 FF FE */ li r5, -2
/* 8038C6F4 00389654 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C6F8 00389658 38 84 00 B7 */ addi r4, r4, 0xb7
/* 8038C6FC 0038965C 48 00 02 29 */ bl __str2dec
/* 8038C700 00389660 48 00 02 08 */ b lbl_8038C908
/* 8038C704 00389664 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C708 00389668 38 A0 FF FF */ li r5, -1
/* 8038C70C 0038966C 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C710 00389670 38 84 00 BB */ addi r4, r4, 0xbb
/* 8038C714 00389674 48 00 02 11 */ bl __str2dec
/* 8038C718 00389678 48 00 01 F0 */ b lbl_8038C908
/* 8038C71C 0038967C 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C720 00389680 38 A0 FF FF */ li r5, -1
/* 8038C724 00389684 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C728 00389688 38 84 00 BF */ addi r4, r4, 0xbf
/* 8038C72C 0038968C 48 00 01 F9 */ bl __str2dec
/* 8038C730 00389690 48 00 01 D8 */ b lbl_8038C908
/* 8038C734 00389694 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C738 00389698 38 A0 FF FF */ li r5, -1
/* 8038C73C 0038969C 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C740 003896A0 38 84 00 C2 */ addi r4, r4, 0xc2
/* 8038C744 003896A4 48 00 01 E1 */ bl __str2dec
/* 8038C748 003896A8 48 00 01 C0 */ b lbl_8038C908
/* 8038C74C 003896AC 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C750 003896B0 38 A0 00 00 */ li r5, 0
/* 8038C754 003896B4 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C758 003896B8 38 84 00 C4 */ addi r4, r4, 0xc4
/* 8038C75C 003896BC 48 00 01 C9 */ bl __str2dec
/* 8038C760 003896C0 48 00 01 A8 */ b lbl_8038C908
/* 8038C764 003896C4 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C768 003896C8 38 A0 00 00 */ li r5, 0
/* 8038C76C 003896CC 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C770 003896D0 38 84 00 C6 */ addi r4, r4, 0xc6
/* 8038C774 003896D4 48 00 01 B1 */ bl __str2dec
/* 8038C778 003896D8 48 00 01 90 */ b lbl_8038C908
/* 8038C77C 003896DC 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C780 003896E0 38 A0 00 00 */ li r5, 0
/* 8038C784 003896E4 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C788 003896E8 38 84 00 C8 */ addi r4, r4, 0xc8
/* 8038C78C 003896EC 48 00 01 99 */ bl __str2dec
/* 8038C790 003896F0 48 00 01 78 */ b lbl_8038C908
/* 8038C794 003896F4 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C798 003896F8 38 A0 00 00 */ li r5, 0
/* 8038C79C 003896FC 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C7A0 00389700 38 84 00 CA */ addi r4, r4, 0xca
/* 8038C7A4 00389704 48 00 01 81 */ bl __str2dec
/* 8038C7A8 00389708 48 00 01 60 */ b lbl_8038C908
/* 8038C7AC 0038970C 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C7B0 00389710 38 A0 00 01 */ li r5, 1
/* 8038C7B4 00389714 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C7B8 00389718 38 84 00 CC */ addi r4, r4, 0xcc
/* 8038C7BC 0038971C 48 00 01 69 */ bl __str2dec
/* 8038C7C0 00389720 48 00 01 48 */ b lbl_8038C908
/* 8038C7C4 00389724 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C7C8 00389728 38 A0 00 01 */ li r5, 1
/* 8038C7CC 0038972C 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C7D0 00389730 38 84 00 CF */ addi r4, r4, 0xcf
/* 8038C7D4 00389734 48 00 01 51 */ bl __str2dec
/* 8038C7D8 00389738 48 00 01 30 */ b lbl_8038C908
/* 8038C7DC 0038973C 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C7E0 00389740 38 A0 00 01 */ li r5, 1
/* 8038C7E4 00389744 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C7E8 00389748 38 84 00 D2 */ addi r4, r4, 0xd2
/* 8038C7EC 0038974C 48 00 01 39 */ bl __str2dec
/* 8038C7F0 00389750 48 00 01 18 */ b lbl_8038C908
/* 8038C7F4 00389754 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C7F8 00389758 38 A0 00 02 */ li r5, 2
/* 8038C7FC 0038975C 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C800 00389760 38 84 00 D5 */ addi r4, r4, 0xd5
/* 8038C804 00389764 48 00 01 21 */ bl __str2dec
/* 8038C808 00389768 48 00 01 00 */ b lbl_8038C908
/* 8038C80C 0038976C 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C810 00389770 38 A0 00 02 */ li r5, 2
/* 8038C814 00389774 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C818 00389778 38 84 00 D9 */ addi r4, r4, 0xd9
/* 8038C81C 0038977C 48 00 01 09 */ bl __str2dec
/* 8038C820 00389780 48 00 00 E8 */ b lbl_8038C908
lbl_8038C824:
/* 8038C824 00389784 57 C0 0F FE */ srwi r0, r30, 0x1f
/* 8038C828 00389788 38 61 00 8C */ addi r3, r1, 0x8c
/* 8038C82C 0038978C 7C 00 F2 14 */ add r0, r0, r30
/* 8038C830 00389790 7C 00 0E 70 */ srawi r0, r0, 1
/* 8038C834 00389794 7C 04 07 34 */ extsh r4, r0
/* 8038C838 00389798 4B FF FD AD */ bl __two_exp
/* 8038C83C 0038979C 38 81 00 8C */ addi r4, r1, 0x8c
/* 8038C840 003897A0 7F E3 FB 78 */ mr r3, r31
/* 8038C844 003897A4 7C 85 23 78 */ mr r5, r4
/* 8038C848 003897A8 48 00 01 C9 */ bl __timesdec
/* 8038C84C 003897AC 57 C0 07 FF */ clrlwi. r0, r30, 0x1f
/* 8038C850 003897B0 41 82 00 B8 */ beq lbl_8038C908
/* 8038C854 003897B4 80 7F 00 00 */ lwz r3, 0(r31)
/* 8038C858 003897B8 7F A0 07 35 */ extsh. r0, r29
/* 8038C85C 003897BC 80 1F 00 04 */ lwz r0, 4(r31)
/* 8038C860 003897C0 90 61 00 60 */ stw r3, 0x60(r1)
/* 8038C864 003897C4 90 01 00 64 */ stw r0, 0x64(r1)
/* 8038C868 003897C8 80 7F 00 08 */ lwz r3, 8(r31)
/* 8038C86C 003897CC 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8038C870 003897D0 90 61 00 68 */ stw r3, 0x68(r1)
/* 8038C874 003897D4 90 01 00 6C */ stw r0, 0x6c(r1)
/* 8038C878 003897D8 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 8038C87C 003897DC 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 8038C880 003897E0 90 61 00 70 */ stw r3, 0x70(r1)
/* 8038C884 003897E4 90 01 00 74 */ stw r0, 0x74(r1)
/* 8038C888 003897E8 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8038C88C 003897EC 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 8038C890 003897F0 90 61 00 78 */ stw r3, 0x78(r1)
/* 8038C894 003897F4 90 01 00 7C */ stw r0, 0x7c(r1)
/* 8038C898 003897F8 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 8038C89C 003897FC 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 8038C8A0 00389800 90 61 00 80 */ stw r3, 0x80(r1)
/* 8038C8A4 00389804 90 01 00 84 */ stw r0, 0x84(r1)
/* 8038C8A8 00389808 A0 1F 00 28 */ lhz r0, 0x28(r31)
/* 8038C8AC 0038980C B0 01 00 88 */ sth r0, 0x88(r1)
/* 8038C8B0 00389810 40 81 00 30 */ ble lbl_8038C8E0
/* 8038C8B4 00389814 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C8B8 00389818 38 61 00 34 */ addi r3, r1, 0x34
/* 8038C8BC 0038981C 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C8C0 00389820 38 A0 00 00 */ li r5, 0
/* 8038C8C4 00389824 38 84 00 C6 */ addi r4, r4, 0xc6
/* 8038C8C8 00389828 48 00 00 5D */ bl __str2dec
/* 8038C8CC 0038982C 7F E3 FB 78 */ mr r3, r31
/* 8038C8D0 00389830 38 81 00 60 */ addi r4, r1, 0x60
/* 8038C8D4 00389834 38 A1 00 34 */ addi r5, r1, 0x34
/* 8038C8D8 00389838 48 00 01 39 */ bl __timesdec
/* 8038C8DC 0038983C 48 00 00 2C */ b lbl_8038C908
lbl_8038C8E0:
/* 8038C8E0 00389840 3C 80 80 3E */ lis r4, lbl_803D85D8@ha
/* 8038C8E4 00389844 38 61 00 08 */ addi r3, r1, 8
/* 8038C8E8 00389848 38 84 85 D8 */ addi r4, r4, lbl_803D85D8@l
/* 8038C8EC 0038984C 38 A0 FF FF */ li r5, -1
/* 8038C8F0 00389850 38 84 00 C2 */ addi r4, r4, 0xc2
/* 8038C8F4 00389854 48 00 00 31 */ bl __str2dec
/* 8038C8F8 00389858 7F E3 FB 78 */ mr r3, r31
/* 8038C8FC 0038985C 38 81 00 60 */ addi r4, r1, 0x60
/* 8038C900 00389860 38 A1 00 08 */ addi r5, r1, 8
/* 8038C904 00389864 48 00 01 0D */ bl __timesdec
lbl_8038C908:
/* 8038C908 00389868 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 8038C90C 0038986C 83 E1 00 CC */ lwz r31, 0xcc(r1)
/* 8038C910 00389870 83 C1 00 C8 */ lwz r30, 0xc8(r1)
/* 8038C914 00389874 83 A1 00 C4 */ lwz r29, 0xc4(r1)
/* 8038C918 00389878 7C 08 03 A6 */ mtlr r0
/* 8038C91C 0038987C 38 21 00 D0 */ addi r1, r1, 0xd0
/* 8038C920 00389880 4E 80 00 20 */ blr
.global __str2dec
__str2dec:
/* 8038C924 00389884 B0 A3 00 02 */ sth r5, 2(r3)
/* 8038C928 00389888 38 00 00 00 */ li r0, 0
/* 8038C92C 0038988C 38 C0 00 00 */ li r6, 0
/* 8038C930 00389890 98 03 00 00 */ stb r0, 0(r3)
/* 8038C934 00389894 48 00 00 1C */ b lbl_8038C950
lbl_8038C938:
/* 8038C938 00389898 88 A4 00 00 */ lbz r5, 0(r4)
/* 8038C93C 0038989C 38 06 00 05 */ addi r0, r6, 5
/* 8038C940 003898A0 38 84 00 01 */ addi r4, r4, 1
/* 8038C944 003898A4 38 C6 00 01 */ addi r6, r6, 1
/* 8038C948 003898A8 38 A5 FF D0 */ addi r5, r5, -48
/* 8038C94C 003898AC 7C A3 01 AE */ stbx r5, r3, r0
lbl_8038C950:
/* 8038C950 003898B0 2C 06 00 24 */ cmpwi r6, 0x24
/* 8038C954 003898B4 40 80 00 10 */ bge lbl_8038C964
/* 8038C958 003898B8 88 04 00 00 */ lbz r0, 0(r4)
/* 8038C95C 003898BC 7C 00 07 75 */ extsb. r0, r0
/* 8038C960 003898C0 40 82 FF D8 */ bne lbl_8038C938
lbl_8038C964:
/* 8038C964 003898C4 98 C3 00 04 */ stb r6, 4(r3)
/* 8038C968 003898C8 88 A4 00 00 */ lbz r5, 0(r4)
/* 8038C96C 003898CC 7C A0 07 75 */ extsb. r0, r5
/* 8038C970 003898D0 4D 82 00 20 */ beqlr
/* 8038C974 003898D4 7C A0 07 74 */ extsb r0, r5
/* 8038C978 003898D8 2C 00 00 05 */ cmpwi r0, 5
/* 8038C97C 003898DC 4D 80 00 20 */ bltlr
/* 8038C980 003898E0 38 A4 00 01 */ addi r5, r4, 1
/* 8038C984 003898E4 48 00 00 14 */ b lbl_8038C998
lbl_8038C988:
/* 8038C988 003898E8 7C 80 07 74 */ extsb r0, r4
/* 8038C98C 003898EC 2C 00 00 30 */ cmpwi r0, 0x30
/* 8038C990 003898F0 40 82 00 24 */ bne lbl_8038C9B4
/* 8038C994 003898F4 38 A5 00 01 */ addi r5, r5, 1
lbl_8038C998:
/* 8038C998 003898F8 88 85 00 00 */ lbz r4, 0(r5)
/* 8038C99C 003898FC 7C 80 07 75 */ extsb. r0, r4
/* 8038C9A0 00389900 40 82 FF E8 */ bne lbl_8038C988
/* 8038C9A4 00389904 7C 83 32 14 */ add r4, r3, r6
/* 8038C9A8 00389908 88 04 00 04 */ lbz r0, 4(r4)
/* 8038C9AC 0038990C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8038C9B0 00389910 4D 82 00 20 */ beqlr
lbl_8038C9B4:
/* 8038C9B4 00389914 88 83 00 04 */ lbz r4, 4(r3)
/* 8038C9B8 00389918 38 C3 00 05 */ addi r6, r3, 5
/* 8038C9BC 0038991C 38 00 00 00 */ li r0, 0
/* 8038C9C0 00389920 38 A4 FF FF */ addi r5, r4, -1
/* 8038C9C4 00389924 7C A6 2A 14 */ add r5, r6, r5
lbl_8038C9C8:
/* 8038C9C8 00389928 88 85 00 00 */ lbz r4, 0(r5)
/* 8038C9CC 0038992C 28 04 00 09 */ cmplwi r4, 9
/* 8038C9D0 00389930 40 80 00 10 */ bge lbl_8038C9E0
/* 8038C9D4 00389934 38 04 00 01 */ addi r0, r4, 1
/* 8038C9D8 00389938 98 05 00 00 */ stb r0, 0(r5)
/* 8038C9DC 0038993C 4E 80 00 20 */ blr
lbl_8038C9E0:
/* 8038C9E0 00389940 7C 05 30 40 */ cmplw r5, r6
/* 8038C9E4 00389944 40 82 00 1C */ bne lbl_8038CA00
/* 8038C9E8 00389948 38 00 00 01 */ li r0, 1
/* 8038C9EC 0038994C 98 05 00 00 */ stb r0, 0(r5)
/* 8038C9F0 00389950 A8 83 00 02 */ lha r4, 2(r3)
/* 8038C9F4 00389954 38 04 00 01 */ addi r0, r4, 1
/* 8038C9F8 00389958 B0 03 00 02 */ sth r0, 2(r3)
/* 8038C9FC 0038995C 4E 80 00 20 */ blr
lbl_8038CA00:
/* 8038CA00 00389960 98 05 00 00 */ stb r0, 0(r5)
/* 8038CA04 00389964 38 A5 FF FF */ addi r5, r5, -1
/* 8038CA08 00389968 4B FF FF C0 */ b lbl_8038C9C8
/* 8038CA0C 0038996C 4E 80 00 20 */ blr
.global __timesdec
__timesdec:
/* 8038CA10 00389970 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8038CA14 00389974 38 00 00 00 */ li r0, 0
/* 8038CA18 00389978 3C E0 CC CD */ lis r7, 0xCCCCCCCD@ha
/* 8038CA1C 0038997C 39 80 00 00 */ li r12, 0
/* 8038CA20 00389980 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 8038CA24 00389984 39 01 00 08 */ addi r8, r1, 8
/* 8038CA28 00389988 93 C1 00 58 */ stw r30, 0x58(r1)
/* 8038CA2C 0038998C 93 A1 00 54 */ stw r29, 0x54(r1)
/* 8038CA30 00389990 88 C5 00 04 */ lbz r6, 4(r5)
/* 8038CA34 00389994 89 24 00 04 */ lbz r9, 4(r4)
/* 8038CA38 00389998 3B E6 FF FF */ addi r31, r6, -1
/* 8038CA3C 0038999C 7F E9 FA 14 */ add r31, r9, r31
/* 8038CA40 003899A0 98 03 00 00 */ stb r0, 0(r3)
/* 8038CA44 003899A4 38 DF 00 01 */ addi r6, r31, 1
/* 8038CA48 003899A8 39 27 CC CD */ addi r9, r7, 0xCCCCCCCD@l
/* 8038CA4C 003899AC 7C C8 32 14 */ add r6, r8, r6
/* 8038CA50 003899B0 7C C0 33 78 */ mr r0, r6
/* 8038CA54 003899B4 48 00 01 30 */ b lbl_8038CB84
lbl_8038CA58:
/* 8038CA58 003899B8 88 E5 00 04 */ lbz r7, 4(r5)
/* 8038CA5C 003899BC 39 07 FF FF */ addi r8, r7, -1
/* 8038CA60 003899C0 7C E8 F8 50 */ subf r7, r8, r31
/* 8038CA64 003899C4 35 47 FF FF */ addic. r10, r7, -1
/* 8038CA68 003899C8 40 80 00 0C */ bge lbl_8038CA74
/* 8038CA6C 003899CC 39 40 00 00 */ li r10, 0
/* 8038CA70 003899D0 39 1F FF FF */ addi r8, r31, -1
lbl_8038CA74:
/* 8038CA74 003899D4 88 E4 00 04 */ lbz r7, 4(r4)
/* 8038CA78 003899D8 3B CA 00 05 */ addi r30, r10, 5
/* 8038CA7C 003899DC 3B A8 00 05 */ addi r29, r8, 5
/* 8038CA80 003899E0 39 08 00 01 */ addi r8, r8, 1
/* 8038CA84 003899E4 7C EA 38 50 */ subf r7, r10, r7
/* 8038CA88 003899E8 7F C4 F2 14 */ add r30, r4, r30
/* 8038CA8C 003899EC 7C 08 38 00 */ cmpw r8, r7
/* 8038CA90 003899F0 7F A5 EA 14 */ add r29, r5, r29
/* 8038CA94 003899F4 40 81 00 08 */ ble lbl_8038CA9C
/* 8038CA98 003899F8 7C E8 3B 78 */ mr r8, r7
lbl_8038CA9C:
/* 8038CA9C 003899FC 2C 08 00 00 */ cmpwi r8, 0
/* 8038CAA0 00389A00 40 81 00 C4 */ ble lbl_8038CB64
/* 8038CAA4 00389A04 55 07 E8 FF */ rlwinm. r7, r8, 0x1d, 3, 0x1f
/* 8038CAA8 00389A08 7C E9 03 A6 */ mtctr r7
/* 8038CAAC 00389A0C 41 82 00 98 */ beq lbl_8038CB44
lbl_8038CAB0:
/* 8038CAB0 00389A10 89 7E 00 00 */ lbz r11, 0(r30)
/* 8038CAB4 00389A14 89 5D 00 00 */ lbz r10, 0(r29)
/* 8038CAB8 00389A18 7C EB 51 D6 */ mullw r7, r11, r10
/* 8038CABC 00389A1C 89 7E 00 01 */ lbz r11, 1(r30)
/* 8038CAC0 00389A20 89 5D FF FF */ lbz r10, -1(r29)
/* 8038CAC4 00389A24 7D 8C 3A 14 */ add r12, r12, r7
/* 8038CAC8 00389A28 7C EB 51 D6 */ mullw r7, r11, r10
/* 8038CACC 00389A2C 89 7E 00 02 */ lbz r11, 2(r30)
/* 8038CAD0 00389A30 89 5D FF FE */ lbz r10, -2(r29)
/* 8038CAD4 00389A34 7D 8C 3A 14 */ add r12, r12, r7
/* 8038CAD8 00389A38 7C EB 51 D6 */ mullw r7, r11, r10
/* 8038CADC 00389A3C 89 7E 00 03 */ lbz r11, 3(r30)
/* 8038CAE0 00389A40 89 5D FF FD */ lbz r10, -3(r29)
/* 8038CAE4 00389A44 7D 8C 3A 14 */ add r12, r12, r7
/* 8038CAE8 00389A48 7C EB 51 D6 */ mullw r7, r11, r10
/* 8038CAEC 00389A4C 89 7E 00 04 */ lbz r11, 4(r30)
/* 8038CAF0 00389A50 89 5D FF FC */ lbz r10, -4(r29)
/* 8038CAF4 00389A54 7D 8C 3A 14 */ add r12, r12, r7
/* 8038CAF8 00389A58 7C EB 51 D6 */ mullw r7, r11, r10
/* 8038CAFC 00389A5C 89 7E 00 05 */ lbz r11, 5(r30)
/* 8038CB00 00389A60 89 5D FF FB */ lbz r10, -5(r29)
/* 8038CB04 00389A64 7D 8C 3A 14 */ add r12, r12, r7
/* 8038CB08 00389A68 7C EB 51 D6 */ mullw r7, r11, r10
/* 8038CB0C 00389A6C 89 7E 00 06 */ lbz r11, 6(r30)
/* 8038CB10 00389A70 89 5D FF FA */ lbz r10, -6(r29)
/* 8038CB14 00389A74 7D 8C 3A 14 */ add r12, r12, r7
/* 8038CB18 00389A78 7C EB 51 D6 */ mullw r7, r11, r10
/* 8038CB1C 00389A7C 89 7E 00 07 */ lbz r11, 7(r30)
/* 8038CB20 00389A80 89 5D FF F9 */ lbz r10, -7(r29)
/* 8038CB24 00389A84 3B DE 00 08 */ addi r30, r30, 8
/* 8038CB28 00389A88 3B BD FF F8 */ addi r29, r29, -8
/* 8038CB2C 00389A8C 7D 8C 3A 14 */ add r12, r12, r7
/* 8038CB30 00389A90 7C EB 51 D6 */ mullw r7, r11, r10
/* 8038CB34 00389A94 7D 8C 3A 14 */ add r12, r12, r7
/* 8038CB38 00389A98 42 00 FF 78 */ bdnz lbl_8038CAB0
/* 8038CB3C 00389A9C 71 08 00 07 */ andi. r8, r8, 7
/* 8038CB40 00389AA0 41 82 00 24 */ beq lbl_8038CB64
lbl_8038CB44:
/* 8038CB44 00389AA4 7D 09 03 A6 */ mtctr r8
lbl_8038CB48:
/* 8038CB48 00389AA8 89 7E 00 00 */ lbz r11, 0(r30)
/* 8038CB4C 00389AAC 3B DE 00 01 */ addi r30, r30, 1
/* 8038CB50 00389AB0 89 5D 00 00 */ lbz r10, 0(r29)
/* 8038CB54 00389AB4 3B BD FF FF */ addi r29, r29, -1
/* 8038CB58 00389AB8 7C EB 51 D6 */ mullw r7, r11, r10
/* 8038CB5C 00389ABC 7D 8C 3A 14 */ add r12, r12, r7
/* 8038CB60 00389AC0 42 00 FF E8 */ bdnz lbl_8038CB48
lbl_8038CB64:
/* 8038CB64 00389AC4 7D 09 60 16 */ mulhwu r8, r9, r12
/* 8038CB68 00389AC8 38 E0 00 0A */ li r7, 0xa
/* 8038CB6C 00389ACC 3B FF FF FF */ addi r31, r31, -1
/* 8038CB70 00389AD0 55 08 E8 FE */ srwi r8, r8, 3
/* 8038CB74 00389AD4 1D 08 00 0A */ mulli r8, r8, 0xa
/* 8038CB78 00389AD8 7D 08 60 50 */ subf r8, r8, r12
/* 8038CB7C 00389ADC 7D 8C 3B 96 */ divwu r12, r12, r7
/* 8038CB80 00389AE0 9D 06 FF FF */ stbu r8, -1(r6)
lbl_8038CB84:
/* 8038CB84 00389AE4 2C 1F 00 00 */ cmpwi r31, 0
/* 8038CB88 00389AE8 41 81 FE D0 */ bgt lbl_8038CA58
/* 8038CB8C 00389AEC A8 E4 00 02 */ lha r7, 2(r4)
/* 8038CB90 00389AF0 28 0C 00 00 */ cmplwi r12, 0
/* 8038CB94 00389AF4 A8 85 00 02 */ lha r4, 2(r5)
/* 8038CB98 00389AF8 7C 87 22 14 */ add r4, r7, r4
/* 8038CB9C 00389AFC B0 83 00 02 */ sth r4, 2(r3)
/* 8038CBA0 00389B00 41 82 00 14 */ beq lbl_8038CBB4
/* 8038CBA4 00389B04 9D 86 FF FF */ stbu r12, -1(r6)
/* 8038CBA8 00389B08 A8 83 00 02 */ lha r4, 2(r3)
/* 8038CBAC 00389B0C 38 84 00 01 */ addi r4, r4, 1
/* 8038CBB0 00389B10 B0 83 00 02 */ sth r4, 2(r3)
lbl_8038CBB4:
/* 8038CBB4 00389B14 38 E0 00 00 */ li r7, 0
/* 8038CBB8 00389B18 48 00 00 18 */ b lbl_8038CBD0
lbl_8038CBBC:
/* 8038CBBC 00389B1C 88 A6 00 00 */ lbz r5, 0(r6)
/* 8038CBC0 00389B20 38 87 00 05 */ addi r4, r7, 5
/* 8038CBC4 00389B24 38 E7 00 01 */ addi r7, r7, 1
/* 8038CBC8 00389B28 38 C6 00 01 */ addi r6, r6, 1
/* 8038CBCC 00389B2C 7C A3 21 AE */ stbx r5, r3, r4
lbl_8038CBD0:
/* 8038CBD0 00389B30 2C 07 00 24 */ cmpwi r7, 0x24
/* 8038CBD4 00389B34 40 80 00 0C */ bge lbl_8038CBE0
/* 8038CBD8 00389B38 7C 06 00 40 */ cmplw r6, r0
/* 8038CBDC 00389B3C 41 80 FF E0 */ blt lbl_8038CBBC
lbl_8038CBE0:
/* 8038CBE0 00389B40 7C 06 00 40 */ cmplw r6, r0
/* 8038CBE4 00389B44 98 E3 00 04 */ stb r7, 4(r3)
/* 8038CBE8 00389B48 40 80 00 A0 */ bge lbl_8038CC88
/* 8038CBEC 00389B4C 88 86 00 00 */ lbz r4, 0(r6)
/* 8038CBF0 00389B50 28 04 00 05 */ cmplwi r4, 5
/* 8038CBF4 00389B54 41 80 00 94 */ blt lbl_8038CC88
/* 8038CBF8 00389B58 40 82 00 38 */ bne lbl_8038CC30
/* 8038CBFC 00389B5C 38 A6 00 01 */ addi r5, r6, 1
/* 8038CC00 00389B60 7C 85 00 50 */ subf r4, r5, r0
/* 8038CC04 00389B64 7C 89 03 A6 */ mtctr r4
/* 8038CC08 00389B68 7C 05 00 40 */ cmplw r5, r0
/* 8038CC0C 00389B6C 40 80 00 18 */ bge lbl_8038CC24
lbl_8038CC10:
/* 8038CC10 00389B70 88 05 00 00 */ lbz r0, 0(r5)
/* 8038CC14 00389B74 28 00 00 00 */ cmplwi r0, 0
/* 8038CC18 00389B78 40 82 00 18 */ bne lbl_8038CC30
/* 8038CC1C 00389B7C 38 A5 00 01 */ addi r5, r5, 1
/* 8038CC20 00389B80 42 00 FF F0 */ bdnz lbl_8038CC10
lbl_8038CC24:
/* 8038CC24 00389B84 88 06 FF FF */ lbz r0, -1(r6)
/* 8038CC28 00389B88 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8038CC2C 00389B8C 41 82 00 5C */ beq lbl_8038CC88
lbl_8038CC30:
/* 8038CC30 00389B90 88 83 00 04 */ lbz r4, 4(r3)
/* 8038CC34 00389B94 38 C3 00 05 */ addi r6, r3, 5
/* 8038CC38 00389B98 38 00 00 00 */ li r0, 0
/* 8038CC3C 00389B9C 38 A4 FF FF */ addi r5, r4, -1
/* 8038CC40 00389BA0 7C A6 2A 14 */ add r5, r6, r5
lbl_8038CC44:
/* 8038CC44 00389BA4 88 85 00 00 */ lbz r4, 0(r5)
/* 8038CC48 00389BA8 28 04 00 09 */ cmplwi r4, 9
/* 8038CC4C 00389BAC 40 80 00 10 */ bge lbl_8038CC5C
/* 8038CC50 00389BB0 38 04 00 01 */ addi r0, r4, 1
/* 8038CC54 00389BB4 98 05 00 00 */ stb r0, 0(r5)
/* 8038CC58 00389BB8 48 00 00 30 */ b lbl_8038CC88
lbl_8038CC5C:
/* 8038CC5C 00389BBC 7C 05 30 40 */ cmplw r5, r6
/* 8038CC60 00389BC0 40 82 00 1C */ bne lbl_8038CC7C
/* 8038CC64 00389BC4 38 00 00 01 */ li r0, 1
/* 8038CC68 00389BC8 98 05 00 00 */ stb r0, 0(r5)
/* 8038CC6C 00389BCC A8 83 00 02 */ lha r4, 2(r3)
/* 8038CC70 00389BD0 38 04 00 01 */ addi r0, r4, 1
/* 8038CC74 00389BD4 B0 03 00 02 */ sth r0, 2(r3)
/* 8038CC78 00389BD8 48 00 00 10 */ b lbl_8038CC88
lbl_8038CC7C:
/* 8038CC7C 00389BDC 98 05 00 00 */ stb r0, 0(r5)
/* 8038CC80 00389BE0 38 A5 FF FF */ addi r5, r5, -1
/* 8038CC84 00389BE4 4B FF FF C0 */ b lbl_8038CC44
lbl_8038CC88:
/* 8038CC88 00389BE8 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 8038CC8C 00389BEC 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 8038CC90 00389BF0 83 A1 00 54 */ lwz r29, 0x54(r1)
/* 8038CC94 00389BF4 38 21 00 60 */ addi r1, r1, 0x60
/* 8038CC98 00389BF8 4E 80 00 20 */ blr
.global __ull2dec
__ull2dec:
/* 8038CC9C 00389BFC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8038CCA0 00389C00 7C 08 02 A6 */ mflr r0
/* 8038CCA4 00389C04 90 01 00 24 */ stw r0, 0x24(r1)
/* 8038CCA8 00389C08 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8038CCAC 00389C0C 7C 7F 1B 78 */ mr r31, r3
/* 8038CCB0 00389C10 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8038CCB4 00389C14 3B C0 00 00 */ li r30, 0
/* 8038CCB8 00389C18 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8038CCBC 00389C1C 7C BD 2B 78 */ mr r29, r5
/* 8038CCC0 00389C20 7F A0 F2 78 */ xor r0, r29, r30
/* 8038CCC4 00389C24 93 81 00 10 */ stw r28, 0x10(r1)
/* 8038CCC8 00389C28 7C DC 33 78 */ mr r28, r6
/* 8038CCCC 00389C2C 7F 83 F2 78 */ xor r3, r28, r30
/* 8038CCD0 00389C30 7C 60 03 79 */ or. r0, r3, r0
/* 8038CCD4 00389C34 9B DF 00 00 */ stb r30, 0(r31)
/* 8038CCD8 00389C38 40 82 00 18 */ bne lbl_8038CCF0
/* 8038CCDC 00389C3C B3 DF 00 02 */ sth r30, 2(r31)
/* 8038CCE0 00389C40 38 00 00 01 */ li r0, 1
/* 8038CCE4 00389C44 98 1F 00 04 */ stb r0, 4(r31)
/* 8038CCE8 00389C48 9B DF 00 05 */ stb r30, 5(r31)
/* 8038CCEC 00389C4C 48 00 00 A0 */ b lbl_8038CD8C
lbl_8038CCF0:
/* 8038CCF0 00389C50 9B DF 00 04 */ stb r30, 4(r31)
/* 8038CCF4 00389C54 48 00 00 48 */ b lbl_8038CD3C
lbl_8038CCF8:
/* 8038CCF8 00389C58 7F A3 EB 78 */ mr r3, r29
/* 8038CCFC 00389C5C 7F 84 E3 78 */ mr r4, r28
/* 8038CD00 00389C60 38 A0 00 00 */ li r5, 0
/* 8038CD04 00389C64 38 C0 00 0A */ li r6, 0xa
/* 8038CD08 00389C68 4B FF CF FD */ bl __mod2u
/* 8038CD0C 00389C6C 89 1F 00 04 */ lbz r8, 4(r31)
/* 8038CD10 00389C70 7F A3 EB 78 */ mr r3, r29
/* 8038CD14 00389C74 38 A0 00 00 */ li r5, 0
/* 8038CD18 00389C78 38 C0 00 0A */ li r6, 0xa
/* 8038CD1C 00389C7C 38 E8 00 01 */ addi r7, r8, 1
/* 8038CD20 00389C80 38 08 00 05 */ addi r0, r8, 5
/* 8038CD24 00389C84 98 FF 00 04 */ stb r7, 4(r31)
/* 8038CD28 00389C88 7C 9F 01 AE */ stbx r4, r31, r0
/* 8038CD2C 00389C8C 7F 84 E3 78 */ mr r4, r28
/* 8038CD30 00389C90 4B FF CD B1 */ bl __div2u
/* 8038CD34 00389C94 7C 9C 23 78 */ mr r28, r4
/* 8038CD38 00389C98 7C 7D 1B 78 */ mr r29, r3
lbl_8038CD3C:
/* 8038CD3C 00389C9C 7F 83 F2 78 */ xor r3, r28, r30
/* 8038CD40 00389CA0 7F A0 F2 78 */ xor r0, r29, r30
/* 8038CD44 00389CA4 7C 60 03 79 */ or. r0, r3, r0
/* 8038CD48 00389CA8 40 82 FF B0 */ bne lbl_8038CCF8
/* 8038CD4C 00389CAC 88 7F 00 04 */ lbz r3, 4(r31)
/* 8038CD50 00389CB0 38 9F 00 05 */ addi r4, r31, 5
/* 8038CD54 00389CB4 38 63 00 05 */ addi r3, r3, 5
/* 8038CD58 00389CB8 7C 7F 1A 14 */ add r3, r31, r3
/* 8038CD5C 00389CBC 48 00 00 18 */ b lbl_8038CD74
lbl_8038CD60:
/* 8038CD60 00389CC0 88 A4 00 00 */ lbz r5, 0(r4)
/* 8038CD64 00389CC4 88 03 00 00 */ lbz r0, 0(r3)
/* 8038CD68 00389CC8 98 04 00 00 */ stb r0, 0(r4)
/* 8038CD6C 00389CCC 38 84 00 01 */ addi r4, r4, 1
/* 8038CD70 00389CD0 98 A3 00 00 */ stb r5, 0(r3)
lbl_8038CD74:
/* 8038CD74 00389CD4 38 63 FF FF */ addi r3, r3, -1
/* 8038CD78 00389CD8 7C 04 18 40 */ cmplw r4, r3
/* 8038CD7C 00389CDC 41 80 FF E4 */ blt lbl_8038CD60
/* 8038CD80 00389CE0 88 7F 00 04 */ lbz r3, 4(r31)
/* 8038CD84 00389CE4 38 03 FF FF */ addi r0, r3, -1
/* 8038CD88 00389CE8 B0 1F 00 02 */ sth r0, 2(r31)
lbl_8038CD8C:
/* 8038CD8C 00389CEC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8038CD90 00389CF0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8038CD94 00389CF4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8038CD98 00389CF8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8038CD9C 00389CFC 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8038CDA0 00389D00 7C 08 03 A6 */ mtlr r0
/* 8038CDA4 00389D04 38 21 00 20 */ addi r1, r1, 0x20
/* 8038CDA8 00389D08 4E 80 00 20 */ blr
.global __count_trailing_zerol
__count_trailing_zerol:
/* 8038CDAC 00389D0C 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 8038CDB0 00389D10 38 A0 00 20 */ li r5, 0x20
/* 8038CDB4 00389D14 39 04 FF FF */ addi r8, r4, 0x0000FFFF@l
/* 8038CDB8 00389D18 38 C0 00 10 */ li r6, 0x10
/* 8038CDBC 00389D1C 38 80 00 00 */ li r4, 0
/* 8038CDC0 00389D20 38 E0 00 10 */ li r7, 0x10
/* 8038CDC4 00389D24 48 00 00 48 */ b lbl_8038CE0C
lbl_8038CDC8:
/* 8038CDC8 00389D28 7C 60 40 39 */ and. r0, r3, r8
/* 8038CDCC 00389D2C 40 82 00 14 */ bne lbl_8038CDE0
/* 8038CDD0 00389D30 7C 84 3A 14 */ add r4, r4, r7
/* 8038CDD4 00389D34 7C 63 3C 30 */ srw r3, r3, r7
/* 8038CDD8 00389D38 7C A7 28 50 */ subf r5, r7, r5
/* 8038CDDC 00389D3C 48 00 00 0C */ b lbl_8038CDE8
lbl_8038CDE0:
/* 8038CDE0 00389D40 28 08 00 01 */ cmplwi r8, 1
/* 8038CDE4 00389D44 41 82 00 30 */ beq lbl_8038CE14
lbl_8038CDE8:
/* 8038CDE8 00389D48 2C 06 00 01 */ cmpwi r6, 1
/* 8038CDEC 00389D4C 40 81 00 10 */ ble lbl_8038CDFC
/* 8038CDF0 00389D50 54 C0 0F FE */ srwi r0, r6, 0x1f
/* 8038CDF4 00389D54 7C 00 32 14 */ add r0, r0, r6
/* 8038CDF8 00389D58 7C 06 0E 70 */ srawi r6, r0, 1
lbl_8038CDFC:
/* 8038CDFC 00389D5C 28 08 00 01 */ cmplwi r8, 1
/* 8038CE00 00389D60 40 81 00 0C */ ble lbl_8038CE0C
/* 8038CE04 00389D64 7D 08 34 30 */ srw r8, r8, r6
/* 8038CE08 00389D68 7C E6 38 50 */ subf r7, r6, r7
lbl_8038CE0C:
/* 8038CE0C 00389D6C 2C 05 00 00 */ cmpwi r5, 0
/* 8038CE10 00389D70 40 82 FF B8 */ bne lbl_8038CDC8
lbl_8038CE14:
/* 8038CE14 00389D74 7C 83 23 78 */ mr r3, r4
/* 8038CE18 00389D78 4E 80 00 20 */ blr
.if 1
.global abs
abs:
/* 8038CE1C 00389D7C 7C 64 FE 70 */ srawi r4, r3, 0x1f
/* 8038CE20 00389D80 7C 80 1A 78 */ xor r0, r4, r3
/* 8038CE24 00389D84 7C 64 00 50 */ subf r3, r4, r0
/* 8038CE28 00389D88 4E 80 00 20 */ blr
.endif