glabel func_800DD6CC /* B5486C 800DD6CC 27BDFF98 */ addiu $sp, $sp, -0x68 /* B54870 800DD6D0 AFBF0024 */ sw $ra, 0x24($sp) /* B54874 800DD6D4 AFB10020 */ sw $s1, 0x20($sp) /* B54878 800DD6D8 AFB0001C */ sw $s0, 0x1c($sp) /* B5487C 800DD6DC AFA70074 */ sw $a3, 0x74($sp) /* B54880 800DD6E0 94A20008 */ lhu $v0, 8($a1) /* B54884 800DD6E4 94A3000A */ lhu $v1, 0xa($a1) /* B54888 800DD6E8 94CD0010 */ lhu $t5, 0x10($a2) /* B5488C 800DD6EC 00021100 */ sll $v0, $v0, 4 /* B54890 800DD6F0 3048FFFF */ andi $t0, $v0, 0xffff /* B54894 800DD6F4 00031900 */ sll $v1, $v1, 4 /* B54898 800DD6F8 00808025 */ move $s0, $a0 /* B5489C 800DD6FC 00A08825 */ move $s1, $a1 /* B548A0 800DD700 90AA0005 */ lbu $t2, 5($a1) /* B548A4 800DD704 94DF0012 */ lhu $ra, 0x12($a2) /* B548A8 800DD708 3063FFFF */ andi $v1, $v1, 0xffff /* B548AC 800DD70C 11A80012 */ beq $t5, $t0, .L800DD758 /* B548B0 800DD710 01A04825 */ move $t1, $t5 /* B548B4 800DD714 000710C3 */ sra $v0, $a3, 3 /* B548B8 800DD718 01097023 */ subu $t6, $t0, $t1 /* B548BC 800DD71C 01C2001A */ div $zero, $t6, $v0 /* B548C0 800DD720 00003812 */ mflo $a3 /* B548C4 800DD724 00073C00 */ sll $a3, $a3, 0x10 /* B548C8 800DD728 14400002 */ bnez $v0, .L800DD734 /* B548CC 800DD72C 00000000 */ nop /* B548D0 800DD730 0007000D */ break 7 .L800DD734: /* B548D4 800DD734 2401FFFF */ li $at, -1 /* B548D8 800DD738 14410004 */ bne $v0, $at, .L800DD74C /* B548DC 800DD73C 3C018000 */ lui $at, 0x8000 /* B548E0 800DD740 15C10002 */ bne $t6, $at, .L800DD74C /* B548E4 800DD744 00000000 */ nop /* B548E8 800DD748 0006000D */ break 6 .L800DD74C: /* B548EC 800DD74C 00073C03 */ sra $a3, $a3, 0x10 /* B548F0 800DD750 10000005 */ b .L800DD768 /* B548F4 800DD754 03E05825 */ move $t3, $ra .L800DD758: /* B548F8 800DD758 8FA20074 */ lw $v0, 0x74($sp) /* B548FC 800DD75C 00003825 */ move $a3, $zero /* B54900 800DD760 000210C3 */ sra $v0, $v0, 3 /* B54904 800DD764 03E05825 */ move $t3, $ra .L800DD768: /* B54908 800DD768 13E30011 */ beq $ra, $v1, .L800DD7B0 /* B5490C 800DD76C 00602025 */ move $a0, $v1 /* B54910 800DD770 008B7823 */ subu $t7, $a0, $t3 /* B54914 800DD774 01E2001A */ div $zero, $t7, $v0 /* B54918 800DD778 00004012 */ mflo $t0 /* B5491C 800DD77C 00084400 */ sll $t0, $t0, 0x10 /* B54920 800DD780 14400002 */ bnez $v0, .L800DD78C /* B54924 800DD784 00000000 */ nop /* B54928 800DD788 0007000D */ break 7 .L800DD78C: /* B5492C 800DD78C 2401FFFF */ li $at, -1 /* B54930 800DD790 14410004 */ bne $v0, $at, .L800DD7A4 /* B54934 800DD794 3C018000 */ lui $at, 0x8000 /* B54938 800DD798 15E10002 */ bne $t7, $at, .L800DD7A4 /* B5493C 800DD79C 00000000 */ nop /* B54940 800DD7A0 0006000D */ break 6 .L800DD7A4: /* B54944 800DD7A4 00084403 */ sra $t0, $t0, 0x10 /* B54948 800DD7A8 10000003 */ b .L800DD7B8 /* B5494C 800DD7AC 90CC0004 */ lbu $t4, 4($a2) .L800DD7B0: /* B54950 800DD7B0 00004025 */ move $t0, $zero /* B54954 800DD7B4 90CC0004 */ lbu $t4, 4($a2) .L800DD7B8: /* B54958 800DD7B8 AFA90030 */ sw $t1, 0x30($sp) /* B5495C 800DD7BC 3158007F */ andi $t8, $t2, 0x7f /* B54960 800DD7C0 118A0013 */ beq $t4, $t2, .L800DD810 /* B54964 800DD7C4 3189007F */ andi $t1, $t4, 0x7f /* B54968 800DD7C8 3189007F */ andi $t1, $t4, 0x7f /* B5496C 800DD7CC 0309C823 */ subu $t9, $t8, $t1 /* B54970 800DD7D0 00197240 */ sll $t6, $t9, 9 /* B54974 800DD7D4 01C2001A */ div $zero, $t6, $v0 /* B54978 800DD7D8 00007812 */ mflo $t7 /* B5497C 800DD7DC A7AF0052 */ sh $t7, 0x52($sp) /* B54980 800DD7E0 14400002 */ bnez $v0, .L800DD7EC /* B54984 800DD7E4 00000000 */ nop /* B54988 800DD7E8 0007000D */ break 7 .L800DD7EC: /* B5498C 800DD7EC 2401FFFF */ li $at, -1 /* B54990 800DD7F0 14410004 */ bne $v0, $at, .L800DD804 /* B54994 800DD7F4 3C018000 */ lui $at, 0x8000 /* B54998 800DD7F8 15C10002 */ bne $t6, $at, .L800DD804 /* B5499C 800DD7FC 00000000 */ nop /* B549A0 800DD800 0006000D */ break 6 .L800DD804: /* B549A4 800DD804 A0CA0004 */ sb $t2, 4($a2) /* B549A8 800DD808 10000002 */ b .L800DD814 /* B549AC 800DD80C 00000000 */ nop .L800DD810: /* B549B0 800DD810 A7A00052 */ sh $zero, 0x52($sp) .L800DD814: /* B549B4 800DD814 00E20019 */ multu $a3, $v0 /* B549B8 800DD818 8FB80030 */ lw $t8, 0x30($sp) /* B549BC 800DD81C 02002025 */ move $a0, $s0 /* B549C0 800DD820 3C011200 */ lui $at, 0x1200 /* B549C4 800DD824 3C058013 */ lui $a1, %hi(D_801304AC) # $a1, 0x8013 /* B549C8 800DD828 0000C812 */ mflo $t9 /* B549CC 800DD82C 03197021 */ addu $t6, $t8, $t9 /* B549D0 800DD830 A4CE0010 */ sh $t6, 0x10($a2) /* B549D4 800DD834 01020019 */ multu $t0, $v0 /* B549D8 800DD838 02001025 */ move $v0, $s0 /* B549DC 800DD83C 00007812 */ mflo $t7 /* B549E0 800DD840 016FC021 */ addu $t8, $t3, $t7 /* B549E4 800DD844 A4D80012 */ sh $t8, 0x12($a2) /* B549E8 800DD848 96390000 */ lhu $t9, ($s1) /* B549EC 800DD84C 00097840 */ sll $t7, $t1, 1 /* B549F0 800DD850 31F800FF */ andi $t8, $t7, 0xff /* B549F4 800DD854 332E0001 */ andi $t6, $t9, 1 /* B549F8 800DD858 11C00027 */ beqz $t6, .L800DD8F8 /* B549FC 800DD85C 0018CC00 */ sll $t9, $t8, 0x10 /* B54A00 800DD860 240505C0 */ li $a1, 1472 /* B54A04 800DD864 240601A0 */ li $a2, 416 /* B54A08 800DD868 26100008 */ addiu $s0, $s0, 8 /* B54A0C 800DD86C A7A70056 */ sh $a3, 0x56($sp) /* B54A10 800DD870 A7A80054 */ sh $t0, 0x54($sp) /* B54A14 800DD874 AFA90034 */ sw $t1, 0x34($sp) /* B54A18 800DD878 AFAB0028 */ sw $t3, 0x28($sp) /* B54A1C 800DD87C 0C036EE7 */ jal func_800DBB9C /* B54A20 800DD880 A7AC0050 */ sh $t4, 0x50($sp) /* B54A24 800DD884 87A80054 */ lh $t0, 0x54($sp) /* B54A28 800DD888 8FA90034 */ lw $t1, 0x34($sp) /* B54A2C 800DD88C 02002025 */ move $a0, $s0 /* B54A30 800DD890 87A70056 */ lh $a3, 0x56($sp) /* B54A34 800DD894 26100008 */ addiu $s0, $s0, 8 /* B54A38 800DD898 87A60052 */ lh $a2, 0x52($sp) /* B54A3C 800DD89C AFA80010 */ sw $t0, 0x10($sp) /* B54A40 800DD8A0 0C036F35 */ jal func_800DBCD4 /* B54A44 800DD8A4 00092840 */ sll $a1, $t1, 1 /* B54A48 800DD8A8 02002025 */ move $a0, $s0 /* B54A4C 800DD8AC 26100008 */ addiu $s0, $s0, 8 /* B54A50 800DD8B0 8FA50030 */ lw $a1, 0x30($sp) /* B54A54 800DD8B4 0C036F58 */ jal func_800DBD60 /* B54A58 800DD8B8 8FA60028 */ lw $a2, 0x28($sp) /* B54A5C 800DD8BC 8FA2007C */ lw $v0, 0x7c($sp) /* B54A60 800DD8C0 24010001 */ li $at, 1 /* B54A64 800DD8C4 87AC0050 */ lh $t4, 0x50($sp) /* B54A68 800DD8C8 10410007 */ beq $v0, $at, .L800DD8E8 /* B54A6C 800DD8CC 3C058013 */ lui $a1, %hi(D_801304A4) # $a1, 0x8013 /* B54A70 800DD8D0 24010002 */ li $at, 2 /* B54A74 800DD8D4 10410006 */ beq $v0, $at, .L800DD8F0 /* B54A78 800DD8D8 3C058013 */ lui $a1, %hi(D_801304A8) # $a1, 0x8013 /* B54A7C 800DD8DC 3C058013 */ lui $a1, %hi(D_801304AC) # $a1, 0x8013 /* B54A80 800DD8E0 10000018 */ b .L800DD944 /* B54A84 800DD8E4 8CA504AC */ lw $a1, %lo(D_801304AC)($a1) .L800DD8E8: /* B54A88 800DD8E8 10000016 */ b .L800DD944 /* B54A8C 800DD8EC 8CA504A4 */ lw $a1, %lo(D_801304A4)($a1) .L800DD8F0: /* B54A90 800DD8F0 10000014 */ b .L800DD944 /* B54A94 800DD8F4 8CA504A8 */ lw $a1, %lo(D_801304A8)($a1) .L800DD8F8: /* B54A98 800DD8F8 87AF0052 */ lh $t7, 0x52($sp) /* B54A9C 800DD8FC 03217025 */ or $t6, $t9, $at /* B54AA0 800DD900 26100008 */ addiu $s0, $s0, 8 /* B54AA4 800DD904 31F8FFFF */ andi $t8, $t7, 0xffff /* B54AA8 800DD908 01D8C825 */ or $t9, $t6, $t8 /* B54AAC 800DD90C AC590000 */ sw $t9, ($v0) /* B54AB0 800DD910 3118FFFF */ andi $t8, $t0, 0xffff /* B54AB4 800DD914 00077400 */ sll $t6, $a3, 0x10 /* B54AB8 800DD918 01D8C825 */ or $t9, $t6, $t8 /* B54ABC 800DD91C AC590004 */ sw $t9, 4($v0) /* B54AC0 800DD920 3C0F1600 */ lui $t7, 0x1600 /* B54AC4 800DD924 02001825 */ move $v1, $s0 /* B54AC8 800DD928 AC6F0000 */ sw $t7, ($v1) /* B54ACC 800DD92C 33F9FFFF */ andi $t9, $ra, 0xffff /* B54AD0 800DD930 000DC400 */ sll $t8, $t5, 0x10 /* B54AD4 800DD934 03197825 */ or $t7, $t8, $t9 /* B54AD8 800DD938 AC6F0004 */ sw $t7, 4($v1) /* B54ADC 800DD93C 26100008 */ addiu $s0, $s0, 8 /* B54AE0 800DD940 8CA504AC */ lw $a1, %lo(D_801304AC)($a1) .L800DD944: /* B54AE4 800DD944 97AE007A */ lhu $t6, 0x7a($sp) /* B54AE8 800DD948 8E230000 */ lw $v1, ($s1) /* B54AEC 800DD94C 02002025 */ move $a0, $s0 /* B54AF0 800DD950 000EC103 */ sra $t8, $t6, 4 /* B54AF4 800DD954 331900FF */ andi $t9, $t8, 0xff /* B54AF8 800DD958 3C0E8013 */ lui $t6, %hi(D_801304A0) # $t6, 0x8013 /* B54AFC 800DD95C 8DCE04A0 */ lw $t6, %lo(D_801304A0)($t6) /* B54B00 800DD960 00197C00 */ sll $t7, $t9, 0x10 /* B54B04 800DD964 8FB90074 */ lw $t9, 0x74($sp) /* B54B08 800DD968 01EEC025 */ or $t8, $t7, $t6 /* B54B0C 800DD96C 26020008 */ addiu $v0, $s0, 8 /* B54B10 800DD970 332F00FF */ andi $t7, $t9, 0xff /* B54B14 800DD974 000F7200 */ sll $t6, $t7, 8 /* B54B18 800DD978 030EC825 */ or $t9, $t8, $t6 /* B54B1C 800DD97C 318F0080 */ andi $t7, $t4, 0x80 /* B54B20 800DD980 000FC1C3 */ sra $t8, $t7, 7 /* B54B24 800DD984 330E0001 */ andi $t6, $t8, 1 /* B54B28 800DD988 000E7900 */ sll $t7, $t6, 4 /* B54B2C 800DD98C 032FC025 */ or $t8, $t9, $t7 /* B54B30 800DD990 00037180 */ sll $t6, $v1, 6 /* B54B34 800DD994 000ECFC2 */ srl $t9, $t6, 0x1f /* B54B38 800DD998 332F0001 */ andi $t7, $t9, 1 /* B54B3C 800DD99C 000F70C0 */ sll $t6, $t7, 3 /* B54B40 800DD9A0 030EC825 */ or $t9, $t8, $t6 /* B54B44 800DD9A4 92380000 */ lbu $t8, ($s1) /* B54B48 800DD9A8 AC850004 */ sw $a1, 4($a0) /* B54B4C 800DD9AC 330E0001 */ andi $t6, $t8, 1 /* B54B50 800DD9B0 000E7880 */ sll $t7, $t6, 2 /* B54B54 800DD9B4 032FC025 */ or $t8, $t9, $t7 /* B54B58 800DD9B8 00037100 */ sll $t6, $v1, 4 /* B54B5C 800DD9BC 000ECFC2 */ srl $t9, $t6, 0x1f /* B54B60 800DD9C0 332F0001 */ andi $t7, $t9, 1 /* B54B64 800DD9C4 000F7040 */ sll $t6, $t7, 1 /* B54B68 800DD9C8 030EC825 */ or $t9, $t8, $t6 /* B54B6C 800DD9CC 00037940 */ sll $t7, $v1, 5 /* B54B70 800DD9D0 000FC7C2 */ srl $t8, $t7, 0x1f /* B54B74 800DD9D4 330E0001 */ andi $t6, $t8, 1 /* B54B78 800DD9D8 032E7825 */ or $t7, $t9, $t6 /* B54B7C 800DD9DC AC8F0000 */ sw $t7, ($a0) /* B54B80 800DD9E0 8FBF0024 */ lw $ra, 0x24($sp) /* B54B84 800DD9E4 8FB10020 */ lw $s1, 0x20($sp) /* B54B88 800DD9E8 8FB0001C */ lw $s0, 0x1c($sp) /* B54B8C 800DD9EC 03E00008 */ jr $ra /* B54B90 800DD9F0 27BD0068 */ addiu $sp, $sp, 0x68