papermario/asm/nonmatchings/code_2e230_len_2190/func_800533D0.s
2020-11-01 17:36:59 -05:00

141 lines
6.9 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800533D0
/* 2E7D0 800533D0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 2E7D4 800533D4 AFB20018 */ sw $s2, 0x18($sp)
/* 2E7D8 800533D8 3C12800A */ lui $s2, 0x800a
/* 2E7DC 800533DC 8E52A5C0 */ lw $s2, -0x5a40($s2)
/* 2E7E0 800533E0 AFB10014 */ sw $s1, 0x14($sp)
/* 2E7E4 800533E4 3C11800A */ lui $s1, 0x800a
/* 2E7E8 800533E8 8E31A640 */ lw $s1, -0x59c0($s1)
/* 2E7EC 800533EC AFB00010 */ sw $s0, 0x10($sp)
/* 2E7F0 800533F0 3C10800A */ lui $s0, 0x800a
/* 2E7F4 800533F4 8E10A628 */ lw $s0, -0x59d8($s0)
/* 2E7F8 800533F8 AFBF001C */ sw $ra, 0x1c($sp)
/* 2E7FC 800533FC 0C014D95 */ jal func_80053654
/* 2E800 80053400 0240202D */ daddu $a0, $s2, $zero
/* 2E804 80053404 8E03000C */ lw $v1, 0xc($s0)
/* 2E808 80053408 8E020004 */ lw $v0, 4($s0)
/* 2E80C 8005340C 00621823 */ subu $v1, $v1, $v0
/* 2E810 80053410 1C600006 */ bgtz $v1, .L8005342C
/* 2E814 80053414 AE03000C */ sw $v1, 0xc($s0)
/* 2E818 80053418 8E020008 */ lw $v0, 8($s0)
/* 2E81C 8005341C 0200202D */ daddu $a0, $s0, $zero
/* 2E820 80053420 00621021 */ addu $v0, $v1, $v0
/* 2E824 80053424 0C01446F */ jal func_800511BC
/* 2E828 80053428 AC82000C */ sw $v0, 0xc($a0)
.L8005342C:
/* 2E82C 8005342C 8622004A */ lh $v0, 0x4a($s1)
/* 2E830 80053430 10400007 */ beqz $v0, .L80053450
/* 2E834 80053434 00000000 */ nop
/* 2E838 80053438 0C014E8A */ jal func_80053A28
/* 2E83C 8005343C 26240040 */ addiu $a0, $s1, 0x40
/* 2E840 80053440 922400BE */ lbu $a0, 0xbe($s1)
/* 2E844 80053444 96250040 */ lhu $a1, 0x40($s1)
/* 2E848 80053448 0C014EA6 */ jal func_80053A98
/* 2E84C 8005344C 8E26005C */ lw $a2, 0x5c($s1)
.L80053450:
/* 2E850 80053450 8E23003C */ lw $v1, 0x3c($s1)
/* 2E854 80053454 8E220034 */ lw $v0, 0x34($s1)
/* 2E858 80053458 00621823 */ subu $v1, $v1, $v0
/* 2E85C 8005345C 1C600007 */ bgtz $v1, .L8005347C
/* 2E860 80053460 AE23003C */ sw $v1, 0x3c($s1)
/* 2E864 80053464 8E220038 */ lw $v0, 0x38($s1)
/* 2E868 80053468 0220202D */ daddu $a0, $s1, $zero
/* 2E86C 8005346C 00621021 */ addu $v0, $v1, $v0
/* 2E870 80053470 0C013111 */ jal func_8004C444
/* 2E874 80053474 AE22003C */ sw $v0, 0x3c($s1)
/* 2E878 80053478 A62200BA */ sh $v0, 0xba($s1)
.L8005347C:
/* 2E87C 8005347C 3C118008 */ lui $s1, %hi(D_80078DB0)
/* 2E880 80053480 26318DB0 */ addiu $s1, $s1, %lo(D_80078DB0)
/* 2E884 80053484 8E220000 */ lw $v0, ($s1)
/* 2E888 80053488 14400045 */ bnez $v0, .L800535A0
/* 2E88C 8005348C 00000000 */ nop
/* 2E890 80053490 3C10800A */ lui $s0, 0x800a
/* 2E894 80053494 8E10A5FC */ lw $s0, -0x5a04($s0)
/* 2E898 80053498 86020036 */ lh $v0, 0x36($s0)
/* 2E89C 8005349C 10400003 */ beqz $v0, .L800534AC
/* 2E8A0 800534A0 00000000 */ nop
/* 2E8A4 800534A4 0C0138E9 */ jal func_8004E3A4
/* 2E8A8 800534A8 0200202D */ daddu $a0, $s0, $zero
.L800534AC:
/* 2E8AC 800534AC 8E02001C */ lw $v0, 0x1c($s0)
/* 2E8B0 800534B0 10400004 */ beqz $v0, .L800534C4
/* 2E8B4 800534B4 00000000 */ nop
/* 2E8B8 800534B8 8E020018 */ lw $v0, 0x18($s0)
/* 2E8BC 800534BC 24420001 */ addiu $v0, $v0, 1
/* 2E8C0 800534C0 AE020018 */ sw $v0, 0x18($s0)
.L800534C4:
/* 2E8C4 800534C4 8E030010 */ lw $v1, 0x10($s0)
/* 2E8C8 800534C8 8E020008 */ lw $v0, 8($s0)
/* 2E8CC 800534CC 00621823 */ subu $v1, $v1, $v0
/* 2E8D0 800534D0 1C600007 */ bgtz $v1, .L800534F0
/* 2E8D4 800534D4 AE030010 */ sw $v1, 0x10($s0)
/* 2E8D8 800534D8 8E02000C */ lw $v0, 0xc($s0)
/* 2E8DC 800534DC 0200202D */ daddu $a0, $s0, $zero
/* 2E8E0 800534E0 00621021 */ addu $v0, $v1, $v0
/* 2E8E4 800534E4 0C01392E */ jal func_8004E4B8
/* 2E8E8 800534E8 AE020010 */ sw $v0, 0x10($s0)
/* 2E8EC 800534EC A602005C */ sh $v0, 0x5c($s0)
.L800534F0:
/* 2E8F0 800534F0 8E220000 */ lw $v0, ($s1)
/* 2E8F4 800534F4 1440002A */ bnez $v0, .L800535A0
/* 2E8F8 800534F8 00000000 */ nop
/* 2E8FC 800534FC 8E420080 */ lw $v0, 0x80($s2)
/* 2E900 80053500 10400003 */ beqz $v0, .L80053510
/* 2E904 80053504 00000000 */ nop
/* 2E908 80053508 0C0137F5 */ jal func_8004DFD4
/* 2E90C 8005350C 0240202D */ daddu $a0, $s2, $zero
.L80053510:
/* 2E910 80053510 3C10800A */ lui $s0, 0x800a
/* 2E914 80053514 8E10A664 */ lw $s0, -0x599c($s0)
/* 2E918 80053518 86020046 */ lh $v0, 0x46($s0)
/* 2E91C 8005351C 1040000A */ beqz $v0, .L80053548
/* 2E920 80053520 00000000 */ nop
/* 2E924 80053524 0C014EEA */ jal func_80053BA8
/* 2E928 80053528 2604002C */ addiu $a0, $s0, 0x2c
/* 2E92C 8005352C 86020036 */ lh $v0, 0x36($s0)
/* 2E930 80053530 14400008 */ bnez $v0, .L80053554
/* 2E934 80053534 00000000 */ nop
/* 2E938 80053538 0C013911 */ jal func_8004E444
/* 2E93C 8005353C 0200202D */ daddu $a0, $s0, $zero
/* 2E940 80053540 08014D57 */ j .L8005355C
/* 2E944 80053544 00000000 */ nop
.L80053548:
/* 2E948 80053548 86020036 */ lh $v0, 0x36($s0)
/* 2E94C 8005354C 10400003 */ beqz $v0, .L8005355C
/* 2E950 80053550 00000000 */ nop
.L80053554:
/* 2E954 80053554 0C0138E9 */ jal func_8004E3A4
/* 2E958 80053558 0200202D */ daddu $a0, $s0, $zero
.L8005355C:
/* 2E95C 8005355C 8E02001C */ lw $v0, 0x1c($s0)
/* 2E960 80053560 10400004 */ beqz $v0, .L80053574
/* 2E964 80053564 00000000 */ nop
/* 2E968 80053568 8E020018 */ lw $v0, 0x18($s0)
/* 2E96C 8005356C 24420001 */ addiu $v0, $v0, 1
/* 2E970 80053570 AE020018 */ sw $v0, 0x18($s0)
.L80053574:
/* 2E974 80053574 8E030010 */ lw $v1, 0x10($s0)
/* 2E978 80053578 8E020008 */ lw $v0, 8($s0)
/* 2E97C 8005357C 00621823 */ subu $v1, $v1, $v0
/* 2E980 80053580 1C600007 */ bgtz $v1, .L800535A0
/* 2E984 80053584 AE030010 */ sw $v1, 0x10($s0)
/* 2E988 80053588 8E02000C */ lw $v0, 0xc($s0)
/* 2E98C 8005358C 0200202D */ daddu $a0, $s0, $zero
/* 2E990 80053590 00621021 */ addu $v0, $v1, $v0
/* 2E994 80053594 0C01392E */ jal func_8004E4B8
/* 2E998 80053598 AE020010 */ sw $v0, 0x10($s0)
/* 2E99C 8005359C A602005C */ sh $v0, 0x5c($s0)
.L800535A0:
/* 2E9A0 800535A0 0C014998 */ jal func_80052660
/* 2E9A4 800535A4 0240202D */ daddu $a0, $s2, $zero
/* 2E9A8 800535A8 8FBF001C */ lw $ra, 0x1c($sp)
/* 2E9AC 800535AC 8FB20018 */ lw $s2, 0x18($sp)
/* 2E9B0 800535B0 8FB10014 */ lw $s1, 0x14($sp)
/* 2E9B4 800535B4 8FB00010 */ lw $s0, 0x10($sp)
/* 2E9B8 800535B8 03E00008 */ jr $ra
/* 2E9BC 800535BC 27BD0020 */ addiu $sp, $sp, 0x20