mirror of https://github.com/zeldaret/oot.git
387 lines
19 KiB
ArmAsm
387 lines
19 KiB
ArmAsm
glabel func_800DC384
|
|
/* B53524 800DC384 27BDFF08 */ addiu $sp, $sp, -0xf8
|
|
/* B53528 800DC388 AFB5003C */ sw $s5, 0x3c($sp)
|
|
/* B5352C 800DC38C 3C158017 */ lui $s5, %hi(gAudioContext) # $s5, 0x8017
|
|
/* B53530 800DC390 26B5F180 */ addiu $s5, %lo(gAudioContext) # addiu $s5, $s5, -0xe80
|
|
/* B53534 800DC394 8EA82894 */ lw $t0, 0x2894($s5)
|
|
/* B53538 800DC398 82A90001 */ lb $t1, 1($s5)
|
|
/* B5353C 800DC39C AFBE0048 */ sw $fp, 0x48($sp)
|
|
/* B53540 800DC3A0 01070019 */ multu $t0, $a3
|
|
/* B53544 800DC3A4 AFB30034 */ sw $s3, 0x34($sp)
|
|
/* B53548 800DC3A8 AFB20030 */ sw $s2, 0x30($sp)
|
|
/* B5354C 800DC3AC 00C09825 */ move $s3, $a2
|
|
/* B53550 800DC3B0 00E0F025 */ move $fp, $a3
|
|
/* B53554 800DC3B4 AFBF004C */ sw $ra, 0x4c($sp)
|
|
/* B53558 800DC3B8 AFB70044 */ sw $s7, 0x44($sp)
|
|
/* B5355C 800DC3BC AFB60040 */ sw $s6, 0x40($sp)
|
|
/* B53560 800DC3C0 AFB40038 */ sw $s4, 0x38($sp)
|
|
/* B53564 800DC3C4 AFB1002C */ sw $s1, 0x2c($sp)
|
|
/* B53568 800DC3C8 00005012 */ mflo $t2
|
|
/* B5356C 800DC3CC AFB00028 */ sw $s0, 0x28($sp)
|
|
/* B53570 800DC3D0 AFA400F8 */ sw $a0, 0xf8($sp)
|
|
/* B53574 800DC3D4 AFA500FC */ sw $a1, 0xfc($sp)
|
|
/* B53578 800DC3D8 15200017 */ bnez $t1, .L800DC438
|
|
/* B5357C 800DC3DC 00009025 */ move $s2, $zero
|
|
/* B53580 800DC3E0 19000013 */ blez $t0, .L800DC430
|
|
/* B53584 800DC3E4 00008825 */ move $s1, $zero
|
|
/* B53588 800DC3E8 8EAE0014 */ lw $t6, 0x14($s5)
|
|
/* B5358C 800DC3EC 000A7940 */ sll $t7, $t2, 5
|
|
/* B53590 800DC3F0 27A4009C */ addiu $a0, $sp, 0x9c
|
|
/* B53594 800DC3F4 01CF1021 */ addu $v0, $t6, $t7
|
|
.L800DC3F8:
|
|
/* B53598 800DC3F8 8C580000 */ lw $t8, ($v0)
|
|
/* B5359C 800DC3FC 00925821 */ addu $t3, $a0, $s2
|
|
/* B535A0 800DC400 0018CFC2 */ srl $t9, $t8, 0x1f
|
|
/* B535A4 800DC404 53200006 */ beql $t9, $zero, .L800DC420
|
|
/* B535A8 800DC408 26310001 */ addiu $s1, $s1, 1
|
|
/* B535AC 800DC40C 26520001 */ addiu $s2, $s2, 1
|
|
/* B535B0 800DC410 00129400 */ sll $s2, $s2, 0x10
|
|
/* B535B4 800DC414 00129403 */ sra $s2, $s2, 0x10
|
|
/* B535B8 800DC418 A1710000 */ sb $s1, ($t3)
|
|
/* B535BC 800DC41C 26310001 */ addiu $s1, $s1, 1
|
|
.L800DC420:
|
|
/* B535C0 800DC420 0228082A */ slt $at, $s1, $t0
|
|
/* B535C4 800DC424 1420FFF4 */ bnez $at, .L800DC3F8
|
|
/* B535C8 800DC428 24420020 */ addiu $v0, $v0, 0x20
|
|
/* B535CC 800DC42C 00008825 */ move $s1, $zero
|
|
.L800DC430:
|
|
/* B535D0 800DC430 1000003C */ b .L800DC524
|
|
/* B535D4 800DC434 0000A025 */ move $s4, $zero
|
|
.L800DC438:
|
|
/* B535D8 800DC438 19200020 */ blez $t1, .L800DC4BC
|
|
/* B535DC 800DC43C 0000A025 */ move $s4, $zero
|
|
/* B535E0 800DC440 27A4009C */ addiu $a0, $sp, 0x9c
|
|
.L800DC444:
|
|
/* B535E4 800DC444 19000016 */ blez $t0, .L800DC4A0
|
|
/* B535E8 800DC448 00008825 */ move $s1, $zero
|
|
/* B535EC 800DC44C 8EAD0014 */ lw $t5, 0x14($s5)
|
|
/* B535F0 800DC450 000A6140 */ sll $t4, $t2, 5
|
|
/* B535F4 800DC454 018D1821 */ addu $v1, $t4, $t5
|
|
.L800DC458:
|
|
/* B535F8 800DC458 00601025 */ move $v0, $v1
|
|
/* B535FC 800DC45C 8C4E0000 */ lw $t6, ($v0)
|
|
/* B53600 800DC460 000E7FC2 */ srl $t7, $t6, 0x1f
|
|
/* B53604 800DC464 51E0000B */ beql $t7, $zero, .L800DC494
|
|
/* B53608 800DC468 26310001 */ addiu $s1, $s1, 1
|
|
/* B5360C 800DC46C 90580001 */ lbu $t8, 1($v0)
|
|
/* B53610 800DC470 00925821 */ addu $t3, $a0, $s2
|
|
/* B53614 800DC474 0018C942 */ srl $t9, $t8, 5
|
|
/* B53618 800DC478 56990006 */ bnel $s4, $t9, .L800DC494
|
|
/* B5361C 800DC47C 26310001 */ addiu $s1, $s1, 1
|
|
/* B53620 800DC480 26520001 */ addiu $s2, $s2, 1
|
|
/* B53624 800DC484 00129400 */ sll $s2, $s2, 0x10
|
|
/* B53628 800DC488 00129403 */ sra $s2, $s2, 0x10
|
|
/* B5362C 800DC48C A1710000 */ sb $s1, ($t3)
|
|
/* B53630 800DC490 26310001 */ addiu $s1, $s1, 1
|
|
.L800DC494:
|
|
/* B53634 800DC494 0228082A */ slt $at, $s1, $t0
|
|
/* B53638 800DC498 1420FFEF */ bnez $at, .L800DC458
|
|
/* B5363C 800DC49C 24630020 */ addiu $v1, $v1, 0x20
|
|
.L800DC4A0:
|
|
/* B53640 800DC4A0 26940001 */ addiu $s4, $s4, 1
|
|
/* B53644 800DC4A4 0014A400 */ sll $s4, $s4, 0x10
|
|
/* B53648 800DC4A8 0014A403 */ sra $s4, $s4, 0x10
|
|
/* B5364C 800DC4AC 0289082A */ slt $at, $s4, $t1
|
|
/* B53650 800DC4B0 1420FFE4 */ bnez $at, .L800DC444
|
|
/* B53654 800DC4B4 00000000 */ nop
|
|
/* B53658 800DC4B8 0000A025 */ move $s4, $zero
|
|
.L800DC4BC:
|
|
/* B5365C 800DC4BC 27A4009C */ addiu $a0, $sp, 0x9c
|
|
/* B53660 800DC4C0 19000018 */ blez $t0, .L800DC524
|
|
/* B53664 800DC4C4 00008825 */ move $s1, $zero
|
|
/* B53668 800DC4C8 8EAD0014 */ lw $t5, 0x14($s5)
|
|
/* B5366C 800DC4CC 000A6140 */ sll $t4, $t2, 5
|
|
/* B53670 800DC4D0 018D1821 */ addu $v1, $t4, $t5
|
|
.L800DC4D4:
|
|
/* B53674 800DC4D4 00601025 */ move $v0, $v1
|
|
/* B53678 800DC4D8 8C4E0000 */ lw $t6, ($v0)
|
|
/* B5367C 800DC4DC 000E7FC2 */ srl $t7, $t6, 0x1f
|
|
/* B53680 800DC4E0 51E0000C */ beql $t7, $zero, .L800DC514
|
|
/* B53684 800DC4E4 26310001 */ addiu $s1, $s1, 1
|
|
/* B53688 800DC4E8 90580001 */ lbu $t8, 1($v0)
|
|
/* B5368C 800DC4EC 00925821 */ addu $t3, $a0, $s2
|
|
/* B53690 800DC4F0 0018C942 */ srl $t9, $t8, 5
|
|
/* B53694 800DC4F4 0329082A */ slt $at, $t9, $t1
|
|
/* B53698 800DC4F8 54200006 */ bnezl $at, .L800DC514
|
|
/* B5369C 800DC4FC 26310001 */ addiu $s1, $s1, 1
|
|
/* B536A0 800DC500 26520001 */ addiu $s2, $s2, 1
|
|
/* B536A4 800DC504 00129400 */ sll $s2, $s2, 0x10
|
|
/* B536A8 800DC508 00129403 */ sra $s2, $s2, 0x10
|
|
/* B536AC 800DC50C A1710000 */ sb $s1, ($t3)
|
|
/* B536B0 800DC510 26310001 */ addiu $s1, $s1, 1
|
|
.L800DC514:
|
|
/* B536B4 800DC514 0228082A */ slt $at, $s1, $t0
|
|
/* B536B8 800DC518 1420FFEE */ bnez $at, .L800DC4D4
|
|
/* B536BC 800DC51C 24630020 */ addiu $v1, $v1, 0x20
|
|
/* B536C0 800DC520 00008825 */ move $s1, $zero
|
|
.L800DC524:
|
|
/* B536C4 800DC524 02601025 */ move $v0, $s3
|
|
/* B536C8 800DC528 3C0C0200 */ lui $t4, (0x02000940 >> 16) # lui $t4, 0x200
|
|
/* B536CC 800DC52C 358C0940 */ ori $t4, (0x02000940 & 0xFFFF) # ori $t4, $t4, 0x940
|
|
/* B536D0 800DC530 240D0340 */ li $t5, 832
|
|
/* B536D4 800DC534 AC4D0004 */ sw $t5, 4($v0)
|
|
/* B536D8 800DC538 AC4C0000 */ sw $t4, ($v0)
|
|
/* B536DC 800DC53C 82AE0001 */ lb $t6, 1($s5)
|
|
/* B536E0 800DC540 26730008 */ addiu $s3, $s3, 8
|
|
/* B536E4 800DC544 AFAA008C */ sw $t2, 0x8c($sp)
|
|
/* B536E8 800DC548 19C000AF */ blez $t6, .L800DC808
|
|
/* B536EC 800DC54C 241700E0 */ li $s7, 224
|
|
/* B536F0 800DC550 AFAA008C */ sw $t2, 0x8c($sp)
|
|
/* B536F4 800DC554 00147880 */ sll $t7, $s4, 2
|
|
.L800DC558:
|
|
/* B536F8 800DC558 01F47823 */ subu $t7, $t7, $s4
|
|
/* B536FC 800DC55C 000F7880 */ sll $t7, $t7, 2
|
|
/* B53700 800DC560 01F47823 */ subu $t7, $t7, $s4
|
|
/* B53704 800DC564 000F78C0 */ sll $t7, $t7, 3
|
|
/* B53708 800DC568 01F47821 */ addu $t7, $t7, $s4
|
|
/* B5370C 800DC56C 000F78C0 */ sll $t7, $t7, 3
|
|
/* B53710 800DC570 02AFC021 */ addu $t8, $s5, $t7
|
|
/* B53714 800DC574 AFB8005C */ sw $t8, 0x5c($sp)
|
|
/* B53718 800DC578 930B0019 */ lbu $t3, 0x19($t8)
|
|
/* B5371C 800DC57C 02602025 */ move $a0, $s3
|
|
/* B53720 800DC580 8FA500FC */ lw $a1, 0xfc($sp)
|
|
/* B53724 800DC584 11600051 */ beqz $t3, .L800DC6CC
|
|
/* B53728 800DC588 AFAB0090 */ sw $t3, 0x90($sp)
|
|
/* B5372C 800DC58C 001EB400 */ sll $s6, $fp, 0x10
|
|
/* B53730 800DC590 0016B403 */ sra $s6, $s6, 0x10
|
|
/* B53734 800DC594 00163C00 */ sll $a3, $s6, 0x10
|
|
/* B53738 800DC598 27100018 */ addiu $s0, $t8, 0x18
|
|
/* B5373C 800DC59C 02003025 */ move $a2, $s0
|
|
/* B53740 800DC5A0 0C037059 */ jal func_800DC164
|
|
/* B53744 800DC5A4 00073C03 */ sra $a3, $a3, 0x10
|
|
/* B53748 800DC5A8 860C000A */ lh $t4, 0xa($s0)
|
|
/* B5374C 800DC5AC 3C010C34 */ lui $at, 0xc34
|
|
/* B53750 800DC5B0 3C0F0C80 */ lui $t7, (0x0C800940 >> 16) # lui $t7, 0xc80
|
|
/* B53754 800DC5B4 318DFFFF */ andi $t5, $t4, 0xffff
|
|
/* B53758 800DC5B8 01A17025 */ or $t6, $t5, $at
|
|
/* B5375C 800DC5BC 35EF0940 */ ori $t7, (0x0C800940 & 0xFFFF) # ori $t7, $t7, 0x940
|
|
/* B53760 800DC5C0 AC4F0004 */ sw $t7, 4($v0)
|
|
/* B53764 800DC5C4 AC4E0000 */ sw $t6, ($v0)
|
|
/* B53768 800DC5C8 96180014 */ lhu $t8, 0x14($s0)
|
|
/* B5376C 800DC5CC 24430008 */ addiu $v1, $v0, 8
|
|
/* B53770 800DC5D0 00609825 */ move $s3, $v1
|
|
/* B53774 800DC5D4 13000008 */ beqz $t8, .L800DC5F8
|
|
/* B53778 800DC5D8 AFB8007C */ sw $t8, 0x7c($sp)
|
|
/* B5377C 800DC5DC 3C190A00 */ lui $t9, (0x0A000C80 >> 16) # lui $t9, 0xa00
|
|
/* B53780 800DC5E0 3C0C03E0 */ lui $t4, (0x03E00340 >> 16) # lui $t4, 0x3e0
|
|
/* B53784 800DC5E4 358C0340 */ ori $t4, (0x03E00340 & 0xFFFF) # ori $t4, $t4, 0x340
|
|
/* B53788 800DC5E8 37390C80 */ ori $t9, (0x0A000C80 & 0xFFFF) # ori $t9, $t9, 0xc80
|
|
/* B5378C 800DC5EC AC790000 */ sw $t9, ($v1)
|
|
/* B53790 800DC5F0 AC6C0004 */ sw $t4, 4($v1)
|
|
/* B53794 800DC5F4 24730008 */ addiu $s3, $v1, 8
|
|
.L800DC5F8:
|
|
/* B53798 800DC5F8 960D000C */ lhu $t5, 0xc($s0)
|
|
/* B5379C 800DC5FC 34018000 */ li $at, 32768
|
|
/* B537A0 800DC600 02601025 */ move $v0, $s3
|
|
/* B537A4 800DC604 01A17021 */ addu $t6, $t5, $at
|
|
/* B537A8 800DC608 31CFFFFF */ andi $t7, $t6, 0xffff
|
|
/* B537AC 800DC60C 3C010C34 */ lui $at, 0xc34
|
|
/* B537B0 800DC610 3C0B0C80 */ lui $t3, (0x0C800C80 >> 16) # lui $t3, 0xc80
|
|
/* B537B4 800DC614 356B0C80 */ ori $t3, (0x0C800C80 & 0xFFFF) # ori $t3, $t3, 0xc80
|
|
/* B537B8 800DC618 01E1C025 */ or $t8, $t7, $at
|
|
/* B537BC 800DC61C AC580000 */ sw $t8, ($v0)
|
|
/* B537C0 800DC620 AC4B0004 */ sw $t3, 4($v0)
|
|
/* B537C4 800DC624 86190010 */ lh $t9, 0x10($s0)
|
|
/* B537C8 800DC628 26730008 */ addiu $s3, $s3, 8
|
|
/* B537CC 800DC62C 02602025 */ move $a0, $s3
|
|
/* B537D0 800DC630 17200004 */ bnez $t9, .L800DC644
|
|
/* B537D4 800DC634 00000000 */ nop
|
|
/* B537D8 800DC638 860C0012 */ lh $t4, 0x12($s0)
|
|
/* B537DC 800DC63C 51800005 */ beql $t4, $zero, .L800DC654
|
|
/* B537E0 800DC640 8FAD007C */ lw $t5, 0x7c($sp)
|
|
.L800DC644:
|
|
/* B537E4 800DC644 0C036D20 */ jal func_800DB480
|
|
/* B537E8 800DC648 02002825 */ move $a1, $s0
|
|
/* B537EC 800DC64C 00409825 */ move $s3, $v0
|
|
/* B537F0 800DC650 8FAD007C */ lw $t5, 0x7c($sp)
|
|
.L800DC654:
|
|
/* B537F4 800DC654 02602025 */ move $a0, $s3
|
|
/* B537F8 800DC658 02002825 */ move $a1, $s0
|
|
/* B537FC 800DC65C 11A0001B */ beqz $t5, .L800DC6CC
|
|
/* B53800 800DC660 00163400 */ sll $a2, $s6, 0x10
|
|
/* B53804 800DC664 0C037076 */ jal func_800DC1D8
|
|
/* B53808 800DC668 00063403 */ sra $a2, $a2, 0x10
|
|
/* B5380C 800DC66C 820E0005 */ lb $t6, 5($s0)
|
|
/* B53810 800DC670 2401FFFF */ li $at, -1
|
|
/* B53814 800DC674 00409825 */ move $s3, $v0
|
|
/* B53818 800DC678 11C10005 */ beq $t6, $at, .L800DC690
|
|
/* B5381C 800DC67C 00402025 */ move $a0, $v0
|
|
/* B53820 800DC680 02002825 */ move $a1, $s0
|
|
/* B53824 800DC684 0C036EBA */ jal func_800DBAE8
|
|
/* B53828 800DC688 03C03025 */ move $a2, $fp
|
|
/* B5382C 800DC68C 00409825 */ move $s3, $v0
|
|
.L800DC690:
|
|
/* B53830 800DC690 00163C00 */ sll $a3, $s6, 0x10
|
|
/* B53834 800DC694 00073C03 */ sra $a3, $a3, 0x10
|
|
/* B53838 800DC698 02602025 */ move $a0, $s3
|
|
/* B5383C 800DC69C 8FA500FC */ lw $a1, 0xfc($sp)
|
|
/* B53840 800DC6A0 0C037049 */ jal func_800DC124
|
|
/* B53844 800DC6A4 02003025 */ move $a2, $s0
|
|
/* B53848 800DC6A8 860F0016 */ lh $t7, 0x16($s0)
|
|
/* B5384C 800DC6AC 3C010C34 */ lui $at, 0xc34
|
|
/* B53850 800DC6B0 3C1903E0 */ lui $t9, (0x03E00C80 >> 16) # lui $t9, 0x3e0
|
|
/* B53854 800DC6B4 31F8FFFF */ andi $t8, $t7, 0xffff
|
|
/* B53858 800DC6B8 03015825 */ or $t3, $t8, $at
|
|
/* B5385C 800DC6BC 37390C80 */ ori $t9, (0x03E00C80 & 0xFFFF) # ori $t9, $t9, 0xc80
|
|
/* B53860 800DC6C0 AC590004 */ sw $t9, 4($v0)
|
|
/* B53864 800DC6C4 AC4B0000 */ sw $t3, ($v0)
|
|
/* B53868 800DC6C8 24530008 */ addiu $s3, $v0, 8
|
|
.L800DC6CC:
|
|
/* B5386C 800DC6CC 0232082A */ slt $at, $s1, $s2
|
|
/* B53870 800DC6D0 1020001D */ beqz $at, .L800DC748
|
|
/* B53874 800DC6D4 27AC009C */ addiu $t4, $sp, 0x9c
|
|
/* B53878 800DC6D8 022C8021 */ addu $s0, $s1, $t4
|
|
.L800DC6DC:
|
|
/* B5387C 800DC6DC 92020000 */ lbu $v0, ($s0)
|
|
/* B53880 800DC6E0 8FAD008C */ lw $t5, 0x8c($sp)
|
|
/* B53884 800DC6E4 8EB80014 */ lw $t8, 0x14($s5)
|
|
/* B53888 800DC6E8 00402025 */ move $a0, $v0
|
|
/* B5388C 800DC6EC 004D7021 */ addu $t6, $v0, $t5
|
|
/* B53890 800DC6F0 000E7940 */ sll $t7, $t6, 5
|
|
/* B53894 800DC6F4 01F82821 */ addu $a1, $t7, $t8
|
|
/* B53898 800DC6F8 90AB0001 */ lbu $t3, 1($a1)
|
|
/* B5389C 800DC6FC 000BC942 */ srl $t9, $t3, 5
|
|
/* B538A0 800DC700 56990012 */ bnel $s4, $t9, .L800DC74C
|
|
/* B538A4 800DC704 8FAF0090 */ lw $t7, 0x90($sp)
|
|
/* B538A8 800DC708 00570019 */ multu $v0, $s7
|
|
/* B538AC 800DC70C 8EAD352C */ lw $t5, 0x352c($s5)
|
|
/* B538B0 800DC710 8FAE00FC */ lw $t6, 0xfc($sp)
|
|
/* B538B4 800DC714 8FA700F8 */ lw $a3, 0xf8($sp)
|
|
/* B538B8 800DC718 AFB30014 */ sw $s3, 0x14($sp)
|
|
/* B538BC 800DC71C AFBE0018 */ sw $fp, 0x18($sp)
|
|
/* B538C0 800DC720 AFAE0010 */ sw $t6, 0x10($sp)
|
|
/* B538C4 800DC724 00006012 */ mflo $t4
|
|
/* B538C8 800DC728 018D3021 */ addu $a2, $t4, $t5
|
|
/* B538CC 800DC72C 0C037244 */ jal func_800DC910
|
|
/* B538D0 800DC730 24C60010 */ addiu $a2, $a2, 0x10
|
|
/* B538D4 800DC734 26310001 */ addiu $s1, $s1, 1
|
|
/* B538D8 800DC738 0232082A */ slt $at, $s1, $s2
|
|
/* B538DC 800DC73C 00409825 */ move $s3, $v0
|
|
/* B538E0 800DC740 1420FFE6 */ bnez $at, .L800DC6DC
|
|
/* B538E4 800DC744 26100001 */ addiu $s0, $s0, 1
|
|
.L800DC748:
|
|
/* B538E8 800DC748 8FAF0090 */ lw $t7, 0x90($sp)
|
|
.L800DC74C:
|
|
/* B538EC 800DC74C 8FB0005C */ lw $s0, 0x5c($sp)
|
|
/* B538F0 800DC750 51E00027 */ beql $t7, $zero, .L800DC7F0
|
|
/* B538F4 800DC754 82AD0001 */ lb $t5, 1($s5)
|
|
/* B538F8 800DC758 8E180288 */ lw $t8, 0x288($s0)
|
|
/* B538FC 800DC75C 001EB400 */ sll $s6, $fp, 0x10
|
|
/* B53900 800DC760 0016B403 */ sra $s6, $s6, 0x10
|
|
/* B53904 800DC764 17000004 */ bnez $t8, .L800DC778
|
|
/* B53908 800DC768 26100018 */ addiu $s0, $s0, 0x18
|
|
/* B5390C 800DC76C 8E0B0274 */ lw $t3, 0x274($s0)
|
|
/* B53910 800DC770 51600008 */ beql $t3, $zero, .L800DC794
|
|
/* B53914 800DC774 8FB9007C */ lw $t9, 0x7c($sp)
|
|
.L800DC778:
|
|
/* B53918 800DC778 8FA500FC */ lw $a1, 0xfc($sp)
|
|
/* B5391C 800DC77C 02602025 */ move $a0, $s3
|
|
/* B53920 800DC780 02003025 */ move $a2, $s0
|
|
/* B53924 800DC784 0C036E90 */ jal func_800DBA40
|
|
/* B53928 800DC788 00052840 */ sll $a1, $a1, 1
|
|
/* B5392C 800DC78C 00409825 */ move $s3, $v0
|
|
/* B53930 800DC790 8FB9007C */ lw $t9, 0x7c($sp)
|
|
.L800DC794:
|
|
/* B53934 800DC794 02602025 */ move $a0, $s3
|
|
/* B53938 800DC798 02002825 */ move $a1, $s0
|
|
/* B5393C 800DC79C 13200008 */ beqz $t9, .L800DC7C0
|
|
/* B53940 800DC7A0 00163400 */ sll $a2, $s6, 0x10
|
|
/* B53944 800DC7A4 00163400 */ sll $a2, $s6, 0x10
|
|
/* B53948 800DC7A8 00063403 */ sra $a2, $a2, 0x10
|
|
/* B5394C 800DC7AC 02602025 */ move $a0, $s3
|
|
/* B53950 800DC7B0 0C0370B7 */ jal func_800DC2DC
|
|
/* B53954 800DC7B4 02002825 */ move $a1, $s0
|
|
/* B53958 800DC7B8 1000000C */ b .L800DC7EC
|
|
/* B5395C 800DC7BC 00409825 */ move $s3, $v0
|
|
.L800DC7C0:
|
|
/* B53960 800DC7C0 0C037076 */ jal func_800DC1D8
|
|
/* B53964 800DC7C4 00063403 */ sra $a2, $a2, 0x10
|
|
/* B53968 800DC7C8 820C0005 */ lb $t4, 5($s0)
|
|
/* B5396C 800DC7CC 2401FFFF */ li $at, -1
|
|
/* B53970 800DC7D0 00409825 */ move $s3, $v0
|
|
/* B53974 800DC7D4 11810005 */ beq $t4, $at, .L800DC7EC
|
|
/* B53978 800DC7D8 00402025 */ move $a0, $v0
|
|
/* B5397C 800DC7DC 02002825 */ move $a1, $s0
|
|
/* B53980 800DC7E0 0C036EBA */ jal func_800DBAE8
|
|
/* B53984 800DC7E4 03C03025 */ move $a2, $fp
|
|
/* B53988 800DC7E8 00409825 */ move $s3, $v0
|
|
.L800DC7EC:
|
|
/* B5398C 800DC7EC 82AD0001 */ lb $t5, 1($s5)
|
|
.L800DC7F0:
|
|
/* B53990 800DC7F0 26940001 */ addiu $s4, $s4, 1
|
|
/* B53994 800DC7F4 0014A400 */ sll $s4, $s4, 0x10
|
|
/* B53998 800DC7F8 0014A403 */ sra $s4, $s4, 0x10
|
|
/* B5399C 800DC7FC 028D082A */ slt $at, $s4, $t5
|
|
/* B539A0 800DC800 5420FF55 */ bnezl $at, .L800DC558
|
|
/* B539A4 800DC804 00147880 */ sll $t7, $s4, 2
|
|
.L800DC808:
|
|
/* B539A8 800DC808 8FB600FC */ lw $s6, 0xfc($sp)
|
|
/* B539AC 800DC80C 0232082A */ slt $at, $s1, $s2
|
|
/* B539B0 800DC810 241700E0 */ li $s7, 224
|
|
/* B539B4 800DC814 1020001A */ beqz $at, .L800DC880
|
|
/* B539B8 800DC818 0016B040 */ sll $s6, $s6, 1
|
|
/* B539BC 800DC81C 27AE009C */ addiu $t6, $sp, 0x9c
|
|
/* B539C0 800DC820 022E8021 */ addu $s0, $s1, $t6
|
|
/* B539C4 800DC824 024EA021 */ addu $s4, $s2, $t6
|
|
.L800DC828:
|
|
/* B539C8 800DC828 92020000 */ lbu $v0, ($s0)
|
|
/* B539CC 800DC82C 8FAF008C */ lw $t7, 0x8c($sp)
|
|
/* B539D0 800DC830 8EAD352C */ lw $t5, 0x352c($s5)
|
|
/* B539D4 800DC834 00570019 */ multu $v0, $s7
|
|
/* B539D8 800DC838 8EB90014 */ lw $t9, 0x14($s5)
|
|
/* B539DC 800DC83C 8FAE00FC */ lw $t6, 0xfc($sp)
|
|
/* B539E0 800DC840 004FC021 */ addu $t8, $v0, $t7
|
|
/* B539E4 800DC844 00185940 */ sll $t3, $t8, 5
|
|
/* B539E8 800DC848 AFBE0018 */ sw $fp, 0x18($sp)
|
|
/* B539EC 800DC84C AFB30014 */ sw $s3, 0x14($sp)
|
|
/* B539F0 800DC850 8FA700F8 */ lw $a3, 0xf8($sp)
|
|
/* B539F4 800DC854 00402025 */ move $a0, $v0
|
|
/* B539F8 800DC858 01792821 */ addu $a1, $t3, $t9
|
|
/* B539FC 800DC85C 00006012 */ mflo $t4
|
|
/* B53A00 800DC860 018D3021 */ addu $a2, $t4, $t5
|
|
/* B53A04 800DC864 24C60010 */ addiu $a2, $a2, 0x10
|
|
/* B53A08 800DC868 0C037244 */ jal func_800DC910
|
|
/* B53A0C 800DC86C AFAE0010 */ sw $t6, 0x10($sp)
|
|
/* B53A10 800DC870 26100001 */ addiu $s0, $s0, 1
|
|
/* B53A14 800DC874 0214082B */ sltu $at, $s0, $s4
|
|
/* B53A18 800DC878 1420FFEB */ bnez $at, .L800DC828
|
|
/* B53A1C 800DC87C 00409825 */ move $s3, $v0
|
|
.L800DC880:
|
|
/* B53A20 800DC880 00167903 */ sra $t7, $s6, 4
|
|
/* B53A24 800DC884 31F800FF */ andi $t8, $t7, 0xff
|
|
/* B53A28 800DC888 00185C00 */ sll $t3, $t8, 0x10
|
|
/* B53A2C 800DC88C 3C010D00 */ lui $at, 0xd00
|
|
/* B53A30 800DC890 0161C825 */ or $t9, $t3, $at
|
|
/* B53A34 800DC894 00167040 */ sll $t6, $s6, 1
|
|
/* B53A38 800DC898 000E7903 */ sra $t7, $t6, 4
|
|
/* B53A3C 800DC89C 372C03C0 */ ori $t4, $t9, 0x3c0
|
|
/* B53A40 800DC8A0 02601825 */ move $v1, $s3
|
|
/* B53A44 800DC8A4 31F800FF */ andi $t8, $t7, 0xff
|
|
/* B53A48 800DC8A8 3C0D0940 */ lui $t5, (0x09400AE0 >> 16) # lui $t5, 0x940
|
|
/* B53A4C 800DC8AC 00185C00 */ sll $t3, $t8, 0x10
|
|
/* B53A50 800DC8B0 3C011500 */ lui $at, 0x1500
|
|
/* B53A54 800DC8B4 35AD0AE0 */ ori $t5, (0x09400AE0 & 0xFFFF) # ori $t5, $t5, 0xae0
|
|
/* B53A58 800DC8B8 AC6C0000 */ sw $t4, ($v1)
|
|
/* B53A5C 800DC8BC 26730008 */ addiu $s3, $s3, 8
|
|
/* B53A60 800DC8C0 0161C825 */ or $t9, $t3, $at
|
|
/* B53A64 800DC8C4 AC6D0004 */ sw $t5, 4($v1)
|
|
/* B53A68 800DC8C8 372C03C0 */ ori $t4, $t9, 0x3c0
|
|
/* B53A6C 800DC8CC 02602025 */ move $a0, $s3
|
|
/* B53A70 800DC8D0 AC8C0000 */ sw $t4, ($a0)
|
|
/* B53A74 800DC8D4 8FAD00F8 */ lw $t5, 0xf8($sp)
|
|
/* B53A78 800DC8D8 26620008 */ addiu $v0, $s3, 8
|
|
/* B53A7C 800DC8DC AC8D0004 */ sw $t5, 4($a0)
|
|
/* B53A80 800DC8E0 8FBF004C */ lw $ra, 0x4c($sp)
|
|
/* B53A84 800DC8E4 8FBE0048 */ lw $fp, 0x48($sp)
|
|
/* B53A88 800DC8E8 8FB70044 */ lw $s7, 0x44($sp)
|
|
/* B53A8C 800DC8EC 8FB60040 */ lw $s6, 0x40($sp)
|
|
/* B53A90 800DC8F0 8FB5003C */ lw $s5, 0x3c($sp)
|
|
/* B53A94 800DC8F4 8FB40038 */ lw $s4, 0x38($sp)
|
|
/* B53A98 800DC8F8 8FB30034 */ lw $s3, 0x34($sp)
|
|
/* B53A9C 800DC8FC 8FB20030 */ lw $s2, 0x30($sp)
|
|
/* B53AA0 800DC900 8FB1002C */ lw $s1, 0x2c($sp)
|
|
/* B53AA4 800DC904 8FB00028 */ lw $s0, 0x28($sp)
|
|
/* B53AA8 800DC908 03E00008 */ jr $ra
|
|
/* B53AAC 800DC90C 27BD00F8 */ addiu $sp, $sp, 0xf8
|
|
|