prime/asm/Runtime/ansi_fp.s

2152 lines
98 KiB
ArmAsm
Raw Normal View History

2022-04-02 21:03:04 +00:00
.include "macros.inc"
2022-04-06 10:04:03 +00:00
.section .rodata
.global lbl_803D85D8
lbl_803D85D8:
2022-07-14 05:48:03 +00:00
# ROM: 0x3D55D8
.asciz "179769313486231580793729011405303420"
.byte 0x35, 0x34, 0x32
.asciz "101086242752217003726400434970855712890625"
.byte 0x31
.asciz "1102230246251565404236316680908203125"
.byte 0x32, 0x33
.asciz "283064365386962890625"
.byte 0x31, 0x35
.asciz "2587890625"
.byte 0x33
.asciz "90625"
.byte 0x37, 0x38
.4byte 0x31323500
.asciz "15625"
.byte 0x33, 0x31
.4byte 0x32350036
.4byte 0x32350031
.4byte 0x32350032
.4byte 0x35003500
.4byte 0x31003200
.4byte 0x34003800
.4byte 0x31360033
.4byte 0x32003634
.4byte 0x00313238
.4byte 0x00323536
.4byte 0
.4byte 0x2E000043
.4byte 0
2022-04-02 21:03:04 +00:00
.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
2022-07-14 05:48:03 +00:00
/* 8038BB00 00388A60 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-07-14 05:48:03 +00:00
/* 8038BCA4 00388C04 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-07-14 05:48:03 +00:00
/* 8038BEE0 00388E40 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-07-14 05:48:03 +00:00
/* 8038BF44 00388EA4 4D 82 00 20 */ beqlr
2022-04-02 21:03:04 +00:00
/* 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)
2022-07-14 05:48:03 +00:00
/* 8038C3DC 0038933C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-07-14 05:48:03 +00:00
/* 8038C3FC 0038935C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 8038C410 00389370 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 8038C464 003893C4 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 8038C474 003893D4 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 8038C4AC 0038940C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 8038C4BC 0038941C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 8038C4D4 00389434 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-07-14 05:48:03 +00:00
/* 8038C4F0 00389450 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 8038C508 00389468 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 8038C55C 003894BC 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 8038C594 003894F4 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 8038C5C8 00389528 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 8038C5D8 00389538 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
lbl_8038C5DC:
/* 8038C5DC 0038953C 38 60 00 00 */ li r3, 0
2022-07-14 05:48:03 +00:00
/* 8038C5E0 00389540 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-07-14 05:48:03 +00:00
/* 8038C628 00389588 4E 80 04 20 */ bctr
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 8038C920 00389880 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-07-14 05:48:03 +00:00
/* 8038C970 003898D0 4D 82 00 20 */ beqlr
2022-04-02 21:03:04 +00:00
/* 8038C974 003898D4 7C A0 07 74 */ extsb r0, r5
/* 8038C978 003898D8 2C 00 00 05 */ cmpwi r0, 5
2022-07-14 05:48:03 +00:00
/* 8038C97C 003898DC 4D 80 00 20 */ bltlr
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 8038C9B0 00389910 4D 82 00 20 */ beqlr
2022-04-02 21:03:04 +00:00
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)
2022-07-14 05:48:03 +00:00
/* 8038C9DC 0038993C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
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)
2022-07-14 05:48:03 +00:00
/* 8038C9FC 0038995C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 8038CA0C 0038996C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-07-14 05:48:03 +00:00
/* 8038CC98 00389BF8 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-07-14 05:48:03 +00:00
/* 8038CDA8 00389D08 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-07-14 05:48:03 +00:00
/* 8038CE18 00389D78 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-07-18 05:20:04 +00:00
.section .sdata2, "a"
.global lbl_805AEC60
lbl_805AEC60:
# ROM: 0x3FB500
.4byte 0
.4byte 0
.global lbl_805AEC68
lbl_805AEC68:
# ROM: 0x3FB508
.double 1.0
.global lbl_805AEC70
lbl_805AEC70:
# ROM: 0x3FB510
.4byte 0xBFF00000
.4byte 0
.global lbl_805AEC78
lbl_805AEC78:
# ROM: 0x3FB518
.4byte 0x40140000
.4byte 0
.global lbl_805AEC80
lbl_805AEC80:
# ROM: 0x3FB520
.4byte 0x43300000
.4byte 0
.global lbl_805AEC88
lbl_805AEC88:
# ROM: 0x3FB528
.double 4.503601774854144E15