papermario/ver/jp/asm/nonmatchings/44470/func_80069170.s

137 lines
7.0 KiB
ArmAsm
Raw Normal View History

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80069170
/* 44570 80069170 27BDFF90 */ addiu $sp, $sp, -0x70
/* 44574 80069174 AFB20060 */ sw $s2, 0x60($sp)
/* 44578 80069178 00809021 */ addu $s2, $a0, $zero
/* 4457C 8006917C AFB1005C */ sw $s1, 0x5c($sp)
/* 44580 80069180 00A08821 */ addu $s1, $a1, $zero
/* 44584 80069184 AFB30064 */ sw $s3, 0x64($sp)
/* 44588 80069188 00C09821 */ addu $s3, $a2, $zero
/* 4458C 8006918C AFBF0068 */ sw $ra, 0x68($sp)
/* 44590 80069190 0C019765 */ jal func_80065D94
/* 44594 80069194 AFB00058 */ sw $s0, 0x58($sp)
/* 44598 80069198 02402021 */ addu $a0, $s2, $zero
/* 4459C 8006919C 0C01A528 */ jal func_800694A0
/* 445A0 800691A0 02602821 */ addu $a1, $s3, $zero
/* 445A4 800691A4 0C019780 */ jal func_80065E00
/* 445A8 800691A8 00408021 */ addu $s0, $v0, $zero
/* 445AC 800691AC 16000067 */ bnez $s0, .L8006934C
/* 445B0 800691B0 02001021 */ addu $v0, $s0, $zero
/* 445B4 800691B4 02202021 */ addu $a0, $s1, $zero
/* 445B8 800691B8 AE320004 */ sw $s2, 4($s1)
/* 445BC 800691BC AE330008 */ sw $s3, 8($s1)
/* 445C0 800691C0 0C01A4DA */ jal func_80069368
/* 445C4 800691C4 AE200000 */ sw $zero, ($s1)
/* 445C8 800691C8 00408021 */ addu $s0, $v0, $zero
/* 445CC 800691CC 1600005F */ bnez $s0, .L8006934C
/* 445D0 800691D0 02202021 */ addu $a0, $s1, $zero
/* 445D4 800691D4 0C01A5AC */ jal func_800696B0
/* 445D8 800691D8 00002821 */ addu $a1, $zero, $zero
/* 445DC 800691DC 00408021 */ addu $s0, $v0, $zero
/* 445E0 800691E0 1600005A */ bnez $s0, .L8006934C
/* 445E4 800691E4 24060001 */ addiu $a2, $zero, 1
/* 445E8 800691E8 8E240004 */ lw $a0, 4($s1)
/* 445EC 800691EC 8E250008 */ lw $a1, 8($s1)
/* 445F0 800691F0 0C01A86C */ jal func_8006A1B0
/* 445F4 800691F4 27A70010 */ addiu $a3, $sp, 0x10
/* 445F8 800691F8 00408021 */ addu $s0, $v0, $zero
/* 445FC 800691FC 16000053 */ bnez $s0, .L8006934C
/* 44600 80069200 27A40010 */ addiu $a0, $sp, 0x10
/* 44604 80069204 27A50050 */ addiu $a1, $sp, 0x50
/* 44608 80069208 0C01A5D5 */ jal func_80069754
/* 4460C 8006920C 27A60052 */ addiu $a2, $sp, 0x52
/* 44610 80069210 97A3002C */ lhu $v1, 0x2c($sp)
/* 44614 80069214 97A20050 */ lhu $v0, 0x50($sp)
/* 44618 80069218 14620005 */ bne $v1, $v0, .L80069230
/* 4461C 8006921C 27B20010 */ addiu $s2, $sp, 0x10
/* 44620 80069220 97A3002E */ lhu $v1, 0x2e($sp)
/* 44624 80069224 97A20052 */ lhu $v0, 0x52($sp)
/* 44628 80069228 1062000B */ beq $v1, $v0, .L80069258
/* 4462C 8006922C 00000000 */ nop
.L80069230:
/* 44630 80069230 02202021 */ addu $a0, $s1, $zero
/* 44634 80069234 0C01A6A1 */ jal func_80069A84
/* 44638 80069238 02402821 */ addu $a1, $s2, $zero
/* 4463C 8006923C 00408021 */ addu $s0, $v0, $zero
/* 44640 80069240 12000005 */ beqz $s0, .L80069258
/* 44644 80069244 00000000 */ nop
/* 44648 80069248 8E230000 */ lw $v1, ($s1)
/* 4464C 8006924C 34630004 */ ori $v1, $v1, 4
/* 44650 80069250 0801A4D3 */ j .L8006934C
/* 44654 80069254 AE230000 */ sw $v1, ($s1)
.L80069258:
/* 44658 80069258 96420018 */ lhu $v0, 0x18($s2)
/* 4465C 8006925C 30420001 */ andi $v0, $v0, 1
/* 44660 80069260 14400015 */ bnez $v0, .L800692B8
/* 44664 80069264 02402021 */ addu $a0, $s2, $zero
/* 44668 80069268 02202021 */ addu $a0, $s1, $zero
/* 4466C 8006926C 02402821 */ addu $a1, $s2, $zero
/* 44670 80069270 27B20030 */ addiu $s2, $sp, 0x30
/* 44674 80069274 0C01A5E6 */ jal func_80069798
/* 44678 80069278 02403021 */ addu $a2, $s2, $zero
/* 4467C 8006927C 00408021 */ addu $s0, $v0, $zero
/* 44680 80069280 12000007 */ beqz $s0, .L800692A0
/* 44684 80069284 2402000A */ addiu $v0, $zero, 0xa
/* 44688 80069288 16020030 */ bne $s0, $v0, .L8006934C
/* 4468C 8006928C 02001021 */ addu $v0, $s0, $zero
/* 44690 80069290 8E220000 */ lw $v0, ($s1)
/* 44694 80069294 34420004 */ ori $v0, $v0, 4
/* 44698 80069298 0801A4D2 */ j .L80069348
/* 4469C 8006929C AE220000 */ sw $v0, ($s1)
.L800692A0:
/* 446A0 800692A0 97A20048 */ lhu $v0, 0x48($sp)
/* 446A4 800692A4 30420001 */ andi $v0, $v0, 1
/* 446A8 800692A8 14400003 */ bnez $v0, .L800692B8
/* 446AC 800692AC 02402021 */ addu $a0, $s2, $zero
/* 446B0 800692B0 0801A4D3 */ j .L8006934C
/* 446B4 800692B4 2402000B */ addiu $v0, $zero, 0xb
.L800692B8:
/* 446B8 800692B8 2625000C */ addiu $a1, $s1, 0xc
/* 446BC 800692BC 0C019188 */ jal func_80064620
/* 446C0 800692C0 24060020 */ addiu $a2, $zero, 0x20
/* 446C4 800692C4 8E240004 */ lw $a0, 4($s1)
/* 446C8 800692C8 8E250008 */ lw $a1, 8($s1)
/* 446CC 800692CC 9242001B */ lbu $v0, 0x1b($s2)
/* 446D0 800692D0 24060007 */ addiu $a2, $zero, 7
/* 446D4 800692D4 AE22004C */ sw $v0, 0x4c($s1)
/* 446D8 800692D8 9243001A */ lbu $v1, 0x1a($s2)
/* 446DC 800692DC 2627002C */ addiu $a3, $s1, 0x2c
/* 446E0 800692E0 24020010 */ addiu $v0, $zero, 0x10
/* 446E4 800692E4 AE220050 */ sw $v0, 0x50($s1)
/* 446E8 800692E8 24020008 */ addiu $v0, $zero, 8
/* 446EC 800692EC AE220054 */ sw $v0, 0x54($s1)
/* 446F0 800692F0 A2230064 */ sb $v1, 0x64($s1)
/* 446F4 800692F4 92220064 */ lbu $v0, 0x64($s1)
/* 446F8 800692F8 00031840 */ sll $v1, $v1, 1
/* 446FC 800692FC 24630003 */ addiu $v1, $v1, 3
/* 44700 80069300 AE230060 */ sw $v1, 0x60($s1)
/* 44704 80069304 92230064 */ lbu $v1, 0x64($s1)
/* 44708 80069308 24420001 */ addiu $v0, $v0, 1
/* 4470C 8006930C 000210C0 */ sll $v0, $v0, 3
/* 44710 80069310 000318C0 */ sll $v1, $v1, 3
/* 44714 80069314 AE220058 */ sw $v0, 0x58($s1)
/* 44718 80069318 00431021 */ addu $v0, $v0, $v1
/* 4471C 8006931C 0C01A86C */ jal func_8006A1B0
/* 44720 80069320 AE22005C */ sw $v0, 0x5c($s1)
/* 44724 80069324 00408021 */ addu $s0, $v0, $zero
/* 44728 80069328 16000008 */ bnez $s0, .L8006934C
/* 4472C 8006932C 02001021 */ addu $v0, $s0, $zero
/* 44730 80069330 0C01B300 */ jal func_8006CC00
/* 44734 80069334 02202021 */ addu $a0, $s1, $zero
/* 44738 80069338 8E230000 */ lw $v1, ($s1)
/* 4473C 8006933C 34630001 */ ori $v1, $v1, 1
/* 44740 80069340 0801A4D3 */ j .L8006934C
/* 44744 80069344 AE230000 */ sw $v1, ($s1)
.L80069348:
/* 44748 80069348 02001021 */ addu $v0, $s0, $zero
.L8006934C:
/* 4474C 8006934C 8FBF0068 */ lw $ra, 0x68($sp)
/* 44750 80069350 8FB30064 */ lw $s3, 0x64($sp)
/* 44754 80069354 8FB20060 */ lw $s2, 0x60($sp)
/* 44758 80069358 8FB1005C */ lw $s1, 0x5c($sp)
/* 4475C 8006935C 8FB00058 */ lw $s0, 0x58($sp)
/* 44760 80069360 03E00008 */ jr $ra
/* 44764 80069364 27BD0070 */ addiu $sp, $sp, 0x70