.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global gsiLargeIntResize gsiLargeIntResize: /* 803397B0 00335410 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803397B4 00335414 7C 08 02 A6 */ mflr r0 /* 803397B8 00335418 28 04 00 40 */ cmplwi r4, 0x40 /* 803397BC 0033541C 90 01 00 14 */ stw r0, 0x14(r1) /* 803397C0 00335420 93 E1 00 0C */ stw r31, 0xc(r1) /* 803397C4 00335424 7C 9F 23 78 */ mr r31, r4 /* 803397C8 00335428 93 C1 00 08 */ stw r30, 8(r1) /* 803397CC 0033542C 7C 7E 1B 78 */ mr r30, r3 /* 803397D0 00335430 40 81 00 0C */ ble lbl_803397DC /* 803397D4 00335434 38 60 00 00 */ li r3, 0 /* 803397D8 00335438 48 00 00 78 */ b lbl_80339850 lbl_803397DC: /* 803397DC 0033543C 80 03 00 00 */ lwz r0, 0(r3) /* 803397E0 00335440 7C 00 20 40 */ cmplw r0, r4 /* 803397E4 00335444 41 80 00 48 */ blt lbl_8033982C /* 803397E8 00335448 48 00 00 10 */ b lbl_803397F8 lbl_803397EC: /* 803397EC 0033544C 80 A3 00 00 */ lwz r5, 0(r3) /* 803397F0 00335450 38 05 FF FF */ addi r0, r5, -1 /* 803397F4 00335454 90 03 00 00 */ stw r0, 0(r3) lbl_803397F8: /* 803397F8 00335458 80 A3 00 00 */ lwz r5, 0(r3) /* 803397FC 0033545C 7C 05 20 40 */ cmplw r5, r4 /* 80339800 00335460 40 81 00 14 */ ble lbl_80339814 /* 80339804 00335464 54 A0 10 3A */ slwi r0, r5, 2 /* 80339808 00335468 7C 03 00 2E */ lwzx r0, r3, r0 /* 8033980C 0033546C 2C 00 00 00 */ cmpwi r0, 0 /* 80339810 00335470 41 82 FF DC */ beq lbl_803397EC lbl_80339814: /* 80339814 00335474 7C 05 20 40 */ cmplw r5, r4 /* 80339818 00335478 40 82 00 0C */ bne lbl_80339824 /* 8033981C 0033547C 38 60 00 01 */ li r3, 1 /* 80339820 00335480 48 00 00 30 */ b lbl_80339850 lbl_80339824: /* 80339824 00335484 38 60 00 00 */ li r3, 0 /* 80339828 00335488 48 00 00 28 */ b lbl_80339850 lbl_8033982C: /* 8033982C 0033548C 54 04 10 3A */ slwi r4, r0, 2 /* 80339830 00335490 7C 00 F8 50 */ subf r0, r0, r31 /* 80339834 00335494 7C 63 22 14 */ add r3, r3, r4 /* 80339838 00335498 38 80 00 00 */ li r4, 0 /* 8033983C 0033549C 54 05 10 3A */ slwi r5, r0, 2 /* 80339840 003354A0 38 63 00 04 */ addi r3, r3, 4 /* 80339844 003354A4 4B CC A8 C1 */ bl memset /* 80339848 003354A8 93 FE 00 00 */ stw r31, 0(r30) /* 8033984C 003354AC 38 60 00 01 */ li r3, 1 lbl_80339850: /* 80339850 003354B0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80339854 003354B4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80339858 003354B8 83 C1 00 08 */ lwz r30, 8(r1) /* 8033985C 003354BC 7C 08 03 A6 */ mtlr r0 /* 80339860 003354C0 38 21 00 10 */ addi r1, r1, 0x10 /* 80339864 003354C4 4E 80 00 20 */ blr .global gsiLargeIntSizePower2 gsiLargeIntSizePower2: /* 80339868 003354C8 80 C3 00 00 */ lwz r6, 0(r3) /* 8033986C 003354CC 80 E4 00 00 */ lwz r7, 0(r4) /* 80339870 003354D0 54 C0 10 3A */ slwi r0, r6, 2 /* 80339874 003354D4 7C 63 02 14 */ add r3, r3, r0 /* 80339878 003354D8 48 00 00 0C */ b lbl_80339884 lbl_8033987C: /* 8033987C 003354DC 38 63 FF FC */ addi r3, r3, -4 /* 80339880 003354E0 38 C6 FF FF */ addi r6, r6, -1 lbl_80339884: /* 80339884 003354E4 2C 06 00 00 */ cmpwi r6, 0 /* 80339888 003354E8 40 81 00 10 */ ble lbl_80339898 /* 8033988C 003354EC 80 03 00 00 */ lwz r0, 0(r3) /* 80339890 003354F0 2C 00 00 00 */ cmpwi r0, 0 /* 80339894 003354F4 41 82 FF E8 */ beq lbl_8033987C lbl_80339898: /* 80339898 003354F8 54 E0 10 3A */ slwi r0, r7, 2 /* 8033989C 003354FC 7C 64 02 14 */ add r3, r4, r0 /* 803398A0 00335500 48 00 00 0C */ b lbl_803398AC lbl_803398A4: /* 803398A4 00335504 38 63 FF FC */ addi r3, r3, -4 /* 803398A8 00335508 38 E7 FF FF */ addi r7, r7, -1 lbl_803398AC: /* 803398AC 0033550C 2C 07 00 00 */ cmpwi r7, 0 /* 803398B0 00335510 40 81 00 10 */ ble lbl_803398C0 /* 803398B4 00335514 80 03 00 00 */ lwz r0, 0(r3) /* 803398B8 00335518 2C 00 00 00 */ cmpwi r0, 0 /* 803398BC 0033551C 41 82 FF E8 */ beq lbl_803398A4 lbl_803398C0: /* 803398C0 00335520 7C 06 38 00 */ cmpw r6, r7 /* 803398C4 00335524 40 81 00 08 */ ble lbl_803398CC /* 803398C8 00335528 7C C7 33 78 */ mr r7, r6 lbl_803398CC: /* 803398CC 0033552C 90 E5 00 00 */ stw r7, 0(r5) /* 803398D0 00335530 38 80 00 01 */ li r4, 1 /* 803398D4 00335534 48 00 00 08 */ b lbl_803398DC lbl_803398D8: /* 803398D8 00335538 54 84 08 3C */ slwi r4, r4, 1 lbl_803398DC: /* 803398DC 0033553C 7C 04 38 40 */ cmplw r4, r7 /* 803398E0 00335540 41 80 FF F8 */ blt lbl_803398D8 /* 803398E4 00335544 20 04 00 40 */ subfic r0, r4, 0x40 /* 803398E8 00335548 38 60 00 40 */ li r3, 0x40 /* 803398EC 0033554C 7C 63 23 38 */ orc r3, r3, r4 /* 803398F0 00335550 90 85 00 00 */ stw r4, 0(r5) /* 803398F4 00335554 54 00 F8 7E */ srwi r0, r0, 1 /* 803398F8 00335558 7C 00 18 50 */ subf r0, r0, r3 /* 803398FC 0033555C 54 03 0F FE */ srwi r3, r0, 0x1f /* 80339900 00335560 4E 80 00 20 */ blr .global gsiLargeIntCompare gsiLargeIntCompare: /* 80339904 00335564 54 80 10 3A */ slwi r0, r4, 2 /* 80339908 00335568 7C E3 02 14 */ add r7, r3, r0 /* 8033990C 0033556C 48 00 00 0C */ b lbl_80339918 lbl_80339910: /* 80339910 00335570 38 E7 FF FC */ addi r7, r7, -4 /* 80339914 00335574 38 84 FF FF */ addi r4, r4, -1 lbl_80339918: /* 80339918 00335578 80 07 FF FC */ lwz r0, -4(r7) /* 8033991C 0033557C 2C 00 00 00 */ cmpwi r0, 0 /* 80339920 00335580 40 82 00 0C */ bne lbl_8033992C /* 80339924 00335584 2C 04 00 00 */ cmpwi r4, 0 /* 80339928 00335588 40 82 FF E8 */ bne lbl_80339910 lbl_8033992C: /* 8033992C 0033558C 54 C0 10 3A */ slwi r0, r6, 2 /* 80339930 00335590 7C E5 02 14 */ add r7, r5, r0 /* 80339934 00335594 48 00 00 0C */ b lbl_80339940 lbl_80339938: /* 80339938 00335598 38 E7 FF FC */ addi r7, r7, -4 /* 8033993C 0033559C 38 C6 FF FF */ addi r6, r6, -1 lbl_80339940: /* 80339940 003355A0 80 07 FF FC */ lwz r0, -4(r7) /* 80339944 003355A4 2C 00 00 00 */ cmpwi r0, 0 /* 80339948 003355A8 40 82 00 0C */ bne lbl_80339954 /* 8033994C 003355AC 2C 06 00 00 */ cmpwi r6, 0 /* 80339950 003355B0 40 82 FF E8 */ bne lbl_80339938 lbl_80339954: /* 80339954 003355B4 7C 04 30 40 */ cmplw r4, r6 /* 80339958 003355B8 40 80 00 0C */ bge lbl_80339964 /* 8033995C 003355BC 38 60 FF FF */ li r3, -1 /* 80339960 003355C0 4E 80 00 20 */ blr lbl_80339964: /* 80339964 003355C4 40 81 00 0C */ ble lbl_80339970 /* 80339968 003355C8 38 60 00 01 */ li r3, 1 /* 8033996C 003355CC 4E 80 00 20 */ blr lbl_80339970: /* 80339970 003355D0 54 80 10 3A */ slwi r0, r4, 2 /* 80339974 003355D4 7C A5 02 14 */ add r5, r5, r0 /* 80339978 003355D8 7C 63 02 14 */ add r3, r3, r0 /* 8033997C 003355DC 7C 89 03 A6 */ mtctr r4 /* 80339980 003355E0 2C 04 00 00 */ cmpwi r4, 0 /* 80339984 003355E4 41 82 00 34 */ beq lbl_803399B8 lbl_80339988: /* 80339988 003355E8 80 05 FF FC */ lwz r0, -4(r5) /* 8033998C 003355EC 80 83 FF FC */ lwz r4, -4(r3) /* 80339990 003355F0 7C 04 00 40 */ cmplw r4, r0 /* 80339994 003355F4 40 80 00 0C */ bge lbl_803399A0 /* 80339998 003355F8 38 60 FF FF */ li r3, -1 /* 8033999C 003355FC 4E 80 00 20 */ blr lbl_803399A0: /* 803399A0 00335600 40 81 00 0C */ ble lbl_803399AC /* 803399A4 00335604 38 60 00 01 */ li r3, 1 /* 803399A8 00335608 4E 80 00 20 */ blr lbl_803399AC: /* 803399AC 0033560C 38 A5 FF FC */ addi r5, r5, -4 /* 803399B0 00335610 38 63 FF FC */ addi r3, r3, -4 /* 803399B4 00335614 42 00 FF D4 */ bdnz lbl_80339988 lbl_803399B8: /* 803399B8 00335618 38 60 00 00 */ li r3, 0 /* 803399BC 0033561C 4E 80 00 20 */ blr .global gsiLargeIntAdd gsiLargeIntAdd: /* 803399C0 00335620 94 21 FF C0 */ stwu r1, -0x40(r1) /* 803399C4 00335624 7C 08 02 A6 */ mflr r0 /* 803399C8 00335628 90 01 00 44 */ stw r0, 0x44(r1) /* 803399CC 0033562C 39 61 00 40 */ addi r11, r1, 0x40 /* 803399D0 00335630 4B E8 D7 41 */ bl _savegpr_21 /* 803399D4 00335634 3E C0 80 61 */ lis r22, lbl_80610BD0@ha /* 803399D8 00335638 7C 77 1B 78 */ mr r23, r3 /* 803399DC 0033563C 3A D6 0B D0 */ addi r22, r22, lbl_80610BD0@l /* 803399E0 00335640 7C 95 23 78 */ mr r21, r4 /* 803399E4 00335644 80 16 00 3C */ lwz r0, 0x3c(r22) /* 803399E8 00335648 7C B8 2B 78 */ mr r24, r5 /* 803399EC 0033564C 7C D9 33 78 */ mr r25, r6 /* 803399F0 00335650 7C FA 3B 78 */ mr r26, r7 /* 803399F4 00335654 2C 00 00 00 */ cmpwi r0, 0 /* 803399F8 00335658 7D 1B 43 78 */ mr r27, r8 /* 803399FC 0033565C 7D 3C 4B 78 */ mr r28, r9 /* 80339A00 00335660 3B E0 00 00 */ li r31, 0 /* 80339A04 00335664 3B A0 00 00 */ li r29, 0 /* 80339A08 00335668 3B C0 00 00 */ li r30, 0 /* 80339A0C 0033566C 40 82 00 20 */ bne lbl_80339A2C /* 80339A10 00335670 80 76 00 38 */ lwz r3, 0x38(r22) /* 80339A14 00335674 38 03 00 01 */ addi r0, r3, 1 /* 80339A18 00335678 90 16 00 38 */ stw r0, 0x38(r22) /* 80339A1C 0033567C 4B FF F6 05 */ bl current_time_hires /* 80339A20 00335680 38 00 00 01 */ li r0, 1 /* 80339A24 00335684 90 76 00 30 */ stw r3, 0x30(r22) /* 80339A28 00335688 90 16 00 3C */ stw r0, 0x3c(r22) lbl_80339A2C: /* 80339A2C 0033568C 7C 1C A8 40 */ cmplw r28, r21 /* 80339A30 00335690 41 80 00 0C */ blt lbl_80339A3C /* 80339A34 00335694 7C 1C C8 40 */ cmplw r28, r25 /* 80339A38 00335698 40 80 00 0C */ bge lbl_80339A44 lbl_80339A3C: /* 80339A3C 0033569C 38 60 00 00 */ li r3, 0 /* 80339A40 003356A0 48 00 01 F0 */ b lbl_80339C30 lbl_80339A44: /* 80339A44 003356A4 7C 15 C8 40 */ cmplw r21, r25 /* 80339A48 003356A8 40 80 00 10 */ bge lbl_80339A58 /* 80339A4C 003356AC 7E A6 AB 78 */ mr r6, r21 /* 80339A50 003356B0 7F 07 C3 78 */ mr r7, r24 /* 80339A54 003356B4 48 00 00 10 */ b lbl_80339A64 lbl_80339A58: /* 80339A58 003356B8 7F 26 CB 78 */ mr r6, r25 /* 80339A5C 003356BC 7E B9 AB 78 */ mr r25, r21 /* 80339A60 003356C0 7E E7 BB 78 */ mr r7, r23 lbl_80339A64: /* 80339A64 003356C4 28 06 00 00 */ cmplwi r6, 0 /* 80339A68 003356C8 7F 45 D3 78 */ mr r5, r26 /* 80339A6C 003356CC 40 81 00 E0 */ ble lbl_80339B4C /* 80339A70 003356D0 54 C0 F0 BF */ rlwinm. r0, r6, 0x1e, 2, 0x1f /* 80339A74 003356D4 7C DF 33 78 */ mr r31, r6 /* 80339A78 003356D8 7C 09 03 A6 */ mtctr r0 /* 80339A7C 003356DC 41 82 00 9C */ beq lbl_80339B18 lbl_80339A80: /* 80339A80 003356E0 80 77 00 00 */ lwz r3, 0(r23) /* 80339A84 003356E4 80 18 00 00 */ lwz r0, 0(r24) /* 80339A88 003356E8 7C 9D 18 14 */ addc r4, r29, r3 /* 80339A8C 003356EC 7C 7E 01 94 */ addze r3, r30 /* 80339A90 003356F0 3B C0 00 00 */ li r30, 0 /* 80339A94 003356F4 7C 04 00 14 */ addc r0, r4, r0 /* 80339A98 003356F8 90 05 00 00 */ stw r0, 0(r5) /* 80339A9C 003356FC 7F A3 01 94 */ addze r29, r3 /* 80339AA0 00335700 80 77 00 04 */ lwz r3, 4(r23) /* 80339AA4 00335704 80 18 00 04 */ lwz r0, 4(r24) /* 80339AA8 00335708 7C 9D 18 14 */ addc r4, r29, r3 /* 80339AAC 0033570C 7C 7E 01 94 */ addze r3, r30 /* 80339AB0 00335710 3B C0 00 00 */ li r30, 0 /* 80339AB4 00335714 7C 04 00 14 */ addc r0, r4, r0 /* 80339AB8 00335718 90 05 00 04 */ stw r0, 4(r5) /* 80339ABC 0033571C 7F A3 01 94 */ addze r29, r3 /* 80339AC0 00335720 80 77 00 08 */ lwz r3, 8(r23) /* 80339AC4 00335724 80 18 00 08 */ lwz r0, 8(r24) /* 80339AC8 00335728 7C 9D 18 14 */ addc r4, r29, r3 /* 80339ACC 0033572C 7C 7E 01 94 */ addze r3, r30 /* 80339AD0 00335730 3B C0 00 00 */ li r30, 0 /* 80339AD4 00335734 7C 04 00 14 */ addc r0, r4, r0 /* 80339AD8 00335738 90 05 00 08 */ stw r0, 8(r5) /* 80339ADC 0033573C 7F A3 01 94 */ addze r29, r3 /* 80339AE0 00335740 80 77 00 0C */ lwz r3, 0xc(r23) /* 80339AE4 00335744 3A F7 00 10 */ addi r23, r23, 0x10 /* 80339AE8 00335748 80 18 00 0C */ lwz r0, 0xc(r24) /* 80339AEC 0033574C 3B 18 00 10 */ addi r24, r24, 0x10 /* 80339AF0 00335750 7C 9D 18 14 */ addc r4, r29, r3 /* 80339AF4 00335754 7C 7E 01 94 */ addze r3, r30 /* 80339AF8 00335758 3B C0 00 00 */ li r30, 0 /* 80339AFC 0033575C 7C 04 00 14 */ addc r0, r4, r0 /* 80339B00 00335760 90 05 00 0C */ stw r0, 0xc(r5) /* 80339B04 00335764 7F A3 01 94 */ addze r29, r3 /* 80339B08 00335768 38 A5 00 10 */ addi r5, r5, 0x10 /* 80339B0C 0033576C 42 00 FF 74 */ bdnz lbl_80339A80 /* 80339B10 00335770 70 C6 00 03 */ andi. r6, r6, 3 /* 80339B14 00335774 41 82 00 38 */ beq lbl_80339B4C lbl_80339B18: /* 80339B18 00335778 7C C9 03 A6 */ mtctr r6 lbl_80339B1C: /* 80339B1C 0033577C 80 77 00 00 */ lwz r3, 0(r23) /* 80339B20 00335780 3A F7 00 04 */ addi r23, r23, 4 /* 80339B24 00335784 80 18 00 00 */ lwz r0, 0(r24) /* 80339B28 00335788 3B 18 00 04 */ addi r24, r24, 4 /* 80339B2C 0033578C 7C 9D 18 14 */ addc r4, r29, r3 /* 80339B30 00335790 7C 7E 01 94 */ addze r3, r30 /* 80339B34 00335794 3B C0 00 00 */ li r30, 0 /* 80339B38 00335798 7C 04 00 14 */ addc r0, r4, r0 /* 80339B3C 0033579C 90 05 00 00 */ stw r0, 0(r5) /* 80339B40 003357A0 7F A3 01 94 */ addze r29, r3 /* 80339B44 003357A4 38 A5 00 04 */ addi r5, r5, 4 /* 80339B48 003357A8 42 00 FF D4 */ bdnz lbl_80339B1C lbl_80339B4C: /* 80339B4C 003357AC 57 E0 10 3A */ slwi r0, r31, 2 /* 80339B50 003357B0 7C 67 02 14 */ add r3, r7, r0 /* 80339B54 003357B4 7C 9A 02 14 */ add r4, r26, r0 /* 80339B58 003357B8 48 00 00 24 */ b lbl_80339B7C lbl_80339B5C: /* 80339B5C 003357BC 80 03 00 00 */ lwz r0, 0(r3) /* 80339B60 003357C0 38 63 00 04 */ addi r3, r3, 4 /* 80339B64 003357C4 3B FF 00 01 */ addi r31, r31, 1 /* 80339B68 003357C8 7C 1D 00 14 */ addc r0, r29, r0 /* 80339B6C 003357CC 90 04 00 00 */ stw r0, 0(r4) /* 80339B70 003357D0 7F BE 01 94 */ addze r29, r30 /* 80339B74 003357D4 3B C0 00 00 */ li r30, 0 /* 80339B78 003357D8 38 84 00 04 */ addi r4, r4, 4 lbl_80339B7C: /* 80339B7C 003357DC 7F A0 F3 79 */ or. r0, r29, r30 /* 80339B80 003357E0 41 82 00 0C */ beq lbl_80339B8C /* 80339B84 003357E4 7C 1F C8 40 */ cmplw r31, r25 /* 80339B88 003357E8 41 80 FF D4 */ blt lbl_80339B5C lbl_80339B8C: /* 80339B8C 003357EC 7F A0 F3 79 */ or. r0, r29, r30 /* 80339B90 003357F0 41 82 00 28 */ beq lbl_80339BB8 /* 80339B94 003357F4 7C 1C F8 40 */ cmplw r28, r31 /* 80339B98 003357F8 41 81 00 0C */ bgt lbl_80339BA4 /* 80339B9C 003357FC 38 60 00 00 */ li r3, 0 /* 80339BA0 00335800 48 00 00 90 */ b lbl_80339C30 lbl_80339BA4: /* 80339BA4 00335804 57 E0 10 3A */ slwi r0, r31, 2 /* 80339BA8 00335808 3B C0 00 00 */ li r30, 0 /* 80339BAC 0033580C 7F BA 01 2E */ stwx r29, r26, r0 /* 80339BB0 00335810 3B A0 00 00 */ li r29, 0 /* 80339BB4 00335814 3B FF 00 01 */ addi r31, r31, 1 lbl_80339BB8: /* 80339BB8 00335818 7C 1F C8 40 */ cmplw r31, r25 /* 80339BBC 0033581C 40 80 00 28 */ bge lbl_80339BE4 /* 80339BC0 00335820 57 E0 10 3A */ slwi r0, r31, 2 /* 80339BC4 00335824 7C 87 02 14 */ add r4, r7, r0 /* 80339BC8 00335828 7C 7A 02 14 */ add r3, r26, r0 /* 80339BCC 0033582C 7C 03 20 40 */ cmplw r3, r4 /* 80339BD0 00335830 41 82 00 10 */ beq lbl_80339BE0 /* 80339BD4 00335834 7C 1F C8 50 */ subf r0, r31, r25 /* 80339BD8 00335838 54 05 10 3A */ slwi r5, r0, 2 /* 80339BDC 0033583C 4B CC A4 25 */ bl memcpy lbl_80339BE0: /* 80339BE0 00335840 7F 3F CB 78 */ mr r31, r25 lbl_80339BE4: /* 80339BE4 00335844 3E E0 80 61 */ lis r23, lbl_80610BD0@ha /* 80339BE8 00335848 93 FB 00 00 */ stw r31, 0(r27) /* 80339BEC 0033584C 3A F7 0B D0 */ addi r23, r23, lbl_80610BD0@l /* 80339BF0 00335850 80 17 00 3C */ lwz r0, 0x3c(r23) /* 80339BF4 00335854 28 00 00 01 */ cmplwi r0, 1 /* 80339BF8 00335858 40 82 00 24 */ bne lbl_80339C1C /* 80339BFC 0033585C 4B FF F4 25 */ bl current_time_hires /* 80339C00 00335860 80 B7 00 30 */ lwz r5, 0x30(r23) /* 80339C04 00335864 38 00 00 00 */ li r0, 0 /* 80339C08 00335868 80 97 00 34 */ lwz r4, 0x34(r23) /* 80339C0C 0033586C 7C 65 18 50 */ subf r3, r5, r3 /* 80339C10 00335870 90 17 00 3C */ stw r0, 0x3c(r23) /* 80339C14 00335874 7C 04 1A 14 */ add r0, r4, r3 /* 80339C18 00335878 90 17 00 34 */ stw r0, 0x34(r23) lbl_80339C1C: /* 80339C1C 0033587C 7F A0 F3 79 */ or. r0, r29, r30 /* 80339C20 00335880 41 82 00 0C */ beq lbl_80339C2C /* 80339C24 00335884 38 60 00 00 */ li r3, 0 /* 80339C28 00335888 48 00 00 08 */ b lbl_80339C30 lbl_80339C2C: /* 80339C2C 0033588C 38 60 00 01 */ li r3, 1 lbl_80339C30: /* 80339C30 00335890 39 61 00 40 */ addi r11, r1, 0x40 /* 80339C34 00335894 4B E8 D5 29 */ bl _restgpr_21 /* 80339C38 00335898 80 01 00 44 */ lwz r0, 0x44(r1) /* 80339C3C 0033589C 7C 08 03 A6 */ mtlr r0 /* 80339C40 003358A0 38 21 00 40 */ addi r1, r1, 0x40 /* 80339C44 003358A4 4E 80 00 20 */ blr .global gsiLargeIntSub gsiLargeIntSub: /* 80339C48 003358A8 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80339C4C 003358AC 7C 08 02 A6 */ mflr r0 /* 80339C50 003358B0 90 01 00 44 */ stw r0, 0x44(r1) /* 80339C54 003358B4 39 61 00 40 */ addi r11, r1, 0x40 /* 80339C58 003358B8 4B E8 D4 B9 */ bl _savegpr_21 /* 80339C5C 003358BC 7C 04 30 40 */ cmplw r4, r6 /* 80339C60 003358C0 7C D9 33 78 */ mr r25, r6 /* 80339C64 003358C4 7C 76 1B 78 */ mr r22, r3 /* 80339C68 003358C8 7C 97 23 78 */ mr r23, r4 /* 80339C6C 003358CC 7C B8 2B 78 */ mr r24, r5 /* 80339C70 003358D0 7C FA 3B 78 */ mr r26, r7 /* 80339C74 003358D4 7D 1B 43 78 */ mr r27, r8 /* 80339C78 003358D8 7F 3F CB 78 */ mr r31, r25 /* 80339C7C 003358DC 3B A0 00 00 */ li r29, 0 /* 80339C80 003358E0 3B C0 00 00 */ li r30, 0 /* 80339C84 003358E4 40 80 00 08 */ bge lbl_80339C8C /* 80339C88 003358E8 7E FF BB 78 */ mr r31, r23 lbl_80339C8C: /* 80339C8C 003358EC 3E A0 80 61 */ lis r21, lbl_80610BD0@ha /* 80339C90 003358F0 3B 80 00 00 */ li r28, 0 /* 80339C94 003358F4 3A B5 0B D0 */ addi r21, r21, lbl_80610BD0@l /* 80339C98 003358F8 80 15 00 4C */ lwz r0, 0x4c(r21) /* 80339C9C 003358FC 2C 00 00 00 */ cmpwi r0, 0 /* 80339CA0 00335900 40 82 00 20 */ bne lbl_80339CC0 /* 80339CA4 00335904 80 75 00 48 */ lwz r3, 0x48(r21) /* 80339CA8 00335908 38 03 00 01 */ addi r0, r3, 1 /* 80339CAC 0033590C 90 15 00 48 */ stw r0, 0x48(r21) /* 80339CB0 00335910 4B FF F3 71 */ bl current_time_hires /* 80339CB4 00335914 38 00 00 01 */ li r0, 1 /* 80339CB8 00335918 90 75 00 40 */ stw r3, 0x40(r21) /* 80339CBC 0033591C 90 15 00 4C */ stw r0, 0x4c(r21) lbl_80339CC0: /* 80339CC0 00335920 28 1F 00 00 */ cmplwi r31, 0 /* 80339CC4 00335924 7E C7 B3 78 */ mr r7, r22 /* 80339CC8 00335928 7F 08 C3 78 */ mr r8, r24 /* 80339CCC 0033592C 7F 49 D3 78 */ mr r9, r26 /* 80339CD0 00335930 40 81 00 F4 */ ble lbl_80339DC4 /* 80339CD4 00335934 57 E0 F0 BF */ rlwinm. r0, r31, 0x1e, 2, 0x1f /* 80339CD8 00335938 7F FC FB 78 */ mr r28, r31 /* 80339CDC 0033593C 7C 09 03 A6 */ mtctr r0 /* 80339CE0 00335940 41 82 00 AC */ beq lbl_80339D8C lbl_80339CE4: /* 80339CE4 00335944 80 C8 00 00 */ lwz r6, 0(r8) /* 80339CE8 00335948 80 A7 00 00 */ lwz r5, 0(r7) /* 80339CEC 0033594C 7C 65 30 10 */ subfc r3, r5, r6 /* 80339CF0 00335950 80 A7 00 04 */ lwz r5, 4(r7) /* 80339CF4 00335954 7C 86 31 10 */ subfe r4, r6, r6 /* 80339CF8 00335958 80 C8 00 04 */ lwz r6, 4(r8) /* 80339CFC 0033595C 7C 7D 18 10 */ subfc r3, r29, r3 /* 80339D00 00335960 7C 1E 21 10 */ subfe r0, r30, r4 /* 80339D04 00335964 90 69 00 00 */ stw r3, 0(r9) /* 80339D08 00335968 7C 65 30 10 */ subfc r3, r5, r6 /* 80339D0C 0033596C 80 A7 00 08 */ lwz r5, 8(r7) /* 80339D10 00335970 7C 86 31 10 */ subfe r4, r6, r6 /* 80339D14 00335974 54 1D 0F FE */ srwi r29, r0, 0x1f /* 80339D18 00335978 7C 7D 18 10 */ subfc r3, r29, r3 /* 80339D1C 0033597C 3B C0 00 00 */ li r30, 0 /* 80339D20 00335980 7C 1E 21 10 */ subfe r0, r30, r4 /* 80339D24 00335984 80 C8 00 08 */ lwz r6, 8(r8) /* 80339D28 00335988 90 69 00 04 */ stw r3, 4(r9) /* 80339D2C 0033598C 54 1D 0F FE */ srwi r29, r0, 0x1f /* 80339D30 00335990 7C 65 30 10 */ subfc r3, r5, r6 /* 80339D34 00335994 80 A7 00 0C */ lwz r5, 0xc(r7) /* 80339D38 00335998 7C 86 31 10 */ subfe r4, r6, r6 /* 80339D3C 0033599C 80 C8 00 0C */ lwz r6, 0xc(r8) /* 80339D40 003359A0 7C 7D 18 10 */ subfc r3, r29, r3 /* 80339D44 003359A4 3B C0 00 00 */ li r30, 0 /* 80339D48 003359A8 7C 1E 21 10 */ subfe r0, r30, r4 /* 80339D4C 003359AC 90 69 00 08 */ stw r3, 8(r9) /* 80339D50 003359B0 7C 65 30 10 */ subfc r3, r5, r6 /* 80339D54 003359B4 3B C0 00 00 */ li r30, 0 /* 80339D58 003359B8 54 1D 0F FE */ srwi r29, r0, 0x1f /* 80339D5C 003359BC 7C 86 31 10 */ subfe r4, r6, r6 /* 80339D60 003359C0 7C 7D 18 10 */ subfc r3, r29, r3 /* 80339D64 003359C4 38 E7 00 10 */ addi r7, r7, 0x10 /* 80339D68 003359C8 7C 1E 21 10 */ subfe r0, r30, r4 /* 80339D6C 003359CC 90 69 00 0C */ stw r3, 0xc(r9) /* 80339D70 003359D0 54 1D 0F FE */ srwi r29, r0, 0x1f /* 80339D74 003359D4 3B C0 00 00 */ li r30, 0 /* 80339D78 003359D8 39 08 00 10 */ addi r8, r8, 0x10 /* 80339D7C 003359DC 39 29 00 10 */ addi r9, r9, 0x10 /* 80339D80 003359E0 42 00 FF 64 */ bdnz lbl_80339CE4 /* 80339D84 003359E4 73 FF 00 03 */ andi. r31, r31, 3 /* 80339D88 003359E8 41 82 00 3C */ beq lbl_80339DC4 lbl_80339D8C: /* 80339D8C 003359EC 7F E9 03 A6 */ mtctr r31 lbl_80339D90: /* 80339D90 003359F0 80 C8 00 00 */ lwz r6, 0(r8) /* 80339D94 003359F4 39 08 00 04 */ addi r8, r8, 4 /* 80339D98 003359F8 80 A7 00 00 */ lwz r5, 0(r7) /* 80339D9C 003359FC 38 E7 00 04 */ addi r7, r7, 4 /* 80339DA0 00335A00 7C 65 30 10 */ subfc r3, r5, r6 /* 80339DA4 00335A04 7C 86 31 10 */ subfe r4, r6, r6 /* 80339DA8 00335A08 7C 7D 18 10 */ subfc r3, r29, r3 /* 80339DAC 00335A0C 7C 1E 21 10 */ subfe r0, r30, r4 /* 80339DB0 00335A10 90 69 00 00 */ stw r3, 0(r9) /* 80339DB4 00335A14 54 1D 0F FE */ srwi r29, r0, 0x1f /* 80339DB8 00335A18 3B C0 00 00 */ li r30, 0 /* 80339DBC 00335A1C 39 29 00 04 */ addi r9, r9, 4 /* 80339DC0 00335A20 42 00 FF D0 */ bdnz lbl_80339D90 lbl_80339DC4: /* 80339DC4 00335A24 7C 1C C8 40 */ cmplw r28, r25 /* 80339DC8 00335A28 57 80 10 3A */ slwi r0, r28, 2 /* 80339DCC 00335A2C 7D 18 02 14 */ add r8, r24, r0 /* 80339DD0 00335A30 7C 9C C8 50 */ subf r4, r28, r25 /* 80339DD4 00335A34 7D 3A 02 14 */ add r9, r26, r0 /* 80339DD8 00335A38 38 C0 00 00 */ li r6, 0 /* 80339DDC 00335A3C 40 80 00 B4 */ bge lbl_80339E90 /* 80339DE0 00335A40 54 83 F0 BF */ rlwinm. r3, r4, 0x1e, 2, 0x1f /* 80339DE4 00335A44 7C 80 23 78 */ mr r0, r4 /* 80339DE8 00335A48 7C 69 03 A6 */ mtctr r3 /* 80339DEC 00335A4C 41 82 00 78 */ beq lbl_80339E64 lbl_80339DF0: /* 80339DF0 00335A50 80 E8 00 00 */ lwz r7, 0(r8) /* 80339DF4 00335A54 7C BD 38 10 */ subfc r5, r29, r7 /* 80339DF8 00335A58 80 E8 00 04 */ lwz r7, 4(r8) /* 80339DFC 00335A5C 7C 7E 31 10 */ subfe r3, r30, r6 /* 80339E00 00335A60 90 A9 00 00 */ stw r5, 0(r9) /* 80339E04 00335A64 54 7D 0F FE */ srwi r29, r3, 0x1f /* 80339E08 00335A68 3B C0 00 00 */ li r30, 0 /* 80339E0C 00335A6C 7C BD 38 10 */ subfc r5, r29, r7 /* 80339E10 00335A70 80 E8 00 08 */ lwz r7, 8(r8) /* 80339E14 00335A74 7C 7E 31 10 */ subfe r3, r30, r6 /* 80339E18 00335A78 90 A9 00 04 */ stw r5, 4(r9) /* 80339E1C 00335A7C 54 7D 0F FE */ srwi r29, r3, 0x1f /* 80339E20 00335A80 3B C0 00 00 */ li r30, 0 /* 80339E24 00335A84 7C BD 38 10 */ subfc r5, r29, r7 /* 80339E28 00335A88 80 E8 00 0C */ lwz r7, 0xc(r8) /* 80339E2C 00335A8C 7C 7E 31 10 */ subfe r3, r30, r6 /* 80339E30 00335A90 90 A9 00 08 */ stw r5, 8(r9) /* 80339E34 00335A94 54 7D 0F FE */ srwi r29, r3, 0x1f /* 80339E38 00335A98 3B C0 00 00 */ li r30, 0 /* 80339E3C 00335A9C 7C BD 38 10 */ subfc r5, r29, r7 /* 80339E40 00335AA0 39 08 00 10 */ addi r8, r8, 0x10 /* 80339E44 00335AA4 7C 7E 31 10 */ subfe r3, r30, r6 /* 80339E48 00335AA8 90 A9 00 0C */ stw r5, 0xc(r9) /* 80339E4C 00335AAC 54 7D 0F FE */ srwi r29, r3, 0x1f /* 80339E50 00335AB0 3B C0 00 00 */ li r30, 0 /* 80339E54 00335AB4 39 29 00 10 */ addi r9, r9, 0x10 /* 80339E58 00335AB8 42 00 FF 98 */ bdnz lbl_80339DF0 /* 80339E5C 00335ABC 70 84 00 03 */ andi. r4, r4, 3 /* 80339E60 00335AC0 41 82 00 2C */ beq lbl_80339E8C lbl_80339E64: /* 80339E64 00335AC4 7C 89 03 A6 */ mtctr r4 lbl_80339E68: /* 80339E68 00335AC8 80 E8 00 00 */ lwz r7, 0(r8) /* 80339E6C 00335ACC 39 08 00 04 */ addi r8, r8, 4 /* 80339E70 00335AD0 7C BD 38 10 */ subfc r5, r29, r7 /* 80339E74 00335AD4 7C 7E 31 10 */ subfe r3, r30, r6 /* 80339E78 00335AD8 90 A9 00 00 */ stw r5, 0(r9) /* 80339E7C 00335ADC 54 7D 0F FE */ srwi r29, r3, 0x1f /* 80339E80 00335AE0 3B C0 00 00 */ li r30, 0 /* 80339E84 00335AE4 39 29 00 04 */ addi r9, r9, 4 /* 80339E88 00335AE8 42 00 FF E0 */ bdnz lbl_80339E68 lbl_80339E8C: /* 80339E8C 00335AEC 7F 9C 02 14 */ add r28, r28, r0 lbl_80339E90: /* 80339E90 00335AF0 7F A0 F3 79 */ or. r0, r29, r30 /* 80339E94 00335AF4 41 82 00 40 */ beq lbl_80339ED4 /* 80339E98 00335AF8 3E C0 80 61 */ lis r22, lbl_80610BD0@ha /* 80339E9C 00335AFC 3A D6 0B D0 */ addi r22, r22, lbl_80610BD0@l /* 80339EA0 00335B00 80 16 00 4C */ lwz r0, 0x4c(r22) /* 80339EA4 00335B04 28 00 00 01 */ cmplwi r0, 1 /* 80339EA8 00335B08 40 82 00 24 */ bne lbl_80339ECC /* 80339EAC 00335B0C 4B FF F1 75 */ bl current_time_hires /* 80339EB0 00335B10 80 B6 00 40 */ lwz r5, 0x40(r22) /* 80339EB4 00335B14 38 00 00 00 */ li r0, 0 /* 80339EB8 00335B18 80 96 00 44 */ lwz r4, 0x44(r22) /* 80339EBC 00335B1C 7C 65 18 50 */ subf r3, r5, r3 /* 80339EC0 00335B20 90 16 00 4C */ stw r0, 0x4c(r22) /* 80339EC4 00335B24 7C 04 1A 14 */ add r0, r4, r3 /* 80339EC8 00335B28 90 16 00 44 */ stw r0, 0x44(r22) lbl_80339ECC: /* 80339ECC 00335B2C 38 60 00 00 */ li r3, 0 /* 80339ED0 00335B30 48 00 00 AC */ b lbl_80339F7C lbl_80339ED4: /* 80339ED4 00335B34 57 83 10 3A */ slwi r3, r28, 2 /* 80339ED8 00335B38 7C 1C B8 50 */ subf r0, r28, r23 /* 80339EDC 00335B3C 7C 76 1A 14 */ add r3, r22, r3 /* 80339EE0 00335B40 7C 09 03 A6 */ mtctr r0 /* 80339EE4 00335B44 7C 1C B8 40 */ cmplw r28, r23 /* 80339EE8 00335B48 40 80 00 58 */ bge lbl_80339F40 lbl_80339EEC: /* 80339EEC 00335B4C 80 03 00 00 */ lwz r0, 0(r3) /* 80339EF0 00335B50 2C 00 00 00 */ cmpwi r0, 0 /* 80339EF4 00335B54 41 82 00 40 */ beq lbl_80339F34 /* 80339EF8 00335B58 3E C0 80 61 */ lis r22, lbl_80610BD0@ha /* 80339EFC 00335B5C 3A D6 0B D0 */ addi r22, r22, lbl_80610BD0@l /* 80339F00 00335B60 80 16 00 4C */ lwz r0, 0x4c(r22) /* 80339F04 00335B64 28 00 00 01 */ cmplwi r0, 1 /* 80339F08 00335B68 40 82 00 24 */ bne lbl_80339F2C /* 80339F0C 00335B6C 4B FF F1 15 */ bl current_time_hires /* 80339F10 00335B70 80 B6 00 40 */ lwz r5, 0x40(r22) /* 80339F14 00335B74 38 00 00 00 */ li r0, 0 /* 80339F18 00335B78 80 96 00 44 */ lwz r4, 0x44(r22) /* 80339F1C 00335B7C 7C 65 18 50 */ subf r3, r5, r3 /* 80339F20 00335B80 90 16 00 4C */ stw r0, 0x4c(r22) /* 80339F24 00335B84 7C 04 1A 14 */ add r0, r4, r3 /* 80339F28 00335B88 90 16 00 44 */ stw r0, 0x44(r22) lbl_80339F2C: /* 80339F2C 00335B8C 38 60 00 00 */ li r3, 0 /* 80339F30 00335B90 48 00 00 4C */ b lbl_80339F7C lbl_80339F34: /* 80339F34 00335B94 38 63 00 04 */ addi r3, r3, 4 /* 80339F38 00335B98 3B 9C 00 01 */ addi r28, r28, 1 /* 80339F3C 00335B9C 42 00 FF B0 */ bdnz lbl_80339EEC lbl_80339F40: /* 80339F40 00335BA0 3E C0 80 61 */ lis r22, lbl_80610BD0@ha /* 80339F44 00335BA4 93 3B 00 00 */ stw r25, 0(r27) /* 80339F48 00335BA8 3A D6 0B D0 */ addi r22, r22, lbl_80610BD0@l /* 80339F4C 00335BAC 80 16 00 4C */ lwz r0, 0x4c(r22) /* 80339F50 00335BB0 28 00 00 01 */ cmplwi r0, 1 /* 80339F54 00335BB4 40 82 00 24 */ bne lbl_80339F78 /* 80339F58 00335BB8 4B FF F0 C9 */ bl current_time_hires /* 80339F5C 00335BBC 80 B6 00 40 */ lwz r5, 0x40(r22) /* 80339F60 00335BC0 38 00 00 00 */ li r0, 0 /* 80339F64 00335BC4 80 96 00 44 */ lwz r4, 0x44(r22) /* 80339F68 00335BC8 7C 65 18 50 */ subf r3, r5, r3 /* 80339F6C 00335BCC 90 16 00 4C */ stw r0, 0x4c(r22) /* 80339F70 00335BD0 7C 04 1A 14 */ add r0, r4, r3 /* 80339F74 00335BD4 90 16 00 44 */ stw r0, 0x44(r22) lbl_80339F78: /* 80339F78 00335BD8 38 60 00 01 */ li r3, 1 lbl_80339F7C: /* 80339F7C 00335BDC 39 61 00 40 */ addi r11, r1, 0x40 /* 80339F80 00335BE0 4B E8 D1 DD */ bl _restgpr_21 /* 80339F84 00335BE4 80 01 00 44 */ lwz r0, 0x44(r1) /* 80339F88 00335BE8 7C 08 03 A6 */ mtlr r0 /* 80339F8C 00335BEC 38 21 00 40 */ addi r1, r1, 0x40 /* 80339F90 00335BF0 4E 80 00 20 */ blr .global gsiLargeIntMult gsiLargeIntMult: /* 80339F94 00335BF4 94 21 FE C0 */ stwu r1, -0x140(r1) /* 80339F98 00335BF8 7C 08 02 A6 */ mflr r0 /* 80339F9C 00335BFC 90 01 01 44 */ stw r0, 0x144(r1) /* 80339FA0 00335C00 39 61 01 40 */ addi r11, r1, 0x140 /* 80339FA4 00335C04 4B E8 D1 75 */ bl _savegpr_23 /* 80339FA8 00335C08 7C 79 1B 78 */ mr r25, r3 /* 80339FAC 00335C0C 7C 9A 23 78 */ mr r26, r4 /* 80339FB0 00335C10 7C BB 2B 78 */ mr r27, r5 /* 80339FB4 00335C14 7C DC 33 78 */ mr r28, r6 /* 80339FB8 00335C18 7C FD 3B 78 */ mr r29, r7 /* 80339FBC 00335C1C 7D 1E 43 78 */ mr r30, r8 /* 80339FC0 00335C20 7D 3F 4B 78 */ mr r31, r9 /* 80339FC4 00335C24 38 61 00 08 */ addi r3, r1, 8 /* 80339FC8 00335C28 38 80 00 00 */ li r4, 0 /* 80339FCC 00335C2C 38 A0 01 04 */ li r5, 0x104 /* 80339FD0 00335C30 4B CC A1 35 */ bl memset /* 80339FD4 00335C34 38 00 00 00 */ li r0, 0 /* 80339FD8 00335C38 3E E0 80 61 */ lis r23, lbl_80610BD0@ha /* 80339FDC 00335C3C 90 1E 00 00 */ stw r0, 0(r30) /* 80339FE0 00335C40 3B 17 0B D0 */ addi r24, r23, lbl_80610BD0@l /* 80339FE4 00335C44 80 18 00 0C */ lwz r0, 0xc(r24) /* 80339FE8 00335C48 2C 00 00 00 */ cmpwi r0, 0 /* 80339FEC 00335C4C 40 82 00 20 */ bne lbl_8033A00C /* 80339FF0 00335C50 80 78 00 08 */ lwz r3, 8(r24) /* 80339FF4 00335C54 38 03 00 01 */ addi r0, r3, 1 /* 80339FF8 00335C58 90 18 00 08 */ stw r0, 8(r24) /* 80339FFC 00335C5C 4B FF F0 25 */ bl current_time_hires /* 8033A000 00335C60 38 00 00 01 */ li r0, 1 /* 8033A004 00335C64 90 77 0B D0 */ stw r3, 0xbd0(r23) /* 8033A008 00335C68 90 18 00 0C */ stw r0, 0xc(r24) lbl_8033A00C: /* 8033A00C 00335C6C 38 A0 00 00 */ li r5, 0 /* 8033A010 00335C70 48 00 01 20 */ b lbl_8033A130 lbl_8033A014: /* 8033A014 00335C74 80 1B 00 00 */ lwz r0, 0(r27) /* 8033A018 00335C78 2C 00 00 00 */ cmpwi r0, 0 /* 8033A01C 00335C7C 41 82 01 0C */ beq lbl_8033A128 /* 8033A020 00335C80 7F 24 CB 78 */ mr r4, r25 /* 8033A024 00335C84 38 C0 00 00 */ li r6, 0 /* 8033A028 00335C88 7F 49 03 A6 */ mtctr r26 /* 8033A02C 00335C8C 28 1A 00 00 */ cmplwi r26, 0 /* 8033A030 00335C90 40 81 00 F8 */ ble lbl_8033A128 lbl_8033A034: /* 8033A034 00335C94 80 64 00 00 */ lwz r3, 0(r4) /* 8033A038 00335C98 7D 25 32 14 */ add r9, r5, r6 /* 8033A03C 00335C9C 80 1B 00 00 */ lwz r0, 0(r27) /* 8033A040 00335CA0 7C 09 F8 40 */ cmplw r9, r31 /* 8033A044 00335CA4 7C E3 00 16 */ mulhwu r7, r3, r0 /* 8033A048 00335CA8 7D 03 01 D6 */ mullw r8, r3, r0 /* 8033A04C 00335CAC 41 80 00 40 */ blt lbl_8033A08C /* 8033A050 00335CB0 3F 40 80 61 */ lis r26, lbl_80610BD0@ha /* 8033A054 00335CB4 3B 3A 0B D0 */ addi r25, r26, lbl_80610BD0@l /* 8033A058 00335CB8 80 19 00 0C */ lwz r0, 0xc(r25) /* 8033A05C 00335CBC 28 00 00 01 */ cmplwi r0, 1 /* 8033A060 00335CC0 40 82 00 24 */ bne lbl_8033A084 /* 8033A064 00335CC4 4B FF EF BD */ bl current_time_hires /* 8033A068 00335CC8 80 BA 0B D0 */ lwz r5, 0xbd0(r26) /* 8033A06C 00335CCC 38 00 00 00 */ li r0, 0 /* 8033A070 00335CD0 80 99 00 04 */ lwz r4, 4(r25) /* 8033A074 00335CD4 7C 65 18 50 */ subf r3, r5, r3 /* 8033A078 00335CD8 90 19 00 0C */ stw r0, 0xc(r25) /* 8033A07C 00335CDC 7C 04 1A 14 */ add r0, r4, r3 /* 8033A080 00335CE0 90 19 00 04 */ stw r0, 4(r25) lbl_8033A084: /* 8033A084 00335CE4 38 60 00 00 */ li r3, 0 /* 8033A088 00335CE8 48 00 01 2C */ b lbl_8033A1B4 lbl_8033A08C: /* 8033A08C 00335CEC 55 20 10 3A */ slwi r0, r9, 2 /* 8033A090 00335CF0 38 61 00 08 */ addi r3, r1, 8 /* 8033A094 00335CF4 7C 63 02 14 */ add r3, r3, r0 /* 8033A098 00335CF8 48 00 00 6C */ b lbl_8033A104 lbl_8033A09C: /* 8033A09C 00335CFC 80 03 00 04 */ lwz r0, 4(r3) /* 8033A0A0 00335D00 39 29 00 01 */ addi r9, r9, 1 /* 8033A0A4 00335D04 7C 09 F8 40 */ cmplw r9, r31 /* 8033A0A8 00335D08 7C 08 00 14 */ addc r0, r8, r0 /* 8033A0AC 00335D0C 94 03 00 04 */ stwu r0, 4(r3) /* 8033A0B0 00335D10 7D 07 01 94 */ addze r8, r7 /* 8033A0B4 00335D14 38 E0 00 00 */ li r7, 0 /* 8033A0B8 00335D18 41 81 00 10 */ bgt lbl_8033A0C8 /* 8033A0BC 00335D1C 40 82 00 48 */ bne lbl_8033A104 /* 8033A0C0 00335D20 2C 08 00 00 */ cmpwi r8, 0 /* 8033A0C4 00335D24 41 82 00 40 */ beq lbl_8033A104 lbl_8033A0C8: /* 8033A0C8 00335D28 3F 40 80 61 */ lis r26, lbl_80610BD0@ha /* 8033A0CC 00335D2C 3B 3A 0B D0 */ addi r25, r26, lbl_80610BD0@l /* 8033A0D0 00335D30 80 19 00 0C */ lwz r0, 0xc(r25) /* 8033A0D4 00335D34 28 00 00 01 */ cmplwi r0, 1 /* 8033A0D8 00335D38 40 82 00 24 */ bne lbl_8033A0FC /* 8033A0DC 00335D3C 4B FF EF 45 */ bl current_time_hires /* 8033A0E0 00335D40 80 BA 0B D0 */ lwz r5, 0xbd0(r26) /* 8033A0E4 00335D44 38 00 00 00 */ li r0, 0 /* 8033A0E8 00335D48 80 99 00 04 */ lwz r4, 4(r25) /* 8033A0EC 00335D4C 7C 65 18 50 */ subf r3, r5, r3 /* 8033A0F0 00335D50 90 19 00 0C */ stw r0, 0xc(r25) /* 8033A0F4 00335D54 7C 04 1A 14 */ add r0, r4, r3 /* 8033A0F8 00335D58 90 19 00 04 */ stw r0, 4(r25) lbl_8033A0FC: /* 8033A0FC 00335D5C 38 60 00 00 */ li r3, 0 /* 8033A100 00335D60 48 00 00 B4 */ b lbl_8033A1B4 lbl_8033A104: /* 8033A104 00335D64 7D 00 3B 79 */ or. r0, r8, r7 /* 8033A108 00335D68 40 82 FF 94 */ bne lbl_8033A09C /* 8033A10C 00335D6C 80 01 00 08 */ lwz r0, 8(r1) /* 8033A110 00335D70 7C 09 00 40 */ cmplw r9, r0 /* 8033A114 00335D74 40 81 00 08 */ ble lbl_8033A11C /* 8033A118 00335D78 91 21 00 08 */ stw r9, 8(r1) lbl_8033A11C: /* 8033A11C 00335D7C 38 84 00 04 */ addi r4, r4, 4 /* 8033A120 00335D80 38 C6 00 01 */ addi r6, r6, 1 /* 8033A124 00335D84 42 00 FF 10 */ bdnz lbl_8033A034 lbl_8033A128: /* 8033A128 00335D88 3B 7B 00 04 */ addi r27, r27, 4 /* 8033A12C 00335D8C 38 A5 00 01 */ addi r5, r5, 1 lbl_8033A130: /* 8033A130 00335D90 7C 05 E0 40 */ cmplw r5, r28 /* 8033A134 00335D94 41 80 FE E0 */ blt lbl_8033A014 /* 8033A138 00335D98 38 61 00 08 */ addi r3, r1, 8 /* 8033A13C 00335D9C 48 00 00 10 */ b lbl_8033A14C lbl_8033A140: /* 8033A140 00335DA0 80 81 00 08 */ lwz r4, 8(r1) /* 8033A144 00335DA4 38 04 FF FF */ addi r0, r4, -1 /* 8033A148 00335DA8 90 01 00 08 */ stw r0, 8(r1) lbl_8033A14C: /* 8033A14C 00335DAC 80 A1 00 08 */ lwz r5, 8(r1) /* 8033A150 00335DB0 2C 05 00 00 */ cmpwi r5, 0 /* 8033A154 00335DB4 41 82 00 14 */ beq lbl_8033A168 /* 8033A158 00335DB8 54 A0 10 3A */ slwi r0, r5, 2 /* 8033A15C 00335DBC 7C 03 00 2E */ lwzx r0, r3, r0 /* 8033A160 00335DC0 2C 00 00 00 */ cmpwi r0, 0 /* 8033A164 00335DC4 41 82 FF DC */ beq lbl_8033A140 lbl_8033A168: /* 8033A168 00335DC8 90 BE 00 00 */ stw r5, 0(r30) /* 8033A16C 00335DCC 7F A3 EB 78 */ mr r3, r29 /* 8033A170 00335DD0 38 81 00 0C */ addi r4, r1, 0xc /* 8033A174 00335DD4 54 A5 10 3A */ slwi r5, r5, 2 /* 8033A178 00335DD8 4B CC 9E 89 */ bl memcpy /* 8033A17C 00335DDC 3F 40 80 61 */ lis r26, lbl_80610BD0@ha /* 8033A180 00335DE0 3B 3A 0B D0 */ addi r25, r26, lbl_80610BD0@l /* 8033A184 00335DE4 80 19 00 0C */ lwz r0, 0xc(r25) /* 8033A188 00335DE8 28 00 00 01 */ cmplwi r0, 1 /* 8033A18C 00335DEC 40 82 00 24 */ bne lbl_8033A1B0 /* 8033A190 00335DF0 4B FF EE 91 */ bl current_time_hires /* 8033A194 00335DF4 80 BA 0B D0 */ lwz r5, 0xbd0(r26) /* 8033A198 00335DF8 38 00 00 00 */ li r0, 0 /* 8033A19C 00335DFC 80 99 00 04 */ lwz r4, 4(r25) /* 8033A1A0 00335E00 7C 65 18 50 */ subf r3, r5, r3 /* 8033A1A4 00335E04 90 19 00 0C */ stw r0, 0xc(r25) /* 8033A1A8 00335E08 7C 04 1A 14 */ add r0, r4, r3 /* 8033A1AC 00335E0C 90 19 00 04 */ stw r0, 4(r25) lbl_8033A1B0: /* 8033A1B0 00335E10 38 60 00 01 */ li r3, 1 lbl_8033A1B4: /* 8033A1B4 00335E14 39 61 01 40 */ addi r11, r1, 0x140 /* 8033A1B8 00335E18 4B E8 CF AD */ bl _restgpr_23 /* 8033A1BC 00335E1C 80 01 01 44 */ lwz r0, 0x144(r1) /* 8033A1C0 00335E20 7C 08 03 A6 */ mtlr r0 /* 8033A1C4 00335E24 38 21 01 40 */ addi r1, r1, 0x140 /* 8033A1C8 00335E28 4E 80 00 20 */ blr .global gsiLargeIntDiv gsiLargeIntDiv: /* 8033A1CC 00335E2C 94 21 FC B0 */ stwu r1, -0x350(r1) /* 8033A1D0 00335E30 7C 08 02 A6 */ mflr r0 /* 8033A1D4 00335E34 90 01 03 54 */ stw r0, 0x354(r1) /* 8033A1D8 00335E38 39 61 03 50 */ addi r11, r1, 0x350 /* 8033A1DC 00335E3C 4B E8 CF 2D */ bl _savegpr_19 /* 8033A1E0 00335E40 3E 60 80 61 */ lis r19, lbl_80610BD0@ha /* 8033A1E4 00335E44 82 E5 00 00 */ lwz r23, 0(r5) /* 8033A1E8 00335E48 3A 73 0B D0 */ addi r19, r19, lbl_80610BD0@l /* 8033A1EC 00335E4C 7C 9A 23 78 */ mr r26, r4 /* 8033A1F0 00335E50 80 13 00 5C */ lwz r0, 0x5c(r19) /* 8033A1F4 00335E54 7C 79 1B 78 */ mr r25, r3 /* 8033A1F8 00335E58 7C D4 33 78 */ mr r20, r6 /* 8033A1FC 00335E5C 7C F5 3B 78 */ mr r21, r7 /* 8033A200 00335E60 2C 00 00 00 */ cmpwi r0, 0 /* 8033A204 00335E64 3B 05 00 04 */ addi r24, r5, 4 /* 8033A208 00335E68 3B 60 00 1F */ li r27, 0x1f /* 8033A20C 00335E6C 3A C0 00 00 */ li r22, 0 /* 8033A210 00335E70 40 82 00 20 */ bne lbl_8033A230 /* 8033A214 00335E74 80 73 00 58 */ lwz r3, 0x58(r19) /* 8033A218 00335E78 38 03 00 01 */ addi r0, r3, 1 /* 8033A21C 00335E7C 90 13 00 58 */ stw r0, 0x58(r19) /* 8033A220 00335E80 4B FF EE 01 */ bl current_time_hires /* 8033A224 00335E84 38 00 00 01 */ li r0, 1 /* 8033A228 00335E88 90 73 00 50 */ stw r3, 0x50(r19) /* 8033A22C 00335E8C 90 13 00 5C */ stw r0, 0x5c(r19) lbl_8033A230: /* 8033A230 00335E90 28 1A 00 40 */ cmplwi r26, 0x40 /* 8033A234 00335E94 40 81 00 14 */ ble lbl_8033A248 /* 8033A238 00335E98 2C 14 00 00 */ cmpwi r20, 0 /* 8033A23C 00335E9C 41 82 00 0C */ beq lbl_8033A248 /* 8033A240 00335EA0 38 60 00 00 */ li r3, 0 /* 8033A244 00335EA4 48 00 04 20 */ b lbl_8033A664 lbl_8033A248: /* 8033A248 00335EA8 57 40 10 3A */ slwi r0, r26, 2 /* 8033A24C 00335EAC 7C 79 02 14 */ add r3, r25, r0 /* 8033A250 00335EB0 48 00 00 0C */ b lbl_8033A25C lbl_8033A254: /* 8033A254 00335EB4 38 63 FF FC */ addi r3, r3, -4 /* 8033A258 00335EB8 3B 5A FF FF */ addi r26, r26, -1 lbl_8033A25C: /* 8033A25C 00335EBC 2C 1A 00 00 */ cmpwi r26, 0 /* 8033A260 00335EC0 41 82 00 10 */ beq lbl_8033A270 /* 8033A264 00335EC4 80 03 FF FC */ lwz r0, -4(r3) /* 8033A268 00335EC8 2C 00 00 00 */ cmpwi r0, 0 /* 8033A26C 00335ECC 41 82 FF E8 */ beq lbl_8033A254 lbl_8033A270: /* 8033A270 00335ED0 56 E0 10 3A */ slwi r0, r23, 2 /* 8033A274 00335ED4 7C 78 02 14 */ add r3, r24, r0 /* 8033A278 00335ED8 48 00 00 0C */ b lbl_8033A284 lbl_8033A27C: /* 8033A27C 00335EDC 38 63 FF FC */ addi r3, r3, -4 /* 8033A280 00335EE0 3A F7 FF FF */ addi r23, r23, -1 lbl_8033A284: /* 8033A284 00335EE4 2C 17 00 00 */ cmpwi r23, 0 /* 8033A288 00335EE8 41 82 00 10 */ beq lbl_8033A298 /* 8033A28C 00335EEC 80 03 FF FC */ lwz r0, -4(r3) /* 8033A290 00335EF0 2C 00 00 00 */ cmpwi r0, 0 /* 8033A294 00335EF4 41 82 FF E8 */ beq lbl_8033A27C lbl_8033A298: /* 8033A298 00335EF8 57 53 10 3A */ slwi r19, r26, 2 /* 8033A29C 00335EFC 7F 24 CB 78 */ mr r4, r25 /* 8033A2A0 00335F00 7E 65 9B 78 */ mr r5, r19 /* 8033A2A4 00335F04 38 61 00 10 */ addi r3, r1, 0x10 /* 8033A2A8 00335F08 4B CC 9D 59 */ bl memcpy /* 8033A2AC 00335F0C 38 61 02 10 */ addi r3, r1, 0x210 /* 8033A2B0 00335F10 38 80 00 00 */ li r4, 0 /* 8033A2B4 00335F14 38 A0 01 04 */ li r5, 0x104 /* 8033A2B8 00335F18 4B CC 9E 4D */ bl memset /* 8033A2BC 00335F1C 2C 1A 00 00 */ cmpwi r26, 0 /* 8033A2C0 00335F20 41 82 00 0C */ beq lbl_8033A2CC /* 8033A2C4 00335F24 2C 17 00 00 */ cmpwi r23, 0 /* 8033A2C8 00335F28 40 82 00 78 */ bne lbl_8033A340 lbl_8033A2CC: /* 8033A2CC 00335F2C 2C 14 00 00 */ cmpwi r20, 0 /* 8033A2D0 00335F30 41 82 00 10 */ beq lbl_8033A2E0 /* 8033A2D4 00335F34 38 00 00 00 */ li r0, 0 /* 8033A2D8 00335F38 90 14 00 04 */ stw r0, 4(r20) /* 8033A2DC 00335F3C 90 14 00 00 */ stw r0, 0(r20) lbl_8033A2E0: /* 8033A2E0 00335F40 2C 15 00 00 */ cmpwi r21, 0 /* 8033A2E4 00335F44 41 82 00 10 */ beq lbl_8033A2F4 /* 8033A2E8 00335F48 38 00 00 00 */ li r0, 0 /* 8033A2EC 00335F4C 90 15 00 04 */ stw r0, 4(r21) /* 8033A2F0 00335F50 90 15 00 00 */ stw r0, 0(r21) lbl_8033A2F4: /* 8033A2F4 00335F54 3E 60 80 61 */ lis r19, lbl_80610BD0@ha /* 8033A2F8 00335F58 3A 73 0B D0 */ addi r19, r19, lbl_80610BD0@l /* 8033A2FC 00335F5C 80 13 00 5C */ lwz r0, 0x5c(r19) /* 8033A300 00335F60 28 00 00 01 */ cmplwi r0, 1 /* 8033A304 00335F64 40 82 00 24 */ bne lbl_8033A328 /* 8033A308 00335F68 4B FF ED 19 */ bl current_time_hires /* 8033A30C 00335F6C 80 B3 00 50 */ lwz r5, 0x50(r19) /* 8033A310 00335F70 38 00 00 00 */ li r0, 0 /* 8033A314 00335F74 80 93 00 54 */ lwz r4, 0x54(r19) /* 8033A318 00335F78 7C 65 18 50 */ subf r3, r5, r3 /* 8033A31C 00335F7C 90 13 00 5C */ stw r0, 0x5c(r19) /* 8033A320 00335F80 7C 04 1A 14 */ add r0, r4, r3 /* 8033A324 00335F84 90 13 00 54 */ stw r0, 0x54(r19) lbl_8033A328: /* 8033A328 00335F88 2C 17 00 00 */ cmpwi r23, 0 /* 8033A32C 00335F8C 40 82 00 0C */ bne lbl_8033A338 /* 8033A330 00335F90 38 60 00 00 */ li r3, 0 /* 8033A334 00335F94 48 00 03 30 */ b lbl_8033A664 lbl_8033A338: /* 8033A338 00335F98 38 60 00 01 */ li r3, 1 /* 8033A33C 00335F9C 48 00 03 28 */ b lbl_8033A664 lbl_8033A340: /* 8033A340 00335FA0 7F 44 D3 78 */ mr r4, r26 /* 8033A344 00335FA4 7F 05 C3 78 */ mr r5, r24 /* 8033A348 00335FA8 7E E6 BB 78 */ mr r6, r23 /* 8033A34C 00335FAC 38 61 00 10 */ addi r3, r1, 0x10 /* 8033A350 00335FB0 4B FF F5 B5 */ bl gsiLargeIntCompare /* 8033A354 00335FB4 2C 03 FF FF */ cmpwi r3, -1 /* 8033A358 00335FB8 40 82 00 68 */ bne lbl_8033A3C0 /* 8033A35C 00335FBC 2C 14 00 00 */ cmpwi r20, 0 /* 8033A360 00335FC0 41 82 00 10 */ beq lbl_8033A370 /* 8033A364 00335FC4 38 00 00 00 */ li r0, 0 /* 8033A368 00335FC8 90 14 00 00 */ stw r0, 0(r20) /* 8033A36C 00335FCC 90 14 00 04 */ stw r0, 4(r20) lbl_8033A370: /* 8033A370 00335FD0 93 55 00 00 */ stw r26, 0(r21) /* 8033A374 00335FD4 7E 65 9B 78 */ mr r5, r19 /* 8033A378 00335FD8 38 75 00 04 */ addi r3, r21, 4 /* 8033A37C 00335FDC 38 81 00 10 */ addi r4, r1, 0x10 /* 8033A380 00335FE0 4B CC 9C 81 */ bl memcpy /* 8033A384 00335FE4 3E 60 80 61 */ lis r19, lbl_80610BD0@ha /* 8033A388 00335FE8 3A 73 0B D0 */ addi r19, r19, lbl_80610BD0@l /* 8033A38C 00335FEC 80 13 00 5C */ lwz r0, 0x5c(r19) /* 8033A390 00335FF0 28 00 00 01 */ cmplwi r0, 1 /* 8033A394 00335FF4 40 82 00 24 */ bne lbl_8033A3B8 /* 8033A398 00335FF8 4B FF EC 89 */ bl current_time_hires /* 8033A39C 00335FFC 80 B3 00 50 */ lwz r5, 0x50(r19) /* 8033A3A0 00336000 38 00 00 00 */ li r0, 0 /* 8033A3A4 00336004 80 93 00 54 */ lwz r4, 0x54(r19) /* 8033A3A8 00336008 7C 65 18 50 */ subf r3, r5, r3 /* 8033A3AC 0033600C 90 13 00 5C */ stw r0, 0x5c(r19) /* 8033A3B0 00336010 7C 04 1A 14 */ add r0, r4, r3 /* 8033A3B4 00336014 90 13 00 54 */ stw r0, 0x54(r19) lbl_8033A3B8: /* 8033A3B8 00336018 38 60 00 01 */ li r3, 1 /* 8033A3BC 0033601C 48 00 02 A8 */ b lbl_8033A664 lbl_8033A3C0: /* 8033A3C0 00336020 38 17 FF FF */ addi r0, r23, -1 /* 8033A3C4 00336024 38 60 00 01 */ li r3, 1 /* 8033A3C8 00336028 54 00 10 3A */ slwi r0, r0, 2 /* 8033A3CC 0033602C 7C 98 00 2E */ lwzx r4, r24, r0 /* 8033A3D0 00336030 48 00 00 08 */ b lbl_8033A3D8 lbl_8033A3D4: /* 8033A3D4 00336034 3B 7B FF FF */ addi r27, r27, -1 lbl_8033A3D8: /* 8033A3D8 00336038 7C 60 D8 30 */ slw r0, r3, r27 /* 8033A3DC 0033603C 7C 00 20 39 */ and. r0, r0, r4 /* 8033A3E0 00336040 40 82 00 0C */ bne lbl_8033A3EC /* 8033A3E4 00336044 2C 1B 00 00 */ cmpwi r27, 0 /* 8033A3E8 00336048 40 80 FF EC */ bge lbl_8033A3D4 lbl_8033A3EC: /* 8033A3EC 0033604C 2C 1B FF FF */ cmpwi r27, -1 /* 8033A3F0 00336050 40 82 00 40 */ bne lbl_8033A430 /* 8033A3F4 00336054 3E 60 80 61 */ lis r19, lbl_80610BD0@ha /* 8033A3F8 00336058 3A 73 0B D0 */ addi r19, r19, lbl_80610BD0@l /* 8033A3FC 0033605C 80 13 00 5C */ lwz r0, 0x5c(r19) /* 8033A400 00336060 28 00 00 01 */ cmplwi r0, 1 /* 8033A404 00336064 40 82 00 24 */ bne lbl_8033A428 /* 8033A408 00336068 4B FF EC 19 */ bl current_time_hires /* 8033A40C 0033606C 80 B3 00 50 */ lwz r5, 0x50(r19) /* 8033A410 00336070 38 00 00 00 */ li r0, 0 /* 8033A414 00336074 80 93 00 54 */ lwz r4, 0x54(r19) /* 8033A418 00336078 7C 65 18 50 */ subf r3, r5, r3 /* 8033A41C 0033607C 90 13 00 5C */ stw r0, 0x5c(r19) /* 8033A420 00336080 7C 04 1A 14 */ add r0, r4, r3 /* 8033A424 00336084 90 13 00 54 */ stw r0, 0x54(r19) lbl_8033A428: /* 8033A428 00336088 38 60 00 00 */ li r3, 0 /* 8033A42C 0033608C 48 00 02 38 */ b lbl_8033A664 lbl_8033A430: /* 8033A430 00336090 38 17 FF FF */ addi r0, r23, -1 /* 8033A434 00336094 7E F9 BB 78 */ mr r25, r23 /* 8033A438 00336098 54 00 28 34 */ slwi r0, r0, 5 /* 8033A43C 0033609C 7F 57 D0 50 */ subf r26, r23, r26 /* 8033A440 003360A0 7F 7B 02 14 */ add r27, r27, r0 /* 8033A444 003360A4 3B C1 02 10 */ addi r30, r1, 0x210 /* 8033A448 003360A8 3A 61 00 10 */ addi r19, r1, 0x10 /* 8033A44C 003360AC 3B E0 00 00 */ li r31, 0 lbl_8033A450: /* 8033A450 003360B0 57 5C 10 3A */ slwi r28, r26, 2 /* 8033A454 003360B4 38 61 00 10 */ addi r3, r1, 0x10 /* 8033A458 003360B8 7F 24 CB 78 */ mr r4, r25 /* 8033A45C 003360BC 7F 05 C3 78 */ mr r5, r24 /* 8033A460 003360C0 7E E6 BB 78 */ mr r6, r23 /* 8033A464 003360C4 7C 63 E2 14 */ add r3, r3, r28 /* 8033A468 003360C8 4B FF F4 9D */ bl gsiLargeIntCompare /* 8033A46C 003360CC 2C 03 FF FF */ cmpwi r3, -1 /* 8033A470 003360D0 40 82 00 20 */ bne lbl_8033A490 /* 8033A474 003360D4 2C 1A 00 00 */ cmpwi r26, 0 /* 8033A478 003360D8 40 81 00 10 */ ble lbl_8033A488 /* 8033A47C 003360DC 3B 5A FF FF */ addi r26, r26, -1 /* 8033A480 003360E0 3B 39 00 01 */ addi r25, r25, 1 /* 8033A484 003360E4 48 00 01 48 */ b lbl_8033A5CC lbl_8033A488: /* 8033A488 003360E8 3A C0 00 01 */ li r22, 1 /* 8033A48C 003360EC 48 00 01 40 */ b lbl_8033A5CC lbl_8033A490: /* 8033A490 003360F0 2C 03 00 00 */ cmpwi r3, 0 /* 8033A494 003360F4 40 82 00 50 */ bne lbl_8033A4E4 /* 8033A498 003360F8 38 61 00 10 */ addi r3, r1, 0x10 /* 8033A49C 003360FC 57 25 10 3A */ slwi r5, r25, 2 /* 8033A4A0 00336100 7C 63 E2 14 */ add r3, r3, r28 /* 8033A4A4 00336104 38 80 00 00 */ li r4, 0 /* 8033A4A8 00336108 4B CC 9C 5D */ bl memset /* 8033A4AC 0033610C 7C 9E E2 14 */ add r4, r30, r28 /* 8033A4B0 00336110 7C BA CA 14 */ add r5, r26, r25 /* 8033A4B4 00336114 80 64 00 04 */ lwz r3, 4(r4) /* 8033A4B8 00336118 38 03 00 01 */ addi r0, r3, 1 /* 8033A4BC 0033611C 90 04 00 04 */ stw r0, 4(r4) /* 8033A4C0 00336120 80 01 02 10 */ lwz r0, 0x210(r1) /* 8033A4C4 00336124 7C 00 28 40 */ cmplw r0, r5 /* 8033A4C8 00336128 40 80 00 08 */ bge lbl_8033A4D0 /* 8033A4CC 0033612C 90 A1 02 10 */ stw r5, 0x210(r1) lbl_8033A4D0: /* 8033A4D0 00336130 7F 59 D0 51 */ subf. r26, r25, r26 /* 8033A4D4 00336134 3B 20 00 01 */ li r25, 1 /* 8033A4D8 00336138 40 80 00 F4 */ bge lbl_8033A5CC /* 8033A4DC 0033613C 3A C0 00 01 */ li r22, 1 /* 8033A4E0 00336140 48 00 00 EC */ b lbl_8033A5CC lbl_8033A4E4: /* 8033A4E4 00336144 3B A1 00 10 */ addi r29, r1, 0x10 /* 8033A4E8 00336148 93 E1 00 08 */ stw r31, 8(r1) /* 8033A4EC 0033614C 7F BD E2 14 */ add r29, r29, r28 /* 8033A4F0 00336150 7F 24 CB 78 */ mr r4, r25 /* 8033A4F4 00336154 7F A3 EB 78 */ mr r3, r29 /* 8033A4F8 00336158 7F 05 C3 78 */ mr r5, r24 /* 8033A4FC 0033615C 7E E6 BB 78 */ mr r6, r23 /* 8033A500 00336160 7F 67 DB 78 */ mr r7, r27 /* 8033A504 00336164 39 01 00 08 */ addi r8, r1, 8 /* 8033A508 00336168 48 00 01 75 */ bl gsiLargeIntSubDivide /* 8033A50C 0033616C 2C 03 00 00 */ cmpwi r3, 0 /* 8033A510 00336170 40 82 00 40 */ bne lbl_8033A550 /* 8033A514 00336174 3E 60 80 61 */ lis r19, lbl_80610BD0@ha /* 8033A518 00336178 3A 73 0B D0 */ addi r19, r19, lbl_80610BD0@l /* 8033A51C 0033617C 80 13 00 5C */ lwz r0, 0x5c(r19) /* 8033A520 00336180 28 00 00 01 */ cmplwi r0, 1 /* 8033A524 00336184 40 82 00 24 */ bne lbl_8033A548 /* 8033A528 00336188 4B FF EA F9 */ bl current_time_hires /* 8033A52C 0033618C 80 B3 00 50 */ lwz r5, 0x50(r19) /* 8033A530 00336190 38 00 00 00 */ li r0, 0 /* 8033A534 00336194 80 93 00 54 */ lwz r4, 0x54(r19) /* 8033A538 00336198 7C 65 18 50 */ subf r3, r5, r3 /* 8033A53C 0033619C 90 13 00 5C */ stw r0, 0x5c(r19) /* 8033A540 003361A0 7C 04 1A 14 */ add r0, r4, r3 /* 8033A544 003361A4 90 13 00 54 */ stw r0, 0x54(r19) lbl_8033A548: /* 8033A548 003361A8 38 60 00 00 */ li r3, 0 /* 8033A54C 003361AC 48 00 01 18 */ b lbl_8033A664 lbl_8033A550: /* 8033A550 003361B0 7C 9E E2 14 */ add r4, r30, r28 /* 8033A554 003361B4 80 01 00 08 */ lwz r0, 8(r1) /* 8033A558 003361B8 80 64 00 04 */ lwz r3, 4(r4) /* 8033A55C 003361BC 7C BA CA 14 */ add r5, r26, r25 /* 8033A560 003361C0 7C 03 02 14 */ add r0, r3, r0 /* 8033A564 003361C4 90 04 00 04 */ stw r0, 4(r4) /* 8033A568 003361C8 80 01 02 10 */ lwz r0, 0x210(r1) /* 8033A56C 003361CC 7C 00 28 40 */ cmplw r0, r5 /* 8033A570 003361D0 40 80 00 08 */ bge lbl_8033A578 /* 8033A574 003361D4 90 A1 02 10 */ stw r5, 0x210(r1) lbl_8033A578: /* 8033A578 003361D8 57 20 10 3A */ slwi r0, r25, 2 /* 8033A57C 003361DC 7C 7D 02 14 */ add r3, r29, r0 /* 8033A580 003361E0 48 00 00 0C */ b lbl_8033A58C lbl_8033A584: /* 8033A584 003361E4 38 63 FF FC */ addi r3, r3, -4 /* 8033A588 003361E8 3B 39 FF FF */ addi r25, r25, -1 lbl_8033A58C: /* 8033A58C 003361EC 80 03 FF FC */ lwz r0, -4(r3) /* 8033A590 003361F0 2C 00 00 00 */ cmpwi r0, 0 /* 8033A594 003361F4 40 82 00 0C */ bne lbl_8033A5A0 /* 8033A598 003361F8 2C 19 00 01 */ cmpwi r25, 1 /* 8033A59C 003361FC 41 81 FF E8 */ bgt lbl_8033A584 lbl_8033A5A0: /* 8033A5A0 00336200 57 20 10 3A */ slwi r0, r25, 2 /* 8033A5A4 00336204 7C 1C 02 14 */ add r0, r28, r0 /* 8033A5A8 00336208 7C 73 02 14 */ add r3, r19, r0 /* 8033A5AC 0033620C 48 00 00 0C */ b lbl_8033A5B8 lbl_8033A5B0: /* 8033A5B0 00336210 38 63 FF FC */ addi r3, r3, -4 /* 8033A5B4 00336214 3B 5A FF FF */ addi r26, r26, -1 lbl_8033A5B8: /* 8033A5B8 00336218 80 03 FF FC */ lwz r0, -4(r3) /* 8033A5BC 0033621C 2C 00 00 00 */ cmpwi r0, 0 /* 8033A5C0 00336220 40 82 00 0C */ bne lbl_8033A5CC /* 8033A5C4 00336224 2C 1A 00 01 */ cmpwi r26, 1 /* 8033A5C8 00336228 41 81 FF E8 */ bgt lbl_8033A5B0 lbl_8033A5CC: /* 8033A5CC 0033622C 2C 16 00 00 */ cmpwi r22, 0 /* 8033A5D0 00336230 41 82 FE 80 */ beq lbl_8033A450 /* 8033A5D4 00336234 2C 1A 00 00 */ cmpwi r26, 0 /* 8033A5D8 00336238 41 80 00 24 */ blt lbl_8033A5FC /* 8033A5DC 0033623C 57 40 10 3A */ slwi r0, r26, 2 /* 8033A5E0 00336240 38 81 00 10 */ addi r4, r1, 0x10 /* 8033A5E4 00336244 38 75 00 04 */ addi r3, r21, 4 /* 8033A5E8 00336248 57 25 10 3A */ slwi r5, r25, 2 /* 8033A5EC 0033624C 7C 84 02 14 */ add r4, r4, r0 /* 8033A5F0 00336250 4B CC 9A 11 */ bl memcpy /* 8033A5F4 00336254 93 35 00 00 */ stw r25, 0(r21) /* 8033A5F8 00336258 48 00 00 10 */ b lbl_8033A608 lbl_8033A5FC: /* 8033A5FC 0033625C 38 00 00 00 */ li r0, 0 /* 8033A600 00336260 90 15 00 04 */ stw r0, 4(r21) /* 8033A604 00336264 90 15 00 00 */ stw r0, 0(r21) lbl_8033A608: /* 8033A608 00336268 2C 14 00 00 */ cmpwi r20, 0 /* 8033A60C 0033626C 41 82 00 20 */ beq lbl_8033A62C /* 8033A610 00336270 80 01 02 10 */ lwz r0, 0x210(r1) /* 8033A614 00336274 38 74 00 04 */ addi r3, r20, 4 /* 8033A618 00336278 38 81 02 14 */ addi r4, r1, 0x214 /* 8033A61C 0033627C 54 05 10 3A */ slwi r5, r0, 2 /* 8033A620 00336280 4B CC 99 E1 */ bl memcpy /* 8033A624 00336284 80 01 02 10 */ lwz r0, 0x210(r1) /* 8033A628 00336288 90 14 00 00 */ stw r0, 0(r20) lbl_8033A62C: /* 8033A62C 0033628C 3E 80 80 61 */ lis r20, lbl_80610BD0@ha /* 8033A630 00336290 3A 94 0B D0 */ addi r20, r20, lbl_80610BD0@l /* 8033A634 00336294 80 14 00 5C */ lwz r0, 0x5c(r20) /* 8033A638 00336298 28 00 00 01 */ cmplwi r0, 1 /* 8033A63C 0033629C 40 82 00 24 */ bne lbl_8033A660 /* 8033A640 003362A0 4B FF E9 E1 */ bl current_time_hires /* 8033A644 003362A4 80 B4 00 50 */ lwz r5, 0x50(r20) /* 8033A648 003362A8 38 00 00 00 */ li r0, 0 /* 8033A64C 003362AC 80 94 00 54 */ lwz r4, 0x54(r20) /* 8033A650 003362B0 7C 65 18 50 */ subf r3, r5, r3 /* 8033A654 003362B4 90 14 00 5C */ stw r0, 0x5c(r20) /* 8033A658 003362B8 7C 04 1A 14 */ add r0, r4, r3 /* 8033A65C 003362BC 90 14 00 54 */ stw r0, 0x54(r20) lbl_8033A660: /* 8033A660 003362C0 38 60 00 01 */ li r3, 1 lbl_8033A664: /* 8033A664 003362C4 39 61 03 50 */ addi r11, r1, 0x350 /* 8033A668 003362C8 4B E8 CA ED */ bl _restgpr_19 /* 8033A66C 003362CC 80 01 03 54 */ lwz r0, 0x354(r1) /* 8033A670 003362D0 7C 08 03 A6 */ mtlr r0 /* 8033A674 003362D4 38 21 03 50 */ addi r1, r1, 0x350 /* 8033A678 003362D8 4E 80 00 20 */ blr .global gsiLargeIntSubDivide gsiLargeIntSubDivide: /* 8033A67C 003362DC 94 21 FD D0 */ stwu r1, -0x230(r1) /* 8033A680 003362E0 7C 08 02 A6 */ mflr r0 /* 8033A684 003362E4 90 01 02 34 */ stw r0, 0x234(r1) /* 8033A688 003362E8 39 61 02 30 */ addi r11, r1, 0x230 /* 8033A68C 003362EC 4B E8 CA 99 */ bl _savegpr_26 /* 8033A690 003362F0 3F 60 80 61 */ lis r27, lbl_80610BD0@ha /* 8033A694 003362F4 90 81 00 08 */ stw r4, 8(r1) /* 8033A698 003362F8 3B 7B 0B D0 */ addi r27, r27, lbl_80610BD0@l /* 8033A69C 003362FC 7C 7C 1B 78 */ mr r28, r3 /* 8033A6A0 00336300 80 1B 00 6C */ lwz r0, 0x6c(r27) /* 8033A6A4 00336304 7C BD 2B 78 */ mr r29, r5 /* 8033A6A8 00336308 7C DE 33 78 */ mr r30, r6 /* 8033A6AC 0033630C 7D 1F 43 78 */ mr r31, r8 /* 8033A6B0 00336310 2C 00 00 00 */ cmpwi r0, 0 /* 8033A6B4 00336314 40 82 00 20 */ bne lbl_8033A6D4 /* 8033A6B8 00336318 80 7B 00 68 */ lwz r3, 0x68(r27) /* 8033A6BC 0033631C 38 03 00 01 */ addi r0, r3, 1 /* 8033A6C0 00336320 90 1B 00 68 */ stw r0, 0x68(r27) /* 8033A6C4 00336324 4B FF E9 5D */ bl current_time_hires /* 8033A6C8 00336328 38 00 00 01 */ li r0, 1 /* 8033A6CC 0033632C 90 7B 00 60 */ stw r3, 0x60(r27) /* 8033A6D0 00336330 90 1B 00 6C */ stw r0, 0x6c(r27) lbl_8033A6D4: /* 8033A6D4 00336334 80 81 00 08 */ lwz r4, 8(r1) /* 8033A6D8 00336338 7C 04 F0 40 */ cmplw r4, r30 /* 8033A6DC 0033633C 40 81 00 30 */ ble lbl_8033A70C /* 8033A6E0 00336340 38 64 FF FE */ addi r3, r4, -2 /* 8033A6E4 00336344 38 1E FF FF */ addi r0, r30, -1 /* 8033A6E8 00336348 38 84 FF FF */ addi r4, r4, -1 /* 8033A6EC 0033634C 54 63 10 3A */ slwi r3, r3, 2 /* 8033A6F0 00336350 54 00 10 3A */ slwi r0, r0, 2 /* 8033A6F4 00336354 54 84 10 3A */ slwi r4, r4, 2 /* 8033A6F8 00336358 7C 7C 18 2E */ lwzx r3, r28, r3 /* 8033A6FC 0033635C 7C 1D 00 2E */ lwzx r0, r29, r0 /* 8033A700 00336360 7F 5C 20 2E */ lwzx r26, r28, r4 /* 8033A704 00336364 7C 64 00 38 */ and r4, r3, r0 /* 8033A708 00336368 48 00 00 14 */ b lbl_8033A71C lbl_8033A70C: /* 8033A70C 0033636C 38 04 FF FF */ addi r0, r4, -1 /* 8033A710 00336370 3B 40 00 00 */ li r26, 0 /* 8033A714 00336374 54 00 10 3A */ slwi r0, r0, 2 /* 8033A718 00336378 7C 9C 00 2E */ lwzx r4, r28, r0 lbl_8033A71C: /* 8033A71C 0033637C 38 1E FF FF */ addi r0, r30, -1 /* 8033A720 00336380 7F 43 D3 78 */ mr r3, r26 /* 8033A724 00336384 54 00 10 3A */ slwi r0, r0, 2 /* 8033A728 00336388 38 A0 00 00 */ li r5, 0 /* 8033A72C 0033638C 7C DD 00 2E */ lwzx r6, r29, r0 /* 8033A730 00336390 4B E8 CA 5D */ bl __div2u /* 8033A734 00336394 7C 9B 23 78 */ mr r27, r4 /* 8033A738 00336398 7C 7A 1B 78 */ mr r26, r3 /* 8033A73C 0033639C 38 61 00 0C */ addi r3, r1, 0xc /* 8033A740 003363A0 38 80 00 00 */ li r4, 0 /* 8033A744 003363A4 38 A0 01 04 */ li r5, 0x104 /* 8033A748 003363A8 4B CC 99 BD */ bl memset /* 8033A74C 003363AC 2C 1A 00 00 */ cmpwi r26, 0 /* 8033A750 003363B0 93 61 00 10 */ stw r27, 0x10(r1) /* 8033A754 003363B4 93 41 00 14 */ stw r26, 0x14(r1) /* 8033A758 003363B8 41 82 00 14 */ beq lbl_8033A76C /* 8033A75C 003363BC 38 60 FF FF */ li r3, -1 /* 8033A760 003363C0 38 00 00 00 */ li r0, 0 /* 8033A764 003363C4 90 61 00 10 */ stw r3, 0x10(r1) /* 8033A768 003363C8 90 01 00 14 */ stw r0, 0x14(r1) lbl_8033A76C: /* 8033A76C 003363CC 38 00 00 01 */ li r0, 1 /* 8033A770 003363D0 7F A3 EB 78 */ mr r3, r29 /* 8033A774 003363D4 90 01 00 0C */ stw r0, 0xc(r1) /* 8033A778 003363D8 7F C4 F3 78 */ mr r4, r30 /* 8033A77C 003363DC 38 A1 00 10 */ addi r5, r1, 0x10 /* 8033A780 003363E0 38 E1 01 14 */ addi r7, r1, 0x114 /* 8033A784 003363E4 39 01 01 10 */ addi r8, r1, 0x110 /* 8033A788 003363E8 38 C0 00 01 */ li r6, 1 /* 8033A78C 003363EC 39 20 00 40 */ li r9, 0x40 /* 8033A790 003363F0 4B FF F8 05 */ bl gsiLargeIntMult /* 8033A794 003363F4 2C 03 00 00 */ cmpwi r3, 0 /* 8033A798 003363F8 40 82 00 B4 */ bne lbl_8033A84C /* 8033A79C 003363FC 3F 80 80 61 */ lis r28, lbl_80610BD0@ha /* 8033A7A0 00336400 3B 9C 0B D0 */ addi r28, r28, lbl_80610BD0@l /* 8033A7A4 00336404 80 1C 00 6C */ lwz r0, 0x6c(r28) /* 8033A7A8 00336408 28 00 00 01 */ cmplwi r0, 1 /* 8033A7AC 0033640C 40 82 00 24 */ bne lbl_8033A7D0 /* 8033A7B0 00336410 4B FF E8 71 */ bl current_time_hires /* 8033A7B4 00336414 80 BC 00 60 */ lwz r5, 0x60(r28) /* 8033A7B8 00336418 38 00 00 00 */ li r0, 0 /* 8033A7BC 0033641C 80 9C 00 64 */ lwz r4, 0x64(r28) /* 8033A7C0 00336420 7C 65 18 50 */ subf r3, r5, r3 /* 8033A7C4 00336424 90 1C 00 6C */ stw r0, 0x6c(r28) /* 8033A7C8 00336428 7C 04 1A 14 */ add r0, r4, r3 /* 8033A7CC 0033642C 90 1C 00 64 */ stw r0, 0x64(r28) lbl_8033A7D0: /* 8033A7D0 00336430 38 60 00 00 */ li r3, 0 /* 8033A7D4 00336434 48 00 00 F0 */ b lbl_8033A8C4 /* 8033A7D8 00336438 48 00 00 74 */ b lbl_8033A84C lbl_8033A7DC: /* 8033A7DC 0033643C 80 01 00 10 */ lwz r0, 0x10(r1) /* 8033A7E0 00336440 7F A3 EB 78 */ mr r3, r29 /* 8033A7E4 00336444 80 C1 00 0C */ lwz r6, 0xc(r1) /* 8033A7E8 00336448 7F C4 F3 78 */ mr r4, r30 /* 8033A7EC 0033644C 54 00 F8 7E */ srwi r0, r0, 1 /* 8033A7F0 00336450 38 A1 00 10 */ addi r5, r1, 0x10 /* 8033A7F4 00336454 90 01 00 10 */ stw r0, 0x10(r1) /* 8033A7F8 00336458 38 E1 01 14 */ addi r7, r1, 0x114 /* 8033A7FC 0033645C 39 01 01 10 */ addi r8, r1, 0x110 /* 8033A800 00336460 39 20 00 40 */ li r9, 0x40 /* 8033A804 00336464 4B FF F7 91 */ bl gsiLargeIntMult /* 8033A808 00336468 2C 03 00 00 */ cmpwi r3, 0 /* 8033A80C 0033646C 40 82 00 40 */ bne lbl_8033A84C /* 8033A810 00336470 3F 80 80 61 */ lis r28, lbl_80610BD0@ha /* 8033A814 00336474 3B 9C 0B D0 */ addi r28, r28, lbl_80610BD0@l /* 8033A818 00336478 80 1C 00 6C */ lwz r0, 0x6c(r28) /* 8033A81C 0033647C 28 00 00 01 */ cmplwi r0, 1 /* 8033A820 00336480 40 82 00 24 */ bne lbl_8033A844 /* 8033A824 00336484 4B FF E7 FD */ bl current_time_hires /* 8033A828 00336488 80 BC 00 60 */ lwz r5, 0x60(r28) /* 8033A82C 0033648C 38 00 00 00 */ li r0, 0 /* 8033A830 00336490 80 9C 00 64 */ lwz r4, 0x64(r28) /* 8033A834 00336494 7C 65 18 50 */ subf r3, r5, r3 /* 8033A838 00336498 90 1C 00 6C */ stw r0, 0x6c(r28) /* 8033A83C 0033649C 7C 04 1A 14 */ add r0, r4, r3 /* 8033A840 003364A0 90 1C 00 64 */ stw r0, 0x64(r28) lbl_8033A844: /* 8033A844 003364A4 38 60 00 00 */ li r3, 0 /* 8033A848 003364A8 48 00 00 7C */ b lbl_8033A8C4 lbl_8033A84C: /* 8033A84C 003364AC 80 81 01 10 */ lwz r4, 0x110(r1) /* 8033A850 003364B0 7F 85 E3 78 */ mr r5, r28 /* 8033A854 003364B4 80 C1 00 08 */ lwz r6, 8(r1) /* 8033A858 003364B8 38 61 01 14 */ addi r3, r1, 0x114 /* 8033A85C 003364BC 4B FF F0 A9 */ bl gsiLargeIntCompare /* 8033A860 003364C0 2C 03 00 01 */ cmpwi r3, 1 /* 8033A864 003364C4 41 82 FF 78 */ beq lbl_8033A7DC /* 8033A868 003364C8 80 81 01 10 */ lwz r4, 0x110(r1) /* 8033A86C 003364CC 7F 85 E3 78 */ mr r5, r28 /* 8033A870 003364D0 80 C1 00 08 */ lwz r6, 8(r1) /* 8033A874 003364D4 7F 87 E3 78 */ mr r7, r28 /* 8033A878 003364D8 38 61 01 14 */ addi r3, r1, 0x114 /* 8033A87C 003364DC 39 01 00 08 */ addi r8, r1, 8 /* 8033A880 003364E0 4B FF F3 C9 */ bl gsiLargeIntSub /* 8033A884 003364E4 80 01 00 10 */ lwz r0, 0x10(r1) /* 8033A888 003364E8 3F 80 80 61 */ lis r28, lbl_80610BD0@ha /* 8033A88C 003364EC 3B 9C 0B D0 */ addi r28, r28, lbl_80610BD0@l /* 8033A890 003364F0 90 1F 00 00 */ stw r0, 0(r31) /* 8033A894 003364F4 80 1C 00 6C */ lwz r0, 0x6c(r28) /* 8033A898 003364F8 28 00 00 01 */ cmplwi r0, 1 /* 8033A89C 003364FC 40 82 00 24 */ bne lbl_8033A8C0 /* 8033A8A0 00336500 4B FF E7 81 */ bl current_time_hires /* 8033A8A4 00336504 80 BC 00 60 */ lwz r5, 0x60(r28) /* 8033A8A8 00336508 38 00 00 00 */ li r0, 0 /* 8033A8AC 0033650C 80 9C 00 64 */ lwz r4, 0x64(r28) /* 8033A8B0 00336510 7C 65 18 50 */ subf r3, r5, r3 /* 8033A8B4 00336514 90 1C 00 6C */ stw r0, 0x6c(r28) /* 8033A8B8 00336518 7C 04 1A 14 */ add r0, r4, r3 /* 8033A8BC 0033651C 90 1C 00 64 */ stw r0, 0x64(r28) lbl_8033A8C0: /* 8033A8C0 00336520 38 60 00 01 */ li r3, 1 lbl_8033A8C4: /* 8033A8C4 00336524 39 61 02 30 */ addi r11, r1, 0x230 /* 8033A8C8 00336528 4B E8 C8 A9 */ bl _restgpr_26 /* 8033A8CC 0033652C 80 01 02 34 */ lwz r0, 0x234(r1) /* 8033A8D0 00336530 7C 08 03 A6 */ mtlr r0 /* 8033A8D4 00336534 38 21 02 30 */ addi r1, r1, 0x230 /* 8033A8D8 00336538 4E 80 00 20 */ blr .global gsLargeIntKMult gsLargeIntKMult: /* 8033A8DC 0033653C 94 21 FC D0 */ stwu r1, -0x330(r1) /* 8033A8E0 00336540 7C 08 02 A6 */ mflr r0 /* 8033A8E4 00336544 80 E3 00 00 */ lwz r7, 0(r3) /* 8033A8E8 00336548 90 01 03 34 */ stw r0, 0x334(r1) /* 8033A8EC 0033654C 38 00 00 00 */ li r0, 0 /* 8033A8F0 00336550 2C 07 00 00 */ cmpwi r7, 0 /* 8033A8F4 00336554 93 E1 03 2C */ stw r31, 0x32c(r1) /* 8033A8F8 00336558 7C BF 2B 78 */ mr r31, r5 /* 8033A8FC 0033655C 93 C1 03 28 */ stw r30, 0x328(r1) /* 8033A900 00336560 93 A1 03 24 */ stw r29, 0x324(r1) /* 8033A904 00336564 7C 9D 23 78 */ mr r29, r4 /* 8033A908 00336568 93 81 03 20 */ stw r28, 0x320(r1) /* 8033A90C 0033656C 7C 7C 1B 78 */ mr r28, r3 /* 8033A910 00336570 90 01 00 08 */ stw r0, 8(r1) /* 8033A914 00336574 41 82 00 10 */ beq lbl_8033A924 /* 8033A918 00336578 80 C4 00 00 */ lwz r6, 0(r4) /* 8033A91C 0033657C 2C 06 00 00 */ cmpwi r6, 0 /* 8033A920 00336580 40 82 00 14 */ bne lbl_8033A934 lbl_8033A924: /* 8033A924 00336584 38 00 00 00 */ li r0, 0 /* 8033A928 00336588 38 60 00 01 */ li r3, 1 /* 8033A92C 0033658C 90 05 00 00 */ stw r0, 0(r5) /* 8033A930 00336590 48 00 02 20 */ b lbl_8033AB50 lbl_8033A934: /* 8033A934 00336594 7C 07 30 40 */ cmplw r7, r6 /* 8033A938 00336598 7C C0 33 78 */ mr r0, r6 /* 8033A93C 0033659C 40 81 00 08 */ ble lbl_8033A944 /* 8033A940 003365A0 7C E0 3B 78 */ mr r0, r7 lbl_8033A944: /* 8033A944 003365A4 28 00 00 20 */ cmplwi r0, 0x20 /* 8033A948 003365A8 40 80 00 44 */ bge lbl_8033A98C /* 8033A94C 003365AC 7C E4 3B 78 */ mr r4, r7 /* 8033A950 003365B0 7F E8 FB 78 */ mr r8, r31 /* 8033A954 003365B4 38 BD 00 04 */ addi r5, r29, 4 /* 8033A958 003365B8 38 FF 00 04 */ addi r7, r31, 4 /* 8033A95C 003365BC 39 20 00 40 */ li r9, 0x40 /* 8033A960 003365C0 38 63 00 04 */ addi r3, r3, 4 /* 8033A964 003365C4 4B FF F6 31 */ bl gsiLargeIntMult /* 8033A968 003365C8 2C 03 00 00 */ cmpwi r3, 0 /* 8033A96C 003365CC 7C 7E 1B 78 */ mr r30, r3 /* 8033A970 003365D0 40 82 00 14 */ bne lbl_8033A984 /* 8033A974 003365D4 7F E3 FB 78 */ mr r3, r31 /* 8033A978 003365D8 38 80 00 00 */ li r4, 0 /* 8033A97C 003365DC 38 A0 01 04 */ li r5, 0x104 /* 8033A980 003365E0 4B CC 97 85 */ bl memset lbl_8033A984: /* 8033A984 003365E4 7F C3 F3 78 */ mr r3, r30 /* 8033A988 003365E8 48 00 01 C8 */ b lbl_8033AB50 lbl_8033A98C: /* 8033A98C 003365EC 7F 83 E3 78 */ mr r3, r28 /* 8033A990 003365F0 7F A4 EB 78 */ mr r4, r29 /* 8033A994 003365F4 38 A1 00 08 */ addi r5, r1, 8 /* 8033A998 003365F8 4B FF EE D1 */ bl gsiLargeIntSizePower2 /* 8033A99C 003365FC 2C 03 00 00 */ cmpwi r3, 0 /* 8033A9A0 00336600 41 82 00 10 */ beq lbl_8033A9B0 /* 8033A9A4 00336604 80 01 00 08 */ lwz r0, 8(r1) /* 8033A9A8 00336608 28 00 00 20 */ cmplwi r0, 0x20 /* 8033A9AC 0033660C 40 81 00 48 */ ble lbl_8033A9F4 lbl_8033A9B0: /* 8033A9B0 00336610 80 9C 00 00 */ lwz r4, 0(r28) /* 8033A9B4 00336614 7F E8 FB 78 */ mr r8, r31 /* 8033A9B8 00336618 80 DD 00 00 */ lwz r6, 0(r29) /* 8033A9BC 0033661C 38 7C 00 04 */ addi r3, r28, 4 /* 8033A9C0 00336620 38 BD 00 04 */ addi r5, r29, 4 /* 8033A9C4 00336624 38 FF 00 04 */ addi r7, r31, 4 /* 8033A9C8 00336628 39 20 00 40 */ li r9, 0x40 /* 8033A9CC 0033662C 4B FF F5 C9 */ bl gsiLargeIntMult /* 8033A9D0 00336630 2C 03 00 00 */ cmpwi r3, 0 /* 8033A9D4 00336634 7C 7E 1B 78 */ mr r30, r3 /* 8033A9D8 00336638 40 82 00 14 */ bne lbl_8033A9EC /* 8033A9DC 0033663C 7F E3 FB 78 */ mr r3, r31 /* 8033A9E0 00336640 38 80 00 00 */ li r4, 0 /* 8033A9E4 00336644 38 A0 01 04 */ li r5, 0x104 /* 8033A9E8 00336648 4B CC 97 1D */ bl memset lbl_8033A9EC: /* 8033A9EC 0033664C 7F C3 F3 78 */ mr r3, r30 /* 8033A9F0 00336650 48 00 01 60 */ b lbl_8033AB50 lbl_8033A9F4: /* 8033A9F4 00336654 3F C0 80 61 */ lis r30, lbl_80610BD0@ha /* 8033A9F8 00336658 3B DE 0B D0 */ addi r30, r30, lbl_80610BD0@l /* 8033A9FC 0033665C 80 1E 00 2C */ lwz r0, 0x2c(r30) /* 8033AA00 00336660 2C 00 00 00 */ cmpwi r0, 0 /* 8033AA04 00336664 40 82 00 20 */ bne lbl_8033AA24 /* 8033AA08 00336668 80 7E 00 28 */ lwz r3, 0x28(r30) /* 8033AA0C 0033666C 38 03 00 01 */ addi r0, r3, 1 /* 8033AA10 00336670 90 1E 00 28 */ stw r0, 0x28(r30) /* 8033AA14 00336674 4B FF E6 0D */ bl current_time_hires /* 8033AA18 00336678 38 00 00 01 */ li r0, 1 /* 8033AA1C 0033667C 90 7E 00 20 */ stw r3, 0x20(r30) /* 8033AA20 00336680 90 1E 00 2C */ stw r0, 0x2c(r30) lbl_8033AA24: /* 8033AA24 00336684 38 61 02 14 */ addi r3, r1, 0x214 /* 8033AA28 00336688 38 80 00 00 */ li r4, 0 /* 8033AA2C 0033668C 38 A0 01 04 */ li r5, 0x104 /* 8033AA30 00336690 4B CC 96 D5 */ bl memset /* 8033AA34 00336694 80 A1 00 08 */ lwz r5, 8(r1) /* 8033AA38 00336698 38 60 00 00 */ li r3, 0 /* 8033AA3C 0033669C 80 1C 00 00 */ lwz r0, 0(r28) /* 8033AA40 003366A0 90 61 02 14 */ stw r3, 0x214(r1) /* 8033AA44 003366A4 7C 00 28 40 */ cmplw r0, r5 /* 8033AA48 003366A8 40 82 00 10 */ bne lbl_8033AA58 /* 8033AA4C 003366AC 80 1D 00 00 */ lwz r0, 0(r29) /* 8033AA50 003366B0 7C 00 28 40 */ cmplw r0, r5 /* 8033AA54 003366B4 41 82 00 60 */ beq lbl_8033AAB4 lbl_8033AA58: /* 8033AA58 003366B8 7F 84 E3 78 */ mr r4, r28 /* 8033AA5C 003366BC 38 61 01 10 */ addi r3, r1, 0x110 /* 8033AA60 003366C0 38 A0 01 04 */ li r5, 0x104 /* 8033AA64 003366C4 4B CC 95 9D */ bl memcpy /* 8033AA68 003366C8 7F A4 EB 78 */ mr r4, r29 /* 8033AA6C 003366CC 38 61 00 0C */ addi r3, r1, 0xc /* 8033AA70 003366D0 38 A0 01 04 */ li r5, 0x104 /* 8033AA74 003366D4 4B CC 95 8D */ bl memcpy /* 8033AA78 003366D8 80 81 00 08 */ lwz r4, 8(r1) /* 8033AA7C 003366DC 38 61 01 10 */ addi r3, r1, 0x110 /* 8033AA80 003366E0 4B FF ED 31 */ bl gsiLargeIntResize /* 8033AA84 003366E4 80 81 00 08 */ lwz r4, 8(r1) /* 8033AA88 003366E8 38 61 00 0C */ addi r3, r1, 0xc /* 8033AA8C 003366EC 4B FF ED 25 */ bl gsiLargeIntResize /* 8033AA90 003366F0 80 A1 00 08 */ lwz r5, 8(r1) /* 8033AA94 003366F4 38 61 01 14 */ addi r3, r1, 0x114 /* 8033AA98 003366F8 38 81 00 10 */ addi r4, r1, 0x10 /* 8033AA9C 003366FC 38 C1 02 18 */ addi r6, r1, 0x218 /* 8033AAA0 00336700 38 E1 02 14 */ addi r7, r1, 0x214 /* 8033AAA4 00336704 39 00 00 40 */ li r8, 0x40 /* 8033AAA8 00336708 48 00 00 C9 */ bl gsiLargeIntKMult /* 8033AAAC 0033670C 7C 7E 1B 78 */ mr r30, r3 /* 8033AAB0 00336710 48 00 00 20 */ b lbl_8033AAD0 lbl_8033AAB4: /* 8033AAB4 00336714 38 7C 00 04 */ addi r3, r28, 4 /* 8033AAB8 00336718 38 9D 00 04 */ addi r4, r29, 4 /* 8033AABC 0033671C 38 C1 02 18 */ addi r6, r1, 0x218 /* 8033AAC0 00336720 38 E1 02 14 */ addi r7, r1, 0x214 /* 8033AAC4 00336724 39 00 00 40 */ li r8, 0x40 /* 8033AAC8 00336728 48 00 00 A9 */ bl gsiLargeIntKMult /* 8033AACC 0033672C 7C 7E 1B 78 */ mr r30, r3 lbl_8033AAD0: /* 8033AAD0 00336730 2C 1E 00 00 */ cmpwi r30, 0 /* 8033AAD4 00336734 41 82 00 44 */ beq lbl_8033AB18 /* 8033AAD8 00336738 38 61 02 14 */ addi r3, r1, 0x214 /* 8033AADC 0033673C 48 00 00 10 */ b lbl_8033AAEC lbl_8033AAE0: /* 8033AAE0 00336740 80 81 02 14 */ lwz r4, 0x214(r1) /* 8033AAE4 00336744 38 04 FF FF */ addi r0, r4, -1 /* 8033AAE8 00336748 90 01 02 14 */ stw r0, 0x214(r1) lbl_8033AAEC: /* 8033AAEC 0033674C 80 01 02 14 */ lwz r0, 0x214(r1) /* 8033AAF0 00336750 2C 00 00 00 */ cmpwi r0, 0 /* 8033AAF4 00336754 41 82 00 14 */ beq lbl_8033AB08 /* 8033AAF8 00336758 54 00 10 3A */ slwi r0, r0, 2 /* 8033AAFC 0033675C 7C 03 00 2E */ lwzx r0, r3, r0 /* 8033AB00 00336760 2C 00 00 00 */ cmpwi r0, 0 /* 8033AB04 00336764 41 82 FF DC */ beq lbl_8033AAE0 lbl_8033AB08: /* 8033AB08 00336768 7F E3 FB 78 */ mr r3, r31 /* 8033AB0C 0033676C 38 81 02 14 */ addi r4, r1, 0x214 /* 8033AB10 00336770 38 A0 01 04 */ li r5, 0x104 /* 8033AB14 00336774 4B CC 94 ED */ bl memcpy lbl_8033AB18: /* 8033AB18 00336778 3F E0 80 61 */ lis r31, lbl_80610BD0@ha /* 8033AB1C 0033677C 3B FF 0B D0 */ addi r31, r31, lbl_80610BD0@l /* 8033AB20 00336780 80 1F 00 2C */ lwz r0, 0x2c(r31) /* 8033AB24 00336784 28 00 00 01 */ cmplwi r0, 1 /* 8033AB28 00336788 40 82 00 24 */ bne lbl_8033AB4C /* 8033AB2C 0033678C 4B FF E4 F5 */ bl current_time_hires /* 8033AB30 00336790 80 BF 00 20 */ lwz r5, 0x20(r31) /* 8033AB34 00336794 38 00 00 00 */ li r0, 0 /* 8033AB38 00336798 80 9F 00 24 */ lwz r4, 0x24(r31) /* 8033AB3C 0033679C 7C 65 18 50 */ subf r3, r5, r3 /* 8033AB40 003367A0 90 1F 00 2C */ stw r0, 0x2c(r31) /* 8033AB44 003367A4 7C 04 1A 14 */ add r0, r4, r3 /* 8033AB48 003367A8 90 1F 00 24 */ stw r0, 0x24(r31) lbl_8033AB4C: /* 8033AB4C 003367AC 7F C3 F3 78 */ mr r3, r30 lbl_8033AB50: /* 8033AB50 003367B0 80 01 03 34 */ lwz r0, 0x334(r1) /* 8033AB54 003367B4 83 E1 03 2C */ lwz r31, 0x32c(r1) /* 8033AB58 003367B8 83 C1 03 28 */ lwz r30, 0x328(r1) /* 8033AB5C 003367BC 83 A1 03 24 */ lwz r29, 0x324(r1) /* 8033AB60 003367C0 83 81 03 20 */ lwz r28, 0x320(r1) /* 8033AB64 003367C4 7C 08 03 A6 */ mtlr r0 /* 8033AB68 003367C8 38 21 03 30 */ addi r1, r1, 0x330 /* 8033AB6C 003367CC 4E 80 00 20 */ blr .global gsiLargeIntKMult gsiLargeIntKMult: /* 8033AB70 003367D0 94 21 FC B0 */ stwu r1, -0x350(r1) /* 8033AB74 003367D4 7C 08 02 A6 */ mflr r0 /* 8033AB78 003367D8 90 01 03 54 */ stw r0, 0x354(r1) /* 8033AB7C 003367DC 39 61 03 50 */ addi r11, r1, 0x350 /* 8033AB80 003367E0 4B E8 C5 91 */ bl _savegpr_21 /* 8033AB84 003367E4 28 05 00 20 */ cmplwi r5, 0x20 /* 8033AB88 003367E8 7C 75 1B 78 */ mr r21, r3 /* 8033AB8C 003367EC 7C 96 23 78 */ mr r22, r4 /* 8033AB90 003367F0 7C BB 2B 78 */ mr r27, r5 /* 8033AB94 003367F4 7C DC 33 78 */ mr r28, r6 /* 8033AB98 003367F8 7C FD 3B 78 */ mr r29, r7 /* 8033AB9C 003367FC 7D 1E 43 78 */ mr r30, r8 /* 8033ABA0 00336800 41 81 00 24 */ bgt lbl_8033ABC4 /* 8033ABA4 00336804 7F 64 DB 78 */ mr r4, r27 /* 8033ABA8 00336808 7E C5 B3 78 */ mr r5, r22 /* 8033ABAC 0033680C 7F 66 DB 78 */ mr r6, r27 /* 8033ABB0 00336810 7F 87 E3 78 */ mr r7, r28 /* 8033ABB4 00336814 7F A8 EB 78 */ mr r8, r29 /* 8033ABB8 00336818 7F C9 F3 78 */ mr r9, r30 /* 8033ABBC 0033681C 4B FF F3 D9 */ bl gsiLargeIntMult /* 8033ABC0 00336820 48 00 02 10 */ b lbl_8033ADD0 lbl_8033ABC4: /* 8033ABC4 00336824 38 00 00 00 */ li r0, 0 /* 8033ABC8 00336828 54 B7 08 3A */ rlwinm r23, r5, 1, 0, 0x1d /* 8033ABCC 0033682C 54 B8 10 3A */ slwi r24, r5, 2 /* 8033ABD0 00336830 54 BF F8 7E */ srwi r31, r5, 1 /* 8033ABD4 00336834 7F 24 BA 14 */ add r25, r4, r23 /* 8033ABD8 00336838 7F 43 BA 14 */ add r26, r3, r23 /* 8033ABDC 0033683C 90 01 02 10 */ stw r0, 0x210(r1) /* 8033ABE0 00336840 7F 43 D3 78 */ mr r3, r26 /* 8033ABE4 00336844 7F 24 CB 78 */ mr r4, r25 /* 8033ABE8 00336848 7F E5 FB 78 */ mr r5, r31 /* 8033ABEC 0033684C 90 01 01 0C */ stw r0, 0x10c(r1) /* 8033ABF0 00336850 7C C6 C2 14 */ add r6, r6, r24 /* 8033ABF4 00336854 7D 1B 40 50 */ subf r8, r27, r8 /* 8033ABF8 00336858 90 01 00 08 */ stw r0, 8(r1) /* 8033ABFC 0033685C 4B FF FF 75 */ bl gsiLargeIntKMult /* 8033AC00 00336860 7E A3 AB 78 */ mr r3, r21 /* 8033AC04 00336864 7E C4 B3 78 */ mr r4, r22 /* 8033AC08 00336868 7F E5 FB 78 */ mr r5, r31 /* 8033AC0C 0033686C 7F 86 E3 78 */ mr r6, r28 /* 8033AC10 00336870 7F A7 EB 78 */ mr r7, r29 /* 8033AC14 00336874 7F C8 F3 78 */ mr r8, r30 /* 8033AC18 00336878 4B FF FF 59 */ bl gsiLargeIntKMult /* 8033AC1C 0033687C 7F 43 D3 78 */ mr r3, r26 /* 8033AC20 00336880 7F E4 FB 78 */ mr r4, r31 /* 8033AC24 00336884 7E A5 AB 78 */ mr r5, r21 /* 8033AC28 00336888 7F E6 FB 78 */ mr r6, r31 /* 8033AC2C 0033688C 38 E1 02 14 */ addi r7, r1, 0x214 /* 8033AC30 00336890 39 01 02 10 */ addi r8, r1, 0x210 /* 8033AC34 00336894 39 20 00 40 */ li r9, 0x40 /* 8033AC38 00336898 4B FF ED 89 */ bl gsiLargeIntAdd /* 8033AC3C 0033689C 7F 23 CB 78 */ mr r3, r25 /* 8033AC40 003368A0 7F E4 FB 78 */ mr r4, r31 /* 8033AC44 003368A4 7E C5 B3 78 */ mr r5, r22 /* 8033AC48 003368A8 7F E6 FB 78 */ mr r6, r31 /* 8033AC4C 003368AC 38 E1 01 10 */ addi r7, r1, 0x110 /* 8033AC50 003368B0 39 01 01 0C */ addi r8, r1, 0x10c /* 8033AC54 003368B4 39 20 00 40 */ li r9, 0x40 /* 8033AC58 003368B8 4B FF ED 69 */ bl gsiLargeIntAdd /* 8033AC5C 003368BC 38 61 00 08 */ addi r3, r1, 8 /* 8033AC60 003368C0 38 80 00 00 */ li r4, 0 /* 8033AC64 003368C4 38 A0 01 04 */ li r5, 0x104 /* 8033AC68 003368C8 4B CC 94 9D */ bl memset /* 8033AC6C 003368CC 80 81 02 10 */ lwz r4, 0x210(r1) /* 8033AC70 003368D0 7C 04 F8 40 */ cmplw r4, r31 /* 8033AC74 003368D4 41 81 00 10 */ bgt lbl_8033AC84 /* 8033AC78 003368D8 80 01 01 0C */ lwz r0, 0x10c(r1) /* 8033AC7C 003368DC 7C 00 F8 40 */ cmplw r0, r31 /* 8033AC80 003368E0 40 81 00 28 */ ble lbl_8033ACA8 lbl_8033AC84: /* 8033AC84 003368E4 38 E1 00 0C */ addi r7, r1, 0xc /* 8033AC88 003368E8 80 C1 01 0C */ lwz r6, 0x10c(r1) /* 8033AC8C 003368EC 38 61 02 14 */ addi r3, r1, 0x214 /* 8033AC90 003368F0 38 A1 01 10 */ addi r5, r1, 0x110 /* 8033AC94 003368F4 7C E7 BA 14 */ add r7, r7, r23 /* 8033AC98 003368F8 39 01 00 08 */ addi r8, r1, 8 /* 8033AC9C 003368FC 21 3F 00 40 */ subfic r9, r31, 0x40 /* 8033ACA0 00336900 4B FF F2 F5 */ bl gsiLargeIntMult /* 8033ACA4 00336904 48 00 00 5C */ b lbl_8033AD00 lbl_8033ACA8: /* 8033ACA8 00336908 7F A5 EB 78 */ mr r5, r29 /* 8033ACAC 0033690C 38 61 02 10 */ addi r3, r1, 0x210 /* 8033ACB0 00336910 38 81 01 0C */ addi r4, r1, 0x10c /* 8033ACB4 00336914 4B FF EB B5 */ bl gsiLargeIntSizePower2 /* 8033ACB8 00336918 2C 03 00 00 */ cmpwi r3, 0 /* 8033ACBC 0033691C 40 82 00 0C */ bne lbl_8033ACC8 /* 8033ACC0 00336920 38 60 00 00 */ li r3, 0 /* 8033ACC4 00336924 48 00 01 0C */ b lbl_8033ADD0 lbl_8033ACC8: /* 8033ACC8 00336928 80 9D 00 00 */ lwz r4, 0(r29) /* 8033ACCC 0033692C 38 61 02 10 */ addi r3, r1, 0x210 /* 8033ACD0 00336930 4B FF EA E1 */ bl gsiLargeIntResize /* 8033ACD4 00336934 80 9D 00 00 */ lwz r4, 0(r29) /* 8033ACD8 00336938 38 61 01 0C */ addi r3, r1, 0x10c /* 8033ACDC 0033693C 4B FF EA D5 */ bl gsiLargeIntResize /* 8033ACE0 00336940 38 C1 00 0C */ addi r6, r1, 0xc /* 8033ACE4 00336944 80 BD 00 00 */ lwz r5, 0(r29) /* 8033ACE8 00336948 38 61 02 14 */ addi r3, r1, 0x214 /* 8033ACEC 0033694C 38 81 01 10 */ addi r4, r1, 0x110 /* 8033ACF0 00336950 7C C6 BA 14 */ add r6, r6, r23 /* 8033ACF4 00336954 38 E1 00 08 */ addi r7, r1, 8 /* 8033ACF8 00336958 21 1F 00 40 */ subfic r8, r31, 0x40 /* 8033ACFC 0033695C 4B FF FE 75 */ bl gsiLargeIntKMult lbl_8033AD00: /* 8033AD00 00336960 80 01 00 08 */ lwz r0, 8(r1) /* 8033AD04 00336964 7E E5 BB 78 */ mr r5, r23 /* 8033AD08 00336968 38 61 00 0C */ addi r3, r1, 0xc /* 8033AD0C 0033696C 38 80 00 00 */ li r4, 0 /* 8033AD10 00336970 7C 00 FA 14 */ add r0, r0, r31 /* 8033AD14 00336974 90 01 00 08 */ stw r0, 8(r1) /* 8033AD18 00336978 4B CC 93 ED */ bl memset /* 8033AD1C 0033697C 3B 21 00 0C */ addi r25, r1, 0xc /* 8033AD20 00336980 80 01 00 08 */ lwz r0, 8(r1) /* 8033AD24 00336984 7F 3A CB 78 */ mr r26, r25 /* 8033AD28 00336988 7F 64 DB 78 */ mr r4, r27 /* 8033AD2C 0033698C 7F 39 BA 14 */ add r25, r25, r23 /* 8033AD30 00336990 7C 7C C2 14 */ add r3, r28, r24 /* 8033AD34 00336994 7F 5A BA 14 */ add r26, r26, r23 /* 8033AD38 00336998 7C DF 00 50 */ subf r6, r31, r0 /* 8033AD3C 0033699C 7F 45 D3 78 */ mr r5, r26 /* 8033AD40 003369A0 7F 27 CB 78 */ mr r7, r25 /* 8033AD44 003369A4 39 01 00 08 */ addi r8, r1, 8 /* 8033AD48 003369A8 4B FF EF 01 */ bl gsiLargeIntSub /* 8033AD4C 003369AC 80 01 00 08 */ lwz r0, 8(r1) /* 8033AD50 003369B0 7F 83 E3 78 */ mr r3, r28 /* 8033AD54 003369B4 7F 64 DB 78 */ mr r4, r27 /* 8033AD58 003369B8 7F 45 D3 78 */ mr r5, r26 /* 8033AD5C 003369BC 7C 00 FA 14 */ add r0, r0, r31 /* 8033AD60 003369C0 7F 27 CB 78 */ mr r7, r25 /* 8033AD64 003369C4 90 01 00 08 */ stw r0, 8(r1) /* 8033AD68 003369C8 7C DF 00 50 */ subf r6, r31, r0 /* 8033AD6C 003369CC 39 01 00 08 */ addi r8, r1, 8 /* 8033AD70 003369D0 4B FF EE D9 */ bl gsiLargeIntSub /* 8033AD74 003369D4 80 01 00 08 */ lwz r0, 8(r1) /* 8033AD78 003369D8 7F 83 E3 78 */ mr r3, r28 /* 8033AD7C 003369DC 7F 87 E3 78 */ mr r7, r28 /* 8033AD80 003369E0 7F A8 EB 78 */ mr r8, r29 /* 8033AD84 003369E4 7C C0 FA 14 */ add r6, r0, r31 /* 8033AD88 003369E8 7F C9 F3 78 */ mr r9, r30 /* 8033AD8C 003369EC 90 C1 00 08 */ stw r6, 8(r1) /* 8033AD90 003369F0 57 64 08 3C */ slwi r4, r27, 1 /* 8033AD94 003369F4 38 A1 00 0C */ addi r5, r1, 0xc /* 8033AD98 003369F8 4B FF EC 29 */ bl gsiLargeIntAdd /* 8033AD9C 003369FC 48 00 00 10 */ b lbl_8033ADAC lbl_8033ADA0: /* 8033ADA0 00336A00 80 7D 00 00 */ lwz r3, 0(r29) /* 8033ADA4 00336A04 38 03 FF FF */ addi r0, r3, -1 /* 8033ADA8 00336A08 90 1D 00 00 */ stw r0, 0(r29) lbl_8033ADAC: /* 8033ADAC 00336A0C 80 1D 00 00 */ lwz r0, 0(r29) /* 8033ADB0 00336A10 2C 00 00 00 */ cmpwi r0, 0 /* 8033ADB4 00336A14 41 82 00 18 */ beq lbl_8033ADCC /* 8033ADB8 00336A18 54 00 10 3A */ slwi r0, r0, 2 /* 8033ADBC 00336A1C 7C 7C 02 14 */ add r3, r28, r0 /* 8033ADC0 00336A20 80 03 FF FC */ lwz r0, -4(r3) /* 8033ADC4 00336A24 2C 00 00 00 */ cmpwi r0, 0 /* 8033ADC8 00336A28 41 82 FF D8 */ beq lbl_8033ADA0 lbl_8033ADCC: /* 8033ADCC 00336A2C 38 60 00 01 */ li r3, 1 lbl_8033ADD0: /* 8033ADD0 00336A30 39 61 03 50 */ addi r11, r1, 0x350 /* 8033ADD4 00336A34 4B E8 C3 89 */ bl _restgpr_21 /* 8033ADD8 00336A38 80 01 03 54 */ lwz r0, 0x354(r1) /* 8033ADDC 00336A3C 7C 08 03 A6 */ mtlr r0 /* 8033ADE0 00336A40 38 21 03 50 */ addi r1, r1, 0x350 /* 8033ADE4 00336A44 4E 80 00 20 */ blr .global gsLargeIntSquareMod gsLargeIntSquareMod: /* 8033ADE8 00336A48 94 21 FB B0 */ stwu r1, -0x450(r1) /* 8033ADEC 00336A4C 7C 08 02 A6 */ mflr r0 /* 8033ADF0 00336A50 90 01 04 54 */ stw r0, 0x454(r1) /* 8033ADF4 00336A54 39 61 04 50 */ addi r11, r1, 0x450 /* 8033ADF8 00336A58 4B E8 C3 0D */ bl _savegpr_18 /* 8033ADFC 00336A5C 3E 40 80 61 */ lis r18, lbl_80610BD0@ha /* 8033AE00 00336A60 3B 40 00 00 */ li r26, 0 /* 8033AE04 00336A64 3A 52 0B D0 */ addi r18, r18, lbl_80610BD0@l /* 8033AE08 00336A68 93 41 00 08 */ stw r26, 8(r1) /* 8033AE0C 00336A6C 80 12 00 7C */ lwz r0, 0x7c(r18) /* 8033AE10 00336A70 7C 7C 1B 78 */ mr r28, r3 /* 8033AE14 00336A74 83 E3 00 00 */ lwz r31, 0(r3) /* 8033AE18 00336A78 7C 9D 23 78 */ mr r29, r4 /* 8033AE1C 00336A7C 2C 00 00 00 */ cmpwi r0, 0 /* 8033AE20 00336A80 7C BE 2B 78 */ mr r30, r5 /* 8033AE24 00336A84 3B 60 00 00 */ li r27, 0 /* 8033AE28 00336A88 3B 20 00 00 */ li r25, 0 /* 8033AE2C 00336A8C 40 82 00 20 */ bne lbl_8033AE4C /* 8033AE30 00336A90 80 72 00 78 */ lwz r3, 0x78(r18) /* 8033AE34 00336A94 38 03 00 01 */ addi r0, r3, 1 /* 8033AE38 00336A98 90 12 00 78 */ stw r0, 0x78(r18) /* 8033AE3C 00336A9C 4B FF E1 E5 */ bl current_time_hires /* 8033AE40 00336AA0 38 00 00 01 */ li r0, 1 /* 8033AE44 00336AA4 90 72 00 70 */ stw r3, 0x70(r18) /* 8033AE48 00336AA8 90 12 00 7C */ stw r0, 0x7c(r18) lbl_8033AE4C: /* 8033AE4C 00336AAC 38 61 02 10 */ addi r3, r1, 0x210 /* 8033AE50 00336AB0 38 80 00 00 */ li r4, 0 /* 8033AE54 00336AB4 38 A0 02 00 */ li r5, 0x200 /* 8033AE58 00336AB8 4B CC 92 AD */ bl memset /* 8033AE5C 00336ABC 38 61 00 10 */ addi r3, r1, 0x10 /* 8033AE60 00336AC0 38 80 00 00 */ li r4, 0 /* 8033AE64 00336AC4 38 A0 02 00 */ li r5, 0x200 /* 8033AE68 00336AC8 4B CC 92 9D */ bl memset /* 8033AE6C 00336ACC 38 DC 00 04 */ addi r6, r28, 4 /* 8033AE70 00336AD0 38 61 00 10 */ addi r3, r1, 0x10 /* 8033AE74 00336AD4 39 20 00 01 */ li r9, 1 /* 8033AE78 00336AD8 39 60 00 04 */ li r11, 4 /* 8033AE7C 00336ADC 38 00 00 00 */ li r0, 0 /* 8033AE80 00336AE0 3C A0 80 00 */ lis r5, 0x8000 /* 8033AE84 00336AE4 48 00 02 10 */ b lbl_8033B094 lbl_8033AE88: /* 8033AE88 00336AE8 2C 89 00 00 */ cmpwi cr1, r9, 0 /* 8033AE8C 00336AEC 39 40 00 00 */ li r10, 0 /* 8033AE90 00336AF0 40 85 01 DC */ ble cr1, lbl_8033B06C /* 8033AE94 00336AF4 2C 09 00 08 */ cmpwi r9, 8 /* 8033AE98 00336AF8 39 89 FF F8 */ addi r12, r9, -8 /* 8033AE9C 00336AFC 40 81 01 78 */ ble lbl_8033B014 /* 8033AEA0 00336B00 38 E0 00 00 */ li r7, 0 /* 8033AEA4 00336B04 41 84 00 14 */ blt cr1, lbl_8033AEB8 /* 8033AEA8 00336B08 38 85 FF FE */ addi r4, r5, -2 /* 8033AEAC 00336B0C 7C 09 20 00 */ cmpw r9, r4 /* 8033AEB0 00336B10 41 81 00 08 */ bgt lbl_8033AEB8 /* 8033AEB4 00336B14 38 E0 00 01 */ li r7, 1 lbl_8033AEB8: /* 8033AEB8 00336B18 2C 07 00 00 */ cmpwi r7, 0 /* 8033AEBC 00336B1C 41 82 01 58 */ beq lbl_8033B014 /* 8033AEC0 00336B20 38 8C 00 07 */ addi r4, r12, 7 /* 8033AEC4 00336B24 39 01 00 10 */ addi r8, r1, 0x10 /* 8033AEC8 00336B28 54 84 E8 FE */ srwi r4, r4, 3 /* 8033AECC 00336B2C 7F 87 E3 78 */ mr r7, r28 /* 8033AED0 00336B30 7D 08 5A 14 */ add r8, r8, r11 /* 8033AED4 00336B34 7C 89 03 A6 */ mtctr r4 /* 8033AED8 00336B38 2C 0C 00 00 */ cmpwi r12, 0 /* 8033AEDC 00336B3C 40 81 01 38 */ ble lbl_8033B014 lbl_8033AEE0: /* 8033AEE0 00336B40 80 86 00 04 */ lwz r4, 4(r6) /* 8033AEE4 00336B44 39 4A 00 08 */ addi r10, r10, 8 /* 8033AEE8 00336B48 82 47 00 04 */ lwz r18, 4(r7) /* 8033AEEC 00336B4C 82 A8 00 00 */ lwz r21, 0(r8) /* 8033AEF0 00336B50 7D 84 91 D6 */ mullw r12, r4, r18 /* 8033AEF4 00336B54 82 67 00 08 */ lwz r19, 8(r7) /* 8033AEF8 00336B58 7E FA A8 14 */ addc r23, r26, r21 /* 8033AEFC 00336B5C 82 87 00 0C */ lwz r20, 0xc(r7) /* 8033AF00 00336B60 7F 7B 01 94 */ addze r27, r27 /* 8033AF04 00336B64 82 A7 00 10 */ lwz r21, 0x10(r7) /* 8033AF08 00336B68 7D 97 60 14 */ addc r12, r23, r12 /* 8033AF0C 00336B6C 82 C7 00 14 */ lwz r22, 0x14(r7) /* 8033AF10 00336B70 7E 44 90 16 */ mulhwu r18, r4, r18 /* 8033AF14 00336B74 91 88 00 00 */ stw r12, 0(r8) /* 8033AF18 00336B78 83 47 00 18 */ lwz r26, 0x18(r7) /* 8033AF1C 00336B7C 81 88 00 04 */ lwz r12, 4(r8) /* 8033AF20 00336B80 83 07 00 1C */ lwz r24, 0x1c(r7) /* 8033AF24 00336B84 86 E7 00 20 */ lwzu r23, 0x20(r7) /* 8033AF28 00336B88 7E 5B 91 14 */ adde r18, r27, r18 /* 8033AF2C 00336B8C 7F 72 60 14 */ addc r27, r18, r12 /* 8033AF30 00336B90 7D 84 99 D6 */ mullw r12, r4, r19 /* 8033AF34 00336B94 7E 40 01 94 */ addze r18, r0 /* 8033AF38 00336B98 7D 9B 60 14 */ addc r12, r27, r12 /* 8033AF3C 00336B9C 7F 64 98 16 */ mulhwu r27, r4, r19 /* 8033AF40 00336BA0 91 88 00 04 */ stw r12, 4(r8) /* 8033AF44 00336BA4 82 68 00 08 */ lwz r19, 8(r8) /* 8033AF48 00336BA8 7D 84 A1 D6 */ mullw r12, r4, r20 /* 8033AF4C 00336BAC 7F 72 D9 14 */ adde r27, r18, r27 /* 8033AF50 00336BB0 7F 7B 98 14 */ addc r27, r27, r19 /* 8033AF54 00336BB4 7E 60 01 94 */ addze r19, r0 /* 8033AF58 00336BB8 7D 9B 60 14 */ addc r12, r27, r12 /* 8033AF5C 00336BBC 7F 64 A0 16 */ mulhwu r27, r4, r20 /* 8033AF60 00336BC0 91 88 00 08 */ stw r12, 8(r8) /* 8033AF64 00336BC4 82 88 00 0C */ lwz r20, 0xc(r8) /* 8033AF68 00336BC8 7D 84 A9 D6 */ mullw r12, r4, r21 /* 8033AF6C 00336BCC 7F 73 D9 14 */ adde r27, r19, r27 /* 8033AF70 00336BD0 7F 7B A0 14 */ addc r27, r27, r20 /* 8033AF74 00336BD4 7E 80 01 94 */ addze r20, r0 /* 8033AF78 00336BD8 7D 9B 60 14 */ addc r12, r27, r12 /* 8033AF7C 00336BDC 7F 64 A8 16 */ mulhwu r27, r4, r21 /* 8033AF80 00336BE0 91 88 00 0C */ stw r12, 0xc(r8) /* 8033AF84 00336BE4 82 A8 00 10 */ lwz r21, 0x10(r8) /* 8033AF88 00336BE8 7D 84 B1 D6 */ mullw r12, r4, r22 /* 8033AF8C 00336BEC 7F 74 D9 14 */ adde r27, r20, r27 /* 8033AF90 00336BF0 7F 7B A8 14 */ addc r27, r27, r21 /* 8033AF94 00336BF4 7E A0 01 94 */ addze r21, r0 /* 8033AF98 00336BF8 7D 9B 60 14 */ addc r12, r27, r12 /* 8033AF9C 00336BFC 7F 64 B0 16 */ mulhwu r27, r4, r22 /* 8033AFA0 00336C00 91 88 00 10 */ stw r12, 0x10(r8) /* 8033AFA4 00336C04 82 C8 00 14 */ lwz r22, 0x14(r8) /* 8033AFA8 00336C08 7D 84 D1 D6 */ mullw r12, r4, r26 /* 8033AFAC 00336C0C 7F 75 D9 14 */ adde r27, r21, r27 /* 8033AFB0 00336C10 7F 7B B0 14 */ addc r27, r27, r22 /* 8033AFB4 00336C14 7E C0 01 94 */ addze r22, r0 /* 8033AFB8 00336C18 7D 9B 60 14 */ addc r12, r27, r12 /* 8033AFBC 00336C1C 7F 64 D0 16 */ mulhwu r27, r4, r26 /* 8033AFC0 00336C20 91 88 00 14 */ stw r12, 0x14(r8) /* 8033AFC4 00336C24 83 48 00 18 */ lwz r26, 0x18(r8) /* 8033AFC8 00336C28 7D 84 C1 D6 */ mullw r12, r4, r24 /* 8033AFCC 00336C2C 7F 76 D9 14 */ adde r27, r22, r27 /* 8033AFD0 00336C30 7F 5B D0 14 */ addc r26, r27, r26 /* 8033AFD4 00336C34 7F 60 01 94 */ addze r27, r0 /* 8033AFD8 00336C38 7D 9A 60 14 */ addc r12, r26, r12 /* 8033AFDC 00336C3C 7F 44 C0 16 */ mulhwu r26, r4, r24 /* 8033AFE0 00336C40 91 88 00 18 */ stw r12, 0x18(r8) /* 8033AFE4 00336C44 83 08 00 1C */ lwz r24, 0x1c(r8) /* 8033AFE8 00336C48 7D 84 B9 D6 */ mullw r12, r4, r23 /* 8033AFEC 00336C4C 7F 7B D1 14 */ adde r27, r27, r26 /* 8033AFF0 00336C50 7F 5B C0 14 */ addc r26, r27, r24 /* 8033AFF4 00336C54 7F 00 01 94 */ addze r24, r0 /* 8033AFF8 00336C58 7D 9A 60 14 */ addc r12, r26, r12 /* 8033AFFC 00336C5C 3B 60 00 00 */ li r27, 0 /* 8033B000 00336C60 7C 84 B8 16 */ mulhwu r4, r4, r23 /* 8033B004 00336C64 91 88 00 1C */ stw r12, 0x1c(r8) /* 8033B008 00336C68 39 08 00 20 */ addi r8, r8, 0x20 /* 8033B00C 00336C6C 7F 58 21 14 */ adde r26, r24, r4 /* 8033B010 00336C70 42 00 FE D0 */ bdnz lbl_8033AEE0 lbl_8033B014: /* 8033B014 00336C74 55 48 10 3A */ slwi r8, r10, 2 /* 8033B018 00336C78 7C 8A 48 50 */ subf r4, r10, r9 /* 8033B01C 00336C7C 7C E8 5A 14 */ add r7, r8, r11 /* 8033B020 00336C80 7E 5C 42 14 */ add r18, r28, r8 /* 8033B024 00336C84 7E 63 3A 14 */ add r19, r3, r7 /* 8033B028 00336C88 7C 89 03 A6 */ mtctr r4 /* 8033B02C 00336C8C 7C 0A 48 00 */ cmpw r10, r9 /* 8033B030 00336C90 40 80 00 3C */ bge lbl_8033B06C lbl_8033B034: /* 8033B034 00336C94 84 F2 00 04 */ lwzu r7, 4(r18) /* 8033B038 00336C98 39 4A 00 01 */ addi r10, r10, 1 /* 8033B03C 00336C9C 81 06 00 04 */ lwz r8, 4(r6) /* 8033B040 00336CA0 81 93 00 00 */ lwz r12, 0(r19) /* 8033B044 00336CA4 7C 88 39 D6 */ mullw r4, r8, r7 /* 8033B048 00336CA8 7E FA 60 14 */ addc r23, r26, r12 /* 8033B04C 00336CAC 7D 9B 01 94 */ addze r12, r27 /* 8033B050 00336CB0 3B 60 00 00 */ li r27, 0 /* 8033B054 00336CB4 7C 97 20 14 */ addc r4, r23, r4 /* 8033B058 00336CB8 7C E8 38 16 */ mulhwu r7, r8, r7 /* 8033B05C 00336CBC 90 93 00 00 */ stw r4, 0(r19) /* 8033B060 00336CC0 3A 73 00 04 */ addi r19, r19, 4 /* 8033B064 00336CC4 7F 4C 39 14 */ adde r26, r12, r7 /* 8033B068 00336CC8 42 00 FF CC */ bdnz lbl_8033B034 lbl_8033B06C: /* 8033B06C 00336CCC 7F 44 DB 79 */ or. r4, r26, r27 /* 8033B070 00336CD0 41 82 00 18 */ beq lbl_8033B088 /* 8033B074 00336CD4 7C 89 52 14 */ add r4, r9, r10 /* 8033B078 00336CD8 54 84 10 3A */ slwi r4, r4, 2 /* 8033B07C 00336CDC 7F 43 21 2E */ stwx r26, r3, r4 /* 8033B080 00336CE0 7F 7A DB 78 */ mr r26, r27 /* 8033B084 00336CE4 3B 60 00 00 */ li r27, 0 lbl_8033B088: /* 8033B088 00336CE8 38 C6 00 04 */ addi r6, r6, 4 /* 8033B08C 00336CEC 39 29 00 01 */ addi r9, r9, 1 /* 8033B090 00336CF0 39 6B 00 04 */ addi r11, r11, 4 lbl_8033B094: /* 8033B094 00336CF4 7C 09 F8 00 */ cmpw r9, r31 /* 8033B098 00336CF8 41 80 FD F0 */ blt lbl_8033AE88 /* 8033B09C 00336CFC 57 E5 08 3D */ rlwinm. r5, r31, 1, 0, 0x1e /* 8033B0A0 00336D00 38 81 00 10 */ addi r4, r1, 0x10 /* 8033B0A4 00336D04 40 81 01 04 */ ble lbl_8033B1A8 /* 8033B0A8 00336D08 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f /* 8033B0AC 00336D0C 7C 09 03 A6 */ mtctr r0 /* 8033B0B0 00336D10 41 82 00 D4 */ beq lbl_8033B184 lbl_8033B0B4: /* 8033B0B4 00336D14 80 64 00 00 */ lwz r3, 0(r4) /* 8033B0B8 00336D18 54 60 08 3C */ slwi r0, r3, 1 /* 8033B0BC 00336D1C 54 63 0F FE */ srwi r3, r3, 0x1f /* 8033B0C0 00336D20 7C 19 02 14 */ add r0, r25, r0 /* 8033B0C4 00336D24 90 04 00 00 */ stw r0, 0(r4) /* 8033B0C8 00336D28 7C 79 1B 78 */ mr r25, r3 /* 8033B0CC 00336D2C 80 64 00 04 */ lwz r3, 4(r4) /* 8033B0D0 00336D30 54 60 08 3C */ slwi r0, r3, 1 /* 8033B0D4 00336D34 54 63 0F FE */ srwi r3, r3, 0x1f /* 8033B0D8 00336D38 7C 19 02 14 */ add r0, r25, r0 /* 8033B0DC 00336D3C 90 04 00 04 */ stw r0, 4(r4) /* 8033B0E0 00336D40 7C 79 1B 78 */ mr r25, r3 /* 8033B0E4 00336D44 80 64 00 08 */ lwz r3, 8(r4) /* 8033B0E8 00336D48 54 60 08 3C */ slwi r0, r3, 1 /* 8033B0EC 00336D4C 54 63 0F FE */ srwi r3, r3, 0x1f /* 8033B0F0 00336D50 7C 19 02 14 */ add r0, r25, r0 /* 8033B0F4 00336D54 90 04 00 08 */ stw r0, 8(r4) /* 8033B0F8 00336D58 7C 79 1B 78 */ mr r25, r3 /* 8033B0FC 00336D5C 80 64 00 0C */ lwz r3, 0xc(r4) /* 8033B100 00336D60 54 60 08 3C */ slwi r0, r3, 1 /* 8033B104 00336D64 54 63 0F FE */ srwi r3, r3, 0x1f /* 8033B108 00336D68 7C 19 02 14 */ add r0, r25, r0 /* 8033B10C 00336D6C 90 04 00 0C */ stw r0, 0xc(r4) /* 8033B110 00336D70 7C 79 1B 78 */ mr r25, r3 /* 8033B114 00336D74 80 64 00 10 */ lwz r3, 0x10(r4) /* 8033B118 00336D78 54 60 08 3C */ slwi r0, r3, 1 /* 8033B11C 00336D7C 54 63 0F FE */ srwi r3, r3, 0x1f /* 8033B120 00336D80 7C 19 02 14 */ add r0, r25, r0 /* 8033B124 00336D84 90 04 00 10 */ stw r0, 0x10(r4) /* 8033B128 00336D88 7C 79 1B 78 */ mr r25, r3 /* 8033B12C 00336D8C 80 64 00 14 */ lwz r3, 0x14(r4) /* 8033B130 00336D90 54 60 08 3C */ slwi r0, r3, 1 /* 8033B134 00336D94 54 63 0F FE */ srwi r3, r3, 0x1f /* 8033B138 00336D98 7C 19 02 14 */ add r0, r25, r0 /* 8033B13C 00336D9C 90 04 00 14 */ stw r0, 0x14(r4) /* 8033B140 00336DA0 7C 79 1B 78 */ mr r25, r3 /* 8033B144 00336DA4 80 64 00 18 */ lwz r3, 0x18(r4) /* 8033B148 00336DA8 54 60 08 3C */ slwi r0, r3, 1 /* 8033B14C 00336DAC 54 63 0F FE */ srwi r3, r3, 0x1f /* 8033B150 00336DB0 7C 19 02 14 */ add r0, r25, r0 /* 8033B154 00336DB4 90 04 00 18 */ stw r0, 0x18(r4) /* 8033B158 00336DB8 7C 79 1B 78 */ mr r25, r3 /* 8033B15C 00336DBC 80 64 00 1C */ lwz r3, 0x1c(r4) /* 8033B160 00336DC0 54 60 08 3C */ slwi r0, r3, 1 /* 8033B164 00336DC4 54 63 0F FE */ srwi r3, r3, 0x1f /* 8033B168 00336DC8 7C 19 02 14 */ add r0, r25, r0 /* 8033B16C 00336DCC 90 04 00 1C */ stw r0, 0x1c(r4) /* 8033B170 00336DD0 7C 79 1B 78 */ mr r25, r3 /* 8033B174 00336DD4 38 84 00 20 */ addi r4, r4, 0x20 /* 8033B178 00336DD8 42 00 FF 3C */ bdnz lbl_8033B0B4 /* 8033B17C 00336DDC 70 A5 00 07 */ andi. r5, r5, 7 /* 8033B180 00336DE0 41 82 00 28 */ beq lbl_8033B1A8 lbl_8033B184: /* 8033B184 00336DE4 7C A9 03 A6 */ mtctr r5 lbl_8033B188: /* 8033B188 00336DE8 80 64 00 00 */ lwz r3, 0(r4) /* 8033B18C 00336DEC 54 60 08 3C */ slwi r0, r3, 1 /* 8033B190 00336DF0 54 63 0F FE */ srwi r3, r3, 0x1f /* 8033B194 00336DF4 7C 19 02 14 */ add r0, r25, r0 /* 8033B198 00336DF8 90 04 00 00 */ stw r0, 0(r4) /* 8033B19C 00336DFC 7C 79 1B 78 */ mr r25, r3 /* 8033B1A0 00336E00 38 84 00 04 */ addi r4, r4, 4 /* 8033B1A4 00336E04 42 00 FF E4 */ bdnz lbl_8033B188 lbl_8033B1A8: /* 8033B1A8 00336E08 2C 9F 00 00 */ cmpwi cr1, r31, 0 /* 8033B1AC 00336E0C 39 60 00 00 */ li r11, 0 /* 8033B1B0 00336E10 40 85 01 A8 */ ble cr1, lbl_8033B358 /* 8033B1B4 00336E14 2C 1F 00 08 */ cmpwi r31, 8 /* 8033B1B8 00336E18 38 9F FF F8 */ addi r4, r31, -8 /* 8033B1BC 00336E1C 40 81 01 60 */ ble lbl_8033B31C /* 8033B1C0 00336E20 38 A0 00 00 */ li r5, 0 /* 8033B1C4 00336E24 41 84 00 18 */ blt cr1, lbl_8033B1DC /* 8033B1C8 00336E28 3C 60 80 00 */ lis r3, 0x7FFFFFFE@ha /* 8033B1CC 00336E2C 38 03 FF FE */ addi r0, r3, 0x7FFFFFFE@l /* 8033B1D0 00336E30 7C 1F 00 00 */ cmpw r31, r0 /* 8033B1D4 00336E34 41 81 00 08 */ bgt lbl_8033B1DC /* 8033B1D8 00336E38 38 A0 00 01 */ li r5, 1 lbl_8033B1DC: /* 8033B1DC 00336E3C 2C 05 00 00 */ cmpwi r5, 0 /* 8033B1E0 00336E40 41 82 01 3C */ beq lbl_8033B31C /* 8033B1E4 00336E44 38 04 00 07 */ addi r0, r4, 7 /* 8033B1E8 00336E48 7F 83 E3 78 */ mr r3, r28 /* 8033B1EC 00336E4C 54 00 E8 FE */ srwi r0, r0, 3 /* 8033B1F0 00336E50 39 80 00 00 */ li r12, 0 /* 8033B1F4 00336E54 7C 09 03 A6 */ mtctr r0 /* 8033B1F8 00336E58 2C 04 00 00 */ cmpwi r4, 0 /* 8033B1FC 00336E5C 40 81 01 20 */ ble lbl_8033B31C lbl_8033B200: /* 8033B200 00336E60 81 23 00 04 */ lwz r9, 4(r3) /* 8033B204 00336E64 38 CB 00 01 */ addi r6, r11, 1 /* 8033B208 00336E68 82 43 00 08 */ lwz r18, 8(r3) /* 8033B20C 00336E6C 38 8B 00 02 */ addi r4, r11, 2 /* 8033B210 00336E70 7D 09 49 D6 */ mullw r8, r9, r9 /* 8033B214 00336E74 39 41 02 10 */ addi r10, r1, 0x210 /* 8033B218 00336E78 80 03 00 0C */ lwz r0, 0xc(r3) /* 8033B21C 00336E7C 3B 0B 00 04 */ addi r24, r11, 4 /* 8033B220 00336E80 54 99 18 38 */ slwi r25, r4, 3 /* 8033B224 00336E84 80 A3 00 10 */ lwz r5, 0x10(r3) /* 8033B228 00336E88 7D 0A 61 6E */ stwux r8, r10, r12 /* 8033B22C 00336E8C 7E 89 48 16 */ mulhwu r20, r9, r9 /* 8033B230 00336E90 54 C6 18 38 */ slwi r6, r6, 3 /* 8033B234 00336E94 80 E3 00 14 */ lwz r7, 0x14(r3) /* 8033B238 00336E98 3A 61 02 10 */ addi r19, r1, 0x210 /* 8033B23C 00336E9C 81 03 00 18 */ lwz r8, 0x18(r3) /* 8033B240 00336EA0 38 81 02 10 */ addi r4, r1, 0x210 /* 8033B244 00336EA4 7E F2 91 D6 */ mullw r23, r18, r18 /* 8033B248 00336EA8 7E 73 32 14 */ add r19, r19, r6 /* 8033B24C 00336EAC 92 8A 00 04 */ stw r20, 4(r10) /* 8033B250 00336EB0 57 18 18 38 */ slwi r24, r24, 3 /* 8033B254 00336EB4 7C 84 CA 14 */ add r4, r4, r25 /* 8033B258 00336EB8 81 23 00 1C */ lwz r9, 0x1c(r3) /* 8033B25C 00336EBC 92 F3 00 00 */ stw r23, 0(r19) /* 8033B260 00336EC0 7E 52 90 16 */ mulhwu r18, r18, r18 /* 8033B264 00336EC4 38 CB 00 03 */ addi r6, r11, 3 /* 8033B268 00336EC8 85 43 00 20 */ lwzu r10, 0x20(r3) /* 8033B26C 00336ECC 3B 4B 00 06 */ addi r26, r11, 6 /* 8033B270 00336ED0 54 D9 18 38 */ slwi r25, r6, 3 /* 8033B274 00336ED4 38 C1 02 10 */ addi r6, r1, 0x210 /* 8033B278 00336ED8 92 53 00 04 */ stw r18, 4(r19) /* 8033B27C 00336EDC 7E E0 01 D6 */ mullw r23, r0, r0 /* 8033B280 00336EE0 3A 41 02 10 */ addi r18, r1, 0x210 /* 8033B284 00336EE4 3A 61 02 10 */ addi r19, r1, 0x210 /* 8033B288 00336EE8 7E 52 C2 14 */ add r18, r18, r24 /* 8033B28C 00336EEC 7C C6 CA 14 */ add r6, r6, r25 /* 8033B290 00336EF0 7E A0 00 16 */ mulhwu r21, r0, r0 /* 8033B294 00336EF4 92 E4 00 00 */ stw r23, 0(r4) /* 8033B298 00336EF8 3B 6B 00 05 */ addi r27, r11, 5 /* 8033B29C 00336EFC 3B 2B 00 07 */ addi r25, r11, 7 /* 8033B2A0 00336F00 57 40 18 38 */ slwi r0, r26, 3 /* 8033B2A4 00336F04 7E 74 9B 78 */ mr r20, r19 /* 8033B2A8 00336F08 7F 05 29 D6 */ mullw r24, r5, r5 /* 8033B2AC 00336F0C 92 A4 00 04 */ stw r21, 4(r4) /* 8033B2B0 00336F10 7E 94 02 14 */ add r20, r20, r0 /* 8033B2B4 00336F14 57 20 18 38 */ slwi r0, r25, 3 /* 8033B2B8 00336F18 38 81 02 10 */ addi r4, r1, 0x210 /* 8033B2BC 00336F1C 57 7B 18 38 */ slwi r27, r27, 3 /* 8033B2C0 00336F20 7C 84 02 14 */ add r4, r4, r0 /* 8033B2C4 00336F24 93 06 00 00 */ stw r24, 0(r6) /* 8033B2C8 00336F28 7C A5 28 16 */ mulhwu r5, r5, r5 /* 8033B2CC 00336F2C 39 8C 00 40 */ addi r12, r12, 0x40 /* 8033B2D0 00336F30 39 6B 00 08 */ addi r11, r11, 8 /* 8033B2D4 00336F34 7C 07 39 D6 */ mullw r0, r7, r7 /* 8033B2D8 00336F38 90 A6 00 04 */ stw r5, 4(r6) /* 8033B2DC 00336F3C 90 12 00 00 */ stw r0, 0(r18) /* 8033B2E0 00336F40 7C A7 38 16 */ mulhwu r5, r7, r7 /* 8033B2E4 00336F44 7C 08 41 D6 */ mullw r0, r8, r8 /* 8033B2E8 00336F48 90 B2 00 04 */ stw r5, 4(r18) /* 8033B2EC 00336F4C 7C 13 D9 6E */ stwux r0, r19, r27 /* 8033B2F0 00336F50 7C A8 40 16 */ mulhwu r5, r8, r8 /* 8033B2F4 00336F54 7C 09 49 D6 */ mullw r0, r9, r9 /* 8033B2F8 00336F58 90 B3 00 04 */ stw r5, 4(r19) /* 8033B2FC 00336F5C 90 14 00 00 */ stw r0, 0(r20) /* 8033B300 00336F60 7C A9 48 16 */ mulhwu r5, r9, r9 /* 8033B304 00336F64 7C 0A 51 D6 */ mullw r0, r10, r10 /* 8033B308 00336F68 90 B4 00 04 */ stw r5, 4(r20) /* 8033B30C 00336F6C 7C AA 50 16 */ mulhwu r5, r10, r10 /* 8033B310 00336F70 90 04 00 00 */ stw r0, 0(r4) /* 8033B314 00336F74 90 A4 00 04 */ stw r5, 4(r4) /* 8033B318 00336F78 42 00 FE E8 */ bdnz lbl_8033B200 lbl_8033B31C: /* 8033B31C 00336F7C 55 63 10 3A */ slwi r3, r11, 2 /* 8033B320 00336F80 7C 0B F8 50 */ subf r0, r11, r31 /* 8033B324 00336F84 7C 9C 1A 14 */ add r4, r28, r3 /* 8033B328 00336F88 55 63 18 38 */ slwi r3, r11, 3 /* 8033B32C 00336F8C 7C 09 03 A6 */ mtctr r0 /* 8033B330 00336F90 7C 0B F8 00 */ cmpw r11, r31 /* 8033B334 00336F94 40 80 00 24 */ bge lbl_8033B358 lbl_8033B338: /* 8033B338 00336F98 84 A4 00 04 */ lwzu r5, 4(r4) /* 8033B33C 00336F9C 38 C1 02 10 */ addi r6, r1, 0x210 /* 8033B340 00336FA0 7C 05 29 D6 */ mullw r0, r5, r5 /* 8033B344 00336FA4 7C 06 19 6E */ stwux r0, r6, r3 /* 8033B348 00336FA8 7C A5 28 16 */ mulhwu r5, r5, r5 /* 8033B34C 00336FAC 38 63 00 08 */ addi r3, r3, 8 /* 8033B350 00336FB0 90 A6 00 04 */ stw r5, 4(r6) /* 8033B354 00336FB4 42 00 FF E4 */ bdnz lbl_8033B338 lbl_8033B358: /* 8033B358 00336FB8 57 E4 08 3C */ slwi r4, r31, 1 /* 8033B35C 00336FBC 38 A1 02 10 */ addi r5, r1, 0x210 /* 8033B360 00336FC0 90 81 00 08 */ stw r4, 8(r1) /* 8033B364 00336FC4 7C 86 23 78 */ mr r6, r4 /* 8033B368 00336FC8 7C A7 2B 78 */ mr r7, r5 /* 8033B36C 00336FCC 38 61 00 10 */ addi r3, r1, 0x10 /* 8033B370 00336FD0 39 01 00 08 */ addi r8, r1, 8 /* 8033B374 00336FD4 39 20 00 80 */ li r9, 0x80 /* 8033B378 00336FD8 4B FF E6 49 */ bl gsiLargeIntAdd /* 8033B37C 00336FDC 80 81 00 08 */ lwz r4, 8(r1) /* 8033B380 00336FE0 7F A5 EB 78 */ mr r5, r29 /* 8033B384 00336FE4 7F C7 F3 78 */ mr r7, r30 /* 8033B388 00336FE8 38 61 02 10 */ addi r3, r1, 0x210 /* 8033B38C 00336FEC 38 C0 00 00 */ li r6, 0 /* 8033B390 00336FF0 4B FF EE 3D */ bl gsiLargeIntDiv /* 8033B394 00336FF4 3F 20 80 61 */ lis r25, lbl_80610BD0@ha /* 8033B398 00336FF8 7C 72 1B 78 */ mr r18, r3 /* 8033B39C 00336FFC 3B 39 0B D0 */ addi r25, r25, lbl_80610BD0@l /* 8033B3A0 00337000 80 19 00 7C */ lwz r0, 0x7c(r25) /* 8033B3A4 00337004 28 00 00 01 */ cmplwi r0, 1 /* 8033B3A8 00337008 40 82 00 24 */ bne lbl_8033B3CC /* 8033B3AC 0033700C 4B FF DC 75 */ bl current_time_hires /* 8033B3B0 00337010 80 B9 00 70 */ lwz r5, 0x70(r25) /* 8033B3B4 00337014 38 00 00 00 */ li r0, 0 /* 8033B3B8 00337018 80 99 00 74 */ lwz r4, 0x74(r25) /* 8033B3BC 0033701C 7C 65 18 50 */ subf r3, r5, r3 /* 8033B3C0 00337020 90 19 00 7C */ stw r0, 0x7c(r25) /* 8033B3C4 00337024 7C 04 1A 14 */ add r0, r4, r3 /* 8033B3C8 00337028 90 19 00 74 */ stw r0, 0x74(r25) lbl_8033B3CC: /* 8033B3CC 0033702C 39 61 04 50 */ addi r11, r1, 0x450 /* 8033B3D0 00337030 7E 43 93 78 */ mr r3, r18 /* 8033B3D4 00337034 4B E8 BD 7D */ bl _restgpr_18 /* 8033B3D8 00337038 80 01 04 54 */ lwz r0, 0x454(r1) /* 8033B3DC 0033703C 7C 08 03 A6 */ mtlr r0 /* 8033B3E0 00337040 38 21 04 50 */ addi r1, r1, 0x450 /* 8033B3E4 00337044 4E 80 00 20 */ blr .global gsLargeIntPowerMod gsLargeIntPowerMod: /* 8033B3E8 00337048 94 21 F7 C0 */ stwu r1, -0x840(r1) /* 8033B3EC 0033704C 7C 08 02 A6 */ mflr r0 /* 8033B3F0 00337050 90 01 08 44 */ stw r0, 0x844(r1) /* 8033B3F4 00337054 39 61 08 40 */ addi r11, r1, 0x840 /* 8033B3F8 00337058 4B E8 BD 31 */ bl _savegpr_27 /* 8033B3FC 0033705C 3F A0 80 61 */ lis r29, lbl_80610BD0@ha /* 8033B400 00337060 7C 7F 1B 78 */ mr r31, r3 /* 8033B404 00337064 3B BD 0B D0 */ addi r29, r29, lbl_80610BD0@l /* 8033B408 00337068 7C 9C 23 78 */ mr r28, r4 /* 8033B40C 0033706C 80 1D 00 8C */ lwz r0, 0x8c(r29) /* 8033B410 00337070 7C BB 2B 78 */ mr r27, r5 /* 8033B414 00337074 7C DE 33 78 */ mr r30, r6 /* 8033B418 00337078 2C 00 00 00 */ cmpwi r0, 0 /* 8033B41C 0033707C 40 82 00 20 */ bne lbl_8033B43C /* 8033B420 00337080 80 7D 00 88 */ lwz r3, 0x88(r29) /* 8033B424 00337084 38 03 00 01 */ addi r0, r3, 1 /* 8033B428 00337088 90 1D 00 88 */ stw r0, 0x88(r29) /* 8033B42C 0033708C 4B FF DB F5 */ bl current_time_hires /* 8033B430 00337090 38 00 00 01 */ li r0, 1 /* 8033B434 00337094 90 7D 00 80 */ stw r3, 0x80(r29) /* 8033B438 00337098 90 1D 00 8C */ stw r0, 0x8c(r29) lbl_8033B43C: /* 8033B43C 0033709C 38 61 07 24 */ addi r3, r1, 0x724 /* 8033B440 003370A0 38 80 00 00 */ li r4, 0 /* 8033B444 003370A4 38 A0 01 04 */ li r5, 0x104 /* 8033B448 003370A8 4B CC 8C BD */ bl memset /* 8033B44C 003370AC 38 61 06 20 */ addi r3, r1, 0x620 /* 8033B450 003370B0 38 80 00 00 */ li r4, 0 /* 8033B454 003370B4 38 A0 01 04 */ li r5, 0x104 /* 8033B458 003370B8 4B CC 8C AD */ bl memset /* 8033B45C 003370BC 38 61 05 1C */ addi r3, r1, 0x51c /* 8033B460 003370C0 38 80 00 00 */ li r4, 0 /* 8033B464 003370C4 38 A0 01 04 */ li r5, 0x104 /* 8033B468 003370C8 4B CC 8C 9D */ bl memset /* 8033B46C 003370CC 38 61 04 18 */ addi r3, r1, 0x418 /* 8033B470 003370D0 38 80 00 00 */ li r4, 0 /* 8033B474 003370D4 38 A0 01 04 */ li r5, 0x104 /* 8033B478 003370D8 4B CC 8C 8D */ bl memset /* 8033B47C 003370DC 38 61 03 14 */ addi r3, r1, 0x314 /* 8033B480 003370E0 38 80 00 00 */ li r4, 0 /* 8033B484 003370E4 38 A0 01 04 */ li r5, 0x104 /* 8033B488 003370E8 4B CC 8C 7D */ bl memset /* 8033B48C 003370EC 7F E4 FB 78 */ mr r4, r31 /* 8033B490 003370F0 38 61 02 10 */ addi r3, r1, 0x210 /* 8033B494 003370F4 38 A0 01 04 */ li r5, 0x104 /* 8033B498 003370F8 4B CC 8B 69 */ bl memcpy /* 8033B49C 003370FC 7F 84 E3 78 */ mr r4, r28 /* 8033B4A0 00337100 38 61 01 0C */ addi r3, r1, 0x10c /* 8033B4A4 00337104 38 A0 01 04 */ li r5, 0x104 /* 8033B4A8 00337108 4B CC 8B 59 */ bl memcpy /* 8033B4AC 0033710C 7F 64 DB 78 */ mr r4, r27 /* 8033B4B0 00337110 38 61 00 08 */ addi r3, r1, 8 /* 8033B4B4 00337114 38 A0 01 04 */ li r5, 0x104 /* 8033B4B8 00337118 4B CC 8B 49 */ bl memcpy /* 8033B4BC 0033711C 38 61 02 10 */ addi r3, r1, 0x210 /* 8033B4C0 00337120 48 00 00 10 */ b lbl_8033B4D0 lbl_8033B4C4: /* 8033B4C4 00337124 80 81 02 10 */ lwz r4, 0x210(r1) /* 8033B4C8 00337128 38 04 FF FF */ addi r0, r4, -1 /* 8033B4CC 0033712C 90 01 02 10 */ stw r0, 0x210(r1) lbl_8033B4D0: /* 8033B4D0 00337130 80 81 02 10 */ lwz r4, 0x210(r1) /* 8033B4D4 00337134 2C 04 00 00 */ cmpwi r4, 0 /* 8033B4D8 00337138 41 82 00 14 */ beq lbl_8033B4EC /* 8033B4DC 0033713C 54 80 10 3A */ slwi r0, r4, 2 /* 8033B4E0 00337140 7C 03 00 2E */ lwzx r0, r3, r0 /* 8033B4E4 00337144 2C 00 00 00 */ cmpwi r0, 0 /* 8033B4E8 00337148 41 82 FF DC */ beq lbl_8033B4C4 lbl_8033B4EC: /* 8033B4EC 0033714C 38 61 01 0C */ addi r3, r1, 0x10c /* 8033B4F0 00337150 48 00 00 10 */ b lbl_8033B500 lbl_8033B4F4: /* 8033B4F4 00337154 80 A1 01 0C */ lwz r5, 0x10c(r1) /* 8033B4F8 00337158 38 05 FF FF */ addi r0, r5, -1 /* 8033B4FC 0033715C 90 01 01 0C */ stw r0, 0x10c(r1) lbl_8033B500: /* 8033B500 00337160 80 E1 01 0C */ lwz r7, 0x10c(r1) /* 8033B504 00337164 2C 07 00 00 */ cmpwi r7, 0 /* 8033B508 00337168 41 82 00 14 */ beq lbl_8033B51C /* 8033B50C 0033716C 54 E0 10 3A */ slwi r0, r7, 2 /* 8033B510 00337170 7C 03 00 2E */ lwzx r0, r3, r0 /* 8033B514 00337174 2C 00 00 00 */ cmpwi r0, 0 /* 8033B518 00337178 41 82 FF DC */ beq lbl_8033B4F4 lbl_8033B51C: /* 8033B51C 0033717C 38 61 00 08 */ addi r3, r1, 8 /* 8033B520 00337180 48 00 00 10 */ b lbl_8033B530 lbl_8033B524: /* 8033B524 00337184 80 A1 00 08 */ lwz r5, 8(r1) /* 8033B528 00337188 38 05 FF FF */ addi r0, r5, -1 /* 8033B52C 0033718C 90 01 00 08 */ stw r0, 8(r1) lbl_8033B530: /* 8033B530 00337190 80 C1 00 08 */ lwz r6, 8(r1) /* 8033B534 00337194 2C 06 00 00 */ cmpwi r6, 0 /* 8033B538 00337198 41 82 00 14 */ beq lbl_8033B54C /* 8033B53C 0033719C 54 C0 10 3A */ slwi r0, r6, 2 /* 8033B540 003371A0 7C 03 00 2E */ lwzx r0, r3, r0 /* 8033B544 003371A4 2C 00 00 00 */ cmpwi r0, 0 /* 8033B548 003371A8 41 82 FF DC */ beq lbl_8033B524 lbl_8033B54C: /* 8033B54C 003371AC 2C 06 00 00 */ cmpwi r6, 0 /* 8033B550 003371B0 40 82 00 44 */ bne lbl_8033B594 /* 8033B554 003371B4 3B E0 00 00 */ li r31, 0 /* 8033B558 003371B8 3F A0 80 61 */ lis r29, lbl_80610BD0@ha /* 8033B55C 003371BC 93 FE 00 00 */ stw r31, 0(r30) /* 8033B560 003371C0 3B BD 0B D0 */ addi r29, r29, lbl_80610BD0@l /* 8033B564 003371C4 80 1D 00 8C */ lwz r0, 0x8c(r29) /* 8033B568 003371C8 28 00 00 01 */ cmplwi r0, 1 /* 8033B56C 003371CC 40 82 00 20 */ bne lbl_8033B58C /* 8033B570 003371D0 4B FF DA B1 */ bl current_time_hires /* 8033B574 003371D4 80 9D 00 80 */ lwz r4, 0x80(r29) /* 8033B578 003371D8 80 1D 00 84 */ lwz r0, 0x84(r29) /* 8033B57C 003371DC 7C 64 18 50 */ subf r3, r4, r3 /* 8033B580 003371E0 93 FD 00 8C */ stw r31, 0x8c(r29) /* 8033B584 003371E4 7C 00 1A 14 */ add r0, r0, r3 /* 8033B588 003371E8 90 1D 00 84 */ stw r0, 0x84(r29) lbl_8033B58C: /* 8033B58C 003371EC 38 60 00 00 */ li r3, 0 /* 8033B590 003371F0 48 00 04 64 */ b lbl_8033B9F4 lbl_8033B594: /* 8033B594 003371F4 28 06 00 01 */ cmplwi r6, 1 /* 8033B598 003371F8 40 82 00 54 */ bne lbl_8033B5EC /* 8033B59C 003371FC 80 01 00 0C */ lwz r0, 0xc(r1) /* 8033B5A0 00337200 28 00 00 01 */ cmplwi r0, 1 /* 8033B5A4 00337204 40 82 00 48 */ bne lbl_8033B5EC /* 8033B5A8 00337208 3B E0 00 00 */ li r31, 0 /* 8033B5AC 0033720C 3F A0 80 61 */ lis r29, lbl_80610BD0@ha /* 8033B5B0 00337210 93 FE 00 00 */ stw r31, 0(r30) /* 8033B5B4 00337214 3B BD 0B D0 */ addi r29, r29, lbl_80610BD0@l /* 8033B5B8 00337218 93 FE 00 04 */ stw r31, 4(r30) /* 8033B5BC 0033721C 80 1D 00 8C */ lwz r0, 0x8c(r29) /* 8033B5C0 00337220 28 00 00 01 */ cmplwi r0, 1 /* 8033B5C4 00337224 40 82 00 20 */ bne lbl_8033B5E4 /* 8033B5C8 00337228 4B FF DA 59 */ bl current_time_hires /* 8033B5CC 0033722C 80 9D 00 80 */ lwz r4, 0x80(r29) /* 8033B5D0 00337230 80 1D 00 84 */ lwz r0, 0x84(r29) /* 8033B5D4 00337234 7C 64 18 50 */ subf r3, r4, r3 /* 8033B5D8 00337238 93 FD 00 8C */ stw r31, 0x8c(r29) /* 8033B5DC 0033723C 7C 00 1A 14 */ add r0, r0, r3 /* 8033B5E0 00337240 90 1D 00 84 */ stw r0, 0x84(r29) lbl_8033B5E4: /* 8033B5E4 00337244 38 60 00 01 */ li r3, 1 /* 8033B5E8 00337248 48 00 04 0C */ b lbl_8033B9F4 lbl_8033B5EC: /* 8033B5EC 0033724C 2C 07 00 00 */ cmpwi r7, 0 /* 8033B5F0 00337250 40 82 00 4C */ bne lbl_8033B63C /* 8033B5F4 00337254 38 00 00 01 */ li r0, 1 /* 8033B5F8 00337258 3F A0 80 61 */ lis r29, lbl_80610BD0@ha /* 8033B5FC 0033725C 90 1E 00 00 */ stw r0, 0(r30) /* 8033B600 00337260 3B BD 0B D0 */ addi r29, r29, lbl_80610BD0@l /* 8033B604 00337264 90 1E 00 04 */ stw r0, 4(r30) /* 8033B608 00337268 80 1D 00 8C */ lwz r0, 0x8c(r29) /* 8033B60C 0033726C 28 00 00 01 */ cmplwi r0, 1 /* 8033B610 00337270 40 82 00 24 */ bne lbl_8033B634 /* 8033B614 00337274 4B FF DA 0D */ bl current_time_hires /* 8033B618 00337278 80 BD 00 80 */ lwz r5, 0x80(r29) /* 8033B61C 0033727C 38 00 00 00 */ li r0, 0 /* 8033B620 00337280 80 9D 00 84 */ lwz r4, 0x84(r29) /* 8033B624 00337284 7C 65 18 50 */ subf r3, r5, r3 /* 8033B628 00337288 90 1D 00 8C */ stw r0, 0x8c(r29) /* 8033B62C 0033728C 7C 04 1A 14 */ add r0, r4, r3 /* 8033B630 00337290 90 1D 00 84 */ stw r0, 0x84(r29) lbl_8033B634: /* 8033B634 00337294 38 60 00 01 */ li r3, 1 /* 8033B638 00337298 48 00 03 BC */ b lbl_8033B9F4 lbl_8033B63C: /* 8033B63C 0033729C 80 01 00 0C */ lwz r0, 0xc(r1) /* 8033B640 003372A0 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8033B644 003372A4 40 82 00 48 */ bne lbl_8033B68C /* 8033B648 003372A8 3B E0 00 00 */ li r31, 0 /* 8033B64C 003372AC 3F A0 80 61 */ lis r29, lbl_80610BD0@ha /* 8033B650 003372B0 93 FE 00 00 */ stw r31, 0(r30) /* 8033B654 003372B4 3B BD 0B D0 */ addi r29, r29, lbl_80610BD0@l /* 8033B658 003372B8 93 FE 00 04 */ stw r31, 4(r30) /* 8033B65C 003372BC 80 1D 00 8C */ lwz r0, 0x8c(r29) /* 8033B660 003372C0 28 00 00 01 */ cmplwi r0, 1 /* 8033B664 003372C4 40 82 00 20 */ bne lbl_8033B684 /* 8033B668 003372C8 4B FF D9 B9 */ bl current_time_hires /* 8033B66C 003372CC 80 9D 00 80 */ lwz r4, 0x80(r29) /* 8033B670 003372D0 80 1D 00 84 */ lwz r0, 0x84(r29) /* 8033B674 003372D4 7C 64 18 50 */ subf r3, r4, r3 /* 8033B678 003372D8 93 FD 00 8C */ stw r31, 0x8c(r29) /* 8033B67C 003372DC 7C 00 1A 14 */ add r0, r0, r3 /* 8033B680 003372E0 90 1D 00 84 */ stw r0, 0x84(r29) lbl_8033B684: /* 8033B684 003372E4 38 60 00 00 */ li r3, 0 /* 8033B688 003372E8 48 00 03 6C */ b lbl_8033B9F4 lbl_8033B68C: /* 8033B68C 003372EC 38 61 02 14 */ addi r3, r1, 0x214 /* 8033B690 003372F0 38 A1 00 0C */ addi r5, r1, 0xc /* 8033B694 003372F4 4B FF E2 71 */ bl gsiLargeIntCompare /* 8033B698 003372F8 2C 03 FF FF */ cmpwi r3, -1 /* 8033B69C 003372FC 41 82 00 1C */ beq lbl_8033B6B8 /* 8033B6A0 00337300 80 81 02 10 */ lwz r4, 0x210(r1) /* 8033B6A4 00337304 38 61 02 14 */ addi r3, r1, 0x214 /* 8033B6A8 00337308 38 A1 00 08 */ addi r5, r1, 8 /* 8033B6AC 0033730C 38 E1 02 10 */ addi r7, r1, 0x210 /* 8033B6B0 00337310 38 C0 00 00 */ li r6, 0 /* 8033B6B4 00337314 4B FF EB 19 */ bl gsiLargeIntDiv lbl_8033B6B8: /* 8033B6B8 00337318 80 01 02 10 */ lwz r0, 0x210(r1) /* 8033B6BC 0033731C 2C 00 00 00 */ cmpwi r0, 0 /* 8033B6C0 00337320 40 82 00 48 */ bne lbl_8033B708 /* 8033B6C4 00337324 3B E0 00 00 */ li r31, 0 /* 8033B6C8 00337328 3F A0 80 61 */ lis r29, lbl_80610BD0@ha /* 8033B6CC 0033732C 93 FE 00 00 */ stw r31, 0(r30) /* 8033B6D0 00337330 3B BD 0B D0 */ addi r29, r29, lbl_80610BD0@l /* 8033B6D4 00337334 93 FE 00 04 */ stw r31, 4(r30) /* 8033B6D8 00337338 80 1D 00 8C */ lwz r0, 0x8c(r29) /* 8033B6DC 0033733C 28 00 00 01 */ cmplwi r0, 1 /* 8033B6E0 00337340 40 82 00 20 */ bne lbl_8033B700 /* 8033B6E4 00337344 4B FF D9 3D */ bl current_time_hires /* 8033B6E8 00337348 80 9D 00 80 */ lwz r4, 0x80(r29) /* 8033B6EC 0033734C 80 1D 00 84 */ lwz r0, 0x84(r29) /* 8033B6F0 00337350 7C 64 18 50 */ subf r3, r4, r3 /* 8033B6F4 00337354 93 FD 00 8C */ stw r31, 0x8c(r29) /* 8033B6F8 00337358 7C 00 1A 14 */ add r0, r0, r3 /* 8033B6FC 0033735C 90 1D 00 84 */ stw r0, 0x84(r29) lbl_8033B700: /* 8033B700 00337360 38 60 00 01 */ li r3, 1 /* 8033B704 00337364 48 00 02 F0 */ b lbl_8033B9F4 lbl_8033B708: /* 8033B708 00337368 80 A1 01 0C */ lwz r5, 0x10c(r1) /* 8033B70C 0033736C 38 01 01 0C */ addi r0, r1, 0x10c /* 8033B710 00337370 3B E0 00 20 */ li r31, 0x20 /* 8033B714 00337374 38 60 00 01 */ li r3, 1 /* 8033B718 00337378 38 85 FF FF */ addi r4, r5, -1 /* 8033B71C 0033737C 54 84 10 3A */ slwi r4, r4, 2 /* 8033B720 00337380 7C 80 22 14 */ add r4, r0, r4 /* 8033B724 00337384 80 84 00 04 */ lwz r4, 4(r4) /* 8033B728 00337388 48 00 00 08 */ b lbl_8033B730 lbl_8033B72C: /* 8033B72C 0033738C 3B FF FF FF */ addi r31, r31, -1 lbl_8033B730: /* 8033B730 00337390 38 1F FF FF */ addi r0, r31, -1 /* 8033B734 00337394 7C 60 00 30 */ slw r0, r3, r0 /* 8033B738 00337398 7C 00 20 39 */ and. r0, r0, r4 /* 8033B73C 0033739C 41 82 FF F0 */ beq lbl_8033B72C /* 8033B740 003373A0 38 05 FF FF */ addi r0, r5, -1 /* 8033B744 003373A4 38 61 07 24 */ addi r3, r1, 0x724 /* 8033B748 003373A8 54 00 28 34 */ slwi r0, r0, 5 /* 8033B74C 003373AC 38 80 00 00 */ li r4, 0 /* 8033B750 003373B0 7F FF 02 14 */ add r31, r31, r0 /* 8033B754 003373B4 38 A0 01 04 */ li r5, 0x104 /* 8033B758 003373B8 4B CC 89 AD */ bl memset /* 8033B75C 003373BC 80 61 00 08 */ lwz r3, 8(r1) /* 8033B760 003373C0 38 63 00 01 */ addi r3, r3, 1 /* 8033B764 003373C4 28 03 00 40 */ cmplwi r3, 0x40 /* 8033B768 003373C8 90 61 07 24 */ stw r3, 0x724(r1) /* 8033B76C 003373CC 40 81 00 0C */ ble lbl_8033B778 /* 8033B770 003373D0 38 60 00 00 */ li r3, 0 /* 8033B774 003373D4 48 00 02 80 */ b lbl_8033B9F4 lbl_8033B778: /* 8033B778 003373D8 38 03 FF FF */ addi r0, r3, -1 /* 8033B77C 003373DC 38 61 07 28 */ addi r3, r1, 0x728 /* 8033B780 003373E0 54 04 10 3A */ slwi r4, r0, 2 /* 8033B784 003373E4 38 A0 00 01 */ li r5, 1 /* 8033B788 003373E8 7C A3 21 2E */ stwx r5, r3, r4 /* 8033B78C 003373EC 38 00 00 1F */ li r0, 0x1f /* 8033B790 003373F0 81 81 00 0C */ lwz r12, 0xc(r1) /* 8033B794 003373F4 39 60 00 02 */ li r11, 2 /* 8033B798 003373F8 39 40 00 00 */ li r10, 0 /* 8033B79C 003373FC 39 20 00 01 */ li r9, 1 /* 8033B7A0 00337400 39 00 00 00 */ li r8, 0 /* 8033B7A4 00337404 38 A0 FF FF */ li r5, -1 /* 8033B7A8 00337408 7C 09 03 A6 */ mtctr r0 lbl_8033B7AC: /* 8033B7AC 0033740C 55 63 08 3C */ slwi r3, r11, 1 /* 8033B7B0 00337410 55 40 08 3C */ slwi r0, r10, 1 /* 8033B7B4 00337414 7C 83 28 14 */ addc r4, r3, r5 /* 8033B7B8 00337418 7C C9 60 16 */ mulhwu r6, r9, r12 /* 8033B7BC 0033741C 51 60 0F FE */ rlwimi r0, r11, 1, 0x1f, 0x1f /* 8033B7C0 00337420 7C 00 29 14 */ adde r0, r0, r5 /* 8033B7C4 00337424 7C 68 61 D6 */ mullw r3, r8, r12 /* 8033B7C8 00337428 7C 66 1A 14 */ add r3, r6, r3 /* 8033B7CC 0033742C 7C E9 61 D6 */ mullw r7, r9, r12 /* 8033B7D0 00337430 7C 63 00 38 */ and r3, r3, r0 /* 8033B7D4 00337434 7C E0 20 38 */ and r0, r7, r4 /* 8033B7D8 00337438 7C 00 58 10 */ subfc r0, r0, r11 /* 8033B7DC 0033743C 7C 03 51 10 */ subfe r0, r3, r10 /* 8033B7E0 00337440 7C 0B 59 10 */ subfe r0, r11, r11 /* 8033B7E4 00337444 7C 00 00 D1 */ neg. r0, r0 /* 8033B7E8 00337448 41 82 00 0C */ beq lbl_8033B7F4 /* 8033B7EC 0033744C 7D 29 58 14 */ addc r9, r9, r11 /* 8033B7F0 00337450 7D 08 51 14 */ adde r8, r8, r10 lbl_8033B7F4: /* 8033B7F4 00337454 55 60 08 3C */ slwi r0, r11, 1 /* 8033B7F8 00337458 55 4A 08 3C */ slwi r10, r10, 1 /* 8033B7FC 0033745C 51 6A 0F FE */ rlwimi r10, r11, 1, 0x1f, 0x1f /* 8033B800 00337460 7C 0B 03 78 */ mr r11, r0 /* 8033B804 00337464 42 00 FF A8 */ bdnz lbl_8033B7AC /* 8033B808 00337468 80 81 07 24 */ lwz r4, 0x724(r1) /* 8033B80C 0033746C 7F 69 00 10 */ subfc r27, r9, r0 /* 8033B810 00337470 38 61 07 28 */ addi r3, r1, 0x728 /* 8033B814 00337474 38 A1 00 08 */ addi r5, r1, 8 /* 8033B818 00337478 38 E1 06 20 */ addi r7, r1, 0x620 /* 8033B81C 0033747C 38 C0 00 00 */ li r6, 0 /* 8033B820 00337480 4B FF E9 AD */ bl gsiLargeIntDiv /* 8033B824 00337484 2C 03 00 00 */ cmpwi r3, 0 /* 8033B828 00337488 40 82 00 40 */ bne lbl_8033B868 /* 8033B82C 0033748C 3F A0 80 61 */ lis r29, lbl_80610BD0@ha /* 8033B830 00337490 3B BD 0B D0 */ addi r29, r29, lbl_80610BD0@l /* 8033B834 00337494 80 1D 00 8C */ lwz r0, 0x8c(r29) /* 8033B838 00337498 28 00 00 01 */ cmplwi r0, 1 /* 8033B83C 0033749C 40 82 00 24 */ bne lbl_8033B860 /* 8033B840 003374A0 4B FF D7 E1 */ bl current_time_hires /* 8033B844 003374A4 80 BD 00 80 */ lwz r5, 0x80(r29) /* 8033B848 003374A8 38 00 00 00 */ li r0, 0 /* 8033B84C 003374AC 80 9D 00 84 */ lwz r4, 0x84(r29) /* 8033B850 003374B0 7C 65 18 50 */ subf r3, r5, r3 /* 8033B854 003374B4 90 1D 00 8C */ stw r0, 0x8c(r29) /* 8033B858 003374B8 7C 04 1A 14 */ add r0, r4, r3 /* 8033B85C 003374BC 90 1D 00 84 */ stw r0, 0x84(r29) lbl_8033B860: /* 8033B860 003374C0 38 60 00 00 */ li r3, 0 /* 8033B864 003374C4 48 00 01 90 */ b lbl_8033B9F4 lbl_8033B868: /* 8033B868 003374C8 38 61 06 20 */ addi r3, r1, 0x620 /* 8033B86C 003374CC 38 81 00 08 */ addi r4, r1, 8 /* 8033B870 003374D0 38 A1 05 1C */ addi r5, r1, 0x51c /* 8033B874 003374D4 4B FF F5 75 */ bl gsLargeIntSquareMod /* 8033B878 003374D8 2C 03 00 00 */ cmpwi r3, 0 /* 8033B87C 003374DC 40 82 00 40 */ bne lbl_8033B8BC /* 8033B880 003374E0 3F A0 80 61 */ lis r29, lbl_80610BD0@ha /* 8033B884 003374E4 3B BD 0B D0 */ addi r29, r29, lbl_80610BD0@l /* 8033B888 003374E8 80 1D 00 8C */ lwz r0, 0x8c(r29) /* 8033B88C 003374EC 28 00 00 01 */ cmplwi r0, 1 /* 8033B890 003374F0 40 82 00 24 */ bne lbl_8033B8B4 /* 8033B894 003374F4 4B FF D7 8D */ bl current_time_hires /* 8033B898 003374F8 80 BD 00 80 */ lwz r5, 0x80(r29) /* 8033B89C 003374FC 38 00 00 00 */ li r0, 0 /* 8033B8A0 00337500 80 9D 00 84 */ lwz r4, 0x84(r29) /* 8033B8A4 00337504 7C 65 18 50 */ subf r3, r5, r3 /* 8033B8A8 00337508 90 1D 00 8C */ stw r0, 0x8c(r29) /* 8033B8AC 0033750C 7C 04 1A 14 */ add r0, r4, r3 /* 8033B8B0 00337510 90 1D 00 84 */ stw r0, 0x84(r29) lbl_8033B8B4: /* 8033B8B4 00337514 38 60 00 00 */ li r3, 0 /* 8033B8B8 00337518 48 00 01 3C */ b lbl_8033B9F4 lbl_8033B8BC: /* 8033B8BC 0033751C 7F 66 DB 78 */ mr r6, r27 /* 8033B8C0 00337520 38 61 02 10 */ addi r3, r1, 0x210 /* 8033B8C4 00337524 38 81 05 1C */ addi r4, r1, 0x51c /* 8033B8C8 00337528 38 A1 00 08 */ addi r5, r1, 8 /* 8033B8CC 0033752C 38 E1 03 14 */ addi r7, r1, 0x314 /* 8033B8D0 00337530 48 00 01 3D */ bl gsiLargeIntMultM /* 8033B8D4 00337534 2C 03 00 00 */ cmpwi r3, 0 /* 8033B8D8 00337538 40 82 00 40 */ bne lbl_8033B918 /* 8033B8DC 0033753C 3F A0 80 61 */ lis r29, lbl_80610BD0@ha /* 8033B8E0 00337540 3B BD 0B D0 */ addi r29, r29, lbl_80610BD0@l /* 8033B8E4 00337544 80 1D 00 8C */ lwz r0, 0x8c(r29) /* 8033B8E8 00337548 28 00 00 01 */ cmplwi r0, 1 /* 8033B8EC 0033754C 40 82 00 24 */ bne lbl_8033B910 /* 8033B8F0 00337550 4B FF D7 31 */ bl current_time_hires /* 8033B8F4 00337554 80 BD 00 80 */ lwz r5, 0x80(r29) /* 8033B8F8 00337558 38 00 00 00 */ li r0, 0 /* 8033B8FC 0033755C 80 9D 00 84 */ lwz r4, 0x84(r29) /* 8033B900 00337560 7C 65 18 50 */ subf r3, r5, r3 /* 8033B904 00337564 90 1D 00 8C */ stw r0, 0x8c(r29) /* 8033B908 00337568 7C 04 1A 14 */ add r0, r4, r3 /* 8033B90C 0033756C 90 1D 00 84 */ stw r0, 0x84(r29) lbl_8033B910: /* 8033B910 00337570 38 60 00 00 */ li r3, 0 /* 8033B914 00337574 48 00 00 E0 */ b lbl_8033B9F4 lbl_8033B918: /* 8033B918 00337578 7F C3 F3 78 */ mr r3, r30 /* 8033B91C 0033757C 38 81 06 20 */ addi r4, r1, 0x620 /* 8033B920 00337580 38 A0 01 04 */ li r5, 0x104 /* 8033B924 00337584 4B CC 86 DD */ bl memcpy /* 8033B928 00337588 3B 9F FF FF */ addi r28, r31, -1 /* 8033B92C 0033758C 3B E1 01 0C */ addi r31, r1, 0x10c /* 8033B930 00337590 3B A0 00 01 */ li r29, 1 /* 8033B934 00337594 48 00 00 5C */ b lbl_8033B990 lbl_8033B938: /* 8033B938 00337598 7F C3 F3 78 */ mr r3, r30 /* 8033B93C 0033759C 7F C4 F3 78 */ mr r4, r30 /* 8033B940 003375A0 7F 66 DB 78 */ mr r6, r27 /* 8033B944 003375A4 7F C7 F3 78 */ mr r7, r30 /* 8033B948 003375A8 38 A1 00 08 */ addi r5, r1, 8 /* 8033B94C 003375AC 48 00 00 C1 */ bl gsiLargeIntMultM /* 8033B950 003375B0 7F 80 2E 70 */ srawi r0, r28, 5 /* 8033B954 003375B4 7F A4 E0 30 */ slw r4, r29, r28 /* 8033B958 003375B8 7C 00 01 94 */ addze r0, r0 /* 8033B95C 003375BC 54 00 10 3A */ slwi r0, r0, 2 /* 8033B960 003375C0 7C 7F 02 14 */ add r3, r31, r0 /* 8033B964 003375C4 80 03 00 04 */ lwz r0, 4(r3) /* 8033B968 003375C8 7C 80 00 38 */ and r0, r4, r0 /* 8033B96C 003375CC 7C 04 00 40 */ cmplw r4, r0 /* 8033B970 003375D0 40 82 00 1C */ bne lbl_8033B98C /* 8033B974 003375D4 7F C3 F3 78 */ mr r3, r30 /* 8033B978 003375D8 7F 66 DB 78 */ mr r6, r27 /* 8033B97C 003375DC 7F C7 F3 78 */ mr r7, r30 /* 8033B980 003375E0 38 81 03 14 */ addi r4, r1, 0x314 /* 8033B984 003375E4 38 A1 00 08 */ addi r5, r1, 8 /* 8033B988 003375E8 48 00 00 85 */ bl gsiLargeIntMultM lbl_8033B98C: /* 8033B98C 003375EC 3B 9C FF FF */ addi r28, r28, -1 lbl_8033B990: /* 8033B990 003375F0 2C 1C 00 00 */ cmpwi r28, 0 /* 8033B994 003375F4 40 80 FF A4 */ bge lbl_8033B938 /* 8033B998 003375F8 38 00 00 01 */ li r0, 1 /* 8033B99C 003375FC 7F C3 F3 78 */ mr r3, r30 /* 8033B9A0 00337600 90 01 04 18 */ stw r0, 0x418(r1) /* 8033B9A4 00337604 7F 66 DB 78 */ mr r6, r27 /* 8033B9A8 00337608 7F C7 F3 78 */ mr r7, r30 /* 8033B9AC 0033760C 38 81 04 18 */ addi r4, r1, 0x418 /* 8033B9B0 00337610 90 01 04 1C */ stw r0, 0x41c(r1) /* 8033B9B4 00337614 38 A1 00 08 */ addi r5, r1, 8 /* 8033B9B8 00337618 48 00 00 55 */ bl gsiLargeIntMultM /* 8033B9BC 0033761C 3F C0 80 61 */ lis r30, lbl_80610BD0@ha /* 8033B9C0 00337620 3B DE 0B D0 */ addi r30, r30, lbl_80610BD0@l /* 8033B9C4 00337624 80 1E 00 8C */ lwz r0, 0x8c(r30) /* 8033B9C8 00337628 28 00 00 01 */ cmplwi r0, 1 /* 8033B9CC 0033762C 40 82 00 24 */ bne lbl_8033B9F0 /* 8033B9D0 00337630 4B FF D6 51 */ bl current_time_hires /* 8033B9D4 00337634 80 BE 00 80 */ lwz r5, 0x80(r30) /* 8033B9D8 00337638 38 00 00 00 */ li r0, 0 /* 8033B9DC 0033763C 80 9E 00 84 */ lwz r4, 0x84(r30) /* 8033B9E0 00337640 7C 65 18 50 */ subf r3, r5, r3 /* 8033B9E4 00337644 90 1E 00 8C */ stw r0, 0x8c(r30) /* 8033B9E8 00337648 7C 04 1A 14 */ add r0, r4, r3 /* 8033B9EC 0033764C 90 1E 00 84 */ stw r0, 0x84(r30) lbl_8033B9F0: /* 8033B9F0 00337650 38 60 00 01 */ li r3, 1 lbl_8033B9F4: /* 8033B9F4 00337654 39 61 08 40 */ addi r11, r1, 0x840 /* 8033B9F8 00337658 4B E8 B7 7D */ bl _restgpr_27 /* 8033B9FC 0033765C 80 01 08 44 */ lwz r0, 0x844(r1) /* 8033BA00 00337660 7C 08 03 A6 */ mtlr r0 /* 8033BA04 00337664 38 21 08 40 */ addi r1, r1, 0x840 /* 8033BA08 00337668 4E 80 00 20 */ blr .global gsiLargeIntMultM gsiLargeIntMultM: /* 8033BA0C 0033766C 94 21 FC C0 */ stwu r1, -0x340(r1) /* 8033BA10 00337670 7C 08 02 A6 */ mflr r0 /* 8033BA14 00337674 90 01 03 44 */ stw r0, 0x344(r1) /* 8033BA18 00337678 39 61 03 40 */ addi r11, r1, 0x340 /* 8033BA1C 0033767C 4B E8 B6 FD */ bl _savegpr_23 /* 8033BA20 00337680 3E E0 80 61 */ lis r23, lbl_80610BD0@ha /* 8033BA24 00337684 7C 7A 1B 78 */ mr r26, r3 /* 8033BA28 00337688 3A F7 0B D0 */ addi r23, r23, lbl_80610BD0@l /* 8033BA2C 0033768C 7C 9B 23 78 */ mr r27, r4 /* 8033BA30 00337690 80 17 00 1C */ lwz r0, 0x1c(r23) /* 8033BA34 00337694 7C BC 2B 78 */ mr r28, r5 /* 8033BA38 00337698 7C DD 33 78 */ mr r29, r6 /* 8033BA3C 0033769C 7C FE 3B 78 */ mr r30, r7 /* 8033BA40 003376A0 2C 00 00 00 */ cmpwi r0, 0 /* 8033BA44 003376A4 40 82 00 30 */ bne lbl_8033BA74 /* 8033BA48 003376A8 80 77 00 18 */ lwz r3, 0x18(r23) /* 8033BA4C 003376AC 38 03 00 01 */ addi r0, r3, 1 /* 8033BA50 003376B0 90 17 00 18 */ stw r0, 0x18(r23) /* 8033BA54 003376B4 4B FF D5 CD */ bl current_time_hires /* 8033BA58 003376B8 38 00 00 01 */ li r0, 1 /* 8033BA5C 003376BC 90 77 00 10 */ stw r3, 0x10(r23) /* 8033BA60 003376C0 90 17 00 1C */ stw r0, 0x1c(r23) /* 8033BA64 003376C4 48 00 00 10 */ b lbl_8033BA74 lbl_8033BA68: /* 8033BA68 003376C8 80 7A 00 00 */ lwz r3, 0(r26) /* 8033BA6C 003376CC 38 03 FF FF */ addi r0, r3, -1 /* 8033BA70 003376D0 90 1A 00 00 */ stw r0, 0(r26) lbl_8033BA74: /* 8033BA74 003376D4 80 1A 00 00 */ lwz r0, 0(r26) /* 8033BA78 003376D8 2C 00 00 00 */ cmpwi r0, 0 /* 8033BA7C 003376DC 41 82 00 24 */ beq lbl_8033BAA0 /* 8033BA80 003376E0 54 00 10 3A */ slwi r0, r0, 2 /* 8033BA84 003376E4 7C 1A 00 2E */ lwzx r0, r26, r0 /* 8033BA88 003376E8 2C 00 00 00 */ cmpwi r0, 0 /* 8033BA8C 003376EC 41 82 FF DC */ beq lbl_8033BA68 /* 8033BA90 003376F0 48 00 00 10 */ b lbl_8033BAA0 lbl_8033BA94: /* 8033BA94 003376F4 80 7B 00 00 */ lwz r3, 0(r27) /* 8033BA98 003376F8 38 03 FF FF */ addi r0, r3, -1 /* 8033BA9C 003376FC 90 1B 00 00 */ stw r0, 0(r27) lbl_8033BAA0: /* 8033BAA0 00337700 80 BB 00 00 */ lwz r5, 0(r27) /* 8033BAA4 00337704 2C 05 00 00 */ cmpwi r5, 0 /* 8033BAA8 00337708 41 82 00 14 */ beq lbl_8033BABC /* 8033BAAC 0033770C 54 A0 10 3A */ slwi r0, r5, 2 /* 8033BAB0 00337710 7C 1B 00 2E */ lwzx r0, r27, r0 /* 8033BAB4 00337714 2C 00 00 00 */ cmpwi r0, 0 /* 8033BAB8 00337718 41 82 FF DC */ beq lbl_8033BA94 lbl_8033BABC: /* 8033BABC 0033771C 80 9C 00 00 */ lwz r4, 0(r28) /* 8033BAC0 00337720 54 80 10 3A */ slwi r0, r4, 2 /* 8033BAC4 00337724 7C 86 23 78 */ mr r6, r4 /* 8033BAC8 00337728 7C 7C 02 14 */ add r3, r28, r0 /* 8033BACC 0033772C 48 00 00 0C */ b lbl_8033BAD8 lbl_8033BAD0: /* 8033BAD0 00337730 38 63 FF FC */ addi r3, r3, -4 /* 8033BAD4 00337734 38 C6 FF FF */ addi r6, r6, -1 lbl_8033BAD8: /* 8033BAD8 00337738 2C 06 00 00 */ cmpwi r6, 0 /* 8033BADC 0033773C 40 81 00 10 */ ble lbl_8033BAEC /* 8033BAE0 00337740 80 03 00 00 */ lwz r0, 0(r3) /* 8033BAE4 00337744 2C 00 00 00 */ cmpwi r0, 0 /* 8033BAE8 00337748 41 82 FF E8 */ beq lbl_8033BAD0 lbl_8033BAEC: /* 8033BAEC 0033774C 2C 06 00 00 */ cmpwi r6, 0 /* 8033BAF0 00337750 40 82 00 48 */ bne lbl_8033BB38 /* 8033BAF4 00337754 3B 00 00 00 */ li r24, 0 /* 8033BAF8 00337758 3E E0 80 61 */ lis r23, lbl_80610BD0@ha /* 8033BAFC 0033775C 93 1E 00 04 */ stw r24, 4(r30) /* 8033BB00 00337760 3A F7 0B D0 */ addi r23, r23, lbl_80610BD0@l /* 8033BB04 00337764 93 1E 00 00 */ stw r24, 0(r30) /* 8033BB08 00337768 80 17 00 1C */ lwz r0, 0x1c(r23) /* 8033BB0C 0033776C 28 00 00 01 */ cmplwi r0, 1 /* 8033BB10 00337770 40 82 00 20 */ bne lbl_8033BB30 /* 8033BB14 00337774 4B FF D5 0D */ bl current_time_hires /* 8033BB18 00337778 80 97 00 10 */ lwz r4, 0x10(r23) /* 8033BB1C 0033777C 80 17 00 14 */ lwz r0, 0x14(r23) /* 8033BB20 00337780 7C 64 18 50 */ subf r3, r4, r3 /* 8033BB24 00337784 93 17 00 1C */ stw r24, 0x1c(r23) /* 8033BB28 00337788 7C 00 1A 14 */ add r0, r0, r3 /* 8033BB2C 0033778C 90 17 00 14 */ stw r0, 0x14(r23) lbl_8033BB30: /* 8033BB30 00337790 38 60 00 00 */ li r3, 0 /* 8033BB34 00337794 48 00 03 C4 */ b lbl_8033BEF8 lbl_8033BB38: /* 8033BB38 00337798 80 1A 00 00 */ lwz r0, 0(r26) /* 8033BB3C 0033779C 2C 00 00 00 */ cmpwi r0, 0 /* 8033BB40 003377A0 40 82 00 48 */ bne lbl_8033BB88 /* 8033BB44 003377A4 3B 00 00 00 */ li r24, 0 /* 8033BB48 003377A8 3E E0 80 61 */ lis r23, lbl_80610BD0@ha /* 8033BB4C 003377AC 93 1E 00 00 */ stw r24, 0(r30) /* 8033BB50 003377B0 3A F7 0B D0 */ addi r23, r23, lbl_80610BD0@l /* 8033BB54 003377B4 93 1E 00 04 */ stw r24, 4(r30) /* 8033BB58 003377B8 80 17 00 1C */ lwz r0, 0x1c(r23) /* 8033BB5C 003377BC 28 00 00 01 */ cmplwi r0, 1 /* 8033BB60 003377C0 40 82 00 20 */ bne lbl_8033BB80 /* 8033BB64 003377C4 4B FF D4 BD */ bl current_time_hires /* 8033BB68 003377C8 80 97 00 10 */ lwz r4, 0x10(r23) /* 8033BB6C 003377CC 80 17 00 14 */ lwz r0, 0x14(r23) /* 8033BB70 003377D0 7C 64 18 50 */ subf r3, r4, r3 /* 8033BB74 003377D4 93 17 00 1C */ stw r24, 0x1c(r23) /* 8033BB78 003377D8 7C 00 1A 14 */ add r0, r0, r3 /* 8033BB7C 003377DC 90 17 00 14 */ stw r0, 0x14(r23) lbl_8033BB80: /* 8033BB80 003377E0 38 60 00 01 */ li r3, 1 /* 8033BB84 003377E4 48 00 03 74 */ b lbl_8033BEF8 lbl_8033BB88: /* 8033BB88 003377E8 2C 05 00 00 */ cmpwi r5, 0 /* 8033BB8C 003377EC 40 82 00 48 */ bne lbl_8033BBD4 /* 8033BB90 003377F0 3B 00 00 00 */ li r24, 0 /* 8033BB94 003377F4 3E E0 80 61 */ lis r23, lbl_80610BD0@ha /* 8033BB98 003377F8 93 1E 00 00 */ stw r24, 0(r30) /* 8033BB9C 003377FC 3A F7 0B D0 */ addi r23, r23, lbl_80610BD0@l /* 8033BBA0 00337800 93 1E 00 04 */ stw r24, 4(r30) /* 8033BBA4 00337804 80 17 00 1C */ lwz r0, 0x1c(r23) /* 8033BBA8 00337808 28 00 00 01 */ cmplwi r0, 1 /* 8033BBAC 0033780C 40 82 00 20 */ bne lbl_8033BBCC /* 8033BBB0 00337810 4B FF D4 71 */ bl current_time_hires /* 8033BBB4 00337814 80 97 00 10 */ lwz r4, 0x10(r23) /* 8033BBB8 00337818 80 17 00 14 */ lwz r0, 0x14(r23) /* 8033BBBC 0033781C 7C 64 18 50 */ subf r3, r4, r3 /* 8033BBC0 00337820 93 17 00 1C */ stw r24, 0x1c(r23) /* 8033BBC4 00337824 7C 00 1A 14 */ add r0, r0, r3 /* 8033BBC8 00337828 90 17 00 14 */ stw r0, 0x14(r23) lbl_8033BBCC: /* 8033BBCC 0033782C 38 60 00 01 */ li r3, 1 /* 8033BBD0 00337830 48 00 03 28 */ b lbl_8033BEF8 lbl_8033BBD4: /* 8033BBD4 00337834 7F 43 D3 78 */ mr r3, r26 /* 8033BBD8 00337838 4B FF DB D9 */ bl gsiLargeIntResize /* 8033BBDC 0033783C 80 9C 00 00 */ lwz r4, 0(r28) /* 8033BBE0 00337840 7F 63 DB 78 */ mr r3, r27 /* 8033BBE4 00337844 4B FF DB CD */ bl gsiLargeIntResize /* 8033BBE8 00337848 38 61 02 10 */ addi r3, r1, 0x210 /* 8033BBEC 0033784C 38 80 00 00 */ li r4, 0 /* 8033BBF0 00337850 38 A0 01 04 */ li r5, 0x104 /* 8033BBF4 00337854 4B CC 85 11 */ bl memset /* 8033BBF8 00337858 38 61 00 08 */ addi r3, r1, 8 /* 8033BBFC 0033785C 38 80 00 00 */ li r4, 0 /* 8033BC00 00337860 38 A0 01 04 */ li r5, 0x104 /* 8033BC04 00337864 4B CC 85 01 */ bl memset /* 8033BC08 00337868 38 61 01 0C */ addi r3, r1, 0x10c /* 8033BC0C 0033786C 38 80 00 00 */ li r4, 0 /* 8033BC10 00337870 38 A0 01 04 */ li r5, 0x104 /* 8033BC14 00337874 4B CC 84 F1 */ bl memset /* 8033BC18 00337878 3B 01 02 10 */ addi r24, r1, 0x210 /* 8033BC1C 0033787C 3B E0 00 00 */ li r31, 0 /* 8033BC20 00337880 3B 20 00 00 */ li r25, 0 /* 8033BC24 00337884 48 00 02 48 */ b lbl_8033BE6C lbl_8033BC28: /* 8033BC28 00337888 80 DB 00 04 */ lwz r6, 4(r27) /* 8033BC2C 0033788C 38 61 00 0C */ addi r3, r1, 0xc /* 8033BC30 00337890 80 BA 00 04 */ lwz r5, 4(r26) /* 8033BC34 00337894 38 80 00 00 */ li r4, 0 /* 8033BC38 00337898 80 1B 00 00 */ lwz r0, 0(r27) /* 8033BC3C 0033789C 7C E6 29 D6 */ mullw r7, r6, r5 /* 8033BC40 003378A0 80 C1 02 14 */ lwz r6, 0x214(r1) /* 8033BC44 003378A4 54 05 10 3A */ slwi r5, r0, 2 /* 8033BC48 003378A8 7C 07 30 14 */ addc r0, r7, r6 /* 8033BC4C 003378AC 7E E0 E9 D6 */ mullw r23, r0, r29 /* 8033BC50 003378B0 4B CC 84 B5 */ bl memset /* 8033BC54 003378B4 80 1A 00 04 */ lwz r0, 4(r26) /* 8033BC58 003378B8 38 61 00 0C */ addi r3, r1, 0xc /* 8033BC5C 003378BC 38 BB 00 04 */ addi r5, r27, 4 /* 8033BC60 003378C0 38 E1 01 10 */ addi r7, r1, 0x110 /* 8033BC64 003378C4 90 01 00 0C */ stw r0, 0xc(r1) /* 8033BC68 003378C8 39 01 01 0C */ addi r8, r1, 0x10c /* 8033BC6C 003378CC 39 20 00 40 */ li r9, 0x40 /* 8033BC70 003378D0 80 9B 00 00 */ lwz r4, 0(r27) /* 8033BC74 003378D4 90 81 00 08 */ stw r4, 8(r1) /* 8033BC78 003378D8 80 DB 00 00 */ lwz r6, 0(r27) /* 8033BC7C 003378DC 4B FF E3 19 */ bl gsiLargeIntMult /* 8033BC80 003378E0 2C 03 00 00 */ cmpwi r3, 0 /* 8033BC84 003378E4 40 82 00 48 */ bne lbl_8033BCCC /* 8033BC88 003378E8 3B 20 00 00 */ li r25, 0 /* 8033BC8C 003378EC 3F 00 80 61 */ lis r24, lbl_80610BD0@ha /* 8033BC90 003378F0 93 3E 00 00 */ stw r25, 0(r30) /* 8033BC94 003378F4 3B 18 0B D0 */ addi r24, r24, lbl_80610BD0@l /* 8033BC98 003378F8 93 3E 00 04 */ stw r25, 4(r30) /* 8033BC9C 003378FC 80 18 00 1C */ lwz r0, 0x1c(r24) /* 8033BCA0 00337900 28 00 00 01 */ cmplwi r0, 1 /* 8033BCA4 00337904 40 82 00 20 */ bne lbl_8033BCC4 /* 8033BCA8 00337908 4B FF D3 79 */ bl current_time_hires /* 8033BCAC 0033790C 80 98 00 10 */ lwz r4, 0x10(r24) /* 8033BCB0 00337910 80 18 00 14 */ lwz r0, 0x14(r24) /* 8033BCB4 00337914 7C 64 18 50 */ subf r3, r4, r3 /* 8033BCB8 00337918 93 38 00 1C */ stw r25, 0x1c(r24) /* 8033BCBC 0033791C 7C 00 1A 14 */ add r0, r0, r3 /* 8033BCC0 00337920 90 18 00 14 */ stw r0, 0x14(r24) lbl_8033BCC4: /* 8033BCC4 00337924 38 60 00 00 */ li r3, 0 /* 8033BCC8 00337928 48 00 02 30 */ b lbl_8033BEF8 lbl_8033BCCC: /* 8033BCCC 0033792C 80 1C 00 00 */ lwz r0, 0(r28) /* 8033BCD0 00337930 38 61 00 0C */ addi r3, r1, 0xc /* 8033BCD4 00337934 38 80 00 00 */ li r4, 0 /* 8033BCD8 00337938 54 05 10 3A */ slwi r5, r0, 2 /* 8033BCDC 0033793C 4B CC 84 29 */ bl memset /* 8033BCE0 00337940 80 1C 00 00 */ lwz r0, 0(r28) /* 8033BCE4 00337944 38 61 00 08 */ addi r3, r1, 8 /* 8033BCE8 00337948 92 E1 00 0C */ stw r23, 0xc(r1) /* 8033BCEC 0033794C 7F 84 E3 78 */ mr r4, r28 /* 8033BCF0 00337950 7C 65 1B 78 */ mr r5, r3 /* 8033BCF4 00337954 90 01 00 08 */ stw r0, 8(r1) /* 8033BCF8 00337958 4B FF EB E5 */ bl gsLargeIntKMult /* 8033BCFC 0033795C 2C 03 00 00 */ cmpwi r3, 0 /* 8033BD00 00337960 40 82 00 48 */ bne lbl_8033BD48 /* 8033BD04 00337964 3B 20 00 00 */ li r25, 0 /* 8033BD08 00337968 3F 00 80 61 */ lis r24, lbl_80610BD0@ha /* 8033BD0C 0033796C 93 3E 00 00 */ stw r25, 0(r30) /* 8033BD10 00337970 3B 18 0B D0 */ addi r24, r24, lbl_80610BD0@l /* 8033BD14 00337974 93 3E 00 04 */ stw r25, 4(r30) /* 8033BD18 00337978 80 18 00 1C */ lwz r0, 0x1c(r24) /* 8033BD1C 0033797C 28 00 00 01 */ cmplwi r0, 1 /* 8033BD20 00337980 40 82 00 20 */ bne lbl_8033BD40 /* 8033BD24 00337984 4B FF D2 FD */ bl current_time_hires /* 8033BD28 00337988 80 98 00 10 */ lwz r4, 0x10(r24) /* 8033BD2C 0033798C 80 18 00 14 */ lwz r0, 0x14(r24) /* 8033BD30 00337990 7C 64 18 50 */ subf r3, r4, r3 /* 8033BD34 00337994 93 38 00 1C */ stw r25, 0x1c(r24) /* 8033BD38 00337998 7C 00 1A 14 */ add r0, r0, r3 /* 8033BD3C 0033799C 90 18 00 14 */ stw r0, 0x14(r24) lbl_8033BD40: /* 8033BD40 003379A0 38 60 00 00 */ li r3, 0 /* 8033BD44 003379A4 48 00 01 B4 */ b lbl_8033BEF8 lbl_8033BD48: /* 8033BD48 003379A8 38 A1 02 14 */ addi r5, r1, 0x214 /* 8033BD4C 003379AC 80 81 01 0C */ lwz r4, 0x10c(r1) /* 8033BD50 003379B0 80 C1 02 10 */ lwz r6, 0x210(r1) /* 8033BD54 003379B4 7C A7 2B 78 */ mr r7, r5 /* 8033BD58 003379B8 38 61 01 10 */ addi r3, r1, 0x110 /* 8033BD5C 003379BC 39 01 02 10 */ addi r8, r1, 0x210 /* 8033BD60 003379C0 39 20 00 40 */ li r9, 0x40 /* 8033BD64 003379C4 4B FF DC 5D */ bl gsiLargeIntAdd /* 8033BD68 003379C8 2C 03 00 00 */ cmpwi r3, 0 /* 8033BD6C 003379CC 40 82 00 48 */ bne lbl_8033BDB4 /* 8033BD70 003379D0 3B 20 00 00 */ li r25, 0 /* 8033BD74 003379D4 3F 00 80 61 */ lis r24, lbl_80610BD0@ha /* 8033BD78 003379D8 93 3E 00 00 */ stw r25, 0(r30) /* 8033BD7C 003379DC 3B 18 0B D0 */ addi r24, r24, lbl_80610BD0@l /* 8033BD80 003379E0 93 3E 00 04 */ stw r25, 4(r30) /* 8033BD84 003379E4 80 18 00 1C */ lwz r0, 0x1c(r24) /* 8033BD88 003379E8 28 00 00 01 */ cmplwi r0, 1 /* 8033BD8C 003379EC 40 82 00 20 */ bne lbl_8033BDAC /* 8033BD90 003379F0 4B FF D2 91 */ bl current_time_hires /* 8033BD94 003379F4 80 98 00 10 */ lwz r4, 0x10(r24) /* 8033BD98 003379F8 80 18 00 14 */ lwz r0, 0x14(r24) /* 8033BD9C 003379FC 7C 64 18 50 */ subf r3, r4, r3 /* 8033BDA0 00337A00 93 38 00 1C */ stw r25, 0x1c(r24) /* 8033BDA4 00337A04 7C 00 1A 14 */ add r0, r0, r3 /* 8033BDA8 00337A08 90 18 00 14 */ stw r0, 0x14(r24) lbl_8033BDAC: /* 8033BDAC 00337A0C 38 60 00 00 */ li r3, 0 /* 8033BDB0 00337A10 48 00 01 48 */ b lbl_8033BEF8 lbl_8033BDB4: /* 8033BDB4 00337A14 38 A1 02 14 */ addi r5, r1, 0x214 /* 8033BDB8 00337A18 80 81 00 08 */ lwz r4, 8(r1) /* 8033BDBC 00337A1C 80 C1 02 10 */ lwz r6, 0x210(r1) /* 8033BDC0 00337A20 7C A7 2B 78 */ mr r7, r5 /* 8033BDC4 00337A24 38 61 00 0C */ addi r3, r1, 0xc /* 8033BDC8 00337A28 39 01 02 10 */ addi r8, r1, 0x210 /* 8033BDCC 00337A2C 39 20 00 40 */ li r9, 0x40 /* 8033BDD0 00337A30 4B FF DB F1 */ bl gsiLargeIntAdd /* 8033BDD4 00337A34 2C 03 00 00 */ cmpwi r3, 0 /* 8033BDD8 00337A38 40 82 00 48 */ bne lbl_8033BE20 /* 8033BDDC 00337A3C 3B 20 00 00 */ li r25, 0 /* 8033BDE0 00337A40 3F 00 80 61 */ lis r24, lbl_80610BD0@ha /* 8033BDE4 00337A44 93 3E 00 00 */ stw r25, 0(r30) /* 8033BDE8 00337A48 3B 18 0B D0 */ addi r24, r24, lbl_80610BD0@l /* 8033BDEC 00337A4C 93 3E 00 04 */ stw r25, 4(r30) /* 8033BDF0 00337A50 80 18 00 1C */ lwz r0, 0x1c(r24) /* 8033BDF4 00337A54 28 00 00 01 */ cmplwi r0, 1 /* 8033BDF8 00337A58 40 82 00 20 */ bne lbl_8033BE18 /* 8033BDFC 00337A5C 4B FF D2 25 */ bl current_time_hires /* 8033BE00 00337A60 80 98 00 10 */ lwz r4, 0x10(r24) /* 8033BE04 00337A64 80 18 00 14 */ lwz r0, 0x14(r24) /* 8033BE08 00337A68 7C 64 18 50 */ subf r3, r4, r3 /* 8033BE0C 00337A6C 93 38 00 1C */ stw r25, 0x1c(r24) /* 8033BE10 00337A70 7C 00 1A 14 */ add r0, r0, r3 /* 8033BE14 00337A74 90 18 00 14 */ stw r0, 0x14(r24) lbl_8033BE18: /* 8033BE18 00337A78 38 60 00 00 */ li r3, 0 /* 8033BE1C 00337A7C 48 00 00 DC */ b lbl_8033BEF8 lbl_8033BE20: /* 8033BE20 00337A80 80 61 02 10 */ lwz r3, 0x210(r1) /* 8033BE24 00337A84 28 03 00 01 */ cmplwi r3, 1 /* 8033BE28 00337A88 40 81 00 34 */ ble lbl_8033BE5C /* 8033BE2C 00337A8C 38 03 FF FF */ addi r0, r3, -1 /* 8033BE30 00337A90 38 61 02 14 */ addi r3, r1, 0x214 /* 8033BE34 00337A94 38 81 02 18 */ addi r4, r1, 0x218 /* 8033BE38 00337A98 54 05 10 3A */ slwi r5, r0, 2 /* 8033BE3C 00337A9C 4B E8 E4 39 */ bl memmove /* 8033BE40 00337AA0 80 01 02 10 */ lwz r0, 0x210(r1) /* 8033BE44 00337AA4 54 00 10 3A */ slwi r0, r0, 2 /* 8033BE48 00337AA8 7F 38 01 2E */ stwx r25, r24, r0 /* 8033BE4C 00337AAC 80 61 02 10 */ lwz r3, 0x210(r1) /* 8033BE50 00337AB0 38 03 FF FF */ addi r0, r3, -1 /* 8033BE54 00337AB4 90 01 02 10 */ stw r0, 0x210(r1) /* 8033BE58 00337AB8 48 00 00 0C */ b lbl_8033BE64 lbl_8033BE5C: /* 8033BE5C 00337ABC 93 21 02 10 */ stw r25, 0x210(r1) /* 8033BE60 00337AC0 93 21 02 14 */ stw r25, 0x214(r1) lbl_8033BE64: /* 8033BE64 00337AC4 3B 5A 00 04 */ addi r26, r26, 4 /* 8033BE68 00337AC8 3B FF 00 01 */ addi r31, r31, 1 lbl_8033BE6C: /* 8033BE6C 00337ACC 80 DC 00 00 */ lwz r6, 0(r28) /* 8033BE70 00337AD0 7C 1F 30 40 */ cmplw r31, r6 /* 8033BE74 00337AD4 41 80 FD B4 */ blt lbl_8033BC28 /* 8033BE78 00337AD8 80 81 02 10 */ lwz r4, 0x210(r1) /* 8033BE7C 00337ADC 38 61 02 14 */ addi r3, r1, 0x214 /* 8033BE80 00337AE0 38 BC 00 04 */ addi r5, r28, 4 /* 8033BE84 00337AE4 4B FF DA 81 */ bl gsiLargeIntCompare /* 8033BE88 00337AE8 2C 03 FF FF */ cmpwi r3, -1 /* 8033BE8C 00337AEC 41 82 00 24 */ beq lbl_8033BEB0 /* 8033BE90 00337AF0 80 9C 00 00 */ lwz r4, 0(r28) /* 8033BE94 00337AF4 7F C8 F3 78 */ mr r8, r30 /* 8033BE98 00337AF8 80 C1 02 10 */ lwz r6, 0x210(r1) /* 8033BE9C 00337AFC 38 7C 00 04 */ addi r3, r28, 4 /* 8033BEA0 00337B00 38 A1 02 14 */ addi r5, r1, 0x214 /* 8033BEA4 00337B04 38 FE 00 04 */ addi r7, r30, 4 /* 8033BEA8 00337B08 4B FF DD A1 */ bl gsiLargeIntSub /* 8033BEAC 00337B0C 48 00 00 14 */ b lbl_8033BEC0 lbl_8033BEB0: /* 8033BEB0 00337B10 7F C3 F3 78 */ mr r3, r30 /* 8033BEB4 00337B14 38 81 02 10 */ addi r4, r1, 0x210 /* 8033BEB8 00337B18 38 A0 01 04 */ li r5, 0x104 /* 8033BEBC 00337B1C 4B CC 81 45 */ bl memcpy lbl_8033BEC0: /* 8033BEC0 00337B20 3F 40 80 61 */ lis r26, lbl_80610BD0@ha /* 8033BEC4 00337B24 3B 5A 0B D0 */ addi r26, r26, lbl_80610BD0@l /* 8033BEC8 00337B28 80 1A 00 1C */ lwz r0, 0x1c(r26) /* 8033BECC 00337B2C 28 00 00 01 */ cmplwi r0, 1 /* 8033BED0 00337B30 40 82 00 24 */ bne lbl_8033BEF4 /* 8033BED4 00337B34 4B FF D1 4D */ bl current_time_hires /* 8033BED8 00337B38 80 BA 00 10 */ lwz r5, 0x10(r26) /* 8033BEDC 00337B3C 38 00 00 00 */ li r0, 0 /* 8033BEE0 00337B40 80 9A 00 14 */ lwz r4, 0x14(r26) /* 8033BEE4 00337B44 7C 65 18 50 */ subf r3, r5, r3 /* 8033BEE8 00337B48 90 1A 00 1C */ stw r0, 0x1c(r26) /* 8033BEEC 00337B4C 7C 04 1A 14 */ add r0, r4, r3 /* 8033BEF0 00337B50 90 1A 00 14 */ stw r0, 0x14(r26) lbl_8033BEF4: /* 8033BEF4 00337B54 38 60 00 01 */ li r3, 1 lbl_8033BEF8: /* 8033BEF8 00337B58 39 61 03 40 */ addi r11, r1, 0x340 /* 8033BEFC 00337B5C 4B E8 B2 69 */ bl _restgpr_23 /* 8033BF00 00337B60 80 01 03 44 */ lwz r0, 0x344(r1) /* 8033BF04 00337B64 7C 08 03 A6 */ mtlr r0 /* 8033BF08 00337B68 38 21 03 40 */ addi r1, r1, 0x340 /* 8033BF0C 00337B6C 4E 80 00 20 */ blr .global gsLargeIntReverseBytes gsLargeIntReverseBytes: /* 8033BF10 00337B70 80 03 00 00 */ lwz r0, 0(r3) /* 8033BF14 00337B74 2C 00 00 00 */ cmpwi r0, 0 /* 8033BF18 00337B78 40 82 00 0C */ bne lbl_8033BF24 /* 8033BF1C 00337B7C 38 60 00 01 */ li r3, 1 /* 8033BF20 00337B80 4E 80 00 20 */ blr lbl_8033BF24: /* 8033BF24 00337B84 54 00 10 3A */ slwi r0, r0, 2 /* 8033BF28 00337B88 38 83 00 04 */ addi r4, r3, 4 /* 8033BF2C 00337B8C 7C 63 02 14 */ add r3, r3, r0 /* 8033BF30 00337B90 38 63 00 03 */ addi r3, r3, 3 /* 8033BF34 00337B94 48 00 00 1C */ b lbl_8033BF50 lbl_8033BF38: /* 8033BF38 00337B98 88 A4 00 00 */ lbz r5, 0(r4) /* 8033BF3C 00337B9C 88 03 00 00 */ lbz r0, 0(r3) /* 8033BF40 00337BA0 98 04 00 00 */ stb r0, 0(r4) /* 8033BF44 00337BA4 38 84 00 01 */ addi r4, r4, 1 /* 8033BF48 00337BA8 98 A3 00 00 */ stb r5, 0(r3) /* 8033BF4C 00337BAC 38 63 FF FF */ addi r3, r3, -1 lbl_8033BF50: /* 8033BF50 00337BB0 7C 04 18 40 */ cmplw r4, r3 /* 8033BF54 00337BB4 41 80 FF E4 */ blt lbl_8033BF38 /* 8033BF58 00337BB8 38 60 00 01 */ li r3, 1 /* 8033BF5C 00337BBC 4E 80 00 20 */ blr