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

52 lines
2.2 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel render_effects
/* 0352F4 80059EF4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0352F8 80059EF8 AFB10014 */ sw $s1, 0x14($sp)
/* 0352FC 80059EFC 0000882D */ daddu $s1, $zero, $zero
/* 035300 80059F00 AFB00010 */ sw $s0, 0x10($sp)
/* 035304 80059F04 3C10800B */ lui $s0, 0x800b
/* 035308 80059F08 26104398 */ addiu $s0, $s0, 0x4398
/* 03530C 80059F0C AFBF0018 */ sw $ra, 0x18($sp)
.L80059F10:
/* 035310 80059F10 8E040000 */ lw $a0, ($s0)
/* 035314 80059F14 50800017 */ beql $a0, $zero, .L80059F74
/* 035318 80059F18 26310001 */ addiu $s1, $s1, 1
/* 03531C 80059F1C 8C830000 */ lw $v1, ($a0)
/* 035320 80059F20 30620001 */ andi $v0, $v1, 1
/* 035324 80059F24 50400013 */ beql $v0, $zero, .L80059F74
/* 035328 80059F28 26310001 */ addiu $s1, $s1, 1
/* 03532C 80059F2C 30620008 */ andi $v0, $v1, 8
/* 035330 80059F30 50400010 */ beql $v0, $zero, .L80059F74
/* 035334 80059F34 26310001 */ addiu $s1, $s1, 1
/* 035338 80059F38 3C028007 */ lui $v0, 0x8007
/* 03533C 80059F3C 8C42419C */ lw $v0, 0x419c($v0)
/* 035340 80059F40 80420070 */ lb $v0, 0x70($v0)
/* 035344 80059F44 10400005 */ beqz $v0, .L80059F5C
/* 035348 80059F48 30620004 */ andi $v0, $v1, 4
/* 03534C 80059F4C 50400009 */ beql $v0, $zero, .L80059F74
/* 035350 80059F50 26310001 */ addiu $s1, $s1, 1
/* 035354 80059F54 080167D9 */ j .L80059F64
/* 035358 80059F58 00000000 */ nop
.L80059F5C:
/* 03535C 80059F5C 54400005 */ bnel $v0, $zero, .L80059F74
/* 035360 80059F60 26310001 */ addiu $s1, $s1, 1
.L80059F64:
/* 035364 80059F64 8C820010 */ lw $v0, 0x10($a0)
/* 035368 80059F68 8C420014 */ lw $v0, 0x14($v0)
/* 03536C 80059F6C 0040F809 */ jalr $v0
/* 035370 80059F70 26310001 */ addiu $s1, $s1, 1
.L80059F74:
/* 035374 80059F74 2A220060 */ slti $v0, $s1, 0x60
/* 035378 80059F78 1440FFE5 */ bnez $v0, .L80059F10
/* 03537C 80059F7C 26100004 */ addiu $s0, $s0, 4
/* 035380 80059F80 8FBF0018 */ lw $ra, 0x18($sp)
/* 035384 80059F84 8FB10014 */ lw $s1, 0x14($sp)
/* 035388 80059F88 8FB00010 */ lw $s0, 0x10($sp)
/* 03538C 80059F8C 03E00008 */ jr $ra
/* 035390 80059F90 27BD0020 */ addiu $sp, $sp, 0x20