papermario/ver/jp/asm/nonmatchings/19EB0/func_80041BD0.s
Alex Bates a8c85b377a
Share 1370.c across versions (#509)
* split jp gfxRetrace_Callback

* func_80025F70

* use 1370_len_7d0 on jp

* rename 1370_len_7d0 to main

* coverage.py
2021-10-31 03:53:55 +09:00

1233 lines
60 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80041BD0
/* 1CFD0 80041BD0 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 1CFD4 80041BD4 AFB60028 */ sw $s6, 0x28($sp)
/* 1CFD8 80041BD8 3C16800B */ lui $s6, %hi(D_800B0EF0)
/* 1CFDC 80041BDC 26D60EF0 */ addiu $s6, $s6, %lo(D_800B0EF0)
/* 1CFE0 80041BE0 AFB7002C */ sw $s7, 0x2c($sp)
/* 1CFE4 80041BE4 3C178011 */ lui $s7, %hi(D_8010F188)
/* 1CFE8 80041BE8 26F7F188 */ addiu $s7, $s7, %lo(D_8010F188)
/* 1CFEC 80041BEC AFB00010 */ sw $s0, 0x10($sp)
/* 1CFF0 80041BF0 3C108011 */ lui $s0, %hi(D_8010F450)
/* 1CFF4 80041BF4 2610F450 */ addiu $s0, $s0, %lo(D_8010F450)
/* 1CFF8 80041BF8 3C04800A */ lui $a0, %hi(D_8009A5B0)
/* 1CFFC 80041BFC 2484A5B0 */ addiu $a0, $a0, %lo(D_8009A5B0)
/* 1D000 80041C00 AFBF0034 */ sw $ra, 0x34($sp)
/* 1D004 80041C04 AFBE0030 */ sw $fp, 0x30($sp)
/* 1D008 80041C08 AFB50024 */ sw $s5, 0x24($sp)
/* 1D00C 80041C0C AFB40020 */ sw $s4, 0x20($sp)
/* 1D010 80041C10 AFB3001C */ sw $s3, 0x1c($sp)
/* 1D014 80041C14 AFB20018 */ sw $s2, 0x18($sp)
/* 1D018 80041C18 AFB10014 */ sw $s1, 0x14($sp)
/* 1D01C 80041C1C 8C830000 */ lw $v1, ($a0)
/* 1D020 80041C20 24050066 */ addiu $a1, $zero, 0x66
/* 1D024 80041C24 106501FC */ beq $v1, $a1, .L80042418
/* 1D028 80041C28 28620067 */ slti $v0, $v1, 0x67
/* 1D02C 80041C2C 1040001D */ beqz $v0, .L80041CA4
/* 1D030 80041C30 24020004 */ addiu $v0, $zero, 4
/* 1D034 80041C34 10620183 */ beq $v1, $v0, .L80042244
/* 1D038 80041C38 28620005 */ slti $v0, $v1, 5
/* 1D03C 80041C3C 10400009 */ beqz $v0, .L80041C64
/* 1D040 80041C40 24020002 */ addiu $v0, $zero, 2
/* 1D044 80041C44 1062011C */ beq $v1, $v0, .L800420B8
/* 1D048 80041C48 28620003 */ slti $v0, $v1, 3
/* 1D04C 80041C4C 1040011F */ beqz $v0, .L800420CC
/* 1D050 80041C50 0000902D */ daddu $s2, $zero, $zero
/* 1D054 80041C54 10600037 */ beqz $v1, .L80041D34
/* 1D058 80041C58 00000000 */ nop
/* 1D05C 80041C5C 08010B03 */ j .L80042C0C
/* 1D060 80041C60 00000000 */ nop
.L80041C64:
/* 1D064 80041C64 2402000B */ addiu $v0, $zero, 0xb
/* 1D068 80041C68 106200B3 */ beq $v1, $v0, .L80041F38
/* 1D06C 80041C6C 2862000C */ slti $v0, $v1, 0xc
/* 1D070 80041C70 10400005 */ beqz $v0, .L80041C88
/* 1D074 80041C74 2402000A */ addiu $v0, $zero, 0xa
/* 1D078 80041C78 10620090 */ beq $v1, $v0, .L80041EBC
/* 1D07C 80041C7C 00000000 */ nop
/* 1D080 80041C80 08010B03 */ j .L80042C0C
/* 1D084 80041C84 00000000 */ nop
.L80041C88:
/* 1D088 80041C88 24020064 */ addiu $v0, $zero, 0x64
/* 1D08C 80041C8C 106201B1 */ beq $v1, $v0, .L80042354
/* 1D090 80041C90 24020065 */ addiu $v0, $zero, 0x65
/* 1D094 80041C94 106201DB */ beq $v1, $v0, .L80042404
/* 1D098 80041C98 00000000 */ nop
/* 1D09C 80041C9C 08010B03 */ j .L80042C0C
/* 1D0A0 80041CA0 00000000 */ nop
.L80041CA4:
/* 1D0A4 80041CA4 240200CB */ addiu $v0, $zero, 0xcb
/* 1D0A8 80041CA8 106202F9 */ beq $v1, $v0, .L80042890
/* 1D0AC 80041CAC 286200CC */ slti $v0, $v1, 0xcc
/* 1D0B0 80041CB0 10400010 */ beqz $v0, .L80041CF4
/* 1D0B4 80041CB4 240200C8 */ addiu $v0, $zero, 0xc8
/* 1D0B8 80041CB8 10620278 */ beq $v1, $v0, .L8004269C
/* 1D0BC 80041CBC 286200C9 */ slti $v0, $v1, 0xc9
/* 1D0C0 80041CC0 10400005 */ beqz $v0, .L80041CD8
/* 1D0C4 80041CC4 24020067 */ addiu $v0, $zero, 0x67
/* 1D0C8 80041CC8 1062025A */ beq $v1, $v0, .L80042634
/* 1D0CC 80041CCC 00000000 */ nop
/* 1D0D0 80041CD0 08010B03 */ j .L80042C0C
/* 1D0D4 80041CD4 00000000 */ nop
.L80041CD8:
/* 1D0D8 80041CD8 240200C9 */ addiu $v0, $zero, 0xc9
/* 1D0DC 80041CDC 1062029B */ beq $v1, $v0, .L8004274C
/* 1D0E0 80041CE0 240200CA */ addiu $v0, $zero, 0xca
/* 1D0E4 80041CE4 1062029E */ beq $v1, $v0, .L80042760
/* 1D0E8 80041CE8 0000902D */ daddu $s2, $zero, $zero
/* 1D0EC 80041CEC 08010B03 */ j .L80042C0C
/* 1D0F0 80041CF0 00000000 */ nop
.L80041CF4:
/* 1D0F4 80041CF4 24020190 */ addiu $v0, $zero, 0x190
/* 1D0F8 80041CF8 1062031E */ beq $v1, $v0, .L80042974
/* 1D0FC 80041CFC 28620191 */ slti $v0, $v1, 0x191
/* 1D100 80041D00 10400005 */ beqz $v0, .L80041D18
/* 1D104 80041D04 2402012C */ addiu $v0, $zero, 0x12c
/* 1D108 80041D08 106202F2 */ beq $v1, $v0, .L800428D4
/* 1D10C 80041D0C 00000000 */ nop
/* 1D110 80041D10 08010B03 */ j .L80042C0C
/* 1D114 80041D14 00000000 */ nop
.L80041D18:
/* 1D118 80041D18 24020191 */ addiu $v0, $zero, 0x191
/* 1D11C 80041D1C 1062033E */ beq $v1, $v0, .L80042A18
/* 1D120 80041D20 24020192 */ addiu $v0, $zero, 0x192
/* 1D124 80041D24 10620349 */ beq $v1, $v0, .L80042A4C
/* 1D128 80041D28 0000902D */ daddu $s2, $zero, $zero
/* 1D12C 80041D2C 08010B03 */ j .L80042C0C
/* 1D130 80041D30 00000000 */ nop
.L80041D34:
/* 1D134 80041D34 82C20008 */ lb $v0, 8($s6)
/* 1D138 80041D38 104003E8 */ beqz $v0, .L80042CDC
/* 1D13C 80041D3C 00000000 */ nop
/* 1D140 80041D40 A2C00008 */ sb $zero, 8($s6)
/* 1D144 80041D44 A6E00010 */ sh $zero, 0x10($s7)
/* 1D148 80041D48 0C03A5E1 */ jal func_800E9784
/* 1D14C 80041D4C A2C00012 */ sb $zero, 0x12($s6)
/* 1D150 80041D50 A2C000A0 */ sb $zero, 0xa0($s6)
/* 1D154 80041D54 A2C000A4 */ sb $zero, 0xa4($s6)
/* 1D158 80041D58 A2C000A8 */ sb $zero, 0xa8($s6)
/* 1D15C 80041D5C A2C000AC */ sb $zero, 0xac($s6)
/* 1D160 80041D60 3C02800A */ lui $v0, %hi(gCurrentCamID)
/* 1D164 80041D64 8042A634 */ lb $v0, %lo(gCurrentCamID)($v0)
/* 1D168 80041D68 24110001 */ addiu $s1, $zero, 1
/* 1D16C 80041D6C A6C000A2 */ sh $zero, 0xa2($s6)
/* 1D170 80041D70 A6C000A6 */ sh $zero, 0xa6($s6)
/* 1D174 80041D74 A6C000AA */ sh $zero, 0xaa($s6)
/* 1D178 80041D78 14510003 */ bne $v0, $s1, .L80041D88
/* 1D17C 80041D7C A6C000AE */ sh $zero, 0xae($s6)
/* 1D180 80041D80 0C053FC7 */ jal func_8014FF1C
/* 1D184 80041D84 00000000 */ nop
.L80041D88:
/* 1D188 80041D88 3C03FFFB */ lui $v1, 0xfffb
/* 1D18C 80041D8C 3463FFFF */ ori $v1, $v1, 0xffff
/* 1D190 80041D90 AED10098 */ sw $s1, 0x98($s6)
/* 1D194 80041D94 AEC0009C */ sw $zero, 0x9c($s6)
/* 1D198 80041D98 8EE20000 */ lw $v0, ($s7)
/* 1D19C 80041D9C 3C10800A */ lui $s0, %hi(D_8009A650)
/* 1D1A0 80041DA0 2610A650 */ addiu $s0, $s0, %lo(D_8009A650)
/* 1D1A4 80041DA4 A2000000 */ sb $zero, ($s0)
/* 1D1A8 80041DA8 00431024 */ and $v0, $v0, $v1
/* 1D1AC 80041DAC AEE20000 */ sw $v0, ($s7)
/* 1D1B0 80041DB0 82C30005 */ lb $v1, 5($s6)
/* 1D1B4 80041DB4 24020003 */ addiu $v0, $zero, 3
/* 1D1B8 80041DB8 50620001 */ beql $v1, $v0, .L80041DC0
/* 1D1BC 80041DBC A2110000 */ sb $s1, ($s0)
.L80041DC0:
/* 1D1C0 80041DC0 3C028007 */ lui $v0, %hi(D_80077C10)
/* 1D1C4 80041DC4 8C427C10 */ lw $v0, %lo(D_80077C10)($v0)
/* 1D1C8 80041DC8 14400003 */ bnez $v0, .L80041DD8
/* 1D1CC 80041DCC A2C00005 */ sb $zero, 5($s6)
/* 1D1D0 80041DD0 0C03AD96 */ jal func_800EB658
/* 1D1D4 80041DD4 00000000 */ nop
.L80041DD8:
/* 1D1D8 80041DD8 3C028011 */ lui $v0, %hi(D_8010ED70)
/* 1D1DC 80041DDC 2442ED70 */ addiu $v0, $v0, %lo(D_8010ED70)
/* 1D1E0 80041DE0 80420001 */ lb $v0, 1($v0)
/* 1D1E4 80041DE4 3C03800A */ lui $v1, %hi(D_8009A61C)
/* 1D1E8 80041DE8 2463A61C */ addiu $v1, $v1, %lo(D_8009A61C)
/* 1D1EC 80041DEC 10400003 */ beqz $v0, .L80041DFC
/* 1D1F0 80041DF0 A0600000 */ sb $zero, ($v1)
/* 1D1F4 80041DF4 0801078D */ j .L80041E34
/* 1D1F8 80041DF8 A0710000 */ sb $s1, ($v1)
.L80041DFC:
/* 1D1FC 80041DFC 82020000 */ lb $v0, ($s0)
/* 1D200 80041E00 1440000C */ bnez $v0, .L80041E34
/* 1D204 80041E04 00000000 */ nop
/* 1D208 80041E08 8EE20000 */ lw $v0, ($s7)
/* 1D20C 80041E0C 30420006 */ andi $v0, $v0, 6
/* 1D210 80041E10 14400008 */ bnez $v0, .L80041E34
/* 1D214 80041E14 24020021 */ addiu $v0, $zero, 0x21
/* 1D218 80041E18 82E300B4 */ lb $v1, 0xb4($s7)
/* 1D21C 80041E1C 10620005 */ beq $v1, $v0, .L80041E34
/* 1D220 80041E20 2402001D */ addiu $v0, $zero, 0x1d
/* 1D224 80041E24 10620003 */ beq $v1, $v0, .L80041E34
/* 1D228 80041E28 00000000 */ nop
/* 1D22C 80041E2C 0C039761 */ jal func_800E5D84
/* 1D230 80041E30 0000202D */ daddu $a0, $zero, $zero
.L80041E34:
/* 1D234 80041E34 82C30009 */ lb $v1, 9($s6)
/* 1D238 80041E38 2C620005 */ sltiu $v0, $v1, 5
/* 1D23C 80041E3C 10400373 */ beqz $v0, .L80042C0C
/* 1D240 80041E40 00031080 */ sll $v0, $v1, 2
/* 1D244 80041E44 3C01800A */ lui $at, %hi(D_80098678)
/* 1D248 80041E48 00220821 */ addu $at, $at, $v0
/* 1D24C 80041E4C 8C228678 */ lw $v0, %lo(D_80098678)($at)
/* 1D250 80041E50 00400008 */ jr $v0
/* 1D254 80041E54 00000000 */ nop
/* 1D258 80041E58 2402000A */ addiu $v0, $zero, 0xa
/* 1D25C 80041E5C 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1D260 80041E60 AC22A5B0 */ sw $v0, %lo(D_8009A5B0)($at)
/* 1D264 80041E64 08010B03 */ j .L80042C0C
/* 1D268 80041E68 00000000 */ nop
/* 1D26C 80041E6C 240200C8 */ addiu $v0, $zero, 0xc8
/* 1D270 80041E70 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1D274 80041E74 AC22A5B0 */ sw $v0, %lo(D_8009A5B0)($at)
/* 1D278 80041E78 08010B03 */ j .L80042C0C
/* 1D27C 80041E7C 00000000 */ nop
/* 1D280 80041E80 24020064 */ addiu $v0, $zero, 0x64
/* 1D284 80041E84 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1D288 80041E88 AC22A5B0 */ sw $v0, %lo(D_8009A5B0)($at)
/* 1D28C 80041E8C 08010B03 */ j .L80042C0C
/* 1D290 80041E90 00000000 */ nop
/* 1D294 80041E94 2402012C */ addiu $v0, $zero, 0x12c
/* 1D298 80041E98 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1D29C 80041E9C AC22A5B0 */ sw $v0, %lo(D_8009A5B0)($at)
/* 1D2A0 80041EA0 08010B03 */ j .L80042C0C
/* 1D2A4 80041EA4 00000000 */ nop
/* 1D2A8 80041EA8 24020190 */ addiu $v0, $zero, 0x190
/* 1D2AC 80041EAC 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1D2B0 80041EB0 AC22A5B0 */ sw $v0, %lo(D_8009A5B0)($at)
/* 1D2B4 80041EB4 08010B03 */ j .L80042C0C
/* 1D2B8 80041EB8 00000000 */ nop
.L80041EBC:
/* 1D2BC 80041EBC 82C2000B */ lb $v0, 0xb($s6)
/* 1D2C0 80041EC0 10400019 */ beqz $v0, .L80041F28
/* 1D2C4 80041EC4 2402000B */ addiu $v0, $zero, 0xb
/* 1D2C8 80041EC8 8EC4008C */ lw $a0, 0x8c($s6)
/* 1D2CC 80041ECC 0C012280 */ jal func_80048A00
/* 1D2D0 80041ED0 00000000 */ nop
/* 1D2D4 80041ED4 1040000F */ beqz $v0, .L80041F14
/* 1D2D8 80041ED8 2405000A */ addiu $a1, $zero, 0xa
/* 1D2DC 80041EDC 3C048007 */ lui $a0, %hi(D_80077C14)
/* 1D2E0 80041EE0 24847C14 */ addiu $a0, $a0, %lo(D_80077C14)
/* 1D2E4 80041EE4 0C0B0CF8 */ jal func_802C33E0
/* 1D2E8 80041EE8 0000302D */ daddu $a2, $zero, $zero
/* 1D2EC 80041EEC 3C03800A */ lui $v1, %hi(D_8009E9C0)
/* 1D2F0 80041EF0 2463E9C0 */ addiu $v1, $v1, %lo(D_8009E9C0)
/* 1D2F4 80041EF4 AC620000 */ sw $v0, ($v1)
/* 1D2F8 80041EF8 A0400004 */ sb $zero, 4($v0)
/* 1D2FC 80041EFC 8C620000 */ lw $v0, ($v1)
/* 1D300 80041F00 8C420144 */ lw $v0, 0x144($v0)
/* 1D304 80041F04 3C01800A */ lui $at, %hi(D_8009E9C4)
/* 1D308 80041F08 AC22E9C4 */ sw $v0, %lo(D_8009E9C4)($at)
/* 1D30C 80041F0C 080107CA */ j .L80041F28
/* 1D310 80041F10 2402000B */ addiu $v0, $zero, 0xb
.L80041F14:
/* 1D314 80041F14 9202028A */ lbu $v0, 0x28a($s0)
/* 1D318 80041F18 A600028C */ sh $zero, 0x28c($s0)
/* 1D31C 80041F1C 24420001 */ addiu $v0, $v0, 1
/* 1D320 80041F20 A202028A */ sb $v0, 0x28a($s0)
/* 1D324 80041F24 2402000B */ addiu $v0, $zero, 0xb
.L80041F28:
/* 1D328 80041F28 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1D32C 80041F2C AC22A5B0 */ sw $v0, %lo(D_8009A5B0)($at)
/* 1D330 80041F30 08010B03 */ j .L80042C0C
/* 1D334 80041F34 00000000 */ nop
.L80041F38:
/* 1D338 80041F38 82C2000B */ lb $v0, 0xb($s6)
/* 1D33C 80041F3C 10400013 */ beqz $v0, .L80041F8C
/* 1D340 80041F40 00000000 */ nop
/* 1D344 80041F44 0C012280 */ jal func_80048A00
/* 1D348 80041F48 8EC4008C */ lw $a0, 0x8c($s6)
/* 1D34C 80041F4C 1040000F */ beqz $v0, .L80041F8C
/* 1D350 80041F50 00000000 */ nop
/* 1D354 80041F54 8EC20098 */ lw $v0, 0x98($s6)
/* 1D358 80041F58 8EC30090 */ lw $v1, 0x90($s6)
/* 1D35C 80041F5C 24420004 */ addiu $v0, $v0, 4
/* 1D360 80041F60 00621823 */ subu $v1, $v1, $v0
/* 1D364 80041F64 AEC20098 */ sw $v0, 0x98($s6)
/* 1D368 80041F68 04610002 */ bgez $v1, .L80041F74
/* 1D36C 80041F6C AEC30090 */ sw $v1, 0x90($s6)
/* 1D370 80041F70 AEC00090 */ sw $zero, 0x90($s6)
.L80041F74:
/* 1D374 80041F74 3C04800A */ lui $a0, %hi(D_8009E9C4)
/* 1D378 80041F78 8C84E9C4 */ lw $a0, %lo(D_8009E9C4)($a0)
/* 1D37C 80041F7C 0C0B1059 */ jal func_802C4164
/* 1D380 80041F80 00000000 */ nop
/* 1D384 80041F84 14400321 */ bnez $v0, .L80042C0C
/* 1D388 80041F88 00000000 */ nop
.L80041F8C:
/* 1D38C 80041F8C 8ED40088 */ lw $s4, 0x88($s6)
/* 1D390 80041F90 8E820000 */ lw $v0, ($s4)
/* 1D394 80041F94 18400031 */ blez $v0, .L8004205C
/* 1D398 80041F98 0000982D */ daddu $s3, $zero, $zero
/* 1D39C 80041F9C 24120001 */ addiu $s2, $zero, 1
/* 1D3A0 80041FA0 0280882D */ daddu $s1, $s4, $zero
.L80041FA4:
/* 1D3A4 80041FA4 8E300004 */ lw $s0, 4($s1)
/* 1D3A8 80041FA8 12000027 */ beqz $s0, .L80042048
/* 1D3AC 80041FAC 00000000 */ nop
/* 1D3B0 80041FB0 8E030000 */ lw $v1, ($s0)
/* 1D3B4 80041FB4 30620008 */ andi $v0, $v1, 8
/* 1D3B8 80041FB8 10400004 */ beqz $v0, .L80041FCC
/* 1D3BC 80041FBC 30620020 */ andi $v0, $v1, 0x20
/* 1D3C0 80041FC0 8EC2008C */ lw $v0, 0x8c($s6)
/* 1D3C4 80041FC4 16020020 */ bne $s0, $v0, .L80042048
/* 1D3C8 80041FC8 30620020 */ andi $v0, $v1, 0x20
.L80041FCC:
/* 1D3CC 80041FCC 1440001E */ bnez $v0, .L80042048
/* 1D3D0 80041FD0 00000000 */ nop
/* 1D3D4 80041FD4 8E040030 */ lw $a0, 0x30($s0)
/* 1D3D8 80041FD8 1080000E */ beqz $a0, .L80042014
/* 1D3DC 80041FDC 2405000A */ addiu $a1, $zero, 0xa
/* 1D3E0 80041FE0 0000302D */ daddu $a2, $zero, $zero
/* 1D3E4 80041FE4 0C0B0D74 */ jal func_802C35D0
/* 1D3E8 80041FE8 00C0382D */ daddu $a3, $a2, $zero
/* 1D3EC 80041FEC 0040202D */ daddu $a0, $v0, $zero
/* 1D3F0 80041FF0 AE040048 */ sw $a0, 0x48($s0)
/* 1D3F4 80041FF4 8C820144 */ lw $v0, 0x144($a0)
/* 1D3F8 80041FF8 AE020060 */ sw $v0, 0x60($s0)
/* 1D3FC 80041FFC AC900148 */ sw $s0, 0x148($a0)
/* 1D400 80042000 86020008 */ lh $v0, 8($s0)
/* 1D404 80042004 A0800004 */ sb $zero, 4($a0)
/* 1D408 80042008 AC82014C */ sw $v0, 0x14c($a0)
/* 1D40C 8004200C 08010812 */ j .L80042048
/* 1D410 80042010 AED2009C */ sw $s2, 0x9c($s6)
.L80042014:
/* 1D414 80042014 3C048007 */ lui $a0, %hi(D_80077E08)
/* 1D418 80042018 24847E08 */ addiu $a0, $a0, %lo(D_80077E08)
/* 1D41C 8004201C 0000302D */ daddu $a2, $zero, $zero
/* 1D420 80042020 0C0B0D74 */ jal func_802C35D0
/* 1D424 80042024 00C0382D */ daddu $a3, $a2, $zero
/* 1D428 80042028 0040202D */ daddu $a0, $v0, $zero
/* 1D42C 8004202C AE040048 */ sw $a0, 0x48($s0)
/* 1D430 80042030 8C820144 */ lw $v0, 0x144($a0)
/* 1D434 80042034 AE020060 */ sw $v0, 0x60($s0)
/* 1D438 80042038 AC900148 */ sw $s0, 0x148($a0)
/* 1D43C 8004203C 86020008 */ lh $v0, 8($s0)
/* 1D440 80042040 A0800004 */ sb $zero, 4($a0)
/* 1D444 80042044 AC82014C */ sw $v0, 0x14c($a0)
.L80042048:
/* 1D448 80042048 8E820000 */ lw $v0, ($s4)
/* 1D44C 8004204C 26730001 */ addiu $s3, $s3, 1
/* 1D450 80042050 0262102A */ slt $v0, $s3, $v0
/* 1D454 80042054 1440FFD3 */ bnez $v0, .L80041FA4
/* 1D458 80042058 26310004 */ addiu $s1, $s1, 4
.L8004205C:
/* 1D45C 8004205C 8EC20000 */ lw $v0, ($s6)
/* 1D460 80042060 30420001 */ andi $v0, $v0, 1
/* 1D464 80042064 14400010 */ bnez $v0, .L800420A8
/* 1D468 80042068 24020002 */ addiu $v0, $zero, 2
/* 1D46C 8004206C 3C02800A */ lui $v0, %hi(D_8009A61C)
/* 1D470 80042070 8042A61C */ lb $v0, %lo(D_8009A61C)($v0)
/* 1D474 80042074 1440000C */ bnez $v0, .L800420A8
/* 1D478 80042078 24020002 */ addiu $v0, $zero, 2
/* 1D47C 8004207C 8EC2009C */ lw $v0, 0x9c($s6)
/* 1D480 80042080 14400009 */ bnez $v0, .L800420A8
/* 1D484 80042084 24020002 */ addiu $v0, $zero, 2
/* 1D488 80042088 3C02800A */ lui $v0, %hi(D_8009A650)
/* 1D48C 8004208C 8042A650 */ lb $v0, %lo(D_8009A650)($v0)
/* 1D490 80042090 14400005 */ bnez $v0, .L800420A8
/* 1D494 80042094 24020002 */ addiu $v0, $zero, 2
/* 1D498 80042098 3C040001 */ lui $a0, 1
/* 1D49C 8004209C 0C037FB7 */ jal func_800DFEDC
/* 1D4A0 800420A0 34840032 */ ori $a0, $a0, 0x32
/* 1D4A4 800420A4 24020002 */ addiu $v0, $zero, 2
.L800420A8:
/* 1D4A8 800420A8 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1D4AC 800420AC AC22A5B0 */ sw $v0, %lo(D_8009A5B0)($at)
/* 1D4B0 800420B0 08010B03 */ j .L80042C0C
/* 1D4B4 800420B4 00000000 */ nop
.L800420B8:
/* 1D4B8 800420B8 8EC30090 */ lw $v1, 0x90($s6)
/* 1D4BC 800420BC 1460025B */ bnez $v1, .L80042A2C
/* 1D4C0 800420C0 24020003 */ addiu $v0, $zero, 3
/* 1D4C4 800420C4 08010B03 */ j .L80042C0C
/* 1D4C8 800420C8 AC820000 */ sw $v0, ($a0)
.L800420CC:
/* 1D4CC 800420CC 8ED40088 */ lw $s4, 0x88($s6)
/* 1D4D0 800420D0 8E820000 */ lw $v0, ($s4)
/* 1D4D4 800420D4 18400018 */ blez $v0, .L80042138
/* 1D4D8 800420D8 0240982D */ daddu $s3, $s2, $zero
/* 1D4DC 800420DC 0280882D */ daddu $s1, $s4, $zero
.L800420E0:
/* 1D4E0 800420E0 8E300004 */ lw $s0, 4($s1)
/* 1D4E4 800420E4 1200000F */ beqz $s0, .L80042124
/* 1D4E8 800420E8 00000000 */ nop
/* 1D4EC 800420EC 8E030000 */ lw $v1, ($s0)
/* 1D4F0 800420F0 30620008 */ andi $v0, $v1, 8
/* 1D4F4 800420F4 10400004 */ beqz $v0, .L80042108
/* 1D4F8 800420F8 30620020 */ andi $v0, $v1, 0x20
/* 1D4FC 800420FC 8EC2008C */ lw $v0, 0x8c($s6)
/* 1D500 80042100 16020008 */ bne $s0, $v0, .L80042124
/* 1D504 80042104 30620020 */ andi $v0, $v1, 0x20
.L80042108:
/* 1D508 80042108 14400006 */ bnez $v0, .L80042124
/* 1D50C 8004210C 00000000 */ nop
/* 1D510 80042110 0C0B1059 */ jal func_802C4164
/* 1D514 80042114 8E040060 */ lw $a0, 0x60($s0)
/* 1D518 80042118 50400002 */ beql $v0, $zero, .L80042124
/* 1D51C 8004211C AE000048 */ sw $zero, 0x48($s0)
/* 1D520 80042120 24120001 */ addiu $s2, $zero, 1
.L80042124:
/* 1D524 80042124 8E820000 */ lw $v0, ($s4)
/* 1D528 80042128 26730001 */ addiu $s3, $s3, 1
/* 1D52C 8004212C 0262102A */ slt $v0, $s3, $v0
/* 1D530 80042130 1440FFEB */ bnez $v0, .L800420E0
/* 1D534 80042134 26310004 */ addiu $s1, $s1, 4
.L80042138:
/* 1D538 80042138 164002B4 */ bnez $s2, .L80042C0C
/* 1D53C 8004213C 00000000 */ nop
/* 1D540 80042140 8EC20000 */ lw $v0, ($s6)
/* 1D544 80042144 30420001 */ andi $v0, $v0, 1
/* 1D548 80042148 1440000B */ bnez $v0, .L80042178
/* 1D54C 8004214C 00000000 */ nop
/* 1D550 80042150 3C02800A */ lui $v0, %hi(D_8009A61C)
/* 1D554 80042154 8042A61C */ lb $v0, %lo(D_8009A61C)($v0)
/* 1D558 80042158 14400007 */ bnez $v0, .L80042178
/* 1D55C 8004215C 24020001 */ addiu $v0, $zero, 1
/* 1D560 80042160 8EC3009C */ lw $v1, 0x9c($s6)
/* 1D564 80042164 14620004 */ bne $v1, $v0, .L80042178
/* 1D568 80042168 00000000 */ nop
/* 1D56C 8004216C 3C040001 */ lui $a0, 1
/* 1D570 80042170 0C037FB7 */ jal func_800DFEDC
/* 1D574 80042174 34840032 */ ori $a0, $a0, 0x32
.L80042178:
/* 1D578 80042178 8ED40088 */ lw $s4, 0x88($s6)
/* 1D57C 8004217C 8E820000 */ lw $v0, ($s4)
/* 1D580 80042180 1840001D */ blez $v0, .L800421F8
/* 1D584 80042184 0000982D */ daddu $s3, $zero, $zero
/* 1D588 80042188 0280882D */ daddu $s1, $s4, $zero
.L8004218C:
/* 1D58C 8004218C 8E300004 */ lw $s0, 4($s1)
/* 1D590 80042190 12000014 */ beqz $s0, .L800421E4
/* 1D594 80042194 00000000 */ nop
/* 1D598 80042198 8E030000 */ lw $v1, ($s0)
/* 1D59C 8004219C 30620004 */ andi $v0, $v1, 4
/* 1D5A0 800421A0 14400010 */ bnez $v0, .L800421E4
/* 1D5A4 800421A4 30620008 */ andi $v0, $v1, 8
/* 1D5A8 800421A8 10400004 */ beqz $v0, .L800421BC
/* 1D5AC 800421AC 30620001 */ andi $v0, $v1, 1
/* 1D5B0 800421B0 8EC2008C */ lw $v0, 0x8c($s6)
/* 1D5B4 800421B4 1602000B */ bne $s0, $v0, .L800421E4
/* 1D5B8 800421B8 30620001 */ andi $v0, $v1, 1
.L800421BC:
/* 1D5BC 800421BC 14400007 */ bnez $v0, .L800421DC
/* 1D5C0 800421C0 30620010 */ andi $v0, $v1, 0x10
/* 1D5C4 800421C4 14400005 */ bnez $v0, .L800421DC
/* 1D5C8 800421C8 00000000 */ nop
/* 1D5CC 800421CC 86850048 */ lh $a1, 0x48($s4)
/* 1D5D0 800421D0 82C40020 */ lb $a0, 0x20($s6)
/* 1D5D4 800421D4 0C00FAC0 */ jal func_8003EB00
/* 1D5D8 800421D8 00B32821 */ addu $a1, $a1, $s3
.L800421DC:
/* 1D5DC 800421DC 0C00F91B */ jal func_8003E46C
/* 1D5E0 800421E0 0200202D */ daddu $a0, $s0, $zero
.L800421E4:
/* 1D5E4 800421E4 8E820000 */ lw $v0, ($s4)
/* 1D5E8 800421E8 26730001 */ addiu $s3, $s3, 1
/* 1D5EC 800421EC 0262102A */ slt $v0, $s3, $v0
/* 1D5F0 800421F0 1440FFE6 */ bnez $v0, .L8004218C
/* 1D5F4 800421F4 26310004 */ addiu $s1, $s1, 4
.L800421F8:
/* 1D5F8 800421F8 8EC20000 */ lw $v0, ($s6)
/* 1D5FC 800421FC 30420001 */ andi $v0, $v0, 1
/* 1D600 80042200 1440000B */ bnez $v0, .L80042230
/* 1D604 80042204 AEC00094 */ sw $zero, 0x94($s6)
/* 1D608 80042208 3C02800A */ lui $v0, %hi(D_8009A61C)
/* 1D60C 8004220C 8042A61C */ lb $v0, %lo(D_8009A61C)($v0)
/* 1D610 80042210 14400008 */ bnez $v0, .L80042234
/* 1D614 80042214 24020004 */ addiu $v0, $zero, 4
/* 1D618 80042218 8EC3009C */ lw $v1, 0x9c($s6)
/* 1D61C 8004221C 24020001 */ addiu $v0, $zero, 1
/* 1D620 80042220 14620004 */ bne $v1, $v0, .L80042234
/* 1D624 80042224 24020004 */ addiu $v0, $zero, 4
/* 1D628 80042228 2402001E */ addiu $v0, $zero, 0x1e
/* 1D62C 8004222C AEC20094 */ sw $v0, 0x94($s6)
.L80042230:
/* 1D630 80042230 24020004 */ addiu $v0, $zero, 4
.L80042234:
/* 1D634 80042234 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1D638 80042238 AC22A5B0 */ sw $v0, %lo(D_8009A5B0)($at)
/* 1D63C 8004223C 08010B03 */ j .L80042C0C
/* 1D640 80042240 00000000 */ nop
.L80042244:
/* 1D644 80042244 8EC20000 */ lw $v0, ($s6)
/* 1D648 80042248 30420002 */ andi $v0, $v0, 2
/* 1D64C 8004224C 14400009 */ bnez $v0, .L80042274
/* 1D650 80042250 00000000 */ nop
/* 1D654 80042254 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 1D658 80042258 8C63417C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 1D65C 8004225C 80620040 */ lb $v0, 0x40($v1)
/* 1D660 80042260 54400004 */ bnel $v0, $zero, .L80042274
/* 1D664 80042264 AEC00094 */ sw $zero, 0x94($s6)
/* 1D668 80042268 80620044 */ lb $v0, 0x44($v1)
/* 1D66C 8004226C 54400001 */ bnel $v0, $zero, .L80042274
/* 1D670 80042270 AEC00094 */ sw $zero, 0x94($s6)
.L80042274:
/* 1D674 80042274 8EC20094 */ lw $v0, 0x94($s6)
/* 1D678 80042278 10400003 */ beqz $v0, .L80042288
/* 1D67C 8004227C 2442FFFF */ addiu $v0, $v0, -1
/* 1D680 80042280 08010B03 */ j .L80042C0C
/* 1D684 80042284 AEC20094 */ sw $v0, 0x94($s6)
.L80042288:
/* 1D688 80042288 82C2001C */ lb $v0, 0x1c($s6)
/* 1D68C 8004228C 18400024 */ blez $v0, .L80042320
/* 1D690 80042290 0000982D */ daddu $s3, $zero, $zero
/* 1D694 80042294 02C0A82D */ daddu $s5, $s6, $zero
.L80042298:
/* 1D698 80042298 8EB40028 */ lw $s4, 0x28($s5)
/* 1D69C 8004229C 1280001B */ beqz $s4, .L8004230C
/* 1D6A0 800422A0 00000000 */ nop
/* 1D6A4 800422A4 8E820000 */ lw $v0, ($s4)
/* 1D6A8 800422A8 18400018 */ blez $v0, .L8004230C
/* 1D6AC 800422AC 0000882D */ daddu $s1, $zero, $zero
/* 1D6B0 800422B0 0280902D */ daddu $s2, $s4, $zero
.L800422B4:
/* 1D6B4 800422B4 8E500004 */ lw $s0, 4($s2)
/* 1D6B8 800422B8 1200000F */ beqz $s0, .L800422F8
/* 1D6BC 800422BC 00000000 */ nop
/* 1D6C0 800422C0 8E020000 */ lw $v0, ($s0)
/* 1D6C4 800422C4 30420020 */ andi $v0, $v0, 0x20
/* 1D6C8 800422C8 1440000B */ bnez $v0, .L800422F8
/* 1D6CC 800422CC 00000000 */ nop
/* 1D6D0 800422D0 8E02003C */ lw $v0, 0x3c($s0)
/* 1D6D4 800422D4 10400003 */ beqz $v0, .L800422E4
/* 1D6D8 800422D8 00000000 */ nop
/* 1D6DC 800422DC 0C0B1123 */ jal func_802C448C
/* 1D6E0 800422E0 8E040054 */ lw $a0, 0x54($s0)
.L800422E4:
/* 1D6E4 800422E4 8E020044 */ lw $v0, 0x44($s0)
/* 1D6E8 800422E8 10400003 */ beqz $v0, .L800422F8
/* 1D6EC 800422EC 00000000 */ nop
/* 1D6F0 800422F0 0C0B1123 */ jal func_802C448C
/* 1D6F4 800422F4 8E04005C */ lw $a0, 0x5c($s0)
.L800422F8:
/* 1D6F8 800422F8 8E820000 */ lw $v0, ($s4)
/* 1D6FC 800422FC 26310001 */ addiu $s1, $s1, 1
/* 1D700 80042300 0222102A */ slt $v0, $s1, $v0
/* 1D704 80042304 1440FFEB */ bnez $v0, .L800422B4
/* 1D708 80042308 26520004 */ addiu $s2, $s2, 4
.L8004230C:
/* 1D70C 8004230C 82C2001C */ lb $v0, 0x1c($s6)
/* 1D710 80042310 26730001 */ addiu $s3, $s3, 1
/* 1D714 80042314 0262102A */ slt $v0, $s3, $v0
/* 1D718 80042318 1440FFDF */ bnez $v0, .L80042298
/* 1D71C 8004231C 26B50004 */ addiu $s5, $s5, 4
.L80042320:
/* 1D720 80042320 2402000F */ addiu $v0, $zero, 0xf
/* 1D724 80042324 0C038061 */ jal func_800E0184
/* 1D728 80042328 A2C2000A */ sb $v0, 0xa($s6)
/* 1D72C 8004232C 0C03BD65 */ jal func_800EF594
/* 1D730 80042330 00000000 */ nop
/* 1D734 80042334 3C02800A */ lui $v0, %hi(D_8009A61C)
/* 1D738 80042338 8042A61C */ lb $v0, %lo(D_8009A61C)($v0)
/* 1D73C 8004233C 14400226 */ bnez $v0, .L80042BD8
/* 1D740 80042340 3C040001 */ lui $a0, 1
/* 1D744 80042344 0C037FB7 */ jal func_800DFEDC
/* 1D748 80042348 34840002 */ ori $a0, $a0, 2
/* 1D74C 8004234C 08010AF6 */ j .L80042BD8
/* 1D750 80042350 00000000 */ nop
.L80042354:
/* 1D754 80042354 8ED40088 */ lw $s4, 0x88($s6)
/* 1D758 80042358 8E820000 */ lw $v0, ($s4)
/* 1D75C 8004235C 18400024 */ blez $v0, .L800423F0
/* 1D760 80042360 0000982D */ daddu $s3, $zero, $zero
/* 1D764 80042364 0280882D */ daddu $s1, $s4, $zero
.L80042368:
/* 1D768 80042368 8E300004 */ lw $s0, 4($s1)
/* 1D76C 8004236C 1200001B */ beqz $s0, .L800423DC
/* 1D770 80042370 00000000 */ nop
/* 1D774 80042374 8E030000 */ lw $v1, ($s0)
/* 1D778 80042378 30620008 */ andi $v0, $v1, 8
/* 1D77C 8004237C 10400004 */ beqz $v0, .L80042390
/* 1D780 80042380 30620020 */ andi $v0, $v1, 0x20
/* 1D784 80042384 8EC2008C */ lw $v0, 0x8c($s6)
/* 1D788 80042388 16020014 */ bne $s0, $v0, .L800423DC
/* 1D78C 8004238C 30620020 */ andi $v0, $v1, 0x20
.L80042390:
/* 1D790 80042390 14400012 */ bnez $v0, .L800423DC
/* 1D794 80042394 00000000 */ nop
/* 1D798 80042398 8E040030 */ lw $a0, 0x30($s0)
/* 1D79C 8004239C 1080000F */ beqz $a0, .L800423DC
/* 1D7A0 800423A0 2405000A */ addiu $a1, $zero, 0xa
/* 1D7A4 800423A4 0C0B0CF8 */ jal func_802C33E0
/* 1D7A8 800423A8 0000302D */ daddu $a2, $zero, $zero
/* 1D7AC 800423AC 0040202D */ daddu $a0, $v0, $zero
/* 1D7B0 800423B0 8E0200B0 */ lw $v0, 0xb0($s0)
/* 1D7B4 800423B4 AE040048 */ sw $a0, 0x48($s0)
/* 1D7B8 800423B8 8C830144 */ lw $v1, 0x144($a0)
/* 1D7BC 800423BC 34420001 */ ori $v0, $v0, 1
/* 1D7C0 800423C0 AE030060 */ sw $v1, 0x60($s0)
/* 1D7C4 800423C4 AE0200B0 */ sw $v0, 0xb0($s0)
/* 1D7C8 800423C8 AC900148 */ sw $s0, 0x148($a0)
/* 1D7CC 800423CC 86020008 */ lh $v0, 8($s0)
/* 1D7D0 800423D0 AC82014C */ sw $v0, 0x14c($a0)
/* 1D7D4 800423D4 92020006 */ lbu $v0, 6($s0)
/* 1D7D8 800423D8 A0820004 */ sb $v0, 4($a0)
.L800423DC:
/* 1D7DC 800423DC 8E820000 */ lw $v0, ($s4)
/* 1D7E0 800423E0 26730001 */ addiu $s3, $s3, 1
/* 1D7E4 800423E4 0262102A */ slt $v0, $s3, $v0
/* 1D7E8 800423E8 1440FFDF */ bnez $v0, .L80042368
/* 1D7EC 800423EC 26310004 */ addiu $s1, $s1, 4
.L800423F0:
/* 1D7F0 800423F0 24020065 */ addiu $v0, $zero, 0x65
/* 1D7F4 800423F4 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1D7F8 800423F8 AC22A5B0 */ sw $v0, %lo(D_8009A5B0)($at)
/* 1D7FC 800423FC 08010B03 */ j .L80042C0C
/* 1D800 80042400 00000000 */ nop
.L80042404:
/* 1D804 80042404 8EC30090 */ lw $v1, 0x90($s6)
/* 1D808 80042408 14600188 */ bnez $v1, .L80042A2C
/* 1D80C 8004240C 00000000 */ nop
/* 1D810 80042410 08010B03 */ j .L80042C0C
/* 1D814 80042414 AC850000 */ sw $a1, ($a0)
.L80042418:
/* 1D818 80042418 8ED40088 */ lw $s4, 0x88($s6)
/* 1D81C 8004241C 0000902D */ daddu $s2, $zero, $zero
/* 1D820 80042420 8E820000 */ lw $v0, ($s4)
/* 1D824 80042424 18400013 */ blez $v0, .L80042474
/* 1D828 80042428 0240982D */ daddu $s3, $s2, $zero
/* 1D82C 8004242C 0280882D */ daddu $s1, $s4, $zero
.L80042430:
/* 1D830 80042430 8E300004 */ lw $s0, 4($s1)
/* 1D834 80042434 1200000A */ beqz $s0, .L80042460
/* 1D838 80042438 00000000 */ nop
/* 1D83C 8004243C 8E020000 */ lw $v0, ($s0)
/* 1D840 80042440 30420020 */ andi $v0, $v0, 0x20
/* 1D844 80042444 14400006 */ bnez $v0, .L80042460
/* 1D848 80042448 00000000 */ nop
/* 1D84C 8004244C 0C0B1059 */ jal func_802C4164
/* 1D850 80042450 8E040060 */ lw $a0, 0x60($s0)
/* 1D854 80042454 50400002 */ beql $v0, $zero, .L80042460
/* 1D858 80042458 AE000048 */ sw $zero, 0x48($s0)
/* 1D85C 8004245C 24120001 */ addiu $s2, $zero, 1
.L80042460:
/* 1D860 80042460 8E820000 */ lw $v0, ($s4)
/* 1D864 80042464 26730001 */ addiu $s3, $s3, 1
/* 1D868 80042468 0262102A */ slt $v0, $s3, $v0
/* 1D86C 8004246C 1440FFF0 */ bnez $v0, .L80042430
/* 1D870 80042470 26310004 */ addiu $s1, $s1, 4
.L80042474:
/* 1D874 80042474 164001E5 */ bnez $s2, .L80042C0C
/* 1D878 80042478 00000000 */ nop
/* 1D87C 8004247C 82C2001C */ lb $v0, 0x1c($s6)
/* 1D880 80042480 18400024 */ blez $v0, .L80042514
/* 1D884 80042484 0000982D */ daddu $s3, $zero, $zero
/* 1D888 80042488 02C0A82D */ daddu $s5, $s6, $zero
.L8004248C:
/* 1D88C 8004248C 8EB40028 */ lw $s4, 0x28($s5)
/* 1D890 80042490 1280001B */ beqz $s4, .L80042500
/* 1D894 80042494 00000000 */ nop
/* 1D898 80042498 8E820000 */ lw $v0, ($s4)
/* 1D89C 8004249C 18400018 */ blez $v0, .L80042500
/* 1D8A0 800424A0 0000882D */ daddu $s1, $zero, $zero
/* 1D8A4 800424A4 0280902D */ daddu $s2, $s4, $zero
.L800424A8:
/* 1D8A8 800424A8 8E500004 */ lw $s0, 4($s2)
/* 1D8AC 800424AC 1200000F */ beqz $s0, .L800424EC
/* 1D8B0 800424B0 00000000 */ nop
/* 1D8B4 800424B4 8E020000 */ lw $v0, ($s0)
/* 1D8B8 800424B8 30420020 */ andi $v0, $v0, 0x20
/* 1D8BC 800424BC 1440000B */ bnez $v0, .L800424EC
/* 1D8C0 800424C0 00000000 */ nop
/* 1D8C4 800424C4 8E02003C */ lw $v0, 0x3c($s0)
/* 1D8C8 800424C8 10400003 */ beqz $v0, .L800424D8
/* 1D8CC 800424CC 00000000 */ nop
/* 1D8D0 800424D0 0C0B1123 */ jal func_802C448C
/* 1D8D4 800424D4 8E040054 */ lw $a0, 0x54($s0)
.L800424D8:
/* 1D8D8 800424D8 8E020044 */ lw $v0, 0x44($s0)
/* 1D8DC 800424DC 10400003 */ beqz $v0, .L800424EC
/* 1D8E0 800424E0 00000000 */ nop
/* 1D8E4 800424E4 0C0B1123 */ jal func_802C448C
/* 1D8E8 800424E8 8E04005C */ lw $a0, 0x5c($s0)
.L800424EC:
/* 1D8EC 800424EC 8E820000 */ lw $v0, ($s4)
/* 1D8F0 800424F0 26310001 */ addiu $s1, $s1, 1
/* 1D8F4 800424F4 0222102A */ slt $v0, $s1, $v0
/* 1D8F8 800424F8 1440FFEB */ bnez $v0, .L800424A8
/* 1D8FC 800424FC 26520004 */ addiu $s2, $s2, 4
.L80042500:
/* 1D900 80042500 82C2001C */ lb $v0, 0x1c($s6)
/* 1D904 80042504 26730001 */ addiu $s3, $s3, 1
/* 1D908 80042508 0262102A */ slt $v0, $s3, $v0
/* 1D90C 8004250C 1440FFDF */ bnez $v0, .L8004248C
/* 1D910 80042510 26B50004 */ addiu $s5, $s5, 4
.L80042514:
/* 1D914 80042514 8ED0008C */ lw $s0, 0x8c($s6)
/* 1D918 80042518 3C030004 */ lui $v1, 4
/* 1D91C 8004251C 8E020000 */ lw $v0, ($s0)
/* 1D920 80042520 8ED40088 */ lw $s4, 0x88($s6)
/* 1D924 80042524 00431024 */ and $v0, $v0, $v1
/* 1D928 80042528 1440001A */ bnez $v0, .L80042594
/* 1D92C 8004252C 2402002D */ addiu $v0, $zero, 0x2d
/* 1D930 80042530 A20200B4 */ sb $v0, 0xb4($s0)
/* 1D934 80042534 2402002D */ addiu $v0, $zero, 0x2d
/* 1D938 80042538 A6E20010 */ sh $v0, 0x10($s7)
/* 1D93C 8004253C 8E820000 */ lw $v0, ($s4)
/* 1D940 80042540 18400014 */ blez $v0, .L80042594
/* 1D944 80042544 0000882D */ daddu $s1, $zero, $zero
/* 1D948 80042548 2406002D */ addiu $a2, $zero, 0x2d
/* 1D94C 8004254C 2405002D */ addiu $a1, $zero, 0x2d
/* 1D950 80042550 0280202D */ daddu $a0, $s4, $zero
.L80042554:
/* 1D954 80042554 8C900004 */ lw $s0, 4($a0)
/* 1D958 80042558 12000009 */ beqz $s0, .L80042580
/* 1D95C 8004255C 00000000 */ nop
/* 1D960 80042560 8E030000 */ lw $v1, ($s0)
/* 1D964 80042564 30620020 */ andi $v0, $v1, 0x20
/* 1D968 80042568 14400005 */ bnez $v0, .L80042580
/* 1D96C 8004256C 30620008 */ andi $v0, $v1, 8
/* 1D970 80042570 14400003 */ bnez $v0, .L80042580
/* 1D974 80042574 00000000 */ nop
/* 1D978 80042578 A20600B4 */ sb $a2, 0xb4($s0)
/* 1D97C 8004257C A6E50010 */ sh $a1, 0x10($s7)
.L80042580:
/* 1D980 80042580 8E820000 */ lw $v0, ($s4)
/* 1D984 80042584 26310001 */ addiu $s1, $s1, 1
/* 1D988 80042588 0222102A */ slt $v0, $s1, $v0
/* 1D98C 8004258C 1440FFF1 */ bnez $v0, .L80042554
/* 1D990 80042590 24840004 */ addiu $a0, $a0, 4
.L80042594:
/* 1D994 80042594 8EC20000 */ lw $v0, ($s6)
/* 1D998 80042598 8ED0008C */ lw $s0, 0x8c($s6)
/* 1D99C 8004259C 30420004 */ andi $v0, $v0, 4
/* 1D9A0 800425A0 14400010 */ bnez $v0, .L800425E4
/* 1D9A4 800425A4 2402002D */ addiu $v0, $zero, 0x2d
/* 1D9A8 800425A8 3C048007 */ lui $a0, %hi(D_80077E6C)
/* 1D9AC 800425AC 24847E6C */ addiu $a0, $a0, %lo(D_80077E6C)
/* 1D9B0 800425B0 2405000A */ addiu $a1, $zero, 0xa
/* 1D9B4 800425B4 0C0B0CF8 */ jal func_802C33E0
/* 1D9B8 800425B8 0000302D */ daddu $a2, $zero, $zero
/* 1D9BC 800425BC 0040202D */ daddu $a0, $v0, $zero
/* 1D9C0 800425C0 AE040048 */ sw $a0, 0x48($s0)
/* 1D9C4 800425C4 8C820144 */ lw $v0, 0x144($a0)
/* 1D9C8 800425C8 AE020060 */ sw $v0, 0x60($s0)
/* 1D9CC 800425CC AC900148 */ sw $s0, 0x148($a0)
/* 1D9D0 800425D0 86020008 */ lh $v0, 8($s0)
/* 1D9D4 800425D4 AC82014C */ sw $v0, 0x14c($a0)
/* 1D9D8 800425D8 92020006 */ lbu $v0, 6($s0)
/* 1D9DC 800425DC A0820004 */ sb $v0, 4($a0)
/* 1D9E0 800425E0 2402002D */ addiu $v0, $zero, 0x2d
.L800425E4:
/* 1D9E4 800425E4 A2C2000A */ sb $v0, 0xa($s6)
/* 1D9E8 800425E8 2402002D */ addiu $v0, $zero, 0x2d
/* 1D9EC 800425EC 0C038061 */ jal func_800E0184
/* 1D9F0 800425F0 A6E20010 */ sh $v0, 0x10($s7)
/* 1D9F4 800425F4 0C03BD65 */ jal func_800EF594
/* 1D9F8 800425F8 00000000 */ nop
/* 1D9FC 800425FC 3C05BF80 */ lui $a1, 0xbf80
/* 1DA00 80042600 0C04F38E */ jal func_8013CE38
/* 1DA04 80042604 240400FF */ addiu $a0, $zero, 0xff
/* 1DA08 80042608 3C02800A */ lui $v0, %hi(D_8009A61C)
/* 1DA0C 8004260C 8042A61C */ lb $v0, %lo(D_8009A61C)($v0)
/* 1DA10 80042610 54400003 */ bnel $v0, $zero, .L80042620
/* 1DA14 80042614 AEC00094 */ sw $zero, 0x94($s6)
/* 1DA18 80042618 2402000F */ addiu $v0, $zero, 0xf
/* 1DA1C 8004261C AEC20094 */ sw $v0, 0x94($s6)
.L80042620:
/* 1DA20 80042620 24020067 */ addiu $v0, $zero, 0x67
/* 1DA24 80042624 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1DA28 80042628 AC22A5B0 */ sw $v0, %lo(D_8009A5B0)($at)
/* 1DA2C 8004262C 08010B03 */ j .L80042C0C
/* 1DA30 80042630 00000000 */ nop
.L80042634:
/* 1DA34 80042634 8EC20094 */ lw $v0, 0x94($s6)
/* 1DA38 80042638 1040000D */ beqz $v0, .L80042670
/* 1DA3C 8004263C 2442FFFF */ addiu $v0, $v0, -1
/* 1DA40 80042640 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 1DA44 80042644 8C63417C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 1DA48 80042648 AEC20094 */ sw $v0, 0x94($s6)
/* 1DA4C 8004264C 8C620000 */ lw $v0, ($v1)
/* 1DA50 80042650 14400007 */ bnez $v0, .L80042670
/* 1DA54 80042654 00000000 */ nop
/* 1DA58 80042658 80620040 */ lb $v0, 0x40($v1)
/* 1DA5C 8004265C 14400004 */ bnez $v0, .L80042670
/* 1DA60 80042660 00000000 */ nop
/* 1DA64 80042664 80620044 */ lb $v0, 0x44($v1)
/* 1DA68 80042668 10400168 */ beqz $v0, .L80042C0C
/* 1DA6C 8004266C 00000000 */ nop
.L80042670:
/* 1DA70 80042670 3C02800A */ lui $v0, %hi(D_8009A61C)
/* 1DA74 80042674 8042A61C */ lb $v0, %lo(D_8009A61C)($v0)
/* 1DA78 80042678 1440015A */ bnez $v0, .L80042BE4
/* 1DA7C 8004267C 3C020005 */ lui $v0, 5
/* 1DA80 80042680 8EE300B8 */ lw $v1, 0xb8($s7)
/* 1DA84 80042684 14620157 */ bne $v1, $v0, .L80042BE4
/* 1DA88 80042688 3C040001 */ lui $a0, 1
/* 1DA8C 8004268C 0C037FB7 */ jal func_800DFEDC
/* 1DA90 80042690 34840002 */ ori $a0, $a0, 2
/* 1DA94 80042694 08010AF9 */ j .L80042BE4
/* 1DA98 80042698 00000000 */ nop
.L8004269C:
/* 1DA9C 8004269C 3C040008 */ lui $a0, 8
/* 1DAA0 800426A0 0C037FB7 */ jal func_800DFEDC
/* 1DAA4 800426A4 34840009 */ ori $a0, $a0, 9
/* 1DAA8 800426A8 8ED40088 */ lw $s4, 0x88($s6)
/* 1DAAC 800426AC 8E820000 */ lw $v0, ($s4)
/* 1DAB0 800426B0 18400021 */ blez $v0, .L80042738
/* 1DAB4 800426B4 0000982D */ daddu $s3, $zero, $zero
/* 1DAB8 800426B8 0280882D */ daddu $s1, $s4, $zero
.L800426BC:
/* 1DABC 800426BC 8E300004 */ lw $s0, 4($s1)
/* 1DAC0 800426C0 12000018 */ beqz $s0, .L80042724
/* 1DAC4 800426C4 00000000 */ nop
/* 1DAC8 800426C8 8E030000 */ lw $v1, ($s0)
/* 1DACC 800426CC 30620008 */ andi $v0, $v1, 8
/* 1DAD0 800426D0 10400004 */ beqz $v0, .L800426E4
/* 1DAD4 800426D4 30620020 */ andi $v0, $v1, 0x20
/* 1DAD8 800426D8 8EC2008C */ lw $v0, 0x8c($s6)
/* 1DADC 800426DC 16020011 */ bne $s0, $v0, .L80042724
/* 1DAE0 800426E0 30620020 */ andi $v0, $v1, 0x20
.L800426E4:
/* 1DAE4 800426E4 1440000F */ bnez $v0, .L80042724
/* 1DAE8 800426E8 00000000 */ nop
/* 1DAEC 800426EC 8E040030 */ lw $a0, 0x30($s0)
/* 1DAF0 800426F0 1080000C */ beqz $a0, .L80042724
/* 1DAF4 800426F4 2405000A */ addiu $a1, $zero, 0xa
/* 1DAF8 800426F8 0C0B0CF8 */ jal func_802C33E0
/* 1DAFC 800426FC 0000302D */ daddu $a2, $zero, $zero
/* 1DB00 80042700 0040202D */ daddu $a0, $v0, $zero
/* 1DB04 80042704 AE040048 */ sw $a0, 0x48($s0)
/* 1DB08 80042708 8C820144 */ lw $v0, 0x144($a0)
/* 1DB0C 8004270C AE020060 */ sw $v0, 0x60($s0)
/* 1DB10 80042710 AC900148 */ sw $s0, 0x148($a0)
/* 1DB14 80042714 86020008 */ lh $v0, 8($s0)
/* 1DB18 80042718 AC82014C */ sw $v0, 0x14c($a0)
/* 1DB1C 8004271C 92020006 */ lbu $v0, 6($s0)
/* 1DB20 80042720 A0820004 */ sb $v0, 4($a0)
.L80042724:
/* 1DB24 80042724 8E820000 */ lw $v0, ($s4)
/* 1DB28 80042728 26730001 */ addiu $s3, $s3, 1
/* 1DB2C 8004272C 0262102A */ slt $v0, $s3, $v0
/* 1DB30 80042730 1440FFE2 */ bnez $v0, .L800426BC
/* 1DB34 80042734 26310004 */ addiu $s1, $s1, 4
.L80042738:
/* 1DB38 80042738 240200C9 */ addiu $v0, $zero, 0xc9
/* 1DB3C 8004273C 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1DB40 80042740 AC22A5B0 */ sw $v0, %lo(D_8009A5B0)($at)
/* 1DB44 80042744 08010B03 */ j .L80042C0C
/* 1DB48 80042748 00000000 */ nop
.L8004274C:
/* 1DB4C 8004274C 8EC30090 */ lw $v1, 0x90($s6)
/* 1DB50 80042750 146000B6 */ bnez $v1, .L80042A2C
/* 1DB54 80042754 00000000 */ nop
/* 1DB58 80042758 08010B03 */ j .L80042C0C
/* 1DB5C 8004275C AC820000 */ sw $v0, ($a0)
.L80042760:
/* 1DB60 80042760 8ED40088 */ lw $s4, 0x88($s6)
/* 1DB64 80042764 8E820000 */ lw $v0, ($s4)
/* 1DB68 80042768 18400013 */ blez $v0, .L800427B8
/* 1DB6C 8004276C 0240982D */ daddu $s3, $s2, $zero
/* 1DB70 80042770 0280882D */ daddu $s1, $s4, $zero
.L80042774:
/* 1DB74 80042774 8E300004 */ lw $s0, 4($s1)
/* 1DB78 80042778 1200000A */ beqz $s0, .L800427A4
/* 1DB7C 8004277C 00000000 */ nop
/* 1DB80 80042780 8E020000 */ lw $v0, ($s0)
/* 1DB84 80042784 30420020 */ andi $v0, $v0, 0x20
/* 1DB88 80042788 14400006 */ bnez $v0, .L800427A4
/* 1DB8C 8004278C 00000000 */ nop
/* 1DB90 80042790 0C0B1059 */ jal func_802C4164
/* 1DB94 80042794 8E040060 */ lw $a0, 0x60($s0)
/* 1DB98 80042798 50400002 */ beql $v0, $zero, .L800427A4
/* 1DB9C 8004279C AE000048 */ sw $zero, 0x48($s0)
/* 1DBA0 800427A0 24120001 */ addiu $s2, $zero, 1
.L800427A4:
/* 1DBA4 800427A4 8E820000 */ lw $v0, ($s4)
/* 1DBA8 800427A8 26730001 */ addiu $s3, $s3, 1
/* 1DBAC 800427AC 0262102A */ slt $v0, $s3, $v0
/* 1DBB0 800427B0 1440FFF0 */ bnez $v0, .L80042774
/* 1DBB4 800427B4 26310004 */ addiu $s1, $s1, 4
.L800427B8:
/* 1DBB8 800427B8 16400114 */ bnez $s2, .L80042C0C
/* 1DBBC 800427BC 00000000 */ nop
/* 1DBC0 800427C0 82C2001C */ lb $v0, 0x1c($s6)
/* 1DBC4 800427C4 18400024 */ blez $v0, .L80042858
/* 1DBC8 800427C8 0000982D */ daddu $s3, $zero, $zero
/* 1DBCC 800427CC 02C0A82D */ daddu $s5, $s6, $zero
.L800427D0:
/* 1DBD0 800427D0 8EB40028 */ lw $s4, 0x28($s5)
/* 1DBD4 800427D4 1280001B */ beqz $s4, .L80042844
/* 1DBD8 800427D8 00000000 */ nop
/* 1DBDC 800427DC 8E820000 */ lw $v0, ($s4)
/* 1DBE0 800427E0 18400018 */ blez $v0, .L80042844
/* 1DBE4 800427E4 0000882D */ daddu $s1, $zero, $zero
/* 1DBE8 800427E8 0280902D */ daddu $s2, $s4, $zero
.L800427EC:
/* 1DBEC 800427EC 8E500004 */ lw $s0, 4($s2)
/* 1DBF0 800427F0 1200000F */ beqz $s0, .L80042830
/* 1DBF4 800427F4 00000000 */ nop
/* 1DBF8 800427F8 8E020000 */ lw $v0, ($s0)
/* 1DBFC 800427FC 30420020 */ andi $v0, $v0, 0x20
/* 1DC00 80042800 1440000B */ bnez $v0, .L80042830
/* 1DC04 80042804 00000000 */ nop
/* 1DC08 80042808 8E02003C */ lw $v0, 0x3c($s0)
/* 1DC0C 8004280C 10400003 */ beqz $v0, .L8004281C
/* 1DC10 80042810 00000000 */ nop
/* 1DC14 80042814 0C0B1123 */ jal func_802C448C
/* 1DC18 80042818 8E040054 */ lw $a0, 0x54($s0)
.L8004281C:
/* 1DC1C 8004281C 8E020044 */ lw $v0, 0x44($s0)
/* 1DC20 80042820 10400003 */ beqz $v0, .L80042830
/* 1DC24 80042824 00000000 */ nop
/* 1DC28 80042828 0C0B1123 */ jal func_802C448C
/* 1DC2C 8004282C 8E04005C */ lw $a0, 0x5c($s0)
.L80042830:
/* 1DC30 80042830 8E820000 */ lw $v0, ($s4)
/* 1DC34 80042834 26310001 */ addiu $s1, $s1, 1
/* 1DC38 80042838 0222102A */ slt $v0, $s1, $v0
/* 1DC3C 8004283C 1440FFEB */ bnez $v0, .L800427EC
/* 1DC40 80042840 26520004 */ addiu $s2, $s2, 4
.L80042844:
/* 1DC44 80042844 82C2001C */ lb $v0, 0x1c($s6)
/* 1DC48 80042848 26730001 */ addiu $s3, $s3, 1
/* 1DC4C 8004284C 0262102A */ slt $v0, $s3, $v0
/* 1DC50 80042850 1440FFDF */ bnez $v0, .L800427D0
/* 1DC54 80042854 26B50004 */ addiu $s5, $s5, 4
.L80042858:
/* 1DC58 80042858 0C038061 */ jal func_800E0184
/* 1DC5C 8004285C 00000000 */ nop
/* 1DC60 80042860 0C03BD65 */ jal func_800EF594
/* 1DC64 80042864 00000000 */ nop
/* 1DC68 80042868 3C05BF80 */ lui $a1, 0xbf80
/* 1DC6C 8004286C 0C04F38E */ jal func_8013CE38
/* 1DC70 80042870 240400FF */ addiu $a0, $zero, 0xff
/* 1DC74 80042874 2402000F */ addiu $v0, $zero, 0xf
/* 1DC78 80042878 AEC20094 */ sw $v0, 0x94($s6)
/* 1DC7C 8004287C 240200CB */ addiu $v0, $zero, 0xcb
/* 1DC80 80042880 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1DC84 80042884 AC22A5B0 */ sw $v0, %lo(D_8009A5B0)($at)
/* 1DC88 80042888 08010B03 */ j .L80042C0C
/* 1DC8C 8004288C 00000000 */ nop
.L80042890:
/* 1DC90 80042890 8EC20094 */ lw $v0, 0x94($s6)
/* 1DC94 80042894 104000D3 */ beqz $v0, .L80042BE4
/* 1DC98 80042898 2442FFFF */ addiu $v0, $v0, -1
/* 1DC9C 8004289C 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 1DCA0 800428A0 8C63417C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 1DCA4 800428A4 AEC20094 */ sw $v0, 0x94($s6)
/* 1DCA8 800428A8 8C620000 */ lw $v0, ($v1)
/* 1DCAC 800428AC 144000CD */ bnez $v0, .L80042BE4
/* 1DCB0 800428B0 00000000 */ nop
/* 1DCB4 800428B4 80620040 */ lb $v0, 0x40($v1)
/* 1DCB8 800428B8 144000CA */ bnez $v0, .L80042BE4
/* 1DCBC 800428BC 00000000 */ nop
/* 1DCC0 800428C0 80620044 */ lb $v0, 0x44($v1)
/* 1DCC4 800428C4 104000D1 */ beqz $v0, .L80042C0C
/* 1DCC8 800428C8 00000000 */ nop
/* 1DCCC 800428CC 08010AF9 */ j .L80042BE4
/* 1DCD0 800428D0 00000000 */ nop
.L800428D4:
/* 1DCD4 800428D4 82C2001C */ lb $v0, 0x1c($s6)
/* 1DCD8 800428D8 184000BB */ blez $v0, .L80042BC8
/* 1DCDC 800428DC 0000982D */ daddu $s3, $zero, $zero
/* 1DCE0 800428E0 02C0A82D */ daddu $s5, $s6, $zero
.L800428E4:
/* 1DCE4 800428E4 8EB40028 */ lw $s4, 0x28($s5)
/* 1DCE8 800428E8 1280001B */ beqz $s4, .L80042958
/* 1DCEC 800428EC 00000000 */ nop
/* 1DCF0 800428F0 8E820000 */ lw $v0, ($s4)
/* 1DCF4 800428F4 18400018 */ blez $v0, .L80042958
/* 1DCF8 800428F8 0000882D */ daddu $s1, $zero, $zero
/* 1DCFC 800428FC 0280902D */ daddu $s2, $s4, $zero
.L80042900:
/* 1DD00 80042900 8E500004 */ lw $s0, 4($s2)
/* 1DD04 80042904 1200000F */ beqz $s0, .L80042944
/* 1DD08 80042908 00000000 */ nop
/* 1DD0C 8004290C 8E020000 */ lw $v0, ($s0)
/* 1DD10 80042910 30420020 */ andi $v0, $v0, 0x20
/* 1DD14 80042914 1440000B */ bnez $v0, .L80042944
/* 1DD18 80042918 00000000 */ nop
/* 1DD1C 8004291C 8E02003C */ lw $v0, 0x3c($s0)
/* 1DD20 80042920 10400003 */ beqz $v0, .L80042930
/* 1DD24 80042924 00000000 */ nop
/* 1DD28 80042928 0C0B1123 */ jal func_802C448C
/* 1DD2C 8004292C 8E040054 */ lw $a0, 0x54($s0)
.L80042930:
/* 1DD30 80042930 8E020044 */ lw $v0, 0x44($s0)
/* 1DD34 80042934 10400003 */ beqz $v0, .L80042944
/* 1DD38 80042938 00000000 */ nop
/* 1DD3C 8004293C 0C0B1123 */ jal func_802C448C
/* 1DD40 80042940 8E04005C */ lw $a0, 0x5c($s0)
.L80042944:
/* 1DD44 80042944 8E820000 */ lw $v0, ($s4)
/* 1DD48 80042948 26310001 */ addiu $s1, $s1, 1
/* 1DD4C 8004294C 0222102A */ slt $v0, $s1, $v0
/* 1DD50 80042950 1440FFEB */ bnez $v0, .L80042900
/* 1DD54 80042954 26520004 */ addiu $s2, $s2, 4
.L80042958:
/* 1DD58 80042958 82C2001C */ lb $v0, 0x1c($s6)
/* 1DD5C 8004295C 26730001 */ addiu $s3, $s3, 1
/* 1DD60 80042960 0262102A */ slt $v0, $s3, $v0
/* 1DD64 80042964 1440FFDF */ bnez $v0, .L800428E4
/* 1DD68 80042968 26B50004 */ addiu $s5, $s5, 4
/* 1DD6C 8004296C 08010AF2 */ j .L80042BC8
/* 1DD70 80042970 00000000 */ nop
.L80042974:
/* 1DD74 80042974 8ED40088 */ lw $s4, 0x88($s6)
/* 1DD78 80042978 8E820000 */ lw $v0, ($s4)
/* 1DD7C 8004297C 18400021 */ blez $v0, .L80042A04
/* 1DD80 80042980 0000982D */ daddu $s3, $zero, $zero
/* 1DD84 80042984 0280882D */ daddu $s1, $s4, $zero
.L80042988:
/* 1DD88 80042988 8E300004 */ lw $s0, 4($s1)
/* 1DD8C 8004298C 12000018 */ beqz $s0, .L800429F0
/* 1DD90 80042990 00000000 */ nop
/* 1DD94 80042994 8E030000 */ lw $v1, ($s0)
/* 1DD98 80042998 30620008 */ andi $v0, $v1, 8
/* 1DD9C 8004299C 10400004 */ beqz $v0, .L800429B0
/* 1DDA0 800429A0 30620020 */ andi $v0, $v1, 0x20
/* 1DDA4 800429A4 8EC2008C */ lw $v0, 0x8c($s6)
/* 1DDA8 800429A8 16020011 */ bne $s0, $v0, .L800429F0
/* 1DDAC 800429AC 30620020 */ andi $v0, $v1, 0x20
.L800429B0:
/* 1DDB0 800429B0 1440000F */ bnez $v0, .L800429F0
/* 1DDB4 800429B4 00000000 */ nop
/* 1DDB8 800429B8 8E040030 */ lw $a0, 0x30($s0)
/* 1DDBC 800429BC 1080000C */ beqz $a0, .L800429F0
/* 1DDC0 800429C0 2405000A */ addiu $a1, $zero, 0xa
/* 1DDC4 800429C4 0C0B0CF8 */ jal func_802C33E0
/* 1DDC8 800429C8 0000302D */ daddu $a2, $zero, $zero
/* 1DDCC 800429CC 0040202D */ daddu $a0, $v0, $zero
/* 1DDD0 800429D0 AE040048 */ sw $a0, 0x48($s0)
/* 1DDD4 800429D4 8C820144 */ lw $v0, 0x144($a0)
/* 1DDD8 800429D8 AE020060 */ sw $v0, 0x60($s0)
/* 1DDDC 800429DC AC900148 */ sw $s0, 0x148($a0)
/* 1DDE0 800429E0 86020008 */ lh $v0, 8($s0)
/* 1DDE4 800429E4 AC82014C */ sw $v0, 0x14c($a0)
/* 1DDE8 800429E8 92020006 */ lbu $v0, 6($s0)
/* 1DDEC 800429EC A0820004 */ sb $v0, 4($a0)
.L800429F0:
/* 1DDF0 800429F0 8E820000 */ lw $v0, ($s4)
/* 1DDF4 800429F4 26730001 */ addiu $s3, $s3, 1
/* 1DDF8 800429F8 0262102A */ slt $v0, $s3, $v0
/* 1DDFC 800429FC 1440FFE2 */ bnez $v0, .L80042988
/* 1DE00 80042A00 26310004 */ addiu $s1, $s1, 4
.L80042A04:
/* 1DE04 80042A04 24020191 */ addiu $v0, $zero, 0x191
/* 1DE08 80042A08 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1DE0C 80042A0C AC22A5B0 */ sw $v0, %lo(D_8009A5B0)($at)
/* 1DE10 80042A10 08010B03 */ j .L80042C0C
/* 1DE14 80042A14 00000000 */ nop
.L80042A18:
/* 1DE18 80042A18 8EC30090 */ lw $v1, 0x90($s6)
/* 1DE1C 80042A1C 14600003 */ bnez $v1, .L80042A2C
/* 1DE20 80042A20 00000000 */ nop
/* 1DE24 80042A24 08010B03 */ j .L80042C0C
/* 1DE28 80042A28 AC820000 */ sw $v0, ($a0)
.L80042A2C:
/* 1DE2C 80042A2C 8EC20098 */ lw $v0, 0x98($s6)
/* 1DE30 80042A30 24420004 */ addiu $v0, $v0, 4
/* 1DE34 80042A34 AEC20098 */ sw $v0, 0x98($s6)
/* 1DE38 80042A38 00621023 */ subu $v0, $v1, $v0
/* 1DE3C 80042A3C 04410073 */ bgez $v0, .L80042C0C
/* 1DE40 80042A40 AEC20090 */ sw $v0, 0x90($s6)
/* 1DE44 80042A44 08010B03 */ j .L80042C0C
/* 1DE48 80042A48 AEC00090 */ sw $zero, 0x90($s6)
.L80042A4C:
/* 1DE4C 80042A4C 8ED40088 */ lw $s4, 0x88($s6)
/* 1DE50 80042A50 8E820000 */ lw $v0, ($s4)
/* 1DE54 80042A54 18400013 */ blez $v0, .L80042AA4
/* 1DE58 80042A58 0240982D */ daddu $s3, $s2, $zero
/* 1DE5C 80042A5C 0280882D */ daddu $s1, $s4, $zero
.L80042A60:
/* 1DE60 80042A60 8E300004 */ lw $s0, 4($s1)
/* 1DE64 80042A64 1200000A */ beqz $s0, .L80042A90
/* 1DE68 80042A68 00000000 */ nop
/* 1DE6C 80042A6C 8E020000 */ lw $v0, ($s0)
/* 1DE70 80042A70 30420020 */ andi $v0, $v0, 0x20
/* 1DE74 80042A74 14400006 */ bnez $v0, .L80042A90
/* 1DE78 80042A78 00000000 */ nop
/* 1DE7C 80042A7C 0C0B1059 */ jal func_802C4164
/* 1DE80 80042A80 8E040060 */ lw $a0, 0x60($s0)
/* 1DE84 80042A84 50400002 */ beql $v0, $zero, .L80042A90
/* 1DE88 80042A88 AE000048 */ sw $zero, 0x48($s0)
/* 1DE8C 80042A8C 24120001 */ addiu $s2, $zero, 1
.L80042A90:
/* 1DE90 80042A90 8E820000 */ lw $v0, ($s4)
/* 1DE94 80042A94 26730001 */ addiu $s3, $s3, 1
/* 1DE98 80042A98 0262102A */ slt $v0, $s3, $v0
/* 1DE9C 80042A9C 1440FFF0 */ bnez $v0, .L80042A60
/* 1DEA0 80042AA0 26310004 */ addiu $s1, $s1, 4
.L80042AA4:
/* 1DEA4 80042AA4 16400059 */ bnez $s2, .L80042C0C
/* 1DEA8 80042AA8 00000000 */ nop
/* 1DEAC 80042AAC 82C2001C */ lb $v0, 0x1c($s6)
/* 1DEB0 80042AB0 18400024 */ blez $v0, .L80042B44
/* 1DEB4 80042AB4 0000982D */ daddu $s3, $zero, $zero
/* 1DEB8 80042AB8 02C0A82D */ daddu $s5, $s6, $zero
.L80042ABC:
/* 1DEBC 80042ABC 8EB40028 */ lw $s4, 0x28($s5)
/* 1DEC0 80042AC0 1280001B */ beqz $s4, .L80042B30
/* 1DEC4 80042AC4 00000000 */ nop
/* 1DEC8 80042AC8 8E820000 */ lw $v0, ($s4)
/* 1DECC 80042ACC 18400018 */ blez $v0, .L80042B30
/* 1DED0 80042AD0 0000882D */ daddu $s1, $zero, $zero
/* 1DED4 80042AD4 0280902D */ daddu $s2, $s4, $zero
.L80042AD8:
/* 1DED8 80042AD8 8E500004 */ lw $s0, 4($s2)
/* 1DEDC 80042ADC 1200000F */ beqz $s0, .L80042B1C
/* 1DEE0 80042AE0 00000000 */ nop
/* 1DEE4 80042AE4 8E020000 */ lw $v0, ($s0)
/* 1DEE8 80042AE8 30420020 */ andi $v0, $v0, 0x20
/* 1DEEC 80042AEC 1440000B */ bnez $v0, .L80042B1C
/* 1DEF0 80042AF0 00000000 */ nop
/* 1DEF4 80042AF4 8E02003C */ lw $v0, 0x3c($s0)
/* 1DEF8 80042AF8 10400003 */ beqz $v0, .L80042B08
/* 1DEFC 80042AFC 00000000 */ nop
/* 1DF00 80042B00 0C0B1123 */ jal func_802C448C
/* 1DF04 80042B04 8E040054 */ lw $a0, 0x54($s0)
.L80042B08:
/* 1DF08 80042B08 8E020044 */ lw $v0, 0x44($s0)
/* 1DF0C 80042B0C 10400003 */ beqz $v0, .L80042B1C
/* 1DF10 80042B10 00000000 */ nop
/* 1DF14 80042B14 0C0B1123 */ jal func_802C448C
/* 1DF18 80042B18 8E04005C */ lw $a0, 0x5c($s0)
.L80042B1C:
/* 1DF1C 80042B1C 8E820000 */ lw $v0, ($s4)
/* 1DF20 80042B20 26310001 */ addiu $s1, $s1, 1
/* 1DF24 80042B24 0222102A */ slt $v0, $s1, $v0
/* 1DF28 80042B28 1440FFEB */ bnez $v0, .L80042AD8
/* 1DF2C 80042B2C 26520004 */ addiu $s2, $s2, 4
.L80042B30:
/* 1DF30 80042B30 82C2001C */ lb $v0, 0x1c($s6)
/* 1DF34 80042B34 26730001 */ addiu $s3, $s3, 1
/* 1DF38 80042B38 0262102A */ slt $v0, $s3, $v0
/* 1DF3C 80042B3C 1440FFDF */ bnez $v0, .L80042ABC
/* 1DF40 80042B40 26B50004 */ addiu $s5, $s5, 4
.L80042B44:
/* 1DF44 80042B44 8ED0008C */ lw $s0, 0x8c($s6)
/* 1DF48 80042B48 8E020000 */ lw $v0, ($s0)
/* 1DF4C 80042B4C 30420004 */ andi $v0, $v0, 4
/* 1DF50 80042B50 1440001C */ bnez $v0, .L80042BC4
/* 1DF54 80042B54 2402002D */ addiu $v0, $zero, 0x2d
/* 1DF58 80042B58 8ED40088 */ lw $s4, 0x88($s6)
/* 1DF5C 80042B5C A20200B4 */ sb $v0, 0xb4($s0)
/* 1DF60 80042B60 2402002D */ addiu $v0, $zero, 0x2d
/* 1DF64 80042B64 A6E20010 */ sh $v0, 0x10($s7)
/* 1DF68 80042B68 8E820000 */ lw $v0, ($s4)
/* 1DF6C 80042B6C 18400014 */ blez $v0, .L80042BC0
/* 1DF70 80042B70 0000882D */ daddu $s1, $zero, $zero
/* 1DF74 80042B74 2406002D */ addiu $a2, $zero, 0x2d
/* 1DF78 80042B78 2405002D */ addiu $a1, $zero, 0x2d
/* 1DF7C 80042B7C 0280202D */ daddu $a0, $s4, $zero
.L80042B80:
/* 1DF80 80042B80 8C900004 */ lw $s0, 4($a0)
/* 1DF84 80042B84 12000009 */ beqz $s0, .L80042BAC
/* 1DF88 80042B88 00000000 */ nop
/* 1DF8C 80042B8C 8E030000 */ lw $v1, ($s0)
/* 1DF90 80042B90 30620020 */ andi $v0, $v1, 0x20
/* 1DF94 80042B94 14400005 */ bnez $v0, .L80042BAC
/* 1DF98 80042B98 30620008 */ andi $v0, $v1, 8
/* 1DF9C 80042B9C 14400003 */ bnez $v0, .L80042BAC
/* 1DFA0 80042BA0 00000000 */ nop
/* 1DFA4 80042BA4 A20600B4 */ sb $a2, 0xb4($s0)
/* 1DFA8 80042BA8 A6E50010 */ sh $a1, 0x10($s7)
.L80042BAC:
/* 1DFAC 80042BAC 8E820000 */ lw $v0, ($s4)
/* 1DFB0 80042BB0 26310001 */ addiu $s1, $s1, 1
/* 1DFB4 80042BB4 0222102A */ slt $v0, $s1, $v0
/* 1DFB8 80042BB8 1440FFF1 */ bnez $v0, .L80042B80
/* 1DFBC 80042BBC 24840004 */ addiu $a0, $a0, 4
.L80042BC0:
/* 1DFC0 80042BC0 2402002D */ addiu $v0, $zero, 0x2d
.L80042BC4:
/* 1DFC4 80042BC4 A2C2000A */ sb $v0, 0xa($s6)
.L80042BC8:
/* 1DFC8 80042BC8 0C038061 */ jal func_800E0184
/* 1DFCC 80042BCC 00000000 */ nop
/* 1DFD0 80042BD0 0C03BD65 */ jal func_800EF594
/* 1DFD4 80042BD4 00000000 */ nop
.L80042BD8:
/* 1DFD8 80042BD8 3C05BF80 */ lui $a1, 0xbf80
/* 1DFDC 80042BDC 0C04F38E */ jal func_8013CE38
/* 1DFE0 80042BE0 240400FF */ addiu $a0, $zero, 0xff
.L80042BE4:
/* 1DFE4 80042BE4 0C0B1192 */ jal func_802C4648
/* 1DFE8 80042BE8 24040010 */ addiu $a0, $zero, 0x10
/* 1DFEC 80042BEC 24020002 */ addiu $v0, $zero, 2
/* 1DFF0 80042BF0 3C01800A */ lui $at, %hi(D_8009A5E0)
/* 1DFF4 80042BF4 AC22A5E0 */ sw $v0, %lo(D_8009A5E0)($at)
/* 1DFF8 80042BF8 24020001 */ addiu $v0, $zero, 1
/* 1DFFC 80042BFC 3C01800A */ lui $at, %hi(D_8009A658)
/* 1E000 80042C00 AC22A658 */ sw $v0, %lo(D_8009A658)($at)
/* 1E004 80042C04 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1E008 80042C08 AC20A5B0 */ sw $zero, %lo(D_8009A5B0)($at)
.L80042C0C:
/* 1E00C 80042C0C 82C2001C */ lb $v0, 0x1c($s6)
/* 1E010 80042C10 18400032 */ blez $v0, .L80042CDC
/* 1E014 80042C14 0000982D */ daddu $s3, $zero, $zero
/* 1E018 80042C18 3C1E8000 */ lui $fp, 0x8000
/* 1E01C 80042C1C 3C177FFF */ lui $s7, 0x7fff
/* 1E020 80042C20 36F7FFFF */ ori $s7, $s7, 0xffff
/* 1E024 80042C24 02C0A82D */ daddu $s5, $s6, $zero
.L80042C28:
/* 1E028 80042C28 8EB40028 */ lw $s4, 0x28($s5)
/* 1E02C 80042C2C 12800026 */ beqz $s4, .L80042CC8
/* 1E030 80042C30 00000000 */ nop
/* 1E034 80042C34 8E820000 */ lw $v0, ($s4)
/* 1E038 80042C38 18400023 */ blez $v0, .L80042CC8
/* 1E03C 80042C3C 0000882D */ daddu $s1, $zero, $zero
/* 1E040 80042C40 0280902D */ daddu $s2, $s4, $zero
.L80042C44:
/* 1E044 80042C44 8E500004 */ lw $s0, 4($s2)
/* 1E048 80042C48 1200001A */ beqz $s0, .L80042CB4
/* 1E04C 80042C4C 00000000 */ nop
/* 1E050 80042C50 8E020000 */ lw $v0, ($s0)
/* 1E054 80042C54 30420020 */ andi $v0, $v0, 0x20
/* 1E058 80042C58 14400016 */ bnez $v0, .L80042CB4
/* 1E05C 80042C5C 00000000 */ nop
/* 1E060 80042C60 0C00E9EB */ jal func_8003A7AC
/* 1E064 80042C64 86040008 */ lh $a0, 8($s0)
/* 1E068 80042C68 0040202D */ daddu $a0, $v0, $zero
/* 1E06C 80042C6C 820200B4 */ lb $v0, 0xb4($s0)
/* 1E070 80042C70 920300B4 */ lbu $v1, 0xb4($s0)
/* 1E074 80042C74 1040000F */ beqz $v0, .L80042CB4
/* 1E078 80042C78 30620001 */ andi $v0, $v1, 1
/* 1E07C 80042C7C 10400007 */ beqz $v0, .L80042C9C
/* 1E080 80042C80 00000000 */ nop
/* 1E084 80042C84 8C820000 */ lw $v0, ($a0)
/* 1E088 80042C88 005E1025 */ or $v0, $v0, $fp
/* 1E08C 80042C8C AC820000 */ sw $v0, ($a0)
/* 1E090 80042C90 8E020000 */ lw $v0, ($s0)
/* 1E094 80042C94 08010B2C */ j .L80042CB0
/* 1E098 80042C98 005E1025 */ or $v0, $v0, $fp
.L80042C9C:
/* 1E09C 80042C9C 8C820000 */ lw $v0, ($a0)
/* 1E0A0 80042CA0 00571024 */ and $v0, $v0, $s7
/* 1E0A4 80042CA4 AC820000 */ sw $v0, ($a0)
/* 1E0A8 80042CA8 8E020000 */ lw $v0, ($s0)
/* 1E0AC 80042CAC 00571024 */ and $v0, $v0, $s7
.L80042CB0:
/* 1E0B0 80042CB0 AE020000 */ sw $v0, ($s0)
.L80042CB4:
/* 1E0B4 80042CB4 8E820000 */ lw $v0, ($s4)
/* 1E0B8 80042CB8 26310001 */ addiu $s1, $s1, 1
/* 1E0BC 80042CBC 0222102A */ slt $v0, $s1, $v0
/* 1E0C0 80042CC0 1440FFE0 */ bnez $v0, .L80042C44
/* 1E0C4 80042CC4 26520004 */ addiu $s2, $s2, 4
.L80042CC8:
/* 1E0C8 80042CC8 82C2001C */ lb $v0, 0x1c($s6)
/* 1E0CC 80042CCC 26730001 */ addiu $s3, $s3, 1
/* 1E0D0 80042CD0 0262102A */ slt $v0, $s3, $v0
/* 1E0D4 80042CD4 1440FFD4 */ bnez $v0, .L80042C28
/* 1E0D8 80042CD8 26B50004 */ addiu $s5, $s5, 4
.L80042CDC:
/* 1E0DC 80042CDC 8FBF0034 */ lw $ra, 0x34($sp)
/* 1E0E0 80042CE0 8FBE0030 */ lw $fp, 0x30($sp)
/* 1E0E4 80042CE4 8FB7002C */ lw $s7, 0x2c($sp)
/* 1E0E8 80042CE8 8FB60028 */ lw $s6, 0x28($sp)
/* 1E0EC 80042CEC 8FB50024 */ lw $s5, 0x24($sp)
/* 1E0F0 80042CF0 8FB40020 */ lw $s4, 0x20($sp)
/* 1E0F4 80042CF4 8FB3001C */ lw $s3, 0x1c($sp)
/* 1E0F8 80042CF8 8FB20018 */ lw $s2, 0x18($sp)
/* 1E0FC 80042CFC 8FB10014 */ lw $s1, 0x14($sp)
/* 1E100 80042D00 8FB00010 */ lw $s0, 0x10($sp)
/* 1E104 80042D04 03E00008 */ jr $ra
/* 1E108 80042D08 27BD0038 */ addiu $sp, $sp, 0x38