.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_8006D320 /* 48720 8006D320 27BDFFA0 */ addiu $sp, $sp, -0x60 /* 48724 8006D324 AFB20040 */ sw $s2, 0x40($sp) /* 48728 8006D328 00809021 */ addu $s2, $a0, $zero /* 4872C 8006D32C AFB70054 */ sw $s7, 0x54($sp) /* 48730 8006D330 00A0B821 */ addu $s7, $a1, $zero /* 48734 8006D334 AFB30044 */ sw $s3, 0x44($sp) /* 48738 8006D338 00009821 */ addu $s3, $zero, $zero /* 4873C 8006D33C AFB00038 */ sw $s0, 0x38($sp) /* 48740 8006D340 24100003 */ addiu $s0, $zero, 3 /* 48744 8006D344 AFBF0058 */ sw $ra, 0x58($sp) /* 48748 8006D348 AFB60050 */ sw $s6, 0x50($sp) /* 4874C 8006D34C AFB5004C */ sw $s5, 0x4c($sp) /* 48750 8006D350 AFB40048 */ sw $s4, 0x48($sp) /* 48754 8006D354 0C019765 */ jal func_80065D94 /* 48758 8006D358 AFB1003C */ sw $s1, 0x3c($sp) /* 4875C 8006D35C 3C14800E */ lui $s4, %hi(D_800D9FE0) /* 48760 8006D360 26949FE0 */ addiu $s4, $s4, %lo(D_800D9FE0) /* 48764 8006D364 27B10020 */ addiu $s1, $sp, 0x20 /* 48768 8006D368 27B50010 */ addiu $s5, $sp, 0x10 .L8006D36C: /* 4876C 8006D36C 0C01B527 */ jal func_8006D49C /* 48770 8006D370 00002021 */ addu $a0, $zero, $zero /* 48774 8006D374 24040001 */ addiu $a0, $zero, 1 /* 48778 8006D378 0C019724 */ jal func_80065C90 /* 4877C 8006D37C 02802821 */ addu $a1, $s4, $zero /* 48780 8006D380 02402021 */ addu $a0, $s2, $zero /* 48784 8006D384 02202821 */ addu $a1, $s1, $zero /* 48788 8006D388 0C0195B0 */ jal func_800656C0 /* 4878C 8006D38C 24060001 */ addiu $a2, $zero, 1 /* 48790 8006D390 00002021 */ addu $a0, $zero, $zero /* 48794 8006D394 0C019724 */ jal func_80065C90 /* 48798 8006D398 02802821 */ addu $a1, $s4, $zero /* 4879C 8006D39C 02402021 */ addu $a0, $s2, $zero /* 487A0 8006D3A0 02202821 */ addu $a1, $s1, $zero /* 487A4 8006D3A4 24060001 */ addiu $a2, $zero, 1 /* 487A8 8006D3A8 0C0195B0 */ jal func_800656C0 /* 487AC 8006D3AC 0040B021 */ addu $s6, $v0, $zero /* 487B0 8006D3B0 27A40024 */ addiu $a0, $sp, 0x24 /* 487B4 8006D3B4 0C01B550 */ jal func_8006D540 /* 487B8 8006D3B8 27A50010 */ addiu $a1, $sp, 0x10 /* 487BC 8006D3BC 3C02800A */ lui $v0, %hi(D_8009A5E6) /* 487C0 8006D3C0 9042A5E6 */ lbu $v0, %lo(D_8009A5E6)($v0) /* 487C4 8006D3C4 1840000C */ blez $v0, .L8006D3F8 /* 487C8 8006D3C8 00002021 */ addu $a0, $zero, $zero /* 487CC 8006D3CC 00402821 */ addu $a1, $v0, $zero /* 487D0 8006D3D0 02A01821 */ addu $v1, $s5, $zero .L8006D3D4: /* 487D4 8006D3D4 90620002 */ lbu $v0, 2($v1) /* 487D8 8006D3D8 30420004 */ andi $v0, $v0, 4 /* 487DC 8006D3DC 54400003 */ bnel $v0, $zero, .L8006D3EC /* 487E0 8006D3E0 24840001 */ addiu $a0, $a0, 1 /* 487E4 8006D3E4 0801B4FE */ j .L8006D3F8 /* 487E8 8006D3E8 2610FFFF */ addiu $s0, $s0, -1 .L8006D3EC: /* 487EC 8006D3EC 0085102A */ slt $v0, $a0, $a1 /* 487F0 8006D3F0 1440FFF8 */ bnez $v0, .L8006D3D4 /* 487F4 8006D3F4 24630004 */ addiu $v1, $v1, 4 .L8006D3F8: /* 487F8 8006D3F8 3C03800A */ lui $v1, %hi(D_8009A5E6) /* 487FC 8006D3FC 9063A5E6 */ lbu $v1, %lo(D_8009A5E6)($v1) /* 48800 8006D400 00831026 */ xor $v0, $a0, $v1 /* 48804 8006D404 0002102B */ sltu $v0, $zero, $v0 /* 48808 8006D408 00021023 */ negu $v0, $v0 /* 4880C 8006D40C 02028024 */ and $s0, $s0, $v0 /* 48810 8006D410 1E00FFD6 */ bgtz $s0, .L8006D36C /* 48814 8006D414 00000000 */ nop /* 48818 8006D418 10600011 */ beqz $v1, .L8006D460 /* 4881C 8006D41C 00002021 */ addu $a0, $zero, $zero /* 48820 8006D420 24060001 */ addiu $a2, $zero, 1 /* 48824 8006D424 00602821 */ addu $a1, $v1, $zero /* 48828 8006D428 27A30010 */ addiu $v1, $sp, 0x10 .L8006D42C: /* 4882C 8006D42C 90620003 */ lbu $v0, 3($v1) /* 48830 8006D430 54400008 */ bnel $v0, $zero, .L8006D454 /* 48834 8006D434 24840001 */ addiu $a0, $a0, 1 /* 48838 8006D438 90620002 */ lbu $v0, 2($v1) /* 4883C 8006D43C 30420001 */ andi $v0, $v0, 1 /* 48840 8006D440 50400004 */ beql $v0, $zero, .L8006D454 /* 48844 8006D444 24840001 */ addiu $a0, $a0, 1 /* 48848 8006D448 00861004 */ sllv $v0, $a2, $a0 /* 4884C 8006D44C 02629825 */ or $s3, $s3, $v0 /* 48850 8006D450 24840001 */ addiu $a0, $a0, 1 .L8006D454: /* 48854 8006D454 0085102A */ slt $v0, $a0, $a1 /* 48858 8006D458 1440FFF4 */ bnez $v0, .L8006D42C /* 4885C 8006D45C 24630004 */ addiu $v1, $v1, 4 .L8006D460: /* 48860 8006D460 0C019780 */ jal func_80065E00 /* 48864 8006D464 00000000 */ nop /* 48868 8006D468 A2F30000 */ sb $s3, ($s7) /* 4886C 8006D46C 02C01021 */ addu $v0, $s6, $zero /* 48870 8006D470 8FBF0058 */ lw $ra, 0x58($sp) /* 48874 8006D474 8FB70054 */ lw $s7, 0x54($sp) /* 48878 8006D478 8FB60050 */ lw $s6, 0x50($sp) /* 4887C 8006D47C 8FB5004C */ lw $s5, 0x4c($sp) /* 48880 8006D480 8FB40048 */ lw $s4, 0x48($sp) /* 48884 8006D484 8FB30044 */ lw $s3, 0x44($sp) /* 48888 8006D488 8FB20040 */ lw $s2, 0x40($sp) /* 4888C 8006D48C 8FB1003C */ lw $s1, 0x3c($sp) /* 48890 8006D490 8FB00038 */ lw $s0, 0x38($sp) /* 48894 8006D494 03E00008 */ jr $ra /* 48898 8006D498 27BD0060 */ addiu $sp, $sp, 0x60