mirror of https://github.com/zeldaret/oot.git
79 lines
3.7 KiB
ArmAsm
79 lines
3.7 KiB
ArmAsm
glabel func_800413F8
|
|
/* AB8598 800413F8 27BDFFC8 */ addiu $sp, $sp, -0x38
|
|
/* AB859C 800413FC 8FAE004C */ lw $t6, 0x4c($sp)
|
|
/* AB85A0 80041400 AFBF0034 */ sw $ra, 0x34($sp)
|
|
/* AB85A4 80041404 AFB50030 */ sw $s5, 0x30($sp)
|
|
/* AB85A8 80041408 AFB4002C */ sw $s4, 0x2c($sp)
|
|
/* AB85AC 8004140C AFB30028 */ sw $s3, 0x28($sp)
|
|
/* AB85B0 80041410 AFB20024 */ sw $s2, 0x24($sp)
|
|
/* AB85B4 80041414 AFB10020 */ sw $s1, 0x20($sp)
|
|
/* AB85B8 80041418 AFB0001C */ sw $s0, 0x1c($sp)
|
|
/* AB85BC 8004141C F7B40010 */ sdc1 $f20, 0x10($sp)
|
|
/* AB85C0 80041420 AFA5003C */ sw $a1, 0x3c($sp)
|
|
/* AB85C4 80041424 AFA60040 */ sw $a2, 0x40($sp)
|
|
/* AB85C8 80041428 95C20000 */ lhu $v0, ($t6)
|
|
/* AB85CC 8004142C 3413FFFF */ li $s3, 65535
|
|
/* AB85D0 80041430 30A5FFFF */ andi $a1, $a1, 0xffff
|
|
/* AB85D4 80041434 16620003 */ bne $s3, $v0, .L80041444
|
|
/* AB85D8 80041438 00E0A825 */ move $s5, $a3
|
|
/* AB85DC 8004143C 1000002A */ b .L800414E8
|
|
/* AB85E0 80041440 00001025 */ move $v0, $zero
|
|
.L80041444:
|
|
/* AB85E4 80041444 8C8F1448 */ lw $t7, 0x1448($a0)
|
|
/* AB85E8 80041448 0002C080 */ sll $t8, $v0, 2
|
|
/* AB85EC 8004144C 24920050 */ addiu $s2, $a0, 0x50
|
|
/* AB85F0 80041450 30B40007 */ andi $s4, $a1, 7
|
|
/* AB85F4 80041454 0014A340 */ sll $s4, $s4, 0xd
|
|
/* AB85F8 80041458 8E4313F0 */ lw $v1, 0x13f0($s2)
|
|
/* AB85FC 8004145C C7B40048 */ lwc1 $f20, 0x48($sp)
|
|
/* AB8600 80041460 01F88021 */ addu $s0, $t7, $t8
|
|
.L80041464:
|
|
/* AB8604 80041464 86020000 */ lh $v0, ($s0)
|
|
/* AB8608 80041468 02A03025 */ move $a2, $s5
|
|
/* AB860C 8004146C 0002C900 */ sll $t9, $v0, 4
|
|
/* AB8610 80041470 00798821 */ addu $s1, $v1, $t9
|
|
/* AB8614 80041474 96280002 */ lhu $t0, 2($s1)
|
|
/* AB8618 80041478 02202025 */ move $a0, $s1
|
|
/* AB861C 8004147C 01144824 */ and $t1, $t0, $s4
|
|
/* AB8620 80041480 51200009 */ beql $t1, $zero, .L800414A8
|
|
/* AB8624 80041484 4407A000 */ mfc1 $a3, $f20
|
|
/* AB8628 80041488 96020002 */ lhu $v0, 2($s0)
|
|
/* AB862C 8004148C 52620016 */ beql $s3, $v0, .L800414E8
|
|
/* AB8630 80041490 00001025 */ move $v0, $zero
|
|
/* AB8634 80041494 8E4A13F8 */ lw $t2, 0x13f8($s2)
|
|
/* AB8638 80041498 00025880 */ sll $t3, $v0, 2
|
|
/* AB863C 8004149C 1000FFF1 */ b .L80041464
|
|
/* AB8640 800414A0 014B8021 */ addu $s0, $t2, $t3
|
|
/* AB8644 800414A4 4407A000 */ mfc1 $a3, $f20
|
|
.L800414A8:
|
|
/* AB8648 800414A8 0C00E4DF */ jal func_8003937C
|
|
/* AB864C 800414AC 8E4513F4 */ lw $a1, 0x13f4($s2)
|
|
/* AB8650 800414B0 50400006 */ beql $v0, $zero, .L800414CC
|
|
/* AB8654 800414B4 96020002 */ lhu $v0, 2($s0)
|
|
/* AB8658 800414B8 8FAC0040 */ lw $t4, 0x40($sp)
|
|
/* AB865C 800414BC 24020001 */ li $v0, 1
|
|
/* AB8660 800414C0 10000009 */ b .L800414E8
|
|
/* AB8664 800414C4 AD910000 */ sw $s1, ($t4)
|
|
/* AB8668 800414C8 96020002 */ lhu $v0, 2($s0)
|
|
.L800414CC:
|
|
/* AB866C 800414CC 12620005 */ beq $s3, $v0, .L800414E4
|
|
/* AB8670 800414D0 00027080 */ sll $t6, $v0, 2
|
|
/* AB8674 800414D4 8E4D13F8 */ lw $t5, 0x13f8($s2)
|
|
/* AB8678 800414D8 8E4313F0 */ lw $v1, 0x13f0($s2)
|
|
/* AB867C 800414DC 1000FFE1 */ b .L80041464
|
|
/* AB8680 800414E0 01AE8021 */ addu $s0, $t5, $t6
|
|
.L800414E4:
|
|
/* AB8684 800414E4 00001025 */ move $v0, $zero
|
|
.L800414E8:
|
|
/* AB8688 800414E8 8FBF0034 */ lw $ra, 0x34($sp)
|
|
/* AB868C 800414EC D7B40010 */ ldc1 $f20, 0x10($sp)
|
|
/* AB8690 800414F0 8FB0001C */ lw $s0, 0x1c($sp)
|
|
/* AB8694 800414F4 8FB10020 */ lw $s1, 0x20($sp)
|
|
/* AB8698 800414F8 8FB20024 */ lw $s2, 0x24($sp)
|
|
/* AB869C 800414FC 8FB30028 */ lw $s3, 0x28($sp)
|
|
/* AB86A0 80041500 8FB4002C */ lw $s4, 0x2c($sp)
|
|
/* AB86A4 80041504 8FB50030 */ lw $s5, 0x30($sp)
|
|
/* AB86A8 80041508 03E00008 */ jr $ra
|
|
/* AB86AC 8004150C 27BD0038 */ addiu $sp, $sp, 0x38
|
|
|