mirror of https://github.com/zeldaret/oot.git
93 lines
4.4 KiB
ArmAsm
93 lines
4.4 KiB
ArmAsm
glabel func_80041648
|
|
/* AB87E8 80041648 27BDFF90 */ addiu $sp, $sp, -0x70
|
|
/* AB87EC 8004164C AFBE0050 */ sw $fp, 0x50($sp)
|
|
/* AB87F0 80041650 AFB7004C */ sw $s7, 0x4c($sp)
|
|
/* AB87F4 80041654 AFB60048 */ sw $s6, 0x48($sp)
|
|
/* AB87F8 80041658 AFB50044 */ sw $s5, 0x44($sp)
|
|
/* AB87FC 8004165C AFB40040 */ sw $s4, 0x40($sp)
|
|
/* AB8800 80041660 AFB3003C */ sw $s3, 0x3c($sp)
|
|
/* AB8804 80041664 AFB20038 */ sw $s2, 0x38($sp)
|
|
/* AB8808 80041668 AFB10034 */ sw $s1, 0x34($sp)
|
|
/* AB880C 8004166C AFB00030 */ sw $s0, 0x30($sp)
|
|
/* AB8810 80041670 F7B40028 */ sdc1 $f20, 0x28($sp)
|
|
/* AB8814 80041674 00809825 */ move $s3, $a0
|
|
/* AB8818 80041678 30B5FFFF */ andi $s5, $a1, 0xffff
|
|
/* AB881C 8004167C 00C0B025 */ move $s6, $a2
|
|
/* AB8820 80041680 AFBF0054 */ sw $ra, 0x54($sp)
|
|
/* AB8824 80041684 AFA50074 */ sw $a1, 0x74($sp)
|
|
/* AB8828 80041688 AFA7007C */ sw $a3, 0x7c($sp)
|
|
/* AB882C 8004168C C7B40084 */ lwc1 $f20, 0x84($sp)
|
|
/* AB8830 80041690 00008025 */ move $s0, $zero
|
|
/* AB8834 80041694 8FB10080 */ lw $s1, 0x80($sp)
|
|
/* AB8838 80041698 00809025 */ move $s2, $a0
|
|
/* AB883C 8004169C 8FB40088 */ lw $s4, 0x88($sp)
|
|
/* AB8840 800416A0 97B7008E */ lhu $s7, 0x8e($sp)
|
|
/* AB8844 800416A4 241E0032 */ li $fp, 50
|
|
.L800416A8:
|
|
/* AB8848 800416A8 964E13DC */ lhu $t6, 0x13dc($s2)
|
|
/* AB884C 800416AC 0010C080 */ sll $t8, $s0, 2
|
|
/* AB8850 800416B0 0310C023 */ subu $t8, $t8, $s0
|
|
/* AB8854 800416B4 31CF0001 */ andi $t7, $t6, 1
|
|
/* AB8858 800416B8 11E00028 */ beqz $t7, .L8004175C
|
|
/* AB885C 800416BC 0018C0C0 */ sll $t8, $t8, 3
|
|
/* AB8860 800416C0 0310C021 */ addu $t8, $t8, $s0
|
|
/* AB8864 800416C4 0018C080 */ sll $t8, $t8, 2
|
|
/* AB8868 800416C8 02781021 */ addu $v0, $s3, $t8
|
|
/* AB886C 800416CC 8C590054 */ lw $t9, 0x54($v0)
|
|
/* AB8870 800416D0 52990023 */ beql $s4, $t9, .L80041760
|
|
/* AB8874 800416D4 26100001 */ addiu $s0, $s0, 1
|
|
/* AB8878 800416D8 C6240000 */ lwc1 $f4, ($s1)
|
|
/* AB887C 800416DC 27A40064 */ addiu $a0, $sp, 0x64
|
|
/* AB8880 800416E0 244500A8 */ addiu $a1, $v0, 0xa8
|
|
/* AB8884 800416E4 4600218D */ trunc.w.s $f6, $f4
|
|
/* AB8888 800416E8 4600A10D */ trunc.w.s $f4, $f20
|
|
/* AB888C 800416EC 44093000 */ mfc1 $t1, $f6
|
|
/* AB8890 800416F0 00000000 */ nop
|
|
/* AB8894 800416F4 A7A90064 */ sh $t1, 0x64($sp)
|
|
/* AB8898 800416F8 C6280004 */ lwc1 $f8, 4($s1)
|
|
/* AB889C 800416FC 440F2000 */ mfc1 $t7, $f4
|
|
/* AB88A0 80041700 4600428D */ trunc.w.s $f10, $f8
|
|
/* AB88A4 80041704 440B5000 */ mfc1 $t3, $f10
|
|
/* AB88A8 80041708 00000000 */ nop
|
|
/* AB88AC 8004170C A7AB0066 */ sh $t3, 0x66($sp)
|
|
/* AB88B0 80041710 C6300008 */ lwc1 $f16, 8($s1)
|
|
/* AB88B4 80041714 A7AF006A */ sh $t7, 0x6a($sp)
|
|
/* AB88B8 80041718 4600848D */ trunc.w.s $f18, $f16
|
|
/* AB88BC 8004171C 440D9000 */ mfc1 $t5, $f18
|
|
/* AB88C0 80041720 0C033F1B */ jal func_800CFC6C
|
|
/* AB88C4 80041724 A7AD0068 */ sh $t5, 0x68($sp)
|
|
/* AB88C8 80041728 1040000C */ beqz $v0, .L8004175C
|
|
/* AB88CC 8004172C 02602025 */ move $a0, $s3
|
|
/* AB88D0 80041730 32A5FFFF */ andi $a1, $s5, 0xffff
|
|
/* AB88D4 80041734 02C03025 */ move $a2, $s6
|
|
/* AB88D8 80041738 02203825 */ move $a3, $s1
|
|
/* AB88DC 8004173C E7B40010 */ swc1 $f20, 0x10($sp)
|
|
/* AB88E0 80041740 AFB00014 */ sw $s0, 0x14($sp)
|
|
/* AB88E4 80041744 0C010544 */ jal func_80041510
|
|
/* AB88E8 80041748 AFB70018 */ sw $s7, 0x18($sp)
|
|
/* AB88EC 8004174C 50400004 */ beql $v0, $zero, .L80041760
|
|
/* AB88F0 80041750 26100001 */ addiu $s0, $s0, 1
|
|
/* AB88F4 80041754 10000005 */ b .L8004176C
|
|
/* AB88F8 80041758 24020001 */ li $v0, 1
|
|
.L8004175C:
|
|
/* AB88FC 8004175C 26100001 */ addiu $s0, $s0, 1
|
|
.L80041760:
|
|
/* AB8900 80041760 161EFFD1 */ bne $s0, $fp, .L800416A8
|
|
/* AB8904 80041764 26520002 */ addiu $s2, $s2, 2
|
|
/* AB8908 80041768 00001025 */ move $v0, $zero
|
|
.L8004176C:
|
|
/* AB890C 8004176C 8FBF0054 */ lw $ra, 0x54($sp)
|
|
/* AB8910 80041770 D7B40028 */ ldc1 $f20, 0x28($sp)
|
|
/* AB8914 80041774 8FB00030 */ lw $s0, 0x30($sp)
|
|
/* AB8918 80041778 8FB10034 */ lw $s1, 0x34($sp)
|
|
/* AB891C 8004177C 8FB20038 */ lw $s2, 0x38($sp)
|
|
/* AB8920 80041780 8FB3003C */ lw $s3, 0x3c($sp)
|
|
/* AB8924 80041784 8FB40040 */ lw $s4, 0x40($sp)
|
|
/* AB8928 80041788 8FB50044 */ lw $s5, 0x44($sp)
|
|
/* AB892C 8004178C 8FB60048 */ lw $s6, 0x48($sp)
|
|
/* AB8930 80041790 8FB7004C */ lw $s7, 0x4c($sp)
|
|
/* AB8934 80041794 8FBE0050 */ lw $fp, 0x50($sp)
|
|
/* AB8938 80041798 03E00008 */ jr $ra
|
|
/* AB893C 8004179C 27BD0070 */ addiu $sp, $sp, 0x70
|
|
|