.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_80059310 /* 34710 80059310 27BDFF98 */ addiu $sp, $sp, -0x68 /* 34714 80059314 AFB00030 */ sw $s0, 0x30($sp) /* 34718 80059318 00A0802D */ daddu $s0, $a1, $zero /* 3471C 8005931C AFB10034 */ sw $s1, 0x34($sp) /* 34720 80059320 00C0882D */ daddu $s1, $a2, $zero /* 34724 80059324 AFB60048 */ sw $s6, 0x48($sp) /* 34728 80059328 24F60170 */ addiu $s6, $a3, 0x170 /* 3472C 8005932C 32220FFF */ andi $v0, $s1, 0xfff /* 34730 80059330 3C030617 */ lui $v1, 0x617 /* 34734 80059334 00431025 */ or $v0, $v0, $v1 /* 34738 80059338 AFBF0054 */ sw $ra, 0x54($sp) /* 3473C 8005933C AFBE0050 */ sw $fp, 0x50($sp) /* 34740 80059340 AFB7004C */ sw $s7, 0x4c($sp) /* 34744 80059344 AFB50044 */ sw $s5, 0x44($sp) /* 34748 80059348 AFB40040 */ sw $s4, 0x40($sp) /* 3474C 8005934C AFB3003C */ sw $s3, 0x3c($sp) /* 34750 80059350 AFB20038 */ sw $s2, 0x38($sp) /* 34754 80059354 F7B60060 */ sdc1 $f22, 0x60($sp) /* 34758 80059358 F7B40058 */ sdc1 $f20, 0x58($sp) /* 3475C 8005935C AFA40068 */ sw $a0, 0x68($sp) /* 34760 80059360 A7A70026 */ sh $a3, 0x26($sp) /* 34764 80059364 A7A0001E */ sh $zero, 0x1e($sp) /* 34768 80059368 AE020000 */ sw $v0, ($s0) /* 3476C 8005936C 8FA80068 */ lw $t0, 0x68($sp) /* 34770 80059370 26120008 */ addiu $s2, $s0, 8 /* 34774 80059374 8D040004 */ lw $a0, 4($t0) /* 34778 80059378 0C0187A4 */ jal osVirtualToPhysical /* 3477C 8005937C 24F302E0 */ addiu $s3, $a3, 0x2e0 /* 34780 80059380 0240202D */ daddu $a0, $s2, $zero /* 34784 80059384 3C0300FF */ lui $v1, 0xff /* 34788 80059388 3463FFFF */ ori $v1, $v1, 0xffff /* 3478C 8005938C AE020004 */ sw $v0, 4($s0) /* 34790 80059390 00111400 */ sll $v0, $s1, 0x10 /* 34794 80059394 00021403 */ sra $v0, $v0, 0x10 /* 34798 80059398 00431024 */ and $v0, $v0, $v1 /* 3479C 8005939C 3C030200 */ lui $v1, 0x200 /* 347A0 800593A0 00431025 */ or $v0, $v0, $v1 /* 347A4 800593A4 AC820000 */ sw $v0, ($a0) /* 347A8 800593A8 24020170 */ addiu $v0, $zero, 0x170 /* 347AC 800593AC AC820004 */ sw $v0, 4($a0) /* 347B0 800593B0 8FA80068 */ lw $t0, 0x68($sp) /* 347B4 800593B4 0000A02D */ daddu $s4, $zero, $zero /* 347B8 800593B8 91020010 */ lbu $v0, 0x10($t0) /* 347BC 800593BC 26520008 */ addiu $s2, $s2, 8 /* 347C0 800593C0 1040011D */ beqz $v0, .L80059838 /* 347C4 800593C4 A7B10028 */ sh $s1, 0x28($sp) /* 347C8 800593C8 00131400 */ sll $v0, $s3, 0x10 /* 347CC 800593CC 3C014700 */ lui $at, 0x4700 /* 347D0 800593D0 4481B000 */ mtc1 $at, $f22 /* 347D4 800593D4 00021403 */ sra $v0, $v0, 0x10 /* 347D8 800593D8 AFA2002C */ sw $v0, 0x2c($sp) .L800593DC: /* 347DC 800593DC 97A8001E */ lhu $t0, 0x1e($sp) /* 347E0 800593E0 00081400 */ sll $v0, $t0, 0x10 /* 347E4 800593E4 00021403 */ sra $v0, $v0, 0x10 /* 347E8 800593E8 00021840 */ sll $v1, $v0, 1 /* 347EC 800593EC 00621821 */ addu $v1, $v1, $v0 /* 347F0 800593F0 8FA80068 */ lw $t0, 0x68($sp) /* 347F4 800593F4 00031900 */ sll $v1, $v1, 4 /* 347F8 800593F8 8D02000C */ lw $v0, 0xc($t0) /* 347FC 800593FC 8D040004 */ lw $a0, 4($t0) /* 34800 80059400 00439821 */ addu $s3, $v0, $v1 /* 34804 80059404 8E620000 */ lw $v0, ($s3) /* 34808 80059408 8D030000 */ lw $v1, ($t0) /* 3480C 8005940C 00021040 */ sll $v0, $v0, 1 /* 34810 80059410 0082B823 */ subu $s7, $a0, $v0 /* 34814 80059414 02E3102B */ sltu $v0, $s7, $v1 /* 34818 80059418 10400004 */ beqz $v0, .L8005942C /* 3481C 8005941C 00000000 */ nop /* 34820 80059420 8D020008 */ lw $v0, 8($t0) /* 34824 80059424 00021040 */ sll $v0, $v0, 1 /* 34828 80059428 02E2B821 */ addu $s7, $s7, $v0 .L8005942C: /* 3482C 8005942C 8E620004 */ lw $v0, 4($s3) /* 34830 80059430 00021040 */ sll $v0, $v0, 1 /* 34834 80059434 0082F023 */ subu $fp, $a0, $v0 /* 34838 80059438 03C3102B */ sltu $v0, $fp, $v1 /* 3483C 8005943C 10400005 */ beqz $v0, .L80059454 /* 34840 80059440 00000000 */ nop /* 34844 80059444 8FA80068 */ lw $t0, 0x68($sp) /* 34848 80059448 8D020008 */ lw $v0, 8($t0) /* 3484C 8005944C 00021040 */ sll $v0, $v0, 1 /* 34850 80059450 03C2F021 */ addu $fp, $fp, $v0 .L80059454: /* 34854 80059454 16F40005 */ bne $s7, $s4, .L8005946C /* 34858 80059458 0240802D */ daddu $s0, $s2, $zero /* 3485C 8005945C 02C0102D */ daddu $v0, $s6, $zero /* 34860 80059460 97B60026 */ lhu $s6, 0x26($sp) /* 34864 80059464 08016524 */ j .L80059490 /* 34868 80059468 A7A20026 */ sh $v0, 0x26($sp) .L8005946C: /* 3486C 8005946C 26520008 */ addiu $s2, $s2, 8 /* 34870 80059470 02E0202D */ daddu $a0, $s7, $zero /* 34874 80059474 97A80026 */ lhu $t0, 0x26($sp) /* 34878 80059478 3C030417 */ lui $v1, 0x417 /* 3487C 8005947C 31020FFF */ andi $v0, $t0, 0xfff /* 34880 80059480 00431025 */ or $v0, $v0, $v1 /* 34884 80059484 0C0187A4 */ jal osVirtualToPhysical /* 34888 80059488 AE020000 */ sw $v0, ($s0) /* 3488C 8005948C AE020004 */ sw $v0, 4($s0) .L80059490: /* 34890 80059490 8E620028 */ lw $v0, 0x28($s3) /* 34894 80059494 10400068 */ beqz $v0, .L80059638 /* 34898 80059498 0260202D */ daddu $a0, $s3, $zero /* 3489C 8005949C 8E700004 */ lw $s0, 4($s3) /* 348A0 800594A0 8E620000 */ lw $v0, ($s3) /* 348A4 800594A4 240500B8 */ addiu $a1, $zero, 0xb8 /* 348A8 800594A8 0C0166F5 */ jal func_80059BD4 /* 348AC 800594AC 02028023 */ subu $s0, $s0, $v0 /* 348B0 800594B0 44901000 */ mtc1 $s0, $f2 /* 348B4 800594B4 00000000 */ nop /* 348B8 800594B8 468010A0 */ cvt.s.w $f2, $f2 /* 348BC 800594BC 46020103 */ div.s $f4, $f0, $f2 /* 348C0 800594C0 46162002 */ mul.s $f0, $f4, $f22 /* 348C4 800594C4 00000000 */ nop /* 348C8 800594C8 4600018D */ trunc.w.s $f6, $f0 /* 348CC 800594CC 44023000 */ mfc1 $v0, $f6 /* 348D0 800594D0 3C013800 */ lui $at, 0x3800 /* 348D4 800594D4 44810000 */ mtc1 $at, $f0 /* 348D8 800594D8 44822000 */ mtc1 $v0, $f4 /* 348DC 800594DC 00000000 */ nop /* 348E0 800594E0 46802120 */ cvt.s.w $f4, $f4 /* 348E4 800594E4 46002102 */ mul.s $f4, $f4, $f0 /* 348E8 800594E8 00000000 */ nop /* 348EC 800594EC 3C013FF0 */ lui $at, 0x3ff0 /* 348F0 800594F0 44811800 */ mtc1 $at, $f3 /* 348F4 800594F4 44801000 */ mtc1 $zero, $f2 /* 348F8 800594F8 46002021 */ cvt.d.s $f0, $f4 /* 348FC 800594FC 46201081 */ sub.d $f2, $f2, $f0 /* 34900 80059500 3C014338 */ lui $at, 0x4338 /* 34904 80059504 44812000 */ mtc1 $at, $f4 /* 34908 80059508 46201520 */ cvt.s.d $f20, $f2 /* 3490C 8005950C 4604A102 */ mul.s $f4, $f20, $f4 /* 34910 80059510 00000000 */ nop /* 34914 80059514 8E620028 */ lw $v0, 0x28($s3) /* 34918 80059518 C4400008 */ lwc1 $f0, 8($v0) /* 3491C 8005951C 46040000 */ add.s $f0, $f0, $f4 /* 34920 80059520 4600018D */ trunc.w.s $f6, $f0 /* 34924 80059524 44143000 */ mfc1 $s4, $f6 /* 34928 80059528 00000000 */ nop /* 3492C 8005952C 44941000 */ mtc1 $s4, $f2 /* 34930 80059530 00000000 */ nop /* 34934 80059534 468010A0 */ cvt.s.w $f2, $f2 /* 34938 80059538 46020001 */ sub.s $f0, $f0, $f2 /* 3493C 8005953C E4400008 */ swc1 $f0, 8($v0) /* 34940 80059540 8E630018 */ lw $v1, 0x18($s3) /* 34944 80059544 8E620004 */ lw $v0, 4($s3) /* 34948 80059548 8FA80068 */ lw $t0, 0x68($sp) /* 3494C 8005954C 00621823 */ subu $v1, $v1, $v0 /* 34950 80059550 8D020004 */ lw $v0, 4($t0) /* 34954 80059554 00031840 */ sll $v1, $v1, 1 /* 34958 80059558 00432821 */ addu $a1, $v0, $v1 /* 3495C 8005955C 30A20007 */ andi $v0, $a1, 7 /* 34960 80059560 00021843 */ sra $v1, $v0, 1 /* 34964 80059564 0003A840 */ sll $s5, $v1, 1 /* 34968 80059568 8D020000 */ lw $v0, ($t0) /* 3496C 8005956C 00B52823 */ subu $a1, $a1, $s5 /* 34970 80059570 00A2102B */ sltu $v0, $a1, $v0 /* 34974 80059574 10400004 */ beqz $v0, .L80059588 /* 34978 80059578 00000000 */ nop /* 3497C 8005957C 8D020008 */ lw $v0, 8($t0) /* 34980 80059580 00021040 */ sll $v0, $v0, 1 /* 34984 80059584 00A22821 */ addu $a1, $a1, $v0 .L80059588: /* 34988 80059588 8FA40068 */ lw $a0, 0x68($sp) /* 3498C 8005958C 8FA6002C */ lw $a2, 0x2c($sp) /* 34990 80059590 02833821 */ addu $a3, $s4, $v1 /* 34994 80059594 0C0166AE */ jal func_80059AB8 /* 34998 80059598 AFB20010 */ sw $s2, 0x10($sp) /* 3499C 8005959C 0040902D */ daddu $s2, $v0, $zero /* 349A0 800595A0 4616A002 */ mul.s $f0, $f20, $f22 /* 349A4 800595A4 00000000 */ nop /* 349A8 800595A8 00168C00 */ sll $s1, $s6, 0x10 /* 349AC 800595AC 8E630028 */ lw $v1, 0x28($s3) /* 349B0 800595B0 8C640000 */ lw $a0, ($v1) /* 349B4 800595B4 4600018D */ trunc.w.s $f6, $f0 /* 349B8 800595B8 44103000 */ mfc1 $s0, $f6 /* 349BC 800595BC 0C0187A4 */ jal osVirtualToPhysical /* 349C0 800595C0 00118E03 */ sra $s1, $s1, 0x18 /* 349C4 800595C4 3C0300FF */ lui $v1, 0xff /* 349C8 800595C8 3463FFFF */ ori $v1, $v1, 0xffff /* 349CC 800595CC 0240202D */ daddu $a0, $s2, $zero /* 349D0 800595D0 00431024 */ and $v0, $v0, $v1 /* 349D4 800595D4 3C030500 */ lui $v1, 0x500 /* 349D8 800595D8 00431025 */ or $v0, $v0, $v1 /* 349DC 800595DC 3210FFFF */ andi $s0, $s0, 0xffff /* 349E0 800595E0 00108380 */ sll $s0, $s0, 0xe /* 349E4 800595E4 32310003 */ andi $s1, $s1, 3 /* 349E8 800595E8 AC820000 */ sw $v0, ($a0) /* 349EC 800595EC 8E620028 */ lw $v0, 0x28($s3) /* 349F0 800595F0 8FA8002C */ lw $t0, 0x2c($sp) /* 349F4 800595F4 8C43000C */ lw $v1, 0xc($v0) /* 349F8 800595F8 01151021 */ addu $v0, $t0, $s5 /* 349FC 800595FC 30420FFF */ andi $v0, $v0, 0xfff /* 34A00 80059600 00021080 */ sll $v0, $v0, 2 /* 34A04 80059604 00031F80 */ sll $v1, $v1, 0x1e /* 34A08 80059608 00701825 */ or $v1, $v1, $s0 /* 34A0C 8005960C 00621825 */ or $v1, $v1, $v0 /* 34A10 80059610 00711825 */ or $v1, $v1, $s1 /* 34A14 80059614 AC830004 */ sw $v1, 4($a0) /* 34A18 80059618 8E620028 */ lw $v0, 0x28($s3) /* 34A1C 8005961C AC40000C */ sw $zero, 0xc($v0) /* 34A20 80059620 8E620018 */ lw $v0, 0x18($s3) /* 34A24 80059624 26520008 */ addiu $s2, $s2, 8 /* 34A28 80059628 2442FF48 */ addiu $v0, $v0, -0xb8 /* 34A2C 8005962C 00541021 */ addu $v0, $v0, $s4 /* 34A30 80059630 08016597 */ j .L8005965C /* 34A34 80059634 AE620018 */ sw $v0, 0x18($s3) .L80059638: /* 34A38 80059638 0240802D */ daddu $s0, $s2, $zero /* 34A3C 8005963C 26520008 */ addiu $s2, $s2, 8 /* 34A40 80059640 03C0202D */ daddu $a0, $fp, $zero /* 34A44 80059644 32C20FFF */ andi $v0, $s6, 0xfff /* 34A48 80059648 3C030417 */ lui $v1, 0x417 /* 34A4C 8005964C 00431025 */ or $v0, $v0, $v1 /* 34A50 80059650 0C0187A4 */ jal osVirtualToPhysical /* 34A54 80059654 AE020000 */ sw $v0, ($s0) /* 34A58 80059658 AE020004 */ sw $v0, 4($s0) .L8005965C: /* 34A5C 8005965C 86620008 */ lh $v0, 8($s3) /* 34A60 80059660 10400018 */ beqz $v0, .L800596C4 /* 34A64 80059664 0240282D */ daddu $a1, $s2, $zero /* 34A68 80059668 32C4FFFF */ andi $a0, $s6, 0xffff /* 34A6C 8005966C 97A80026 */ lhu $t0, 0x26($sp) /* 34A70 80059670 96630008 */ lhu $v1, 8($s3) /* 34A74 80059674 00081400 */ sll $v0, $t0, 0x10 /* 34A78 80059678 00441025 */ or $v0, $v0, $a0 /* 34A7C 8005967C 3C080C00 */ lui $t0, 0xc00 /* 34A80 80059680 00681825 */ or $v1, $v1, $t0 /* 34A84 80059684 ACA20004 */ sw $v0, 4($a1) /* 34A88 80059688 ACA30000 */ sw $v1, ($a1) /* 34A8C 8005968C 8E620028 */ lw $v0, 0x28($s3) /* 34A90 80059690 1440000C */ bnez $v0, .L800596C4 /* 34A94 80059694 26520008 */ addiu $s2, $s2, 8 /* 34A98 80059698 8E620020 */ lw $v0, 0x20($s3) /* 34A9C 8005969C 14400009 */ bnez $v0, .L800596C4 /* 34AA0 800596A0 0240802D */ daddu $s0, $s2, $zero /* 34AA4 800596A4 26520008 */ addiu $s2, $s2, 8 /* 34AA8 800596A8 03C0202D */ daddu $a0, $fp, $zero /* 34AAC 800596AC 32C20FFF */ andi $v0, $s6, 0xfff /* 34AB0 800596B0 3C080617 */ lui $t0, 0x617 /* 34AB4 800596B4 00481025 */ or $v0, $v0, $t0 /* 34AB8 800596B8 0C0187A4 */ jal osVirtualToPhysical /* 34ABC 800596BC AE020000 */ sw $v0, ($s0) /* 34AC0 800596C0 AE020004 */ sw $v0, 4($s0) .L800596C4: /* 34AC4 800596C4 8662000A */ lh $v0, 0xa($s3) /* 34AC8 800596C8 10400014 */ beqz $v0, .L8005971C /* 34ACC 800596CC 0240302D */ daddu $a2, $s2, $zero /* 34AD0 800596D0 26520008 */ addiu $s2, $s2, 8 /* 34AD4 800596D4 0240802D */ daddu $s0, $s2, $zero /* 34AD8 800596D8 26520008 */ addiu $s2, $s2, 8 /* 34ADC 800596DC 00161400 */ sll $v0, $s6, 0x10 /* 34AE0 800596E0 3C080C00 */ lui $t0, 0xc00 /* 34AE4 800596E4 97A50026 */ lhu $a1, 0x26($sp) /* 34AE8 800596E8 9663000A */ lhu $v1, 0xa($s3) /* 34AEC 800596EC 00451025 */ or $v0, $v0, $a1 /* 34AF0 800596F0 00681825 */ or $v1, $v1, $t0 /* 34AF4 800596F4 ACC20004 */ sw $v0, 4($a2) /* 34AF8 800596F8 ACC30000 */ sw $v1, ($a2) /* 34AFC 800596FC 97A80026 */ lhu $t0, 0x26($sp) /* 34B00 80059700 02E0202D */ daddu $a0, $s7, $zero /* 34B04 80059704 31020FFF */ andi $v0, $t0, 0xfff /* 34B08 80059708 3C080617 */ lui $t0, 0x617 /* 34B0C 8005970C 00481025 */ or $v0, $v0, $t0 /* 34B10 80059710 0C0187A4 */ jal osVirtualToPhysical /* 34B14 80059714 AE020000 */ sw $v0, ($s0) /* 34B18 80059718 AE020004 */ sw $v0, 4($s0) .L8005971C: /* 34B1C 8005971C 8E620020 */ lw $v0, 0x20($s3) /* 34B20 80059720 10400020 */ beqz $v0, .L800597A4 /* 34B24 80059724 3C020B00 */ lui $v0, 0xb00 /* 34B28 80059728 34420020 */ ori $v0, $v0, 0x20 /* 34B2C 8005972C 0240882D */ daddu $s1, $s2, $zero /* 34B30 80059730 00168400 */ sll $s0, $s6, 0x10 /* 34B34 80059734 AE220000 */ sw $v0, ($s1) /* 34B38 80059738 8E640020 */ lw $a0, 0x20($s3) /* 34B3C 8005973C 00108603 */ sra $s0, $s0, 0x18 /* 34B40 80059740 0C0187A4 */ jal osVirtualToPhysical /* 34B44 80059744 24840008 */ addiu $a0, $a0, 8 /* 34B48 80059748 26520008 */ addiu $s2, $s2, 8 /* 34B4C 8005974C AE220004 */ sw $v0, 4($s1) /* 34B50 80059750 0240882D */ daddu $s1, $s2, $zero /* 34B54 80059754 8E620020 */ lw $v0, 0x20($s3) /* 34B58 80059758 3C030E00 */ lui $v1, 0xe00 /* 34B5C 8005975C 9044002F */ lbu $a0, 0x2f($v0) /* 34B60 80059760 94420002 */ lhu $v0, 2($v0) /* 34B64 80059764 00042400 */ sll $a0, $a0, 0x10 /* 34B68 80059768 00431025 */ or $v0, $v0, $v1 /* 34B6C 8005976C 00822025 */ or $a0, $a0, $v0 /* 34B70 80059770 AE240000 */ sw $a0, ($s1) /* 34B74 80059774 8E620020 */ lw $v0, 0x20($s3) /* 34B78 80059778 8C440028 */ lw $a0, 0x28($v0) /* 34B7C 8005977C 0C0187A4 */ jal osVirtualToPhysical /* 34B80 80059780 00108600 */ sll $s0, $s0, 0x18 /* 34B84 80059784 3C0300FF */ lui $v1, 0xff /* 34B88 80059788 3463FFFF */ ori $v1, $v1, 0xffff /* 34B8C 8005978C 00431024 */ and $v0, $v0, $v1 /* 34B90 80059790 02028025 */ or $s0, $s0, $v0 /* 34B94 80059794 AE300004 */ sw $s0, 4($s1) /* 34B98 80059798 8E620020 */ lw $v0, 0x20($s3) /* 34B9C 8005979C 26520008 */ addiu $s2, $s2, 8 /* 34BA0 800597A0 AC40002C */ sw $zero, 0x2c($v0) .L800597A4: /* 34BA4 800597A4 8E620028 */ lw $v0, 0x28($s3) /* 34BA8 800597A8 14400009 */ bnez $v0, .L800597D0 /* 34BAC 800597AC 0240802D */ daddu $s0, $s2, $zero /* 34BB0 800597B0 26520008 */ addiu $s2, $s2, 8 /* 34BB4 800597B4 03C0202D */ daddu $a0, $fp, $zero /* 34BB8 800597B8 32C20FFF */ andi $v0, $s6, 0xfff /* 34BBC 800597BC 3C080617 */ lui $t0, 0x617 /* 34BC0 800597C0 00481025 */ or $v0, $v0, $t0 /* 34BC4 800597C4 0C0187A4 */ jal osVirtualToPhysical /* 34BC8 800597C8 AE020000 */ sw $v0, ($s0) /* 34BCC 800597CC AE020004 */ sw $v0, 4($s0) .L800597D0: /* 34BD0 800597D0 8662000C */ lh $v0, 0xc($s3) /* 34BD4 800597D4 1040000A */ beqz $v0, .L80059800 /* 34BD8 800597D8 0240282D */ daddu $a1, $s2, $zero /* 34BDC 800597DC 26520008 */ addiu $s2, $s2, 8 /* 34BE0 800597E0 00161400 */ sll $v0, $s6, 0x10 /* 34BE4 800597E4 3C080C00 */ lui $t0, 0xc00 /* 34BE8 800597E8 97A40028 */ lhu $a0, 0x28($sp) /* 34BEC 800597EC 9663000C */ lhu $v1, 0xc($s3) /* 34BF0 800597F0 00441025 */ or $v0, $v0, $a0 /* 34BF4 800597F4 00681825 */ or $v1, $v1, $t0 /* 34BF8 800597F8 ACA20004 */ sw $v0, 4($a1) /* 34BFC 800597FC ACA30000 */ sw $v1, ($a1) .L80059800: /* 34C00 80059800 97A8001E */ lhu $t0, 0x1e($sp) /* 34C04 80059804 25030001 */ addiu $v1, $t0, 1 /* 34C08 80059808 A7A3001E */ sh $v1, 0x1e($sp) /* 34C0C 8005980C 00031C00 */ sll $v1, $v1, 0x10 /* 34C10 80059810 8FA80068 */ lw $t0, 0x68($sp) /* 34C14 80059814 8E620004 */ lw $v0, 4($s3) /* 34C18 80059818 8D040004 */ lw $a0, 4($t0) /* 34C1C 8005981C 00021040 */ sll $v0, $v0, 1 /* 34C20 80059820 0082A021 */ addu $s4, $a0, $v0 /* 34C24 80059824 91020010 */ lbu $v0, 0x10($t0) /* 34C28 80059828 00031C03 */ sra $v1, $v1, 0x10 /* 34C2C 8005982C 0062182A */ slt $v1, $v1, $v0 /* 34C30 80059830 1460FEEA */ bnez $v1, .L800593DC /* 34C34 80059834 00000000 */ nop .L80059838: /* 34C38 80059838 8FA80068 */ lw $t0, 0x68($sp) /* 34C3C 8005983C 8D030004 */ lw $v1, 4($t0) /* 34C40 80059840 8D020008 */ lw $v0, 8($t0) /* 34C44 80059844 8D040000 */ lw $a0, ($t0) /* 34C48 80059848 24630170 */ addiu $v1, $v1, 0x170 /* 34C4C 8005984C 00021040 */ sll $v0, $v0, 1 /* 34C50 80059850 00821021 */ addu $v0, $a0, $v0 /* 34C54 80059854 AD030004 */ sw $v1, 4($t0) /* 34C58 80059858 0062182B */ sltu $v1, $v1, $v0 /* 34C5C 8005985C 50600001 */ beql $v1, $zero, .L80059864 /* 34C60 80059860 AD040004 */ sw $a0, 4($t0) .L80059864: /* 34C64 80059864 0240102D */ daddu $v0, $s2, $zero /* 34C68 80059868 8FBF0054 */ lw $ra, 0x54($sp) /* 34C6C 8005986C 8FBE0050 */ lw $fp, 0x50($sp) /* 34C70 80059870 8FB7004C */ lw $s7, 0x4c($sp) /* 34C74 80059874 8FB60048 */ lw $s6, 0x48($sp) /* 34C78 80059878 8FB50044 */ lw $s5, 0x44($sp) /* 34C7C 8005987C 8FB40040 */ lw $s4, 0x40($sp) /* 34C80 80059880 8FB3003C */ lw $s3, 0x3c($sp) /* 34C84 80059884 8FB20038 */ lw $s2, 0x38($sp) /* 34C88 80059888 8FB10034 */ lw $s1, 0x34($sp) /* 34C8C 8005988C 8FB00030 */ lw $s0, 0x30($sp) /* 34C90 80059890 D7B60060 */ ldc1 $f22, 0x60($sp) /* 34C94 80059894 D7B40058 */ ldc1 $f20, 0x58($sp) /* 34C98 80059898 03E00008 */ jr $ra /* 34C9C 8005989C 27BD0068 */ addiu $sp, $sp, 0x68