Merge branch 'master' into star-rod-0-4-0

This commit is contained in:
Ethan Roseman 2021-02-09 11:53:48 +09:00
commit 6dcaac6f7b
231 changed files with 7326 additions and 1582 deletions

3
.gitignore vendored
View File

@ -15,6 +15,7 @@ expected/
# Build artifacts
build.ninja
*.ld
*.elf
*.z64
*.Yay0
*.msg.h
@ -28,6 +29,8 @@ build.ninja
# Assets
/*assets
*.bin
*.o
# Star Rod
/sprite/SpriteTable.xml

View File

@ -31,5 +31,14 @@
},
"files.associations": {
"*.h": "c",
"random": "c",
"array": "c",
"deque": "c",
"string": "c",
"unordered_map": "c",
"vector": "c",
"string_view": "c",
"initializer_list": "c",
"ranges": "c"
},
}

View File

@ -0,0 +1,6 @@
.include "macro.inc"
.section .rodata
glabel D_80097D30
.ascii "File:%s Line:%d %s \n\0\0\0"

File diff suppressed because one or more lines are too long

192
asm/data/code_6F110.data.s Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,10 +0,0 @@
.include "macro.inc"
.section .rodata
glabel D_80097D30
.ascii "File:%s Line:%d %s
\0\0\0"
glabel jtbl_80097D48
.word L800270B4_24B4, L800270E4_24E4, L8002710C_250C, L80027134_2534, L80027168_2568, 0

View File

@ -1,5 +1,11 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .text, "ax"
glabel entry_point
/* 1000 80025C00 3C08800A */ lui $t0, %hi(D_8009A5B0)

View File

@ -116,9 +116,9 @@ glabel L80035814_10C14
/* 10CA0 800358A0 8E040000 */ lw $a0, ($s0)
/* 10CA4 800358A4 84830086 */ lh $v1, 0x86($a0)
/* 10CA8 800358A8 00031900 */ sll $v1, $v1, 4
/* 10CAC 800358AC 3C058009 */ lui $a1, %hi(D_800934F4)
/* 10CAC 800358AC 3C058009 */ lui $a1, %hi(gAreas+0x4)
/* 10CB0 800358B0 00A32821 */ addu $a1, $a1, $v1
/* 10CB4 800358B4 8CA534F4 */ lw $a1, %lo(D_800934F4)($a1)
/* 10CB4 800358B4 8CA534F4 */ lw $a1, %lo(gAreas+0x4)($a1)
/* 10CB8 800358B8 8483008C */ lh $v1, 0x8c($a0)
/* 10CBC 800358BC 0040902D */ daddu $s2, $v0, $zero
/* 10CC0 800358C0 A0800070 */ sb $zero, 0x70($a0)

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel gfxPreNMI_Callback
/* 1B0C 8002670C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 1B10 80026710 24020001 */ addiu $v0, $zero, 1
/* 1B14 80026714 AFBF0010 */ sw $ra, 0x10($sp)
/* 1B18 80026718 3C018007 */ lui $at, %hi(D_80073E00)
/* 1B1C 8002671C AC223E00 */ sw $v0, %lo(D_80073E00)($at)
/* 1B20 80026720 0C018028 */ jal nuContRmbForceStop
/* 1B24 80026724 00000000 */ nop
/* 1B28 80026728 8FBF0010 */ lw $ra, 0x10($sp)
/* 1B2C 8002672C 03E00008 */ jr $ra
/* 1B30 80026730 27BD0018 */ addiu $sp, $sp, 0x18
/* 1B34 80026734 00000000 */ nop
/* 1B38 80026738 00000000 */ nop
/* 1B3C 8002673C 00000000 */ nop

View File

@ -1,73 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel gfxRetrace_Callback
/* 145C 8002605C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 1460 80026060 AFB10014 */ sw $s1, 0x14($sp)
/* 1464 80026064 3C118007 */ lui $s1, %hi(D_80073E00)
/* 1468 80026068 26313E00 */ addiu $s1, $s1, %lo(D_80073E00)
/* 146C 8002606C AFBF0018 */ sw $ra, 0x18($sp)
/* 1470 80026070 AFB00010 */ sw $s0, 0x10($sp)
/* 1474 80026074 8E230000 */ lw $v1, ($s1)
/* 1478 80026078 10600022 */ beqz $v1, .L80026104
/* 147C 8002607C 0080802D */ daddu $s0, $a0, $zero
/* 1480 80026080 24020001 */ addiu $v0, $zero, 1
/* 1484 80026084 14620016 */ bne $v1, $v0, .L800260E0
/* 1488 80026088 00000000 */ nop
/* 148C 8002608C 0C017CB4 */ jal nuGfxTaskAllEndWait
/* 1490 80026090 00000000 */ nop
/* 1494 80026094 16000012 */ bnez $s0, .L800260E0
/* 1498 80026098 00000000 */ nop
/* 149C 8002609C 0C019A6C */ jal osViGetCurrentFramebuffer
/* 14A0 800260A0 00000000 */ nop
/* 14A4 800260A4 3C10800A */ lui $s0, %hi(D_8009A680)
/* 14A8 800260A8 2610A680 */ addiu $s0, $s0, %lo(D_8009A680)
/* 14AC 800260AC 0200202D */ daddu $a0, $s0, $zero
/* 14B0 800260B0 AE020008 */ sw $v0, 8($s0)
/* 14B4 800260B4 AE020004 */ sw $v0, 4($s0)
/* 14B8 800260B8 AE020000 */ sw $v0, ($s0)
/* 14BC 800260BC 3C018007 */ lui $at, %hi(D_80073E04)
/* 14C0 800260C0 AC223E04 */ sw $v0, %lo(D_80073E04)($at)
/* 14C4 800260C4 0C017CBC */ jal nuGfxSetCfb
/* 14C8 800260C8 24050003 */ addiu $a1, $zero, 3
/* 14CC 800260CC 8E040000 */ lw $a0, ($s0)
/* 14D0 800260D0 0C019C08 */ jal osViSwapBuffer
/* 14D4 800260D4 00000000 */ nop
/* 14D8 800260D8 24020002 */ addiu $v0, $zero, 2
/* 14DC 800260DC AE220000 */ sw $v0, ($s1)
.L800260E0:
/* 14E0 800260E0 3C038007 */ lui $v1, %hi(D_80073E00)
/* 14E4 800260E4 8C633E00 */ lw $v1, %lo(D_80073E00)($v1)
/* 14E8 800260E8 24020002 */ addiu $v0, $zero, 2
/* 14EC 800260EC 14620018 */ bne $v1, $v0, .L80026150
/* 14F0 800260F0 00000000 */ nop
/* 14F4 800260F4 0C009859 */ jal gfx_task_main
/* 14F8 800260F8 00000000 */ nop
/* 14FC 800260FC 08009854 */ j .L80026150
/* 1500 80026100 00000000 */ nop
.L80026104:
/* 1504 80026104 3C038007 */ lui $v1, %hi(D_80073E0A)
/* 1508 80026108 24633E0A */ addiu $v1, $v1, %lo(D_80073E0A)
/* 150C 8002610C 94620000 */ lhu $v0, ($v1)
/* 1510 80026110 38420001 */ xori $v0, $v0, 1
/* 1514 80026114 1440000E */ bnez $v0, .L80026150
/* 1518 80026118 A4620000 */ sh $v0, ($v1)
/* 151C 8002611C 0C0099D0 */ jal step_game_loop
/* 1520 80026120 00000000 */ nop
/* 1524 80026124 3C038007 */ lui $v1, %hi(D_80073E08)
/* 1528 80026128 24633E08 */ addiu $v1, $v1, %lo(D_80073E08)
/* 152C 8002612C 24020001 */ addiu $v0, $zero, 1
/* 1530 80026130 A4620000 */ sh $v0, ($v1)
/* 1534 80026134 2A020003 */ slti $v0, $s0, 3
/* 1538 80026138 10400005 */ beqz $v0, .L80026150
/* 153C 8002613C 00000000 */ nop
/* 1540 80026140 0C009A7B */ jal gfx_task_background
/* 1544 80026144 A4600000 */ sh $zero, ($v1)
/* 1548 80026148 0C009AC2 */ jal gfx_draw_frame
/* 154C 8002614C 00000000 */ nop
.L80026150:
/* 1550 80026150 8FBF0018 */ lw $ra, 0x18($sp)
/* 1554 80026154 8FB10014 */ lw $s1, 0x14($sp)
/* 1558 80026158 8FB00010 */ lw $s0, 0x10($sp)
/* 155C 8002615C 03E00008 */ jr $ra
/* 1560 80026160 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -12,9 +12,9 @@ glabel LoadBattleDmaData
/* 181F20 80253640 9084C4EA */ lbu $a0, %lo(gBattleStatus+0x47A)($a0)
/* 181F24 80253644 00621821 */ addu $v1, $v1, $v0
/* 181F28 80253648 00042140 */ sll $a0, $a0, 5
/* 181F2C 8025364C 3C028009 */ lui $v0, %hi(D_80095A4C)
/* 181F2C 8025364C 3C028009 */ lui $v0, %hi(gBattleAreas+0x1C)
/* 181F30 80253650 00441021 */ addu $v0, $v0, $a0
/* 181F34 80253654 8C425A4C */ lw $v0, %lo(D_80095A4C)($v0)
/* 181F34 80253654 8C425A4C */ lw $v0, %lo(gBattleAreas+0x1C)($v0)
/* 181F38 80253658 00031880 */ sll $v1, $v1, 2
/* 181F3C 8025365C 00431021 */ addu $v0, $v0, $v1
/* 181F40 80253660 5040000E */ beql $v0, $zero, .L8025369C

View File

@ -7,8 +7,8 @@ glabel LoadBattleSection
/* 1986CC 80269DEC 8C82000C */ lw $v0, 0xc($a0)
/* 1986D0 80269DF0 0C0B1EAF */ jal get_variable
/* 1986D4 80269DF4 8C450000 */ lw $a1, ($v0)
/* 1986D8 80269DF8 3C038009 */ lui $v1, %hi(D_80095A30)
/* 1986DC 80269DFC 24635A30 */ addiu $v1, $v1, %lo(D_80095A30)
/* 1986D8 80269DF8 3C038009 */ lui $v1, %hi(gBattleAreas)
/* 1986DC 80269DFC 24635A30 */ addiu $v1, $v1, %lo(gBattleAreas)
/* 1986E0 80269E00 00021140 */ sll $v0, $v0, 5
/* 1986E4 80269E04 00431021 */ addu $v0, $v0, $v1
/* 1986E8 80269E08 8C440004 */ lw $a0, 4($v0)

View File

@ -1,6 +1,13 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80097D48
.word L800270B4_24B4, L800270E4_24E4, L8002710C_250C, L80027134_2534, L80027168_2568, 0
.section .text
glabel func_80027088
/* 2488 80027088 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 248C 8002708C 0080282D */ daddu $a1, $a0, $zero

179
asm/nonmatchings/code_23680/DoBasicAI.s generated Normal file
View File

@ -0,0 +1,179 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel DoBasicAI
/* 2587C 8004A47C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 25880 8004A480 AFB20038 */ sw $s2, 0x38($sp)
/* 25884 8004A484 0080902D */ daddu $s2, $a0, $zero
/* 25888 8004A488 AFBF0048 */ sw $ra, 0x48($sp)
/* 2588C 8004A48C AFB50044 */ sw $s5, 0x44($sp)
/* 25890 8004A490 AFB40040 */ sw $s4, 0x40($sp)
/* 25894 8004A494 AFB3003C */ sw $s3, 0x3c($sp)
/* 25898 8004A498 AFB10034 */ sw $s1, 0x34($sp)
/* 2589C 8004A49C AFB00030 */ sw $s0, 0x30($sp)
/* 258A0 8004A4A0 8E510148 */ lw $s1, 0x148($s2)
/* 258A4 8004A4A4 86240008 */ lh $a0, 8($s1)
/* 258A8 8004A4A8 0C00EABB */ jal get_npc_unsafe
/* 258AC 8004A4AC 00A0802D */ daddu $s0, $a1, $zero
/* 258B0 8004A4B0 8E43000C */ lw $v1, 0xc($s2)
/* 258B4 8004A4B4 0240202D */ daddu $a0, $s2, $zero
/* 258B8 8004A4B8 8C650000 */ lw $a1, ($v1)
/* 258BC 8004A4BC 0C0B1EAF */ jal get_variable
/* 258C0 8004A4C0 0040A82D */ daddu $s5, $v0, $zero
/* 258C4 8004A4C4 AFA00010 */ sw $zero, 0x10($sp)
/* 258C8 8004A4C8 8E2300D0 */ lw $v1, 0xd0($s1)
/* 258CC 8004A4CC 8C630030 */ lw $v1, 0x30($v1)
/* 258D0 8004A4D0 AFA30014 */ sw $v1, 0x14($sp)
/* 258D4 8004A4D4 8E2300D0 */ lw $v1, 0xd0($s1)
/* 258D8 8004A4D8 8C63001C */ lw $v1, 0x1c($v1)
/* 258DC 8004A4DC AFA30018 */ sw $v1, 0x18($sp)
/* 258E0 8004A4E0 8E2300D0 */ lw $v1, 0xd0($s1)
/* 258E4 8004A4E4 8C630024 */ lw $v1, 0x24($v1)
/* 258E8 8004A4E8 AFA3001C */ sw $v1, 0x1c($sp)
/* 258EC 8004A4EC 8E2300D0 */ lw $v1, 0xd0($s1)
/* 258F0 8004A4F0 8C630028 */ lw $v1, 0x28($v1)
/* 258F4 8004A4F4 27B40010 */ addiu $s4, $sp, 0x10
/* 258F8 8004A4F8 AFA30020 */ sw $v1, 0x20($sp)
/* 258FC 8004A4FC 8E2300D0 */ lw $v1, 0xd0($s1)
/* 25900 8004A500 3C014282 */ lui $at, 0x4282
/* 25904 8004A504 44810000 */ mtc1 $at, $f0
/* 25908 8004A508 8C63002C */ lw $v1, 0x2c($v1)
/* 2590C 8004A50C 0040982D */ daddu $s3, $v0, $zero
/* 25910 8004A510 E7A00028 */ swc1 $f0, 0x28($sp)
/* 25914 8004A514 A7A0002C */ sh $zero, 0x2c($sp)
/* 25918 8004A518 16000005 */ bnez $s0, .L8004A530
/* 2591C 8004A51C AFA30024 */ sw $v1, 0x24($sp)
/* 25920 8004A520 8E2200B0 */ lw $v0, 0xb0($s1)
/* 25924 8004A524 30420004 */ andi $v0, $v0, 4
/* 25928 8004A528 1040002B */ beqz $v0, .L8004A5D8
/* 2592C 8004A52C 00000000 */ nop
.L8004A530:
/* 25930 8004A530 2404F7FF */ addiu $a0, $zero, -0x801
/* 25934 8004A534 AE400070 */ sw $zero, 0x70($s2)
/* 25938 8004A538 A6A0008E */ sh $zero, 0x8e($s5)
/* 2593C 8004A53C 8E2200CC */ lw $v0, 0xcc($s1)
/* 25940 8004A540 8EA30000 */ lw $v1, ($s5)
/* 25944 8004A544 8C420000 */ lw $v0, ($v0)
/* 25948 8004A548 00641824 */ and $v1, $v1, $a0
/* 2594C 8004A54C AEA30000 */ sw $v1, ($s5)
/* 25950 8004A550 AEA20028 */ sw $v0, 0x28($s5)
/* 25954 8004A554 8E2200D0 */ lw $v0, 0xd0($s1)
/* 25958 8004A558 8C420034 */ lw $v0, 0x34($v0)
/* 2595C 8004A55C 54400005 */ bnel $v0, $zero, .L8004A574
/* 25960 8004A560 2402FDFF */ addiu $v0, $zero, -0x201
/* 25964 8004A564 34620200 */ ori $v0, $v1, 0x200
/* 25968 8004A568 2403FFF7 */ addiu $v1, $zero, -9
/* 2596C 8004A56C 0801295F */ j .L8004A57C
/* 25970 8004A570 00431024 */ and $v0, $v0, $v1
.L8004A574:
/* 25974 8004A574 00621024 */ and $v0, $v1, $v0
/* 25978 8004A578 34420008 */ ori $v0, $v0, 8
.L8004A57C:
/* 2597C 8004A57C AEA20000 */ sw $v0, ($s5)
/* 25980 8004A580 8E2200B0 */ lw $v0, 0xb0($s1)
/* 25984 8004A584 30420004 */ andi $v0, $v0, 4
/* 25988 8004A588 10400004 */ beqz $v0, .L8004A59C
/* 2598C 8004A58C 24020063 */ addiu $v0, $zero, 0x63
/* 25990 8004A590 AE420070 */ sw $v0, 0x70($s2)
/* 25994 8004A594 0801296D */ j .L8004A5B4
/* 25998 8004A598 AE400074 */ sw $zero, 0x74($s2)
.L8004A59C:
/* 2599C 8004A59C 8E220000 */ lw $v0, ($s1)
/* 259A0 8004A5A0 3C034000 */ lui $v1, 0x4000
/* 259A4 8004A5A4 00431024 */ and $v0, $v0, $v1
/* 259A8 8004A5A8 10400002 */ beqz $v0, .L8004A5B4
/* 259AC 8004A5AC 2402000C */ addiu $v0, $zero, 0xc
/* 259B0 8004A5B0 AE420070 */ sw $v0, 0x70($s2)
.L8004A5B4:
/* 259B4 8004A5B4 3C05BFFF */ lui $a1, 0xbfff
/* 259B8 8004A5B8 34A5FFFF */ ori $a1, $a1, 0xffff
/* 259BC 8004A5BC 2404FFFB */ addiu $a0, $zero, -5
/* 259C0 8004A5C0 8E2200B0 */ lw $v0, 0xb0($s1)
/* 259C4 8004A5C4 8E230000 */ lw $v1, ($s1)
/* 259C8 8004A5C8 00441024 */ and $v0, $v0, $a0
/* 259CC 8004A5CC 00651824 */ and $v1, $v1, $a1
/* 259D0 8004A5D0 AE2200B0 */ sw $v0, 0xb0($s1)
/* 259D4 8004A5D4 AE230000 */ sw $v1, ($s1)
.L8004A5D8:
/* 259D8 8004A5D8 8E430070 */ lw $v1, 0x70($s2)
/* 259DC 8004A5DC 2C620064 */ sltiu $v0, $v1, 0x64
/* 259E0 8004A5E0 10400038 */ beqz $v0, .L8004A6C4
/* 259E4 8004A5E4 00031080 */ sll $v0, $v1, 2
/* 259E8 8004A5E8 3C01800A */ lui $at, %hi(jtbl_80098728)
/* 259EC 8004A5EC 00220821 */ addu $at, $at, $v0
/* 259F0 8004A5F0 8C228728 */ lw $v0, %lo(jtbl_80098728)($at)
/* 259F4 8004A5F4 00400008 */ jr $v0
/* 259F8 8004A5F8 00000000 */ nop
glabel L8004A5FC_259FC
/* 259FC 8004A5FC 0240202D */ daddu $a0, $s2, $zero
/* 25A00 8004A600 0260282D */ daddu $a1, $s3, $zero
/* 25A04 8004A604 0C012568 */ jal func_800495A0
/* 25A08 8004A608 0280302D */ daddu $a2, $s4, $zero
glabel L8004A60C_25A0C
/* 25A0C 8004A60C 0240202D */ daddu $a0, $s2, $zero
/* 25A10 8004A610 0260282D */ daddu $a1, $s3, $zero
/* 25A14 8004A614 0C0125AE */ jal func_800496B8
/* 25A18 8004A618 0280302D */ daddu $a2, $s4, $zero
/* 25A1C 8004A61C 080129B1 */ j .L8004A6C4
/* 25A20 8004A620 00000000 */ nop
glabel L8004A624_25A24
/* 25A24 8004A624 0240202D */ daddu $a0, $s2, $zero
/* 25A28 8004A628 0260282D */ daddu $a1, $s3, $zero
/* 25A2C 8004A62C 0C0126D1 */ jal base_UnkNpcAIFunc1
/* 25A30 8004A630 0280302D */ daddu $a2, $s4, $zero
glabel L8004A634_25A34
/* 25A34 8004A634 0240202D */ daddu $a0, $s2, $zero
/* 25A38 8004A638 0260282D */ daddu $a1, $s3, $zero
/* 25A3C 8004A63C 0C012701 */ jal func_80049C04
/* 25A40 8004A640 0280302D */ daddu $a2, $s4, $zero
/* 25A44 8004A644 080129B1 */ j .L8004A6C4
/* 25A48 8004A648 00000000 */ nop
glabel L8004A64C_25A4C
/* 25A4C 8004A64C 0240202D */ daddu $a0, $s2, $zero
/* 25A50 8004A650 0260282D */ daddu $a1, $s3, $zero
/* 25A54 8004A654 0C01278F */ jal func_80049E3C
/* 25A58 8004A658 0280302D */ daddu $a2, $s4, $zero
glabel L8004A65C_25A5C
/* 25A5C 8004A65C 0240202D */ daddu $a0, $s2, $zero
/* 25A60 8004A660 0260282D */ daddu $a1, $s3, $zero
/* 25A64 8004A664 0C0127B3 */ jal func_80049ECC
/* 25A68 8004A668 0280302D */ daddu $a2, $s4, $zero
/* 25A6C 8004A66C 080129B1 */ j .L8004A6C4
/* 25A70 8004A670 00000000 */ nop
glabel L8004A674_25A74
/* 25A74 8004A674 0240202D */ daddu $a0, $s2, $zero
/* 25A78 8004A678 0260282D */ daddu $a1, $s3, $zero
/* 25A7C 8004A67C 0C0127DF */ jal func_80049F7C
/* 25A80 8004A680 0280302D */ daddu $a2, $s4, $zero
glabel L8004A684_25A84
/* 25A84 8004A684 0240202D */ daddu $a0, $s2, $zero
/* 25A88 8004A688 0260282D */ daddu $a1, $s3, $zero
/* 25A8C 8004A68C 0C012849 */ jal func_8004A124
/* 25A90 8004A690 0280302D */ daddu $a2, $s4, $zero
/* 25A94 8004A694 8E430070 */ lw $v1, 0x70($s2)
/* 25A98 8004A698 2402000E */ addiu $v0, $zero, 0xe
/* 25A9C 8004A69C 14620009 */ bne $v1, $v0, .L8004A6C4
/* 25AA0 8004A6A0 00000000 */ nop
glabel L8004A6A4_25AA4
/* 25AA4 8004A6A4 0240202D */ daddu $a0, $s2, $zero
/* 25AA8 8004A6A8 0260282D */ daddu $a1, $s3, $zero
/* 25AAC 8004A6AC 0C0128FA */ jal func_8004A3E8
/* 25AB0 8004A6B0 0280302D */ daddu $a2, $s4, $zero
/* 25AB4 8004A6B4 080129B1 */ j .L8004A6C4
/* 25AB8 8004A6B8 00000000 */ nop
glabel L8004A6BC_25ABC
/* 25ABC 8004A6BC 0C0129CF */ jal func_8004A73C
/* 25AC0 8004A6C0 0240202D */ daddu $a0, $s2, $zero
.L8004A6C4:
glabel L8004A6C4_25AC4
/* 25AC4 8004A6C4 8FBF0048 */ lw $ra, 0x48($sp)
/* 25AC8 8004A6C8 8FB50044 */ lw $s5, 0x44($sp)
/* 25ACC 8004A6CC 8FB40040 */ lw $s4, 0x40($sp)
/* 25AD0 8004A6D0 8FB3003C */ lw $s3, 0x3c($sp)
/* 25AD4 8004A6D4 8FB20038 */ lw $s2, 0x38($sp)
/* 25AD8 8004A6D8 8FB10034 */ lw $s1, 0x34($sp)
/* 25ADC 8004A6DC 8FB00030 */ lw $s0, 0x30($sp)
/* 25AE0 8004A6E0 0000102D */ daddu $v0, $zero, $zero
/* 25AE4 8004A6E4 03E00008 */ jr $ra
/* 25AE8 8004A6E8 27BD0050 */ addiu $sp, $sp, 0x50
/* 25AEC 8004A6EC 00000000 */ nop

View File

@ -0,0 +1,62 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80048E34
/* 24234 80048E34 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 24238 80048E38 AFB00010 */ sw $s0, 0x10($sp)
/* 2423C 80048E3C 0080802D */ daddu $s0, $a0, $zero
/* 24240 80048E40 AFB20018 */ sw $s2, 0x18($sp)
/* 24244 80048E44 00A0902D */ daddu $s2, $a1, $zero
/* 24248 80048E48 AFBF001C */ sw $ra, 0x1c($sp)
/* 2424C 80048E4C AFB10014 */ sw $s1, 0x14($sp)
/* 24250 80048E50 8E02003C */ lw $v0, 0x3c($s0)
/* 24254 80048E54 10400005 */ beqz $v0, .L80048E6C
/* 24258 80048E58 00C0882D */ daddu $s1, $a2, $zero
/* 2425C 80048E5C 8E040054 */ lw $a0, 0x54($s0)
/* 24260 80048E60 0C0B102B */ jal kill_script_by_ID
/* 24264 80048E64 00000000 */ nop
/* 24268 80048E68 AE00003C */ sw $zero, 0x3c($s0)
.L80048E6C:
/* 2426C 80048E6C 8E0200BC */ lw $v0, 0xbc($s0)
/* 24270 80048E70 10400004 */ beqz $v0, .L80048E84
/* 24274 80048E74 00000000 */ nop
/* 24278 80048E78 0C0B102B */ jal kill_script_by_ID
/* 2427C 80048E7C 8E0400C0 */ lw $a0, 0xc0($s0)
/* 24280 80048E80 AE0000BC */ sw $zero, 0xbc($s0)
.L80048E84:
/* 24284 80048E84 8E020024 */ lw $v0, 0x24($s0)
/* 24288 80048E88 1040000C */ beqz $v0, .L80048EBC
/* 2428C 80048E8C 2405000A */ addiu $a1, $zero, 0xa
/* 24290 80048E90 0040202D */ daddu $a0, $v0, $zero
/* 24294 80048E94 24060020 */ addiu $a2, $zero, 0x20
/* 24298 80048E98 0C0B0CF8 */ jal start_script
/* 2429C 80048E9C AE1100C8 */ sw $s1, 0xc8($s0)
/* 242A0 80048EA0 0040202D */ daddu $a0, $v0, $zero
/* 242A4 80048EA4 AE04003C */ sw $a0, 0x3c($s0)
/* 242A8 80048EA8 8C820144 */ lw $v0, 0x144($a0)
/* 242AC 80048EAC 86030008 */ lh $v1, 8($s0)
/* 242B0 80048EB0 AE020054 */ sw $v0, 0x54($s0)
/* 242B4 80048EB4 AC83014C */ sw $v1, 0x14c($a0)
/* 242B8 80048EB8 AC900148 */ sw $s0, 0x148($a0)
.L80048EBC:
/* 242BC 80048EBC 8E0200B8 */ lw $v0, 0xb8($s0)
/* 242C0 80048EC0 1040000C */ beqz $v0, .L80048EF4
/* 242C4 80048EC4 2405000A */ addiu $a1, $zero, 0xa
/* 242C8 80048EC8 0040202D */ daddu $a0, $v0, $zero
/* 242CC 80048ECC 24060020 */ addiu $a2, $zero, 0x20
/* 242D0 80048ED0 0C0B0CF8 */ jal start_script
/* 242D4 80048ED4 AE1200C4 */ sw $s2, 0xc4($s0)
/* 242D8 80048ED8 0040202D */ daddu $a0, $v0, $zero
/* 242DC 80048EDC AE0400BC */ sw $a0, 0xbc($s0)
/* 242E0 80048EE0 8C820144 */ lw $v0, 0x144($a0)
/* 242E4 80048EE4 86030008 */ lh $v1, 8($s0)
/* 242E8 80048EE8 AE0200C0 */ sw $v0, 0xc0($s0)
/* 242EC 80048EEC AC83014C */ sw $v1, 0x14c($a0)
/* 242F0 80048EF0 AC900148 */ sw $s0, 0x148($a0)
.L80048EF4:
/* 242F4 80048EF4 8FBF001C */ lw $ra, 0x1c($sp)
/* 242F8 80048EF8 8FB20018 */ lw $s2, 0x18($sp)
/* 242FC 80048EFC 8FB10014 */ lw $s1, 0x14($sp)
/* 24300 80048F00 8FB00010 */ lw $s0, 0x10($sp)
/* 24304 80048F04 03E00008 */ jr $ra
/* 24308 80048F08 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,59 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80048F0C
/* 2430C 80048F0C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 24310 80048F10 AFB50024 */ sw $s5, 0x24($sp)
/* 24314 80048F14 3C15800B */ lui $s5, %hi(gCurrentEncounter)
/* 24318 80048F18 26B50F10 */ addiu $s5, $s5, %lo(gCurrentEncounter)
/* 2431C 80048F1C AFBF0028 */ sw $ra, 0x28($sp)
/* 24320 80048F20 AFB40020 */ sw $s4, 0x20($sp)
/* 24324 80048F24 AFB3001C */ sw $s3, 0x1c($sp)
/* 24328 80048F28 AFB20018 */ sw $s2, 0x18($sp)
/* 2432C 80048F2C AFB10014 */ sw $s1, 0x14($sp)
/* 24330 80048F30 AFB00010 */ sw $s0, 0x10($sp)
/* 24334 80048F34 82A2001C */ lb $v0, 0x1c($s5)
/* 24338 80048F38 1840001C */ blez $v0, .L80048FAC
/* 2433C 80048F3C 0000982D */ daddu $s3, $zero, $zero
/* 24340 80048F40 02A0A02D */ daddu $s4, $s5, $zero
.L80048F44:
/* 24344 80048F44 8E920028 */ lw $s2, 0x28($s4)
/* 24348 80048F48 12400013 */ beqz $s2, .L80048F98
/* 2434C 80048F4C 00000000 */ nop
/* 24350 80048F50 8E420000 */ lw $v0, ($s2)
/* 24354 80048F54 18400010 */ blez $v0, .L80048F98
/* 24358 80048F58 0000802D */ daddu $s0, $zero, $zero
/* 2435C 80048F5C 0240882D */ daddu $s1, $s2, $zero
.L80048F60:
/* 24360 80048F60 8E230004 */ lw $v1, 4($s1)
/* 24364 80048F64 10600007 */ beqz $v1, .L80048F84
/* 24368 80048F68 00000000 */ nop
/* 2436C 80048F6C 8C620000 */ lw $v0, ($v1)
/* 24370 80048F70 30420020 */ andi $v0, $v0, 0x20
/* 24374 80048F74 14400003 */ bnez $v0, .L80048F84
/* 24378 80048F78 00000000 */ nop
/* 2437C 80048F7C 0C00EABB */ jal get_npc_unsafe
/* 24380 80048F80 84640008 */ lh $a0, 8($v1)
.L80048F84:
/* 24384 80048F84 8E420000 */ lw $v0, ($s2)
/* 24388 80048F88 26100001 */ addiu $s0, $s0, 1
/* 2438C 80048F8C 0202102A */ slt $v0, $s0, $v0
/* 24390 80048F90 1440FFF3 */ bnez $v0, .L80048F60
/* 24394 80048F94 26310004 */ addiu $s1, $s1, 4
.L80048F98:
/* 24398 80048F98 82A2001C */ lb $v0, 0x1c($s5)
/* 2439C 80048F9C 26730001 */ addiu $s3, $s3, 1
/* 243A0 80048FA0 0262102A */ slt $v0, $s3, $v0
/* 243A4 80048FA4 1440FFE7 */ bnez $v0, .L80048F44
/* 243A8 80048FA8 26940004 */ addiu $s4, $s4, 4
.L80048FAC:
/* 243AC 80048FAC 8FBF0028 */ lw $ra, 0x28($sp)
/* 243B0 80048FB0 8FB50024 */ lw $s5, 0x24($sp)
/* 243B4 80048FB4 8FB40020 */ lw $s4, 0x20($sp)
/* 243B8 80048FB8 8FB3001C */ lw $s3, 0x1c($sp)
/* 243BC 80048FBC 8FB20018 */ lw $s2, 0x18($sp)
/* 243C0 80048FC0 8FB10014 */ lw $s1, 0x14($sp)
/* 243C4 80048FC4 8FB00010 */ lw $s0, 0x10($sp)
/* 243C8 80048FC8 0000102D */ daddu $v0, $zero, $zero
/* 243CC 80048FCC 03E00008 */ jr $ra
/* 243D0 80048FD0 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -0,0 +1,224 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800490B4
/* 244B4 800490B4 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 244B8 800490B8 F7B60050 */ sdc1 $f22, 0x50($sp)
/* 244BC 800490BC 4486B000 */ mtc1 $a2, $f22
/* 244C0 800490C0 F7B80058 */ sdc1 $f24, 0x58($sp)
/* 244C4 800490C4 4487C000 */ mtc1 $a3, $f24
/* 244C8 800490C8 AFB10034 */ sw $s1, 0x34($sp)
/* 244CC 800490CC 0080882D */ daddu $s1, $a0, $zero
/* 244D0 800490D0 AFB3003C */ sw $s3, 0x3c($sp)
/* 244D4 800490D4 00A0982D */ daddu $s3, $a1, $zero
/* 244D8 800490D8 AFBF0044 */ sw $ra, 0x44($sp)
/* 244DC 800490DC AFB40040 */ sw $s4, 0x40($sp)
/* 244E0 800490E0 AFB20038 */ sw $s2, 0x38($sp)
/* 244E4 800490E4 AFB00030 */ sw $s0, 0x30($sp)
/* 244E8 800490E8 F7B40048 */ sdc1 $f20, 0x48($sp)
/* 244EC 800490EC 86640008 */ lh $a0, 8($s3)
/* 244F0 800490F0 0C00EABB */ jal get_npc_unsafe
/* 244F4 800490F4 93B40073 */ lbu $s4, 0x73($sp)
/* 244F8 800490F8 0040802D */ daddu $s0, $v0, $zero
/* 244FC 800490FC 8E6200B0 */ lw $v0, 0xb0($s3)
/* 24500 80049100 3C128011 */ lui $s2, %hi(gPlayerStatus)
/* 24504 80049104 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus)
/* 24508 80049108 30420002 */ andi $v0, $v0, 2
/* 2450C 8004910C 144000AC */ bnez $v0, .L800493C0
/* 24510 80049110 0000102D */ daddu $v0, $zero, $zero
/* 24514 80049114 3C048011 */ lui $a0, %hi(D_8010EBB0)
/* 24518 80049118 2484EBB0 */ addiu $a0, $a0, %lo(D_8010EBB0)
/* 2451C 8004911C 80830003 */ lb $v1, 3($a0)
/* 24520 80049120 24020009 */ addiu $v0, $zero, 9
/* 24524 80049124 14620008 */ bne $v1, $v0, .L80049148
/* 24528 80049128 24020007 */ addiu $v0, $zero, 7
/* 2452C 8004912C 80820000 */ lb $v0, ($a0)
/* 24530 80049130 10400005 */ beqz $v0, .L80049148
/* 24534 80049134 24020007 */ addiu $v0, $zero, 7
/* 24538 80049138 9622001C */ lhu $v0, 0x1c($s1)
/* 2453C 8004913C 30420001 */ andi $v0, $v0, 1
/* 24540 80049140 1040009E */ beqz $v0, .L800493BC
/* 24544 80049144 24020007 */ addiu $v0, $zero, 7
.L80049148:
/* 24548 80049148 14620008 */ bne $v1, $v0, .L8004916C
/* 2454C 8004914C 00000000 */ nop
/* 24550 80049150 80820000 */ lb $v0, ($a0)
/* 24554 80049154 10400005 */ beqz $v0, .L8004916C
/* 24558 80049158 00000000 */ nop
/* 2455C 8004915C 9622001C */ lhu $v0, 0x1c($s1)
/* 24560 80049160 30420001 */ andi $v0, $v0, 1
/* 24564 80049164 10400096 */ beqz $v0, .L800493C0
/* 24568 80049168 0000102D */ daddu $v0, $zero, $zero
.L8004916C:
/* 2456C 8004916C 8E220000 */ lw $v0, ($s1)
/* 24570 80049170 04400093 */ bltz $v0, .L800493C0
/* 24574 80049174 0000102D */ daddu $v0, $zero, $zero
/* 24578 80049178 C600003C */ lwc1 $f0, 0x3c($s0)
/* 2457C 8004917C C642002C */ lwc1 $f2, 0x2c($s2)
/* 24580 80049180 46020001 */ sub.s $f0, $f0, $f2
/* 24584 80049184 C6220018 */ lwc1 $f2, 0x18($s1)
/* 24588 80049188 46000005 */ abs.s $f0, $f0
/* 2458C 8004918C 4600103E */ c.le.s $f2, $f0
/* 24590 80049190 00000000 */ nop
/* 24594 80049194 45000005 */ bc1f .L800491AC
/* 24598 80049198 00000000 */ nop
/* 2459C 8004919C 9622001C */ lhu $v0, 0x1c($s1)
/* 245A0 800491A0 30420002 */ andi $v0, $v0, 2
/* 245A4 800491A4 10400086 */ beqz $v0, .L800493C0
/* 245A8 800491A8 0000102D */ daddu $v0, $zero, $zero
.L800491AC:
/* 245AC 800491AC 8E220010 */ lw $v0, 0x10($s1)
/* 245B0 800491B0 8E230014 */ lw $v1, 0x14($s1)
/* 245B4 800491B4 00431025 */ or $v0, $v0, $v1
/* 245B8 800491B8 10400014 */ beqz $v0, .L8004920C
/* 245BC 800491BC 00000000 */ nop
/* 245C0 800491C0 C6200008 */ lwc1 $f0, 8($s1)
/* 245C4 800491C4 46800020 */ cvt.s.w $f0, $f0
/* 245C8 800491C8 44050000 */ mfc1 $a1, $f0
/* 245CC 800491CC C620000C */ lwc1 $f0, 0xc($s1)
/* 245D0 800491D0 46800020 */ cvt.s.w $f0, $f0
/* 245D4 800491D4 44060000 */ mfc1 $a2, $f0
/* 245D8 800491D8 C6400030 */ lwc1 $f0, 0x30($s2)
/* 245DC 800491DC 8E470028 */ lw $a3, 0x28($s2)
/* 245E0 800491E0 E7A00010 */ swc1 $f0, 0x10($sp)
/* 245E4 800491E4 C6200010 */ lwc1 $f0, 0x10($s1)
/* 245E8 800491E8 46800020 */ cvt.s.w $f0, $f0
/* 245EC 800491EC E7A00014 */ swc1 $f0, 0x14($sp)
/* 245F0 800491F0 C6200014 */ lwc1 $f0, 0x14($s1)
/* 245F4 800491F4 46800020 */ cvt.s.w $f0, $f0
/* 245F8 800491F8 E7A00018 */ swc1 $f0, 0x18($sp)
/* 245FC 800491FC 0C0123F5 */ jal is_point_within_region
/* 24600 80049200 8E240004 */ lw $a0, 4($s1)
/* 24604 80049204 1440006E */ bnez $v0, .L800493C0
/* 24608 80049208 0000102D */ daddu $v0, $zero, $zero
.L8004920C:
/* 2460C 8004920C 824300B4 */ lb $v1, 0xb4($s2)
/* 24610 80049210 2402001D */ addiu $v0, $zero, 0x1d
/* 24614 80049214 1062006A */ beq $v1, $v0, .L800493C0
/* 24618 80049218 0000102D */ daddu $v0, $zero, $zero
/* 2461C 8004921C 926200AC */ lbu $v0, 0xac($s3)
/* 24620 80049220 30420001 */ andi $v0, $v0, 1
/* 24624 80049224 1040002C */ beqz $v0, .L800492D8
/* 24628 80049228 00000000 */ nop
/* 2462C 8004922C C60C0038 */ lwc1 $f12, 0x38($s0)
/* 24630 80049230 860200A8 */ lh $v0, 0xa8($s0)
/* 24634 80049234 3C013FE0 */ lui $at, 0x3fe0
/* 24638 80049238 44810800 */ mtc1 $at, $f1
/* 2463C 8004923C 44800000 */ mtc1 $zero, $f0
/* 24640 80049240 44821000 */ mtc1 $v0, $f2
/* 24644 80049244 00000000 */ nop
/* 24648 80049248 468010A1 */ cvt.d.w $f2, $f2
/* 2464C 8004924C 46201082 */ mul.d $f2, $f2, $f0
/* 24650 80049250 00000000 */ nop
/* 24654 80049254 C60E0040 */ lwc1 $f14, 0x40($s0)
/* 24658 80049258 8E460028 */ lw $a2, 0x28($s2)
/* 2465C 8004925C 8E470030 */ lw $a3, 0x30($s2)
/* 24660 80049260 46006106 */ mov.s $f4, $f12
/* 24664 80049264 C600003C */ lwc1 $f0, 0x3c($s0)
/* 24668 80049268 46007186 */ mov.s $f6, $f14
/* 2466C 8004926C 46000021 */ cvt.d.s $f0, $f0
/* 24670 80049270 46220000 */ add.d $f0, $f0, $f2
/* 24674 80049274 E7A40020 */ swc1 $f4, 0x20($sp)
/* 24678 80049278 E7A60028 */ swc1 $f6, 0x28($sp)
/* 2467C 8004927C 46200020 */ cvt.s.d $f0, $f0
/* 24680 80049280 0C00A7B5 */ jal dist2D
/* 24684 80049284 E7A00024 */ swc1 $f0, 0x24($sp)
/* 24688 80049288 C60C0038 */ lwc1 $f12, 0x38($s0)
/* 2468C 8004928C C60E0040 */ lwc1 $f14, 0x40($s0)
/* 24690 80049290 8E460028 */ lw $a2, 0x28($s2)
/* 24694 80049294 8E470030 */ lw $a3, 0x30($s2)
/* 24698 80049298 0C00A720 */ jal atan2
/* 2469C 8004929C 46000506 */ mov.s $f20, $f0
/* 246A0 800492A0 3C040005 */ lui $a0, 5
/* 246A4 800492A4 27A50020 */ addiu $a1, $sp, 0x20
/* 246A8 800492A8 27A60024 */ addiu $a2, $sp, 0x24
/* 246AC 800492AC 3C013DCC */ lui $at, 0x3dcc
/* 246B0 800492B0 3421CCCD */ ori $at, $at, 0xcccd
/* 246B4 800492B4 44811000 */ mtc1 $at, $f2
/* 246B8 800492B8 27A70028 */ addiu $a3, $sp, 0x28
/* 246BC 800492BC E7B40010 */ swc1 $f20, 0x10($sp)
/* 246C0 800492C0 E7A00014 */ swc1 $f0, 0x14($sp)
/* 246C4 800492C4 E7A20018 */ swc1 $f2, 0x18($sp)
/* 246C8 800492C8 0C037711 */ jal func_800DDC44
/* 246CC 800492CC E7A2001C */ swc1 $f2, 0x1c($sp)
/* 246D0 800492D0 1440003B */ bnez $v0, .L800493C0
/* 246D4 800492D4 0000102D */ daddu $v0, $zero, $zero
.L800492D8:
/* 246D8 800492D8 8E220000 */ lw $v0, ($s1)
/* 246DC 800492DC 14400003 */ bnez $v0, .L800492EC
/* 246E0 800492E0 00000000 */ nop
/* 246E4 800492E4 080124BD */ j .L800492F4
/* 246E8 800492E8 0000102D */ daddu $v0, $zero, $zero
.L800492EC:
/* 246EC 800492EC 0C00A67F */ jal rand_int
/* 246F0 800492F0 24440001 */ addiu $a0, $v0, 1
.L800492F4:
/* 246F4 800492F4 14400032 */ bnez $v0, .L800493C0
/* 246F8 800492F8 0000102D */ daddu $v0, $zero, $zero
/* 246FC 800492FC 926200AC */ lbu $v0, 0xac($s3)
/* 24700 80049300 30420002 */ andi $v0, $v0, 2
/* 24704 80049304 10400010 */ beqz $v0, .L80049348
/* 24708 80049308 24020001 */ addiu $v0, $zero, 1
/* 2470C 8004930C 824300B4 */ lb $v1, 0xb4($s2)
/* 24710 80049310 14620005 */ bne $v1, $v0, .L80049328
/* 24714 80049314 24020002 */ addiu $v0, $zero, 2
/* 24718 80049318 3C01800A */ lui $at, %hi(D_80098710)
/* 2471C 8004931C D4228710 */ ldc1 $f2, %lo(D_80098710)($at)
/* 24720 80049320 080124CF */ j .L8004933C
/* 24724 80049324 4600B021 */ cvt.d.s $f0, $f22
.L80049328:
/* 24728 80049328 14620007 */ bne $v1, $v0, .L80049348
/* 2472C 8004932C 00000000 */ nop
/* 24730 80049330 3C01800A */ lui $at, %hi(D_80098718)
/* 24734 80049334 D4228718 */ ldc1 $f2, %lo(D_80098718)($at)
/* 24738 80049338 4600B021 */ cvt.d.s $f0, $f22
.L8004933C:
/* 2473C 8004933C 46220002 */ mul.d $f0, $f0, $f2
/* 24740 80049340 00000000 */ nop
/* 24744 80049344 462005A0 */ cvt.s.d $f22, $f0
.L80049348:
/* 24748 80049348 C6000038 */ lwc1 $f0, 0x38($s0)
/* 2474C 8004934C C6020040 */ lwc1 $f2, 0x40($s0)
/* 24750 80049350 328200FF */ andi $v0, $s4, 0xff
/* 24754 80049354 E7A00020 */ swc1 $f0, 0x20($sp)
/* 24758 80049358 10400005 */ beqz $v0, .L80049370
/* 2475C 8004935C E7A20028 */ swc1 $f2, 0x28($sp)
/* 24760 80049360 4406C000 */ mfc1 $a2, $f24
/* 24764 80049364 8E07000C */ lw $a3, 0xc($s0)
/* 24768 80049368 080124E4 */ j .L80049390
/* 2476C 8004936C 27A40020 */ addiu $a0, $sp, 0x20
.L80049370:
/* 24770 80049370 C6020034 */ lwc1 $f2, 0x34($s0)
/* 24774 80049374 3C014387 */ lui $at, 0x4387
/* 24778 80049378 44810000 */ mtc1 $at, $f0
/* 2477C 8004937C 00000000 */ nop
/* 24780 80049380 46020001 */ sub.s $f0, $f0, $f2
/* 24784 80049384 27A40020 */ addiu $a0, $sp, 0x20
/* 24788 80049388 4406C000 */ mfc1 $a2, $f24
/* 2478C 8004938C 44070000 */ mfc1 $a3, $f0
.L80049390:
/* 24790 80049390 0C00A7E7 */ jal add_vec2D_polar
/* 24794 80049394 27A50028 */ addiu $a1, $sp, 0x28
/* 24798 80049398 C7AC0020 */ lwc1 $f12, 0x20($sp)
/* 2479C 8004939C C7AE0028 */ lwc1 $f14, 0x28($sp)
/* 247A0 800493A0 8E460028 */ lw $a2, 0x28($s2)
/* 247A4 800493A4 0C00A7B5 */ jal dist2D
/* 247A8 800493A8 8E470030 */ lw $a3, 0x30($s2)
/* 247AC 800493AC 4616003E */ c.le.s $f0, $f22
/* 247B0 800493B0 00000000 */ nop
/* 247B4 800493B4 45010002 */ bc1t .L800493C0
/* 247B8 800493B8 24020001 */ addiu $v0, $zero, 1
.L800493BC:
/* 247BC 800493BC 0000102D */ daddu $v0, $zero, $zero
.L800493C0:
/* 247C0 800493C0 8FBF0044 */ lw $ra, 0x44($sp)
/* 247C4 800493C4 8FB40040 */ lw $s4, 0x40($sp)
/* 247C8 800493C8 8FB3003C */ lw $s3, 0x3c($sp)
/* 247CC 800493CC 8FB20038 */ lw $s2, 0x38($sp)
/* 247D0 800493D0 8FB10034 */ lw $s1, 0x34($sp)
/* 247D4 800493D4 8FB00030 */ lw $s0, 0x30($sp)
/* 247D8 800493D8 D7B80058 */ ldc1 $f24, 0x58($sp)
/* 247DC 800493DC D7B60050 */ ldc1 $f22, 0x50($sp)
/* 247E0 800493E0 D7B40048 */ ldc1 $f20, 0x48($sp)
/* 247E4 800493E4 03E00008 */ jr $ra
/* 247E8 800493E8 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -0,0 +1,60 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800493EC
/* 247EC 800493EC 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 247F0 800493F0 F7B60030 */ sdc1 $f22, 0x30($sp)
/* 247F4 800493F4 4486B000 */ mtc1 $a2, $f22
/* 247F8 800493F8 AFB00018 */ sw $s0, 0x18($sp)
/* 247FC 800493FC AFBF0024 */ sw $ra, 0x24($sp)
/* 24800 80049400 AFB20020 */ sw $s2, 0x20($sp)
/* 24804 80049404 AFB1001C */ sw $s1, 0x1c($sp)
/* 24808 80049408 F7B40028 */ sdc1 $f20, 0x28($sp)
/* 2480C 8004940C 84840008 */ lh $a0, 8($a0)
/* 24810 80049410 4487A000 */ mtc1 $a3, $f20
/* 24814 80049414 0C00EABB */ jal get_npc_unsafe
/* 24818 80049418 00A0802D */ daddu $s0, $a1, $zero
/* 2481C 8004941C 3C128011 */ lui $s2, %hi(gPlayerStatus)
/* 24820 80049420 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus)
/* 24824 80049424 0600001D */ bltz $s0, .L8004949C
/* 24828 80049428 0040882D */ daddu $s1, $v0, $zero
/* 2482C 8004942C 12000003 */ beqz $s0, .L8004943C
/* 24830 80049430 0000102D */ daddu $v0, $zero, $zero
/* 24834 80049434 0C00A67F */ jal rand_int
/* 24838 80049438 26040001 */ addiu $a0, $s0, 1
.L8004943C:
/* 2483C 8004943C 14400018 */ bnez $v0, .L800494A0
/* 24840 80049440 0000102D */ daddu $v0, $zero, $zero
/* 24844 80049444 27A40010 */ addiu $a0, $sp, 0x10
/* 24848 80049448 C6220034 */ lwc1 $f2, 0x34($s1)
/* 2484C 8004944C 3C014387 */ lui $at, 0x4387
/* 24850 80049450 44810000 */ mtc1 $at, $f0
/* 24854 80049454 4406A000 */ mfc1 $a2, $f20
/* 24858 80049458 46020001 */ sub.s $f0, $f0, $f2
/* 2485C 8004945C C6260038 */ lwc1 $f6, 0x38($s1)
/* 24860 80049460 C6240040 */ lwc1 $f4, 0x40($s1)
/* 24864 80049464 44070000 */ mfc1 $a3, $f0
/* 24868 80049468 27A50014 */ addiu $a1, $sp, 0x14
/* 2486C 8004946C E7A60010 */ swc1 $f6, 0x10($sp)
/* 24870 80049470 0C00A7E7 */ jal add_vec2D_polar
/* 24874 80049474 E7A40014 */ swc1 $f4, 0x14($sp)
/* 24878 80049478 8E460028 */ lw $a2, 0x28($s2)
/* 2487C 8004947C 8E470030 */ lw $a3, 0x30($s2)
/* 24880 80049480 C7AC0010 */ lwc1 $f12, 0x10($sp)
/* 24884 80049484 0C00A7B5 */ jal dist2D
/* 24888 80049488 C7AE0014 */ lwc1 $f14, 0x14($sp)
/* 2488C 8004948C 4616003E */ c.le.s $f0, $f22
/* 24890 80049490 00000000 */ nop
/* 24894 80049494 45010002 */ bc1t .L800494A0
/* 24898 80049498 24020001 */ addiu $v0, $zero, 1
.L8004949C:
/* 2489C 8004949C 0000102D */ daddu $v0, $zero, $zero
.L800494A0:
/* 248A0 800494A0 8FBF0024 */ lw $ra, 0x24($sp)
/* 248A4 800494A4 8FB20020 */ lw $s2, 0x20($sp)
/* 248A8 800494A8 8FB1001C */ lw $s1, 0x1c($sp)
/* 248AC 800494AC 8FB00018 */ lw $s0, 0x18($sp)
/* 248B0 800494B0 D7B60030 */ ldc1 $f22, 0x30($sp)
/* 248B4 800494B4 D7B40028 */ ldc1 $f20, 0x28($sp)
/* 248B8 800494B8 03E00008 */ jr $ra
/* 248BC 800494BC 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -0,0 +1,42 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800494C0
/* 248C0 800494C0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 248C4 800494C4 AFB1001C */ sw $s1, 0x1c($sp)
/* 248C8 800494C8 0080882D */ daddu $s1, $a0, $zero
/* 248CC 800494CC AFB20020 */ sw $s2, 0x20($sp)
/* 248D0 800494D0 00A0902D */ daddu $s2, $a1, $zero
/* 248D4 800494D4 AFBF0024 */ sw $ra, 0x24($sp)
/* 248D8 800494D8 AFB00018 */ sw $s0, 0x18($sp)
/* 248DC 800494DC 822400A4 */ lb $a0, 0xa4($s1)
/* 248E0 800494E0 0C00FB3A */ jal get_enemy
/* 248E4 800494E4 00C0802D */ daddu $s0, $a2, $zero
/* 248E8 800494E8 3C03FFFF */ lui $v1, 0xffff
/* 248EC 800494EC 02031824 */ and $v1, $s0, $v1
/* 248F0 800494F0 34650002 */ ori $a1, $v1, 2
/* 248F4 800494F4 32100001 */ andi $s0, $s0, 1
/* 248F8 800494F8 12000003 */ beqz $s0, .L80049508
/* 248FC 800494FC 0040182D */ daddu $v1, $v0, $zero
/* 24900 80049500 3C020001 */ lui $v0, 1
/* 24904 80049504 00A22825 */ or $a1, $a1, $v0
.L80049508:
/* 24908 80049508 8C620018 */ lw $v0, 0x18($v1)
/* 2490C 8004950C 9442002A */ lhu $v0, 0x2a($v0)
/* 24910 80049510 30420020 */ andi $v0, $v0, 0x20
/* 24914 80049514 10400002 */ beqz $v0, .L80049520
/* 24918 80049518 3C020002 */ lui $v0, 2
/* 2491C 8004951C 00A22825 */ or $a1, $a1, $v0
.L80049520:
/* 24920 80049520 C6200040 */ lwc1 $f0, 0x40($s1)
/* 24924 80049524 E7A00010 */ swc1 $f0, 0x10($sp)
/* 24928 80049528 8E260038 */ lw $a2, 0x38($s1)
/* 2492C 8004952C 8E27003C */ lw $a3, 0x3c($s1)
/* 24930 80049530 0C052757 */ jal play_sound_at_position
/* 24934 80049534 0240202D */ daddu $a0, $s2, $zero
/* 24938 80049538 8FBF0024 */ lw $ra, 0x24($sp)
/* 2493C 8004953C 8FB20020 */ lw $s2, 0x20($sp)
/* 24940 80049540 8FB1001C */ lw $s1, 0x1c($sp)
/* 24944 80049544 8FB00018 */ lw $s0, 0x18($sp)
/* 24948 80049548 03E00008 */ jr $ra
/* 2494C 8004954C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,25 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80049550
/* 24950 80049550 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 24954 80049554 AFB00010 */ sw $s0, 0x10($sp)
/* 24958 80049558 0080802D */ daddu $s0, $a0, $zero
/* 2495C 8004955C AFBF0018 */ sw $ra, 0x18($sp)
/* 24960 80049560 AFB10014 */ sw $s1, 0x14($sp)
/* 24964 80049564 8E020148 */ lw $v0, 0x148($s0)
/* 24968 80049568 84440008 */ lh $a0, 8($v0)
/* 2496C 8004956C 0C00EABB */ jal get_npc_unsafe
/* 24970 80049570 00A0882D */ daddu $s1, $a1, $zero
/* 24974 80049574 9443008E */ lhu $v1, 0x8e($v0)
/* 24978 80049578 2463FFFF */ addiu $v1, $v1, -1
/* 2497C 8004957C A443008E */ sh $v1, 0x8e($v0)
/* 24980 80049580 00031C00 */ sll $v1, $v1, 0x10
/* 24984 80049584 58600001 */ blezl $v1, .L8004958C
/* 24988 80049588 AE110070 */ sw $s1, 0x70($s0)
.L8004958C:
/* 2498C 8004958C 8FBF0018 */ lw $ra, 0x18($sp)
/* 24990 80049590 8FB10014 */ lw $s1, 0x14($sp)
/* 24994 80049594 8FB00010 */ lw $s0, 0x10($sp)
/* 24998 80049598 03E00008 */ jr $ra
/* 2499C 8004959C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,76 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800495A0
/* 249A0 800495A0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 249A4 800495A4 AFB3001C */ sw $s3, 0x1c($sp)
/* 249A8 800495A8 0080982D */ daddu $s3, $a0, $zero
/* 249AC 800495AC AFBF0020 */ sw $ra, 0x20($sp)
/* 249B0 800495B0 AFB20018 */ sw $s2, 0x18($sp)
/* 249B4 800495B4 AFB10014 */ sw $s1, 0x14($sp)
/* 249B8 800495B8 AFB00010 */ sw $s0, 0x10($sp)
/* 249BC 800495BC 8E710148 */ lw $s1, 0x148($s3)
/* 249C0 800495C0 86240008 */ lh $a0, 8($s1)
/* 249C4 800495C4 0C00EABB */ jal get_npc_unsafe
/* 249C8 800495C8 00A0902D */ daddu $s2, $a1, $zero
/* 249CC 800495CC 8E440004 */ lw $a0, 4($s2)
/* 249D0 800495D0 0040802D */ daddu $s0, $v0, $zero
/* 249D4 800495D4 00041FC2 */ srl $v1, $a0, 0x1f
/* 249D8 800495D8 00832021 */ addu $a0, $a0, $v1
/* 249DC 800495DC 00042043 */ sra $a0, $a0, 1
/* 249E0 800495E0 0C00A67F */ jal rand_int
/* 249E4 800495E4 24840001 */ addiu $a0, $a0, 1
/* 249E8 800495E8 8E430004 */ lw $v1, 4($s2)
/* 249EC 800495EC 2404003C */ addiu $a0, $zero, 0x3c
/* 249F0 800495F0 00032FC2 */ srl $a1, $v1, 0x1f
/* 249F4 800495F4 00651821 */ addu $v1, $v1, $a1
/* 249F8 800495F8 00031843 */ sra $v1, $v1, 1
/* 249FC 800495FC 00621821 */ addu $v1, $v1, $v0
/* 24A00 80049600 0C00A67F */ jal rand_int
/* 24A04 80049604 A603008E */ sh $v1, 0x8e($s0)
/* 24A08 80049608 C60C000C */ lwc1 $f12, 0xc($s0)
/* 24A0C 8004960C 44820000 */ mtc1 $v0, $f0
/* 24A10 80049610 00000000 */ nop
/* 24A14 80049614 46800020 */ cvt.s.w $f0, $f0
/* 24A18 80049618 46006300 */ add.s $f12, $f12, $f0
/* 24A1C 8004961C 3C0141F0 */ lui $at, 0x41f0
/* 24A20 80049620 44810000 */ mtc1 $at, $f0
/* 24A24 80049624 0C00A6C9 */ jal clamp_angle
/* 24A28 80049628 46006301 */ sub.s $f12, $f12, $f0
/* 24A2C 8004962C E600000C */ swc1 $f0, 0xc($s0)
/* 24A30 80049630 8E2200CC */ lw $v0, 0xcc($s1)
/* 24A34 80049634 8C420004 */ lw $v0, 4($v0)
/* 24A38 80049638 AE020028 */ sw $v0, 0x28($s0)
/* 24A3C 8004963C AE600074 */ sw $zero, 0x74($s3)
/* 24A40 80049640 8E2200D0 */ lw $v0, 0xd0($s1)
/* 24A44 80049644 8C420014 */ lw $v0, 0x14($v0)
/* 24A48 80049648 04410004 */ bgez $v0, .L8004965C
/* 24A4C 8004964C 00000000 */ nop
/* 24A50 80049650 C6400000 */ lwc1 $f0, ($s2)
/* 24A54 80049654 0801259F */ j .L8004967C
/* 24A58 80049658 E6000018 */ swc1 $f0, 0x18($s0)
.L8004965C:
/* 24A5C 8004965C 3C01800A */ lui $at, %hi(D_80098720)
/* 24A60 80049660 D4228720 */ ldc1 $f2, %lo(D_80098720)($at)
/* 24A64 80049664 44820000 */ mtc1 $v0, $f0
/* 24A68 80049668 00000000 */ nop
/* 24A6C 8004966C 46800021 */ cvt.d.w $f0, $f0
/* 24A70 80049670 46220003 */ div.d $f0, $f0, $f2
/* 24A74 80049674 46200020 */ cvt.s.d $f0, $f0
/* 24A78 80049678 E6000018 */ swc1 $f0, 0x18($s0)
.L8004967C:
/* 24A7C 8004967C 8E2200B0 */ lw $v0, 0xb0($s1)
/* 24A80 80049680 2403FFBF */ addiu $v1, $zero, -0x41
/* 24A84 80049684 00431024 */ and $v0, $v0, $v1
/* 24A88 80049688 2403FFDF */ addiu $v1, $zero, -0x21
/* 24A8C 8004968C 00431024 */ and $v0, $v0, $v1
/* 24A90 80049690 AE2200B0 */ sw $v0, 0xb0($s1)
/* 24A94 80049694 24020001 */ addiu $v0, $zero, 1
/* 24A98 80049698 AE620070 */ sw $v0, 0x70($s3)
/* 24A9C 8004969C 8FBF0020 */ lw $ra, 0x20($sp)
/* 24AA0 800496A0 8FB3001C */ lw $s3, 0x1c($sp)
/* 24AA4 800496A4 8FB20018 */ lw $s2, 0x18($sp)
/* 24AA8 800496A8 8FB10014 */ lw $s1, 0x14($sp)
/* 24AAC 800496AC 8FB00010 */ lw $s0, 0x10($sp)
/* 24AB0 800496B0 03E00008 */ jr $ra
/* 24AB4 800496B4 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,305 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800496B8
/* 24AB8 800496B8 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 24ABC 800496BC AFB3004C */ sw $s3, 0x4c($sp)
/* 24AC0 800496C0 0080982D */ daddu $s3, $a0, $zero
/* 24AC4 800496C4 AFB40050 */ sw $s4, 0x50($sp)
/* 24AC8 800496C8 00A0A02D */ daddu $s4, $a1, $zero
/* 24ACC 800496CC AFBF0058 */ sw $ra, 0x58($sp)
/* 24AD0 800496D0 AFB50054 */ sw $s5, 0x54($sp)
/* 24AD4 800496D4 AFB20048 */ sw $s2, 0x48($sp)
/* 24AD8 800496D8 AFB10044 */ sw $s1, 0x44($sp)
/* 24ADC 800496DC AFB00040 */ sw $s0, 0x40($sp)
/* 24AE0 800496E0 8E710148 */ lw $s1, 0x148($s3)
/* 24AE4 800496E4 00C0902D */ daddu $s2, $a2, $zero
/* 24AE8 800496E8 86240008 */ lh $a0, 8($s1)
/* 24AEC 800496EC 0C00EABB */ jal get_npc_unsafe
/* 24AF0 800496F0 0000A82D */ daddu $s5, $zero, $zero
/* 24AF4 800496F4 8E830014 */ lw $v1, 0x14($s4)
/* 24AF8 800496F8 0460005D */ bltz $v1, .L80049870
/* 24AFC 800496FC 0040802D */ daddu $s0, $v0, $zero
/* 24B00 80049700 8E620074 */ lw $v0, 0x74($s3)
/* 24B04 80049704 1C400059 */ bgtz $v0, .L8004986C
/* 24B08 80049708 2442FFFF */ addiu $v0, $v0, -1
/* 24B0C 8004970C 0240202D */ daddu $a0, $s2, $zero
/* 24B10 80049710 AE630074 */ sw $v1, 0x74($s3)
/* 24B14 80049714 AFA00010 */ sw $zero, 0x10($sp)
/* 24B18 80049718 8E86000C */ lw $a2, 0xc($s4)
/* 24B1C 8004971C 8E870010 */ lw $a3, 0x10($s4)
/* 24B20 80049720 0C01242D */ jal func_800490B4
/* 24B24 80049724 0220282D */ daddu $a1, $s1, $zero
/* 24B28 80049728 1040004E */ beqz $v0, .L80049864
/* 24B2C 8004972C 00000000 */ nop
/* 24B30 80049730 C60C0038 */ lwc1 $f12, 0x38($s0)
/* 24B34 80049734 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* 24B38 80049738 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* 24B3C 8004973C C60E0040 */ lwc1 $f14, 0x40($s0)
/* 24B40 80049740 C602003C */ lwc1 $f2, 0x3c($s0)
/* 24B44 80049744 46006006 */ mov.s $f0, $f12
/* 24B48 80049748 8C460028 */ lw $a2, 0x28($v0)
/* 24B4C 8004974C 8C470030 */ lw $a3, 0x30($v0)
/* 24B50 80049750 46007106 */ mov.s $f4, $f14
/* 24B54 80049754 E7A00028 */ swc1 $f0, 0x28($sp)
/* 24B58 80049758 E7A2002C */ swc1 $f2, 0x2c($sp)
/* 24B5C 8004975C 0C00A720 */ jal atan2
/* 24B60 80049760 E7A40030 */ swc1 $f4, 0x30($sp)
/* 24B64 80049764 C6820018 */ lwc1 $f2, 0x18($s4)
/* 24B68 80049768 E7A00038 */ swc1 $f0, 0x38($sp)
/* 24B6C 8004976C E7A00014 */ swc1 $f0, 0x14($sp)
/* 24B70 80049770 E7A20010 */ swc1 $f2, 0x10($sp)
/* 24B74 80049774 860200A8 */ lh $v0, 0xa8($s0)
/* 24B78 80049778 27A50028 */ addiu $a1, $sp, 0x28
/* 24B7C 8004977C 44820000 */ mtc1 $v0, $f0
/* 24B80 80049780 00000000 */ nop
/* 24B84 80049784 46800020 */ cvt.s.w $f0, $f0
/* 24B88 80049788 E7A00018 */ swc1 $f0, 0x18($sp)
/* 24B8C 8004978C 860200A6 */ lh $v0, 0xa6($s0)
/* 24B90 80049790 27A6002C */ addiu $a2, $sp, 0x2c
/* 24B94 80049794 44820000 */ mtc1 $v0, $f0
/* 24B98 80049798 00000000 */ nop
/* 24B9C 8004979C 46800020 */ cvt.s.w $f0, $f0
/* 24BA0 800497A0 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 24BA4 800497A4 8E040080 */ lw $a0, 0x80($s0)
/* 24BA8 800497A8 0C037711 */ jal func_800DDC44
/* 24BAC 800497AC 27A70030 */ addiu $a3, $sp, 0x30
/* 24BB0 800497B0 1440002C */ bnez $v0, .L80049864
/* 24BB4 800497B4 0200202D */ daddu $a0, $s0, $zero
/* 24BB8 800497B8 240502F4 */ addiu $a1, $zero, 0x2f4
/* 24BBC 800497BC C7A00038 */ lwc1 $f0, 0x38($sp)
/* 24BC0 800497C0 3C060020 */ lui $a2, 0x20
/* 24BC4 800497C4 0C012530 */ jal func_800494C0
/* 24BC8 800497C8 E600000C */ swc1 $f0, 0xc($s0)
/* 24BCC 800497CC 02A0202D */ daddu $a0, $s5, $zero
/* 24BD0 800497D0 0200282D */ daddu $a1, $s0, $zero
/* 24BD4 800497D4 0000302D */ daddu $a2, $zero, $zero
/* 24BD8 800497D8 84A300A8 */ lh $v1, 0xa8($a1)
/* 24BDC 800497DC 3C013F80 */ lui $at, 0x3f80
/* 24BE0 800497E0 44810000 */ mtc1 $at, $f0
/* 24BE4 800497E4 3C014000 */ lui $at, 0x4000
/* 24BE8 800497E8 44811000 */ mtc1 $at, $f2
/* 24BEC 800497EC 3C01C1A0 */ lui $at, 0xc1a0
/* 24BF0 800497F0 44812000 */ mtc1 $at, $f4
/* 24BF4 800497F4 2402000F */ addiu $v0, $zero, 0xf
/* 24BF8 800497F8 AFA2001C */ sw $v0, 0x1c($sp)
/* 24BFC 800497FC 44833000 */ mtc1 $v1, $f6
/* 24C00 80049800 00000000 */ nop
/* 24C04 80049804 468031A0 */ cvt.s.w $f6, $f6
/* 24C08 80049808 44073000 */ mfc1 $a3, $f6
/* 24C0C 8004980C 27A20034 */ addiu $v0, $sp, 0x34
/* 24C10 80049810 AFA20020 */ sw $v0, 0x20($sp)
/* 24C14 80049814 E7A00010 */ swc1 $f0, 0x10($sp)
/* 24C18 80049818 E7A20014 */ swc1 $f2, 0x14($sp)
/* 24C1C 8004981C 0C01BFA4 */ jal fx_emote
/* 24C20 80049820 E7A40018 */ swc1 $f4, 0x18($sp)
/* 24C24 80049824 2403FFBF */ addiu $v1, $zero, -0x41
/* 24C28 80049828 8E2200B0 */ lw $v0, 0xb0($s1)
/* 24C2C 8004982C 8E240018 */ lw $a0, 0x18($s1)
/* 24C30 80049830 00431024 */ and $v0, $v0, $v1
/* 24C34 80049834 2403FFDF */ addiu $v1, $zero, -0x21
/* 24C38 80049838 00431024 */ and $v0, $v0, $v1
/* 24C3C 8004983C AE2200B0 */ sw $v0, 0xb0($s1)
/* 24C40 80049840 9482002A */ lhu $v0, 0x2a($a0)
/* 24C44 80049844 30420001 */ andi $v0, $v0, 1
/* 24C48 80049848 10400003 */ beqz $v0, .L80049858
/* 24C4C 8004984C 2402000A */ addiu $v0, $zero, 0xa
/* 24C50 80049850 080126C8 */ j .L80049B20
/* 24C54 80049854 AE620070 */ sw $v0, 0x70($s3)
.L80049858:
/* 24C58 80049858 2402000C */ addiu $v0, $zero, 0xc
/* 24C5C 8004985C 080126C8 */ j .L80049B20
/* 24C60 80049860 AE620070 */ sw $v0, 0x70($s3)
.L80049864:
/* 24C64 80049864 8E620074 */ lw $v0, 0x74($s3)
/* 24C68 80049868 2442FFFF */ addiu $v0, $v0, -1
.L8004986C:
/* 24C6C 8004986C AE620074 */ sw $v0, 0x74($s3)
.L80049870:
/* 24C70 80049870 8E2300D0 */ lw $v1, 0xd0($s1)
/* 24C74 80049874 C6000040 */ lwc1 $f0, 0x40($s0)
/* 24C78 80049878 C4620000 */ lwc1 $f2, ($v1)
/* 24C7C 8004987C 468010A0 */ cvt.s.w $f2, $f2
/* 24C80 80049880 C4640008 */ lwc1 $f4, 8($v1)
/* 24C84 80049884 46802120 */ cvt.s.w $f4, $f4
/* 24C88 80049888 E7A00010 */ swc1 $f0, 0x10($sp)
/* 24C8C 8004988C 8E2200D0 */ lw $v0, 0xd0($s1)
/* 24C90 80049890 44051000 */ mfc1 $a1, $f2
/* 24C94 80049894 C440000C */ lwc1 $f0, 0xc($v0)
/* 24C98 80049898 46800020 */ cvt.s.w $f0, $f0
/* 24C9C 8004989C E7A00014 */ swc1 $f0, 0x14($sp)
/* 24CA0 800498A0 8E2200D0 */ lw $v0, 0xd0($s1)
/* 24CA4 800498A4 44062000 */ mfc1 $a2, $f4
/* 24CA8 800498A8 C4400010 */ lwc1 $f0, 0x10($v0)
/* 24CAC 800498AC 46800020 */ cvt.s.w $f0, $f0
/* 24CB0 800498B0 E7A00018 */ swc1 $f0, 0x18($sp)
/* 24CB4 800498B4 8C640018 */ lw $a0, 0x18($v1)
/* 24CB8 800498B8 0C0123F5 */ jal is_point_within_region
/* 24CBC 800498BC 8E070038 */ lw $a3, 0x38($s0)
/* 24CC0 800498C0 10400064 */ beqz $v0, .L80049A54
/* 24CC4 800498C4 00000000 */ nop
/* 24CC8 800498C8 8E060038 */ lw $a2, 0x38($s0)
/* 24CCC 800498CC 8E2200D0 */ lw $v0, 0xd0($s1)
/* 24CD0 800498D0 8E070040 */ lw $a3, 0x40($s0)
/* 24CD4 800498D4 C44C0000 */ lwc1 $f12, ($v0)
/* 24CD8 800498D8 46806320 */ cvt.s.w $f12, $f12
/* 24CDC 800498DC C44E0008 */ lwc1 $f14, 8($v0)
/* 24CE0 800498E0 0C00A7B5 */ jal dist2D
/* 24CE4 800498E4 468073A0 */ cvt.s.w $f14, $f14
/* 24CE8 800498E8 C6020018 */ lwc1 $f2, 0x18($s0)
/* 24CEC 800498EC 4600103C */ c.lt.s $f2, $f0
/* 24CF0 800498F0 00000000 */ nop
/* 24CF4 800498F4 45000057 */ bc1f .L80049A54
/* 24CF8 800498F8 00000000 */ nop
/* 24CFC 800498FC 8E2300B0 */ lw $v1, 0xb0($s1)
/* 24D00 80049900 30620020 */ andi $v0, $v1, 0x20
/* 24D04 80049904 14400002 */ bnez $v0, .L80049910
/* 24D08 80049908 34620060 */ ori $v0, $v1, 0x60
/* 24D0C 8004990C AE2200B0 */ sw $v0, 0xb0($s1)
.L80049910:
/* 24D10 80049910 8E2200B0 */ lw $v0, 0xb0($s1)
/* 24D14 80049914 30420040 */ andi $v0, $v0, 0x40
/* 24D18 80049918 10400013 */ beqz $v0, .L80049968
/* 24D1C 8004991C 00000000 */ nop
/* 24D20 80049920 C60C0038 */ lwc1 $f12, 0x38($s0)
/* 24D24 80049924 8E2200D0 */ lw $v0, 0xd0($s1)
/* 24D28 80049928 C60E0040 */ lwc1 $f14, 0x40($s0)
/* 24D2C 8004992C C4460000 */ lwc1 $f6, ($v0)
/* 24D30 80049930 468031A0 */ cvt.s.w $f6, $f6
/* 24D34 80049934 44063000 */ mfc1 $a2, $f6
/* 24D38 80049938 C4460008 */ lwc1 $f6, 8($v0)
/* 24D3C 8004993C 468031A0 */ cvt.s.w $f6, $f6
/* 24D40 80049940 44073000 */ mfc1 $a3, $f6
/* 24D44 80049944 0C00A720 */ jal atan2
/* 24D48 80049948 00000000 */ nop
/* 24D4C 8004994C 0C00A6C9 */ jal clamp_angle
/* 24D50 80049950 46000306 */ mov.s $f12, $f0
/* 24D54 80049954 E600000C */ swc1 $f0, 0xc($s0)
/* 24D58 80049958 8E2200B0 */ lw $v0, 0xb0($s1)
/* 24D5C 8004995C 2403FFBF */ addiu $v1, $zero, -0x41
/* 24D60 80049960 00431024 */ and $v0, $v0, $v1
/* 24D64 80049964 AE2200B0 */ sw $v0, 0xb0($s1)
.L80049968:
/* 24D68 80049968 C6000018 */ lwc1 $f0, 0x18($s0)
/* 24D6C 8004996C C6020038 */ lwc1 $f2, 0x38($s0)
/* 24D70 80049970 46000021 */ cvt.d.s $f0, $f0
/* 24D74 80049974 E7A20028 */ swc1 $f2, 0x28($sp)
/* 24D78 80049978 C602003C */ lwc1 $f2, 0x3c($s0)
/* 24D7C 8004997C C6040040 */ lwc1 $f4, 0x40($s0)
/* 24D80 80049980 46200000 */ add.d $f0, $f0, $f0
/* 24D84 80049984 E7A2002C */ swc1 $f2, 0x2c($sp)
/* 24D88 80049988 E7A40030 */ swc1 $f4, 0x30($sp)
/* 24D8C 8004998C 46200020 */ cvt.s.d $f0, $f0
/* 24D90 80049990 E7A00010 */ swc1 $f0, 0x10($sp)
/* 24D94 80049994 C600000C */ lwc1 $f0, 0xc($s0)
/* 24D98 80049998 E7A00014 */ swc1 $f0, 0x14($sp)
/* 24D9C 8004999C 860200A8 */ lh $v0, 0xa8($s0)
/* 24DA0 800499A0 27A50028 */ addiu $a1, $sp, 0x28
/* 24DA4 800499A4 44820000 */ mtc1 $v0, $f0
/* 24DA8 800499A8 00000000 */ nop
/* 24DAC 800499AC 46800020 */ cvt.s.w $f0, $f0
/* 24DB0 800499B0 E7A00018 */ swc1 $f0, 0x18($sp)
/* 24DB4 800499B4 860200A6 */ lh $v0, 0xa6($s0)
/* 24DB8 800499B8 27A6002C */ addiu $a2, $sp, 0x2c
/* 24DBC 800499BC 44820000 */ mtc1 $v0, $f0
/* 24DC0 800499C0 00000000 */ nop
/* 24DC4 800499C4 46800020 */ cvt.s.w $f0, $f0
/* 24DC8 800499C8 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 24DCC 800499CC 8E040080 */ lw $a0, 0x80($s0)
/* 24DD0 800499D0 0C037711 */ jal func_800DDC44
/* 24DD4 800499D4 27A70030 */ addiu $a3, $sp, 0x30
/* 24DD8 800499D8 10400026 */ beqz $v0, .L80049A74
/* 24DDC 800499DC 24150001 */ addiu $s5, $zero, 1
/* 24DE0 800499E0 C60C0038 */ lwc1 $f12, 0x38($s0)
/* 24DE4 800499E4 8E2200D0 */ lw $v0, 0xd0($s1)
/* 24DE8 800499E8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* 24DEC 800499EC C4460000 */ lwc1 $f6, ($v0)
/* 24DF0 800499F0 468031A0 */ cvt.s.w $f6, $f6
/* 24DF4 800499F4 44063000 */ mfc1 $a2, $f6
/* 24DF8 800499F8 C4460008 */ lwc1 $f6, 8($v0)
/* 24DFC 800499FC 468031A0 */ cvt.s.w $f6, $f6
/* 24E00 80049A00 44073000 */ mfc1 $a3, $f6
/* 24E04 80049A04 0C00A720 */ jal atan2
/* 24E08 80049A08 00000000 */ nop
/* 24E0C 80049A0C 0C00A6C9 */ jal clamp_angle
/* 24E10 80049A10 46000306 */ mov.s $f12, $f0
/* 24E14 80049A14 0200202D */ daddu $a0, $s0, $zero
/* 24E18 80049A18 27A60038 */ addiu $a2, $sp, 0x38
/* 24E1C 80049A1C 0000382D */ daddu $a3, $zero, $zero
/* 24E20 80049A20 2403FFBF */ addiu $v1, $zero, -0x41
/* 24E24 80049A24 E7A00038 */ swc1 $f0, 0x38($sp)
/* 24E28 80049A28 8E2200B0 */ lw $v0, 0xb0($s1)
/* 24E2C 80049A2C 3C0540A0 */ lui $a1, 0x40a0
/* 24E30 80049A30 00431024 */ and $v0, $v0, $v1
/* 24E34 80049A34 AE2200B0 */ sw $v0, 0xb0($s1)
/* 24E38 80049A38 AFA00010 */ sw $zero, 0x10($sp)
/* 24E3C 80049A3C 0C0129E1 */ jal func_8004A784
/* 24E40 80049A40 AFA00014 */ sw $zero, 0x14($sp)
/* 24E44 80049A44 C7A00038 */ lwc1 $f0, 0x38($sp)
/* 24E48 80049A48 E600000C */ swc1 $f0, 0xc($s0)
/* 24E4C 80049A4C 0801269D */ j .L80049A74
/* 24E50 80049A50 24150001 */ addiu $s5, $zero, 1
.L80049A54:
/* 24E54 80049A54 8E2300B0 */ lw $v1, 0xb0($s1)
/* 24E58 80049A58 30620020 */ andi $v0, $v1, 0x20
/* 24E5C 80049A5C 10400005 */ beqz $v0, .L80049A74
/* 24E60 80049A60 2402FFDF */ addiu $v0, $zero, -0x21
/* 24E64 80049A64 00621024 */ and $v0, $v1, $v0
/* 24E68 80049A68 2403FFBF */ addiu $v1, $zero, -0x41
/* 24E6C 80049A6C 00431024 */ and $v0, $v0, $v1
/* 24E70 80049A70 AE2200B0 */ sw $v0, 0xb0($s1)
.L80049A74:
/* 24E74 80049A74 8E2200D0 */ lw $v0, 0xd0($s1)
/* 24E78 80049A78 8C43000C */ lw $v1, 0xc($v0)
/* 24E7C 80049A7C 8C420010 */ lw $v0, 0x10($v0)
/* 24E80 80049A80 00621825 */ or $v1, $v1, $v0
/* 24E84 80049A84 00751825 */ or $v1, $v1, $s5
/* 24E88 80049A88 10600008 */ beqz $v1, .L80049AAC
/* 24E8C 80049A8C 00000000 */ nop
/* 24E90 80049A90 8602008C */ lh $v0, 0x8c($s0)
/* 24E94 80049A94 14400022 */ bnez $v0, .L80049B20
/* 24E98 80049A98 00000000 */ nop
/* 24E9C 80049A9C 8E050018 */ lw $a1, 0x18($s0)
/* 24EA0 80049AA0 8E06000C */ lw $a2, 0xc($s0)
/* 24EA4 80049AA4 0C00EA95 */ jal npc_move_heading
/* 24EA8 80049AA8 0200202D */ daddu $a0, $s0, $zero
.L80049AAC:
/* 24EAC 80049AAC 8E820004 */ lw $v0, 4($s4)
/* 24EB0 80049AB0 1840001B */ blez $v0, .L80049B20
/* 24EB4 80049AB4 00000000 */ nop
/* 24EB8 80049AB8 9602008E */ lhu $v0, 0x8e($s0)
/* 24EBC 80049ABC 2442FFFF */ addiu $v0, $v0, -1
/* 24EC0 80049AC0 A602008E */ sh $v0, 0x8e($s0)
/* 24EC4 80049AC4 00021400 */ sll $v0, $v0, 0x10
/* 24EC8 80049AC8 1C400015 */ bgtz $v0, .L80049B20
/* 24ECC 80049ACC 240403E8 */ addiu $a0, $zero, 0x3e8
/* 24ED0 80049AD0 24020002 */ addiu $v0, $zero, 2
/* 24ED4 80049AD4 0C00A67F */ jal rand_int
/* 24ED8 80049AD8 AE620070 */ sw $v0, 0x70($s3)
/* 24EDC 80049ADC 3C035555 */ lui $v1, 0x5555
/* 24EE0 80049AE0 34635556 */ ori $v1, $v1, 0x5556
/* 24EE4 80049AE4 00430018 */ mult $v0, $v1
/* 24EE8 80049AE8 000227C3 */ sra $a0, $v0, 0x1f
/* 24EEC 80049AEC 00004010 */ mfhi $t0
/* 24EF0 80049AF0 01042023 */ subu $a0, $t0, $a0
/* 24EF4 80049AF4 00041840 */ sll $v1, $a0, 1
/* 24EF8 80049AF8 00641821 */ addu $v1, $v1, $a0
/* 24EFC 80049AFC 00431023 */ subu $v0, $v0, $v1
/* 24F00 80049B00 24420002 */ addiu $v0, $v0, 2
/* 24F04 80049B04 AE620074 */ sw $v0, 0x74($s3)
/* 24F08 80049B08 8E82002C */ lw $v0, 0x2c($s4)
/* 24F0C 80049B0C 58400004 */ blezl $v0, .L80049B20
/* 24F10 80049B10 AE600070 */ sw $zero, 0x70($s3)
/* 24F14 80049B14 8E820008 */ lw $v0, 8($s4)
/* 24F18 80049B18 58400001 */ blezl $v0, .L80049B20
/* 24F1C 80049B1C AE600070 */ sw $zero, 0x70($s3)
.L80049B20:
/* 24F20 80049B20 8FBF0058 */ lw $ra, 0x58($sp)
/* 24F24 80049B24 8FB50054 */ lw $s5, 0x54($sp)
/* 24F28 80049B28 8FB40050 */ lw $s4, 0x50($sp)
/* 24F2C 80049B2C 8FB3004C */ lw $s3, 0x4c($sp)
/* 24F30 80049B30 8FB20048 */ lw $s2, 0x48($sp)
/* 24F34 80049B34 8FB10044 */ lw $s1, 0x44($sp)
/* 24F38 80049B38 8FB00040 */ lw $s0, 0x40($sp)
/* 24F3C 80049B3C 03E00008 */ jr $ra
/* 24F40 80049B40 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -0,0 +1,151 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80049C04
/* 25004 80049C04 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 25008 80049C08 AFB40048 */ sw $s4, 0x48($sp)
/* 2500C 80049C0C 0080A02D */ daddu $s4, $a0, $zero
/* 25010 80049C10 AFBF004C */ sw $ra, 0x4c($sp)
/* 25014 80049C14 AFB30044 */ sw $s3, 0x44($sp)
/* 25018 80049C18 AFB20040 */ sw $s2, 0x40($sp)
/* 2501C 80049C1C AFB1003C */ sw $s1, 0x3c($sp)
/* 25020 80049C20 AFB00038 */ sw $s0, 0x38($sp)
/* 25024 80049C24 F7B40050 */ sdc1 $f20, 0x50($sp)
/* 25028 80049C28 8E920148 */ lw $s2, 0x148($s4)
/* 2502C 80049C2C 00A0982D */ daddu $s3, $a1, $zero
/* 25030 80049C30 86440008 */ lh $a0, 8($s2)
/* 25034 80049C34 0C00EABB */ jal get_npc_unsafe
/* 25038 80049C38 00C0882D */ daddu $s1, $a2, $zero
/* 2503C 80049C3C 8E630014 */ lw $v1, 0x14($s3)
/* 25040 80049C40 0460004F */ bltz $v1, .L80049D80
/* 25044 80049C44 0040802D */ daddu $s0, $v0, $zero
/* 25048 80049C48 0220202D */ daddu $a0, $s1, $zero
/* 2504C 80049C4C AFA00010 */ sw $zero, 0x10($sp)
/* 25050 80049C50 8E660024 */ lw $a2, 0x24($s3)
/* 25054 80049C54 8E670028 */ lw $a3, 0x28($s3)
/* 25058 80049C58 0C01242D */ jal func_800490B4
/* 2505C 80049C5C 0240282D */ daddu $a1, $s2, $zero
/* 25060 80049C60 10400047 */ beqz $v0, .L80049D80
/* 25064 80049C64 00000000 */ nop
/* 25068 80049C68 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* 2506C 80049C6C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* 25070 80049C70 C60C0038 */ lwc1 $f12, 0x38($s0)
/* 25074 80049C74 C602003C */ lwc1 $f2, 0x3c($s0)
/* 25078 80049C78 C6040040 */ lwc1 $f4, 0x40($s0)
/* 2507C 80049C7C 46006006 */ mov.s $f0, $f12
/* 25080 80049C80 8C460028 */ lw $a2, 0x28($v0)
/* 25084 80049C84 8C470030 */ lw $a3, 0x30($v0)
/* 25088 80049C88 46002386 */ mov.s $f14, $f4
/* 2508C 80049C8C E7A00028 */ swc1 $f0, 0x28($sp)
/* 25090 80049C90 E7A2002C */ swc1 $f2, 0x2c($sp)
/* 25094 80049C94 0C00A720 */ jal atan2
/* 25098 80049C98 E7A40030 */ swc1 $f4, 0x30($sp)
/* 2509C 80049C9C C6620018 */ lwc1 $f2, 0x18($s3)
/* 250A0 80049CA0 46000506 */ mov.s $f20, $f0
/* 250A4 80049CA4 E7B40014 */ swc1 $f20, 0x14($sp)
/* 250A8 80049CA8 E7A20010 */ swc1 $f2, 0x10($sp)
/* 250AC 80049CAC 860200A8 */ lh $v0, 0xa8($s0)
/* 250B0 80049CB0 27A50028 */ addiu $a1, $sp, 0x28
/* 250B4 80049CB4 44820000 */ mtc1 $v0, $f0
/* 250B8 80049CB8 00000000 */ nop
/* 250BC 80049CBC 46800020 */ cvt.s.w $f0, $f0
/* 250C0 80049CC0 E7A00018 */ swc1 $f0, 0x18($sp)
/* 250C4 80049CC4 860200A6 */ lh $v0, 0xa6($s0)
/* 250C8 80049CC8 27A6002C */ addiu $a2, $sp, 0x2c
/* 250CC 80049CCC 44820000 */ mtc1 $v0, $f0
/* 250D0 80049CD0 00000000 */ nop
/* 250D4 80049CD4 46800020 */ cvt.s.w $f0, $f0
/* 250D8 80049CD8 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 250DC 80049CDC 8E040080 */ lw $a0, 0x80($s0)
/* 250E0 80049CE0 0C037711 */ jal func_800DDC44
/* 250E4 80049CE4 27A70030 */ addiu $a3, $sp, 0x30
/* 250E8 80049CE8 14400025 */ bnez $v0, .L80049D80
/* 250EC 80049CEC 0200202D */ daddu $a0, $s0, $zero
/* 250F0 80049CF0 240502F4 */ addiu $a1, $zero, 0x2f4
/* 250F4 80049CF4 3C060020 */ lui $a2, 0x20
/* 250F8 80049CF8 0C012530 */ jal func_800494C0
/* 250FC 80049CFC E614000C */ swc1 $f20, 0xc($s0)
/* 25100 80049D00 0000202D */ daddu $a0, $zero, $zero
/* 25104 80049D04 0200282D */ daddu $a1, $s0, $zero
/* 25108 80049D08 0000302D */ daddu $a2, $zero, $zero
/* 2510C 80049D0C 84A300A8 */ lh $v1, 0xa8($a1)
/* 25110 80049D10 3C013F80 */ lui $at, 0x3f80
/* 25114 80049D14 44810000 */ mtc1 $at, $f0
/* 25118 80049D18 3C014000 */ lui $at, 0x4000
/* 2511C 80049D1C 44811000 */ mtc1 $at, $f2
/* 25120 80049D20 3C01C1A0 */ lui $at, 0xc1a0
/* 25124 80049D24 44812000 */ mtc1 $at, $f4
/* 25128 80049D28 2402000F */ addiu $v0, $zero, 0xf
/* 2512C 80049D2C AFA2001C */ sw $v0, 0x1c($sp)
/* 25130 80049D30 44833000 */ mtc1 $v1, $f6
/* 25134 80049D34 00000000 */ nop
/* 25138 80049D38 468031A0 */ cvt.s.w $f6, $f6
/* 2513C 80049D3C 44073000 */ mfc1 $a3, $f6
/* 25140 80049D40 27A20034 */ addiu $v0, $sp, 0x34
/* 25144 80049D44 AFA20020 */ sw $v0, 0x20($sp)
/* 25148 80049D48 E7A00010 */ swc1 $f0, 0x10($sp)
/* 2514C 80049D4C E7A20014 */ swc1 $f2, 0x14($sp)
/* 25150 80049D50 0C01BFA4 */ jal fx_emote
/* 25154 80049D54 E7A40018 */ swc1 $f4, 0x18($sp)
/* 25158 80049D58 8E420018 */ lw $v0, 0x18($s2)
/* 2515C 80049D5C 9442002A */ lhu $v0, 0x2a($v0)
/* 25160 80049D60 30420001 */ andi $v0, $v0, 1
/* 25164 80049D64 10400003 */ beqz $v0, .L80049D74
/* 25168 80049D68 2402000A */ addiu $v0, $zero, 0xa
/* 2516C 80049D6C 08012786 */ j .L80049E18
/* 25170 80049D70 AE820070 */ sw $v0, 0x70($s4)
.L80049D74:
/* 25174 80049D74 2402000C */ addiu $v0, $zero, 0xc
/* 25178 80049D78 08012786 */ j .L80049E18
/* 2517C 80049D7C AE820070 */ sw $v0, 0x70($s4)
.L80049D80:
/* 25180 80049D80 8602008C */ lh $v0, 0x8c($s0)
/* 25184 80049D84 14400024 */ bnez $v0, .L80049E18
/* 25188 80049D88 00000000 */ nop
/* 2518C 80049D8C 9602008E */ lhu $v0, 0x8e($s0)
/* 25190 80049D90 2442FFFF */ addiu $v0, $v0, -1
/* 25194 80049D94 A602008E */ sh $v0, 0x8e($s0)
/* 25198 80049D98 00021400 */ sll $v0, $v0, 0x10
/* 2519C 80049D9C 1C40001E */ bgtz $v0, .L80049E18
/* 251A0 80049DA0 00000000 */ nop
/* 251A4 80049DA4 8E820074 */ lw $v0, 0x74($s4)
/* 251A8 80049DA8 2442FFFF */ addiu $v0, $v0, -1
/* 251AC 80049DAC 10400019 */ beqz $v0, .L80049E14
/* 251B0 80049DB0 AE820074 */ sw $v0, 0x74($s4)
/* 251B4 80049DB4 8E420018 */ lw $v0, 0x18($s2)
/* 251B8 80049DB8 9442002A */ lhu $v0, 0x2a($v0)
/* 251BC 80049DBC 30420010 */ andi $v0, $v0, 0x10
/* 251C0 80049DC0 14400007 */ bnez $v0, .L80049DE0
/* 251C4 80049DC4 00000000 */ nop
/* 251C8 80049DC8 C600000C */ lwc1 $f0, 0xc($s0)
/* 251CC 80049DCC 3C014334 */ lui $at, 0x4334
/* 251D0 80049DD0 44816000 */ mtc1 $at, $f12
/* 251D4 80049DD4 0C00A6C9 */ jal clamp_angle
/* 251D8 80049DD8 460C0300 */ add.s $f12, $f0, $f12
/* 251DC 80049DDC E600000C */ swc1 $f0, 0xc($s0)
.L80049DE0:
/* 251E0 80049DE0 8E640008 */ lw $a0, 8($s3)
/* 251E4 80049DE4 000417C2 */ srl $v0, $a0, 0x1f
/* 251E8 80049DE8 00822021 */ addu $a0, $a0, $v0
/* 251EC 80049DEC 00042043 */ sra $a0, $a0, 1
/* 251F0 80049DF0 0C00A67F */ jal rand_int
/* 251F4 80049DF4 24840001 */ addiu $a0, $a0, 1
/* 251F8 80049DF8 8E630008 */ lw $v1, 8($s3)
/* 251FC 80049DFC 000327C2 */ srl $a0, $v1, 0x1f
/* 25200 80049E00 00641821 */ addu $v1, $v1, $a0
/* 25204 80049E04 00031843 */ sra $v1, $v1, 1
/* 25208 80049E08 00621821 */ addu $v1, $v1, $v0
/* 2520C 80049E0C 08012786 */ j .L80049E18
/* 25210 80049E10 A603008E */ sh $v1, 0x8e($s0)
.L80049E14:
/* 25214 80049E14 AE800070 */ sw $zero, 0x70($s4)
.L80049E18:
/* 25218 80049E18 8FBF004C */ lw $ra, 0x4c($sp)
/* 2521C 80049E1C 8FB40048 */ lw $s4, 0x48($sp)
/* 25220 80049E20 8FB30044 */ lw $s3, 0x44($sp)
/* 25224 80049E24 8FB20040 */ lw $s2, 0x40($sp)
/* 25228 80049E28 8FB1003C */ lw $s1, 0x3c($sp)
/* 2522C 80049E2C 8FB00038 */ lw $s0, 0x38($sp)
/* 25230 80049E30 D7B40050 */ ldc1 $f20, 0x50($sp)
/* 25234 80049E34 03E00008 */ jr $ra
/* 25238 80049E38 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -0,0 +1,40 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80049E3C
/* 2523C 80049E3C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 25240 80049E40 AFB20018 */ sw $s2, 0x18($sp)
/* 25244 80049E44 0080902D */ daddu $s2, $a0, $zero
/* 25248 80049E48 AFBF001C */ sw $ra, 0x1c($sp)
/* 2524C 80049E4C AFB10014 */ sw $s1, 0x14($sp)
/* 25250 80049E50 AFB00010 */ sw $s0, 0x10($sp)
/* 25254 80049E54 8E510148 */ lw $s1, 0x148($s2)
/* 25258 80049E58 0C00EABB */ jal get_npc_unsafe
/* 2525C 80049E5C 86240008 */ lh $a0, 8($s1)
/* 25260 80049E60 0040802D */ daddu $s0, $v0, $zero
/* 25264 80049E64 0200202D */ daddu $a0, $s0, $zero
/* 25268 80049E68 240503E1 */ addiu $a1, $zero, 0x3e1
/* 2526C 80049E6C 0C012530 */ jal func_800494C0
/* 25270 80049E70 0000302D */ daddu $a2, $zero, $zero
/* 25274 80049E74 8E2200CC */ lw $v0, 0xcc($s1)
/* 25278 80049E78 3C014120 */ lui $at, 0x4120
/* 2527C 80049E7C 44812000 */ mtc1 $at, $f4
/* 25280 80049E80 3C014020 */ lui $at, 0x4020
/* 25284 80049E84 44810000 */ mtc1 $at, $f0
/* 25288 80049E88 C602003C */ lwc1 $f2, 0x3c($s0)
/* 2528C 80049E8C 8C430010 */ lw $v1, 0x10($v0)
/* 25290 80049E90 8E020000 */ lw $v0, ($s0)
/* 25294 80049E94 E604001C */ swc1 $f4, 0x1c($s0)
/* 25298 80049E98 E6000014 */ swc1 $f0, 0x14($s0)
/* 2529C 80049E9C E6020064 */ swc1 $f2, 0x64($s0)
/* 252A0 80049EA0 34420800 */ ori $v0, $v0, 0x800
/* 252A4 80049EA4 AE020000 */ sw $v0, ($s0)
/* 252A8 80049EA8 2402000B */ addiu $v0, $zero, 0xb
/* 252AC 80049EAC AE030028 */ sw $v1, 0x28($s0)
/* 252B0 80049EB0 AE420070 */ sw $v0, 0x70($s2)
/* 252B4 80049EB4 8FBF001C */ lw $ra, 0x1c($sp)
/* 252B8 80049EB8 8FB20018 */ lw $s2, 0x18($sp)
/* 252BC 80049EBC 8FB10014 */ lw $s1, 0x14($sp)
/* 252C0 80049EC0 8FB00010 */ lw $s0, 0x10($sp)
/* 252C4 80049EC4 03E00008 */ jr $ra
/* 252C8 80049EC8 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,51 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80049ECC
/* 252CC 80049ECC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 252D0 80049ED0 AFB00010 */ sw $s0, 0x10($sp)
/* 252D4 80049ED4 0080802D */ daddu $s0, $a0, $zero
/* 252D8 80049ED8 AFBF0014 */ sw $ra, 0x14($sp)
/* 252DC 80049EDC 8E020148 */ lw $v0, 0x148($s0)
/* 252E0 80049EE0 0C00EABB */ jal get_npc_unsafe
/* 252E4 80049EE4 84440008 */ lh $a0, 8($v0)
/* 252E8 80049EE8 0040202D */ daddu $a0, $v0, $zero
/* 252EC 80049EEC C480001C */ lwc1 $f0, 0x1c($a0)
/* 252F0 80049EF0 44801000 */ mtc1 $zero, $f2
/* 252F4 80049EF4 44801800 */ mtc1 $zero, $f3
/* 252F8 80049EF8 46000021 */ cvt.d.s $f0, $f0
/* 252FC 80049EFC 4622003E */ c.le.d $f0, $f2
/* 25300 80049F00 00000000 */ nop
/* 25304 80049F04 45000009 */ bc1f .L80049F2C
/* 25308 80049F08 0000182D */ daddu $v1, $zero, $zero
/* 2530C 80049F0C C480003C */ lwc1 $f0, 0x3c($a0)
/* 25310 80049F10 C4820064 */ lwc1 $f2, 0x64($a0)
/* 25314 80049F14 4602003E */ c.le.s $f0, $f2
/* 25318 80049F18 00000000 */ nop
/* 2531C 80049F1C 45000003 */ bc1f .L80049F2C
/* 25320 80049F20 00000000 */ nop
/* 25324 80049F24 E482003C */ swc1 $f2, 0x3c($a0)
/* 25328 80049F28 24030001 */ addiu $v1, $zero, 1
.L80049F2C:
/* 2532C 80049F2C 14600009 */ bnez $v1, .L80049F54
/* 25330 80049F30 2403F7FF */ addiu $v1, $zero, -0x801
/* 25334 80049F34 C484003C */ lwc1 $f4, 0x3c($a0)
/* 25338 80049F38 C480001C */ lwc1 $f0, 0x1c($a0)
/* 2533C 80049F3C 46002100 */ add.s $f4, $f4, $f0
/* 25340 80049F40 C4820014 */ lwc1 $f2, 0x14($a0)
/* 25344 80049F44 46020001 */ sub.s $f0, $f0, $f2
/* 25348 80049F48 E484003C */ swc1 $f4, 0x3c($a0)
/* 2534C 80049F4C 080127DB */ j .L80049F6C
/* 25350 80049F50 E480001C */ swc1 $f0, 0x1c($a0)
.L80049F54:
/* 25354 80049F54 8C820000 */ lw $v0, ($a0)
/* 25358 80049F58 AC80001C */ sw $zero, 0x1c($a0)
/* 2535C 80049F5C 00431024 */ and $v0, $v0, $v1
/* 25360 80049F60 AC820000 */ sw $v0, ($a0)
/* 25364 80049F64 2402000C */ addiu $v0, $zero, 0xc
/* 25368 80049F68 AE020070 */ sw $v0, 0x70($s0)
.L80049F6C:
/* 2536C 80049F6C 8FBF0014 */ lw $ra, 0x14($sp)
/* 25370 80049F70 8FB00010 */ lw $s0, 0x10($sp)
/* 25374 80049F74 03E00008 */ jr $ra
/* 25378 80049F78 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,115 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80049F7C
/* 2537C 80049F7C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 25380 80049F80 AFB40020 */ sw $s4, 0x20($sp)
/* 25384 80049F84 0080A02D */ daddu $s4, $a0, $zero
/* 25388 80049F88 AFBF0024 */ sw $ra, 0x24($sp)
/* 2538C 80049F8C AFB3001C */ sw $s3, 0x1c($sp)
/* 25390 80049F90 AFB20018 */ sw $s2, 0x18($sp)
/* 25394 80049F94 AFB10014 */ sw $s1, 0x14($sp)
/* 25398 80049F98 AFB00010 */ sw $s0, 0x10($sp)
/* 2539C 80049F9C F7B40028 */ sdc1 $f20, 0x28($sp)
/* 253A0 80049FA0 8E930148 */ lw $s3, 0x148($s4)
/* 253A4 80049FA4 86640008 */ lh $a0, 8($s3)
/* 253A8 80049FA8 0C00EABB */ jal get_npc_unsafe
/* 253AC 80049FAC 00A0902D */ daddu $s2, $a1, $zero
/* 253B0 80049FB0 3C04800F */ lui $a0, %hi(gPlayerStatusPtr)
/* 253B4 80049FB4 8C847B30 */ lw $a0, %lo(gPlayerStatusPtr)($a0)
/* 253B8 80049FB8 908300B4 */ lbu $v1, 0xb4($a0)
/* 253BC 80049FBC 0040802D */ daddu $s0, $v0, $zero
/* 253C0 80049FC0 2462FFFD */ addiu $v0, $v1, -3
/* 253C4 80049FC4 2C420003 */ sltiu $v0, $v0, 3
/* 253C8 80049FC8 14400006 */ bnez $v0, .L80049FE4
/* 253CC 80049FCC 0000882D */ daddu $s1, $zero, $zero
/* 253D0 80049FD0 00031600 */ sll $v0, $v1, 0x18
/* 253D4 80049FD4 00021603 */ sra $v0, $v0, 0x18
/* 253D8 80049FD8 24030008 */ addiu $v1, $zero, 8
/* 253DC 80049FDC 1443000F */ bne $v0, $v1, .L8004A01C
/* 253E0 80049FE0 00000000 */ nop
.L80049FE4:
/* 253E4 80049FE4 C60C0038 */ lwc1 $f12, 0x38($s0)
/* 253E8 80049FE8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* 253EC 80049FEC 8C860028 */ lw $a2, 0x28($a0)
/* 253F0 80049FF0 0C00A7B5 */ jal dist2D
/* 253F4 80049FF4 8C870030 */ lw $a3, 0x30($a0)
/* 253F8 80049FF8 860200A6 */ lh $v0, 0xa6($s0)
/* 253FC 80049FFC 46000021 */ cvt.d.s $f0, $f0
/* 25400 8004A000 44821000 */ mtc1 $v0, $f2
/* 25404 8004A004 00000000 */ nop
/* 25408 8004A008 468010A1 */ cvt.d.w $f2, $f2
/* 2540C 8004A00C 4622003C */ c.lt.d $f0, $f2
/* 25410 8004A010 00000000 */ nop
/* 25414 8004A014 45030001 */ bc1tl .L8004A01C
/* 25418 8004A018 24110001 */ addiu $s1, $zero, 1
.L8004A01C:
/* 2541C 8004A01C 56200031 */ bnel $s1, $zero, .L8004A0E4
/* 25420 8004A020 A600008E */ sh $zero, 0x8e($s0)
/* 25424 8004A024 C60C0038 */ lwc1 $f12, 0x38($s0)
/* 25428 8004A028 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* 2542C 8004A02C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* 25430 8004A030 C60E0040 */ lwc1 $f14, 0x40($s0)
/* 25434 8004A034 8C460028 */ lw $a2, 0x28($v0)
/* 25438 8004A038 0C00A720 */ jal atan2
/* 2543C 8004A03C 8C470030 */ lw $a3, 0x30($v0)
/* 25440 8004A040 46000506 */ mov.s $f20, $f0
/* 25444 8004A044 C60C000C */ lwc1 $f12, 0xc($s0)
/* 25448 8004A048 0C00A70A */ jal get_clamped_angle_diff
/* 2544C 8004A04C 4600A386 */ mov.s $f14, $f20
/* 25450 8004A050 46000086 */ mov.s $f2, $f0
/* 25454 8004A054 8E42001C */ lw $v0, 0x1c($s2)
/* 25458 8004A058 46001005 */ abs.s $f0, $f2
/* 2545C 8004A05C 44822000 */ mtc1 $v0, $f4
/* 25460 8004A060 00000000 */ nop
/* 25464 8004A064 46802120 */ cvt.s.w $f4, $f4
/* 25468 8004A068 4600203C */ c.lt.s $f4, $f0
/* 2546C 8004A06C 00000000 */ nop
/* 25470 8004A070 4500000D */ bc1f .L8004A0A8
/* 25474 8004A074 00000000 */ nop
/* 25478 8004A078 44800000 */ mtc1 $zero, $f0
/* 2547C 8004A07C C614000C */ lwc1 $f20, 0xc($s0)
/* 25480 8004A080 4600103C */ c.lt.s $f2, $f0
/* 25484 8004A084 00000000 */ nop
/* 25488 8004A088 45000006 */ bc1f .L8004A0A4
/* 2548C 8004A08C 00021023 */ negu $v0, $v0
/* 25490 8004A090 44820000 */ mtc1 $v0, $f0
/* 25494 8004A094 00000000 */ nop
/* 25498 8004A098 46800020 */ cvt.s.w $f0, $f0
/* 2549C 8004A09C 0801282A */ j .L8004A0A8
/* 254A0 8004A0A0 4600A500 */ add.s $f20, $f20, $f0
.L8004A0A4:
/* 254A4 8004A0A4 4604A500 */ add.s $f20, $f20, $f4
.L8004A0A8:
/* 254A8 8004A0A8 0C00A6C9 */ jal clamp_angle
/* 254AC 8004A0AC 4600A306 */ mov.s $f12, $f20
/* 254B0 8004A0B0 E600000C */ swc1 $f0, 0xc($s0)
/* 254B4 8004A0B4 8E440020 */ lw $a0, 0x20($s2)
/* 254B8 8004A0B8 000417C2 */ srl $v0, $a0, 0x1f
/* 254BC 8004A0BC 00822021 */ addu $a0, $a0, $v0
/* 254C0 8004A0C0 00042043 */ sra $a0, $a0, 1
/* 254C4 8004A0C4 0C00A67F */ jal rand_int
/* 254C8 8004A0C8 24840001 */ addiu $a0, $a0, 1
/* 254CC 8004A0CC 8E430020 */ lw $v1, 0x20($s2)
/* 254D0 8004A0D0 000327C2 */ srl $a0, $v1, 0x1f
/* 254D4 8004A0D4 00641821 */ addu $v1, $v1, $a0
/* 254D8 8004A0D8 00031843 */ sra $v1, $v1, 1
/* 254DC 8004A0DC 00621821 */ addu $v1, $v1, $v0
/* 254E0 8004A0E0 A603008E */ sh $v1, 0x8e($s0)
.L8004A0E4:
/* 254E4 8004A0E4 8E6200CC */ lw $v0, 0xcc($s3)
/* 254E8 8004A0E8 8C42000C */ lw $v0, 0xc($v0)
/* 254EC 8004A0EC AE020028 */ sw $v0, 0x28($s0)
/* 254F0 8004A0F0 C6400018 */ lwc1 $f0, 0x18($s2)
/* 254F4 8004A0F4 2402000D */ addiu $v0, $zero, 0xd
/* 254F8 8004A0F8 E6000018 */ swc1 $f0, 0x18($s0)
/* 254FC 8004A0FC AE820070 */ sw $v0, 0x70($s4)
/* 25500 8004A100 8FBF0024 */ lw $ra, 0x24($sp)
/* 25504 8004A104 8FB40020 */ lw $s4, 0x20($sp)
/* 25508 8004A108 8FB3001C */ lw $s3, 0x1c($sp)
/* 2550C 8004A10C 8FB20018 */ lw $s2, 0x18($sp)
/* 25510 8004A110 8FB10014 */ lw $s1, 0x14($sp)
/* 25514 8004A114 8FB00010 */ lw $s0, 0x10($sp)
/* 25518 8004A118 D7B40028 */ ldc1 $f20, 0x28($sp)
/* 2551C 8004A11C 03E00008 */ jr $ra
/* 25520 8004A120 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -0,0 +1,188 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8004A124
/* 25524 8004A124 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 25528 8004A128 AFB30044 */ sw $s3, 0x44($sp)
/* 2552C 8004A12C 0080982D */ daddu $s3, $a0, $zero
/* 25530 8004A130 AFBF0048 */ sw $ra, 0x48($sp)
/* 25534 8004A134 AFB20040 */ sw $s2, 0x40($sp)
/* 25538 8004A138 AFB1003C */ sw $s1, 0x3c($sp)
/* 2553C 8004A13C AFB00038 */ sw $s0, 0x38($sp)
/* 25540 8004A140 F7B40050 */ sdc1 $f20, 0x50($sp)
/* 25544 8004A144 8E720148 */ lw $s2, 0x148($s3)
/* 25548 8004A148 00A0882D */ daddu $s1, $a1, $zero
/* 2554C 8004A14C 86440008 */ lh $a0, 8($s2)
/* 25550 8004A150 0C00EABB */ jal get_npc_unsafe
/* 25554 8004A154 00C0802D */ daddu $s0, $a2, $zero
/* 25558 8004A158 0200202D */ daddu $a0, $s0, $zero
/* 2555C 8004A15C 0240282D */ daddu $a1, $s2, $zero
/* 25560 8004A160 24030001 */ addiu $v1, $zero, 1
/* 25564 8004A164 AFA30010 */ sw $v1, 0x10($sp)
/* 25568 8004A168 8E260024 */ lw $a2, 0x24($s1)
/* 2556C 8004A16C 8E270028 */ lw $a3, 0x28($s1)
/* 25570 8004A170 0C01242D */ jal func_800490B4
/* 25574 8004A174 0040802D */ daddu $s0, $v0, $zero
/* 25578 8004A178 1440001D */ bnez $v0, .L8004A1F0
/* 2557C 8004A17C 24040002 */ addiu $a0, $zero, 2
/* 25580 8004A180 0200282D */ daddu $a1, $s0, $zero
/* 25584 8004A184 0000302D */ daddu $a2, $zero, $zero
/* 25588 8004A188 860300A8 */ lh $v1, 0xa8($s0)
/* 2558C 8004A18C 3C013F80 */ lui $at, 0x3f80
/* 25590 8004A190 44810000 */ mtc1 $at, $f0
/* 25594 8004A194 3C014000 */ lui $at, 0x4000
/* 25598 8004A198 44811000 */ mtc1 $at, $f2
/* 2559C 8004A19C 3C01C1A0 */ lui $at, 0xc1a0
/* 255A0 8004A1A0 44812000 */ mtc1 $at, $f4
/* 255A4 8004A1A4 2402000F */ addiu $v0, $zero, 0xf
/* 255A8 8004A1A8 AFA2001C */ sw $v0, 0x1c($sp)
/* 255AC 8004A1AC 44833000 */ mtc1 $v1, $f6
/* 255B0 8004A1B0 00000000 */ nop
/* 255B4 8004A1B4 468031A0 */ cvt.s.w $f6, $f6
/* 255B8 8004A1B8 44073000 */ mfc1 $a3, $f6
/* 255BC 8004A1BC 27A20028 */ addiu $v0, $sp, 0x28
/* 255C0 8004A1C0 AFA20020 */ sw $v0, 0x20($sp)
/* 255C4 8004A1C4 E7A00010 */ swc1 $f0, 0x10($sp)
/* 255C8 8004A1C8 E7A20014 */ swc1 $f2, 0x14($sp)
/* 255CC 8004A1CC 0C01BFA4 */ jal fx_emote
/* 255D0 8004A1D0 E7A40018 */ swc1 $f4, 0x18($sp)
/* 255D4 8004A1D4 8E4200CC */ lw $v0, 0xcc($s2)
/* 255D8 8004A1D8 8C430000 */ lw $v1, ($v0)
/* 255DC 8004A1DC 24020014 */ addiu $v0, $zero, 0x14
/* 255E0 8004A1E0 A602008E */ sh $v0, 0x8e($s0)
/* 255E4 8004A1E4 2402000E */ addiu $v0, $zero, 0xe
/* 255E8 8004A1E8 080128F1 */ j .L8004A3C4
/* 255EC 8004A1EC AE030028 */ sw $v1, 0x28($s0)
.L8004A1F0:
/* 255F0 8004A1F0 8E420018 */ lw $v0, 0x18($s2)
/* 255F4 8004A1F4 9442002A */ lhu $v0, 0x2a($v0)
/* 255F8 8004A1F8 30420004 */ andi $v0, $v0, 4
/* 255FC 8004A1FC 1040004A */ beqz $v0, .L8004A328
/* 25600 8004A200 0200202D */ daddu $a0, $s0, $zero
/* 25604 8004A204 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* 25608 8004A208 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* 2560C 8004A20C C60C0038 */ lwc1 $f12, 0x38($s0)
/* 25610 8004A210 C60E0040 */ lwc1 $f14, 0x40($s0)
/* 25614 8004A214 8C460028 */ lw $a2, 0x28($v0)
/* 25618 8004A218 0C00A7B5 */ jal dist2D
/* 2561C 8004A21C 8C470030 */ lw $a3, 0x30($v0)
/* 25620 8004A220 C6020018 */ lwc1 $f2, 0x18($s0)
/* 25624 8004A224 3C014014 */ lui $at, 0x4014
/* 25628 8004A228 44812800 */ mtc1 $at, $f5
/* 2562C 8004A22C 44802000 */ mtc1 $zero, $f4
/* 25630 8004A230 460010A1 */ cvt.d.s $f2, $f2
/* 25634 8004A234 46241082 */ mul.d $f2, $f2, $f4
/* 25638 8004A238 00000000 */ nop
/* 2563C 8004A23C 46000021 */ cvt.d.s $f0, $f0
/* 25640 8004A240 4620103C */ c.lt.d $f2, $f0
/* 25644 8004A244 00000000 */ nop
/* 25648 8004A248 45000036 */ bc1f .L8004A324
/* 2564C 8004A24C 27A5002C */ addiu $a1, $sp, 0x2c
/* 25650 8004A250 C6000038 */ lwc1 $f0, 0x38($s0)
/* 25654 8004A254 C602003C */ lwc1 $f2, 0x3c($s0)
/* 25658 8004A258 C6040040 */ lwc1 $f4, 0x40($s0)
/* 2565C 8004A25C 3C013F80 */ lui $at, 0x3f80
/* 25660 8004A260 4481A000 */ mtc1 $at, $f20
/* 25664 8004A264 E7A0002C */ swc1 $f0, 0x2c($sp)
/* 25668 8004A268 E7A20030 */ swc1 $f2, 0x30($sp)
/* 2566C 8004A26C E7A40034 */ swc1 $f4, 0x34($sp)
/* 25670 8004A270 E7B40010 */ swc1 $f20, 0x10($sp)
/* 25674 8004A274 C600000C */ lwc1 $f0, 0xc($s0)
/* 25678 8004A278 E7A00014 */ swc1 $f0, 0x14($sp)
/* 2567C 8004A27C 860200A8 */ lh $v0, 0xa8($s0)
/* 25680 8004A280 44820000 */ mtc1 $v0, $f0
/* 25684 8004A284 00000000 */ nop
/* 25688 8004A288 46800020 */ cvt.s.w $f0, $f0
/* 2568C 8004A28C E7A00018 */ swc1 $f0, 0x18($sp)
/* 25690 8004A290 860200A6 */ lh $v0, 0xa6($s0)
/* 25694 8004A294 27A60030 */ addiu $a2, $sp, 0x30
/* 25698 8004A298 44820000 */ mtc1 $v0, $f0
/* 2569C 8004A29C 00000000 */ nop
/* 256A0 8004A2A0 46800020 */ cvt.s.w $f0, $f0
/* 256A4 8004A2A4 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 256A8 8004A2A8 8E040080 */ lw $a0, 0x80($s0)
/* 256AC 8004A2AC 0C037711 */ jal func_800DDC44
/* 256B0 8004A2B0 27A70034 */ addiu $a3, $sp, 0x34
/* 256B4 8004A2B4 1040001B */ beqz $v0, .L8004A324
/* 256B8 8004A2B8 0200282D */ daddu $a1, $s0, $zero
/* 256BC 8004A2BC 24040002 */ addiu $a0, $zero, 2
/* 256C0 8004A2C0 0000302D */ daddu $a2, $zero, $zero
/* 256C4 8004A2C4 860300A8 */ lh $v1, 0xa8($s0)
/* 256C8 8004A2C8 3C014000 */ lui $at, 0x4000
/* 256CC 8004A2CC 44810000 */ mtc1 $at, $f0
/* 256D0 8004A2D0 3C01C1A0 */ lui $at, 0xc1a0
/* 256D4 8004A2D4 44811000 */ mtc1 $at, $f2
/* 256D8 8004A2D8 2402000C */ addiu $v0, $zero, 0xc
/* 256DC 8004A2DC AFA2001C */ sw $v0, 0x1c($sp)
/* 256E0 8004A2E0 44833000 */ mtc1 $v1, $f6
/* 256E4 8004A2E4 00000000 */ nop
/* 256E8 8004A2E8 468031A0 */ cvt.s.w $f6, $f6
/* 256EC 8004A2EC 44073000 */ mfc1 $a3, $f6
/* 256F0 8004A2F0 27A20028 */ addiu $v0, $sp, 0x28
/* 256F4 8004A2F4 E7B40010 */ swc1 $f20, 0x10($sp)
/* 256F8 8004A2F8 AFA20020 */ sw $v0, 0x20($sp)
/* 256FC 8004A2FC E7A00014 */ swc1 $f0, 0x14($sp)
/* 25700 8004A300 0C01BFA4 */ jal fx_emote
/* 25704 8004A304 E7A20018 */ swc1 $f2, 0x18($sp)
/* 25708 8004A308 8E4200CC */ lw $v0, 0xcc($s2)
/* 2570C 8004A30C 8C430000 */ lw $v1, ($v0)
/* 25710 8004A310 2402000F */ addiu $v0, $zero, 0xf
/* 25714 8004A314 A602008E */ sh $v0, 0x8e($s0)
/* 25718 8004A318 2402000E */ addiu $v0, $zero, 0xe
/* 2571C 8004A31C 080128F1 */ j .L8004A3C4
/* 25720 8004A320 AE030028 */ sw $v1, 0x28($s0)
.L8004A324:
/* 25724 8004A324 0200202D */ daddu $a0, $s0, $zero
.L8004A328:
/* 25728 8004A328 0C00F598 */ jal func_8003D660
/* 2572C 8004A32C 24050001 */ addiu $a1, $zero, 1
/* 25730 8004A330 8E050018 */ lw $a1, 0x18($s0)
/* 25734 8004A334 8E06000C */ lw $a2, 0xc($s0)
/* 25738 8004A338 0C00EA95 */ jal npc_move_heading
/* 2573C 8004A33C 0200202D */ daddu $a0, $s0, $zero
/* 25740 8004A340 C6000018 */ lwc1 $f0, 0x18($s0)
/* 25744 8004A344 3C014020 */ lui $at, 0x4020
/* 25748 8004A348 44811800 */ mtc1 $at, $f3
/* 2574C 8004A34C 44801000 */ mtc1 $zero, $f2
/* 25750 8004A350 46000021 */ cvt.d.s $f0, $f0
/* 25754 8004A354 4620103C */ c.lt.d $f2, $f0
/* 25758 8004A358 00000000 */ nop
/* 2575C 8004A35C 45000012 */ bc1f .L8004A3A8
/* 25760 8004A360 00000000 */ nop
/* 25764 8004A364 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 25768 8004A368 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 2576C 8004A36C 94430134 */ lhu $v1, 0x134($v0)
/* 25770 8004A370 3C02CCCC */ lui $v0, 0xcccc
/* 25774 8004A374 3442CCCD */ ori $v0, $v0, 0xcccd
/* 25778 8004A378 00620019 */ multu $v1, $v0
/* 2577C 8004A37C 00004010 */ mfhi $t0
/* 25780 8004A380 00082082 */ srl $a0, $t0, 2
/* 25784 8004A384 00041080 */ sll $v0, $a0, 2
/* 25788 8004A388 00441021 */ addu $v0, $v0, $a0
/* 2578C 8004A38C 00621823 */ subu $v1, $v1, $v0
/* 25790 8004A390 3063FFFF */ andi $v1, $v1, 0xffff
/* 25794 8004A394 14600004 */ bnez $v1, .L8004A3A8
/* 25798 8004A398 0200202D */ daddu $a0, $s0, $zero
/* 2579C 8004A39C 240520C1 */ addiu $a1, $zero, 0x20c1
/* 257A0 8004A3A0 0C012530 */ jal func_800494C0
/* 257A4 8004A3A4 0000302D */ daddu $a2, $zero, $zero
.L8004A3A8:
/* 257A8 8004A3A8 8602008E */ lh $v0, 0x8e($s0)
/* 257AC 8004A3AC 9603008E */ lhu $v1, 0x8e($s0)
/* 257B0 8004A3B0 18400003 */ blez $v0, .L8004A3C0
/* 257B4 8004A3B4 2462FFFF */ addiu $v0, $v1, -1
/* 257B8 8004A3B8 080128F2 */ j .L8004A3C8
/* 257BC 8004A3BC A602008E */ sh $v0, 0x8e($s0)
.L8004A3C0:
/* 257C0 8004A3C0 2402000C */ addiu $v0, $zero, 0xc
.L8004A3C4:
/* 257C4 8004A3C4 AE620070 */ sw $v0, 0x70($s3)
.L8004A3C8:
/* 257C8 8004A3C8 8FBF0048 */ lw $ra, 0x48($sp)
/* 257CC 8004A3CC 8FB30044 */ lw $s3, 0x44($sp)
/* 257D0 8004A3D0 8FB20040 */ lw $s2, 0x40($sp)
/* 257D4 8004A3D4 8FB1003C */ lw $s1, 0x3c($sp)
/* 257D8 8004A3D8 8FB00038 */ lw $s0, 0x38($sp)
/* 257DC 8004A3DC D7B40050 */ ldc1 $f20, 0x50($sp)
/* 257E0 8004A3E0 03E00008 */ jr $ra
/* 257E4 8004A3E4 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -0,0 +1,42 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8004A3E8
/* 257E8 8004A3E8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 257EC 8004A3EC AFB20018 */ sw $s2, 0x18($sp)
/* 257F0 8004A3F0 0080902D */ daddu $s2, $a0, $zero
/* 257F4 8004A3F4 AFBF001C */ sw $ra, 0x1c($sp)
/* 257F8 8004A3F8 AFB10014 */ sw $s1, 0x14($sp)
/* 257FC 8004A3FC AFB00010 */ sw $s0, 0x10($sp)
/* 25800 8004A400 8E510148 */ lw $s1, 0x148($s2)
/* 25804 8004A404 0C00EABB */ jal get_npc_unsafe
/* 25808 8004A408 86240008 */ lh $a0, 8($s1)
/* 2580C 8004A40C 0040802D */ daddu $s0, $v0, $zero
/* 25810 8004A410 9602008E */ lhu $v0, 0x8e($s0)
/* 25814 8004A414 2442FFFF */ addiu $v0, $v0, -1
/* 25818 8004A418 A602008E */ sh $v0, 0x8e($s0)
/* 2581C 8004A41C 00021400 */ sll $v0, $v0, 0x10
/* 25820 8004A420 14400010 */ bnez $v0, .L8004A464
/* 25824 8004A424 00000000 */ nop
/* 25828 8004A428 8E2200D0 */ lw $v0, 0xd0($s1)
/* 2582C 8004A42C C60C0038 */ lwc1 $f12, 0x38($s0)
/* 25830 8004A430 C60E0040 */ lwc1 $f14, 0x40($s0)
/* 25834 8004A434 C4420000 */ lwc1 $f2, ($v0)
/* 25838 8004A438 468010A0 */ cvt.s.w $f2, $f2
/* 2583C 8004A43C 44061000 */ mfc1 $a2, $f2
/* 25840 8004A440 C4420008 */ lwc1 $f2, 8($v0)
/* 25844 8004A444 468010A0 */ cvt.s.w $f2, $f2
/* 25848 8004A448 44071000 */ mfc1 $a3, $f2
/* 2584C 8004A44C 0C00A720 */ jal atan2
/* 25850 8004A450 00000000 */ nop
/* 25854 8004A454 0C00A6C9 */ jal clamp_angle
/* 25858 8004A458 46000306 */ mov.s $f12, $f0
/* 2585C 8004A45C E600000C */ swc1 $f0, 0xc($s0)
/* 25860 8004A460 AE400070 */ sw $zero, 0x70($s2)
.L8004A464:
/* 25864 8004A464 8FBF001C */ lw $ra, 0x1c($sp)
/* 25868 8004A468 8FB20018 */ lw $s2, 0x18($sp)
/* 2586C 8004A46C 8FB10014 */ lw $s1, 0x14($sp)
/* 25870 8004A470 8FB00010 */ lw $s0, 0x10($sp)
/* 25874 8004A474 03E00008 */ jr $ra
/* 25878 8004A478 27BD0020 */ addiu $sp, $sp, 0x20

752
asm/nonmatchings/code_23680/spawn_drops.s generated Normal file
View File

@ -0,0 +1,752 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spawn_drops
/* 23680 80048280 27BDFF68 */ addiu $sp, $sp, -0x98
/* 23684 80048284 AFA40098 */ sw $a0, 0x98($sp)
/* 23688 80048288 8FA80098 */ lw $t0, 0x98($sp)
/* 2368C 8004828C AFBF0064 */ sw $ra, 0x64($sp)
/* 23690 80048290 AFBE0060 */ sw $fp, 0x60($sp)
/* 23694 80048294 AFB7005C */ sw $s7, 0x5c($sp)
/* 23698 80048298 AFB60058 */ sw $s6, 0x58($sp)
/* 2369C 8004829C AFB50054 */ sw $s5, 0x54($sp)
/* 236A0 800482A0 AFB40050 */ sw $s4, 0x50($sp)
/* 236A4 800482A4 AFB3004C */ sw $s3, 0x4c($sp)
/* 236A8 800482A8 AFB20048 */ sw $s2, 0x48($sp)
/* 236AC 800482AC AFB10044 */ sw $s1, 0x44($sp)
/* 236B0 800482B0 AFB00040 */ sw $s0, 0x40($sp)
/* 236B4 800482B4 F7BE0090 */ sdc1 $f30, 0x90($sp)
/* 236B8 800482B8 F7BC0088 */ sdc1 $f28, 0x88($sp)
/* 236BC 800482BC F7BA0080 */ sdc1 $f26, 0x80($sp)
/* 236C0 800482C0 F7B80078 */ sdc1 $f24, 0x78($sp)
/* 236C4 800482C4 F7B60070 */ sdc1 $f22, 0x70($sp)
/* 236C8 800482C8 F7B40068 */ sdc1 $f20, 0x68($sp)
/* 236CC 800482CC AFA0002C */ sw $zero, 0x2c($sp)
/* 236D0 800482D0 84840008 */ lh $a0, 8($a0)
/* 236D4 800482D4 8D0800D4 */ lw $t0, 0xd4($t0)
/* 236D8 800482D8 0000902D */ daddu $s2, $zero, $zero
/* 236DC 800482DC 0C00EABB */ jal get_npc_unsafe
/* 236E0 800482E0 AFA80020 */ sw $t0, 0x20($sp)
/* 236E4 800482E4 0040802D */ daddu $s0, $v0, $zero
/* 236E8 800482E8 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 236EC 800482EC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 236F0 800482F0 3C04800B */ lui $a0, %hi(gCameras)
/* 236F4 800482F4 24841D80 */ addiu $a0, $a0, %lo(gCameras)
/* 236F8 800482F8 00031080 */ sll $v0, $v1, 2
/* 236FC 800482FC 00431021 */ addu $v0, $v0, $v1
/* 23700 80048300 00021080 */ sll $v0, $v0, 2
/* 23704 80048304 00431023 */ subu $v0, $v0, $v1
/* 23708 80048308 000218C0 */ sll $v1, $v0, 3
/* 2370C 8004830C 00431021 */ addu $v0, $v0, $v1
/* 23710 80048310 000210C0 */ sll $v0, $v0, 3
/* 23714 80048314 00448821 */ addu $s1, $v0, $a0
.L80048318:
/* 23718 80048318 0C044181 */ jal get_shadow_by_index
/* 2371C 8004831C 0240202D */ daddu $a0, $s2, $zero
/* 23720 80048320 14400004 */ bnez $v0, .L80048334
/* 23724 80048324 26520001 */ addiu $s2, $s2, 1
/* 23728 80048328 8FA8002C */ lw $t0, 0x2c($sp)
/* 2372C 8004832C 25080001 */ addiu $t0, $t0, 1
/* 23730 80048330 AFA8002C */ sw $t0, 0x2c($sp)
.L80048334:
/* 23734 80048334 2A42003C */ slti $v0, $s2, 0x3c
/* 23738 80048338 1440FFF7 */ bnez $v0, .L80048318
/* 2373C 8004833C 0000F02D */ daddu $fp, $zero, $zero
/* 23740 80048340 C620006C */ lwc1 $f0, 0x6c($s1)
/* 23744 80048344 3C0142B4 */ lui $at, 0x42b4
/* 23748 80048348 44816000 */ mtc1 $at, $f12
/* 2374C 8004834C 3C038015 */ lui $v1, %hi(D_8014B7F0)
/* 23750 80048350 8C63B7F0 */ lw $v1, %lo(D_8014B7F0)($v1)
/* 23754 80048354 240200F6 */ addiu $v0, $zero, 0xf6
/* 23758 80048358 AFA00024 */ sw $zero, 0x24($sp)
/* 2375C 8004835C 460C0300 */ add.s $f12, $f0, $f12
/* 23760 80048360 00431023 */ subu $v0, $v0, $v1
/* 23764 80048364 0C00A6C9 */ jal clamp_angle
/* 23768 80048368 AFA20028 */ sw $v0, 0x28($sp)
/* 2376C 8004836C 4600010D */ trunc.w.s $f4, $f0
/* 23770 80048370 44162000 */ mfc1 $s6, $f4
/* 23774 80048374 960200A8 */ lhu $v0, 0xa8($s0)
/* 23778 80048378 8FA80020 */ lw $t0, 0x20($sp)
/* 2377C 8004837C C602003C */ lwc1 $f2, 0x3c($s0)
/* 23780 80048380 00021400 */ sll $v0, $v0, 0x10
/* 23784 80048384 00021C03 */ sra $v1, $v0, 0x10
/* 23788 80048388 000217C2 */ srl $v0, $v0, 0x1f
/* 2378C 8004838C 00621821 */ addu $v1, $v1, $v0
/* 23790 80048390 00031843 */ sra $v1, $v1, 1
/* 23794 80048394 44830000 */ mtc1 $v1, $f0
/* 23798 80048398 00000000 */ nop
/* 2379C 8004839C 46800020 */ cvt.s.w $f0, $f0
/* 237A0 800483A0 46001080 */ add.s $f2, $f2, $f0
/* 237A4 800483A4 91110001 */ lbu $s1, 1($t0)
/* 237A8 800483A8 03C0B82D */ daddu $s7, $fp, $zero
/* 237AC 800483AC E7A20038 */ swc1 $f2, 0x38($sp)
/* 237B0 800483B0 C6040038 */ lwc1 $f4, 0x38($s0)
/* 237B4 800483B4 E7A40034 */ swc1 $f4, 0x34($sp)
/* 237B8 800483B8 C61E0040 */ lwc1 $f30, 0x40($s0)
/* 237BC 800483BC 0C00A67F */ jal rand_int
/* 237C0 800483C0 24040064 */ addiu $a0, $zero, 0x64
/* 237C4 800483C4 0051102A */ slt $v0, $v0, $s1
/* 237C8 800483C8 10400061 */ beqz $v0, .L80048550
/* 237CC 800483CC 03C0902D */ daddu $s2, $fp, $zero
/* 237D0 800483D0 03C0202D */ daddu $a0, $fp, $zero
/* 237D4 800483D4 24050002 */ addiu $a1, $zero, 2
/* 237D8 800483D8 8FA30020 */ lw $v1, 0x20($sp)
.L800483DC:
/* 237DC 800483DC 84620002 */ lh $v0, 2($v1)
/* 237E0 800483E0 10400009 */ beqz $v0, .L80048408
/* 237E4 800483E4 24630006 */ addiu $v1, $v1, 6
/* 237E8 800483E8 8FA80020 */ lw $t0, 0x20($sp)
/* 237EC 800483EC 26520001 */ addiu $s2, $s2, 1
/* 237F0 800483F0 01051021 */ addu $v0, $t0, $a1
/* 237F4 800483F4 84420002 */ lh $v0, 2($v0)
/* 237F8 800483F8 00822021 */ addu $a0, $a0, $v0
/* 237FC 800483FC 2A420008 */ slti $v0, $s2, 8
/* 23800 80048400 1440FFF6 */ bnez $v0, .L800483DC
/* 23804 80048404 24A50006 */ addiu $a1, $a1, 6
.L80048408:
/* 23808 80048408 0C00A67F */ jal rand_int
/* 2380C 8004840C 0000A82D */ daddu $s5, $zero, $zero
/* 23810 80048410 0040882D */ daddu $s1, $v0, $zero
/* 23814 80048414 02A0902D */ daddu $s2, $s5, $zero
/* 23818 80048418 24140004 */ addiu $s4, $zero, 4
/* 2381C 8004841C 8FB00020 */ lw $s0, 0x20($sp)
/* 23820 80048420 24130002 */ addiu $s3, $zero, 2
/* 23824 80048424 AFA00030 */ sw $zero, 0x30($sp)
.L80048428:
/* 23828 80048428 86020002 */ lh $v0, 2($s0)
/* 2382C 8004842C 10400017 */ beqz $v0, .L8004848C
/* 23830 80048430 00000000 */ nop
/* 23834 80048434 8FA80020 */ lw $t0, 0x20($sp)
/* 23838 80048438 01131021 */ addu $v0, $t0, $s3
/* 2383C 8004843C 01141821 */ addu $v1, $t0, $s4
/* 23840 80048440 84420002 */ lh $v0, 2($v0)
/* 23844 80048444 84640002 */ lh $a0, 2($v1)
/* 23848 80048448 18800005 */ blez $a0, .L80048460
/* 2384C 8004844C 02A2A821 */ addu $s5, $s5, $v0
/* 23850 80048450 0C05152F */ jal get_global_flag
/* 23854 80048454 24840714 */ addiu $a0, $a0, 0x714
/* 23858 80048458 54400007 */ bnel $v0, $zero, .L80048478
/* 2385C 8004845C 26940006 */ addiu $s4, $s4, 6
.L80048460:
/* 23860 80048460 02B1102A */ slt $v0, $s5, $s1
/* 23864 80048464 54400004 */ bnel $v0, $zero, .L80048478
/* 23868 80048468 26940006 */ addiu $s4, $s4, 6
/* 2386C 8004846C 86100002 */ lh $s0, 2($s0)
/* 23870 80048470 08012123 */ j .L8004848C
/* 23874 80048474 AFB00030 */ sw $s0, 0x30($sp)
.L80048478:
/* 23878 80048478 26730006 */ addiu $s3, $s3, 6
/* 2387C 8004847C 26520001 */ addiu $s2, $s2, 1
/* 23880 80048480 2A420008 */ slti $v0, $s2, 8
/* 23884 80048484 1440FFE8 */ bnez $v0, .L80048428
/* 23888 80048488 26100006 */ addiu $s0, $s0, 6
.L8004848C:
/* 2388C 8004848C 8FA80098 */ lw $t0, 0x98($sp)
/* 23890 80048490 8FA80030 */ lw $t0, 0x30($sp)
/* 23894 80048494 1100002E */ beqz $t0, .L80048550
/* 23898 80048498 24020004 */ addiu $v0, $zero, 4
/* 2389C 8004849C 0100202D */ daddu $a0, $t0, $zero
/* 238A0 800484A0 00171840 */ sll $v1, $s7, 1
/* 238A4 800484A4 00771821 */ addu $v1, $v1, $s7
/* 238A8 800484A8 AFA20010 */ sw $v0, 0x10($sp)
/* 238AC 800484AC 00431004 */ sllv $v0, $v1, $v0
/* 238B0 800484B0 00431023 */ subu $v0, $v0, $v1
/* 238B4 800484B4 000210C0 */ sll $v0, $v0, 3
/* 238B8 800484B8 8FA50034 */ lw $a1, 0x34($sp)
/* 238BC 800484BC 8FA60038 */ lw $a2, 0x38($sp)
/* 238C0 800484C0 4407F000 */ mfc1 $a3, $f30
/* 238C4 800484C4 8FA80024 */ lw $t0, 0x24($sp)
/* 238C8 800484C8 02C21021 */ addu $v0, $s6, $v0
/* 238CC 800484CC AFA20018 */ sw $v0, 0x18($sp)
/* 238D0 800484D0 AFA0001C */ sw $zero, 0x1c($sp)
/* 238D4 800484D4 0C04C4FD */ jal make_item_entity
/* 238D8 800484D8 AFA80014 */ sw $t0, 0x14($sp)
/* 238DC 800484DC 44960000 */ mtc1 $s6, $f0
/* 238E0 800484E0 00000000 */ nop
/* 238E4 800484E4 46800021 */ cvt.d.w $f0, $f0
/* 238E8 800484E8 27DE0001 */ addiu $fp, $fp, 1
/* 238EC 800484EC 2BC2000C */ slti $v0, $fp, 0xc
/* 238F0 800484F0 3C01403E */ lui $at, 0x403e
/* 238F4 800484F4 44811800 */ mtc1 $at, $f3
/* 238F8 800484F8 44801000 */ mtc1 $zero, $f2
/* 238FC 800484FC 8FA80024 */ lw $t0, 0x24($sp)
/* 23900 80048500 46220000 */ add.d $f0, $f0, $f2
/* 23904 80048504 25080002 */ addiu $t0, $t0, 2
/* 23908 80048508 AFA80024 */ sw $t0, 0x24($sp)
/* 2390C 8004850C 4620010D */ trunc.w.d $f4, $f0
/* 23910 80048510 44162000 */ mfc1 $s6, $f4
/* 23914 80048514 14400004 */ bnez $v0, .L80048528
/* 23918 80048518 00121040 */ sll $v0, $s2, 1
/* 2391C 8004851C 26F70001 */ addiu $s7, $s7, 1
/* 23920 80048520 0017B0C0 */ sll $s6, $s7, 3
/* 23924 80048524 0000F02D */ daddu $fp, $zero, $zero
.L80048528:
/* 23928 80048528 00521021 */ addu $v0, $v0, $s2
/* 2392C 8004852C 24420002 */ addiu $v0, $v0, 2
/* 23930 80048530 8FA80020 */ lw $t0, 0x20($sp)
/* 23934 80048534 00021040 */ sll $v0, $v0, 1
/* 23938 80048538 01021021 */ addu $v0, $t0, $v0
/* 2393C 8004853C 84440002 */ lh $a0, 2($v0)
/* 23940 80048540 04800003 */ bltz $a0, .L80048550
/* 23944 80048544 00000000 */ nop
/* 23948 80048548 0C051514 */ jal set_global_flag
/* 2394C 8004854C 24840715 */ addiu $a0, $a0, 0x715
.L80048550:
/* 23950 80048550 3C02800B */ lui $v0, %hi(gCurrentEncounter+0x13)
/* 23954 80048554 80420F23 */ lb $v0, %lo(gCurrentEncounter+0x13)($v0)
/* 23958 80048558 10400026 */ beqz $v0, .L800485F4
/* 2395C 8004855C 24040093 */ addiu $a0, $zero, 0x93
/* 23960 80048560 24020004 */ addiu $v0, $zero, 4
/* 23964 80048564 00171840 */ sll $v1, $s7, 1
/* 23968 80048568 00771821 */ addu $v1, $v1, $s7
/* 2396C 8004856C AFA20010 */ sw $v0, 0x10($sp)
/* 23970 80048570 00431004 */ sllv $v0, $v1, $v0
/* 23974 80048574 00431023 */ subu $v0, $v0, $v1
/* 23978 80048578 000210C0 */ sll $v0, $v0, 3
/* 2397C 8004857C 8FA50034 */ lw $a1, 0x34($sp)
/* 23980 80048580 8FA60038 */ lw $a2, 0x38($sp)
/* 23984 80048584 4407F000 */ mfc1 $a3, $f30
/* 23988 80048588 8FA80024 */ lw $t0, 0x24($sp)
/* 2398C 8004858C 02C21021 */ addu $v0, $s6, $v0
/* 23990 80048590 3C01800B */ lui $at, %hi(gCurrentEncounter+0x13)
/* 23994 80048594 A0200F23 */ sb $zero, %lo(gCurrentEncounter+0x13)($at)
/* 23998 80048598 AFA20018 */ sw $v0, 0x18($sp)
/* 2399C 8004859C AFA0001C */ sw $zero, 0x1c($sp)
/* 239A0 800485A0 0C04C4FD */ jal make_item_entity
/* 239A4 800485A4 AFA80014 */ sw $t0, 0x14($sp)
/* 239A8 800485A8 44960000 */ mtc1 $s6, $f0
/* 239AC 800485AC 00000000 */ nop
/* 239B0 800485B0 46800021 */ cvt.d.w $f0, $f0
/* 239B4 800485B4 27DE0001 */ addiu $fp, $fp, 1
/* 239B8 800485B8 2BC2000C */ slti $v0, $fp, 0xc
/* 239BC 800485BC 3C01403E */ lui $at, 0x403e
/* 239C0 800485C0 44811800 */ mtc1 $at, $f3
/* 239C4 800485C4 44801000 */ mtc1 $zero, $f2
/* 239C8 800485C8 8FA80024 */ lw $t0, 0x24($sp)
/* 239CC 800485CC 46220000 */ add.d $f0, $f0, $f2
/* 239D0 800485D0 25080002 */ addiu $t0, $t0, 2
/* 239D4 800485D4 AFA80024 */ sw $t0, 0x24($sp)
/* 239D8 800485D8 4620010D */ trunc.w.d $f4, $f0
/* 239DC 800485DC 44162000 */ mfc1 $s6, $f4
/* 239E0 800485E0 14400005 */ bnez $v0, .L800485F8
/* 239E4 800485E4 0000882D */ daddu $s1, $zero, $zero
/* 239E8 800485E8 26F70001 */ addiu $s7, $s7, 1
/* 239EC 800485EC 0017B0C0 */ sll $s6, $s7, 3
/* 239F0 800485F0 0000F02D */ daddu $fp, $zero, $zero
.L800485F4:
/* 239F4 800485F4 0000882D */ daddu $s1, $zero, $zero
.L800485F8:
/* 239F8 800485F8 0220902D */ daddu $s2, $s1, $zero
/* 239FC 800485FC 24150006 */ addiu $s5, $zero, 6
/* 23A00 80048600 24140004 */ addiu $s4, $zero, 4
/* 23A04 80048604 8FB00020 */ lw $s0, 0x20($sp)
/* 23A08 80048608 3C0146FF */ lui $at, 0x46ff
/* 23A0C 8004860C 3421FE00 */ ori $at, $at, 0xfe00
/* 23A10 80048610 4481D000 */ mtc1 $at, $f26
/* 23A14 80048614 3C0142C8 */ lui $at, 0x42c8
/* 23A18 80048618 4481E000 */ mtc1 $at, $f28
/* 23A1C 8004861C 3C028011 */ lui $v0, %hi(gPlayerData+0x2)
/* 23A20 80048620 8042F292 */ lb $v0, %lo(gPlayerData+0x2)($v0)
/* 23A24 80048624 3C038011 */ lui $v1, %hi(gPlayerData+0x3)
/* 23A28 80048628 8063F293 */ lb $v1, %lo(gPlayerData+0x3)($v1)
/* 23A2C 8004862C 24130002 */ addiu $s3, $zero, 2
/* 23A30 80048630 AFA00030 */ sw $zero, 0x30($sp)
/* 23A34 80048634 44821000 */ mtc1 $v0, $f2
/* 23A38 80048638 00000000 */ nop
/* 23A3C 8004863C 468010A0 */ cvt.s.w $f2, $f2
/* 23A40 80048640 44830000 */ mtc1 $v1, $f0
/* 23A44 80048644 00000000 */ nop
/* 23A48 80048648 46800020 */ cvt.s.w $f0, $f0
/* 23A4C 8004864C 46001603 */ div.s $f24, $f2, $f0
.L80048650:
/* 23A50 80048650 8FA80020 */ lw $t0, 0x20($sp)
/* 23A54 80048654 86030032 */ lh $v1, 0x32($s0)
/* 23A58 80048658 01131021 */ addu $v0, $t0, $s3
/* 23A5C 8004865C 4483B000 */ mtc1 $v1, $f22
/* 23A60 80048660 00000000 */ nop
/* 23A64 80048664 4680B5A0 */ cvt.s.w $f22, $f22
/* 23A68 80048668 461AB583 */ div.s $f22, $f22, $f26
/* 23A6C 8004866C 84420032 */ lh $v0, 0x32($v0)
/* 23A70 80048670 4616C03E */ c.le.s $f24, $f22
/* 23A74 80048674 4482A000 */ mtc1 $v0, $f20
/* 23A78 80048678 00000000 */ nop
/* 23A7C 8004867C 4680A520 */ cvt.s.w $f20, $f20
/* 23A80 80048680 45000034 */ bc1f .L80048754
/* 23A84 80048684 461AA503 */ div.s $f20, $f20, $f26
/* 23A88 80048688 0C00A67F */ jal rand_int
/* 23A8C 8004868C 24040064 */ addiu $a0, $zero, 0x64
/* 23A90 80048690 461CA082 */ mul.s $f2, $f20, $f28
/* 23A94 80048694 00000000 */ nop
/* 23A98 80048698 44820000 */ mtc1 $v0, $f0
/* 23A9C 8004869C 00000000 */ nop
/* 23AA0 800486A0 46800020 */ cvt.s.w $f0, $f0
/* 23AA4 800486A4 4602003E */ c.le.s $f0, $f2
/* 23AA8 800486A8 00000000 */ nop
/* 23AAC 800486AC 4502002A */ bc1fl .L80048758
/* 23AB0 800486B0 26B50008 */ addiu $s5, $s5, 8
/* 23AB4 800486B4 0000802D */ daddu $s0, $zero, $zero
/* 23AB8 800486B8 8FA80020 */ lw $t0, 0x20($sp)
/* 23ABC 800486BC 44900000 */ mtc1 $s0, $f0
/* 23AC0 800486C0 00000000 */ nop
/* 23AC4 800486C4 46800020 */ cvt.s.w $f0, $f0
/* 23AC8 800486C8 01141021 */ addu $v0, $t0, $s4
/* 23ACC 800486CC 01151821 */ addu $v1, $t0, $s5
/* 23AD0 800486D0 84420032 */ lh $v0, 0x32($v0)
/* 23AD4 800486D4 84630032 */ lh $v1, 0x32($v1)
/* 23AD8 800486D8 4482B000 */ mtc1 $v0, $f22
/* 23ADC 800486DC 00000000 */ nop
/* 23AE0 800486E0 4680B5A0 */ cvt.s.w $f22, $f22
/* 23AE4 800486E4 4483A000 */ mtc1 $v1, $f20
/* 23AE8 800486E8 00000000 */ nop
/* 23AEC 800486EC 4680A520 */ cvt.s.w $f20, $f20
/* 23AF0 800486F0 4616003C */ c.lt.s $f0, $f22
/* 23AF4 800486F4 00000000 */ nop
/* 23AF8 800486F8 4500001D */ bc1f .L80048770
/* 23AFC 800486FC 461AA503 */ div.s $f20, $f20, $f26
.L80048700:
/* 23B00 80048700 0C00A67F */ jal rand_int
/* 23B04 80048704 24040064 */ addiu $a0, $zero, 0x64
/* 23B08 80048708 461CA082 */ mul.s $f2, $f20, $f28
/* 23B0C 8004870C 00000000 */ nop
/* 23B10 80048710 44820000 */ mtc1 $v0, $f0
/* 23B14 80048714 00000000 */ nop
/* 23B18 80048718 46800020 */ cvt.s.w $f0, $f0
/* 23B1C 8004871C 4602003E */ c.le.s $f0, $f2
/* 23B20 80048720 00000000 */ nop
/* 23B24 80048724 45030001 */ bc1tl .L8004872C
/* 23B28 80048728 26310001 */ addiu $s1, $s1, 1
.L8004872C:
/* 23B2C 8004872C 26100001 */ addiu $s0, $s0, 1
/* 23B30 80048730 44900000 */ mtc1 $s0, $f0
/* 23B34 80048734 00000000 */ nop
/* 23B38 80048738 46800020 */ cvt.s.w $f0, $f0
/* 23B3C 8004873C 4616003C */ c.lt.s $f0, $f22
/* 23B40 80048740 00000000 */ nop
/* 23B44 80048744 4500000A */ bc1f .L80048770
/* 23B48 80048748 00000000 */ nop
/* 23B4C 8004874C 080121C0 */ j .L80048700
/* 23B50 80048750 00000000 */ nop
.L80048754:
/* 23B54 80048754 26B50008 */ addiu $s5, $s5, 8
.L80048758:
/* 23B58 80048758 26940008 */ addiu $s4, $s4, 8
/* 23B5C 8004875C 26730008 */ addiu $s3, $s3, 8
/* 23B60 80048760 26520001 */ addiu $s2, $s2, 1
/* 23B64 80048764 2A420008 */ slti $v0, $s2, 8
/* 23B68 80048768 1440FFB9 */ bnez $v0, .L80048650
/* 23B6C 8004876C 26100008 */ addiu $s0, $s0, 8
.L80048770:
/* 23B70 80048770 0C03A752 */ jal is_ability_active
/* 23B74 80048774 2404002B */ addiu $a0, $zero, 0x2b
/* 23B78 80048778 10400005 */ beqz $v0, .L80048790
/* 23B7C 8004877C 00000000 */ nop
/* 23B80 80048780 0C00A67F */ jal rand_int
/* 23B84 80048784 24040002 */ addiu $a0, $zero, 2
/* 23B88 80048788 26230001 */ addiu $v1, $s1, 1
/* 23B8C 8004878C 00628821 */ addu $s1, $v1, $v0
.L80048790:
/* 23B90 80048790 8FA80098 */ lw $t0, 0x98($sp)
/* 23B94 80048794 8D020000 */ lw $v0, ($t0)
/* 23B98 80048798 3C030080 */ lui $v1, 0x80
/* 23B9C 8004879C 00431024 */ and $v0, $v0, $v1
/* 23BA0 800487A0 54400001 */ bnel $v0, $zero, .L800487A8
/* 23BA4 800487A4 0000882D */ daddu $s1, $zero, $zero
.L800487A8:
/* 23BA8 800487A8 12200002 */ beqz $s1, .L800487B4
/* 23BAC 800487AC 24080156 */ addiu $t0, $zero, 0x156
/* 23BB0 800487B0 AFA80030 */ sw $t0, 0x30($sp)
.L800487B4:
/* 23BB4 800487B4 8FA80028 */ lw $t0, 0x28($sp)
/* 23BB8 800487B8 00111040 */ sll $v0, $s1, 1
/* 23BBC 800487BC 0102102A */ slt $v0, $t0, $v0
/* 23BC0 800487C0 10400004 */ beqz $v0, .L800487D4
/* 23BC4 800487C4 000817C2 */ srl $v0, $t0, 0x1f
/* 23BC8 800487C8 01021021 */ addu $v0, $t0, $v0
/* 23BCC 800487CC 00028843 */ sra $s1, $v0, 1
/* 23BD0 800487D0 8FA80028 */ lw $t0, 0x28($sp)
.L800487D4:
/* 23BD4 800487D4 00111040 */ sll $v0, $s1, 1
/* 23BD8 800487D8 01024023 */ subu $t0, $t0, $v0
/* 23BDC 800487DC AFA80028 */ sw $t0, 0x28($sp)
/* 23BE0 800487E0 8FA8002C */ lw $t0, 0x2c($sp)
/* 23BE4 800487E4 0111102A */ slt $v0, $t0, $s1
/* 23BE8 800487E8 54400002 */ bnel $v0, $zero, .L800487F4
/* 23BEC 800487EC 0100882D */ daddu $s1, $t0, $zero
/* 23BF0 800487F0 8FA8002C */ lw $t0, 0x2c($sp)
.L800487F4:
/* 23BF4 800487F4 0000902D */ daddu $s2, $zero, $zero
/* 23BF8 800487F8 01114023 */ subu $t0, $t0, $s1
/* 23BFC 800487FC 1A200029 */ blez $s1, .L800488A4
/* 23C00 80048800 AFA8002C */ sw $t0, 0x2c($sp)
/* 23C04 80048804 24130004 */ addiu $s3, $zero, 4
/* 23C08 80048808 3C01403E */ lui $at, 0x403e
/* 23C0C 8004880C 4481A800 */ mtc1 $at, $f21
/* 23C10 80048810 4480A000 */ mtc1 $zero, $f20
/* 23C14 80048814 00171840 */ sll $v1, $s7, 1
/* 23C18 80048818 00771821 */ addu $v1, $v1, $s7
/* 23C1C 8004881C 02631004 */ sllv $v0, $v1, $s3
/* 23C20 80048820 00431023 */ subu $v0, $v0, $v1
/* 23C24 80048824 000280C0 */ sll $s0, $v0, 3
.L80048828:
/* 23C28 80048828 8FA50034 */ lw $a1, 0x34($sp)
/* 23C2C 8004882C 8FA60038 */ lw $a2, 0x38($sp)
/* 23C30 80048830 4407F000 */ mfc1 $a3, $f30
/* 23C34 80048834 8FA40030 */ lw $a0, 0x30($sp)
/* 23C38 80048838 8FA80024 */ lw $t0, 0x24($sp)
/* 23C3C 8004883C 02D01021 */ addu $v0, $s6, $s0
/* 23C40 80048840 AFB30010 */ sw $s3, 0x10($sp)
/* 23C44 80048844 AFA20018 */ sw $v0, 0x18($sp)
/* 23C48 80048848 AFA0001C */ sw $zero, 0x1c($sp)
/* 23C4C 8004884C 0C04C4FD */ jal make_item_entity
/* 23C50 80048850 AFA80014 */ sw $t0, 0x14($sp)
/* 23C54 80048854 44960000 */ mtc1 $s6, $f0
/* 23C58 80048858 00000000 */ nop
/* 23C5C 8004885C 46800021 */ cvt.d.w $f0, $f0
/* 23C60 80048860 27DE0001 */ addiu $fp, $fp, 1
/* 23C64 80048864 2BC2000C */ slti $v0, $fp, 0xc
/* 23C68 80048868 8FA80024 */ lw $t0, 0x24($sp)
/* 23C6C 8004886C 46340000 */ add.d $f0, $f0, $f20
/* 23C70 80048870 25080002 */ addiu $t0, $t0, 2
/* 23C74 80048874 AFA80024 */ sw $t0, 0x24($sp)
/* 23C78 80048878 4620010D */ trunc.w.d $f4, $f0
/* 23C7C 8004887C 44162000 */ mfc1 $s6, $f4
/* 23C80 80048880 14400005 */ bnez $v0, .L80048898
/* 23C84 80048884 26520001 */ addiu $s2, $s2, 1
/* 23C88 80048888 0000F02D */ daddu $fp, $zero, $zero
/* 23C8C 8004888C 26100168 */ addiu $s0, $s0, 0x168
/* 23C90 80048890 26F70001 */ addiu $s7, $s7, 1
/* 23C94 80048894 0017B0C0 */ sll $s6, $s7, 3
.L80048898:
/* 23C98 80048898 0251102A */ slt $v0, $s2, $s1
/* 23C9C 8004889C 1440FFE2 */ bnez $v0, .L80048828
/* 23CA0 800488A0 00000000 */ nop
.L800488A4:
/* 23CA4 800488A4 0000882D */ daddu $s1, $zero, $zero
/* 23CA8 800488A8 0220902D */ daddu $s2, $s1, $zero
/* 23CAC 800488AC 24150006 */ addiu $s5, $zero, 6
/* 23CB0 800488B0 24140004 */ addiu $s4, $zero, 4
/* 23CB4 800488B4 8FB00020 */ lw $s0, 0x20($sp)
/* 23CB8 800488B8 3C0146FF */ lui $at, 0x46ff
/* 23CBC 800488BC 3421FE00 */ ori $at, $at, 0xfe00
/* 23CC0 800488C0 4481D000 */ mtc1 $at, $f26
/* 23CC4 800488C4 3C0142C8 */ lui $at, 0x42c8
/* 23CC8 800488C8 4481E000 */ mtc1 $at, $f28
/* 23CCC 800488CC 3C028011 */ lui $v0, %hi(gPlayerData+0x5)
/* 23CD0 800488D0 8042F295 */ lb $v0, %lo(gPlayerData+0x5)($v0)
/* 23CD4 800488D4 3C038011 */ lui $v1, %hi(gPlayerData+0x6)
/* 23CD8 800488D8 8063F296 */ lb $v1, %lo(gPlayerData+0x6)($v1)
/* 23CDC 800488DC 24130002 */ addiu $s3, $zero, 2
/* 23CE0 800488E0 AFA00030 */ sw $zero, 0x30($sp)
/* 23CE4 800488E4 44821000 */ mtc1 $v0, $f2
/* 23CE8 800488E8 00000000 */ nop
/* 23CEC 800488EC 468010A0 */ cvt.s.w $f2, $f2
/* 23CF0 800488F0 44830000 */ mtc1 $v1, $f0
/* 23CF4 800488F4 00000000 */ nop
/* 23CF8 800488F8 46800020 */ cvt.s.w $f0, $f0
/* 23CFC 800488FC 46001603 */ div.s $f24, $f2, $f0
.L80048900:
/* 23D00 80048900 8FA80020 */ lw $t0, 0x20($sp)
/* 23D04 80048904 86030072 */ lh $v1, 0x72($s0)
/* 23D08 80048908 01131021 */ addu $v0, $t0, $s3
/* 23D0C 8004890C 4483B000 */ mtc1 $v1, $f22
/* 23D10 80048910 00000000 */ nop
/* 23D14 80048914 4680B5A0 */ cvt.s.w $f22, $f22
/* 23D18 80048918 461AB583 */ div.s $f22, $f22, $f26
/* 23D1C 8004891C 84420072 */ lh $v0, 0x72($v0)
/* 23D20 80048920 4616C03E */ c.le.s $f24, $f22
/* 23D24 80048924 4482A000 */ mtc1 $v0, $f20
/* 23D28 80048928 00000000 */ nop
/* 23D2C 8004892C 4680A520 */ cvt.s.w $f20, $f20
/* 23D30 80048930 45000034 */ bc1f .L80048A04
/* 23D34 80048934 461AA503 */ div.s $f20, $f20, $f26
/* 23D38 80048938 0C00A67F */ jal rand_int
/* 23D3C 8004893C 24040064 */ addiu $a0, $zero, 0x64
/* 23D40 80048940 461CA082 */ mul.s $f2, $f20, $f28
/* 23D44 80048944 00000000 */ nop
/* 23D48 80048948 44820000 */ mtc1 $v0, $f0
/* 23D4C 8004894C 00000000 */ nop
/* 23D50 80048950 46800020 */ cvt.s.w $f0, $f0
/* 23D54 80048954 4602003E */ c.le.s $f0, $f2
/* 23D58 80048958 00000000 */ nop
/* 23D5C 8004895C 4502002A */ bc1fl .L80048A08
/* 23D60 80048960 26B50008 */ addiu $s5, $s5, 8
/* 23D64 80048964 0000802D */ daddu $s0, $zero, $zero
/* 23D68 80048968 8FA80020 */ lw $t0, 0x20($sp)
/* 23D6C 8004896C 44900000 */ mtc1 $s0, $f0
/* 23D70 80048970 00000000 */ nop
/* 23D74 80048974 46800020 */ cvt.s.w $f0, $f0
/* 23D78 80048978 01141021 */ addu $v0, $t0, $s4
/* 23D7C 8004897C 01151821 */ addu $v1, $t0, $s5
/* 23D80 80048980 84420072 */ lh $v0, 0x72($v0)
/* 23D84 80048984 84630072 */ lh $v1, 0x72($v1)
/* 23D88 80048988 4482B000 */ mtc1 $v0, $f22
/* 23D8C 8004898C 00000000 */ nop
/* 23D90 80048990 4680B5A0 */ cvt.s.w $f22, $f22
/* 23D94 80048994 4483A000 */ mtc1 $v1, $f20
/* 23D98 80048998 00000000 */ nop
/* 23D9C 8004899C 4680A520 */ cvt.s.w $f20, $f20
/* 23DA0 800489A0 4616003C */ c.lt.s $f0, $f22
/* 23DA4 800489A4 00000000 */ nop
/* 23DA8 800489A8 4500001D */ bc1f .L80048A20
/* 23DAC 800489AC 461AA503 */ div.s $f20, $f20, $f26
.L800489B0:
/* 23DB0 800489B0 0C00A67F */ jal rand_int
/* 23DB4 800489B4 24040064 */ addiu $a0, $zero, 0x64
/* 23DB8 800489B8 461CA082 */ mul.s $f2, $f20, $f28
/* 23DBC 800489BC 00000000 */ nop
/* 23DC0 800489C0 44820000 */ mtc1 $v0, $f0
/* 23DC4 800489C4 00000000 */ nop
/* 23DC8 800489C8 46800020 */ cvt.s.w $f0, $f0
/* 23DCC 800489CC 4602003E */ c.le.s $f0, $f2
/* 23DD0 800489D0 00000000 */ nop
/* 23DD4 800489D4 45030001 */ bc1tl .L800489DC
/* 23DD8 800489D8 26310001 */ addiu $s1, $s1, 1
.L800489DC:
/* 23DDC 800489DC 26100001 */ addiu $s0, $s0, 1
/* 23DE0 800489E0 44900000 */ mtc1 $s0, $f0
/* 23DE4 800489E4 00000000 */ nop
/* 23DE8 800489E8 46800020 */ cvt.s.w $f0, $f0
/* 23DEC 800489EC 4616003C */ c.lt.s $f0, $f22
/* 23DF0 800489F0 00000000 */ nop
/* 23DF4 800489F4 4500000A */ bc1f .L80048A20
/* 23DF8 800489F8 00000000 */ nop
/* 23DFC 800489FC 0801226C */ j .L800489B0
/* 23E00 80048A00 00000000 */ nop
.L80048A04:
/* 23E04 80048A04 26B50008 */ addiu $s5, $s5, 8
.L80048A08:
/* 23E08 80048A08 26940008 */ addiu $s4, $s4, 8
/* 23E0C 80048A0C 26730008 */ addiu $s3, $s3, 8
/* 23E10 80048A10 26520001 */ addiu $s2, $s2, 1
/* 23E14 80048A14 2A420008 */ slti $v0, $s2, 8
/* 23E18 80048A18 1440FFB9 */ bnez $v0, .L80048900
/* 23E1C 80048A1C 26100008 */ addiu $s0, $s0, 8
.L80048A20:
/* 23E20 80048A20 0C03A752 */ jal is_ability_active
/* 23E24 80048A24 2404002C */ addiu $a0, $zero, 0x2c
/* 23E28 80048A28 10400005 */ beqz $v0, .L80048A40
/* 23E2C 80048A2C 00000000 */ nop
/* 23E30 80048A30 0C00A67F */ jal rand_int
/* 23E34 80048A34 24040002 */ addiu $a0, $zero, 2
/* 23E38 80048A38 26230001 */ addiu $v1, $s1, 1
/* 23E3C 80048A3C 00628821 */ addu $s1, $v1, $v0
.L80048A40:
/* 23E40 80048A40 8FA80098 */ lw $t0, 0x98($sp)
/* 23E44 80048A44 8D020000 */ lw $v0, ($t0)
/* 23E48 80048A48 3C030080 */ lui $v1, 0x80
/* 23E4C 80048A4C 00431024 */ and $v0, $v0, $v1
/* 23E50 80048A50 54400001 */ bnel $v0, $zero, .L80048A58
/* 23E54 80048A54 0000882D */ daddu $s1, $zero, $zero
.L80048A58:
/* 23E58 80048A58 12200002 */ beqz $s1, .L80048A64
/* 23E5C 80048A5C 2408015B */ addiu $t0, $zero, 0x15b
/* 23E60 80048A60 AFA80030 */ sw $t0, 0x30($sp)
.L80048A64:
/* 23E64 80048A64 8FA80028 */ lw $t0, 0x28($sp)
/* 23E68 80048A68 00111040 */ sll $v0, $s1, 1
/* 23E6C 80048A6C 0102102A */ slt $v0, $t0, $v0
/* 23E70 80048A70 10400004 */ beqz $v0, .L80048A84
/* 23E74 80048A74 000817C2 */ srl $v0, $t0, 0x1f
/* 23E78 80048A78 01021021 */ addu $v0, $t0, $v0
/* 23E7C 80048A7C 00028843 */ sra $s1, $v0, 1
/* 23E80 80048A80 8FA80028 */ lw $t0, 0x28($sp)
.L80048A84:
/* 23E84 80048A84 00111040 */ sll $v0, $s1, 1
/* 23E88 80048A88 01024023 */ subu $t0, $t0, $v0
/* 23E8C 80048A8C AFA80028 */ sw $t0, 0x28($sp)
/* 23E90 80048A90 8FA8002C */ lw $t0, 0x2c($sp)
/* 23E94 80048A94 0111102A */ slt $v0, $t0, $s1
/* 23E98 80048A98 54400002 */ bnel $v0, $zero, .L80048AA4
/* 23E9C 80048A9C 0100882D */ daddu $s1, $t0, $zero
/* 23EA0 80048AA0 8FA8002C */ lw $t0, 0x2c($sp)
.L80048AA4:
/* 23EA4 80048AA4 0000902D */ daddu $s2, $zero, $zero
/* 23EA8 80048AA8 01114023 */ subu $t0, $t0, $s1
/* 23EAC 80048AAC 1A200029 */ blez $s1, .L80048B54
/* 23EB0 80048AB0 AFA8002C */ sw $t0, 0x2c($sp)
/* 23EB4 80048AB4 24130004 */ addiu $s3, $zero, 4
/* 23EB8 80048AB8 3C01403E */ lui $at, 0x403e
/* 23EBC 80048ABC 4481A800 */ mtc1 $at, $f21
/* 23EC0 80048AC0 4480A000 */ mtc1 $zero, $f20
/* 23EC4 80048AC4 00171840 */ sll $v1, $s7, 1
/* 23EC8 80048AC8 00771821 */ addu $v1, $v1, $s7
/* 23ECC 80048ACC 02631004 */ sllv $v0, $v1, $s3
/* 23ED0 80048AD0 00431023 */ subu $v0, $v0, $v1
/* 23ED4 80048AD4 000280C0 */ sll $s0, $v0, 3
.L80048AD8:
/* 23ED8 80048AD8 8FA50034 */ lw $a1, 0x34($sp)
/* 23EDC 80048ADC 8FA60038 */ lw $a2, 0x38($sp)
/* 23EE0 80048AE0 4407F000 */ mfc1 $a3, $f30
/* 23EE4 80048AE4 8FA40030 */ lw $a0, 0x30($sp)
/* 23EE8 80048AE8 8FA80024 */ lw $t0, 0x24($sp)
/* 23EEC 80048AEC 02D01021 */ addu $v0, $s6, $s0
/* 23EF0 80048AF0 AFB30010 */ sw $s3, 0x10($sp)
/* 23EF4 80048AF4 AFA20018 */ sw $v0, 0x18($sp)
/* 23EF8 80048AF8 AFA0001C */ sw $zero, 0x1c($sp)
/* 23EFC 80048AFC 0C04C4FD */ jal make_item_entity
/* 23F00 80048B00 AFA80014 */ sw $t0, 0x14($sp)
/* 23F04 80048B04 44960000 */ mtc1 $s6, $f0
/* 23F08 80048B08 00000000 */ nop
/* 23F0C 80048B0C 46800021 */ cvt.d.w $f0, $f0
/* 23F10 80048B10 27DE0001 */ addiu $fp, $fp, 1
/* 23F14 80048B14 2BC2000C */ slti $v0, $fp, 0xc
/* 23F18 80048B18 8FA80024 */ lw $t0, 0x24($sp)
/* 23F1C 80048B1C 46340000 */ add.d $f0, $f0, $f20
/* 23F20 80048B20 25080002 */ addiu $t0, $t0, 2
/* 23F24 80048B24 AFA80024 */ sw $t0, 0x24($sp)
/* 23F28 80048B28 4620010D */ trunc.w.d $f4, $f0
/* 23F2C 80048B2C 44162000 */ mfc1 $s6, $f4
/* 23F30 80048B30 14400005 */ bnez $v0, .L80048B48
/* 23F34 80048B34 26520001 */ addiu $s2, $s2, 1
/* 23F38 80048B38 0000F02D */ daddu $fp, $zero, $zero
/* 23F3C 80048B3C 26100168 */ addiu $s0, $s0, 0x168
/* 23F40 80048B40 26F70001 */ addiu $s7, $s7, 1
/* 23F44 80048B44 0017B0C0 */ sll $s6, $s7, 3
.L80048B48:
/* 23F48 80048B48 0251102A */ slt $v0, $s2, $s1
/* 23F4C 80048B4C 1440FFE2 */ bnez $v0, .L80048AD8
/* 23F50 80048B50 00000000 */ nop
.L80048B54:
/* 23F54 80048B54 24080157 */ addiu $t0, $zero, 0x157
/* 23F58 80048B58 AFA80030 */ sw $t0, 0x30($sp)
/* 23F5C 80048B5C 8FA80020 */ lw $t0, 0x20($sp)
/* 23F60 80048B60 851000B2 */ lh $s0, 0xb2($t0)
/* 23F64 80048B64 850400B4 */ lh $a0, 0xb4($t0)
/* 23F68 80048B68 0090102A */ slt $v0, $a0, $s0
/* 23F6C 80048B6C 10400003 */ beqz $v0, .L80048B7C
/* 23F70 80048B70 0200882D */ daddu $s1, $s0, $zero
/* 23F74 80048B74 0080802D */ daddu $s0, $a0, $zero
/* 23F78 80048B78 0220202D */ daddu $a0, $s1, $zero
.L80048B7C:
/* 23F7C 80048B7C 06010003 */ bgez $s0, .L80048B8C
/* 23F80 80048B80 00908823 */ subu $s1, $a0, $s0
/* 23F84 80048B84 080122E5 */ j .L80048B94
/* 23F88 80048B88 00902023 */ subu $a0, $a0, $s0
.L80048B8C:
/* 23F8C 80048B8C 12200005 */ beqz $s1, .L80048BA4
/* 23F90 80048B90 0220202D */ daddu $a0, $s1, $zero
.L80048B94:
/* 23F94 80048B94 0C00A67F */ jal rand_int
/* 23F98 80048B98 00000000 */ nop
/* 23F9C 80048B9C 080122EA */ j .L80048BA8
/* 23FA0 80048BA0 00508821 */ addu $s1, $v0, $s0
.L80048BA4:
/* 23FA4 80048BA4 0200882D */ daddu $s1, $s0, $zero
.L80048BA8:
/* 23FA8 80048BA8 06220001 */ bltzl $s1, .L80048BB0
/* 23FAC 80048BAC 0000882D */ daddu $s1, $zero, $zero
.L80048BB0:
/* 23FB0 80048BB0 3C02800B */ lui $v0, %hi(gCurrentEncounter+0xE)
/* 23FB4 80048BB4 84420F1E */ lh $v0, %lo(gCurrentEncounter+0xE)($v0)
/* 23FB8 80048BB8 24040019 */ addiu $a0, $zero, 0x19
/* 23FBC 80048BBC 0C03A752 */ jal is_ability_active
/* 23FC0 80048BC0 02228821 */ addu $s1, $s1, $v0
/* 23FC4 80048BC4 10400007 */ beqz $v0, .L80048BE4
/* 23FC8 80048BC8 00000000 */ nop
/* 23FCC 80048BCC 3C02800B */ lui $v0, %hi(gCurrentEncounter+0xC)
/* 23FD0 80048BD0 90420F1C */ lbu $v0, %lo(gCurrentEncounter+0xC)($v0)
/* 23FD4 80048BD4 3C01800B */ lui $at, %hi(gCurrentEncounter+0xC)
/* 23FD8 80048BD8 A0200F1C */ sb $zero, %lo(gCurrentEncounter+0xC)($at)
/* 23FDC 80048BDC 00021042 */ srl $v0, $v0, 1
/* 23FE0 80048BE0 02228821 */ addu $s1, $s1, $v0
.L80048BE4:
/* 23FE4 80048BE4 3C02800B */ lui $v0, %hi(gCurrentEncounter+0xB)
/* 23FE8 80048BE8 80420F1B */ lb $v0, %lo(gCurrentEncounter+0xB)($v0)
/* 23FEC 80048BEC 10400004 */ beqz $v0, .L80048C00
/* 23FF0 80048BF0 00111040 */ sll $v0, $s1, 1
/* 23FF4 80048BF4 3C01800B */ lui $at, %hi(gCurrentEncounter+0xB)
/* 23FF8 80048BF8 A0200F1B */ sb $zero, %lo(gCurrentEncounter+0xB)($at)
/* 23FFC 80048BFC 02228821 */ addu $s1, $s1, $v0
.L80048C00:
/* 24000 80048C00 0C03A752 */ jal is_ability_active
/* 24004 80048C04 24040010 */ addiu $a0, $zero, 0x10
/* 24008 80048C08 54400001 */ bnel $v0, $zero, .L80048C10
/* 2400C 80048C0C 00118840 */ sll $s1, $s1, 1
.L80048C10:
/* 24010 80048C10 2A220015 */ slti $v0, $s1, 0x15
/* 24014 80048C14 50400001 */ beql $v0, $zero, .L80048C1C
/* 24018 80048C18 24110014 */ addiu $s1, $zero, 0x14
.L80048C1C:
/* 2401C 80048C1C 8FA80098 */ lw $t0, 0x98($sp)
/* 24020 80048C20 8D020000 */ lw $v0, ($t0)
/* 24024 80048C24 3C030080 */ lui $v1, 0x80
/* 24028 80048C28 00431024 */ and $v0, $v0, $v1
/* 2402C 80048C2C 54400001 */ bnel $v0, $zero, .L80048C34
/* 24030 80048C30 0000882D */ daddu $s1, $zero, $zero
.L80048C34:
/* 24034 80048C34 8FA80028 */ lw $t0, 0x28($sp)
/* 24038 80048C38 00111040 */ sll $v0, $s1, 1
/* 2403C 80048C3C 0102102A */ slt $v0, $t0, $v0
/* 24040 80048C40 10400003 */ beqz $v0, .L80048C50
/* 24044 80048C44 000817C2 */ srl $v0, $t0, 0x1f
/* 24048 80048C48 01021021 */ addu $v0, $t0, $v0
/* 2404C 80048C4C 00028843 */ sra $s1, $v0, 1
.L80048C50:
/* 24050 80048C50 8FA8002C */ lw $t0, 0x2c($sp)
/* 24054 80048C54 0111102A */ slt $v0, $t0, $s1
/* 24058 80048C58 54400001 */ bnel $v0, $zero, .L80048C60
/* 2405C 80048C5C 0100882D */ daddu $s1, $t0, $zero
.L80048C60:
/* 24060 80048C60 1A200029 */ blez $s1, .L80048D08
/* 24064 80048C64 0000902D */ daddu $s2, $zero, $zero
/* 24068 80048C68 24130004 */ addiu $s3, $zero, 4
/* 2406C 80048C6C 3C01403E */ lui $at, 0x403e
/* 24070 80048C70 4481A800 */ mtc1 $at, $f21
/* 24074 80048C74 4480A000 */ mtc1 $zero, $f20
/* 24078 80048C78 00171840 */ sll $v1, $s7, 1
/* 2407C 80048C7C 00771821 */ addu $v1, $v1, $s7
/* 24080 80048C80 02631004 */ sllv $v0, $v1, $s3
/* 24084 80048C84 00431023 */ subu $v0, $v0, $v1
/* 24088 80048C88 000280C0 */ sll $s0, $v0, 3
.L80048C8C:
/* 2408C 80048C8C 8FA50034 */ lw $a1, 0x34($sp)
/* 24090 80048C90 8FA60038 */ lw $a2, 0x38($sp)
/* 24094 80048C94 4407F000 */ mfc1 $a3, $f30
/* 24098 80048C98 8FA40030 */ lw $a0, 0x30($sp)
/* 2409C 80048C9C 8FA80024 */ lw $t0, 0x24($sp)
/* 240A0 80048CA0 02D01021 */ addu $v0, $s6, $s0
/* 240A4 80048CA4 AFB30010 */ sw $s3, 0x10($sp)
/* 240A8 80048CA8 AFA20018 */ sw $v0, 0x18($sp)
/* 240AC 80048CAC AFA0001C */ sw $zero, 0x1c($sp)
/* 240B0 80048CB0 0C04C4FD */ jal make_item_entity
/* 240B4 80048CB4 AFA80014 */ sw $t0, 0x14($sp)
/* 240B8 80048CB8 44960000 */ mtc1 $s6, $f0
/* 240BC 80048CBC 00000000 */ nop
/* 240C0 80048CC0 46800021 */ cvt.d.w $f0, $f0
/* 240C4 80048CC4 27DE0001 */ addiu $fp, $fp, 1
/* 240C8 80048CC8 2BC2000C */ slti $v0, $fp, 0xc
/* 240CC 80048CCC 8FA80024 */ lw $t0, 0x24($sp)
/* 240D0 80048CD0 46340000 */ add.d $f0, $f0, $f20
/* 240D4 80048CD4 25080002 */ addiu $t0, $t0, 2
/* 240D8 80048CD8 AFA80024 */ sw $t0, 0x24($sp)
/* 240DC 80048CDC 4620010D */ trunc.w.d $f4, $f0
/* 240E0 80048CE0 44162000 */ mfc1 $s6, $f4
/* 240E4 80048CE4 14400005 */ bnez $v0, .L80048CFC
/* 240E8 80048CE8 26520001 */ addiu $s2, $s2, 1
/* 240EC 80048CEC 0000F02D */ daddu $fp, $zero, $zero
/* 240F0 80048CF0 26100168 */ addiu $s0, $s0, 0x168
/* 240F4 80048CF4 26F70001 */ addiu $s7, $s7, 1
/* 240F8 80048CF8 0017B0C0 */ sll $s6, $s7, 3
.L80048CFC:
/* 240FC 80048CFC 0251102A */ slt $v0, $s2, $s1
/* 24100 80048D00 1440FFE2 */ bnez $v0, .L80048C8C
/* 24104 80048D04 00000000 */ nop
.L80048D08:
/* 24108 80048D08 8FBF0064 */ lw $ra, 0x64($sp)
/* 2410C 80048D0C 8FBE0060 */ lw $fp, 0x60($sp)
/* 24110 80048D10 8FB7005C */ lw $s7, 0x5c($sp)
/* 24114 80048D14 8FB60058 */ lw $s6, 0x58($sp)
/* 24118 80048D18 8FB50054 */ lw $s5, 0x54($sp)
/* 2411C 80048D1C 8FB40050 */ lw $s4, 0x50($sp)
/* 24120 80048D20 8FB3004C */ lw $s3, 0x4c($sp)
/* 24124 80048D24 8FB20048 */ lw $s2, 0x48($sp)
/* 24128 80048D28 8FB10044 */ lw $s1, 0x44($sp)
/* 2412C 80048D2C 8FB00040 */ lw $s0, 0x40($sp)
/* 24130 80048D30 D7BE0090 */ ldc1 $f30, 0x90($sp)
/* 24134 80048D34 D7BC0088 */ ldc1 $f28, 0x88($sp)
/* 24138 80048D38 D7BA0080 */ ldc1 $f26, 0x80($sp)
/* 2413C 80048D3C D7B80078 */ ldc1 $f24, 0x78($sp)
/* 24140 80048D40 D7B60070 */ ldc1 $f22, 0x70($sp)
/* 24144 80048D44 D7B40068 */ ldc1 $f20, 0x68($sp)
/* 24148 80048D48 03E00008 */ jr $ra
/* 2414C 80048D4C 27BD0098 */ addiu $sp, $sp, 0x98

View File

@ -0,0 +1,45 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80050B90
/* 2BF90 80050B90 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 2BF94 80050B94 AFB00010 */ sw $s0, 0x10($sp)
/* 2BF98 80050B98 0080802D */ daddu $s0, $a0, $zero
/* 2BF9C 80050B9C AFB3001C */ sw $s3, 0x1c($sp)
/* 2BFA0 80050BA0 00E0982D */ daddu $s3, $a3, $zero
/* 2BFA4 80050BA4 AFB10014 */ sw $s1, 0x14($sp)
/* 2BFA8 80050BA8 00A0882D */ daddu $s1, $a1, $zero
/* 2BFAC 80050BAC AFB20018 */ sw $s2, 0x18($sp)
/* 2BFB0 80050BB0 00C0902D */ daddu $s2, $a2, $zero
/* 2BFB4 80050BB4 24050834 */ addiu $a1, $zero, 0x834
/* 2BFB8 80050BB8 AFBF0020 */ sw $ra, 0x20($sp)
/* 2BFBC 80050BBC 0C0153A4 */ jal func_80054E90
/* 2BFC0 80050BC0 0000302D */ daddu $a2, $zero, $zero
/* 2BFC4 80050BC4 0000182D */ daddu $v1, $zero, $zero
/* 2BFC8 80050BC8 24060001 */ addiu $a2, $zero, 1
/* 2BFCC 80050BCC 3C057F00 */ lui $a1, 0x7f00
/* 2BFD0 80050BD0 24040024 */ addiu $a0, $zero, 0x24
.L80050BD4:
/* 2BFD4 80050BD4 02041021 */ addu $v0, $s0, $a0
/* 2BFD8 80050BD8 A0430014 */ sb $v1, 0x14($v0)
/* 2BFDC 80050BDC 24630001 */ addiu $v1, $v1, 1
/* 2BFE0 80050BE0 AC460018 */ sw $a2, 0x18($v0)
/* 2BFE4 80050BE4 AC450038 */ sw $a1, 0x38($v0)
/* 2BFE8 80050BE8 28620004 */ slti $v0, $v1, 4
/* 2BFEC 80050BEC 1440FFF9 */ bnez $v0, .L80050BD4
/* 2BFF0 80050BF0 248401E4 */ addiu $a0, $a0, 0x1e4
/* 2BFF4 80050BF4 24020001 */ addiu $v0, $zero, 1
/* 2BFF8 80050BF8 AE020004 */ sw $v0, 4($s0)
/* 2BFFC 80050BFC 24020002 */ addiu $v0, $zero, 2
/* 2C000 80050C00 AE130000 */ sw $s3, ($s0)
/* 2C004 80050C04 AE02000C */ sw $v0, 0xc($s0)
/* 2C008 80050C08 AE020008 */ sw $v0, 8($s0)
/* 2C00C 80050C0C A2110022 */ sb $s1, 0x22($s0)
/* 2C010 80050C10 A2120023 */ sb $s2, 0x23($s0)
/* 2C014 80050C14 8FBF0020 */ lw $ra, 0x20($sp)
/* 2C018 80050C18 8FB3001C */ lw $s3, 0x1c($sp)
/* 2C01C 80050C1C 8FB20018 */ lw $s2, 0x18($sp)
/* 2C020 80050C20 8FB10014 */ lw $s1, 0x14($sp)
/* 2C024 80050C24 8FB00010 */ lw $s0, 0x10($sp)
/* 2C028 80050C28 03E00008 */ jr $ra
/* 2C02C 80050C2C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,20 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80050C64
/* 2C064 80050C64 3C03800A */ lui $v1, %hi(D_8009A628)
/* 2C068 80050C68 8C63A628 */ lw $v1, %lo(D_8009A628)($v1)
/* 2C06C 80050C6C 00041100 */ sll $v0, $a0, 4
/* 2C070 80050C70 00441023 */ subu $v0, $v0, $a0
/* 2C074 80050C74 000210C0 */ sll $v0, $v0, 3
/* 2C078 80050C78 00441021 */ addu $v0, $v0, $a0
/* 2C07C 80050C7C 00021080 */ sll $v0, $v0, 2
/* 2C080 80050C80 24420024 */ addiu $v0, $v0, 0x24
/* 2C084 80050C84 14A00003 */ bnez $a1, .L80050C94
/* 2C088 80050C88 00621821 */ addu $v1, $v1, $v0
/* 2C08C 80050C8C 03E00008 */ jr $ra
/* 2C090 80050C90 A0600025 */ sb $zero, 0x25($v1)
.L80050C94:
/* 2C094 80050C94 24020002 */ addiu $v0, $zero, 2
/* 2C098 80050C98 03E00008 */ jr $ra
/* 2C09C 80050C9C A0620025 */ sb $v0, 0x25($v1)

View File

@ -0,0 +1,51 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80050CA0
/* 2C0A0 80050CA0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 2C0A4 80050CA4 0080302D */ daddu $a2, $a0, $zero
/* 2C0A8 80050CA8 AFB20018 */ sw $s2, 0x18($sp)
/* 2C0AC 80050CAC 00A0902D */ daddu $s2, $a1, $zero
/* 2C0B0 80050CB0 AFB10014 */ sw $s1, 0x14($sp)
/* 2C0B4 80050CB4 0000882D */ daddu $s1, $zero, $zero
/* 2C0B8 80050CB8 00061900 */ sll $v1, $a2, 4
/* 2C0BC 80050CBC 00661823 */ subu $v1, $v1, $a2
/* 2C0C0 80050CC0 000318C0 */ sll $v1, $v1, 3
/* 2C0C4 80050CC4 00661821 */ addu $v1, $v1, $a2
/* 2C0C8 80050CC8 00031880 */ sll $v1, $v1, 2
/* 2C0CC 80050CCC 24630024 */ addiu $v1, $v1, 0x24
/* 2C0D0 80050CD0 3C04800A */ lui $a0, %hi(D_8009A628)
/* 2C0D4 80050CD4 8C84A628 */ lw $a0, %lo(D_8009A628)($a0)
/* 2C0D8 80050CD8 00061080 */ sll $v0, $a2, 2
/* 2C0DC 80050CDC AFBF001C */ sw $ra, 0x1c($sp)
/* 2C0E0 80050CE0 AFB00010 */ sw $s0, 0x10($sp)
/* 2C0E4 80050CE4 00821021 */ addu $v0, $a0, $v0
/* 2C0E8 80050CE8 8C450010 */ lw $a1, 0x10($v0)
/* 2C0EC 80050CEC 10A00010 */ beqz $a1, .L80050D30
/* 2C0F0 80050CF0 00838021 */ addu $s0, $a0, $v1
/* 2C0F4 80050CF4 8E020020 */ lw $v0, 0x20($s0)
/* 2C0F8 80050CF8 5440000E */ bnel $v0, $zero, .L80050D34
/* 2C0FC 80050CFC 24110001 */ addiu $s1, $zero, 1
/* 2C100 80050D00 0C014429 */ jal func_800510A4
/* 2C104 80050D04 00000000 */ nop
/* 2C108 80050D08 1240000A */ beqz $s2, .L80050D34
/* 2C10C 80050D0C 0200202D */ daddu $a0, $s0, $zero
/* 2C110 80050D10 2402007F */ addiu $v0, $zero, 0x7f
/* 2C114 80050D14 A4920028 */ sh $s2, 0x28($a0)
/* 2C118 80050D18 A080002A */ sb $zero, 0x2a($a0)
/* 2C11C 80050D1C A082002B */ sb $v0, 0x2b($a0)
/* 2C120 80050D20 0C014354 */ jal func_80050D50
/* 2C124 80050D24 A0800026 */ sb $zero, 0x26($a0)
/* 2C128 80050D28 0801434E */ j .L80050D38
/* 2C12C 80050D2C 0220102D */ daddu $v0, $s1, $zero
.L80050D30:
/* 2C130 80050D30 24110002 */ addiu $s1, $zero, 2
.L80050D34:
/* 2C134 80050D34 0220102D */ daddu $v0, $s1, $zero
.L80050D38:
/* 2C138 80050D38 8FBF001C */ lw $ra, 0x1c($sp)
/* 2C13C 80050D3C 8FB20018 */ lw $s2, 0x18($sp)
/* 2C140 80050D40 8FB10014 */ lw $s1, 0x14($sp)
/* 2C144 80050D44 8FB00010 */ lw $s0, 0x10($sp)
/* 2C148 80050D48 03E00008 */ jr $ra
/* 2C14C 80050D4C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,58 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80050D50
/* 2C150 80050D50 0080302D */ daddu $a2, $a0, $zero
/* 2C154 80050D54 240300FF */ addiu $v1, $zero, 0xff
/* 2C158 80050D58 90C2002A */ lbu $v0, 0x2a($a2)
/* 2C15C 80050D5C 94C50028 */ lhu $a1, 0x28($a2)
/* 2C160 80050D60 14430004 */ bne $v0, $v1, .L80050D74
/* 2C164 80050D64 24A2FF06 */ addiu $v0, $a1, -0xfa
/* 2C168 80050D68 80C20038 */ lb $v0, 0x38($a2)
/* 2C16C 80050D6C A0C2002A */ sb $v0, 0x2a($a2)
/* 2C170 80050D70 24A2FF06 */ addiu $v0, $a1, -0xfa
.L80050D74:
/* 2C174 80050D74 3042FFFF */ andi $v0, $v0, 0xffff
/* 2C178 80050D78 2C422617 */ sltiu $v0, $v0, 0x2617
/* 2C17C 80050D7C 10400022 */ beqz $v0, .L80050E08
/* 2C180 80050D80 3C041CF0 */ lui $a0, 0x1cf0
/* 2C184 80050D84 34846ADB */ ori $a0, $a0, 0x6adb
/* 2C188 80050D88 30A3FFFF */ andi $v1, $a1, 0xffff
/* 2C18C 80050D8C 00031080 */ sll $v0, $v1, 2
/* 2C190 80050D90 00431021 */ addu $v0, $v0, $v1
/* 2C194 80050D94 00021040 */ sll $v0, $v0, 1
/* 2C198 80050D98 00440019 */ multu $v0, $a0
/* 2C19C 80050D9C 90C3002B */ lbu $v1, 0x2b($a2)
/* 2C1A0 80050DA0 00002010 */ mfhi $a0
/* 2C1A4 80050DA4 00441023 */ subu $v0, $v0, $a0
/* 2C1A8 80050DA8 00021042 */ srl $v0, $v0, 1
/* 2C1AC 80050DAC 00822021 */ addu $a0, $a0, $v0
/* 2C1B0 80050DB0 90C2002A */ lbu $v0, 0x2a($a2)
/* 2C1B4 80050DB4 00042182 */ srl $a0, $a0, 6
/* 2C1B8 80050DB8 00621823 */ subu $v1, $v1, $v0
/* 2C1BC 80050DBC 00031E00 */ sll $v1, $v1, 0x18
/* 2C1C0 80050DC0 3082FFFF */ andi $v0, $a0, 0xffff
/* 2C1C4 80050DC4 14400002 */ bnez $v0, .L80050DD0
/* 2C1C8 80050DC8 0062001A */ div $zero, $v1, $v0
/* 2C1CC 80050DCC 0007000D */ break 7
.L80050DD0:
/* 2C1D0 80050DD0 2401FFFF */ addiu $at, $zero, -1
/* 2C1D4 80050DD4 14410004 */ bne $v0, $at, .L80050DE8
/* 2C1D8 80050DD8 3C018000 */ lui $at, 0x8000
/* 2C1DC 80050DDC 14610002 */ bne $v1, $at, .L80050DE8
/* 2C1E0 80050DE0 00000000 */ nop
/* 2C1E4 80050DE4 0006000D */ break 6
.L80050DE8:
/* 2C1E8 80050DE8 00001812 */ mflo $v1
/* 2C1EC 80050DEC 90C5002B */ lbu $a1, 0x2b($a2)
/* 2C1F0 80050DF0 90C2002A */ lbu $v0, 0x2a($a2)
/* 2C1F4 80050DF4 A0C50042 */ sb $a1, 0x42($a2)
/* 2C1F8 80050DF8 A4C40040 */ sh $a0, 0x40($a2)
/* 2C1FC 80050DFC 00021600 */ sll $v0, $v0, 0x18
/* 2C200 80050E00 ACC20038 */ sw $v0, 0x38($a2)
/* 2C204 80050E04 ACC3003C */ sw $v1, 0x3c($a2)
.L80050E08:
/* 2C208 80050E08 A4C00028 */ sh $zero, 0x28($a2)
/* 2C20C 80050E0C A0C0002A */ sb $zero, 0x2a($a2)
/* 2C210 80050E10 03E00008 */ jr $ra
/* 2C214 80050E14 A0C0002B */ sb $zero, 0x2b($a2)

View File

@ -0,0 +1,33 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80050E18
/* 2C218 80050E18 00041100 */ sll $v0, $a0, 4
/* 2C21C 80050E1C 00441023 */ subu $v0, $v0, $a0
/* 2C220 80050E20 000210C0 */ sll $v0, $v0, 3
/* 2C224 80050E24 00441021 */ addu $v0, $v0, $a0
/* 2C228 80050E28 00021080 */ sll $v0, $v0, 2
/* 2C22C 80050E2C 3C03800A */ lui $v1, %hi(D_8009A628)
/* 2C230 80050E30 8C63A628 */ lw $v1, %lo(D_8009A628)($v1)
/* 2C234 80050E34 24420024 */ addiu $v0, $v0, 0x24
/* 2C238 80050E38 00621821 */ addu $v1, $v1, $v0
/* 2C23C 80050E3C 8C620004 */ lw $v0, 4($v1)
/* 2C240 80050E40 1040000E */ beqz $v0, .L80050E7C
/* 2C244 80050E44 00000000 */ nop
/* 2C248 80050E48 8C620008 */ lw $v0, 8($v1)
/* 2C24C 80050E4C 1040000B */ beqz $v0, .L80050E7C
/* 2C250 80050E50 00000000 */ nop
/* 2C254 80050E54 10A00008 */ beqz $a1, .L80050E78
/* 2C258 80050E58 24020003 */ addiu $v0, $zero, 3
/* 2C25C 80050E5C 240200FF */ addiu $v0, $zero, 0xff
/* 2C260 80050E60 A062002A */ sb $v0, 0x2a($v1)
/* 2C264 80050E64 24020002 */ addiu $v0, $zero, 2
/* 2C268 80050E68 A4650028 */ sh $a1, 0x28($v1)
/* 2C26C 80050E6C A060002B */ sb $zero, 0x2b($v1)
/* 2C270 80050E70 03E00008 */ jr $ra
/* 2C274 80050E74 A0620026 */ sb $v0, 0x26($v1)
.L80050E78:
/* 2C278 80050E78 A0620024 */ sb $v0, 0x24($v1)
.L80050E7C:
/* 2C27C 80050E7C 03E00008 */ jr $ra
/* 2C280 80050E80 00000000 */ nop

View File

@ -0,0 +1,34 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80050E84
/* 2C284 80050E84 00041100 */ sll $v0, $a0, 4
/* 2C288 80050E88 00441023 */ subu $v0, $v0, $a0
/* 2C28C 80050E8C 000210C0 */ sll $v0, $v0, 3
/* 2C290 80050E90 00441021 */ addu $v0, $v0, $a0
/* 2C294 80050E94 00021080 */ sll $v0, $v0, 2
/* 2C298 80050E98 3C03800A */ lui $v1, %hi(D_8009A628)
/* 2C29C 80050E9C 8C63A628 */ lw $v1, %lo(D_8009A628)($v1)
/* 2C2A0 80050EA0 24420024 */ addiu $v0, $v0, 0x24
/* 2C2A4 80050EA4 00621821 */ addu $v1, $v1, $v0
/* 2C2A8 80050EA8 8C620004 */ lw $v0, 4($v1)
/* 2C2AC 80050EAC 1040000E */ beqz $v0, .L80050EE8
/* 2C2B0 80050EB0 00000000 */ nop
/* 2C2B4 80050EB4 8C620008 */ lw $v0, 8($v1)
/* 2C2B8 80050EB8 1040000B */ beqz $v0, .L80050EE8
/* 2C2BC 80050EBC 24020001 */ addiu $v0, $zero, 1
/* 2C2C0 80050EC0 10A00003 */ beqz $a1, .L80050ED0
/* 2C2C4 80050EC4 A0620024 */ sb $v0, 0x24($v1)
/* 2C2C8 80050EC8 080143B6 */ j .L80050ED8
/* 2C2CC 80050ECC A4650028 */ sh $a1, 0x28($v1)
.L80050ED0:
/* 2C2D0 80050ED0 240200FA */ addiu $v0, $zero, 0xfa
/* 2C2D4 80050ED4 A4620028 */ sh $v0, 0x28($v1)
.L80050ED8:
/* 2C2D8 80050ED8 2402007F */ addiu $v0, $zero, 0x7f
/* 2C2DC 80050EDC A060002A */ sb $zero, 0x2a($v1)
/* 2C2E0 80050EE0 A062002B */ sb $v0, 0x2b($v1)
/* 2C2E4 80050EE4 A0600026 */ sb $zero, 0x26($v1)
.L80050EE8:
/* 2C2E8 80050EE8 03E00008 */ jr $ra
/* 2C2EC 80050EEC 00000000 */ nop

View File

@ -0,0 +1,35 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80050EF0
/* 2C2F0 80050EF0 00041100 */ sll $v0, $a0, 4
/* 2C2F4 80050EF4 00441023 */ subu $v0, $v0, $a0
/* 2C2F8 80050EF8 000210C0 */ sll $v0, $v0, 3
/* 2C2FC 80050EFC 00441021 */ addu $v0, $v0, $a0
/* 2C300 80050F00 00021080 */ sll $v0, $v0, 2
/* 2C304 80050F04 3C03800A */ lui $v1, %hi(D_8009A628)
/* 2C308 80050F08 8C63A628 */ lw $v1, %lo(D_8009A628)($v1)
/* 2C30C 80050F0C 24420024 */ addiu $v0, $v0, 0x24
/* 2C310 80050F10 00621821 */ addu $v1, $v1, $v0
/* 2C314 80050F14 8C620004 */ lw $v0, 4($v1)
/* 2C318 80050F18 10400010 */ beqz $v0, .L80050F5C
/* 2C31C 80050F1C 00000000 */ nop
/* 2C320 80050F20 8C620008 */ lw $v0, 8($v1)
/* 2C324 80050F24 1040000D */ beqz $v0, .L80050F5C
/* 2C328 80050F28 00000000 */ nop
/* 2C32C 80050F2C 90620024 */ lbu $v0, 0x24($v1)
/* 2C330 80050F30 10400005 */ beqz $v0, .L80050F48
/* 2C334 80050F34 00000000 */ nop
/* 2C338 80050F38 AC600008 */ sw $zero, 8($v1)
/* 2C33C 80050F3C AC600020 */ sw $zero, 0x20($v1)
/* 2C340 80050F40 03E00008 */ jr $ra
/* 2C344 80050F44 A0600024 */ sb $zero, 0x24($v1)
.L80050F48:
/* 2C348 80050F48 3C028008 */ lui $v0, %hi(D_80078520)
/* 2C34C 80050F4C 24428520 */ addiu $v0, $v0, %lo(D_80078520)
/* 2C350 80050F50 AC620008 */ sw $v0, 8($v1)
/* 2C354 80050F54 24020001 */ addiu $v0, $zero, 1
/* 2C358 80050F58 AC620018 */ sw $v0, 0x18($v1)
.L80050F5C:
/* 2C35C 80050F5C 03E00008 */ jr $ra
/* 2C360 80050F60 00000000 */ nop

View File

@ -0,0 +1,34 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80050F64
/* 2C364 80050F64 00041100 */ sll $v0, $a0, 4
/* 2C368 80050F68 00441023 */ subu $v0, $v0, $a0
/* 2C36C 80050F6C 000210C0 */ sll $v0, $v0, 3
/* 2C370 80050F70 00441021 */ addu $v0, $v0, $a0
/* 2C374 80050F74 00021080 */ sll $v0, $v0, 2
/* 2C378 80050F78 3C03800A */ lui $v1, %hi(D_8009A628)
/* 2C37C 80050F7C 8C63A628 */ lw $v1, %lo(D_8009A628)($v1)
/* 2C380 80050F80 24420024 */ addiu $v0, $v0, 0x24
/* 2C384 80050F84 00621821 */ addu $v1, $v1, $v0
/* 2C388 80050F88 8C620004 */ lw $v0, 4($v1)
/* 2C38C 80050F8C 1040000E */ beqz $v0, .L80050FC8
/* 2C390 80050F90 00000000 */ nop
/* 2C394 80050F94 8C620008 */ lw $v0, 8($v1)
/* 2C398 80050F98 1040000B */ beqz $v0, .L80050FC8
/* 2C39C 80050F9C 00000000 */ nop
/* 2C3A0 80050FA0 10A00003 */ beqz $a1, .L80050FB0
/* 2C3A4 80050FA4 240200FA */ addiu $v0, $zero, 0xfa
/* 2C3A8 80050FA8 080143ED */ j .L80050FB4
/* 2C3AC 80050FAC A4650028 */ sh $a1, 0x28($v1)
.L80050FB0:
/* 2C3B0 80050FB0 A4620028 */ sh $v0, 0x28($v1)
.L80050FB4:
/* 2C3B4 80050FB4 240200FF */ addiu $v0, $zero, 0xff
/* 2C3B8 80050FB8 A062002A */ sb $v0, 0x2a($v1)
/* 2C3BC 80050FBC 24020001 */ addiu $v0, $zero, 1
/* 2C3C0 80050FC0 A060002B */ sb $zero, 0x2b($v1)
/* 2C3C4 80050FC4 A0620026 */ sb $v0, 0x26($v1)
.L80050FC8:
/* 2C3C8 80050FC8 03E00008 */ jr $ra
/* 2C3CC 80050FCC 00000000 */ nop

View File

@ -0,0 +1,41 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80050FD0
/* 2C3D0 80050FD0 00041100 */ sll $v0, $a0, 4
/* 2C3D4 80050FD4 00441023 */ subu $v0, $v0, $a0
/* 2C3D8 80050FD8 000210C0 */ sll $v0, $v0, 3
/* 2C3DC 80050FDC 00441021 */ addu $v0, $v0, $a0
/* 2C3E0 80050FE0 00021080 */ sll $v0, $v0, 2
/* 2C3E4 80050FE4 3C03800A */ lui $v1, %hi(D_8009A628)
/* 2C3E8 80050FE8 8C63A628 */ lw $v1, %lo(D_8009A628)($v1)
/* 2C3EC 80050FEC 24420024 */ addiu $v0, $v0, 0x24
/* 2C3F0 80050FF0 00621821 */ addu $v1, $v1, $v0
/* 2C3F4 80050FF4 8C620004 */ lw $v0, 4($v1)
/* 2C3F8 80050FF8 10400013 */ beqz $v0, .L80051048
/* 2C3FC 80050FFC 00000000 */ nop
/* 2C400 80051000 8C620008 */ lw $v0, 8($v1)
/* 2C404 80051004 10400010 */ beqz $v0, .L80051048
/* 2C408 80051008 00000000 */ nop
/* 2C40C 8005100C 1CC00003 */ bgtz $a2, .L8005101C
/* 2C410 80051010 28C20080 */ slti $v0, $a2, 0x80
/* 2C414 80051014 08014409 */ j .L80051024
/* 2C418 80051018 24060001 */ addiu $a2, $zero, 1
.L8005101C:
/* 2C41C 8005101C 50400001 */ beql $v0, $zero, .L80051024
/* 2C420 80051020 2406007F */ addiu $a2, $zero, 0x7f
.L80051024:
/* 2C424 80051024 10A00003 */ beqz $a1, .L80051034
/* 2C428 80051028 240200FA */ addiu $v0, $zero, 0xfa
/* 2C42C 8005102C 0801440E */ j .L80051038
/* 2C430 80051030 A4650028 */ sh $a1, 0x28($v1)
.L80051034:
/* 2C434 80051034 A4620028 */ sh $v0, 0x28($v1)
.L80051038:
/* 2C438 80051038 240200FF */ addiu $v0, $zero, 0xff
/* 2C43C 8005103C A062002A */ sb $v0, 0x2a($v1)
/* 2C440 80051040 A066002B */ sb $a2, 0x2b($v1)
/* 2C444 80051044 A0600026 */ sb $zero, 0x26($v1)
.L80051048:
/* 2C448 80051048 03E00008 */ jr $ra
/* 2C44C 8005104C 00000000 */ nop

View File

@ -0,0 +1,26 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80051050
/* 2C450 80051050 00041100 */ sll $v0, $a0, 4
/* 2C454 80051054 00441023 */ subu $v0, $v0, $a0
/* 2C458 80051058 000210C0 */ sll $v0, $v0, 3
/* 2C45C 8005105C 00441021 */ addu $v0, $v0, $a0
/* 2C460 80051060 00021080 */ sll $v0, $v0, 2
/* 2C464 80051064 3C03800A */ lui $v1, %hi(D_8009A628)
/* 2C468 80051068 8C63A628 */ lw $v1, %lo(D_8009A628)($v1)
/* 2C46C 8005106C 24420024 */ addiu $v0, $v0, 0x24
/* 2C470 80051070 00621821 */ addu $v1, $v1, $v0
/* 2C474 80051074 8C620004 */ lw $v0, 4($v1)
/* 2C478 80051078 10400008 */ beqz $v0, .L8005109C
/* 2C47C 8005107C 0000202D */ daddu $a0, $zero, $zero
/* 2C480 80051080 8C620008 */ lw $v0, 8($v1)
/* 2C484 80051084 10400005 */ beqz $v0, .L8005109C
/* 2C488 80051088 00000000 */ nop
/* 2C48C 8005108C 90620024 */ lbu $v0, 0x24($v1)
/* 2C490 80051090 10400002 */ beqz $v0, .L8005109C
/* 2C494 80051094 24040001 */ addiu $a0, $zero, 1
/* 2C498 80051098 24040002 */ addiu $a0, $zero, 2
.L8005109C:
/* 2C49C 8005109C 03E00008 */ jr $ra
/* 2C4A0 800510A0 0080102D */ daddu $v0, $a0, $zero

View File

@ -0,0 +1,76 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800510A4
/* 2C4A4 800510A4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 2C4A8 800510A8 AFB3001C */ sw $s3, 0x1c($sp)
/* 2C4AC 800510AC 0080982D */ daddu $s3, $a0, $zero
/* 2C4B0 800510B0 AFB00010 */ sw $s0, 0x10($sp)
/* 2C4B4 800510B4 00A0802D */ daddu $s0, $a1, $zero
/* 2C4B8 800510B8 AFB10014 */ sw $s1, 0x14($sp)
/* 2C4BC 800510BC 00C0882D */ daddu $s1, $a2, $zero
/* 2C4C0 800510C0 00111100 */ sll $v0, $s1, 4
/* 2C4C4 800510C4 00511023 */ subu $v0, $v0, $s1
/* 2C4C8 800510C8 000210C0 */ sll $v0, $v0, 3
/* 2C4CC 800510CC 00511021 */ addu $v0, $v0, $s1
/* 2C4D0 800510D0 00021080 */ sll $v0, $v0, 2
/* 2C4D4 800510D4 24420024 */ addiu $v0, $v0, 0x24
/* 2C4D8 800510D8 AFB20018 */ sw $s2, 0x18($sp)
/* 2C4DC 800510DC 02629021 */ addu $s2, $s3, $v0
/* 2C4E0 800510E0 0240202D */ daddu $a0, $s2, $zero
/* 2C4E4 800510E4 240501E4 */ addiu $a1, $zero, 0x1e4
/* 2C4E8 800510E8 AFBF0020 */ sw $ra, 0x20($sp)
/* 2C4EC 800510EC 0C0153A4 */ jal func_80054E90
/* 2C4F0 800510F0 0000302D */ daddu $a2, $zero, $zero
/* 2C4F4 800510F4 AE500000 */ sw $s0, ($s2)
/* 2C4F8 800510F8 96030010 */ lhu $v1, 0x10($s0)
/* 2C4FC 800510FC 24020001 */ addiu $v0, $zero, 1
/* 2C500 80051100 AE420018 */ sw $v0, 0x18($s2)
/* 2C504 80051104 3C027F00 */ lui $v0, 0x7f00
/* 2C508 80051108 AE420038 */ sw $v0, 0x38($s2)
/* 2C50C 8005110C 2402007F */ addiu $v0, $zero, 0x7f
/* 2C510 80051110 A2420042 */ sb $v0, 0x42($s2)
/* 2C514 80051114 0200102D */ daddu $v0, $s0, $zero
/* 2C518 80051118 A2510014 */ sb $s1, 0x14($s2)
/* 2C51C 8005111C 02038021 */ addu $s0, $s0, $v1
/* 2C520 80051120 AE500008 */ sw $s0, 8($s2)
/* 2C524 80051124 AE500010 */ sw $s0, 0x10($s2)
/* 2C528 80051128 AE50000C */ sw $s0, 0xc($s2)
/* 2C52C 8005112C AE500004 */ sw $s0, 4($s2)
/* 2C530 80051130 8C420008 */ lw $v0, 8($v0)
/* 2C534 80051134 8E430000 */ lw $v1, ($s2)
/* 2C538 80051138 AE420020 */ sw $v0, 0x20($s2)
/* 2C53C 8005113C 9062000C */ lbu $v0, 0xc($v1)
/* 2C540 80051140 AE420030 */ sw $v0, 0x30($s2)
/* 2C544 80051144 24420010 */ addiu $v0, $v0, 0x10
/* 2C548 80051148 AE420034 */ sw $v0, 0x34($s2)
/* 2C54C 8005114C 2C420019 */ sltiu $v0, $v0, 0x19
/* 2C550 80051150 14400003 */ bnez $v0, .L80051160
/* 2C554 80051154 0000282D */ daddu $a1, $zero, $zero
/* 2C558 80051158 24020018 */ addiu $v0, $zero, 0x18
/* 2C55C 8005115C AE420034 */ sw $v0, 0x34($s2)
.L80051160:
/* 2C560 80051160 3C067FFF */ lui $a2, 0x7fff
/* 2C564 80051164 34C6FFFF */ ori $a2, $a2, 0xffff
/* 2C568 80051168 24070040 */ addiu $a3, $zero, 0x40
/* 2C56C 8005116C 24040044 */ addiu $a0, $zero, 0x44
.L80051170:
/* 2C570 80051170 02441821 */ addu $v1, $s2, $a0
/* 2C574 80051174 8E620000 */ lw $v0, ($s3)
/* 2C578 80051178 8C420004 */ lw $v0, 4($v0)
/* 2C57C 8005117C 24A50001 */ addiu $a1, $a1, 1
/* 2C580 80051180 AC660018 */ sw $a2, 0x18($v1)
/* 2C584 80051184 A0670024 */ sb $a3, 0x24($v1)
/* 2C588 80051188 AC620000 */ sw $v0, ($v1)
/* 2C58C 8005118C 28A2000A */ slti $v0, $a1, 0xa
/* 2C590 80051190 1440FFF7 */ bnez $v0, .L80051170
/* 2C594 80051194 24840028 */ addiu $a0, $a0, 0x28
/* 2C598 80051198 24020001 */ addiu $v0, $zero, 1
/* 2C59C 8005119C A2420043 */ sb $v0, 0x43($s2)
/* 2C5A0 800511A0 8FBF0020 */ lw $ra, 0x20($sp)
/* 2C5A4 800511A4 8FB3001C */ lw $s3, 0x1c($sp)
/* 2C5A8 800511A8 8FB20018 */ lw $s2, 0x18($sp)
/* 2C5AC 800511AC 8FB10014 */ lw $s1, 0x14($sp)
/* 2C5B0 800511B0 8FB00010 */ lw $s0, 0x10($sp)
/* 2C5B4 800511B4 03E00008 */ jr $ra
/* 2C5B8 800511B8 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,77 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80051334
/* 2C734 80051334 8CA30000 */ lw $v1, ($a1)
/* 2C738 80051338 9067000D */ lbu $a3, 0xd($v1)
/* 2C73C 8005133C 10E0003B */ beqz $a3, .L8005142C
/* 2C740 80051340 00000000 */ nop
/* 2C744 80051344 9462000E */ lhu $v0, 0xe($v1)
/* 2C748 80051348 10400038 */ beqz $v0, .L8005142C
/* 2C74C 8005134C 24E7FFFF */ addiu $a3, $a3, -1
/* 2C750 80051350 24090001 */ addiu $t1, $zero, 1
/* 2C754 80051354 00624021 */ addu $t0, $v1, $v0
/* 2C758 80051358 25040006 */ addiu $a0, $t0, 6
.L8005135C:
/* 2C75C 8005135C 91030000 */ lbu $v1, ($t0)
/* 2C760 80051360 00031080 */ sll $v0, $v1, 2
/* 2C764 80051364 00431021 */ addu $v0, $v0, $v1
/* 2C768 80051368 000210C0 */ sll $v0, $v0, 3
/* 2C76C 8005136C 24420044 */ addiu $v0, $v0, 0x44
/* 2C770 80051370 9083FFFB */ lbu $v1, -5($a0)
/* 2C774 80051374 14600014 */ bnez $v1, .L800513C8
/* 2C778 80051378 00A23021 */ addu $a2, $a1, $v0
/* 2C77C 8005137C 9482FFFC */ lhu $v0, -4($a0)
/* 2C780 80051380 A4C20014 */ sh $v0, 0x14($a2)
/* 2C784 80051384 8482FFFE */ lh $v0, -2($a0)
/* 2C788 80051388 8483FFFC */ lh $v1, -4($a0)
/* 2C78C 8005138C 00021400 */ sll $v0, $v0, 0x10
/* 2C790 80051390 14600002 */ bnez $v1, .L8005139C
/* 2C794 80051394 0043001A */ div $zero, $v0, $v1
/* 2C798 80051398 0007000D */ break 7
.L8005139C:
/* 2C79C 8005139C 2401FFFF */ addiu $at, $zero, -1
/* 2C7A0 800513A0 14610004 */ bne $v1, $at, .L800513B4
/* 2C7A4 800513A4 3C018000 */ lui $at, 0x8000
/* 2C7A8 800513A8 14410002 */ bne $v0, $at, .L800513B4
/* 2C7AC 800513AC 00000000 */ nop
/* 2C7B0 800513B0 0006000D */ break 6
.L800513B4:
/* 2C7B4 800513B4 00001012 */ mflo $v0
/* 2C7B8 800513B8 ACC20010 */ sw $v0, 0x10($a2)
/* 2C7BC 800513BC 94820000 */ lhu $v0, ($a0)
/* 2C7C0 800513C0 08014506 */ j .L80051418
/* 2C7C4 800513C4 A4C20016 */ sh $v0, 0x16($a2)
.L800513C8:
/* 2C7C8 800513C8 54690014 */ bnel $v1, $t1, .L8005141C
/* 2C7CC 800513CC 24840008 */ addiu $a0, $a0, 8
/* 2C7D0 800513D0 9482FFFC */ lhu $v0, -4($a0)
/* 2C7D4 800513D4 A4C20020 */ sh $v0, 0x20($a2)
/* 2C7D8 800513D8 8482FFFE */ lh $v0, -2($a0)
/* 2C7DC 800513DC 8483FFFC */ lh $v1, -4($a0)
/* 2C7E0 800513E0 00021400 */ sll $v0, $v0, 0x10
/* 2C7E4 800513E4 14600002 */ bnez $v1, .L800513F0
/* 2C7E8 800513E8 0043001A */ div $zero, $v0, $v1
/* 2C7EC 800513EC 0007000D */ break 7
.L800513F0:
/* 2C7F0 800513F0 2401FFFF */ addiu $at, $zero, -1
/* 2C7F4 800513F4 14610004 */ bne $v1, $at, .L80051408
/* 2C7F8 800513F8 3C018000 */ lui $at, 0x8000
/* 2C7FC 800513FC 14410002 */ bne $v0, $at, .L80051408
/* 2C800 80051400 00000000 */ nop
/* 2C804 80051404 0006000D */ break 6
.L80051408:
/* 2C808 80051408 00001012 */ mflo $v0
/* 2C80C 8005140C ACC2001C */ sw $v0, 0x1c($a2)
/* 2C810 80051410 94820000 */ lhu $v0, ($a0)
/* 2C814 80051414 A4C20022 */ sh $v0, 0x22($a2)
.L80051418:
/* 2C818 80051418 24840008 */ addiu $a0, $a0, 8
.L8005141C:
/* 2C81C 8005141C 25080008 */ addiu $t0, $t0, 8
/* 2C820 80051420 00E0102D */ daddu $v0, $a3, $zero
/* 2C824 80051424 1440FFCD */ bnez $v0, .L8005135C
/* 2C828 80051428 24E7FFFF */ addiu $a3, $a3, -1
.L8005142C:
/* 2C82C 8005142C 03E00008 */ jr $ra
/* 2C830 80051430 00000000 */ nop

View File

@ -0,0 +1,941 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80051434
/* 2C834 80051434 27BDFF90 */ addiu $sp, $sp, -0x70
/* 2C838 80051438 AFB5005C */ sw $s5, 0x5c($sp)
/* 2C83C 8005143C 00A0A82D */ daddu $s5, $a1, $zero
/* 2C840 80051440 AFB00048 */ sw $s0, 0x48($sp)
/* 2C844 80051444 0000802D */ daddu $s0, $zero, $zero
/* 2C848 80051448 27A50010 */ addiu $a1, $sp, 0x10
/* 2C84C 8005144C AFBF006C */ sw $ra, 0x6c($sp)
/* 2C850 80051450 AFBE0068 */ sw $fp, 0x68($sp)
/* 2C854 80051454 AFB70064 */ sw $s7, 0x64($sp)
/* 2C858 80051458 AFB60060 */ sw $s6, 0x60($sp)
/* 2C85C 8005145C AFB40058 */ sw $s4, 0x58($sp)
/* 2C860 80051460 AFB30054 */ sw $s3, 0x54($sp)
/* 2C864 80051464 AFB20050 */ sw $s2, 0x50($sp)
/* 2C868 80051468 AFB1004C */ sw $s1, 0x4c($sp)
/* 2C86C 8005146C AFA40070 */ sw $a0, 0x70($sp)
/* 2C870 80051470 8C880000 */ lw $t0, ($a0)
/* 2C874 80051474 27A40020 */ addiu $a0, $sp, 0x20
/* 2C878 80051478 A3A00034 */ sb $zero, 0x34($sp)
/* 2C87C 8005147C AFA80030 */ sw $t0, 0x30($sp)
.L80051480:
/* 2C880 80051480 00B01021 */ addu $v0, $a1, $s0
/* 2C884 80051484 00901821 */ addu $v1, $a0, $s0
/* 2C888 80051488 26100001 */ addiu $s0, $s0, 1
/* 2C88C 8005148C A0400000 */ sb $zero, ($v0)
/* 2C890 80051490 2E020010 */ sltiu $v0, $s0, 0x10
/* 2C894 80051494 1440FFFA */ bnez $v0, .L80051480
/* 2C898 80051498 A0600000 */ sb $zero, ($v1)
/* 2C89C 8005149C 92A20043 */ lbu $v0, 0x43($s5)
/* 2C8A0 800514A0 24100001 */ addiu $s0, $zero, 1
/* 2C8A4 800514A4 14500005 */ bne $v0, $s0, .L800514BC
/* 2C8A8 800514A8 00000000 */ nop
/* 2C8AC 800514AC 8FA40070 */ lw $a0, 0x70($sp)
/* 2C8B0 800514B0 0C01487A */ jal func_800521E8
/* 2C8B4 800514B4 02A0282D */ daddu $a1, $s5, $zero
/* 2C8B8 800514B8 A2A00043 */ sb $zero, 0x43($s5)
.L800514BC:
/* 2C8BC 800514BC 96A20040 */ lhu $v0, 0x40($s5)
/* 2C8C0 800514C0 10400024 */ beqz $v0, .L80051554
/* 2C8C4 800514C4 0000B02D */ daddu $s6, $zero, $zero
/* 2C8C8 800514C8 8EA20038 */ lw $v0, 0x38($s5)
/* 2C8CC 800514CC 8EA4003C */ lw $a0, 0x3c($s5)
/* 2C8D0 800514D0 96A30040 */ lhu $v1, 0x40($s5)
/* 2C8D4 800514D4 00441021 */ addu $v0, $v0, $a0
/* 2C8D8 800514D8 2463FFFF */ addiu $v1, $v1, -1
/* 2C8DC 800514DC A6A30040 */ sh $v1, 0x40($s5)
/* 2C8E0 800514E0 3063FFFF */ andi $v1, $v1, 0xffff
/* 2C8E4 800514E4 14600018 */ bnez $v1, .L80051548
/* 2C8E8 800514E8 AEA20038 */ sw $v0, 0x38($s5)
/* 2C8EC 800514EC 92A20042 */ lbu $v0, 0x42($s5)
/* 2C8F0 800514F0 92A30026 */ lbu $v1, 0x26($s5)
/* 2C8F4 800514F4 00021600 */ sll $v0, $v0, 0x18
/* 2C8F8 800514F8 10600013 */ beqz $v1, .L80051548
/* 2C8FC 800514FC AEA20038 */ sw $v0, 0x38($s5)
/* 2C900 80051500 1470000D */ bne $v1, $s0, .L80051538
/* 2C904 80051504 24020002 */ addiu $v0, $zero, 2
/* 2C908 80051508 3C028008 */ lui $v0, %hi(D_80078520)
/* 2C90C 8005150C 24428520 */ addiu $v0, $v0, %lo(D_80078520)
/* 2C910 80051510 AEA20008 */ sw $v0, 8($s5)
/* 2C914 80051514 08014552 */ j .L80051548
/* 2C918 80051518 AEA30018 */ sw $v1, 0x18($s5)
.L8005151C:
/* 2C91C 8005151C 8FA40070 */ lw $a0, 0x70($sp)
/* 2C920 80051520 02A0282D */ daddu $a1, $s5, $zero
/* 2C924 80051524 AEA00008 */ sw $zero, 8($s5)
/* 2C928 80051528 0C01487A */ jal func_800521E8
/* 2C92C 8005152C AEA00020 */ sw $zero, 0x20($s5)
/* 2C930 80051530 0801482F */ j .L800520BC
/* 2C934 80051534 00000000 */ nop
.L80051538:
/* 2C938 80051538 14620004 */ bne $v1, $v0, .L8005154C
/* 2C93C 8005153C 24080001 */ addiu $t0, $zero, 1
/* 2C940 80051540 24020003 */ addiu $v0, $zero, 3
/* 2C944 80051544 A2A20024 */ sb $v0, 0x24($s5)
.L80051548:
/* 2C948 80051548 24080001 */ addiu $t0, $zero, 1
.L8005154C:
/* 2C94C 8005154C A3A80034 */ sb $t0, 0x34($sp)
/* 2C950 80051550 0000B02D */ daddu $s6, $zero, $zero
.L80051554:
/* 2C954 80051554 27A80020 */ addiu $t0, $sp, 0x20
/* 2C958 80051558 AFA80038 */ sw $t0, 0x38($sp)
/* 2C95C 8005155C 241E0044 */ addiu $fp, $zero, 0x44
.L80051560:
/* 2C960 80051560 02BE9821 */ addu $s3, $s5, $fp
/* 2C964 80051564 86620014 */ lh $v0, 0x14($s3)
/* 2C968 80051568 96630014 */ lhu $v1, 0x14($s3)
/* 2C96C 8005156C 10400042 */ beqz $v0, .L80051678
/* 2C970 80051570 2462FFFF */ addiu $v0, $v1, -1
/* 2C974 80051574 A6620014 */ sh $v0, 0x14($s3)
/* 2C978 80051578 00021400 */ sll $v0, $v0, 0x10
/* 2C97C 8005157C 10400005 */ beqz $v0, .L80051594
/* 2C980 80051580 00000000 */ nop
/* 2C984 80051584 8E62000C */ lw $v0, 0xc($s3)
/* 2C988 80051588 8E630010 */ lw $v1, 0x10($s3)
/* 2C98C 8005158C 08014567 */ j .L8005159C
/* 2C990 80051590 00431021 */ addu $v0, $v0, $v1
.L80051594:
/* 2C994 80051594 86620016 */ lh $v0, 0x16($s3)
/* 2C998 80051598 00021400 */ sll $v0, $v0, 0x10
.L8005159C:
/* 2C99C 8005159C AE62000C */ sw $v0, 0xc($s3)
/* 2C9A0 800515A0 00162400 */ sll $a0, $s6, 0x10
/* 2C9A4 800515A4 8EB00030 */ lw $s0, 0x30($s5)
/* 2C9A8 800515A8 8EA30014 */ lw $v1, 0x14($s5)
/* 2C9AC 800515AC 8EA20034 */ lw $v0, 0x34($s5)
/* 2C9B0 800515B0 0202102B */ sltu $v0, $s0, $v0
/* 2C9B4 800515B4 10400030 */ beqz $v0, .L80051678
/* 2C9B8 800515B8 0064B821 */ addu $s7, $v1, $a0
/* 2C9BC 800515BC 001010C0 */ sll $v0, $s0, 3
/* 2C9C0 800515C0 00501021 */ addu $v0, $v0, $s0
/* 2C9C4 800515C4 000210C0 */ sll $v0, $v0, 3
/* 2C9C8 800515C8 24541320 */ addiu $s4, $v0, 0x1320
.L800515CC:
/* 2C9CC 800515CC 8EA20030 */ lw $v0, 0x30($s5)
/* 2C9D0 800515D0 8FA80070 */ lw $t0, 0x70($sp)
/* 2C9D4 800515D4 02021023 */ subu $v0, $s0, $v0
/* 2C9D8 800515D8 000210C0 */ sll $v0, $v0, 3
/* 2C9DC 800515DC 244207B4 */ addiu $v0, $v0, 0x7b4
/* 2C9E0 800515E0 01029021 */ addu $s2, $t0, $v0
/* 2C9E4 800515E4 8E420000 */ lw $v0, ($s2)
/* 2C9E8 800515E8 3C08FFFF */ lui $t0, 0xffff
/* 2C9EC 800515EC 00481024 */ and $v0, $v0, $t0
/* 2C9F0 800515F0 1457001C */ bne $v0, $s7, .L80051664
/* 2C9F4 800515F4 00000000 */ nop
/* 2C9F8 800515F8 8FA80030 */ lw $t0, 0x30($sp)
/* 2C9FC 800515FC 01148821 */ addu $s1, $t0, $s4
/* 2CA00 80051600 8FA80070 */ lw $t0, 0x70($sp)
/* 2CA04 80051604 92230045 */ lbu $v1, 0x45($s1)
/* 2CA08 80051608 91020022 */ lbu $v0, 0x22($t0)
/* 2CA0C 8005160C 14620015 */ bne $v1, $v0, .L80051664
/* 2CA10 80051610 24080009 */ addiu $t0, $zero, 9
/* 2CA14 80051614 12C80013 */ beq $s6, $t0, .L80051664
/* 2CA18 80051618 00000000 */ nop
/* 2CA1C 8005161C 86420004 */ lh $v0, 4($s2)
/* 2CA20 80051620 8664000C */ lh $a0, 0xc($s3)
/* 2CA24 80051624 0C014E3E */ jal func_800538F8
/* 2CA28 80051628 00442021 */ addu $a0, $v0, $a0
/* 2CA2C 8005162C 8E620000 */ lw $v0, ($s3)
/* 2CA30 80051630 C4420020 */ lwc1 $f2, 0x20($v0)
/* 2CA34 80051634 46020002 */ mul.s $f0, $f0, $f2
/* 2CA38 80051638 00000000 */ nop
/* 2CA3C 8005163C 92220043 */ lbu $v0, 0x43($s1)
/* 2CA40 80051640 34420008 */ ori $v0, $v0, 8
/* 2CA44 80051644 A2220043 */ sb $v0, 0x43($s1)
/* 2CA48 80051648 E6200004 */ swc1 $f0, 4($s1)
/* 2CA4C 8005164C 8EA20030 */ lw $v0, 0x30($s5)
/* 2CA50 80051650 8FA80038 */ lw $t0, 0x38($sp)
/* 2CA54 80051654 02021023 */ subu $v0, $s0, $v0
/* 2CA58 80051658 01021021 */ addu $v0, $t0, $v0
/* 2CA5C 8005165C 24080001 */ addiu $t0, $zero, 1
/* 2CA60 80051660 A0480000 */ sb $t0, ($v0)
.L80051664:
/* 2CA64 80051664 8EA20034 */ lw $v0, 0x34($s5)
/* 2CA68 80051668 26100001 */ addiu $s0, $s0, 1
/* 2CA6C 8005166C 0202102B */ sltu $v0, $s0, $v0
/* 2CA70 80051670 1440FFD6 */ bnez $v0, .L800515CC
/* 2CA74 80051674 26940048 */ addiu $s4, $s4, 0x48
.L80051678:
/* 2CA78 80051678 26D60001 */ addiu $s6, $s6, 1
/* 2CA7C 8005167C 2EC2000A */ sltiu $v0, $s6, 0xa
/* 2CA80 80051680 1440FFB7 */ bnez $v0, .L80051560
/* 2CA84 80051684 27DE0028 */ addiu $fp, $fp, 0x28
/* 2CA88 80051688 0000B02D */ daddu $s6, $zero, $zero
/* 2CA8C 8005168C 3C06FFFF */ lui $a2, 0xffff
/* 2CA90 80051690 24050044 */ addiu $a1, $zero, 0x44
.L80051694:
/* 2CA94 80051694 02A59821 */ addu $s3, $s5, $a1
/* 2CA98 80051698 86620020 */ lh $v0, 0x20($s3)
/* 2CA9C 8005169C 96630020 */ lhu $v1, 0x20($s3)
/* 2CAA0 800516A0 1040003F */ beqz $v0, .L800517A0
/* 2CAA4 800516A4 2462FFFF */ addiu $v0, $v1, -1
/* 2CAA8 800516A8 A6620020 */ sh $v0, 0x20($s3)
/* 2CAAC 800516AC 00021400 */ sll $v0, $v0, 0x10
/* 2CAB0 800516B0 10400005 */ beqz $v0, .L800516C8
/* 2CAB4 800516B4 00000000 */ nop
/* 2CAB8 800516B8 8E620018 */ lw $v0, 0x18($s3)
/* 2CABC 800516BC 8E63001C */ lw $v1, 0x1c($s3)
/* 2CAC0 800516C0 080145B4 */ j .L800516D0
/* 2CAC4 800516C4 00431021 */ addu $v0, $v0, $v1
.L800516C8:
/* 2CAC8 800516C8 86620022 */ lh $v0, 0x22($s3)
/* 2CACC 800516CC 00021400 */ sll $v0, $v0, 0x10
.L800516D0:
/* 2CAD0 800516D0 AE620018 */ sw $v0, 0x18($s3)
/* 2CAD4 800516D4 00162400 */ sll $a0, $s6, 0x10
/* 2CAD8 800516D8 8EB00030 */ lw $s0, 0x30($s5)
/* 2CADC 800516DC 8EA30014 */ lw $v1, 0x14($s5)
/* 2CAE0 800516E0 8EA20034 */ lw $v0, 0x34($s5)
/* 2CAE4 800516E4 0202102B */ sltu $v0, $s0, $v0
/* 2CAE8 800516E8 1040002D */ beqz $v0, .L800517A0
/* 2CAEC 800516EC 0064B821 */ addu $s7, $v1, $a0
/* 2CAF0 800516F0 001010C0 */ sll $v0, $s0, 3
/* 2CAF4 800516F4 00501021 */ addu $v0, $v0, $s0
/* 2CAF8 800516F8 000210C0 */ sll $v0, $v0, 3
/* 2CAFC 800516FC 24441320 */ addiu $a0, $v0, 0x1320
.L80051700:
/* 2CB00 80051700 8EA20030 */ lw $v0, 0x30($s5)
/* 2CB04 80051704 8FA80070 */ lw $t0, 0x70($sp)
/* 2CB08 80051708 02021023 */ subu $v0, $s0, $v0
/* 2CB0C 8005170C 000210C0 */ sll $v0, $v0, 3
/* 2CB10 80051710 244207B4 */ addiu $v0, $v0, 0x7b4
/* 2CB14 80051714 01029021 */ addu $s2, $t0, $v0
/* 2CB18 80051718 8E420000 */ lw $v0, ($s2)
/* 2CB1C 8005171C 00461024 */ and $v0, $v0, $a2
/* 2CB20 80051720 1457001A */ bne $v0, $s7, .L8005178C
/* 2CB24 80051724 00000000 */ nop
/* 2CB28 80051728 8FA80030 */ lw $t0, 0x30($sp)
/* 2CB2C 8005172C 01048821 */ addu $s1, $t0, $a0
/* 2CB30 80051730 8FA80070 */ lw $t0, 0x70($sp)
/* 2CB34 80051734 92230045 */ lbu $v1, 0x45($s1)
/* 2CB38 80051738 91020022 */ lbu $v0, 0x22($t0)
/* 2CB3C 8005173C 14620013 */ bne $v1, $v0, .L8005178C
/* 2CB40 80051740 00000000 */ nop
/* 2CB44 80051744 92430001 */ lbu $v1, 1($s2)
/* 2CB48 80051748 00031080 */ sll $v0, $v1, 2
/* 2CB4C 8005174C 00431021 */ addu $v0, $v0, $v1
/* 2CB50 80051750 000210C0 */ sll $v0, $v0, 3
/* 2CB54 80051754 00559821 */ addu $s3, $v0, $s5
/* 2CB58 80051758 82A30038 */ lb $v1, 0x38($s5)
/* 2CB5C 8005175C 8662005C */ lh $v0, 0x5c($s3)
/* 2CB60 80051760 00620018 */ mult $v1, $v0
/* 2CB64 80051764 00004012 */ mflo $t0
/* 2CB68 80051768 82420006 */ lb $v0, 6($s2)
/* 2CB6C 8005176C 00000000 */ nop
/* 2CB70 80051770 01020018 */ mult $t0, $v0
/* 2CB74 80051774 9222003D */ lbu $v0, 0x3d($s1)
/* 2CB78 80051778 34420020 */ ori $v0, $v0, 0x20
/* 2CB7C 8005177C A222003D */ sb $v0, 0x3d($s1)
/* 2CB80 80051780 00004012 */ mflo $t0
/* 2CB84 80051784 00081383 */ sra $v0, $t0, 0xe
/* 2CB88 80051788 A6220040 */ sh $v0, 0x40($s1)
.L8005178C:
/* 2CB8C 8005178C 8EA20034 */ lw $v0, 0x34($s5)
/* 2CB90 80051790 26100001 */ addiu $s0, $s0, 1
/* 2CB94 80051794 0202102B */ sltu $v0, $s0, $v0
/* 2CB98 80051798 1440FFD9 */ bnez $v0, .L80051700
/* 2CB9C 8005179C 24840048 */ addiu $a0, $a0, 0x48
.L800517A0:
/* 2CBA0 800517A0 26D60001 */ addiu $s6, $s6, 1
/* 2CBA4 800517A4 2EC2000A */ sltiu $v0, $s6, 0xa
/* 2CBA8 800517A8 1440FFBA */ bnez $v0, .L80051694
/* 2CBAC 800517AC 24A50028 */ addiu $a1, $a1, 0x28
/* 2CBB0 800517B0 8EA20018 */ lw $v0, 0x18($s5)
/* 2CBB4 800517B4 2442FFFF */ addiu $v0, $v0, -1
/* 2CBB8 800517B8 1C400240 */ bgtz $v0, .L800520BC
/* 2CBBC 800517BC AEA20018 */ sw $v0, 0x18($s5)
/* 2CBC0 800517C0 1440023E */ bnez $v0, .L800520BC
/* 2CBC4 800517C4 00000000 */ nop
/* 2CBC8 800517C8 241E0001 */ addiu $fp, $zero, 1
/* 2CBCC 800517CC 27A80010 */ addiu $t0, $sp, 0x10
/* 2CBD0 800517D0 AFA80040 */ sw $t0, 0x40($sp)
/* 2CBD4 800517D4 27A80020 */ addiu $t0, $sp, 0x20
/* 2CBD8 800517D8 AFA8003C */ sw $t0, 0x3c($sp)
.L800517DC:
/* 2CBDC 800517DC 0C014874 */ jal func_800521D0
/* 2CBE0 800517E0 02A0202D */ daddu $a0, $s5, $zero
/* 2CBE4 800517E4 0040802D */ daddu $s0, $v0, $zero
/* 2CBE8 800517E8 00101600 */ sll $v0, $s0, 0x18
/* 2CBEC 800517EC 0440000E */ bltz $v0, .L80051828
/* 2CBF0 800517F0 320300FF */ andi $v1, $s0, 0xff
/* 2CBF4 800517F4 1060FF49 */ beqz $v1, .L8005151C
/* 2CBF8 800517F8 2C620078 */ sltiu $v0, $v1, 0x78
/* 2CBFC 800517FC 5440022C */ bnel $v0, $zero, .L800520B0
/* 2CC00 80051800 AEA30018 */ sw $v1, 0x18($s5)
/* 2CC04 80051804 0C014874 */ jal func_800521D0
/* 2CC08 80051808 02A0202D */ daddu $a0, $s5, $zero
/* 2CC0C 8005180C 32030007 */ andi $v1, $s0, 7
/* 2CC10 80051810 00031A00 */ sll $v1, $v1, 8
/* 2CC14 80051814 304200FF */ andi $v0, $v0, 0xff
/* 2CC18 80051818 00621821 */ addu $v1, $v1, $v0
/* 2CC1C 8005181C 24630078 */ addiu $v1, $v1, 0x78
/* 2CC20 80051820 0801482C */ j .L800520B0
/* 2CC24 80051824 AEA30018 */ sw $v1, 0x18($s5)
.L80051828:
/* 2CC28 80051828 0C014874 */ jal func_800521D0
/* 2CC2C 8005182C 02A0202D */ daddu $a0, $s5, $zero
/* 2CC30 80051830 3216000F */ andi $s6, $s0, 0xf
/* 2CC34 80051834 00161880 */ sll $v1, $s6, 2
/* 2CC38 80051838 00761821 */ addu $v1, $v1, $s6
/* 2CC3C 8005183C 000318C0 */ sll $v1, $v1, 3
/* 2CC40 80051840 24630044 */ addiu $v1, $v1, 0x44
/* 2CC44 80051844 02A39821 */ addu $s3, $s5, $v1
/* 2CC48 80051848 0040B82D */ daddu $s7, $v0, $zero
/* 2CC4C 8005184C 320300F0 */ andi $v1, $s0, 0xf0
/* 2CC50 80051850 240200B0 */ addiu $v0, $zero, 0xb0
/* 2CC54 80051854 1062018E */ beq $v1, $v0, .L80051E90
/* 2CC58 80051858 286200B1 */ slti $v0, $v1, 0xb1
/* 2CC5C 8005185C 1040000E */ beqz $v0, .L80051898
/* 2CC60 80051860 24020090 */ addiu $v0, $zero, 0x90
/* 2CC64 80051864 10620047 */ beq $v1, $v0, .L80051984
/* 2CC68 80051868 28620091 */ slti $v0, $v1, 0x91
/* 2CC6C 8005186C 10400005 */ beqz $v0, .L80051884
/* 2CC70 80051870 24020080 */ addiu $v0, $zero, 0x80
/* 2CC74 80051874 10620011 */ beq $v1, $v0, .L800518BC
/* 2CC78 80051878 00000000 */ nop
/* 2CC7C 8005187C 0801482C */ j .L800520B0
/* 2CC80 80051880 00000000 */ nop
.L80051884:
/* 2CC84 80051884 240200A0 */ addiu $v0, $zero, 0xa0
/* 2CC88 80051888 10620111 */ beq $v1, $v0, .L80051CD0
/* 2CC8C 8005188C 32E20080 */ andi $v0, $s7, 0x80
/* 2CC90 80051890 0801482C */ j .L800520B0
/* 2CC94 80051894 00000000 */ nop
.L80051898:
/* 2CC98 80051898 240200E0 */ addiu $v0, $zero, 0xe0
/* 2CC9C 8005189C 106201C8 */ beq $v1, $v0, .L80051FC0
/* 2CCA0 800518A0 286200E1 */ slti $v0, $v1, 0xe1
/* 2CCA4 800518A4 10400202 */ beqz $v0, .L800520B0
/* 2CCA8 800518A8 240200C0 */ addiu $v0, $zero, 0xc0
/* 2CCAC 800518AC 106201B7 */ beq $v1, $v0, .L80051F8C
/* 2CCB0 800518B0 00000000 */ nop
/* 2CCB4 800518B4 0801482C */ j .L800520B0
/* 2CCB8 800518B8 00000000 */ nop
.L800518BC:
/* 2CCBC 800518BC 92A20025 */ lbu $v0, 0x25($s5)
/* 2CCC0 800518C0 144001FB */ bnez $v0, .L800520B0
/* 2CCC4 800518C4 00161400 */ sll $v0, $s6, 0x10
/* 2CCC8 800518C8 8EB00030 */ lw $s0, 0x30($s5)
/* 2CCCC 800518CC 8EA40014 */ lw $a0, 0x14($s5)
/* 2CCD0 800518D0 8EA30034 */ lw $v1, 0x34($s5)
/* 2CCD4 800518D4 00822021 */ addu $a0, $a0, $v0
/* 2CCD8 800518D8 32E200FF */ andi $v0, $s7, 0xff
/* 2CCDC 800518DC 00021200 */ sll $v0, $v0, 8
/* 2CCE0 800518E0 0203182B */ sltu $v1, $s0, $v1
/* 2CCE4 800518E4 106001F2 */ beqz $v1, .L800520B0
/* 2CCE8 800518E8 0082B821 */ addu $s7, $a0, $v0
/* 2CCEC 800518EC 001010C0 */ sll $v0, $s0, 3
/* 2CCF0 800518F0 00501021 */ addu $v0, $v0, $s0
/* 2CCF4 800518F4 000210C0 */ sll $v0, $v0, 3
/* 2CCF8 800518F8 24441320 */ addiu $a0, $v0, 0x1320
.L800518FC:
/* 2CCFC 800518FC 8EA20030 */ lw $v0, 0x30($s5)
/* 2CD00 80051900 8FA80070 */ lw $t0, 0x70($sp)
/* 2CD04 80051904 02021023 */ subu $v0, $s0, $v0
/* 2CD08 80051908 000210C0 */ sll $v0, $v0, 3
/* 2CD0C 8005190C 01021821 */ addu $v1, $t0, $v0
/* 2CD10 80051910 8C6207B4 */ lw $v0, 0x7b4($v1)
/* 2CD14 80051914 1457000C */ bne $v0, $s7, .L80051948
/* 2CD18 80051918 00000000 */ nop
/* 2CD1C 8005191C 8FA80030 */ lw $t0, 0x30($sp)
/* 2CD20 80051920 A07E07B7 */ sb $fp, 0x7b7($v1)
/* 2CD24 80051924 01048821 */ addu $s1, $t0, $a0
/* 2CD28 80051928 8FA80070 */ lw $t0, 0x70($sp)
/* 2CD2C 8005192C 92230045 */ lbu $v1, 0x45($s1)
/* 2CD30 80051930 91020022 */ lbu $v0, 0x22($t0)
/* 2CD34 80051934 14620004 */ bne $v1, $v0, .L80051948
/* 2CD38 80051938 00000000 */ nop
/* 2CD3C 8005193C 9222003D */ lbu $v0, 0x3d($s1)
/* 2CD40 80051940 34420010 */ ori $v0, $v0, 0x10
/* 2CD44 80051944 A222003D */ sb $v0, 0x3d($s1)
.L80051948:
/* 2CD48 80051948 8EA20034 */ lw $v0, 0x34($s5)
/* 2CD4C 8005194C 26100001 */ addiu $s0, $s0, 1
/* 2CD50 80051950 0202102B */ sltu $v0, $s0, $v0
/* 2CD54 80051954 1440FFE9 */ bnez $v0, .L800518FC
/* 2CD58 80051958 24840048 */ addiu $a0, $a0, 0x48
/* 2CD5C 8005195C 0801482C */ j .L800520B0
/* 2CD60 80051960 00000000 */ nop
.L80051964:
/* 2CD64 80051964 0C014E31 */ jal func_800538C4
/* 2CD68 80051968 320500FF */ andi $a1, $s0, 0xff
/* 2CD6C 8005196C 0801468F */ j .L80051A3C
/* 2CD70 80051970 00000000 */ nop
.L80051974:
/* 2CD74 80051974 0C014E31 */ jal func_800538C4
/* 2CD78 80051978 320500FF */ andi $a1, $s0, 0xff
/* 2CD7C 8005197C 080146A8 */ j .L80051AA0
/* 2CD80 80051980 00000000 */ nop
.L80051984:
/* 2CD84 80051984 0C014874 */ jal func_800521D0
/* 2CD88 80051988 02A0202D */ daddu $a0, $s5, $zero
/* 2CD8C 8005198C 92A30025 */ lbu $v1, 0x25($s5)
/* 2CD90 80051990 146001C7 */ bnez $v1, .L800520B0
/* 2CD94 80051994 0040A02D */ daddu $s4, $v0, $zero
/* 2CD98 80051998 8EB00030 */ lw $s0, 0x30($s5)
/* 2CD9C 8005199C 8EA40034 */ lw $a0, 0x34($s5)
/* 2CDA0 800519A0 0204102B */ sltu $v0, $s0, $a0
/* 2CDA4 800519A4 10400012 */ beqz $v0, .L800519F0
/* 2CDA8 800519A8 001010C0 */ sll $v0, $s0, 3
/* 2CDAC 800519AC 00501021 */ addu $v0, $v0, $s0
/* 2CDB0 800519B0 000210C0 */ sll $v0, $v0, 3
/* 2CDB4 800519B4 24431320 */ addiu $v1, $v0, 0x1320
/* 2CDB8 800519B8 8FA80030 */ lw $t0, 0x30($sp)
.L800519BC:
/* 2CDBC 800519BC 01038821 */ addu $s1, $t0, $v1
/* 2CDC0 800519C0 92220045 */ lbu $v0, 0x45($s1)
/* 2CDC4 800519C4 10400005 */ beqz $v0, .L800519DC
/* 2CDC8 800519C8 00000000 */ nop
/* 2CDCC 800519CC 26100001 */ addiu $s0, $s0, 1
/* 2CDD0 800519D0 0204102B */ sltu $v0, $s0, $a0
/* 2CDD4 800519D4 1440FFF9 */ bnez $v0, .L800519BC
/* 2CDD8 800519D8 24630048 */ addiu $v1, $v1, 0x48
.L800519DC:
/* 2CDDC 800519DC 8EA20034 */ lw $v0, 0x34($s5)
/* 2CDE0 800519E0 0202102B */ sltu $v0, $s0, $v0
/* 2CDE4 800519E4 14400032 */ bnez $v0, .L80051AB0
/* 2CDE8 800519E8 00000000 */ nop
/* 2CDEC 800519EC 8EB00030 */ lw $s0, 0x30($s5)
.L800519F0:
/* 2CDF0 800519F0 8EA30034 */ lw $v1, 0x34($s5)
/* 2CDF4 800519F4 0203102B */ sltu $v0, $s0, $v1
/* 2CDF8 800519F8 10400014 */ beqz $v0, .L80051A4C
/* 2CDFC 800519FC 001010C0 */ sll $v0, $s0, 3
/* 2CE00 80051A00 0060202D */ daddu $a0, $v1, $zero
/* 2CE04 80051A04 00501021 */ addu $v0, $v0, $s0
/* 2CE08 80051A08 000210C0 */ sll $v0, $v0, 3
/* 2CE0C 80051A0C 8FA80070 */ lw $t0, 0x70($sp)
/* 2CE10 80051A10 24431320 */ addiu $v1, $v0, 0x1320
/* 2CE14 80051A14 91050022 */ lbu $a1, 0x22($t0)
/* 2CE18 80051A18 8FA80030 */ lw $t0, 0x30($sp)
.L80051A1C:
/* 2CE1C 80051A1C 01038821 */ addu $s1, $t0, $v1
/* 2CE20 80051A20 92220045 */ lbu $v0, 0x45($s1)
/* 2CE24 80051A24 5045FFCF */ beql $v0, $a1, .L80051964
/* 2CE28 80051A28 0220202D */ daddu $a0, $s1, $zero
/* 2CE2C 80051A2C 26100001 */ addiu $s0, $s0, 1
/* 2CE30 80051A30 0204102B */ sltu $v0, $s0, $a0
/* 2CE34 80051A34 1440FFF9 */ bnez $v0, .L80051A1C
/* 2CE38 80051A38 24630048 */ addiu $v1, $v1, 0x48
.L80051A3C:
/* 2CE3C 80051A3C 8EA20034 */ lw $v0, 0x34($s5)
/* 2CE40 80051A40 0202102B */ sltu $v0, $s0, $v0
/* 2CE44 80051A44 1440001A */ bnez $v0, .L80051AB0
/* 2CE48 80051A48 00000000 */ nop
.L80051A4C:
/* 2CE4C 80051A4C 8EB00030 */ lw $s0, 0x30($s5)
/* 2CE50 80051A50 8EA30034 */ lw $v1, 0x34($s5)
/* 2CE54 80051A54 0203102B */ sltu $v0, $s0, $v1
/* 2CE58 80051A58 10400195 */ beqz $v0, .L800520B0
/* 2CE5C 80051A5C 001010C0 */ sll $v0, $s0, 3
/* 2CE60 80051A60 0060202D */ daddu $a0, $v1, $zero
/* 2CE64 80051A64 00501021 */ addu $v0, $v0, $s0
/* 2CE68 80051A68 000210C0 */ sll $v0, $v0, 3
/* 2CE6C 80051A6C 8FA80070 */ lw $t0, 0x70($sp)
/* 2CE70 80051A70 24431320 */ addiu $v1, $v0, 0x1320
/* 2CE74 80051A74 91050022 */ lbu $a1, 0x22($t0)
/* 2CE78 80051A78 8FA80030 */ lw $t0, 0x30($sp)
.L80051A7C:
/* 2CE7C 80051A7C 01038821 */ addu $s1, $t0, $v1
/* 2CE80 80051A80 92220045 */ lbu $v0, 0x45($s1)
/* 2CE84 80051A84 0045102B */ sltu $v0, $v0, $a1
/* 2CE88 80051A88 5440FFBA */ bnel $v0, $zero, .L80051974
/* 2CE8C 80051A8C 0220202D */ daddu $a0, $s1, $zero
/* 2CE90 80051A90 26100001 */ addiu $s0, $s0, 1
/* 2CE94 80051A94 0204102B */ sltu $v0, $s0, $a0
/* 2CE98 80051A98 1440FFF8 */ bnez $v0, .L80051A7C
/* 2CE9C 80051A9C 24630048 */ addiu $v1, $v1, 0x48
.L80051AA0:
/* 2CEA0 80051AA0 8EA20034 */ lw $v0, 0x34($s5)
/* 2CEA4 80051AA4 0202102B */ sltu $v0, $s0, $v0
/* 2CEA8 80051AA8 10400181 */ beqz $v0, .L800520B0
/* 2CEAC 80051AAC 00000000 */ nop
.L80051AB0:
/* 2CEB0 80051AB0 8EA20030 */ lw $v0, 0x30($s5)
/* 2CEB4 80051AB4 8FA80040 */ lw $t0, 0x40($sp)
/* 2CEB8 80051AB8 02021023 */ subu $v0, $s0, $v0
/* 2CEBC 80051ABC 01021021 */ addu $v0, $t0, $v0
/* 2CEC0 80051AC0 A05E0000 */ sb $fp, ($v0)
/* 2CEC4 80051AC4 8EA20030 */ lw $v0, 0x30($s5)
/* 2CEC8 80051AC8 8FA8003C */ lw $t0, 0x3c($sp)
/* 2CECC 80051ACC 02021023 */ subu $v0, $s0, $v0
/* 2CED0 80051AD0 01021021 */ addu $v0, $t0, $v0
/* 2CED4 80051AD4 A05E0000 */ sb $fp, ($v0)
/* 2CED8 80051AD8 8EA20030 */ lw $v0, 0x30($s5)
/* 2CEDC 80051ADC 8FA80070 */ lw $t0, 0x70($sp)
/* 2CEE0 80051AE0 8EA30014 */ lw $v1, 0x14($s5)
/* 2CEE4 80051AE4 02021023 */ subu $v0, $s0, $v0
/* 2CEE8 80051AE8 000210C0 */ sll $v0, $v0, 3
/* 2CEEC 80051AEC 244207B4 */ addiu $v0, $v0, 0x7b4
/* 2CEF0 80051AF0 01029021 */ addu $s2, $t0, $v0
/* 2CEF4 80051AF4 00161400 */ sll $v0, $s6, 0x10
/* 2CEF8 80051AF8 00621821 */ addu $v1, $v1, $v0
/* 2CEFC 80051AFC 32E200FF */ andi $v0, $s7, 0xff
/* 2CF00 80051B00 00021200 */ sll $v0, $v0, 8
/* 2CF04 80051B04 00621821 */ addu $v1, $v1, $v0
/* 2CF08 80051B08 AE430000 */ sw $v1, ($s2)
/* 2CF0C 80051B0C 92620026 */ lbu $v0, 0x26($s3)
/* 2CF10 80051B10 30420001 */ andi $v0, $v0, 1
/* 2CF14 80051B14 50400002 */ beql $v0, $zero, .L80051B20
/* 2CF18 80051B18 A2400007 */ sb $zero, 7($s2)
/* 2CF1C 80051B1C A25E0007 */ sb $fp, 7($s2)
.L80051B20:
/* 2CF20 80051B20 24080009 */ addiu $t0, $zero, 9
/* 2CF24 80051B24 12C80033 */ beq $s6, $t0, .L80051BF4
/* 2CF28 80051B28 32E3007F */ andi $v1, $s7, 0x7f
/* 2CF2C 80051B2C 92620026 */ lbu $v0, 0x26($s3)
/* 2CF30 80051B30 30420001 */ andi $v0, $v0, 1
/* 2CF34 80051B34 50400002 */ beql $v0, $zero, .L80051B40
/* 2CF38 80051B38 A2400007 */ sb $zero, 7($s2)
/* 2CF3C 80051B3C A25E0007 */ sb $fp, 7($s2)
.L80051B40:
/* 2CF40 80051B40 3284007F */ andi $a0, $s4, 0x7f
/* 2CF44 80051B44 8E620000 */ lw $v0, ($s3)
/* 2CF48 80051B48 32E3007F */ andi $v1, $s7, 0x7f
/* 2CF4C 80051B4C 9445001E */ lhu $a1, 0x1e($v0)
/* 2CF50 80051B50 00031040 */ sll $v0, $v1, 1
/* 2CF54 80051B54 00431021 */ addu $v0, $v0, $v1
/* 2CF58 80051B58 000210C0 */ sll $v0, $v0, 3
/* 2CF5C 80051B5C 00431021 */ addu $v0, $v0, $v1
/* 2CF60 80051B60 00021080 */ sll $v0, $v0, 2
/* 2CF64 80051B64 A2440006 */ sb $a0, 6($s2)
/* 2CF68 80051B68 00451023 */ subu $v0, $v0, $a1
/* 2CF6C 80051B6C A6420004 */ sh $v0, 4($s2)
/* 2CF70 80051B70 82A30038 */ lb $v1, 0x38($s5)
/* 2CF74 80051B74 86620018 */ lh $v0, 0x18($s3)
/* 2CF78 80051B78 00620018 */ mult $v1, $v0
/* 2CF7C 80051B7C 00004012 */ mflo $t0
/* 2CF80 80051B80 00000000 */ nop
/* 2CF84 80051B84 00000000 */ nop
/* 2CF88 80051B88 01040018 */ mult $t0, $a0
/* 2CF8C 80051B8C 00004012 */ mflo $t0
/* 2CF90 80051B90 00081383 */ sra $v0, $t0, 0xe
/* 2CF94 80051B94 A6220040 */ sh $v0, 0x40($s1)
/* 2CF98 80051B98 86420004 */ lh $v0, 4($s2)
/* 2CF9C 80051B9C 8664000C */ lh $a0, 0xc($s3)
/* 2CFA0 80051BA0 0C014E3E */ jal func_800538F8
/* 2CFA4 80051BA4 00442021 */ addu $a0, $v0, $a0
/* 2CFA8 80051BA8 8E620000 */ lw $v0, ($s3)
/* 2CFAC 80051BAC C4420020 */ lwc1 $f2, 0x20($v0)
/* 2CFB0 80051BB0 46020002 */ mul.s $f0, $f0, $f2
/* 2CFB4 80051BB4 00000000 */ nop
/* 2CFB8 80051BB8 E6200004 */ swc1 $f0, 4($s1)
/* 2CFBC 80051BBC 92620024 */ lbu $v0, 0x24($s3)
/* 2CFC0 80051BC0 A222000E */ sb $v0, 0xe($s1)
/* 2CFC4 80051BC4 92620025 */ lbu $v0, 0x25($s3)
/* 2CFC8 80051BC8 A222000F */ sb $v0, 0xf($s1)
/* 2CFCC 80051BCC 8E620000 */ lw $v0, ($s3)
/* 2CFD0 80051BD0 AE220000 */ sw $v0, ($s1)
/* 2CFD4 80051BD4 8FA80070 */ lw $t0, 0x70($sp)
/* 2CFD8 80051BD8 91020023 */ lbu $v0, 0x23($t0)
/* 2CFDC 80051BDC A2220010 */ sb $v0, 0x10($s1)
/* 2CFE0 80051BE0 8E620004 */ lw $v0, 4($s3)
/* 2CFE4 80051BE4 AE220014 */ sw $v0, 0x14($s1)
/* 2CFE8 80051BE8 8E620008 */ lw $v0, 8($s3)
/* 2CFEC 80051BEC 0801472D */ j .L80051CB4
/* 2CFF0 80051BF0 AE220018 */ sw $v0, 0x18($s1)
.L80051BF4:
/* 2CFF4 80051BF4 A2400007 */ sb $zero, 7($s2)
/* 2CFF8 80051BF8 8FA80070 */ lw $t0, 0x70($sp)
/* 2CFFC 80051BFC 00031040 */ sll $v0, $v1, 1
/* 2D000 80051C00 8D040000 */ lw $a0, ($t0)
/* 2D004 80051C04 00431021 */ addu $v0, $v0, $v1
/* 2D008 80051C08 8C900054 */ lw $s0, 0x54($a0)
/* 2D00C 80051C0C 00021080 */ sll $v0, $v0, 2
/* 2D010 80051C10 02028021 */ addu $s0, $s0, $v0
/* 2D014 80051C14 96060000 */ lhu $a2, ($s0)
/* 2D018 80051C18 26270014 */ addiu $a3, $s1, 0x14
/* 2D01C 80051C1C 00062A02 */ srl $a1, $a2, 8
/* 2D020 80051C20 0C014EFA */ jal func_80053BE8
/* 2D024 80051C24 30C600FF */ andi $a2, $a2, 0xff
/* 2D028 80051C28 AE220000 */ sw $v0, ($s1)
/* 2D02C 80051C2C 96030002 */ lhu $v1, 2($s0)
/* 2D030 80051C30 9442001E */ lhu $v0, 0x1e($v0)
/* 2D034 80051C34 00621823 */ subu $v1, $v1, $v0
/* 2D038 80051C38 A6430004 */ sh $v1, 4($s2)
/* 2D03C 80051C3C 92030004 */ lbu $v1, 4($s0)
/* 2D040 80051C40 3282007F */ andi $v0, $s4, 0x7f
/* 2D044 80051C44 00430018 */ mult $v0, $v1
/* 2D048 80051C48 00004012 */ mflo $t0
/* 2D04C 80051C4C 000819C3 */ sra $v1, $t0, 7
/* 2D050 80051C50 A2430006 */ sb $v1, 6($s2)
/* 2D054 80051C54 82A40038 */ lb $a0, 0x38($s5)
/* 2D058 80051C58 86620018 */ lh $v0, 0x18($s3)
/* 2D05C 80051C5C 00820018 */ mult $a0, $v0
/* 2D060 80051C60 00004012 */ mflo $t0
/* 2D064 80051C64 00031E00 */ sll $v1, $v1, 0x18
/* 2D068 80051C68 00031E03 */ sra $v1, $v1, 0x18
/* 2D06C 80051C6C 01030018 */ mult $t0, $v1
/* 2D070 80051C70 00004012 */ mflo $t0
/* 2D074 80051C74 00081383 */ sra $v0, $t0, 0xe
/* 2D078 80051C78 A6220040 */ sh $v0, 0x40($s1)
/* 2D07C 80051C7C 0C014E3E */ jal func_800538F8
/* 2D080 80051C80 86440004 */ lh $a0, 4($s2)
/* 2D084 80051C84 8E220000 */ lw $v0, ($s1)
/* 2D088 80051C88 C4420020 */ lwc1 $f2, 0x20($v0)
/* 2D08C 80051C8C 46020002 */ mul.s $f0, $f0, $f2
/* 2D090 80051C90 00000000 */ nop
/* 2D094 80051C94 E6200004 */ swc1 $f0, 4($s1)
/* 2D098 80051C98 92020005 */ lbu $v0, 5($s0)
/* 2D09C 80051C9C A222000E */ sb $v0, 0xe($s1)
/* 2D0A0 80051CA0 92020006 */ lbu $v0, 6($s0)
/* 2D0A4 80051CA4 A222000F */ sb $v0, 0xf($s1)
/* 2D0A8 80051CA8 8FA80070 */ lw $t0, 0x70($sp)
/* 2D0AC 80051CAC 91020023 */ lbu $v0, 0x23($t0)
/* 2D0B0 80051CB0 A2220010 */ sb $v0, 0x10($s1)
.L80051CB4:
/* 2D0B4 80051CB4 24020002 */ addiu $v0, $zero, 2
/* 2D0B8 80051CB8 A2220043 */ sb $v0, 0x43($s1)
/* 2D0BC 80051CBC 8FA80070 */ lw $t0, 0x70($sp)
/* 2D0C0 80051CC0 91020022 */ lbu $v0, 0x22($t0)
/* 2D0C4 80051CC4 A2220045 */ sb $v0, 0x45($s1)
/* 2D0C8 80051CC8 0801482C */ j .L800520B0
/* 2D0CC 80051CCC A2220044 */ sb $v0, 0x44($s1)
.L80051CD0:
/* 2D0D0 80051CD0 1040002C */ beqz $v0, .L80051D84
/* 2D0D4 80051CD4 32E2007F */ andi $v0, $s7, 0x7f
/* 2D0D8 80051CD8 00162400 */ sll $a0, $s6, 0x10
/* 2D0DC 80051CDC A2620024 */ sb $v0, 0x24($s3)
/* 2D0E0 80051CE0 8EB00030 */ lw $s0, 0x30($s5)
/* 2D0E4 80051CE4 8EA30014 */ lw $v1, 0x14($s5)
/* 2D0E8 80051CE8 8EA20034 */ lw $v0, 0x34($s5)
/* 2D0EC 80051CEC 0202102B */ sltu $v0, $s0, $v0
/* 2D0F0 80051CF0 104000EF */ beqz $v0, .L800520B0
/* 2D0F4 80051CF4 0064B821 */ addu $s7, $v1, $a0
/* 2D0F8 80051CF8 001010C0 */ sll $v0, $s0, 3
/* 2D0FC 80051CFC 00501021 */ addu $v0, $v0, $s0
/* 2D100 80051D00 000210C0 */ sll $v0, $v0, 3
/* 2D104 80051D04 24441320 */ addiu $a0, $v0, 0x1320
.L80051D08:
/* 2D108 80051D08 8EA20030 */ lw $v0, 0x30($s5)
/* 2D10C 80051D0C 8FA80070 */ lw $t0, 0x70($sp)
/* 2D110 80051D10 02021023 */ subu $v0, $s0, $v0
/* 2D114 80051D14 000210C0 */ sll $v0, $v0, 3
/* 2D118 80051D18 00489021 */ addu $s2, $v0, $t0
/* 2D11C 80051D1C 8E4207B4 */ lw $v0, 0x7b4($s2)
/* 2D120 80051D20 3C08FFFF */ lui $t0, 0xffff
/* 2D124 80051D24 00481024 */ and $v0, $v0, $t0
/* 2D128 80051D28 1457000F */ bne $v0, $s7, .L80051D68
/* 2D12C 80051D2C 00000000 */ nop
/* 2D130 80051D30 8FA80030 */ lw $t0, 0x30($sp)
/* 2D134 80051D34 01048821 */ addu $s1, $t0, $a0
/* 2D138 80051D38 8FA80070 */ lw $t0, 0x70($sp)
/* 2D13C 80051D3C 92230045 */ lbu $v1, 0x45($s1)
/* 2D140 80051D40 91020022 */ lbu $v0, 0x22($t0)
/* 2D144 80051D44 14620008 */ bne $v1, $v0, .L80051D68
/* 2D148 80051D48 24080009 */ addiu $t0, $zero, 9
/* 2D14C 80051D4C 12C80006 */ beq $s6, $t0, .L80051D68
/* 2D150 80051D50 00000000 */ nop
/* 2D154 80051D54 92220043 */ lbu $v0, 0x43($s1)
/* 2D158 80051D58 92630024 */ lbu $v1, 0x24($s3)
/* 2D15C 80051D5C 34420010 */ ori $v0, $v0, 0x10
/* 2D160 80051D60 A223000E */ sb $v1, 0xe($s1)
/* 2D164 80051D64 A2220043 */ sb $v0, 0x43($s1)
.L80051D68:
/* 2D168 80051D68 8EA20034 */ lw $v0, 0x34($s5)
/* 2D16C 80051D6C 26100001 */ addiu $s0, $s0, 1
/* 2D170 80051D70 0202102B */ sltu $v0, $s0, $v0
/* 2D174 80051D74 1440FFE4 */ bnez $v0, .L80051D08
/* 2D178 80051D78 24840048 */ addiu $a0, $a0, 0x48
/* 2D17C 80051D7C 0801482C */ j .L800520B0
/* 2D180 80051D80 00000000 */ nop
.L80051D84:
/* 2D184 80051D84 00171E00 */ sll $v1, $s7, 0x18
/* 2D188 80051D88 10600005 */ beqz $v1, .L80051DA0
/* 2D18C 80051D8C AE630018 */ sw $v1, 0x18($s3)
/* 2D190 80051D90 3C0200FF */ lui $v0, 0xff
/* 2D194 80051D94 3442FFFF */ ori $v0, $v0, 0xffff
/* 2D198 80051D98 00621025 */ or $v0, $v1, $v0
/* 2D19C 80051D9C AE620018 */ sw $v0, 0x18($s3)
.L80051DA0:
/* 2D1A0 80051DA0 00162400 */ sll $a0, $s6, 0x10
/* 2D1A4 80051DA4 8EB00030 */ lw $s0, 0x30($s5)
/* 2D1A8 80051DA8 8EA30014 */ lw $v1, 0x14($s5)
/* 2D1AC 80051DAC 8EA20034 */ lw $v0, 0x34($s5)
/* 2D1B0 80051DB0 0202102B */ sltu $v0, $s0, $v0
/* 2D1B4 80051DB4 104000BE */ beqz $v0, .L800520B0
/* 2D1B8 80051DB8 0064B821 */ addu $s7, $v1, $a0
/* 2D1BC 80051DBC 001010C0 */ sll $v0, $s0, 3
/* 2D1C0 80051DC0 00501021 */ addu $v0, $v0, $s0
/* 2D1C4 80051DC4 000210C0 */ sll $v0, $v0, 3
/* 2D1C8 80051DC8 24441320 */ addiu $a0, $v0, 0x1320
.L80051DCC:
/* 2D1CC 80051DCC 8EA20030 */ lw $v0, 0x30($s5)
/* 2D1D0 80051DD0 8FA80070 */ lw $t0, 0x70($sp)
/* 2D1D4 80051DD4 02021023 */ subu $v0, $s0, $v0
/* 2D1D8 80051DD8 000210C0 */ sll $v0, $v0, 3
/* 2D1DC 80051DDC 244207B4 */ addiu $v0, $v0, 0x7b4
/* 2D1E0 80051DE0 01029021 */ addu $s2, $t0, $v0
/* 2D1E4 80051DE4 8E420000 */ lw $v0, ($s2)
/* 2D1E8 80051DE8 3C08FFFF */ lui $t0, 0xffff
/* 2D1EC 80051DEC 00481024 */ and $v0, $v0, $t0
/* 2D1F0 80051DF0 14570020 */ bne $v0, $s7, .L80051E74
/* 2D1F4 80051DF4 00000000 */ nop
/* 2D1F8 80051DF8 8FA80030 */ lw $t0, 0x30($sp)
/* 2D1FC 80051DFC 01048821 */ addu $s1, $t0, $a0
/* 2D200 80051E00 8FA80070 */ lw $t0, 0x70($sp)
/* 2D204 80051E04 92230045 */ lbu $v1, 0x45($s1)
/* 2D208 80051E08 91020022 */ lbu $v0, 0x22($t0)
/* 2D20C 80051E0C 14620019 */ bne $v1, $v0, .L80051E74
/* 2D210 80051E10 00000000 */ nop
/* 2D214 80051E14 82A30038 */ lb $v1, 0x38($s5)
/* 2D218 80051E18 86620018 */ lh $v0, 0x18($s3)
/* 2D21C 80051E1C 00620018 */ mult $v1, $v0
/* 2D220 80051E20 00004012 */ mflo $t0
/* 2D224 80051E24 82420006 */ lb $v0, 6($s2)
/* 2D228 80051E28 00000000 */ nop
/* 2D22C 80051E2C 01020018 */ mult $t0, $v0
/* 2D230 80051E30 00004012 */ mflo $t0
/* 2D234 80051E34 00081383 */ sra $v0, $t0, 0xe
/* 2D238 80051E38 A6220040 */ sh $v0, 0x40($s1)
/* 2D23C 80051E3C 8EA20030 */ lw $v0, 0x30($s5)
/* 2D240 80051E40 8FA80040 */ lw $t0, 0x40($sp)
/* 2D244 80051E44 02021023 */ subu $v0, $s0, $v0
/* 2D248 80051E48 01021021 */ addu $v0, $t0, $v0
/* 2D24C 80051E4C 90420000 */ lbu $v0, ($v0)
/* 2D250 80051E50 14400008 */ bnez $v0, .L80051E74
/* 2D254 80051E54 00000000 */ nop
/* 2D258 80051E58 9222003D */ lbu $v0, 0x3d($s1)
/* 2D25C 80051E5C 34420020 */ ori $v0, $v0, 0x20
/* 2D260 80051E60 A222003D */ sb $v0, 0x3d($s1)
/* 2D264 80051E64 8EA20030 */ lw $v0, 0x30($s5)
/* 2D268 80051E68 02021023 */ subu $v0, $s0, $v0
/* 2D26C 80051E6C 01021021 */ addu $v0, $t0, $v0
/* 2D270 80051E70 A05E0000 */ sb $fp, ($v0)
.L80051E74:
/* 2D274 80051E74 8EA20034 */ lw $v0, 0x34($s5)
/* 2D278 80051E78 26100001 */ addiu $s0, $s0, 1
/* 2D27C 80051E7C 0202102B */ sltu $v0, $s0, $v0
/* 2D280 80051E80 1440FFD2 */ bnez $v0, .L80051DCC
/* 2D284 80051E84 24840048 */ addiu $a0, $a0, 0x48
/* 2D288 80051E88 0801482C */ j .L800520B0
/* 2D28C 80051E8C 00000000 */ nop
.L80051E90:
/* 2D290 80051E90 0C014874 */ jal func_800521D0
/* 2D294 80051E94 02A0202D */ daddu $a0, $s5, $zero
/* 2D298 80051E98 0040A02D */ daddu $s4, $v0, $zero
/* 2D29C 80051E9C 32E300FF */ andi $v1, $s7, 0xff
/* 2D2A0 80051EA0 24020067 */ addiu $v0, $zero, 0x67
/* 2D2A4 80051EA4 10620013 */ beq $v1, $v0, .L80051EF4
/* 2D2A8 80051EA8 28620068 */ slti $v0, $v1, 0x68
/* 2D2AC 80051EAC 10400005 */ beqz $v0, .L80051EC4
/* 2D2B0 80051EB0 24020066 */ addiu $v0, $zero, 0x66
/* 2D2B4 80051EB4 1062000A */ beq $v1, $v0, .L80051EE0
/* 2D2B8 80051EB8 32820001 */ andi $v0, $s4, 1
/* 2D2BC 80051EBC 0801482C */ j .L800520B0
/* 2D2C0 80051EC0 00000000 */ nop
.L80051EC4:
/* 2D2C4 80051EC4 24020068 */ addiu $v0, $zero, 0x68
/* 2D2C8 80051EC8 10620027 */ beq $v1, $v0, .L80051F68
/* 2D2CC 80051ECC 24020069 */ addiu $v0, $zero, 0x69
/* 2D2D0 80051ED0 10620027 */ beq $v1, $v0, .L80051F70
/* 2D2D4 80051ED4 328300FF */ andi $v1, $s4, 0xff
/* 2D2D8 80051ED8 0801482C */ j .L800520B0
/* 2D2DC 80051EDC 00000000 */ nop
.L80051EE0:
/* 2D2E0 80051EE0 00021080 */ sll $v0, $v0, 2
/* 2D2E4 80051EE4 8EA30008 */ lw $v1, 8($s5)
/* 2D2E8 80051EE8 02A21021 */ addu $v0, $s5, $v0
/* 2D2EC 80051EEC 0801482C */ j .L800520B0
/* 2D2F0 80051EF0 AC43000C */ sw $v1, 0xc($v0)
.L80051EF4:
/* 2D2F4 80051EF4 3282007C */ andi $v0, $s4, 0x7c
/* 2D2F8 80051EF8 00022882 */ srl $a1, $v0, 2
/* 2D2FC 80051EFC 10A00013 */ beqz $a1, .L80051F4C
/* 2D300 80051F00 32840001 */ andi $a0, $s4, 1
/* 2D304 80051F04 02A41821 */ addu $v1, $s5, $a0
/* 2D308 80051F08 9062002C */ lbu $v0, 0x2c($v1)
/* 2D30C 80051F0C 10400009 */ beqz $v0, .L80051F34
/* 2D310 80051F10 2442FFFF */ addiu $v0, $v0, -1
/* 2D314 80051F14 A062002C */ sb $v0, 0x2c($v1)
/* 2D318 80051F18 304200FF */ andi $v0, $v0, 0xff
/* 2D31C 80051F1C 10400064 */ beqz $v0, .L800520B0
/* 2D320 80051F20 00041080 */ sll $v0, $a0, 2
/* 2D324 80051F24 02A21021 */ addu $v0, $s5, $v0
/* 2D328 80051F28 8C42000C */ lw $v0, 0xc($v0)
/* 2D32C 80051F2C 0801482C */ j .L800520B0
/* 2D330 80051F30 AEA20008 */ sw $v0, 8($s5)
.L80051F34:
/* 2D334 80051F34 00041080 */ sll $v0, $a0, 2
/* 2D338 80051F38 02A21021 */ addu $v0, $s5, $v0
/* 2D33C 80051F3C 8C42000C */ lw $v0, 0xc($v0)
/* 2D340 80051F40 AEA20008 */ sw $v0, 8($s5)
/* 2D344 80051F44 0801482C */ j .L800520B0
/* 2D348 80051F48 A065002C */ sb $a1, 0x2c($v1)
.L80051F4C:
/* 2D34C 80051F4C 00041080 */ sll $v0, $a0, 2
/* 2D350 80051F50 02A21021 */ addu $v0, $s5, $v0
/* 2D354 80051F54 8C42000C */ lw $v0, 0xc($v0)
/* 2D358 80051F58 AEA20008 */ sw $v0, 8($s5)
/* 2D35C 80051F5C 02A41021 */ addu $v0, $s5, $a0
/* 2D360 80051F60 0801482C */ j .L800520B0
/* 2D364 80051F64 A040002C */ sb $zero, 0x2c($v0)
.L80051F68:
/* 2D368 80051F68 0801482C */ j .L800520B0
/* 2D36C 80051F6C A2740025 */ sb $s4, 0x25($s3)
.L80051F70:
/* 2D370 80051F70 24020001 */ addiu $v0, $zero, 1
/* 2D374 80051F74 1462004E */ bne $v1, $v0, .L800520B0
/* 2D378 80051F78 00000000 */ nop
/* 2D37C 80051F7C 92620026 */ lbu $v0, 0x26($s3)
/* 2D380 80051F80 34420001 */ ori $v0, $v0, 1
/* 2D384 80051F84 0801482C */ j .L800520B0
/* 2D388 80051F88 A2620026 */ sb $v0, 0x26($s3)
.L80051F8C:
/* 2D38C 80051F8C 0C014874 */ jal func_800521D0
/* 2D390 80051F90 02A0202D */ daddu $a0, $s5, $zero
/* 2D394 80051F94 24080009 */ addiu $t0, $zero, 9
/* 2D398 80051F98 12C80045 */ beq $s6, $t0, .L800520B0
/* 2D39C 80051F9C 0040A02D */ daddu $s4, $v0, $zero
/* 2D3A0 80051FA0 32E500FF */ andi $a1, $s7, 0xff
/* 2D3A4 80051FA4 8FA80070 */ lw $t0, 0x70($sp)
/* 2D3A8 80051FA8 328600FF */ andi $a2, $s4, 0xff
/* 2D3AC 80051FAC 8D040000 */ lw $a0, ($t0)
/* 2D3B0 80051FB0 0C014EFA */ jal func_80053BE8
/* 2D3B4 80051FB4 26670004 */ addiu $a3, $s3, 4
/* 2D3B8 80051FB8 0801482C */ j .L800520B0
/* 2D3BC 80051FBC AE620000 */ sw $v0, ($s3)
.L80051FC0:
/* 2D3C0 80051FC0 0C014874 */ jal func_800521D0
/* 2D3C4 80051FC4 02A0202D */ daddu $a0, $s5, $zero
/* 2D3C8 80051FC8 00171E00 */ sll $v1, $s7, 0x18
/* 2D3CC 80051FCC 304200FF */ andi $v0, $v0, 0xff
/* 2D3D0 80051FD0 00021400 */ sll $v0, $v0, 0x10
/* 2D3D4 80051FD4 00621821 */ addu $v1, $v1, $v0
/* 2D3D8 80051FD8 00162400 */ sll $a0, $s6, 0x10
/* 2D3DC 80051FDC AE63000C */ sw $v1, 0xc($s3)
/* 2D3E0 80051FE0 8EB00030 */ lw $s0, 0x30($s5)
/* 2D3E4 80051FE4 8EA30014 */ lw $v1, 0x14($s5)
/* 2D3E8 80051FE8 8EA20034 */ lw $v0, 0x34($s5)
/* 2D3EC 80051FEC 0202102B */ sltu $v0, $s0, $v0
/* 2D3F0 80051FF0 1040002F */ beqz $v0, .L800520B0
/* 2D3F4 80051FF4 0064B821 */ addu $s7, $v1, $a0
/* 2D3F8 80051FF8 001010C0 */ sll $v0, $s0, 3
/* 2D3FC 80051FFC 00501021 */ addu $v0, $v0, $s0
/* 2D400 80052000 000210C0 */ sll $v0, $v0, 3
/* 2D404 80052004 24541320 */ addiu $s4, $v0, 0x1320
.L80052008:
/* 2D408 80052008 8EA20030 */ lw $v0, 0x30($s5)
/* 2D40C 8005200C 8FA80070 */ lw $t0, 0x70($sp)
/* 2D410 80052010 02021023 */ subu $v0, $s0, $v0
/* 2D414 80052014 000210C0 */ sll $v0, $v0, 3
/* 2D418 80052018 244207B4 */ addiu $v0, $v0, 0x7b4
/* 2D41C 8005201C 01029021 */ addu $s2, $t0, $v0
/* 2D420 80052020 8E420000 */ lw $v0, ($s2)
/* 2D424 80052024 3C08FFFF */ lui $t0, 0xffff
/* 2D428 80052028 00481024 */ and $v0, $v0, $t0
/* 2D42C 8005202C 1457001B */ bne $v0, $s7, .L8005209C
/* 2D430 80052030 00000000 */ nop
/* 2D434 80052034 8FA80030 */ lw $t0, 0x30($sp)
/* 2D438 80052038 01148821 */ addu $s1, $t0, $s4
/* 2D43C 8005203C 8FA80070 */ lw $t0, 0x70($sp)
/* 2D440 80052040 92230045 */ lbu $v1, 0x45($s1)
/* 2D444 80052044 91020022 */ lbu $v0, 0x22($t0)
/* 2D448 80052048 14620014 */ bne $v1, $v0, .L8005209C
/* 2D44C 8005204C 24080009 */ addiu $t0, $zero, 9
/* 2D450 80052050 12C80012 */ beq $s6, $t0, .L8005209C
/* 2D454 80052054 00000000 */ nop
/* 2D458 80052058 86420004 */ lh $v0, 4($s2)
/* 2D45C 8005205C 8664000C */ lh $a0, 0xc($s3)
/* 2D460 80052060 0C014E3E */ jal func_800538F8
/* 2D464 80052064 00442021 */ addu $a0, $v0, $a0
/* 2D468 80052068 8E620000 */ lw $v0, ($s3)
/* 2D46C 8005206C C4420020 */ lwc1 $f2, 0x20($v0)
/* 2D470 80052070 46020002 */ mul.s $f0, $f0, $f2
/* 2D474 80052074 00000000 */ nop
/* 2D478 80052078 92220043 */ lbu $v0, 0x43($s1)
/* 2D47C 8005207C 34420008 */ ori $v0, $v0, 8
/* 2D480 80052080 A2220043 */ sb $v0, 0x43($s1)
/* 2D484 80052084 E6200004 */ swc1 $f0, 4($s1)
/* 2D488 80052088 8EA20030 */ lw $v0, 0x30($s5)
/* 2D48C 8005208C 8FA8003C */ lw $t0, 0x3c($sp)
/* 2D490 80052090 02021023 */ subu $v0, $s0, $v0
/* 2D494 80052094 01021021 */ addu $v0, $t0, $v0
/* 2D498 80052098 A05E0000 */ sb $fp, ($v0)
.L8005209C:
/* 2D49C 8005209C 8EA20034 */ lw $v0, 0x34($s5)
/* 2D4A0 800520A0 26100001 */ addiu $s0, $s0, 1
/* 2D4A4 800520A4 0202102B */ sltu $v0, $s0, $v0
/* 2D4A8 800520A8 1440FFD7 */ bnez $v0, .L80052008
/* 2D4AC 800520AC 26940048 */ addiu $s4, $s4, 0x48
.L800520B0:
/* 2D4B0 800520B0 8EA20018 */ lw $v0, 0x18($s5)
/* 2D4B4 800520B4 1040FDC9 */ beqz $v0, .L800517DC
/* 2D4B8 800520B8 00000000 */ nop
.L800520BC:
/* 2D4BC 800520BC 93A20034 */ lbu $v0, 0x34($sp)
/* 2D4C0 800520C0 10400037 */ beqz $v0, .L800521A0
/* 2D4C4 800520C4 00000000 */ nop
/* 2D4C8 800520C8 8EB00030 */ lw $s0, 0x30($s5)
/* 2D4CC 800520CC 8EA20034 */ lw $v0, 0x34($s5)
/* 2D4D0 800520D0 0202102B */ sltu $v0, $s0, $v0
/* 2D4D4 800520D4 10400032 */ beqz $v0, .L800521A0
/* 2D4D8 800520D8 001010C0 */ sll $v0, $s0, 3
/* 2D4DC 800520DC 3C07FF00 */ lui $a3, 0xff00
/* 2D4E0 800520E0 27A60010 */ addiu $a2, $sp, 0x10
/* 2D4E4 800520E4 00501021 */ addu $v0, $v0, $s0
/* 2D4E8 800520E8 000210C0 */ sll $v0, $v0, 3
/* 2D4EC 800520EC 24451320 */ addiu $a1, $v0, 0x1320
.L800520F0:
/* 2D4F0 800520F0 8EA20030 */ lw $v0, 0x30($s5)
/* 2D4F4 800520F4 8FA80070 */ lw $t0, 0x70($sp)
/* 2D4F8 800520F8 02022023 */ subu $a0, $s0, $v0
/* 2D4FC 800520FC 000410C0 */ sll $v0, $a0, 3
/* 2D500 80052100 244207B4 */ addiu $v0, $v0, 0x7b4
/* 2D504 80052104 01029021 */ addu $s2, $t0, $v0
/* 2D508 80052108 8E420000 */ lw $v0, ($s2)
/* 2D50C 8005210C 8EA30014 */ lw $v1, 0x14($s5)
/* 2D510 80052110 00471024 */ and $v0, $v0, $a3
/* 2D514 80052114 1443001D */ bne $v0, $v1, .L8005218C
/* 2D518 80052118 00000000 */ nop
/* 2D51C 8005211C 8FA80030 */ lw $t0, 0x30($sp)
/* 2D520 80052120 01058821 */ addu $s1, $t0, $a1
/* 2D524 80052124 8FA80070 */ lw $t0, 0x70($sp)
/* 2D528 80052128 92230045 */ lbu $v1, 0x45($s1)
/* 2D52C 8005212C 91020022 */ lbu $v0, 0x22($t0)
/* 2D530 80052130 14620016 */ bne $v1, $v0, .L8005218C
/* 2D534 80052134 00C41021 */ addu $v0, $a2, $a0
/* 2D538 80052138 90420000 */ lbu $v0, ($v0)
/* 2D53C 8005213C 14400013 */ bnez $v0, .L8005218C
/* 2D540 80052140 00000000 */ nop
/* 2D544 80052144 92430001 */ lbu $v1, 1($s2)
/* 2D548 80052148 00031080 */ sll $v0, $v1, 2
/* 2D54C 8005214C 00431021 */ addu $v0, $v0, $v1
/* 2D550 80052150 000210C0 */ sll $v0, $v0, 3
/* 2D554 80052154 00559821 */ addu $s3, $v0, $s5
/* 2D558 80052158 82A30038 */ lb $v1, 0x38($s5)
/* 2D55C 8005215C 8662005C */ lh $v0, 0x5c($s3)
/* 2D560 80052160 00620018 */ mult $v1, $v0
/* 2D564 80052164 00004012 */ mflo $t0
/* 2D568 80052168 82420006 */ lb $v0, 6($s2)
/* 2D56C 8005216C 00000000 */ nop
/* 2D570 80052170 01020018 */ mult $t0, $v0
/* 2D574 80052174 9222003D */ lbu $v0, 0x3d($s1)
/* 2D578 80052178 34420020 */ ori $v0, $v0, 0x20
/* 2D57C 8005217C A222003D */ sb $v0, 0x3d($s1)
/* 2D580 80052180 00004012 */ mflo $t0
/* 2D584 80052184 00081383 */ sra $v0, $t0, 0xe
/* 2D588 80052188 A6220040 */ sh $v0, 0x40($s1)
.L8005218C:
/* 2D58C 8005218C 8EA20034 */ lw $v0, 0x34($s5)
/* 2D590 80052190 26100001 */ addiu $s0, $s0, 1
/* 2D594 80052194 0202102B */ sltu $v0, $s0, $v0
/* 2D598 80052198 1440FFD5 */ bnez $v0, .L800520F0
/* 2D59C 8005219C 24A50048 */ addiu $a1, $a1, 0x48
.L800521A0:
/* 2D5A0 800521A0 8FBF006C */ lw $ra, 0x6c($sp)
/* 2D5A4 800521A4 8FBE0068 */ lw $fp, 0x68($sp)
/* 2D5A8 800521A8 8FB70064 */ lw $s7, 0x64($sp)
/* 2D5AC 800521AC 8FB60060 */ lw $s6, 0x60($sp)
/* 2D5B0 800521B0 8FB5005C */ lw $s5, 0x5c($sp)
/* 2D5B4 800521B4 8FB40058 */ lw $s4, 0x58($sp)
/* 2D5B8 800521B8 8FB30054 */ lw $s3, 0x54($sp)
/* 2D5BC 800521BC 8FB20050 */ lw $s2, 0x50($sp)
/* 2D5C0 800521C0 8FB1004C */ lw $s1, 0x4c($sp)
/* 2D5C4 800521C4 8FB00048 */ lw $s0, 0x48($sp)
/* 2D5C8 800521C8 03E00008 */ jr $ra
/* 2D5CC 800521CC 27BD0070 */ addiu $sp, $sp, 0x70

View File

@ -0,0 +1,10 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800521D0
/* 2D5D0 800521D0 8C830008 */ lw $v1, 8($a0)
/* 2D5D4 800521D4 90620000 */ lbu $v0, ($v1)
/* 2D5D8 800521D8 24630001 */ addiu $v1, $v1, 1
/* 2D5DC 800521DC AC830008 */ sw $v1, 8($a0)
/* 2D5E0 800521E0 03E00008 */ jr $ra
/* 2D5E4 800521E4 304200FF */ andi $v0, $v0, 0xff

View File

@ -0,0 +1,55 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800521E8
/* 2D5E8 800521E8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 2D5EC 800521EC AFB3001C */ sw $s3, 0x1c($sp)
/* 2D5F0 800521F0 00A0982D */ daddu $s3, $a1, $zero
/* 2D5F4 800521F4 AFBF0024 */ sw $ra, 0x24($sp)
/* 2D5F8 800521F8 AFB40020 */ sw $s4, 0x20($sp)
/* 2D5FC 800521FC AFB20018 */ sw $s2, 0x18($sp)
/* 2D600 80052200 AFB10014 */ sw $s1, 0x14($sp)
/* 2D604 80052204 AFB00010 */ sw $s0, 0x10($sp)
/* 2D608 80052208 8E700030 */ lw $s0, 0x30($s3)
/* 2D60C 8005220C 8E620034 */ lw $v0, 0x34($s3)
/* 2D610 80052210 0202102B */ sltu $v0, $s0, $v0
/* 2D614 80052214 1040001C */ beqz $v0, .L80052288
/* 2D618 80052218 0080A02D */ daddu $s4, $a0, $zero
/* 2D61C 8005221C 001010C0 */ sll $v0, $s0, 3
/* 2D620 80052220 00501021 */ addu $v0, $v0, $s0
/* 2D624 80052224 000210C0 */ sll $v0, $v0, 3
/* 2D628 80052228 24521320 */ addiu $s2, $v0, 0x1320
.L8005222C:
/* 2D62C 8005222C 8E620030 */ lw $v0, 0x30($s3)
/* 2D630 80052230 02021023 */ subu $v0, $s0, $v0
/* 2D634 80052234 000210C0 */ sll $v0, $v0, 3
/* 2D638 80052238 244207B4 */ addiu $v0, $v0, 0x7b4
/* 2D63C 8005223C 02828821 */ addu $s1, $s4, $v0
/* 2D640 80052240 92230000 */ lbu $v1, ($s1)
/* 2D644 80052244 92620014 */ lbu $v0, 0x14($s3)
/* 2D648 80052248 1462000A */ bne $v1, $v0, .L80052274
/* 2D64C 8005224C 00000000 */ nop
/* 2D650 80052250 8E820000 */ lw $v0, ($s4)
/* 2D654 80052254 00522021 */ addu $a0, $v0, $s2
/* 2D658 80052258 90830045 */ lbu $v1, 0x45($a0)
/* 2D65C 8005225C 92820022 */ lbu $v0, 0x22($s4)
/* 2D660 80052260 54620004 */ bnel $v1, $v0, .L80052274
/* 2D664 80052264 AE200000 */ sw $zero, ($s1)
/* 2D668 80052268 0C014E31 */ jal func_800538C4
/* 2D66C 8005226C 320500FF */ andi $a1, $s0, 0xff
/* 2D670 80052270 AE200000 */ sw $zero, ($s1)
.L80052274:
/* 2D674 80052274 8E620034 */ lw $v0, 0x34($s3)
/* 2D678 80052278 26100001 */ addiu $s0, $s0, 1
/* 2D67C 8005227C 0202102B */ sltu $v0, $s0, $v0
/* 2D680 80052280 1440FFEA */ bnez $v0, .L8005222C
/* 2D684 80052284 26520048 */ addiu $s2, $s2, 0x48
.L80052288:
/* 2D688 80052288 8FBF0024 */ lw $ra, 0x24($sp)
/* 2D68C 8005228C 8FB40020 */ lw $s4, 0x20($sp)
/* 2D690 80052290 8FB3001C */ lw $s3, 0x1c($sp)
/* 2D694 80052294 8FB20018 */ lw $s2, 0x18($sp)
/* 2D698 80052298 8FB10014 */ lw $s1, 0x14($sp)
/* 2D69C 8005229C 8FB00010 */ lw $s0, 0x10($sp)
/* 2D6A0 800522A0 03E00008 */ jr $ra
/* 2D6A4 800522A4 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,40 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800522A8
/* 2D6A8 800522A8 24A901D4 */ addiu $t1, $a1, 0x1d4
/* 2D6AC 800522AC 8CA70030 */ lw $a3, 0x30($a1)
/* 2D6B0 800522B0 8CA20034 */ lw $v0, 0x34($a1)
/* 2D6B4 800522B4 00E2102B */ sltu $v0, $a3, $v0
/* 2D6B8 800522B8 1040001A */ beqz $v0, .L80052324
/* 2D6BC 800522BC 0000402D */ daddu $t0, $zero, $zero
/* 2D6C0 800522C0 24A601D6 */ addiu $a2, $a1, 0x1d6
.L800522C4:
/* 2D6C4 800522C4 8CA20030 */ lw $v0, 0x30($a1)
/* 2D6C8 800522C8 00E21023 */ subu $v0, $a3, $v0
/* 2D6CC 800522CC 000210C0 */ sll $v0, $v0, 3
/* 2D6D0 800522D0 244207B4 */ addiu $v0, $v0, 0x7b4
/* 2D6D4 800522D4 00821821 */ addu $v1, $a0, $v0
/* 2D6D8 800522D8 90620007 */ lbu $v0, 7($v1)
/* 2D6DC 800522DC 1040000C */ beqz $v0, .L80052310
/* 2D6E0 800522E0 00000000 */ nop
/* 2D6E4 800522E4 90620001 */ lbu $v0, 1($v1)
/* 2D6E8 800522E8 A1220000 */ sb $v0, ($t1)
/* 2D6EC 800522EC 90620002 */ lbu $v0, 2($v1)
/* 2D6F0 800522F0 25080001 */ addiu $t0, $t0, 1
/* 2D6F4 800522F4 A0C2FFFF */ sb $v0, -1($a2)
/* 2D6F8 800522F8 90620006 */ lbu $v0, 6($v1)
/* 2D6FC 800522FC 25290004 */ addiu $t1, $t1, 4
/* 2D700 80052300 A0C20000 */ sb $v0, ($a2)
/* 2D704 80052304 2D020004 */ sltiu $v0, $t0, 4
/* 2D708 80052308 10400006 */ beqz $v0, .L80052324
/* 2D70C 8005230C 24C60004 */ addiu $a2, $a2, 4
.L80052310:
/* 2D710 80052310 8CA20034 */ lw $v0, 0x34($a1)
/* 2D714 80052314 24E70001 */ addiu $a3, $a3, 1
/* 2D718 80052318 00E2102B */ sltu $v0, $a3, $v0
/* 2D71C 8005231C 1440FFE9 */ bnez $v0, .L800522C4
/* 2D720 80052320 00000000 */ nop
.L80052324:
/* 2D724 80052324 03E00008 */ jr $ra
/* 2D728 80052328 00000000 */ nop

View File

@ -0,0 +1,172 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8005232C
/* 2D72C 8005232C 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 2D730 80052330 AFB60028 */ sw $s6, 0x28($sp)
/* 2D734 80052334 0080B02D */ daddu $s6, $a0, $zero
/* 2D738 80052338 AFB40020 */ sw $s4, 0x20($sp)
/* 2D73C 8005233C 00A0A02D */ daddu $s4, $a1, $zero
/* 2D740 80052340 AFBF0030 */ sw $ra, 0x30($sp)
/* 2D744 80052344 AFB7002C */ sw $s7, 0x2c($sp)
/* 2D748 80052348 AFB50024 */ sw $s5, 0x24($sp)
/* 2D74C 8005234C AFB3001C */ sw $s3, 0x1c($sp)
/* 2D750 80052350 AFB20018 */ sw $s2, 0x18($sp)
/* 2D754 80052354 AFB10014 */ sw $s1, 0x14($sp)
/* 2D758 80052358 AFB00010 */ sw $s0, 0x10($sp)
/* 2D75C 8005235C 92820025 */ lbu $v0, 0x25($s4)
/* 2D760 80052360 8ED70000 */ lw $s7, ($s6)
/* 2D764 80052364 14400081 */ bnez $v0, .L8005256C
/* 2D768 80052368 0000A82D */ daddu $s5, $zero, $zero
.L8005236C:
/* 2D76C 8005236C 00151080 */ sll $v0, $s5, 2
/* 2D770 80052370 244201D4 */ addiu $v0, $v0, 0x1d4
/* 2D774 80052374 02829821 */ addu $s3, $s4, $v0
/* 2D778 80052378 92620001 */ lbu $v0, 1($s3)
/* 2D77C 8005237C 50400076 */ beql $v0, $zero, .L80052558
/* 2D780 80052380 26B50001 */ addiu $s5, $s5, 1
/* 2D784 80052384 92620000 */ lbu $v0, ($s3)
/* 2D788 80052388 8E900030 */ lw $s0, 0x30($s4)
/* 2D78C 8005238C 8E840034 */ lw $a0, 0x34($s4)
/* 2D790 80052390 00021880 */ sll $v1, $v0, 2
/* 2D794 80052394 00621821 */ addu $v1, $v1, $v0
/* 2D798 80052398 000318C0 */ sll $v1, $v1, 3
/* 2D79C 8005239C 24630044 */ addiu $v1, $v1, 0x44
/* 2D7A0 800523A0 0204102B */ sltu $v0, $s0, $a0
/* 2D7A4 800523A4 10400012 */ beqz $v0, .L800523F0
/* 2D7A8 800523A8 02839021 */ addu $s2, $s4, $v1
/* 2D7AC 800523AC 001010C0 */ sll $v0, $s0, 3
/* 2D7B0 800523B0 00501021 */ addu $v0, $v0, $s0
/* 2D7B4 800523B4 000210C0 */ sll $v0, $v0, 3
/* 2D7B8 800523B8 24431320 */ addiu $v1, $v0, 0x1320
.L800523BC:
/* 2D7BC 800523BC 02E38821 */ addu $s1, $s7, $v1
/* 2D7C0 800523C0 92220045 */ lbu $v0, 0x45($s1)
/* 2D7C4 800523C4 10400005 */ beqz $v0, .L800523DC
/* 2D7C8 800523C8 00000000 */ nop
/* 2D7CC 800523CC 26100001 */ addiu $s0, $s0, 1
/* 2D7D0 800523D0 0204102B */ sltu $v0, $s0, $a0
/* 2D7D4 800523D4 1440FFF9 */ bnez $v0, .L800523BC
/* 2D7D8 800523D8 24630048 */ addiu $v1, $v1, 0x48
.L800523DC:
/* 2D7DC 800523DC 8E820034 */ lw $v0, 0x34($s4)
/* 2D7E0 800523E0 0202102B */ sltu $v0, $s0, $v0
/* 2D7E4 800523E4 1440001C */ bnez $v0, .L80052458
/* 2D7E8 800523E8 00000000 */ nop
/* 2D7EC 800523EC 8E900030 */ lw $s0, 0x30($s4)
.L800523F0:
/* 2D7F0 800523F0 8E820034 */ lw $v0, 0x34($s4)
/* 2D7F4 800523F4 0202102B */ sltu $v0, $s0, $v0
/* 2D7F8 800523F8 10400056 */ beqz $v0, .L80052554
/* 2D7FC 800523FC 001010C0 */ sll $v0, $s0, 3
/* 2D800 80052400 00501021 */ addu $v0, $v0, $s0
/* 2D804 80052404 000210C0 */ sll $v0, $v0, 3
/* 2D808 80052408 24441320 */ addiu $a0, $v0, 0x1320
.L8005240C:
/* 2D80C 8005240C 02E48821 */ addu $s1, $s7, $a0
/* 2D810 80052410 92220045 */ lbu $v0, 0x45($s1)
/* 2D814 80052414 92C30022 */ lbu $v1, 0x22($s6)
/* 2D818 80052418 0043102B */ sltu $v0, $v0, $v1
/* 2D81C 8005241C 50400006 */ beql $v0, $zero, .L80052438
/* 2D820 80052420 26100001 */ addiu $s0, $s0, 1
/* 2D824 80052424 0220202D */ daddu $a0, $s1, $zero
/* 2D828 80052428 0C014E31 */ jal func_800538C4
/* 2D82C 8005242C 320500FF */ andi $a1, $s0, 0xff
/* 2D830 80052430 08014912 */ j .L80052448
/* 2D834 80052434 00000000 */ nop
.L80052438:
/* 2D838 80052438 8E820034 */ lw $v0, 0x34($s4)
/* 2D83C 8005243C 0202102B */ sltu $v0, $s0, $v0
/* 2D840 80052440 1440FFF2 */ bnez $v0, .L8005240C
/* 2D844 80052444 24840048 */ addiu $a0, $a0, 0x48
.L80052448:
/* 2D848 80052448 8E820034 */ lw $v0, 0x34($s4)
/* 2D84C 8005244C 0202102B */ sltu $v0, $s0, $v0
/* 2D850 80052450 50400041 */ beql $v0, $zero, .L80052558
/* 2D854 80052454 26B50001 */ addiu $s5, $s5, 1
.L80052458:
/* 2D858 80052458 8E850030 */ lw $a1, 0x30($s4)
/* 2D85C 8005245C 92640000 */ lbu $a0, ($s3)
/* 2D860 80052460 8E830014 */ lw $v1, 0x14($s4)
/* 2D864 80052464 92620001 */ lbu $v0, 1($s3)
/* 2D868 80052468 02052823 */ subu $a1, $s0, $a1
/* 2D86C 8005246C 000528C0 */ sll $a1, $a1, 3
/* 2D870 80052470 24A507B4 */ addiu $a1, $a1, 0x7b4
/* 2D874 80052474 02C52821 */ addu $a1, $s6, $a1
/* 2D878 80052478 00042400 */ sll $a0, $a0, 0x10
/* 2D87C 8005247C 00641821 */ addu $v1, $v1, $a0
/* 2D880 80052480 00021200 */ sll $v0, $v0, 8
/* 2D884 80052484 00621821 */ addu $v1, $v1, $v0
/* 2D888 80052488 ACA30000 */ sw $v1, ($a1)
/* 2D88C 8005248C 92630001 */ lbu $v1, 1($s3)
/* 2D890 80052490 8E440000 */ lw $a0, ($s2)
/* 2D894 80052494 3063007F */ andi $v1, $v1, 0x7f
/* 2D898 80052498 00031040 */ sll $v0, $v1, 1
/* 2D89C 8005249C 00431021 */ addu $v0, $v0, $v1
/* 2D8A0 800524A0 000210C0 */ sll $v0, $v0, 3
/* 2D8A4 800524A4 00431021 */ addu $v0, $v0, $v1
/* 2D8A8 800524A8 9483001E */ lhu $v1, 0x1e($a0)
/* 2D8AC 800524AC 00021080 */ sll $v0, $v0, 2
/* 2D8B0 800524B0 00431023 */ subu $v0, $v0, $v1
/* 2D8B4 800524B4 A4A20004 */ sh $v0, 4($a1)
/* 2D8B8 800524B8 92630002 */ lbu $v1, 2($s3)
/* 2D8BC 800524BC 3063007F */ andi $v1, $v1, 0x7f
/* 2D8C0 800524C0 A0A30006 */ sb $v1, 6($a1)
/* 2D8C4 800524C4 82840038 */ lb $a0, 0x38($s4)
/* 2D8C8 800524C8 86420018 */ lh $v0, 0x18($s2)
/* 2D8CC 800524CC 00820018 */ mult $a0, $v0
/* 2D8D0 800524D0 00003012 */ mflo $a2
/* 2D8D4 800524D4 00000000 */ nop
/* 2D8D8 800524D8 00000000 */ nop
/* 2D8DC 800524DC 00C30018 */ mult $a2, $v1
/* 2D8E0 800524E0 00003012 */ mflo $a2
/* 2D8E4 800524E4 00061383 */ sra $v0, $a2, 0xe
/* 2D8E8 800524E8 A6220040 */ sh $v0, 0x40($s1)
/* 2D8EC 800524EC 84A20004 */ lh $v0, 4($a1)
/* 2D8F0 800524F0 8644000C */ lh $a0, 0xc($s2)
/* 2D8F4 800524F4 0C014E3E */ jal func_800538F8
/* 2D8F8 800524F8 00442021 */ addu $a0, $v0, $a0
/* 2D8FC 800524FC 8E420000 */ lw $v0, ($s2)
/* 2D900 80052500 C4420020 */ lwc1 $f2, 0x20($v0)
/* 2D904 80052504 46020002 */ mul.s $f0, $f0, $f2
/* 2D908 80052508 00000000 */ nop
/* 2D90C 8005250C E6200004 */ swc1 $f0, 4($s1)
/* 2D910 80052510 92420024 */ lbu $v0, 0x24($s2)
/* 2D914 80052514 A222000E */ sb $v0, 0xe($s1)
/* 2D918 80052518 92420025 */ lbu $v0, 0x25($s2)
/* 2D91C 8005251C A222000F */ sb $v0, 0xf($s1)
/* 2D920 80052520 8E420000 */ lw $v0, ($s2)
/* 2D924 80052524 AE220000 */ sw $v0, ($s1)
/* 2D928 80052528 92C20023 */ lbu $v0, 0x23($s6)
/* 2D92C 8005252C A2220010 */ sb $v0, 0x10($s1)
/* 2D930 80052530 8E420004 */ lw $v0, 4($s2)
/* 2D934 80052534 AE220014 */ sw $v0, 0x14($s1)
/* 2D938 80052538 8E430008 */ lw $v1, 8($s2)
/* 2D93C 8005253C 24020002 */ addiu $v0, $zero, 2
/* 2D940 80052540 A2220043 */ sb $v0, 0x43($s1)
/* 2D944 80052544 AE230018 */ sw $v1, 0x18($s1)
/* 2D948 80052548 92C20022 */ lbu $v0, 0x22($s6)
/* 2D94C 8005254C A2220045 */ sb $v0, 0x45($s1)
/* 2D950 80052550 A2220044 */ sb $v0, 0x44($s1)
.L80052554:
/* 2D954 80052554 26B50001 */ addiu $s5, $s5, 1
.L80052558:
/* 2D958 80052558 2EA20004 */ sltiu $v0, $s5, 4
/* 2D95C 8005255C A2600000 */ sb $zero, ($s3)
/* 2D960 80052560 A2600001 */ sb $zero, 1($s3)
/* 2D964 80052564 1440FF81 */ bnez $v0, .L8005236C
/* 2D968 80052568 A2600002 */ sb $zero, 2($s3)
.L8005256C:
/* 2D96C 8005256C 8FBF0030 */ lw $ra, 0x30($sp)
/* 2D970 80052570 8FB7002C */ lw $s7, 0x2c($sp)
/* 2D974 80052574 8FB60028 */ lw $s6, 0x28($sp)
/* 2D978 80052578 8FB50024 */ lw $s5, 0x24($sp)
/* 2D97C 8005257C 8FB40020 */ lw $s4, 0x20($sp)
/* 2D980 80052580 8FB3001C */ lw $s3, 0x1c($sp)
/* 2D984 80052584 8FB20018 */ lw $s2, 0x18($sp)
/* 2D988 80052588 8FB10014 */ lw $s1, 0x14($sp)
/* 2D98C 8005258C 8FB00010 */ lw $s0, 0x10($sp)
/* 2D990 80052590 03E00008 */ jr $ra
/* 2D994 80052594 27BD0038 */ addiu $sp, $sp, 0x38
/* 2D998 80052598 00000000 */ nop
/* 2D99C 8005259C 00000000 */ nop

View File

@ -0,0 +1,76 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel osInsertTimer
/* 41A90 80066690 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 41A94 80066694 AFB20018 */ sw $s2, 0x18($sp)
/* 41A98 80066698 00809021 */ addu $s2, $a0, $zero
/* 41A9C 8006669C AFBF001C */ sw $ra, 0x1c($sp)
/* 41AA0 800666A0 AFB10014 */ sw $s1, 0x14($sp)
/* 41AA4 800666A4 0C01ACD8 */ jal __osDisableInt
/* 41AA8 800666A8 AFB00010 */ sw $s0, 0x10($sp)
/* 41AAC 800666AC 3C038009 */ lui $v1, %hi(D_80094670)
/* 41AB0 800666B0 8C634670 */ lw $v1, %lo(D_80094670)($v1)
/* 41AB4 800666B4 8C660000 */ lw $a2, ($v1)
/* 41AB8 800666B8 8E500010 */ lw $s0, 0x10($s2)
/* 41ABC 800666BC 8E510014 */ lw $s1, 0x14($s2)
/* 41AC0 800666C0 10C30017 */ beq $a2, $v1, .L80066720
/* 41AC4 800666C4 00403821 */ addu $a3, $v0, $zero
/* 41AC8 800666C8 080199BE */ j .L800666F8
/* 41ACC 800666CC 00000000 */ nop
.L800666D0:
/* 41AD0 800666D0 8CC20010 */ lw $v0, 0x10($a2)
/* 41AD4 800666D4 8CC30014 */ lw $v1, 0x14($a2)
/* 41AD8 800666D8 8CC60000 */ lw $a2, ($a2)
/* 41ADC 800666DC 3C048009 */ lui $a0, %hi(D_80094670)
/* 41AE0 800666E0 8C844670 */ lw $a0, %lo(D_80094670)($a0)
/* 41AE4 800666E4 0223282B */ sltu $a1, $s1, $v1
/* 41AE8 800666E8 02238823 */ subu $s1, $s1, $v1
/* 41AEC 800666EC 02028023 */ subu $s0, $s0, $v0
/* 41AF0 800666F0 10C4000B */ beq $a2, $a0, .L80066720
/* 41AF4 800666F4 02058023 */ subu $s0, $s0, $a1
.L800666F8:
/* 41AF8 800666F8 8CC30010 */ lw $v1, 0x10($a2)
/* 41AFC 800666FC 0070102B */ sltu $v0, $v1, $s0
/* 41B00 80066700 1440FFF3 */ bnez $v0, .L800666D0
/* 41B04 80066704 00000000 */ nop
/* 41B08 80066708 16030005 */ bne $s0, $v1, .L80066720
/* 41B0C 8006670C 00000000 */ nop
/* 41B10 80066710 8CC20014 */ lw $v0, 0x14($a2)
/* 41B14 80066714 0051102B */ sltu $v0, $v0, $s1
/* 41B18 80066718 1440FFED */ bnez $v0, .L800666D0
/* 41B1C 8006671C 00000000 */ nop
.L80066720:
/* 41B20 80066720 3C028009 */ lui $v0, %hi(D_80094670)
/* 41B24 80066724 8C424670 */ lw $v0, %lo(D_80094670)($v0)
/* 41B28 80066728 AE500010 */ sw $s0, 0x10($s2)
/* 41B2C 8006672C AE510014 */ sw $s1, 0x14($s2)
/* 41B30 80066730 50C2000A */ beql $a2, $v0, .L8006675C
/* 41B34 80066734 AE460000 */ sw $a2, ($s2)
/* 41B38 80066738 8CC20010 */ lw $v0, 0x10($a2)
/* 41B3C 8006673C 8CC30014 */ lw $v1, 0x14($a2)
/* 41B40 80066740 0071202B */ sltu $a0, $v1, $s1
/* 41B44 80066744 00711823 */ subu $v1, $v1, $s1
/* 41B48 80066748 00501023 */ subu $v0, $v0, $s0
/* 41B4C 8006674C 00441023 */ subu $v0, $v0, $a0
/* 41B50 80066750 ACC20010 */ sw $v0, 0x10($a2)
/* 41B54 80066754 ACC30014 */ sw $v1, 0x14($a2)
/* 41B58 80066758 AE460000 */ sw $a2, ($s2)
.L8006675C:
/* 41B5C 8006675C 8CC20004 */ lw $v0, 4($a2)
/* 41B60 80066760 AE420004 */ sw $v0, 4($s2)
/* 41B64 80066764 8CC20004 */ lw $v0, 4($a2)
/* 41B68 80066768 00E02021 */ addu $a0, $a3, $zero
/* 41B6C 8006676C AC520000 */ sw $s2, ($v0)
/* 41B70 80066770 0C01ACF4 */ jal __osRestoreInt
/* 41B74 80066774 ACD20004 */ sw $s2, 4($a2)
/* 41B78 80066778 02001021 */ addu $v0, $s0, $zero
/* 41B7C 8006677C 02201821 */ addu $v1, $s1, $zero
/* 41B80 80066780 8FBF001C */ lw $ra, 0x1c($sp)
/* 41B84 80066784 8FB20018 */ lw $s2, 0x18($sp)
/* 41B88 80066788 8FB10014 */ lw $s1, 0x14($sp)
/* 41B8C 8006678C 8FB00010 */ lw $s0, 0x10($sp)
/* 41B90 80066790 03E00008 */ jr $ra
/* 41B94 80066794 27BD0020 */ addiu $sp, $sp, 0x20
/* 41B98 80066798 00000000 */ nop
/* 41B9C 8006679C 00000000 */ nop

View File

@ -0,0 +1,38 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel osSetTimerIntr
/* 41A10 80066610 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 41A14 80066614 AFB30020 */ sw $s3, 0x20($sp)
/* 41A18 80066618 AFB2001C */ sw $s2, 0x1c($sp)
/* 41A1C 8006661C 00809021 */ addu $s2, $a0, $zero
/* 41A20 80066620 00A09821 */ addu $s3, $a1, $zero
/* 41A24 80066624 AFBF0024 */ sw $ra, 0x24($sp)
/* 41A28 80066628 16400007 */ bnez $s2, .L80066648
/* 41A2C 8006662C AFB00018 */ sw $s0, 0x18($sp)
/* 41A30 80066630 16400003 */ bnez $s2, .L80066640
/* 41A34 80066634 2E6201D4 */ sltiu $v0, $s3, 0x1d4
/* 41A38 80066638 10400003 */ beqz $v0, .L80066648
/* 41A3C 8006663C 00000000 */ nop
.L80066640:
/* 41A40 80066640 24120000 */ addiu $s2, $zero, 0
/* 41A44 80066644 241301D4 */ addiu $s3, $zero, 0x1d4
.L80066648:
/* 41A48 80066648 0C01ACD8 */ jal __osDisableInt
/* 41A4C 8006664C 00000000 */ nop
/* 41A50 80066650 0C019680 */ jal osGetCount
/* 41A54 80066654 00408021 */ addu $s0, $v0, $zero
/* 41A58 80066658 3C01800A */ lui $at, %hi(D_8009A62C)
/* 41A5C 8006665C AC22A62C */ sw $v0, %lo(D_8009A62C)($at)
/* 41A60 80066660 00402821 */ addu $a1, $v0, $zero
/* 41A64 80066664 00002021 */ addu $a0, $zero, $zero
/* 41A68 80066668 0C01B1A0 */ jal osSetCompare
/* 41A6C 8006666C 02652021 */ addu $a0, $s3, $a1
/* 41A70 80066670 0C01ACF4 */ jal __osRestoreInt
/* 41A74 80066674 02002021 */ addu $a0, $s0, $zero
/* 41A78 80066678 8FBF0024 */ lw $ra, 0x24($sp)
/* 41A7C 8006667C 8FB30020 */ lw $s3, 0x20($sp)
/* 41A80 80066680 8FB2001C */ lw $s2, 0x1c($sp)
/* 41A84 80066684 8FB00018 */ lw $s0, 0x18($sp)
/* 41A88 80066688 03E00008 */ jr $ra
/* 41A8C 8006668C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,90 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel osTimerInterrupt
/* 418D4 800664D4 3C038009 */ lui $v1, %hi(D_80094670)
/* 418D8 800664D8 8C634670 */ lw $v1, %lo(D_80094670)($v1)
/* 418DC 800664DC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 418E0 800664E0 AFBF0014 */ sw $ra, 0x14($sp)
/* 418E4 800664E4 AFB00010 */ sw $s0, 0x10($sp)
/* 418E8 800664E8 8C620000 */ lw $v0, ($v1)
/* 418EC 800664EC 10430044 */ beq $v0, $v1, .L80066600
/* 418F0 800664F0 00000000 */ nop
.L800664F4:
/* 418F4 800664F4 3C028009 */ lui $v0, %hi(D_80094670)
/* 418F8 800664F8 8C424670 */ lw $v0, %lo(D_80094670)($v0)
/* 418FC 800664FC 8C500000 */ lw $s0, ($v0)
/* 41900 80066500 16020006 */ bne $s0, $v0, .L8006651C
/* 41904 80066504 00000000 */ nop
/* 41908 80066508 0C01B1A0 */ jal osSetCompare
/* 4190C 8006650C 00002021 */ addu $a0, $zero, $zero
/* 41910 80066510 3C01800A */ lui $at, %hi(D_8009A62C)
/* 41914 80066514 08019980 */ j .L80066600
/* 41918 80066518 AC20A62C */ sw $zero, %lo(D_8009A62C)($at)
.L8006651C:
/* 4191C 8006651C 0C019680 */ jal osGetCount
/* 41920 80066520 00000000 */ nop
/* 41924 80066524 3C03800A */ lui $v1, %hi(D_8009A62C)
/* 41928 80066528 8C63A62C */ lw $v1, %lo(D_8009A62C)($v1)
/* 4192C 8006652C 3C01800A */ lui $at, %hi(D_8009A62C)
/* 41930 80066530 AC22A62C */ sw $v0, %lo(D_8009A62C)($at)
/* 41934 80066534 00431023 */ subu $v0, $v0, $v1
/* 41938 80066538 8E030010 */ lw $v1, 0x10($s0)
/* 4193C 8006653C 00403821 */ addu $a3, $v0, $zero
/* 41940 80066540 00003021 */ addu $a2, $zero, $zero
/* 41944 80066544 00C3102B */ sltu $v0, $a2, $v1
/* 41948 80066548 14400007 */ bnez $v0, .L80066568
/* 4194C 8006654C 00000000 */ nop
/* 41950 80066550 14660010 */ bne $v1, $a2, .L80066594
/* 41954 80066554 00000000 */ nop
/* 41958 80066558 8E020014 */ lw $v0, 0x14($s0)
/* 4195C 8006655C 00E2102B */ sltu $v0, $a3, $v0
/* 41960 80066560 1040000C */ beqz $v0, .L80066594
/* 41964 80066564 00000000 */ nop
.L80066568:
/* 41968 80066568 8E040010 */ lw $a0, 0x10($s0)
/* 4196C 8006656C 8E050014 */ lw $a1, 0x14($s0)
/* 41970 80066570 00A7102B */ sltu $v0, $a1, $a3
/* 41974 80066574 00A72823 */ subu $a1, $a1, $a3
/* 41978 80066578 00862023 */ subu $a0, $a0, $a2
/* 4197C 8006657C 00822023 */ subu $a0, $a0, $v0
/* 41980 80066580 AE040010 */ sw $a0, 0x10($s0)
/* 41984 80066584 0C019984 */ jal osSetTimerIntr
/* 41988 80066588 AE050014 */ sw $a1, 0x14($s0)
/* 4198C 8006658C 08019980 */ j .L80066600
/* 41990 80066590 00000000 */ nop
.L80066594:
/* 41994 80066594 8E030004 */ lw $v1, 4($s0)
/* 41998 80066598 8E020000 */ lw $v0, ($s0)
/* 4199C 8006659C AC620000 */ sw $v0, ($v1)
/* 419A0 800665A0 8E030000 */ lw $v1, ($s0)
/* 419A4 800665A4 8E020004 */ lw $v0, 4($s0)
/* 419A8 800665A8 AC620004 */ sw $v0, 4($v1)
/* 419AC 800665AC 8E040018 */ lw $a0, 0x18($s0)
/* 419B0 800665B0 AE000000 */ sw $zero, ($s0)
/* 419B4 800665B4 10800004 */ beqz $a0, .L800665C8
/* 419B8 800665B8 AE000004 */ sw $zero, 4($s0)
/* 419BC 800665BC 8E05001C */ lw $a1, 0x1c($s0)
/* 419C0 800665C0 0C019608 */ jal osSendMesg
/* 419C4 800665C4 00003021 */ addu $a2, $zero, $zero
.L800665C8:
/* 419C8 800665C8 8E020008 */ lw $v0, 8($s0)
/* 419CC 800665CC 14400004 */ bnez $v0, .L800665E0
/* 419D0 800665D0 00000000 */ nop
/* 419D4 800665D4 8E02000C */ lw $v0, 0xc($s0)
/* 419D8 800665D8 1040FFC6 */ beqz $v0, .L800664F4
/* 419DC 800665DC 00000000 */ nop
.L800665E0:
/* 419E0 800665E0 8E020008 */ lw $v0, 8($s0)
/* 419E4 800665E4 8E03000C */ lw $v1, 0xc($s0)
/* 419E8 800665E8 02002021 */ addu $a0, $s0, $zero
/* 419EC 800665EC AC820010 */ sw $v0, 0x10($a0)
/* 419F0 800665F0 0C0199A4 */ jal osInsertTimer
/* 419F4 800665F4 AC830014 */ sw $v1, 0x14($a0)
/* 419F8 800665F8 0801993D */ j .L800664F4
/* 419FC 800665FC 00000000 */ nop
.L80066600:
/* 41A00 80066600 8FBF0014 */ lw $ra, 0x14($sp)
/* 41A04 80066604 8FB00010 */ lw $s0, 0x10($sp)
/* 41A08 80066608 03E00008 */ jr $ra
/* 41A0C 8006660C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,25 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel osTimerServicesInit
/* 41880 80066480 3C028009 */ lui $v0, %hi(D_80094670)
/* 41884 80066484 8C424670 */ lw $v0, %lo(D_80094670)($v0)
/* 41888 80066488 00002021 */ addu $a0, $zero, $zero
/* 4188C 8006648C 00002821 */ addu $a1, $zero, $zero
/* 41890 80066490 3C01800A */ lui $at, %hi(D_8009A608)
/* 41894 80066494 AC24A608 */ sw $a0, %lo(D_8009A608)($at)
/* 41898 80066498 3C01800A */ lui $at, %hi(D_8009A60C)
/* 4189C 8006649C AC25A60C */ sw $a1, %lo(D_8009A60C)($at)
/* 418A0 800664A0 3C01800A */ lui $at, %hi(D_8009A5C8)
/* 418A4 800664A4 AC20A5C8 */ sw $zero, %lo(D_8009A5C8)($at)
/* 418A8 800664A8 3C01800A */ lui $at, %hi(D_8009A5E4)
/* 418AC 800664AC AC20A5E4 */ sw $zero, %lo(D_8009A5E4)($at)
/* 418B0 800664B0 AC440010 */ sw $a0, 0x10($v0)
/* 418B4 800664B4 AC450014 */ sw $a1, 0x14($v0)
/* 418B8 800664B8 AC440008 */ sw $a0, 8($v0)
/* 418BC 800664BC AC45000C */ sw $a1, 0xc($v0)
/* 418C0 800664C0 AC420004 */ sw $v0, 4($v0)
/* 418C4 800664C4 AC420000 */ sw $v0, ($v0)
/* 418C8 800664C8 AC400018 */ sw $zero, 0x18($v0)
/* 418CC 800664CC 03E00008 */ jr $ra
/* 418D0 800664D0 AC40001C */ sw $zero, 0x1c($v0)

View File

@ -1,44 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80029860
/* 4C60 80029860 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 4C64 80029864 AFB20050 */ sw $s2, 0x50($sp)
/* 4C68 80029868 0080902D */ daddu $s2, $a0, $zero
/* 4C6C 8002986C AFB40058 */ sw $s4, 0x58($sp)
/* 4C70 80029870 00A0A02D */ daddu $s4, $a1, $zero
/* 4C74 80029874 AFB30054 */ sw $s3, 0x54($sp)
/* 4C78 80029878 00C0982D */ daddu $s3, $a2, $zero
/* 4C7C 8002987C 0260282D */ daddu $a1, $s3, $zero
/* 4C80 80029880 AFBF005C */ sw $ra, 0x5c($sp)
/* 4C84 80029884 AFB1004C */ sw $s1, 0x4c($sp)
/* 4C88 80029888 0C018614 */ jal osWritebackDCache
/* 4C8C 8002988C AFB00048 */ sw $s0, 0x48($sp)
/* 4C90 80029890 27B00028 */ addiu $s0, $sp, 0x28
/* 4C94 80029894 0200202D */ daddu $a0, $s0, $zero
/* 4C98 80029898 27B10040 */ addiu $s1, $sp, 0x40
/* 4C9C 8002989C 0220282D */ daddu $a1, $s1, $zero
/* 4CA0 800298A0 0C019560 */ jal osCreateMesgQueue
/* 4CA4 800298A4 24060001 */ addiu $a2, $zero, 1
/* 4CA8 800298A8 27A50010 */ addiu $a1, $sp, 0x10
/* 4CAC 800298AC 3C04800A */ lui $a0, %hi(carthandle)
/* 4CB0 800298B0 8C84A638 */ lw $a0, %lo(carthandle)($a0)
/* 4CB4 800298B4 24060001 */ addiu $a2, $zero, 1
/* 4CB8 800298B8 A3A00012 */ sb $zero, 0x12($sp)
/* 4CBC 800298BC AFB00014 */ sw $s0, 0x14($sp)
/* 4CC0 800298C0 AFB20018 */ sw $s2, 0x18($sp)
/* 4CC4 800298C4 AFB4001C */ sw $s4, 0x1c($sp)
/* 4CC8 800298C8 0C018388 */ jal osEPiStartDma
/* 4CCC 800298CC AFB30020 */ sw $s3, 0x20($sp)
/* 4CD0 800298D0 0200202D */ daddu $a0, $s0, $zero
/* 4CD4 800298D4 0220282D */ daddu $a1, $s1, $zero
/* 4CD8 800298D8 0C0195BC */ jal osRecvMesg
/* 4CDC 800298DC 24060001 */ addiu $a2, $zero, 1
/* 4CE0 800298E0 8FBF005C */ lw $ra, 0x5c($sp)
/* 4CE4 800298E4 8FB40058 */ lw $s4, 0x58($sp)
/* 4CE8 800298E8 8FB30054 */ lw $s3, 0x54($sp)
/* 4CEC 800298EC 8FB20050 */ lw $s2, 0x50($sp)
/* 4CF0 800298F0 8FB1004C */ lw $s1, 0x4c($sp)
/* 4CF4 800298F4 8FB00048 */ lw $s0, 0x48($sp)
/* 4CF8 800298F8 03E00008 */ jr $ra
/* 4CFC 800298FC 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -114,9 +114,9 @@ glabel func_800E205C
/* 7B6B8 800E2208 84C30086 */ lh $v1, 0x86($a2)
/* 7B6BC 800E220C 84C2008C */ lh $v0, 0x8c($a2)
/* 7B6C0 800E2210 00031900 */ sll $v1, $v1, 4
/* 7B6C4 800E2214 3C018009 */ lui $at, %hi(D_800934F4)
/* 7B6C4 800E2214 3C018009 */ lui $at, %hi(gAreas+0x4)
/* 7B6C8 800E2218 00230821 */ addu $at, $at, $v1
/* 7B6CC 800E221C 8C2334F4 */ lw $v1, %lo(D_800934F4)($at)
/* 7B6CC 800E221C 8C2334F4 */ lw $v1, %lo(gAreas+0x4)($at)
/* 7B6D0 800E2220 00021140 */ sll $v0, $v0, 5
/* 7B6D4 800E2224 00431021 */ addu $v0, $v0, $v1
/* 7B6D8 800E2228 8C440004 */ lw $a0, 4($v0)

Some files were not shown because too many files have changed in this diff Show More