.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_802B6000_E27F40 /* E27F40 802B6000 27BDFFB0 */ addiu $sp, $sp, -0x50 /* E27F44 802B6004 AFB00030 */ sw $s0, 0x30($sp) /* E27F48 802B6008 3C108011 */ lui $s0, %hi(gPlayerStatus) /* E27F4C 802B600C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) /* E27F50 802B6010 AFBF003C */ sw $ra, 0x3c($sp) /* E27F54 802B6014 AFB20038 */ sw $s2, 0x38($sp) /* E27F58 802B6018 AFB10034 */ sw $s1, 0x34($sp) /* E27F5C 802B601C F7B60048 */ sdc1 $f22, 0x48($sp) /* E27F60 802B6020 F7B40040 */ sdc1 $f20, 0x40($sp) /* E27F64 802B6024 8E040000 */ lw $a0, ($s0) /* E27F68 802B6028 0481002F */ bgez $a0, .L802B60E8 /* E27F6C 802B602C 3C027FFF */ lui $v0, 0x7fff /* E27F70 802B6030 3442FFFF */ ori $v0, $v0, 0xffff /* E27F74 802B6034 3C030080 */ lui $v1, 0x80 /* E27F78 802B6038 34630008 */ ori $v1, $v1, 8 /* E27F7C 802B603C 00821024 */ and $v0, $a0, $v0 /* E27F80 802B6040 00431025 */ or $v0, $v0, $v1 /* E27F84 802B6044 8E030004 */ lw $v1, 4($s0) /* E27F88 802B6048 AE020000 */ sw $v0, ($s0) /* E27F8C 802B604C 34420800 */ ori $v0, $v0, 0x800 /* E27F90 802B6050 AE020000 */ sw $v0, ($s0) /* E27F94 802B6054 34630004 */ ori $v1, $v1, 4 /* E27F98 802B6058 AE030004 */ sw $v1, 4($s0) /* E27F9C 802B605C 820300BF */ lb $v1, 0xbf($s0) /* E27FA0 802B6060 24020001 */ addiu $v0, $zero, 1 /* E27FA4 802B6064 54620005 */ bnel $v1, $v0, .L802B607C /* E27FA8 802B6068 A20000B6 */ sb $zero, 0xb6($s0) /* E27FAC 802B606C 24020014 */ addiu $v0, $zero, 0x14 /* E27FB0 802B6070 A20200B6 */ sb $v0, 0xb6($s0) /* E27FB4 802B6074 24020002 */ addiu $v0, $zero, 2 /* E27FB8 802B6078 A6020008 */ sh $v0, 8($s0) .L802B607C: /* E27FBC 802B607C C600002C */ lwc1 $f0, 0x2c($s0) /* E27FC0 802B6080 3C03800B */ lui $v1, %hi(gCameras) /* E27FC4 802B6084 24631D80 */ addiu $v1, $v1, %lo(gCameras) /* E27FC8 802B6088 AE000054 */ sw $zero, 0x54($s0) /* E27FCC 802B608C 94620002 */ lhu $v0, 2($v1) /* E27FD0 802B6090 3C01802B */ lui $at, %hi(D_802B68B0) /* E27FD4 802B6094 AC2068B0 */ sw $zero, %lo(D_802B68B0)($at) /* E27FD8 802B6098 3C01802B */ lui $at, %hi(D_802B68BC) /* E27FDC 802B609C E42068BC */ swc1 $f0, %lo(D_802B68BC)($at) /* E27FE0 802B60A0 3C0142B4 */ lui $at, 0x42b4 /* E27FE4 802B60A4 44810000 */ mtc1 $at, $f0 /* E27FE8 802B60A8 34420003 */ ori $v0, $v0, 3 /* E27FEC 802B60AC A4620002 */ sh $v0, 2($v1) /* E27FF0 802B60B0 3C01802B */ lui $at, %hi(D_802B68B4) /* E27FF4 802B60B4 E42068B4 */ swc1 $f0, %lo(D_802B68B4)($at) /* E27FF8 802B60B8 0C03A8CD */ jal subtract_hp /* E27FFC 802B60BC 24040001 */ addiu $a0, $zero, 1 /* E28000 802B60C0 0C03A5D8 */ jal open_status_menu_long /* E28004 802B60C4 00000000 */ nop /* E28008 802B60C8 240400E8 */ addiu $a0, $zero, 0xe8 /* E2800C 802B60CC 3C03800A */ lui $v1, %hi(D_8009A650) /* E28010 802B60D0 2463A650 */ addiu $v1, $v1, %lo(D_8009A650) /* E28014 802B60D4 8C620000 */ lw $v0, ($v1) /* E28018 802B60D8 0000282D */ daddu $a1, $zero, $zero /* E2801C 802B60DC 34420040 */ ori $v0, $v0, 0x40 /* E28020 802B60E0 0C052736 */ jal play_sound_at_player /* E28024 802B60E4 AC620000 */ sw $v0, ($v1) .L802B60E8: /* E28028 802B60E8 820300B6 */ lb $v1, 0xb6($s0) /* E2802C 802B60EC 2C620016 */ sltiu $v0, $v1, 0x16 /* E28030 802B60F0 104001C5 */ beqz $v0, .L802B6808 /* E28034 802B60F4 00031080 */ sll $v0, $v1, 2 /* E28038 802B60F8 3C01802B */ lui $at, %hi(jtbl_802B6850_E28790) /* E2803C 802B60FC 00220821 */ addu $at, $at, $v0 /* E28040 802B6100 8C226850 */ lw $v0, %lo(jtbl_802B6850_E28790)($at) /* E28044 802B6104 00400008 */ jr $v0 /* E28048 802B6108 00000000 */ nop glabel L802B610C_E2804C /* E2804C 802B610C 96020008 */ lhu $v0, 8($s0) /* E28050 802B6110 2403FFFF */ addiu $v1, $zero, -1 /* E28054 802B6114 2442FFFF */ addiu $v0, $v0, -1 /* E28058 802B6118 A6020008 */ sh $v0, 8($s0) /* E2805C 802B611C 00021400 */ sll $v0, $v0, 0x10 /* E28060 802B6120 00021403 */ sra $v0, $v0, 0x10 /* E28064 802B6124 504301B8 */ beql $v0, $v1, .L802B6808 /* E28068 802B6128 A20000B6 */ sb $zero, 0xb6($s0) /* E2806C 802B612C 080ADA02 */ j .L802B6808 /* E28070 802B6130 00000000 */ nop glabel L802B6134_E28074 /* E28074 802B6134 96020008 */ lhu $v0, 8($s0) /* E28078 802B6138 2403FFFF */ addiu $v1, $zero, -1 /* E2807C 802B613C 2442FFFF */ addiu $v0, $v0, -1 /* E28080 802B6140 A6020008 */ sh $v0, 8($s0) /* E28084 802B6144 00021400 */ sll $v0, $v0, 0x10 /* E28088 802B6148 00021403 */ sra $v0, $v0, 0x10 /* E2808C 802B614C 50430001 */ beql $v0, $v1, .L802B6154 /* E28090 802B6150 A20000B6 */ sb $zero, 0xb6($s0) .L802B6154: /* E28094 802B6154 C600002C */ lwc1 $f0, 0x2c($s0) /* E28098 802B6158 3C014080 */ lui $at, 0x4080 /* E2809C 802B615C 44811000 */ mtc1 $at, $f2 /* E280A0 802B6160 00000000 */ nop /* E280A4 802B6164 46020001 */ sub.s $f0, $f0, $f2 /* E280A8 802B6168 080ADA02 */ j .L802B6808 /* E280AC 802B616C E600002C */ swc1 $f0, 0x2c($s0) glabel L802B6170_E280B0 /* E280B0 802B6170 820200BF */ lb $v0, 0xbf($s0) /* E280B4 802B6174 24110001 */ addiu $s1, $zero, 1 /* E280B8 802B6178 1451000C */ bne $v0, $s1, .L802B61AC /* E280BC 802B617C 3C040008 */ lui $a0, 8 /* E280C0 802B6180 0000202D */ daddu $a0, $zero, $zero /* E280C4 802B6184 8E050028 */ lw $a1, 0x28($s0) /* E280C8 802B6188 8E06002C */ lw $a2, 0x2c($s0) /* E280CC 802B618C 8E070030 */ lw $a3, 0x30($s0) /* E280D0 802B6190 3C013F80 */ lui $at, 0x3f80 /* E280D4 802B6194 44810000 */ mtc1 $at, $f0 /* E280D8 802B6198 24020028 */ addiu $v0, $zero, 0x28 /* E280DC 802B619C AFA20014 */ sw $v0, 0x14($sp) /* E280E0 802B61A0 0C01C1CC */ jal func_80070730 /* E280E4 802B61A4 E7A00010 */ swc1 $f0, 0x10($sp) /* E280E8 802B61A8 3C040008 */ lui $a0, 8 .L802B61AC: /* E280EC 802B61AC 0C037FDE */ jal func_800DFF78 /* E280F0 802B61B0 34840002 */ ori $a0, $a0, 2 /* E280F4 802B61B4 3C0141A0 */ lui $at, 0x41a0 /* E280F8 802B61B8 44810000 */ mtc1 $at, $f0 /* E280FC 802B61BC 3C01437A */ lui $at, 0x437a /* E28100 802B61C0 44811000 */ mtc1 $at, $f2 /* E28104 802B61C4 3C01802B */ lui $at, %hi(D_802B68BC) /* E28108 802B61C8 C42468BC */ lwc1 $f4, %lo(D_802B68BC)($at) /* E2810C 802B61CC C6060028 */ lwc1 $f6, 0x28($s0) /* E28110 802B61D0 C6080030 */ lwc1 $f8, 0x30($s0) /* E28114 802B61D4 C60A002C */ lwc1 $f10, 0x2c($s0) /* E28118 802B61D8 8E030000 */ lw $v1, ($s0) /* E2811C 802B61DC 24020002 */ addiu $v0, $zero, 2 /* E28120 802B61E0 AE000074 */ sw $zero, 0x74($s0) /* E28124 802B61E4 A60000C0 */ sh $zero, 0xc0($s0) /* E28128 802B61E8 A60000C2 */ sh $zero, 0xc2($s0) /* E2812C 802B61EC A20200B6 */ sb $v0, 0xb6($s0) /* E28130 802B61F0 A6110008 */ sh $s1, 8($s0) /* E28134 802B61F4 34630002 */ ori $v1, $v1, 2 /* E28138 802B61F8 E6000070 */ swc1 $f0, 0x70($s0) /* E2813C 802B61FC E6020078 */ swc1 $f2, 0x78($s0) /* E28140 802B6200 E604007C */ swc1 $f4, 0x7c($s0) /* E28144 802B6204 E606003C */ swc1 $f6, 0x3c($s0) /* E28148 802B6208 E6080040 */ swc1 $f8, 0x40($s0) /* E2814C 802B620C E60A004C */ swc1 $f10, 0x4c($s0) /* E28150 802B6210 080ADA02 */ j .L802B6808 /* E28154 802B6214 AE030000 */ sw $v1, ($s0) glabel L802B6218_E28158 /* E28158 802B6218 96020008 */ lhu $v0, 8($s0) /* E2815C 802B621C 2442FFFF */ addiu $v0, $v0, -1 /* E28160 802B6220 A6020008 */ sh $v0, 8($s0) /* E28164 802B6224 00021400 */ sll $v0, $v0, 0x10 /* E28168 802B6228 1C400177 */ bgtz $v0, .L802B6808 /* E2816C 802B622C 00000000 */ nop /* E28170 802B6230 920200B6 */ lbu $v0, 0xb6($s0) /* E28174 802B6234 080AD9ED */ j .L802B67B4 /* E28178 802B6238 24420001 */ addiu $v0, $v0, 1 glabel L802B623C_E2817C /* E2817C 802B623C 820300BF */ lb $v1, 0xbf($s0) /* E28180 802B6240 24020001 */ addiu $v0, $zero, 1 /* E28184 802B6244 1462000F */ bne $v1, $v0, .L802B6284 /* E28188 802B6248 00000000 */ nop /* E2818C 802B624C 960200C0 */ lhu $v0, 0xc0($s0) /* E28190 802B6250 30420001 */ andi $v0, $v0, 1 /* E28194 802B6254 1440000B */ bnez $v0, .L802B6284 /* E28198 802B6258 0000202D */ daddu $a0, $zero, $zero /* E2819C 802B625C 8E050028 */ lw $a1, 0x28($s0) /* E281A0 802B6260 8E06002C */ lw $a2, 0x2c($s0) /* E281A4 802B6264 8E070030 */ lw $a3, 0x30($s0) /* E281A8 802B6268 3C013F33 */ lui $at, 0x3f33 /* E281AC 802B626C 34213333 */ ori $at, $at, 0x3333 /* E281B0 802B6270 44810000 */ mtc1 $at, $f0 /* E281B4 802B6274 24020012 */ addiu $v0, $zero, 0x12 /* E281B8 802B6278 AFA20014 */ sw $v0, 0x14($sp) /* E281BC 802B627C 0C01C1CC */ jal func_80070730 /* E281C0 802B6280 E7A00010 */ swc1 $f0, 0x10($sp) .L802B6284: /* E281C4 802B6284 C600007C */ lwc1 $f0, 0x7c($s0) /* E281C8 802B6288 C6020078 */ lwc1 $f2, 0x78($s0) /* E281CC 802B628C 46020080 */ add.s $f2, $f0, $f2 /* E281D0 802B6290 C600002C */ lwc1 $f0, 0x2c($s0) /* E281D4 802B6294 4602003C */ c.lt.s $f0, $f2 /* E281D8 802B6298 00000000 */ nop /* E281DC 802B629C 45000034 */ bc1f .L802B6370 /* E281E0 802B62A0 27A50018 */ addiu $a1, $sp, 0x18 /* E281E4 802B62A4 3C12802B */ lui $s2, %hi(D_802B68B4) /* E281E8 802B62A8 265268B4 */ addiu $s2, $s2, %lo(D_802B68B4) /* E281EC 802B62AC C64C0000 */ lwc1 $f12, ($s2) /* E281F0 802B62B0 3C0140C9 */ lui $at, 0x40c9 /* E281F4 802B62B4 34210FD0 */ ori $at, $at, 0xfd0 /* E281F8 802B62B8 4481B000 */ mtc1 $at, $f22 /* E281FC 802B62BC 00000000 */ nop /* E28200 802B62C0 46166302 */ mul.s $f12, $f12, $f22 /* E28204 802B62C4 00000000 */ nop /* E28208 802B62C8 3C0143B4 */ lui $at, 0x43b4 /* E2820C 802B62CC 4481A000 */ mtc1 $at, $f20 /* E28210 802B62D0 27A6001C */ addiu $a2, $sp, 0x1c /* E28214 802B62D4 0C00A82D */ jal sin_cos_rad /* E28218 802B62D8 46146303 */ div.s $f12, $f12, $f20 /* E2821C 802B62DC C64C0000 */ lwc1 $f12, ($s2) /* E28220 802B62E0 46166302 */ mul.s $f12, $f12, $f22 /* E28224 802B62E4 00000000 */ nop /* E28228 802B62E8 0C00A85B */ jal sin_rad /* E2822C 802B62EC 46146303 */ div.s $f12, $f12, $f20 /* E28230 802B62F0 3C014180 */ lui $at, 0x4180 /* E28234 802B62F4 44811000 */ mtc1 $at, $f2 /* E28238 802B62F8 00000000 */ nop /* E2823C 802B62FC 46020002 */ mul.s $f0, $f0, $f2 /* E28240 802B6300 00000000 */ nop /* E28244 802B6304 3C01BF80 */ lui $at, 0xbf80 /* E28248 802B6308 44811000 */ mtc1 $at, $f2 /* E2824C 802B630C 3C11802B */ lui $s1, %hi(D_802B68B0) /* E28250 802B6310 263168B0 */ addiu $s1, $s1, %lo(D_802B68B0) /* E28254 802B6314 4602003C */ c.lt.s $f0, $f2 /* E28258 802B6318 00000000 */ nop /* E2825C 802B631C 45000002 */ bc1f .L802B6328 /* E28260 802B6320 E6200000 */ swc1 $f0, ($s1) /* E28264 802B6324 E6220000 */ swc1 $f2, ($s1) .L802B6328: /* E28268 802B6328 C604002C */ lwc1 $f4, 0x2c($s0) /* E2826C 802B632C C6200000 */ lwc1 $f0, ($s1) /* E28270 802B6330 C6420000 */ lwc1 $f2, ($s2) /* E28274 802B6334 46002100 */ add.s $f4, $f4, $f0 /* E28278 802B6338 3C014040 */ lui $at, 0x4040 /* E2827C 802B633C 44810000 */ mtc1 $at, $f0 /* E28280 802B6340 00000000 */ nop /* E28284 802B6344 46001080 */ add.s $f2, $f2, $f0 /* E28288 802B6348 3C014334 */ lui $at, 0x4334 /* E2828C 802B634C 44810000 */ mtc1 $at, $f0 /* E28290 802B6350 E604002C */ swc1 $f4, 0x2c($s0) /* E28294 802B6354 4602003C */ c.lt.s $f0, $f2 /* E28298 802B6358 00000000 */ nop /* E2829C 802B635C 4500012A */ bc1f .L802B6808 /* E282A0 802B6360 E6420000 */ swc1 $f2, ($s2) /* E282A4 802B6364 920200B6 */ lbu $v0, 0xb6($s0) /* E282A8 802B6368 080AD9EC */ j .L802B67B0 /* E282AC 802B636C E6400000 */ swc1 $f0, ($s2) .L802B6370: /* E282B0 802B6370 920200B6 */ lbu $v0, 0xb6($s0) /* E282B4 802B6374 080AD9EC */ j .L802B67B0 /* E282B8 802B6378 E602002C */ swc1 $f2, 0x2c($s0) glabel L802B637C_E282BC /* E282BC 802B637C 820300BF */ lb $v1, 0xbf($s0) /* E282C0 802B6380 24020001 */ addiu $v0, $zero, 1 /* E282C4 802B6384 14620011 */ bne $v1, $v0, .L802B63CC /* E282C8 802B6388 27A40020 */ addiu $a0, $sp, 0x20 /* E282CC 802B638C 960200C0 */ lhu $v0, 0xc0($s0) /* E282D0 802B6390 30420001 */ andi $v0, $v0, 1 /* E282D4 802B6394 1440000E */ bnez $v0, .L802B63D0 /* E282D8 802B6398 27A50024 */ addiu $a1, $sp, 0x24 /* E282DC 802B639C 0000202D */ daddu $a0, $zero, $zero /* E282E0 802B63A0 8E050028 */ lw $a1, 0x28($s0) /* E282E4 802B63A4 8E06002C */ lw $a2, 0x2c($s0) /* E282E8 802B63A8 8E070030 */ lw $a3, 0x30($s0) /* E282EC 802B63AC 3C013F33 */ lui $at, 0x3f33 /* E282F0 802B63B0 34213333 */ ori $at, $at, 0x3333 /* E282F4 802B63B4 44810000 */ mtc1 $at, $f0 /* E282F8 802B63B8 24020012 */ addiu $v0, $zero, 0x12 /* E282FC 802B63BC AFA20014 */ sw $v0, 0x14($sp) /* E28300 802B63C0 0C01C1CC */ jal func_80070730 /* E28304 802B63C4 E7A00010 */ swc1 $f0, 0x10($sp) /* E28308 802B63C8 27A40020 */ addiu $a0, $sp, 0x20 .L802B63CC: /* E2830C 802B63CC 27A50024 */ addiu $a1, $sp, 0x24 .L802B63D0: /* E28310 802B63D0 0C0B27F5 */ jal func_802C9FD4 /* E28314 802B63D4 27A60028 */ addiu $a2, $sp, 0x28 /* E28318 802B63D8 14400005 */ bnez $v0, .L802B63F0 /* E2831C 802B63DC 00000000 */ nop /* E28320 802B63E0 C6000028 */ lwc1 $f0, 0x28($s0) /* E28324 802B63E4 C6020030 */ lwc1 $f2, 0x30($s0) /* E28328 802B63E8 E7A00020 */ swc1 $f0, 0x20($sp) /* E2832C 802B63EC E7A20028 */ swc1 $f2, 0x28($sp) .L802B63F0: /* E28330 802B63F0 C7A00020 */ lwc1 $f0, 0x20($sp) /* E28334 802B63F4 C602002C */ lwc1 $f2, 0x2c($s0) /* E28338 802B63F8 3C013DEA */ lui $at, 0x3dea /* E2833C 802B63FC 3421161E */ ori $at, $at, 0x161e /* E28340 802B6400 44812000 */ mtc1 $at, $f4 /* E28344 802B6404 3C01BE92 */ lui $at, 0xbe92 /* E28348 802B6408 3421FEC5 */ ori $at, $at, 0xfec5 /* E2834C 802B640C 44813000 */ mtc1 $at, $f6 /* E28350 802B6410 3C01BE3A */ lui $at, 0xbe3a /* E28354 802B6414 3421ACDA */ ori $at, $at, 0xacda /* E28358 802B6418 44814000 */ mtc1 $at, $f8 /* E2835C 802B641C 3C013C3C */ lui $at, 0x3c3c /* E28360 802B6420 3421BE62 */ ori $at, $at, 0xbe62 /* E28364 802B6424 44815000 */ mtc1 $at, $f10 /* E28368 802B6428 920300B6 */ lbu $v1, 0xb6($s0) /* E2836C 802B642C 4600040D */ trunc.w.s $f16, $f0 /* E28370 802B6430 44028000 */ mfc1 $v0, $f16 /* E28374 802B6434 00000000 */ nop /* E28378 802B6438 A6020016 */ sh $v0, 0x16($s0) /* E2837C 802B643C C7A00028 */ lwc1 $f0, 0x28($sp) /* E28380 802B6440 24630001 */ addiu $v1, $v1, 1 /* E28384 802B6444 E6020050 */ swc1 $f2, 0x50($s0) /* E28388 802B6448 E6040070 */ swc1 $f4, 0x70($s0) /* E2838C 802B644C E6060074 */ swc1 $f6, 0x74($s0) /* E28390 802B6450 E6080078 */ swc1 $f8, 0x78($s0) /* E28394 802B6454 E60A007C */ swc1 $f10, 0x7c($s0) /* E28398 802B6458 A20300B6 */ sb $v1, 0xb6($s0) /* E2839C 802B645C 4600040D */ trunc.w.s $f16, $f0 /* E283A0 802B6460 44028000 */ mfc1 $v0, $f16 /* E283A4 802B6464 080ADA02 */ j .L802B6808 /* E283A8 802B6468 A602001A */ sh $v0, 0x1a($s0) glabel L802B646C_E283AC /* E283AC 802B646C C60C0028 */ lwc1 $f12, 0x28($s0) /* E283B0 802B6470 C60E0030 */ lwc1 $f14, 0x30($s0) /* E283B4 802B6474 86020016 */ lh $v0, 0x16($s0) /* E283B8 802B6478 8603001A */ lh $v1, 0x1a($s0) /* E283BC 802B647C 44828000 */ mtc1 $v0, $f16 /* E283C0 802B6480 00000000 */ nop /* E283C4 802B6484 46808420 */ cvt.s.w $f16, $f16 /* E283C8 802B6488 44068000 */ mfc1 $a2, $f16 /* E283CC 802B648C 44838000 */ mtc1 $v1, $f16 /* E283D0 802B6490 00000000 */ nop /* E283D4 802B6494 46808420 */ cvt.s.w $f16, $f16 /* E283D8 802B6498 44078000 */ mfc1 $a3, $f16 /* E283DC 802B649C 0C00A720 */ jal atan2 /* E283E0 802B64A0 00000000 */ nop /* E283E4 802B64A4 86020016 */ lh $v0, 0x16($s0) /* E283E8 802B64A8 8603001A */ lh $v1, 0x1a($s0) /* E283EC 802B64AC 3C01802B */ lui $at, %hi(D_802B68B8) /* E283F0 802B64B0 E42068B8 */ swc1 $f0, %lo(D_802B68B8)($at) /* E283F4 802B64B4 44826000 */ mtc1 $v0, $f12 /* E283F8 802B64B8 00000000 */ nop /* E283FC 802B64BC 46806320 */ cvt.s.w $f12, $f12 /* E28400 802B64C0 44837000 */ mtc1 $v1, $f14 /* E28404 802B64C4 00000000 */ nop /* E28408 802B64C8 0C038022 */ jal func_800E0088 /* E2840C 802B64CC 468073A0 */ cvt.s.w $f14, $f14 /* E28410 802B64D0 3C014190 */ lui $at, 0x4190 /* E28414 802B64D4 44811000 */ mtc1 $at, $f2 /* E28418 802B64D8 920200B6 */ lbu $v0, 0xb6($s0) /* E2841C 802B64DC 46020003 */ div.s $f0, $f0, $f2 /* E28420 802B64E0 24420001 */ addiu $v0, $v0, 1 /* E28424 802B64E4 E6000054 */ swc1 $f0, 0x54($s0) /* E28428 802B64E8 080ADA02 */ j .L802B6808 /* E2842C 802B64EC A20200B6 */ sb $v0, 0xb6($s0) glabel L802B64F0_E28430 /* E28430 802B64F0 C60C0028 */ lwc1 $f12, 0x28($s0) /* E28434 802B64F4 C60E0030 */ lwc1 $f14, 0x30($s0) /* E28438 802B64F8 86020016 */ lh $v0, 0x16($s0) /* E2843C 802B64FC 8603001A */ lh $v1, 0x1a($s0) /* E28440 802B6500 44828000 */ mtc1 $v0, $f16 /* E28444 802B6504 00000000 */ nop /* E28448 802B6508 46808420 */ cvt.s.w $f16, $f16 /* E2844C 802B650C 44068000 */ mfc1 $a2, $f16 /* E28450 802B6510 44838000 */ mtc1 $v1, $f16 /* E28454 802B6514 00000000 */ nop /* E28458 802B6518 46808420 */ cvt.s.w $f16, $f16 /* E2845C 802B651C 44078000 */ mfc1 $a3, $f16 /* E28460 802B6520 0C00A720 */ jal atan2 /* E28464 802B6524 00000000 */ nop /* E28468 802B6528 3C0140C9 */ lui $at, 0x40c9 /* E2846C 802B652C 34210FD0 */ ori $at, $at, 0xfd0 /* E28470 802B6530 44811000 */ mtc1 $at, $f2 /* E28474 802B6534 00000000 */ nop /* E28478 802B6538 46020082 */ mul.s $f2, $f0, $f2 /* E2847C 802B653C 00000000 */ nop /* E28480 802B6540 3C0143B4 */ lui $at, 0x43b4 /* E28484 802B6544 44812000 */ mtc1 $at, $f4 /* E28488 802B6548 3C01802B */ lui $at, %hi(D_802B68B8) /* E2848C 802B654C E42068B8 */ swc1 $f0, %lo(D_802B68B8)($at) /* E28490 802B6550 46041503 */ div.s $f20, $f2, $f4 /* E28494 802B6554 0C00A85B */ jal sin_rad /* E28498 802B6558 4600A306 */ mov.s $f12, $f20 /* E2849C 802B655C C6020054 */ lwc1 $f2, 0x54($s0) /* E284A0 802B6560 46001102 */ mul.s $f4, $f2, $f0 /* E284A4 802B6564 00000000 */ nop /* E284A8 802B6568 C6000028 */ lwc1 $f0, 0x28($s0) /* E284AC 802B656C 44801000 */ mtc1 $zero, $f2 /* E284B0 802B6570 46040000 */ add.s $f0, $f0, $f4 /* E284B4 802B6574 AFA0002C */ sw $zero, 0x2c($sp) /* E284B8 802B6578 4604103E */ c.le.s $f2, $f4 /* E284BC 802B657C 00000000 */ nop /* E284C0 802B6580 45000008 */ bc1f .L802B65A4 /* E284C4 802B6584 E6000028 */ swc1 $f0, 0x28($s0) /* E284C8 802B6588 86020016 */ lh $v0, 0x16($s0) /* E284CC 802B658C 44821000 */ mtc1 $v0, $f2 /* E284D0 802B6590 00000000 */ nop /* E284D4 802B6594 468010A0 */ cvt.s.w $f2, $f2 /* E284D8 802B6598 4600103E */ c.le.s $f2, $f0 /* E284DC 802B659C 080AD970 */ j .L802B65C0 /* E284E0 802B65A0 00000000 */ nop .L802B65A4: /* E284E4 802B65A4 86020016 */ lh $v0, 0x16($s0) /* E284E8 802B65A8 C6000028 */ lwc1 $f0, 0x28($s0) /* E284EC 802B65AC 44821000 */ mtc1 $v0, $f2 /* E284F0 802B65B0 00000000 */ nop /* E284F4 802B65B4 468010A0 */ cvt.s.w $f2, $f2 /* E284F8 802B65B8 4602003E */ c.le.s $f0, $f2 /* E284FC 802B65BC 00000000 */ nop .L802B65C0: /* E28500 802B65C0 45000003 */ bc1f .L802B65D0 /* E28504 802B65C4 24020001 */ addiu $v0, $zero, 1 /* E28508 802B65C8 E6020028 */ swc1 $f2, 0x28($s0) /* E2850C 802B65CC AFA2002C */ sw $v0, 0x2c($sp) .L802B65D0: /* E28510 802B65D0 0C00A874 */ jal cos_rad /* E28514 802B65D4 4600A306 */ mov.s $f12, $f20 /* E28518 802B65D8 C6020054 */ lwc1 $f2, 0x54($s0) /* E2851C 802B65DC 46001102 */ mul.s $f4, $f2, $f0 /* E28520 802B65E0 00000000 */ nop /* E28524 802B65E4 C6000030 */ lwc1 $f0, 0x30($s0) /* E28528 802B65E8 46040081 */ sub.s $f2, $f0, $f4 /* E2852C 802B65EC 44800000 */ mtc1 $zero, $f0 /* E28530 802B65F0 00000000 */ nop /* E28534 802B65F4 4604003E */ c.le.s $f0, $f4 /* E28538 802B65F8 00000000 */ nop /* E2853C 802B65FC 45000008 */ bc1f .L802B6620 /* E28540 802B6600 E6020030 */ swc1 $f2, 0x30($s0) /* E28544 802B6604 8602001A */ lh $v0, 0x1a($s0) /* E28548 802B6608 44820000 */ mtc1 $v0, $f0 /* E2854C 802B660C 00000000 */ nop /* E28550 802B6610 46800020 */ cvt.s.w $f0, $f0 /* E28554 802B6614 4600103E */ c.le.s $f2, $f0 /* E28558 802B6618 080AD98E */ j .L802B6638 /* E2855C 802B661C 00000000 */ nop .L802B6620: /* E28560 802B6620 8602001A */ lh $v0, 0x1a($s0) /* E28564 802B6624 44820000 */ mtc1 $v0, $f0 /* E28568 802B6628 00000000 */ nop /* E2856C 802B662C 46800020 */ cvt.s.w $f0, $f0 /* E28570 802B6630 4602003E */ c.le.s $f0, $f2 /* E28574 802B6634 00000000 */ nop .L802B6638: /* E28578 802B6638 45000005 */ bc1f .L802B6650 /* E2857C 802B663C 00000000 */ nop /* E28580 802B6640 8FA2002C */ lw $v0, 0x2c($sp) /* E28584 802B6644 E6000030 */ swc1 $f0, 0x30($s0) /* E28588 802B6648 24420001 */ addiu $v0, $v0, 1 /* E2858C 802B664C AFA2002C */ sw $v0, 0x2c($sp) .L802B6650: /* E28590 802B6650 8FA3002C */ lw $v1, 0x2c($sp) /* E28594 802B6654 24020002 */ addiu $v0, $zero, 2 /* E28598 802B6658 1462006B */ bne $v1, $v0, .L802B6808 /* E2859C 802B665C 00000000 */ nop /* E285A0 802B6660 920200B6 */ lbu $v0, 0xb6($s0) /* E285A4 802B6664 080AD9ED */ j .L802B67B4 /* E285A8 802B6668 24420001 */ addiu $v0, $v0, 1 glabel L802B666C_E285AC /* E285AC 802B666C 820300BF */ lb $v1, 0xbf($s0) /* E285B0 802B6670 24020001 */ addiu $v0, $zero, 1 /* E285B4 802B6674 1462000F */ bne $v1, $v0, .L802B66B4 /* E285B8 802B6678 00000000 */ nop /* E285BC 802B667C 960200C0 */ lhu $v0, 0xc0($s0) /* E285C0 802B6680 30420001 */ andi $v0, $v0, 1 /* E285C4 802B6684 1440000B */ bnez $v0, .L802B66B4 /* E285C8 802B6688 0000202D */ daddu $a0, $zero, $zero /* E285CC 802B668C 8E050028 */ lw $a1, 0x28($s0) /* E285D0 802B6690 8E06002C */ lw $a2, 0x2c($s0) /* E285D4 802B6694 8E070030 */ lw $a3, 0x30($s0) /* E285D8 802B6698 3C013F33 */ lui $at, 0x3f33 /* E285DC 802B669C 34213333 */ ori $at, $at, 0x3333 /* E285E0 802B66A0 44810000 */ mtc1 $at, $f0 /* E285E4 802B66A4 24020012 */ addiu $v0, $zero, 0x12 /* E285E8 802B66A8 AFA20014 */ sw $v0, 0x14($sp) /* E285EC 802B66AC 0C01C1CC */ jal func_80070730 /* E285F0 802B66B0 E7A00010 */ swc1 $f0, 0x10($sp) .L802B66B4: /* E285F4 802B66B4 0C038D36 */ jal func_800E34D8 /* E285F8 802B66B8 00000000 */ nop /* E285FC 802B66BC 46000306 */ mov.s $f12, $f0 /* E28600 802B66C0 0C038D45 */ jal func_800E3514 /* E28604 802B66C4 27A5002C */ addiu $a1, $sp, 0x2c /* E28608 802B66C8 8FA2002C */ lw $v0, 0x2c($sp) /* E2860C 802B66CC 0440004E */ bltz $v0, .L802B6808 /* E28610 802B66D0 E600002C */ swc1 $f0, 0x2c($s0) /* E28614 802B66D4 0000202D */ daddu $a0, $zero, $zero /* E28618 802B66D8 24050002 */ addiu $a1, $zero, 2 /* E2861C 802B66DC 3C073F4C */ lui $a3, 0x3f4c /* E28620 802B66E0 34E7CCCD */ ori $a3, $a3, 0xcccd /* E28624 802B66E4 0C0B2D72 */ jal exec_ShakeCamX /* E28628 802B66E8 24060001 */ addiu $a2, $zero, 1 /* E2862C 802B66EC 24040100 */ addiu $a0, $zero, 0x100 /* E28630 802B66F0 0C00A3C2 */ jal start_rumble /* E28634 802B66F4 24050032 */ addiu $a1, $zero, 0x32 /* E28638 802B66F8 0C03954C */ jal func_800E5530 /* E2863C 802B66FC 00000000 */ nop /* E28640 802B6700 240403FB */ addiu $a0, $zero, 0x3fb /* E28644 802B6704 3C03800B */ lui $v1, %hi(gCameras) /* E28648 802B6708 24631D80 */ addiu $v1, $v1, %lo(gCameras) /* E2864C 802B670C 94620002 */ lhu $v0, 2($v1) /* E28650 802B6710 0000282D */ daddu $a1, $zero, $zero /* E28654 802B6714 3042FFFD */ andi $v0, $v0, 0xfffd /* E28658 802B6718 0C052736 */ jal play_sound_at_player /* E2865C 802B671C A4620002 */ sh $v0, 2($v1) /* E28660 802B6720 3C040008 */ lui $a0, 8 /* E28664 802B6724 0C037FDE */ jal func_800DFF78 /* E28668 802B6728 3484001A */ ori $a0, $a0, 0x1a /* E2866C 802B672C 8E020000 */ lw $v0, ($s0) /* E28670 802B6730 3C0140C0 */ lui $at, 0x40c0 /* E28674 802B6734 44811000 */ mtc1 $at, $f2 /* E28678 802B6738 C600002C */ lwc1 $f0, 0x2c($s0) /* E2867C 802B673C 2403F7FF */ addiu $v1, $zero, -0x801 /* E28680 802B6740 A20000BF */ sb $zero, 0xbf($s0) /* E28684 802B6744 00431024 */ and $v0, $v0, $v1 /* E28688 802B6748 2403FFF7 */ addiu $v1, $zero, -9 /* E2868C 802B674C 00431024 */ and $v0, $v0, $v1 /* E28690 802B6750 AE020000 */ sw $v0, ($s0) /* E28694 802B6754 920200B6 */ lbu $v0, 0xb6($s0) /* E28698 802B6758 46020000 */ add.s $f0, $f0, $f2 /* E2869C 802B675C E6020070 */ swc1 $f2, 0x70($s0) /* E286A0 802B6760 24420001 */ addiu $v0, $v0, 1 /* E286A4 802B6764 A20200B6 */ sb $v0, 0xb6($s0) /* E286A8 802B6768 080ADA02 */ j .L802B6808 /* E286AC 802B676C E600002C */ swc1 $f0, 0x2c($s0) glabel L802B6770_E286B0 /* E286B0 802B6770 C60C0070 */ lwc1 $f12, 0x70($s0) /* E286B4 802B6774 3C013FF0 */ lui $at, 0x3ff0 /* E286B8 802B6778 44810800 */ mtc1 $at, $f1 /* E286BC 802B677C 44800000 */ mtc1 $zero, $f0 /* E286C0 802B6780 46006321 */ cvt.d.s $f12, $f12 /* E286C4 802B6784 46206301 */ sub.d $f12, $f12, $f0 /* E286C8 802B6788 27A5002C */ addiu $a1, $sp, 0x2c /* E286CC 802B678C 46206320 */ cvt.s.d $f12, $f12 /* E286D0 802B6790 0C038D45 */ jal func_800E3514 /* E286D4 802B6794 E60C0070 */ swc1 $f12, 0x70($s0) /* E286D8 802B6798 8FA2002C */ lw $v0, 0x2c($sp) /* E286DC 802B679C 0440001A */ bltz $v0, .L802B6808 /* E286E0 802B67A0 E600002C */ swc1 $f0, 0x2c($s0) /* E286E4 802B67A4 920200B6 */ lbu $v0, 0xb6($s0) /* E286E8 802B67A8 2403000A */ addiu $v1, $zero, 0xa /* E286EC 802B67AC A6030008 */ sh $v1, 8($s0) .L802B67B0: /* E286F0 802B67B0 24420001 */ addiu $v0, $v0, 1 .L802B67B4: /* E286F4 802B67B4 080ADA02 */ j .L802B6808 /* E286F8 802B67B8 A20200B6 */ sb $v0, 0xb6($s0) glabel L802B67BC_E286FC /* E286FC 802B67BC 96020008 */ lhu $v0, 8($s0) /* E28700 802B67C0 2442FFFF */ addiu $v0, $v0, -1 /* E28704 802B67C4 A6020008 */ sh $v0, 8($s0) /* E28708 802B67C8 00021400 */ sll $v0, $v0, 0x10 /* E2870C 802B67CC 1C40000E */ bgtz $v0, .L802B6808 /* E28710 802B67D0 00000000 */ nop /* E28714 802B67D4 0C039769 */ jal set_action_state /* E28718 802B67D8 2404000A */ addiu $a0, $zero, 0xa /* E2871C 802B67DC 3C03FF7F */ lui $v1, 0xff7f /* E28720 802B67E0 3463FFFF */ ori $v1, $v1, 0xffff /* E28724 802B67E4 8E020000 */ lw $v0, ($s0) /* E28728 802B67E8 3C04800A */ lui $a0, %hi(D_8009A650) /* E2872C 802B67EC 2484A650 */ addiu $a0, $a0, %lo(D_8009A650) /* E28730 802B67F0 00431024 */ and $v0, $v0, $v1 /* E28734 802B67F4 AE020000 */ sw $v0, ($s0) /* E28738 802B67F8 8C820000 */ lw $v0, ($a0) /* E2873C 802B67FC 2403FFBF */ addiu $v1, $zero, -0x41 /* E28740 802B6800 00431024 */ and $v0, $v0, $v1 /* E28744 802B6804 AC820000 */ sw $v0, ($a0) .L802B6808: glabel L802B6808_E28748 /* E28748 802B6808 820200B6 */ lb $v0, 0xb6($s0) /* E2874C 802B680C 28420007 */ slti $v0, $v0, 7 /* E28750 802B6810 10400004 */ beqz $v0, .L802B6824 /* E28754 802B6814 00000000 */ nop /* E28758 802B6818 960200C0 */ lhu $v0, 0xc0($s0) /* E2875C 802B681C 24420001 */ addiu $v0, $v0, 1 /* E28760 802B6820 A60200C0 */ sh $v0, 0xc0($s0) .L802B6824: /* E28764 802B6824 8FBF003C */ lw $ra, 0x3c($sp) /* E28768 802B6828 8FB20038 */ lw $s2, 0x38($sp) /* E2876C 802B682C 8FB10034 */ lw $s1, 0x34($sp) /* E28770 802B6830 8FB00030 */ lw $s0, 0x30($sp) /* E28774 802B6834 D7B60048 */ ldc1 $f22, 0x48($sp) /* E28778 802B6838 D7B40040 */ ldc1 $f20, 0x40($sp) /* E2877C 802B683C 03E00008 */ jr $ra /* E28780 802B6840 27BD0050 */ addiu $sp, $sp, 0x50 /* E28784 802B6844 00000000 */ nop /* E28788 802B6848 00000000 */ nop /* E2878C 802B684C 00000000 */ nop