mirror of
https://github.com/zeldaret/oot
synced 2026-08-28 08:48:47 -04:00
105 lines
5.1 KiB
ArmAsm
105 lines
5.1 KiB
ArmAsm
glabel func_8003A7D8
|
|
/* AB1978 8003A7D8 27BDFFB8 */ addiu $sp, $sp, -0x48
|
|
/* AB197C 8003A7DC AFB10038 */ sw $s1, 0x38($sp)
|
|
/* AB1980 8003A7E0 8FB10070 */ lw $s1, 0x70($sp)
|
|
/* AB1984 8003A7E4 AFB00034 */ sw $s0, 0x34($sp)
|
|
/* AB1988 8003A7E8 00808025 */ move $s0, $a0
|
|
/* AB198C 8003A7EC 322E0002 */ andi $t6, $s1, 2
|
|
/* AB1990 8003A7F0 AFBF003C */ sw $ra, 0x3c($sp)
|
|
/* AB1994 8003A7F4 AFA5004C */ sw $a1, 0x4c($sp)
|
|
/* AB1998 8003A7F8 AFA60050 */ sw $a2, 0x50($sp)
|
|
/* AB199C 8003A7FC AFA70054 */ sw $a3, 0x54($sp)
|
|
/* AB19A0 8003A800 11C00018 */ beqz $t6, .L8003A864
|
|
/* AB19A4 8003A804 00001825 */ move $v1, $zero
|
|
/* AB19A8 8003A808 948F0000 */ lhu $t7, ($a0)
|
|
/* AB19AC 8003A80C 3401FFFF */ li $at, 65535
|
|
/* AB19B0 8003A810 97A60052 */ lhu $a2, 0x52($sp)
|
|
/* AB19B4 8003A814 11E10013 */ beq $t7, $at, .L8003A864
|
|
/* AB19B8 8003A818 97A70056 */ lhu $a3, 0x56($sp)
|
|
/* AB19BC 8003A81C 8FB80058 */ lw $t8, 0x58($sp)
|
|
/* AB19C0 8003A820 8FB9005C */ lw $t9, 0x5c($sp)
|
|
/* AB19C4 8003A824 8FA80060 */ lw $t0, 0x60($sp)
|
|
/* AB19C8 8003A828 8FA90064 */ lw $t1, 0x64($sp)
|
|
/* AB19CC 8003A82C 8FAA006C */ lw $t2, 0x6c($sp)
|
|
/* AB19D0 8003A830 C7A40068 */ lwc1 $f4, 0x68($sp)
|
|
/* AB19D4 8003A834 AFB10028 */ sw $s1, 0x28($sp)
|
|
/* AB19D8 8003A838 AFA00044 */ sw $zero, 0x44($sp)
|
|
/* AB19DC 8003A83C AFB80010 */ sw $t8, 0x10($sp)
|
|
/* AB19E0 8003A840 AFB90014 */ sw $t9, 0x14($sp)
|
|
/* AB19E4 8003A844 AFA80018 */ sw $t0, 0x18($sp)
|
|
/* AB19E8 8003A848 AFA9001C */ sw $t1, 0x1c($sp)
|
|
/* AB19EC 8003A84C AFAA0020 */ sw $t2, 0x20($sp)
|
|
/* AB19F0 8003A850 0C00E96E */ jal func_8003A5B8
|
|
/* AB19F4 8003A854 E7A40024 */ swc1 $f4, 0x24($sp)
|
|
/* AB19F8 8003A858 10400002 */ beqz $v0, .L8003A864
|
|
/* AB19FC 8003A85C 8FA30044 */ lw $v1, 0x44($sp)
|
|
/* AB1A00 8003A860 24030001 */ li $v1, 1
|
|
.L8003A864:
|
|
/* AB1A04 8003A864 322B0001 */ andi $t3, $s1, 1
|
|
/* AB1A08 8003A868 5160001B */ beql $t3, $zero, .L8003A8D8
|
|
/* AB1A0C 8003A86C 32280004 */ andi $t0, $s1, 4
|
|
/* AB1A10 8003A870 960C0002 */ lhu $t4, 2($s0)
|
|
/* AB1A14 8003A874 3401FFFF */ li $at, 65535
|
|
/* AB1A18 8003A878 26040002 */ addiu $a0, $s0, 2
|
|
/* AB1A1C 8003A87C 11810015 */ beq $t4, $at, .L8003A8D4
|
|
/* AB1A20 8003A880 8FA5004C */ lw $a1, 0x4c($sp)
|
|
/* AB1A24 8003A884 8FAD0058 */ lw $t5, 0x58($sp)
|
|
/* AB1A28 8003A888 8FAE005C */ lw $t6, 0x5c($sp)
|
|
/* AB1A2C 8003A88C 8FAF0060 */ lw $t7, 0x60($sp)
|
|
/* AB1A30 8003A890 8FB80064 */ lw $t8, 0x64($sp)
|
|
/* AB1A34 8003A894 8FB9006C */ lw $t9, 0x6c($sp)
|
|
/* AB1A38 8003A898 C7A60068 */ lwc1 $f6, 0x68($sp)
|
|
/* AB1A3C 8003A89C 97A60052 */ lhu $a2, 0x52($sp)
|
|
/* AB1A40 8003A8A0 97A70056 */ lhu $a3, 0x56($sp)
|
|
/* AB1A44 8003A8A4 AFB10028 */ sw $s1, 0x28($sp)
|
|
/* AB1A48 8003A8A8 AFA30044 */ sw $v1, 0x44($sp)
|
|
/* AB1A4C 8003A8AC AFAD0010 */ sw $t5, 0x10($sp)
|
|
/* AB1A50 8003A8B0 AFAE0014 */ sw $t6, 0x14($sp)
|
|
/* AB1A54 8003A8B4 AFAF0018 */ sw $t7, 0x18($sp)
|
|
/* AB1A58 8003A8B8 AFB8001C */ sw $t8, 0x1c($sp)
|
|
/* AB1A5C 8003A8BC AFB90020 */ sw $t9, 0x20($sp)
|
|
/* AB1A60 8003A8C0 0C00E96E */ jal func_8003A5B8
|
|
/* AB1A64 8003A8C4 E7A60024 */ swc1 $f6, 0x24($sp)
|
|
/* AB1A68 8003A8C8 10400002 */ beqz $v0, .L8003A8D4
|
|
/* AB1A6C 8003A8CC 8FA30044 */ lw $v1, 0x44($sp)
|
|
/* AB1A70 8003A8D0 24030001 */ li $v1, 1
|
|
.L8003A8D4:
|
|
/* AB1A74 8003A8D4 32280004 */ andi $t0, $s1, 4
|
|
.L8003A8D8:
|
|
/* AB1A78 8003A8D8 5100001B */ beql $t0, $zero, .L8003A948
|
|
/* AB1A7C 8003A8DC 8FBF003C */ lw $ra, 0x3c($sp)
|
|
/* AB1A80 8003A8E0 96090004 */ lhu $t1, 4($s0)
|
|
/* AB1A84 8003A8E4 3401FFFF */ li $at, 65535
|
|
/* AB1A88 8003A8E8 26040004 */ addiu $a0, $s0, 4
|
|
/* AB1A8C 8003A8EC 11210015 */ beq $t1, $at, .L8003A944
|
|
/* AB1A90 8003A8F0 8FA5004C */ lw $a1, 0x4c($sp)
|
|
/* AB1A94 8003A8F4 8FAA0058 */ lw $t2, 0x58($sp)
|
|
/* AB1A98 8003A8F8 8FAB005C */ lw $t3, 0x5c($sp)
|
|
/* AB1A9C 8003A8FC 8FAC0060 */ lw $t4, 0x60($sp)
|
|
/* AB1AA0 8003A900 8FAD0064 */ lw $t5, 0x64($sp)
|
|
/* AB1AA4 8003A904 8FAE006C */ lw $t6, 0x6c($sp)
|
|
/* AB1AA8 8003A908 C7A80068 */ lwc1 $f8, 0x68($sp)
|
|
/* AB1AAC 8003A90C 97A60052 */ lhu $a2, 0x52($sp)
|
|
/* AB1AB0 8003A910 97A70056 */ lhu $a3, 0x56($sp)
|
|
/* AB1AB4 8003A914 AFB10028 */ sw $s1, 0x28($sp)
|
|
/* AB1AB8 8003A918 AFA30044 */ sw $v1, 0x44($sp)
|
|
/* AB1ABC 8003A91C AFAA0010 */ sw $t2, 0x10($sp)
|
|
/* AB1AC0 8003A920 AFAB0014 */ sw $t3, 0x14($sp)
|
|
/* AB1AC4 8003A924 AFAC0018 */ sw $t4, 0x18($sp)
|
|
/* AB1AC8 8003A928 AFAD001C */ sw $t5, 0x1c($sp)
|
|
/* AB1ACC 8003A92C AFAE0020 */ sw $t6, 0x20($sp)
|
|
/* AB1AD0 8003A930 0C00E96E */ jal func_8003A5B8
|
|
/* AB1AD4 8003A934 E7A80024 */ swc1 $f8, 0x24($sp)
|
|
/* AB1AD8 8003A938 10400002 */ beqz $v0, .L8003A944
|
|
/* AB1ADC 8003A93C 8FA30044 */ lw $v1, 0x44($sp)
|
|
/* AB1AE0 8003A940 24030001 */ li $v1, 1
|
|
.L8003A944:
|
|
/* AB1AE4 8003A944 8FBF003C */ lw $ra, 0x3c($sp)
|
|
.L8003A948:
|
|
/* AB1AE8 8003A948 8FB00034 */ lw $s0, 0x34($sp)
|
|
/* AB1AEC 8003A94C 8FB10038 */ lw $s1, 0x38($sp)
|
|
/* AB1AF0 8003A950 27BD0048 */ addiu $sp, $sp, 0x48
|
|
/* AB1AF4 8003A954 03E00008 */ jr $ra
|
|
/* AB1AF8 8003A958 00601025 */ move $v0, $v1
|
|
|