.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_8017E3F4 func_8017E3F4: /* 8017E3F4 0017A054 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8017E3F8 0017A058 7C 08 02 A6 */ mflr r0 /* 8017E3FC 0017A05C 90 01 00 14 */ stw r0, 0x14(r1) /* 8017E400 0017A060 93 E1 00 0C */ stw r31, 0xc(r1) /* 8017E404 0017A064 7C 7F 1B 78 */ mr r31, r3 /* 8017E408 0017A068 4B F9 E5 6D */ bl func_8011C974 /* 8017E40C 0017A06C 7C 63 FA 14 */ add r3, r3, r31 /* 8017E410 0017A070 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8017E414 0017A074 80 01 00 14 */ lwz r0, 0x14(r1) /* 8017E418 0017A078 88 63 01 1C */ lbz r3, 0x11c(r3) /* 8017E41C 0017A07C 7C 08 03 A6 */ mtlr r0 /* 8017E420 0017A080 38 21 00 10 */ addi r1, r1, 0x10 /* 8017E424 0017A084 4E 80 00 20 */ blr .global func_8017E428 func_8017E428: /* 8017E428 0017A088 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8017E42C 0017A08C 7C 08 02 A6 */ mflr r0 /* 8017E430 0017A090 90 01 00 14 */ stw r0, 0x14(r1) /* 8017E434 0017A094 93 E1 00 0C */ stw r31, 0xc(r1) /* 8017E438 0017A098 7C 7F 1B 78 */ mr r31, r3 /* 8017E43C 0017A09C 4B F9 E5 39 */ bl func_8011C974 /* 8017E440 0017A0A0 7C 63 FA 14 */ add r3, r3, r31 /* 8017E444 0017A0A4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8017E448 0017A0A8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8017E44C 0017A0AC 88 63 01 20 */ lbz r3, 0x120(r3) /* 8017E450 0017A0B0 7C 08 03 A6 */ mtlr r0 /* 8017E454 0017A0B4 38 21 00 10 */ addi r1, r1, 0x10 /* 8017E458 0017A0B8 4E 80 00 20 */ blr .global func_8017E45C func_8017E45C: /* 8017E45C 0017A0BC 38 00 00 06 */ li r0, 6 /* 8017E460 0017A0C0 38 E0 00 00 */ li r7, 0 /* 8017E464 0017A0C4 39 00 00 00 */ li r8, 0 /* 8017E468 0017A0C8 7C 09 03 A6 */ mtctr r0 lbl_8017E46C: /* 8017E46C 0017A0CC 55 00 15 BA */ rlwinm r0, r8, 2, 0x16, 0x1d /* 8017E470 0017A0D0 7C C3 00 2E */ lwzx r6, r3, r0 /* 8017E474 0017A0D4 2C 06 00 00 */ cmpwi r6, 0 /* 8017E478 0017A0D8 41 82 00 64 */ beq lbl_8017E4DC /* 8017E47C 0017A0DC 88 C6 00 8A */ lbz r6, 0x8a(r6) /* 8017E480 0017A0E0 54 C0 CF FF */ rlwinm. r0, r6, 0x19, 0x1f, 0x1f /* 8017E484 0017A0E4 41 82 00 58 */ beq lbl_8017E4DC /* 8017E488 0017A0E8 2C 05 00 00 */ cmpwi r5, 0 /* 8017E48C 0017A0EC 41 82 00 44 */ beq lbl_8017E4D0 /* 8017E490 0017A0F0 28 05 00 01 */ cmplwi r5, 1 /* 8017E494 0017A0F4 40 82 00 10 */ bne lbl_8017E4A4 /* 8017E498 0017A0F8 54 C0 D7 FF */ rlwinm. r0, r6, 0x1a, 0x1f, 0x1f /* 8017E49C 0017A0FC 41 82 00 40 */ beq lbl_8017E4DC /* 8017E4A0 0017A100 48 00 00 30 */ b lbl_8017E4D0 lbl_8017E4A4: /* 8017E4A4 0017A104 28 05 00 02 */ cmplwi r5, 2 /* 8017E4A8 0017A108 40 82 00 10 */ bne lbl_8017E4B8 /* 8017E4AC 0017A10C 54 C0 DF FF */ rlwinm. r0, r6, 0x1b, 0x1f, 0x1f /* 8017E4B0 0017A110 41 82 00 2C */ beq lbl_8017E4DC /* 8017E4B4 0017A114 48 00 00 1C */ b lbl_8017E4D0 lbl_8017E4B8: /* 8017E4B8 0017A118 28 05 00 03 */ cmplwi r5, 3 /* 8017E4BC 0017A11C 40 82 00 14 */ bne lbl_8017E4D0 /* 8017E4C0 0017A120 54 C0 D7 FF */ rlwinm. r0, r6, 0x1a, 0x1f, 0x1f /* 8017E4C4 0017A124 40 82 00 18 */ bne lbl_8017E4DC /* 8017E4C8 0017A128 54 C0 DF FF */ rlwinm. r0, r6, 0x1b, 0x1f, 0x1f /* 8017E4CC 0017A12C 40 82 00 10 */ bne lbl_8017E4DC lbl_8017E4D0: /* 8017E4D0 0017A130 54 E0 06 3E */ clrlwi r0, r7, 0x18 /* 8017E4D4 0017A134 38 E7 00 01 */ addi r7, r7, 1 /* 8017E4D8 0017A138 7D 04 01 AE */ stbx r8, r4, r0 lbl_8017E4DC: /* 8017E4DC 0017A13C 39 08 00 01 */ addi r8, r8, 1 /* 8017E4E0 0017A140 42 00 FF 8C */ bdnz lbl_8017E46C /* 8017E4E4 0017A144 7C E3 3B 78 */ mr r3, r7 /* 8017E4E8 0017A148 4E 80 00 20 */ blr .global func_8017E4EC func_8017E4EC: /* 8017E4EC 0017A14C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8017E4F0 0017A150 7C 08 02 A6 */ mflr r0 /* 8017E4F4 0017A154 90 01 00 54 */ stw r0, 0x54(r1) /* 8017E4F8 0017A158 39 61 00 50 */ addi r11, r1, 0x50 /* 8017E4FC 0017A15C 48 04 8C 19 */ bl _savegpr_22 /* 8017E500 0017A160 38 00 00 06 */ li r0, 6 /* 8017E504 0017A164 7C BA 2B 78 */ mr r26, r5 /* 8017E508 0017A168 7C DD 33 78 */ mr r29, r6 /* 8017E50C 0017A16C 7C 99 23 78 */ mr r25, r4 /* 8017E510 0017A170 38 E1 00 10 */ addi r7, r1, 0x10 /* 8017E514 0017A174 38 A1 00 08 */ addi r5, r1, 8 /* 8017E518 0017A178 3B 80 00 00 */ li r28, 0 /* 8017E51C 0017A17C 39 40 00 00 */ li r10, 0 /* 8017E520 0017A180 39 20 00 00 */ li r9, 0 /* 8017E524 0017A184 38 C0 00 FF */ li r6, 0xff /* 8017E528 0017A188 7C 09 03 A6 */ mtctr r0 lbl_8017E52C: /* 8017E52C 0017A18C 55 48 15 BA */ rlwinm r8, r10, 2, 0x16, 0x1d /* 8017E530 0017A190 55 40 06 3E */ clrlwi r0, r10, 0x18 /* 8017E534 0017A194 7D 27 41 2E */ stwx r9, r7, r8 /* 8017E538 0017A198 7C C4 01 AE */ stbx r6, r4, r0 /* 8017E53C 0017A19C 7D 45 01 AE */ stbx r10, r5, r0 /* 8017E540 0017A1A0 39 4A 00 01 */ addi r10, r10, 1 /* 8017E544 0017A1A4 42 00 FF E8 */ bdnz lbl_8017E52C /* 8017E548 0017A1A8 38 00 00 06 */ li r0, 6 /* 8017E54C 0017A1AC 38 C1 00 08 */ addi r6, r1, 8 /* 8017E550 0017A1B0 38 81 00 10 */ addi r4, r1, 0x10 /* 8017E554 0017A1B4 39 00 00 00 */ li r8, 0 /* 8017E558 0017A1B8 7C 09 03 A6 */ mtctr r0 lbl_8017E55C: /* 8017E55C 0017A1BC 55 07 06 3E */ clrlwi r7, r8, 0x18 /* 8017E560 0017A1C0 1C 07 00 8C */ mulli r0, r7, 0x8c /* 8017E564 0017A1C4 7C A3 02 14 */ add r5, r3, r0 /* 8017E568 0017A1C8 88 05 02 86 */ lbz r0, 0x286(r5) /* 8017E56C 0017A1CC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8017E570 0017A1D0 41 82 00 14 */ beq lbl_8017E584 /* 8017E574 0017A1D4 38 A5 01 FC */ addi r5, r5, 0x1fc /* 8017E578 0017A1D8 55 00 15 BA */ rlwinm r0, r8, 2, 0x16, 0x1d /* 8017E57C 0017A1DC 7D 06 39 AE */ stbx r8, r6, r7 /* 8017E580 0017A1E0 7C A4 01 2E */ stwx r5, r4, r0 lbl_8017E584: /* 8017E584 0017A1E4 39 08 00 01 */ addi r8, r8, 1 /* 8017E588 0017A1E8 42 00 FF D4 */ bdnz lbl_8017E55C /* 8017E58C 0017A1EC 38 61 00 10 */ addi r3, r1, 0x10 /* 8017E590 0017A1F0 38 81 00 08 */ addi r4, r1, 8 /* 8017E594 0017A1F4 38 A0 00 01 */ li r5, 1 /* 8017E598 0017A1F8 4B FF FE C5 */ bl func_8017E45C /* 8017E59C 0017A1FC 7C 76 1B 78 */ mr r22, r3 /* 8017E5A0 0017A200 38 61 00 10 */ addi r3, r1, 0x10 /* 8017E5A4 0017A204 38 81 00 08 */ addi r4, r1, 8 /* 8017E5A8 0017A208 38 A0 00 02 */ li r5, 2 /* 8017E5AC 0017A20C 4B FF FE B1 */ bl func_8017E45C /* 8017E5B0 0017A210 7C 7B 1B 78 */ mr r27, r3 /* 8017E5B4 0017A214 48 04 31 59 */ bl func_801C170C /* 8017E5B8 0017A218 28 03 00 01 */ cmplwi r3, 1 /* 8017E5BC 0017A21C 40 82 00 28 */ bne lbl_8017E5E4 /* 8017E5C0 0017A220 56 C0 06 3E */ clrlwi r0, r22, 0x18 /* 8017E5C4 0017A224 28 00 00 01 */ cmplwi r0, 1 /* 8017E5C8 0017A228 40 81 00 08 */ ble lbl_8017E5D0 /* 8017E5CC 0017A22C 3A C0 00 01 */ li r22, 1 lbl_8017E5D0: /* 8017E5D0 0017A230 57 60 06 3E */ clrlwi r0, r27, 0x18 /* 8017E5D4 0017A234 28 00 00 01 */ cmplwi r0, 1 /* 8017E5D8 0017A238 40 81 00 5C */ ble lbl_8017E634 /* 8017E5DC 0017A23C 3B 60 00 01 */ li r27, 1 /* 8017E5E0 0017A240 48 00 00 54 */ b lbl_8017E634 lbl_8017E5E4: /* 8017E5E4 0017A244 2C 1D 00 01 */ cmpwi r29, 1 /* 8017E5E8 0017A248 41 82 00 08 */ beq lbl_8017E5F0 /* 8017E5EC 0017A24C 40 82 00 28 */ bne lbl_8017E614 lbl_8017E5F0: /* 8017E5F0 0017A250 56 C0 06 3E */ clrlwi r0, r22, 0x18 /* 8017E5F4 0017A254 28 00 00 02 */ cmplwi r0, 2 /* 8017E5F8 0017A258 40 81 00 08 */ ble lbl_8017E600 /* 8017E5FC 0017A25C 3A C0 00 02 */ li r22, 2 lbl_8017E600: /* 8017E600 0017A260 57 60 06 3E */ clrlwi r0, r27, 0x18 /* 8017E604 0017A264 28 00 00 02 */ cmplwi r0, 2 /* 8017E608 0017A268 40 81 00 2C */ ble lbl_8017E634 /* 8017E60C 0017A26C 3B 60 00 02 */ li r27, 2 /* 8017E610 0017A270 48 00 00 24 */ b lbl_8017E634 lbl_8017E614: /* 8017E614 0017A274 56 C0 06 3E */ clrlwi r0, r22, 0x18 /* 8017E618 0017A278 28 00 00 01 */ cmplwi r0, 1 /* 8017E61C 0017A27C 40 81 00 08 */ ble lbl_8017E624 /* 8017E620 0017A280 3A C0 00 01 */ li r22, 1 lbl_8017E624: /* 8017E624 0017A284 57 60 06 3E */ clrlwi r0, r27, 0x18 /* 8017E628 0017A288 28 00 00 01 */ cmplwi r0, 1 /* 8017E62C 0017A28C 40 81 00 08 */ ble lbl_8017E634 /* 8017E630 0017A290 3B 60 00 01 */ li r27, 1 lbl_8017E634: /* 8017E634 0017A294 48 04 30 6D */ bl func_801C16A0 /* 8017E638 0017A298 28 03 00 01 */ cmplwi r3, 1 /* 8017E63C 0017A29C 40 82 00 A0 */ bne lbl_8017E6DC /* 8017E640 0017A2A0 3A E1 00 08 */ addi r23, r1, 8 /* 8017E644 0017A2A4 3B E1 00 10 */ addi r31, r1, 0x10 /* 8017E648 0017A2A8 3A C0 00 00 */ li r22, 0 /* 8017E64C 0017A2AC 3B 60 00 06 */ li r27, 6 lbl_8017E650: /* 8017E650 0017A2B0 57 80 06 3E */ clrlwi r0, r28, 0x18 /* 8017E654 0017A2B4 7C 00 D0 40 */ cmplw r0, r26 /* 8017E658 0017A2B8 40 80 02 90 */ bge lbl_8017E8E8 /* 8017E65C 0017A2BC 3B 00 00 00 */ li r24, 0 /* 8017E660 0017A2C0 38 60 00 00 */ li r3, 0 /* 8017E664 0017A2C4 7F 69 03 A6 */ mtctr r27 lbl_8017E668: /* 8017E668 0017A2C8 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d /* 8017E66C 0017A2CC 7C 9F 00 2E */ lwzx r4, r31, r0 /* 8017E670 0017A2D0 2C 04 00 00 */ cmpwi r4, 0 /* 8017E674 0017A2D4 41 82 00 1C */ beq lbl_8017E690 /* 8017E678 0017A2D8 88 04 00 8A */ lbz r0, 0x8a(r4) /* 8017E67C 0017A2DC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8017E680 0017A2E0 41 82 00 10 */ beq lbl_8017E690 /* 8017E684 0017A2E4 57 00 06 3E */ clrlwi r0, r24, 0x18 /* 8017E688 0017A2E8 3B 18 00 01 */ addi r24, r24, 1 /* 8017E68C 0017A2EC 7C 77 01 AE */ stbx r3, r23, r0 lbl_8017E690: /* 8017E690 0017A2F0 38 63 00 01 */ addi r3, r3, 1 /* 8017E694 0017A2F4 42 00 FF D4 */ bdnz lbl_8017E668 /* 8017E698 0017A2F8 57 00 06 3F */ clrlwi. r0, r24, 0x18 /* 8017E69C 0017A2FC 41 82 02 4C */ beq lbl_8017E8E8 /* 8017E6A0 0017A300 48 00 02 61 */ bl func_8017E900 /* 8017E6A4 0017A304 54 65 04 3E */ clrlwi r5, r3, 0x10 /* 8017E6A8 0017A308 57 04 06 3E */ clrlwi r4, r24, 0x18 /* 8017E6AC 0017A30C 7C 65 23 D6 */ divw r3, r5, r4 /* 8017E6B0 0017A310 57 80 06 3E */ clrlwi r0, r28, 0x18 /* 8017E6B4 0017A314 3B 9C 00 01 */ addi r28, r28, 1 /* 8017E6B8 0017A318 7C 63 21 D6 */ mullw r3, r3, r4 /* 8017E6BC 0017A31C 7C 63 28 50 */ subf r3, r3, r5 /* 8017E6C0 0017A320 54 64 06 3E */ clrlwi r4, r3, 0x18 /* 8017E6C4 0017A324 7C 77 20 AE */ lbzx r3, r23, r4 /* 8017E6C8 0017A328 7C 79 01 AE */ stbx r3, r25, r0 /* 8017E6CC 0017A32C 7C 17 20 AE */ lbzx r0, r23, r4 /* 8017E6D0 0017A330 54 00 10 3A */ slwi r0, r0, 2 /* 8017E6D4 0017A334 7E DF 01 2E */ stwx r22, r31, r0 /* 8017E6D8 0017A338 4B FF FF 78 */ b lbl_8017E650 lbl_8017E6DC: /* 8017E6DC 0017A33C 3B C1 00 08 */ addi r30, r1, 8 /* 8017E6E0 0017A340 3A E1 00 10 */ addi r23, r1, 0x10 /* 8017E6E4 0017A344 56 DF 06 3E */ clrlwi r31, r22, 0x18 /* 8017E6E8 0017A348 3B A0 00 00 */ li r29, 0 /* 8017E6EC 0017A34C 3B 00 00 00 */ li r24, 0 lbl_8017E6F0: /* 8017E6F0 0017A350 57 A0 06 3E */ clrlwi r0, r29, 0x18 /* 8017E6F4 0017A354 7C 00 F8 40 */ cmplw r0, r31 /* 8017E6F8 0017A358 40 80 00 60 */ bge lbl_8017E758 /* 8017E6FC 0017A35C 38 61 00 10 */ addi r3, r1, 0x10 /* 8017E700 0017A360 38 81 00 08 */ addi r4, r1, 8 /* 8017E704 0017A364 38 A0 00 01 */ li r5, 1 /* 8017E708 0017A368 4B FF FD 55 */ bl func_8017E45C /* 8017E70C 0017A36C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E710 0017A370 7C 76 1B 78 */ mr r22, r3 /* 8017E714 0017A374 41 82 00 44 */ beq lbl_8017E758 /* 8017E718 0017A378 48 00 01 E9 */ bl func_8017E900 /* 8017E71C 0017A37C 54 65 04 3E */ clrlwi r5, r3, 0x10 /* 8017E720 0017A380 56 C4 06 3E */ clrlwi r4, r22, 0x18 /* 8017E724 0017A384 7C 65 23 D6 */ divw r3, r5, r4 /* 8017E728 0017A388 57 80 06 3E */ clrlwi r0, r28, 0x18 /* 8017E72C 0017A38C 3B 9C 00 01 */ addi r28, r28, 1 /* 8017E730 0017A390 3B BD 00 01 */ addi r29, r29, 1 /* 8017E734 0017A394 7C 63 21 D6 */ mullw r3, r3, r4 /* 8017E738 0017A398 7C 63 28 50 */ subf r3, r3, r5 /* 8017E73C 0017A39C 54 64 06 3E */ clrlwi r4, r3, 0x18 /* 8017E740 0017A3A0 7C 7E 20 AE */ lbzx r3, r30, r4 /* 8017E744 0017A3A4 7C 79 01 AE */ stbx r3, r25, r0 /* 8017E748 0017A3A8 7C 1E 20 AE */ lbzx r0, r30, r4 /* 8017E74C 0017A3AC 54 00 10 3A */ slwi r0, r0, 2 /* 8017E750 0017A3B0 7F 17 01 2E */ stwx r24, r23, r0 /* 8017E754 0017A3B4 4B FF FF 9C */ b lbl_8017E6F0 lbl_8017E758: /* 8017E758 0017A3B8 57 60 06 3E */ clrlwi r0, r27, 0x18 /* 8017E75C 0017A3BC 3B C1 00 08 */ addi r30, r1, 8 /* 8017E760 0017A3C0 7F E0 D0 50 */ subf r31, r0, r26 /* 8017E764 0017A3C4 3A E1 00 10 */ addi r23, r1, 0x10 /* 8017E768 0017A3C8 3B 00 00 00 */ li r24, 0 lbl_8017E76C: /* 8017E76C 0017A3CC 57 80 06 3E */ clrlwi r0, r28, 0x18 /* 8017E770 0017A3D0 7C 00 F8 00 */ cmpw r0, r31 /* 8017E774 0017A3D4 40 80 00 5C */ bge lbl_8017E7D0 /* 8017E778 0017A3D8 38 61 00 10 */ addi r3, r1, 0x10 /* 8017E77C 0017A3DC 38 81 00 08 */ addi r4, r1, 8 /* 8017E780 0017A3E0 38 A0 00 03 */ li r5, 3 /* 8017E784 0017A3E4 4B FF FC D9 */ bl func_8017E45C /* 8017E788 0017A3E8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E78C 0017A3EC 7C 7D 1B 78 */ mr r29, r3 /* 8017E790 0017A3F0 41 82 00 40 */ beq lbl_8017E7D0 /* 8017E794 0017A3F4 48 00 01 6D */ bl func_8017E900 /* 8017E798 0017A3F8 54 65 04 3E */ clrlwi r5, r3, 0x10 /* 8017E79C 0017A3FC 57 A4 06 3E */ clrlwi r4, r29, 0x18 /* 8017E7A0 0017A400 7C 65 23 D6 */ divw r3, r5, r4 /* 8017E7A4 0017A404 57 80 06 3E */ clrlwi r0, r28, 0x18 /* 8017E7A8 0017A408 3B 9C 00 01 */ addi r28, r28, 1 /* 8017E7AC 0017A40C 7C 63 21 D6 */ mullw r3, r3, r4 /* 8017E7B0 0017A410 7C 63 28 50 */ subf r3, r3, r5 /* 8017E7B4 0017A414 54 64 06 3E */ clrlwi r4, r3, 0x18 /* 8017E7B8 0017A418 7C 7E 20 AE */ lbzx r3, r30, r4 /* 8017E7BC 0017A41C 7C 79 01 AE */ stbx r3, r25, r0 /* 8017E7C0 0017A420 7C 1E 20 AE */ lbzx r0, r30, r4 /* 8017E7C4 0017A424 54 00 10 3A */ slwi r0, r0, 2 /* 8017E7C8 0017A428 7F 17 01 2E */ stwx r24, r23, r0 /* 8017E7CC 0017A42C 4B FF FF A0 */ b lbl_8017E76C lbl_8017E7D0: /* 8017E7D0 0017A430 57 7F 06 3E */ clrlwi r31, r27, 0x18 /* 8017E7D4 0017A434 3B C1 00 08 */ addi r30, r1, 8 /* 8017E7D8 0017A438 3B 01 00 10 */ addi r24, r1, 0x10 /* 8017E7DC 0017A43C 3B A0 00 00 */ li r29, 0 /* 8017E7E0 0017A440 3B 60 00 00 */ li r27, 0 lbl_8017E7E4: /* 8017E7E4 0017A444 57 A0 06 3E */ clrlwi r0, r29, 0x18 /* 8017E7E8 0017A448 7C 00 F8 40 */ cmplw r0, r31 /* 8017E7EC 0017A44C 40 80 00 60 */ bge lbl_8017E84C /* 8017E7F0 0017A450 38 61 00 10 */ addi r3, r1, 0x10 /* 8017E7F4 0017A454 38 81 00 08 */ addi r4, r1, 8 /* 8017E7F8 0017A458 38 A0 00 02 */ li r5, 2 /* 8017E7FC 0017A45C 4B FF FC 61 */ bl func_8017E45C /* 8017E800 0017A460 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E804 0017A464 7C 77 1B 78 */ mr r23, r3 /* 8017E808 0017A468 41 82 00 44 */ beq lbl_8017E84C /* 8017E80C 0017A46C 48 00 00 F5 */ bl func_8017E900 /* 8017E810 0017A470 54 65 04 3E */ clrlwi r5, r3, 0x10 /* 8017E814 0017A474 56 E4 06 3E */ clrlwi r4, r23, 0x18 /* 8017E818 0017A478 7C 65 23 D6 */ divw r3, r5, r4 /* 8017E81C 0017A47C 57 80 06 3E */ clrlwi r0, r28, 0x18 /* 8017E820 0017A480 3B 9C 00 01 */ addi r28, r28, 1 /* 8017E824 0017A484 3B BD 00 01 */ addi r29, r29, 1 /* 8017E828 0017A488 7C 63 21 D6 */ mullw r3, r3, r4 /* 8017E82C 0017A48C 7C 63 28 50 */ subf r3, r3, r5 /* 8017E830 0017A490 54 64 06 3E */ clrlwi r4, r3, 0x18 /* 8017E834 0017A494 7C 7E 20 AE */ lbzx r3, r30, r4 /* 8017E838 0017A498 7C 79 01 AE */ stbx r3, r25, r0 /* 8017E83C 0017A49C 7C 1E 20 AE */ lbzx r0, r30, r4 /* 8017E840 0017A4A0 54 00 10 3A */ slwi r0, r0, 2 /* 8017E844 0017A4A4 7F 78 01 2E */ stwx r27, r24, r0 /* 8017E848 0017A4A8 4B FF FF 9C */ b lbl_8017E7E4 lbl_8017E84C: /* 8017E84C 0017A4AC 3B C1 00 08 */ addi r30, r1, 8 /* 8017E850 0017A4B0 3B E1 00 10 */ addi r31, r1, 0x10 /* 8017E854 0017A4B4 3B A0 00 00 */ li r29, 0 /* 8017E858 0017A4B8 3B 60 00 06 */ li r27, 6 lbl_8017E85C: /* 8017E85C 0017A4BC 57 80 06 3E */ clrlwi r0, r28, 0x18 /* 8017E860 0017A4C0 7C 00 D0 40 */ cmplw r0, r26 /* 8017E864 0017A4C4 40 80 00 84 */ bge lbl_8017E8E8 /* 8017E868 0017A4C8 3A C0 00 00 */ li r22, 0 /* 8017E86C 0017A4CC 38 60 00 00 */ li r3, 0 /* 8017E870 0017A4D0 7F 69 03 A6 */ mtctr r27 lbl_8017E874: /* 8017E874 0017A4D4 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d /* 8017E878 0017A4D8 7C 9F 00 2E */ lwzx r4, r31, r0 /* 8017E87C 0017A4DC 2C 04 00 00 */ cmpwi r4, 0 /* 8017E880 0017A4E0 41 82 00 1C */ beq lbl_8017E89C /* 8017E884 0017A4E4 88 04 00 8A */ lbz r0, 0x8a(r4) /* 8017E888 0017A4E8 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8017E88C 0017A4EC 41 82 00 10 */ beq lbl_8017E89C /* 8017E890 0017A4F0 56 C0 06 3E */ clrlwi r0, r22, 0x18 /* 8017E894 0017A4F4 3A D6 00 01 */ addi r22, r22, 1 /* 8017E898 0017A4F8 7C 7E 01 AE */ stbx r3, r30, r0 lbl_8017E89C: /* 8017E89C 0017A4FC 38 63 00 01 */ addi r3, r3, 1 /* 8017E8A0 0017A500 42 00 FF D4 */ bdnz lbl_8017E874 /* 8017E8A4 0017A504 56 C0 06 3F */ clrlwi. r0, r22, 0x18 /* 8017E8A8 0017A508 41 82 00 40 */ beq lbl_8017E8E8 /* 8017E8AC 0017A50C 48 00 00 55 */ bl func_8017E900 /* 8017E8B0 0017A510 54 65 04 3E */ clrlwi r5, r3, 0x10 /* 8017E8B4 0017A514 56 C4 06 3E */ clrlwi r4, r22, 0x18 /* 8017E8B8 0017A518 7C 65 23 D6 */ divw r3, r5, r4 /* 8017E8BC 0017A51C 57 80 06 3E */ clrlwi r0, r28, 0x18 /* 8017E8C0 0017A520 3B 9C 00 01 */ addi r28, r28, 1 /* 8017E8C4 0017A524 7C 63 21 D6 */ mullw r3, r3, r4 /* 8017E8C8 0017A528 7C 63 28 50 */ subf r3, r3, r5 /* 8017E8CC 0017A52C 54 64 06 3E */ clrlwi r4, r3, 0x18 /* 8017E8D0 0017A530 7C 7E 20 AE */ lbzx r3, r30, r4 /* 8017E8D4 0017A534 7C 79 01 AE */ stbx r3, r25, r0 /* 8017E8D8 0017A538 7C 1E 20 AE */ lbzx r0, r30, r4 /* 8017E8DC 0017A53C 54 00 10 3A */ slwi r0, r0, 2 /* 8017E8E0 0017A540 7F BF 01 2E */ stwx r29, r31, r0 /* 8017E8E4 0017A544 4B FF FF 78 */ b lbl_8017E85C lbl_8017E8E8: /* 8017E8E8 0017A548 39 61 00 50 */ addi r11, r1, 0x50 /* 8017E8EC 0017A54C 48 04 88 75 */ bl _restgpr_22 /* 8017E8F0 0017A550 80 01 00 54 */ lwz r0, 0x54(r1) /* 8017E8F4 0017A554 7C 08 03 A6 */ mtlr r0 /* 8017E8F8 0017A558 38 21 00 50 */ addi r1, r1, 0x50 /* 8017E8FC 0017A55C 4E 80 00 20 */ blr .global func_8017E900 func_8017E900: /* 8017E900 0017A560 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8017E904 0017A564 7C 08 02 A6 */ mflr r0 /* 8017E908 0017A568 90 01 00 14 */ stw r0, 0x14(r1) /* 8017E90C 0017A56C 48 0A 4F 25 */ bl func_80223830 /* 8017E910 0017A570 3C 80 00 03 */ lis r4, 0x000343FD@ha /* 8017E914 0017A574 80 A3 00 00 */ lwz r5, 0(r3) /* 8017E918 0017A578 38 04 43 FD */ addi r0, r4, 0x000343FD@l /* 8017E91C 0017A57C 7C 85 01 D6 */ mullw r4, r5, r0 /* 8017E920 0017A580 3C 84 00 27 */ addis r4, r4, 0x27 /* 8017E924 0017A584 38 04 9E C3 */ addi r0, r4, -24893 /* 8017E928 0017A588 90 03 00 00 */ stw r0, 0(r3) /* 8017E92C 0017A58C 54 03 84 3E */ srwi r3, r0, 0x10 /* 8017E930 0017A590 80 01 00 14 */ lwz r0, 0x14(r1) /* 8017E934 0017A594 7C 08 03 A6 */ mtlr r0 /* 8017E938 0017A598 38 21 00 10 */ addi r1, r1, 0x10 /* 8017E93C 0017A59C 4E 80 00 20 */ blr .global func_8017E940 func_8017E940: /* 8017E940 0017A5A0 38 6D 9F 98 */ addi r3, r13, lbl_8063F258-_SDA_BASE_ /* 8017E944 0017A5A4 38 80 00 01 */ li r4, 1 /* 8017E948 0017A5A8 38 A0 00 04 */ li r5, 4 /* 8017E94C 0017A5AC 38 C0 00 00 */ li r6, 0 /* 8017E950 0017A5B0 4B EA 5F C4 */ b func_80024914