papermario/asm/nonmatchings/code_fee30_len_2d60/func_802DDEE4.s
2020-11-29 02:13:07 -05:00

80 lines
4.0 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802DDEE4
/* 100FD4 802DDEE4 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 100FD8 802DDEE8 AFB40030 */ sw $s4, 0x30($sp)
/* 100FDC 802DDEEC 00A0A02D */ daddu $s4, $a1, $zero
/* 100FE0 802DDEF0 AFB50034 */ sw $s5, 0x34($sp)
/* 100FE4 802DDEF4 00041040 */ sll $v0, $a0, 1
/* 100FE8 802DDEF8 00441021 */ addu $v0, $v0, $a0
/* 100FEC 802DDEFC 00021080 */ sll $v0, $v0, 2
/* 100FF0 802DDF00 AFBF0044 */ sw $ra, 0x44($sp)
/* 100FF4 802DDF04 AFBE0040 */ sw $fp, 0x40($sp)
/* 100FF8 802DDF08 AFB7003C */ sw $s7, 0x3c($sp)
/* 100FFC 802DDF0C AFB60038 */ sw $s6, 0x38($sp)
/* 101000 802DDF10 AFB3002C */ sw $s3, 0x2c($sp)
/* 101004 802DDF14 AFB20028 */ sw $s2, 0x28($sp)
/* 101008 802DDF18 AFB10024 */ sw $s1, 0x24($sp)
/* 10100C 802DDF1C AFB00020 */ sw $s0, 0x20($sp)
/* 101010 802DDF20 AFA70054 */ sw $a3, 0x54($sp)
/* 101014 802DDF24 3C01802E */ lui $at, %hi(D_802DF588)
/* 101018 802DDF28 00220821 */ addu $at, $at, $v0
/* 10101C 802DDF2C 8C22F588 */ lw $v0, %lo(D_802DF588)($at)
/* 101020 802DDF30 8FBE0064 */ lw $fp, 0x64($sp)
/* 101024 802DDF34 10400024 */ beqz $v0, .L802DDFC8
/* 101028 802DDF38 00C0A82D */ daddu $s5, $a2, $zero
/* 10102C 802DDF3C 0040882D */ daddu $s1, $v0, $zero
/* 101030 802DDF40 8E230000 */ lw $v1, ($s1)
/* 101034 802DDF44 2402FFFF */ addiu $v0, $zero, -1
/* 101038 802DDF48 1062001F */ beq $v1, $v0, .L802DDFC8
/* 10103C 802DDF4C 0000902D */ daddu $s2, $zero, $zero
/* 101040 802DDF50 0040982D */ daddu $s3, $v0, $zero
/* 101044 802DDF54 3C171000 */ lui $s7, 0x1000
/* 101048 802DDF58 3C160FFF */ lui $s6, 0xfff
/* 10104C 802DDF5C 36D6FFFF */ ori $s6, $s6, 0xffff
.L802DDF60:
/* 101050 802DDF60 12930003 */ beq $s4, $s3, .L802DDF70
/* 101054 802DDF64 8E300000 */ lw $s0, ($s1)
/* 101058 802DDF68 56540014 */ bnel $s2, $s4, .L802DDFBC
/* 10105C 802DDF6C 26310004 */ addiu $s1, $s1, 4
.L802DDF70:
/* 101060 802DDF70 8FA8005C */ lw $t0, 0x5c($sp)
/* 101064 802DDF74 9204004F */ lbu $a0, 0x4f($s0)
/* 101068 802DDF78 8FA60054 */ lw $a2, 0x54($sp)
/* 10106C 802DDF7C 8FA70058 */ lw $a3, 0x58($sp)
/* 101070 802DDF80 AFA80010 */ sw $t0, 0x10($sp)
/* 101074 802DDF84 8FA80060 */ lw $t0, 0x60($sp)
/* 101078 802DDF88 02A0282D */ daddu $a1, $s5, $zero
/* 10107C 802DDF8C AFBE0018 */ sw $fp, 0x18($sp)
/* 101080 802DDF90 0C04EAA7 */ jal func_8013AA9C
/* 101084 802DDF94 AFA80014 */ sw $t0, 0x14($sp)
/* 101088 802DDF98 12A00004 */ beqz $s5, .L802DDFAC
/* 10108C 802DDF9C 00000000 */ nop
/* 101090 802DDFA0 8E02004C */ lw $v0, 0x4c($s0)
/* 101094 802DDFA4 080B77ED */ j .L802DDFB4
/* 101098 802DDFA8 00571025 */ or $v0, $v0, $s7
.L802DDFAC:
/* 10109C 802DDFAC 8E02004C */ lw $v0, 0x4c($s0)
/* 1010A0 802DDFB0 00561024 */ and $v0, $v0, $s6
.L802DDFB4:
/* 1010A4 802DDFB4 AE02004C */ sw $v0, 0x4c($s0)
/* 1010A8 802DDFB8 26310004 */ addiu $s1, $s1, 4
.L802DDFBC:
/* 1010AC 802DDFBC 8E220000 */ lw $v0, ($s1)
/* 1010B0 802DDFC0 1453FFE7 */ bne $v0, $s3, .L802DDF60
/* 1010B4 802DDFC4 26520001 */ addiu $s2, $s2, 1
.L802DDFC8:
/* 1010B8 802DDFC8 8FBF0044 */ lw $ra, 0x44($sp)
/* 1010BC 802DDFCC 8FBE0040 */ lw $fp, 0x40($sp)
/* 1010C0 802DDFD0 8FB7003C */ lw $s7, 0x3c($sp)
/* 1010C4 802DDFD4 8FB60038 */ lw $s6, 0x38($sp)
/* 1010C8 802DDFD8 8FB50034 */ lw $s5, 0x34($sp)
/* 1010CC 802DDFDC 8FB40030 */ lw $s4, 0x30($sp)
/* 1010D0 802DDFE0 8FB3002C */ lw $s3, 0x2c($sp)
/* 1010D4 802DDFE4 8FB20028 */ lw $s2, 0x28($sp)
/* 1010D8 802DDFE8 8FB10024 */ lw $s1, 0x24($sp)
/* 1010DC 802DDFEC 8FB00020 */ lw $s0, 0x20($sp)
/* 1010E0 802DDFF0 03E00008 */ jr $ra
/* 1010E4 802DDFF4 27BD0048 */ addiu $sp, $sp, 0x48