.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_80027BAC /* 2FAC 80027BAC 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 2FB0 80027BB0 3C06D700 */ lui $a2, 0xd700 /* 2FB4 80027BB4 34C60002 */ ori $a2, $a2, 2 /* 2FB8 80027BB8 3C07FF10 */ lui $a3, 0xff10 /* 2FBC 80027BBC 34E7013F */ ori $a3, $a3, 0x13f /* 2FC0 80027BC0 3C08E300 */ lui $t0, 0xe300 /* 2FC4 80027BC4 35080A01 */ ori $t0, $t0, 0xa01 /* 2FC8 80027BC8 3C09E300 */ lui $t1, 0xe300 /* 2FCC 80027BCC 35290C00 */ ori $t1, $t1, 0xc00 /* 2FD0 80027BD0 3C0AE300 */ lui $t2, 0xe300 /* 2FD4 80027BD4 354A1001 */ ori $t2, $t2, 0x1001 /* 2FD8 80027BD8 3C0BE200 */ lui $t3, 0xe200 /* 2FDC 80027BDC 356B001C */ ori $t3, $t3, 0x1c /* 2FE0 80027BE0 3C0CE300 */ lui $t4, 0xe300 /* 2FE4 80027BE4 358C1201 */ ori $t4, $t4, 0x1201 /* 2FE8 80027BE8 0000C82D */ daddu $t9, $zero, $zero /* 2FEC 80027BEC 3C02800A */ lui $v0, %hi(gMasterGfxPos) /* 2FF0 80027BF0 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos) /* 2FF4 80027BF4 0040682D */ daddu $t5, $v0, $zero /* 2FF8 80027BF8 AFB5001C */ sw $s5, 0x1c($sp) /* 2FFC 80027BFC 3C15FD10 */ lui $s5, 0xfd10 /* 3000 80027C00 36B5013F */ ori $s5, $s5, 0x13f /* 3004 80027C04 AFB00008 */ sw $s0, 8($sp) /* 3008 80027C08 3C10F510 */ lui $s0, 0xf510 /* 300C 80027C0C 3610A000 */ ori $s0, $s0, 0xa000 /* 3010 80027C10 AFB40018 */ sw $s4, 0x18($sp) /* 3014 80027C14 3C14074F */ lui $s4, 0x74f /* 3018 80027C18 3694C014 */ ori $s4, $s4, 0xc014 /* 301C 80027C1C AFB1000C */ sw $s1, 0xc($sp) /* 3020 80027C20 3C11E700 */ lui $s1, 0xe700 /* 3024 80027C24 AFBE0028 */ sw $fp, 0x28($sp) /* 3028 80027C28 3C1EF200 */ lui $fp, 0xf200 /* 302C 80027C2C AFB30014 */ sw $s3, 0x14($sp) /* 3030 80027C30 3C13004F */ lui $s3, 0x4f /* 3034 80027C34 3673C014 */ ori $s3, $s3, 0xc014 /* 3038 80027C38 AFB20010 */ sw $s2, 0x10($sp) /* 303C 80027C3C 3C12E44F */ lui $s2, 0xe44f /* 3040 80027C40 3652C000 */ ori $s2, $s2, 0xc000 /* 3044 80027C44 AFB70024 */ sw $s7, 0x24($sp) /* 3048 80027C48 3C17E100 */ lui $s7, 0xe100 /* 304C 80027C4C AFB60020 */ sw $s6, 0x20($sp) /* 3050 80027C50 3C16F100 */ lui $s6, 0xf100 /* 3054 80027C54 0320C02D */ daddu $t8, $t9, $zero /* 3058 80027C58 240F0014 */ addiu $t7, $zero, 0x14 /* 305C 80027C5C 0080702D */ daddu $t6, $a0, $zero /* 3060 80027C60 8DA20000 */ lw $v0, ($t5) /* 3064 80027C64 0220182D */ daddu $v1, $s1, $zero /* 3068 80027C68 0040202D */ daddu $a0, $v0, $zero /* 306C 80027C6C 24420008 */ addiu $v0, $v0, 8 /* 3070 80027C70 ADA20000 */ sw $v0, ($t5) /* 3074 80027C74 AC830000 */ sw $v1, ($a0) /* 3078 80027C78 24430008 */ addiu $v1, $v0, 8 /* 307C 80027C7C AC800004 */ sw $zero, 4($a0) /* 3080 80027C80 ADA30000 */ sw $v1, ($t5) /* 3084 80027C84 2403FFFF */ addiu $v1, $zero, -1 /* 3088 80027C88 AC430004 */ sw $v1, 4($v0) /* 308C 80027C8C 24430010 */ addiu $v1, $v0, 0x10 /* 3090 80027C90 AC460000 */ sw $a2, ($v0) /* 3094 80027C94 ADA30000 */ sw $v1, ($t5) /* 3098 80027C98 24430018 */ addiu $v1, $v0, 0x18 /* 309C 80027C9C AC470008 */ sw $a3, 8($v0) /* 30A0 80027CA0 AC45000C */ sw $a1, 0xc($v0) /* 30A4 80027CA4 ADA30000 */ sw $v1, ($t5) /* 30A8 80027CA8 3C030020 */ lui $v1, 0x20 /* 30AC 80027CAC AC430014 */ sw $v1, 0x14($v0) /* 30B0 80027CB0 24430020 */ addiu $v1, $v0, 0x20 /* 30B4 80027CB4 AC480010 */ sw $t0, 0x10($v0) /* 30B8 80027CB8 ADA30000 */ sw $v1, ($t5) /* 30BC 80027CBC 24430028 */ addiu $v1, $v0, 0x28 /* 30C0 80027CC0 AC490018 */ sw $t1, 0x18($v0) /* 30C4 80027CC4 AC40001C */ sw $zero, 0x1c($v0) /* 30C8 80027CC8 ADA30000 */ sw $v1, ($t5) /* 30CC 80027CCC 24430030 */ addiu $v1, $v0, 0x30 /* 30D0 80027CD0 AC4A0020 */ sw $t2, 0x20($v0) /* 30D4 80027CD4 AC400024 */ sw $zero, 0x24($v0) /* 30D8 80027CD8 ADA30000 */ sw $v1, ($t5) /* 30DC 80027CDC 24430038 */ addiu $v1, $v0, 0x38 /* 30E0 80027CE0 AC4B0028 */ sw $t3, 0x28($v0) /* 30E4 80027CE4 AC40002C */ sw $zero, 0x2c($v0) /* 30E8 80027CE8 ADA30000 */ sw $v1, ($t5) /* 30EC 80027CEC AC4C0030 */ sw $t4, 0x30($v0) /* 30F0 80027CF0 AC400034 */ sw $zero, 0x34($v0) .L80027CF4: /* 30F4 80027CF4 3C061000 */ lui $a2, 0x1000 /* 30F8 80027CF8 34C60400 */ ori $a2, $a2, 0x400 /* 30FC 80027CFC 33050FFF */ andi $a1, $t8, 0xfff /* 3100 80027D00 27180018 */ addiu $t8, $t8, 0x18 /* 3104 80027D04 31E40FFF */ andi $a0, $t7, 0xfff /* 3108 80027D08 25EF0018 */ addiu $t7, $t7, 0x18 /* 310C 80027D0C 27390001 */ addiu $t9, $t9, 1 /* 3110 80027D10 8DA20000 */ lw $v0, ($t5) /* 3114 80027D14 00922025 */ or $a0, $a0, $s2 /* 3118 80027D18 0040182D */ daddu $v1, $v0, $zero /* 311C 80027D1C 24420008 */ addiu $v0, $v0, 8 /* 3120 80027D20 AC6E0004 */ sw $t6, 4($v1) /* 3124 80027D24 ADA20000 */ sw $v0, ($t5) /* 3128 80027D28 AC750000 */ sw $s5, ($v1) /* 312C 80027D2C 24430008 */ addiu $v1, $v0, 8 /* 3130 80027D30 3C070700 */ lui $a3, 0x700 /* 3134 80027D34 ADA30000 */ sw $v1, ($t5) /* 3138 80027D38 24430010 */ addiu $v1, $v0, 0x10 /* 313C 80027D3C AC470004 */ sw $a3, 4($v0) /* 3140 80027D40 3C07E600 */ lui $a3, 0xe600 /* 3144 80027D44 AC500000 */ sw $s0, ($v0) /* 3148 80027D48 ADA30000 */ sw $v1, ($t5) /* 314C 80027D4C 24430018 */ addiu $v1, $v0, 0x18 /* 3150 80027D50 AC470008 */ sw $a3, 8($v0) /* 3154 80027D54 3C07F400 */ lui $a3, 0xf400 /* 3158 80027D58 AC40000C */ sw $zero, 0xc($v0) /* 315C 80027D5C ADA30000 */ sw $v1, ($t5) /* 3160 80027D60 24430020 */ addiu $v1, $v0, 0x20 /* 3164 80027D64 AC470010 */ sw $a3, 0x10($v0) /* 3168 80027D68 AC540014 */ sw $s4, 0x14($v0) /* 316C 80027D6C ADA30000 */ sw $v1, ($t5) /* 3170 80027D70 24430028 */ addiu $v1, $v0, 0x28 /* 3174 80027D74 AC510018 */ sw $s1, 0x18($v0) /* 3178 80027D78 AC40001C */ sw $zero, 0x1c($v0) /* 317C 80027D7C ADA30000 */ sw $v1, ($t5) /* 3180 80027D80 24430030 */ addiu $v1, $v0, 0x30 /* 3184 80027D84 AC500020 */ sw $s0, 0x20($v0) /* 3188 80027D88 AC400024 */ sw $zero, 0x24($v0) /* 318C 80027D8C ADA30000 */ sw $v1, ($t5) /* 3190 80027D90 24430038 */ addiu $v1, $v0, 0x38 /* 3194 80027D94 AC5E0028 */ sw $fp, 0x28($v0) /* 3198 80027D98 AC53002C */ sw $s3, 0x2c($v0) /* 319C 80027D9C ADA30000 */ sw $v1, ($t5) /* 31A0 80027DA0 24430040 */ addiu $v1, $v0, 0x40 /* 31A4 80027DA4 AC440030 */ sw $a0, 0x30($v0) /* 31A8 80027DA8 AC450034 */ sw $a1, 0x34($v0) /* 31AC 80027DAC ADA30000 */ sw $v1, ($t5) /* 31B0 80027DB0 24430048 */ addiu $v1, $v0, 0x48 /* 31B4 80027DB4 AC570038 */ sw $s7, 0x38($v0) /* 31B8 80027DB8 AC40003C */ sw $zero, 0x3c($v0) /* 31BC 80027DBC ADA30000 */ sw $v1, ($t5) /* 31C0 80027DC0 24430050 */ addiu $v1, $v0, 0x50 /* 31C4 80027DC4 AC560040 */ sw $s6, 0x40($v0) /* 31C8 80027DC8 AC460044 */ sw $a2, 0x44($v0) /* 31CC 80027DCC ADA30000 */ sw $v1, ($t5) /* 31D0 80027DD0 AC510048 */ sw $s1, 0x48($v0) /* 31D4 80027DD4 AC40004C */ sw $zero, 0x4c($v0) /* 31D8 80027DD8 2B220028 */ slti $v0, $t9, 0x28 /* 31DC 80027DDC 1440FFC5 */ bnez $v0, .L80027CF4 /* 31E0 80027DE0 25CE0F00 */ addiu $t6, $t6, 0xf00 /* 31E4 80027DE4 8FBE0028 */ lw $fp, 0x28($sp) /* 31E8 80027DE8 8FB70024 */ lw $s7, 0x24($sp) /* 31EC 80027DEC 8FB60020 */ lw $s6, 0x20($sp) /* 31F0 80027DF0 8FB5001C */ lw $s5, 0x1c($sp) /* 31F4 80027DF4 8FB40018 */ lw $s4, 0x18($sp) /* 31F8 80027DF8 8FB30014 */ lw $s3, 0x14($sp) /* 31FC 80027DFC 8FB20010 */ lw $s2, 0x10($sp) /* 3200 80027E00 8FB1000C */ lw $s1, 0xc($sp) /* 3204 80027E04 8FB00008 */ lw $s0, 8($sp) /* 3208 80027E08 03E00008 */ jr $ra /* 320C 80027E0C 27BD0030 */ addiu $sp, $sp, 0x30