mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
122 lines
5.8 KiB
ArmAsm
122 lines
5.8 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
|
|
glabel func_8026787C
|
|
/* 19615C 8026787C 27BDFFF8 */ addiu $sp, $sp, -8
|
|
/* 196160 80267880 0080602D */ daddu $t4, $a0, $zero
|
|
/* 196164 80267884 00A0682D */ daddu $t5, $a1, $zero
|
|
/* 196168 80267888 00E0582D */ daddu $t3, $a3, $zero
|
|
/* 19616C 8026788C 3C08800A */ lui $t0, 0x800a
|
|
/* 196170 80267890 2508A66C */ addiu $t0, $t0, -0x5994
|
|
/* 196174 80267894 3C02E700 */ lui $v0, 0xe700
|
|
/* 196178 80267898 AFB00000 */ sw $s0, ($sp)
|
|
/* 19617C 8026789C 8D070000 */ lw $a3, ($t0)
|
|
/* 196180 802678A0 97B9001A */ lhu $t9, 0x1a($sp)
|
|
/* 196184 802678A4 97B0001E */ lhu $s0, 0x1e($sp)
|
|
/* 196188 802678A8 97AF0022 */ lhu $t7, 0x22($sp)
|
|
/* 19618C 802678AC 97B80026 */ lhu $t8, 0x26($sp)
|
|
/* 196190 802678B0 00E0182D */ daddu $v1, $a3, $zero
|
|
/* 196194 802678B4 24E70008 */ addiu $a3, $a3, 8
|
|
/* 196198 802678B8 AD070000 */ sw $a3, ($t0)
|
|
/* 19619C 802678BC AC620000 */ sw $v0, ($v1)
|
|
/* 1961A0 802678C0 24E20008 */ addiu $v0, $a3, 8
|
|
/* 1961A4 802678C4 AC600004 */ sw $zero, 4($v1)
|
|
/* 1961A8 802678C8 AD020000 */ sw $v0, ($t0)
|
|
/* 1961AC 802678CC 3C02DE00 */ lui $v0, 0xde00
|
|
/* 1961B0 802678D0 ACE20000 */ sw $v0, ($a3)
|
|
/* 1961B4 802678D4 3C028029 */ lui $v0, 0x8029
|
|
/* 1961B8 802678D8 24423970 */ addiu $v0, $v0, 0x3970
|
|
/* 1961BC 802678DC 316300FF */ andi $v1, $t3, 0xff
|
|
/* 1961C0 802678E0 ACE20004 */ sw $v0, 4($a3)
|
|
/* 1961C4 802678E4 240200FF */ addiu $v0, $zero, 0xff
|
|
/* 1961C8 802678E8 1462000A */ bne $v1, $v0, .L80267914
|
|
/* 1961CC 802678EC 00C0702D */ daddu $t6, $a2, $zero
|
|
/* 1961D0 802678F0 3C05E200 */ lui $a1, 0xe200
|
|
/* 1961D4 802678F4 34A5001C */ ori $a1, $a1, 0x1c
|
|
/* 1961D8 802678F8 3C030F0A */ lui $v1, 0xf0a
|
|
/* 1961DC 802678FC 34634000 */ ori $v1, $v1, 0x4000
|
|
/* 1961E0 80267900 3C06FCFF */ lui $a2, 0xfcff
|
|
/* 1961E4 80267904 34C6FFFF */ ori $a2, $a2, 0xffff
|
|
/* 1961E8 80267908 3C04FFFD */ lui $a0, 0xfffd
|
|
/* 1961EC 8026790C 08099E4D */ j .L80267934
|
|
/* 1961F0 80267910 3484FCFE */ ori $a0, $a0, 0xfcfe
|
|
|
|
.L80267914:
|
|
/* 1961F4 80267914 3C05E200 */ lui $a1, 0xe200
|
|
/* 1961F8 80267918 34A5001C */ ori $a1, $a1, 0x1c
|
|
/* 1961FC 8026791C 3C030050 */ lui $v1, 0x50
|
|
/* 196200 80267920 34634240 */ ori $v1, $v1, 0x4240
|
|
/* 196204 80267924 3C06FCFF */ lui $a2, 0xfcff
|
|
/* 196208 80267928 34C6FFFF */ ori $a2, $a2, 0xffff
|
|
/* 19620C 8026792C 3C04FFFD */ lui $a0, 0xfffd
|
|
/* 196210 80267930 3484F6FB */ ori $a0, $a0, 0xf6fb
|
|
.L80267934:
|
|
/* 196214 80267934 24E20010 */ addiu $v0, $a3, 0x10
|
|
/* 196218 80267938 AD020000 */ sw $v0, ($t0)
|
|
/* 19621C 8026793C 24E20018 */ addiu $v0, $a3, 0x18
|
|
/* 196220 80267940 ACE50008 */ sw $a1, 8($a3)
|
|
/* 196224 80267944 ACE3000C */ sw $v1, 0xc($a3)
|
|
/* 196228 80267948 AD020000 */ sw $v0, ($t0)
|
|
/* 19622C 8026794C ACE60010 */ sw $a2, 0x10($a3)
|
|
/* 196230 80267950 ACE40014 */ sw $a0, 0x14($a3)
|
|
/* 196234 80267954 3C09E200 */ lui $t1, 0xe200
|
|
/* 196238 80267958 3529001C */ ori $t1, $t1, 0x1c
|
|
/* 19623C 8026795C 3C070F0A */ lui $a3, 0xf0a
|
|
/* 196240 80267960 34E77008 */ ori $a3, $a3, 0x7008
|
|
/* 196244 80267964 3C0AFCFF */ lui $t2, 0xfcff
|
|
/* 196248 80267968 354AFFFF */ ori $t2, $t2, 0xffff
|
|
/* 19624C 8026796C 3C08FFFC */ lui $t0, 0xfffc
|
|
/* 196250 80267970 3C06800A */ lui $a2, 0x800a
|
|
/* 196254 80267974 24C6A66C */ addiu $a2, $a2, -0x5994
|
|
/* 196258 80267978 3508F279 */ ori $t0, $t0, 0xf279
|
|
/* 19625C 8026797C 3C02FA00 */ lui $v0, 0xfa00
|
|
/* 196260 80267980 8CC50000 */ lw $a1, ($a2)
|
|
/* 196264 80267984 000C1E00 */ sll $v1, $t4, 0x18
|
|
/* 196268 80267988 00A0202D */ daddu $a0, $a1, $zero
|
|
/* 19626C 8026798C 24A50008 */ addiu $a1, $a1, 8
|
|
/* 196270 80267990 ACC50000 */ sw $a1, ($a2)
|
|
/* 196274 80267994 AC820000 */ sw $v0, ($a0)
|
|
/* 196278 80267998 31A200FF */ andi $v0, $t5, 0xff
|
|
/* 19627C 8026799C 00021400 */ sll $v0, $v0, 0x10
|
|
/* 196280 802679A0 00621825 */ or $v1, $v1, $v0
|
|
/* 196284 802679A4 31C200FF */ andi $v0, $t6, 0xff
|
|
/* 196288 802679A8 00021200 */ sll $v0, $v0, 8
|
|
/* 19628C 802679AC 00621825 */ or $v1, $v1, $v0
|
|
/* 196290 802679B0 316200FF */ andi $v0, $t3, 0xff
|
|
/* 196294 802679B4 00621825 */ or $v1, $v1, $v0
|
|
/* 196298 802679B8 24A20008 */ addiu $v0, $a1, 8
|
|
/* 19629C 802679BC AC830004 */ sw $v1, 4($a0)
|
|
/* 1962A0 802679C0 31E403FF */ andi $a0, $t7, 0x3ff
|
|
/* 1962A4 802679C4 00042380 */ sll $a0, $a0, 0xe
|
|
/* 1962A8 802679C8 ACC20000 */ sw $v0, ($a2)
|
|
/* 1962AC 802679CC 330203FF */ andi $v0, $t8, 0x3ff
|
|
/* 1962B0 802679D0 00021080 */ sll $v0, $v0, 2
|
|
/* 1962B4 802679D4 3C03F600 */ lui $v1, 0xf600
|
|
/* 1962B8 802679D8 00431025 */ or $v0, $v0, $v1
|
|
/* 1962BC 802679DC 00822025 */ or $a0, $a0, $v0
|
|
/* 1962C0 802679E0 332303FF */ andi $v1, $t9, 0x3ff
|
|
/* 1962C4 802679E4 00031B80 */ sll $v1, $v1, 0xe
|
|
/* 1962C8 802679E8 320203FF */ andi $v0, $s0, 0x3ff
|
|
/* 1962CC 802679EC 00021080 */ sll $v0, $v0, 2
|
|
/* 1962D0 802679F0 00621825 */ or $v1, $v1, $v0
|
|
/* 1962D4 802679F4 24A20010 */ addiu $v0, $a1, 0x10
|
|
/* 1962D8 802679F8 ACA40000 */ sw $a0, ($a1)
|
|
/* 1962DC 802679FC ACA30004 */ sw $v1, 4($a1)
|
|
/* 1962E0 80267A00 ACC20000 */ sw $v0, ($a2)
|
|
/* 1962E4 80267A04 3C02E700 */ lui $v0, 0xe700
|
|
/* 1962E8 80267A08 ACA20008 */ sw $v0, 8($a1)
|
|
/* 1962EC 80267A0C 24A20018 */ addiu $v0, $a1, 0x18
|
|
/* 1962F0 80267A10 ACA0000C */ sw $zero, 0xc($a1)
|
|
/* 1962F4 80267A14 ACC20000 */ sw $v0, ($a2)
|
|
/* 1962F8 80267A18 24A20020 */ addiu $v0, $a1, 0x20
|
|
/* 1962FC 80267A1C ACA90010 */ sw $t1, 0x10($a1)
|
|
/* 196300 80267A20 ACA70014 */ sw $a3, 0x14($a1)
|
|
/* 196304 80267A24 ACC20000 */ sw $v0, ($a2)
|
|
/* 196308 80267A28 ACAA0018 */ sw $t2, 0x18($a1)
|
|
/* 19630C 80267A2C ACA8001C */ sw $t0, 0x1c($a1)
|
|
/* 196310 80267A30 8FB00000 */ lw $s0, ($sp)
|
|
/* 196314 80267A34 03E00008 */ jr $ra
|
|
/* 196318 80267A38 27BD0008 */ addiu $sp, $sp, 8
|
|
|