.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_80059A00 /* 34E00 80059A00 3C02800A */ lui $v0, %hi(D_8009A630) /* 34E04 80059A04 8C42A630 */ lw $v0, %lo(D_8009A630)($v0) /* 34E08 80059A08 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 34E0C 80059A0C AFBF0020 */ sw $ra, 0x20($sp) /* 34E10 80059A10 AFB3001C */ sw $s3, 0x1c($sp) /* 34E14 80059A14 AFB20018 */ sw $s2, 0x18($sp) /* 34E18 80059A18 AFB10014 */ sw $s1, 0x14($sp) /* 34E1C 80059A1C 30420C00 */ andi $v0, $v0, 0xc00 /* 34E20 80059A20 14400059 */ bnez $v0, .L80059B88 /* 34E24 80059A24 AFB00010 */ sw $s0, 0x10($sp) /* 34E28 80059A28 0000902D */ daddu $s2, $zero, $zero /* 34E2C 80059A2C 3C10800A */ lui $s0, %hi(D_800A1E10) /* 34E30 80059A30 26101E10 */ addiu $s0, $s0, %lo(D_800A1E10) /* 34E34 80059A34 24040003 */ addiu $a0, $zero, 3 .L80059A38: /* 34E38 80059A38 8E030000 */ lw $v1, ($s0) /* 34E3C 80059A3C 30620001 */ andi $v0, $v1, 1 /* 34E40 80059A40 10400007 */ beqz $v0, .L80059A60 /* 34E44 80059A44 26520001 */ addiu $s2, $s2, 1 /* 34E48 80059A48 30620002 */ andi $v0, $v1, 2 /* 34E4C 80059A4C 14400004 */ bnez $v0, .L80059A60 /* 34E50 80059A50 00000000 */ nop /* 34E54 80059A54 34620002 */ ori $v0, $v1, 2 /* 34E58 80059A58 AE020000 */ sw $v0, ($s0) /* 34E5C 80059A5C AE04000C */ sw $a0, 0xc($s0) .L80059A60: /* 34E60 80059A60 2A42000F */ slti $v0, $s2, 0xf /* 34E64 80059A64 1440FFF4 */ bnez $v0, .L80059A38 /* 34E68 80059A68 26100020 */ addiu $s0, $s0, 0x20 /* 34E6C 80059A6C 0000902D */ daddu $s2, $zero, $zero /* 34E70 80059A70 2413FFFD */ addiu $s3, $zero, -3 /* 34E74 80059A74 3C11800B */ lui $s1, %hi(D_800B4378) /* 34E78 80059A78 26314378 */ addiu $s1, $s1, %lo(D_800B4378) .L80059A7C: /* 34E7C 80059A7C 8E300000 */ lw $s0, ($s1) /* 34E80 80059A80 52000020 */ beql $s0, $zero, .L80059B04 /* 34E84 80059A84 26520001 */ addiu $s2, $s2, 1 /* 34E88 80059A88 8E020000 */ lw $v0, ($s0) /* 34E8C 80059A8C 30420001 */ andi $v0, $v0, 1 /* 34E90 80059A90 5040001C */ beql $v0, $zero, .L80059B04 /* 34E94 80059A94 26520001 */ addiu $s2, $s2, 1 /* 34E98 80059A98 8E030010 */ lw $v1, 0x10($s0) /* 34E9C 80059A9C 8C620000 */ lw $v0, ($v1) /* 34EA0 80059AA0 3C048007 */ lui $a0, %hi(gGameStatusPtr) /* 34EA4 80059AA4 8C84417C */ lw $a0, %lo(gGameStatusPtr)($a0) /* 34EA8 80059AA8 00531024 */ and $v0, $v0, $s3 /* 34EAC 80059AAC AC620000 */ sw $v0, ($v1) /* 34EB0 80059AB0 80820070 */ lb $v0, 0x70($a0) /* 34EB4 80059AB4 10400007 */ beqz $v0, .L80059AD4 /* 34EB8 80059AB8 00000000 */ nop /* 34EBC 80059ABC 8E020000 */ lw $v0, ($s0) /* 34EC0 80059AC0 30420004 */ andi $v0, $v0, 4 /* 34EC4 80059AC4 5040000F */ beql $v0, $zero, .L80059B04 /* 34EC8 80059AC8 26520001 */ addiu $s2, $s2, 1 /* 34ECC 80059ACC 080166B9 */ j .L80059AE4 /* 34ED0 80059AD0 00000000 */ nop .L80059AD4: /* 34ED4 80059AD4 8E020000 */ lw $v0, ($s0) /* 34ED8 80059AD8 30420004 */ andi $v0, $v0, 4 /* 34EDC 80059ADC 54400009 */ bnel $v0, $zero, .L80059B04 /* 34EE0 80059AE0 26520001 */ addiu $s2, $s2, 1 .L80059AE4: /* 34EE4 80059AE4 8E020010 */ lw $v0, 0x10($s0) /* 34EE8 80059AE8 8C420010 */ lw $v0, 0x10($v0) /* 34EEC 80059AEC 0040F809 */ jalr $v0 /* 34EF0 80059AF0 0200202D */ daddu $a0, $s0, $zero /* 34EF4 80059AF4 8E020000 */ lw $v0, ($s0) /* 34EF8 80059AF8 34420008 */ ori $v0, $v0, 8 /* 34EFC 80059AFC AE020000 */ sw $v0, ($s0) /* 34F00 80059B00 26520001 */ addiu $s2, $s2, 1 .L80059B04: /* 34F04 80059B04 2A420060 */ slti $v0, $s2, 0x60 /* 34F08 80059B08 1440FFDC */ bnez $v0, .L80059A7C /* 34F0C 80059B0C 26310004 */ addiu $s1, $s1, 4 /* 34F10 80059B10 0000902D */ daddu $s2, $zero, $zero /* 34F14 80059B14 3C10800A */ lui $s0, %hi(D_800A1E10) /* 34F18 80059B18 26101E10 */ addiu $s0, $s0, %lo(D_800A1E10) /* 34F1C 80059B1C 2611001C */ addiu $s1, $s0, 0x1c .L80059B20: /* 34F20 80059B20 8E030000 */ lw $v1, ($s0) /* 34F24 80059B24 30620001 */ andi $v0, $v1, 1 /* 34F28 80059B28 50400013 */ beql $v0, $zero, .L80059B78 /* 34F2C 80059B2C 26520001 */ addiu $s2, $s2, 1 /* 34F30 80059B30 30620002 */ andi $v0, $v1, 2 /* 34F34 80059B34 50400010 */ beql $v0, $zero, .L80059B78 /* 34F38 80059B38 26520001 */ addiu $s2, $s2, 1 /* 34F3C 80059B3C 8E22FFF0 */ lw $v0, -0x10($s1) /* 34F40 80059B40 10400003 */ beqz $v0, .L80059B50 /* 34F44 80059B44 2442FFFF */ addiu $v0, $v0, -1 /* 34F48 80059B48 080166DD */ j .L80059B74 /* 34F4C 80059B4C AE22FFF0 */ sw $v0, -0x10($s1) .L80059B50: /* 34F50 80059B50 8E240000 */ lw $a0, ($s1) /* 34F54 80059B54 50800005 */ beql $a0, $zero, .L80059B6C /* 34F58 80059B58 AE000000 */ sw $zero, ($s0) /* 34F5C 80059B5C 0C00AB0E */ jal func_8002AC38 /* 34F60 80059B60 00000000 */ nop /* 34F64 80059B64 AE200000 */ sw $zero, ($s1) /* 34F68 80059B68 AE000000 */ sw $zero, ($s0) .L80059B6C: /* 34F6C 80059B6C 0C019A3C */ jal func_800668F0 /* 34F70 80059B70 0240202D */ daddu $a0, $s2, $zero .L80059B74: /* 34F74 80059B74 26520001 */ addiu $s2, $s2, 1 .L80059B78: /* 34F78 80059B78 26310020 */ addiu $s1, $s1, 0x20 /* 34F7C 80059B7C 2A42000F */ slti $v0, $s2, 0xf /* 34F80 80059B80 1440FFE7 */ bnez $v0, .L80059B20 /* 34F84 80059B84 26100020 */ addiu $s0, $s0, 0x20 .L80059B88: /* 34F88 80059B88 8FBF0020 */ lw $ra, 0x20($sp) /* 34F8C 80059B8C 8FB3001C */ lw $s3, 0x1c($sp) /* 34F90 80059B90 8FB20018 */ lw $s2, 0x18($sp) /* 34F94 80059B94 8FB10014 */ lw $s1, 0x14($sp) /* 34F98 80059B98 8FB00010 */ lw $s0, 0x10($sp) /* 34F9C 80059B9C 03E00008 */ jr $ra /* 34FA0 80059BA0 27BD0028 */ addiu $sp, $sp, 0x28