papermario/asm/nonmatchings/code_303c0_len_3e10/func_80056EE8.s
2020-08-12 22:37:16 -04:00

57 lines
2.5 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80056EE8
/* 0322E8 80056EE8 308400FF */ andi $a0, $a0, 0xff
/* 0322EC 80056EEC 00041140 */ sll $v0, $a0, 5
/* 0322F0 80056EF0 00441023 */ subu $v0, $v0, $a0
/* 0322F4 80056EF4 3C038008 */ lui $v1, 0x8008
/* 0322F8 80056EF8 8C638E54 */ lw $v1, -0x71ac($v1)
/* 0322FC 80056EFC 00021080 */ sll $v0, $v0, 2
/* 032300 80056F00 8C63001C */ lw $v1, 0x1c($v1)
/* 032304 80056F04 24050001 */ addiu $a1, $zero, 1
/* 032308 80056F08 00621821 */ addu $v1, $v1, $v0
/* 03230C 80056F0C 8C620018 */ lw $v0, 0x18($v1)
/* 032310 80056F10 24640004 */ addiu $a0, $v1, 4
/* 032314 80056F14 AC600070 */ sw $zero, 0x70($v1)
/* 032318 80056F18 AC65006C */ sw $a1, 0x6c($v1)
/* 03231C 80056F1C A465004E */ sh $a1, 0x4e($v1)
/* 032320 80056F20 AC600040 */ sw $zero, 0x40($v1)
/* 032324 80056F24 AC650044 */ sw $a1, 0x44($v1)
/* 032328 80056F28 AC60002C */ sw $zero, 0x2c($v1)
/* 03232C 80056F2C AC650030 */ sw $a1, 0x30($v1)
/* 032330 80056F30 1040000F */ beqz $v0, .L80056F70
/* 032334 80056F34 AC600028 */ sw $zero, 0x28($v1)
/* 032338 80056F38 8C820014 */ lw $v0, 0x14($a0)
/* 03233C 80056F3C 8C420000 */ lw $v0, ($v0)
/* 032340 80056F40 AC620034 */ sw $v0, 0x34($v1)
/* 032344 80056F44 8C840014 */ lw $a0, 0x14($a0)
/* 032348 80056F48 90820024 */ lbu $v0, 0x24($a0)
/* 03234C 80056F4C 10400003 */ beqz $v0, .L80056F5C
/* 032350 80056F50 00000000 */ nop
/* 032354 80056F54 14450006 */ bne $v0, $a1, .L80056F70
/* 032358 80056F58 00000000 */ nop
.L80056F5C:
/* 03235C 80056F5C 8C820010 */ lw $v0, 0x10($a0)
/* 032360 80056F60 10400003 */ beqz $v0, .L80056F70
/* 032364 80056F64 00000000 */ nop
/* 032368 80056F68 8C820014 */ lw $v0, 0x14($a0)
/* 03236C 80056F6C AC620014 */ sw $v0, 0x14($v1)
.L80056F70:
/* 032370 80056F70 03E00008 */ jr $ra
/* 032374 80056F74 00000000 */ nop
/* 032378 80056F78 308400FF */ andi $a0, $a0, 0xff
/* 03237C 80056F7C 00041140 */ sll $v0, $a0, 5
/* 032380 80056F80 3C038008 */ lui $v1, 0x8008
/* 032384 80056F84 8C638E54 */ lw $v1, -0x71ac($v1)
/* 032388 80056F88 00441023 */ subu $v0, $v0, $a0
/* 03238C 80056F8C 8C63001C */ lw $v1, 0x1c($v1)
/* 032390 80056F90 00021080 */ sll $v0, $v0, 2
/* 032394 80056F94 00621821 */ addu $v1, $v1, $v0
/* 032398 80056F98 24020001 */ addiu $v0, $zero, 1
/* 03239C 80056F9C 03E00008 */ jr $ra
/* 0323A0 80056FA0 AC620070 */ sw $v0, 0x70($v1)