papermario/ver/jp/asm/nonmatchings/19EB0/func_80043370.s
Ethan Roseman 3315d6010f
Splat refactor (#257)
* all non-world rodata migrated

* data disasm

* kinda working

* updated yaml

* bloop

* linker header

* configure 2.0

* bin

* mass rename to remove code_

* pause rename

* battle partner stuff

* whew

* more renames

* more renames

* more renaming

* it builds!

* updates

* remove main prefix

* one more thing

* crc, yay0

* .data, .rodata, .bss

* img

* dead_atan2

* it buildsgit add -A

* split battle/partner/6FAD10

* rm &s on sleepy_sheep syms

* sha1sum ninja rule description

* OK but commented out PaperMarioMapFS and PaperMarioNpcSprites

* uncomment

* fix mapfs

* match func_8003CFB4

* .

* clean up and name npc_iter_no_op

* npc.c

* enable cc warnings

* name npc_find_near

* use singular options.asset_path

* smores

* cc_dsl only when needed

* kinda fix configure for splat refactor2

* ok!

* new msg format

* remove old msg format docs

* slight bug fixes, splat adjustment

* git subrepo pull (merge) --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "cfc140bb76"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "cfc140bb76"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* git subrepo pull (merge) --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "85349befcd"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "85349befcd"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* Update symbol addrs

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "a44631e194"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "a44631e194"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

Co-authored-by: Alex Bates <hi@imalex.xyz>
2021-04-13 16:47:52 +09:00

750 lines
37 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80043370
/* 1E770 80043370 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 1E774 80043374 AFBE0058 */ sw $fp, 0x58($sp)
/* 1E778 80043378 27BE0010 */ addiu $fp, $sp, 0x10
/* 1E77C 8004337C 3C07800B */ lui $a3, %hi(D_800B0F14)
/* 1E780 80043380 8CE70F14 */ lw $a3, %lo(D_800B0F14)($a3)
/* 1E784 80043384 3C03800A */ lui $v1, %hi(D_8009A5B0)
/* 1E788 80043388 8C63A5B0 */ lw $v1, %lo(D_8009A5B0)($v1)
/* 1E78C 8004338C 3C08800B */ lui $t0, %hi(D_800B0F10)
/* 1E790 80043390 81080F10 */ lb $t0, %lo(D_800B0F10)($t0)
/* 1E794 80043394 24040001 */ addiu $a0, $zero, 1
/* 1E798 80043398 AFBF005C */ sw $ra, 0x5c($sp)
/* 1E79C 8004339C AFB70054 */ sw $s7, 0x54($sp)
/* 1E7A0 800433A0 AFB60050 */ sw $s6, 0x50($sp)
/* 1E7A4 800433A4 AFB5004C */ sw $s5, 0x4c($sp)
/* 1E7A8 800433A8 AFB40048 */ sw $s4, 0x48($sp)
/* 1E7AC 800433AC AFB30044 */ sw $s3, 0x44($sp)
/* 1E7B0 800433B0 AFB20040 */ sw $s2, 0x40($sp)
/* 1E7B4 800433B4 AFB1003C */ sw $s1, 0x3c($sp)
/* 1E7B8 800433B8 AFB00038 */ sw $s0, 0x38($sp)
/* 1E7BC 800433BC AFA70020 */ sw $a3, 0x20($sp)
/* 1E7C0 800433C0 106401A5 */ beq $v1, $a0, .L80043A58
/* 1E7C4 800433C4 AFA80028 */ sw $t0, 0x28($sp)
/* 1E7C8 800433C8 28620002 */ slti $v0, $v1, 2
/* 1E7CC 800433CC 50400005 */ beql $v0, $zero, .L800433E4
/* 1E7D0 800433D0 24020002 */ addiu $v0, $zero, 2
/* 1E7D4 800433D4 10600007 */ beqz $v1, .L800433F4
/* 1E7D8 800433D8 00000000 */ nop
/* 1E7DC 800433DC 08010F74 */ j .L80043DD0
/* 1E7E0 800433E0 00000000 */ nop
.L800433E4:
/* 1E7E4 800433E4 106201EF */ beq $v1, $v0, .L80043BA4
/* 1E7E8 800433E8 0000A82D */ daddu $s5, $zero, $zero
/* 1E7EC 800433EC 08010F74 */ j .L80043DD0
/* 1E7F0 800433F0 00000000 */ nop
.L800433F4:
/* 1E7F4 800433F4 3C02800B */ lui $v0, %hi(D_800B0F11)
/* 1E7F8 800433F8 80420F11 */ lb $v0, %lo(D_800B0F11)($v0)
/* 1E7FC 800433FC 1044002A */ beq $v0, $a0, .L800434A8
/* 1E800 80043400 00000000 */ nop
/* 1E804 80043404 0000982D */ daddu $s3, $zero, $zero
/* 1E808 80043408 3C03800B */ lui $v1, %hi(D_800B0EF0)
/* 1E80C 8004340C 24630EF0 */ addiu $v1, $v1, %lo(D_800B0EF0)
.L80043410:
/* 1E810 80043410 84620BF0 */ lh $v0, 0xbf0($v1)
/* 1E814 80043414 8FA70028 */ lw $a3, 0x28($sp)
/* 1E818 80043418 10470006 */ beq $v0, $a3, .L80043434
/* 1E81C 8004341C 2A620002 */ slti $v0, $s3, 2
/* 1E820 80043420 26730001 */ addiu $s3, $s3, 1
/* 1E824 80043424 2A620002 */ slti $v0, $s3, 2
/* 1E828 80043428 1440FFF9 */ bnez $v0, .L80043410
/* 1E82C 8004342C 24630002 */ addiu $v1, $v1, 2
/* 1E830 80043430 2A620002 */ slti $v0, $s3, 2
.L80043434:
/* 1E834 80043434 1440000F */ bnez $v0, .L80043474
/* 1E838 80043438 0000982D */ daddu $s3, $zero, $zero
/* 1E83C 8004343C 8FA80028 */ lw $t0, 0x28($sp)
/* 1E840 80043440 0000182D */ daddu $v1, $zero, $zero
/* 1E844 80043444 00081040 */ sll $v0, $t0, 1
/* 1E848 80043448 00481021 */ addu $v0, $v0, $t0
/* 1E84C 8004344C 00022100 */ sll $a0, $v0, 4
/* 1E850 80043450 3C07800B */ lui $a3, %hi(D_800B0EF0)
/* 1E854 80043454 24E70EF0 */ addiu $a3, $a3, %lo(D_800B0EF0)
.L80043458:
/* 1E858 80043458 00E41021 */ addu $v0, $a3, $a0
/* 1E85C 8004345C AC4000B0 */ sw $zero, 0xb0($v0)
/* 1E860 80043460 24630001 */ addiu $v1, $v1, 1
/* 1E864 80043464 2862000C */ slti $v0, $v1, 0xc
/* 1E868 80043468 1440FFFB */ bnez $v0, .L80043458
/* 1E86C 8004346C 24840004 */ addiu $a0, $a0, 4
/* 1E870 80043470 0000982D */ daddu $s3, $zero, $zero
.L80043474:
/* 1E874 80043474 00131840 */ sll $v1, $s3, 1
/* 1E878 80043478 26620001 */ addiu $v0, $s3, 1
/* 1E87C 8004347C 0040982D */ daddu $s3, $v0, $zero
/* 1E880 80043480 00131040 */ sll $v0, $s3, 1
/* 1E884 80043484 3C08800B */ lui $t0, %hi(D_800B0EF0)
/* 1E888 80043488 25080EF0 */ addiu $t0, $t0, %lo(D_800B0EF0)
/* 1E88C 8004348C 01022021 */ addu $a0, $t0, $v0
/* 1E890 80043490 94820BF0 */ lhu $v0, 0xbf0($a0)
/* 1E894 80043494 01031821 */ addu $v1, $t0, $v1
/* 1E898 80043498 1A60FFF6 */ blez $s3, .L80043474
/* 1E89C 8004349C A4620BF0 */ sh $v0, 0xbf0($v1)
/* 1E8A0 800434A0 97A7002A */ lhu $a3, 0x2a($sp)
/* 1E8A4 800434A4 A4870BF0 */ sh $a3, 0xbf0($a0)
.L800434A8:
/* 1E8A8 800434A8 8FA80020 */ lw $t0, 0x20($sp)
/* 1E8AC 800434AC 0000B02D */ daddu $s6, $zero, $zero
/* 1E8B0 800434B0 AFA0002C */ sw $zero, 0x2c($sp)
/* 1E8B4 800434B4 2508000A */ addiu $t0, $t0, 0xa
/* 1E8B8 800434B8 AFA80034 */ sw $t0, 0x34($sp)
.L800434BC:
/* 1E8BC 800434BC 8FA70020 */ lw $a3, 0x20($sp)
/* 1E8C0 800434C0 8CE20000 */ lw $v0, ($a3)
/* 1E8C4 800434C4 1040015D */ beqz $v0, .L80043A3C
/* 1E8C8 800434C8 2404004C */ addiu $a0, $zero, 0x4c
/* 1E8CC 800434CC 8FA80034 */ lw $t0, 0x34($sp)
/* 1E8D0 800434D0 8D17FFFA */ lw $s7, -6($t0)
/* 1E8D4 800434D4 0C00AB29 */ jal func_8002ACA4
/* 1E8D8 800434D8 AFA20024 */ sw $v0, 0x24($sp)
/* 1E8DC 800434DC 0040A02D */ daddu $s4, $v0, $zero
/* 1E8E0 800434E0 00161080 */ sll $v0, $s6, 2
/* 1E8E4 800434E4 3C07800B */ lui $a3, %hi(D_800B0EF0)
/* 1E8E8 800434E8 24E70EF0 */ addiu $a3, $a3, %lo(D_800B0EF0)
/* 1E8EC 800434EC 00E21021 */ addu $v0, $a3, $v0
/* 1E8F0 800434F0 16800003 */ bnez $s4, .L80043500
/* 1E8F4 800434F4 AC540028 */ sw $s4, 0x28($v0)
.L800434F8:
/* 1E8F8 800434F8 08010D3E */ j .L800434F8
/* 1E8FC 800434FC 00000000 */ nop
.L80043500:
/* 1E900 80043500 8FA80024 */ lw $t0, 0x24($sp)
/* 1E904 80043504 AE880000 */ sw $t0, ($s4)
/* 1E908 80043508 8FA70034 */ lw $a3, 0x34($sp)
/* 1E90C 8004350C 94E2FFFE */ lhu $v0, -2($a3)
/* 1E910 80043510 A6820044 */ sh $v0, 0x44($s4)
/* 1E914 80043514 94E20000 */ lhu $v0, ($a3)
/* 1E918 80043518 97A8002E */ lhu $t0, 0x2e($sp)
/* 1E91C 8004351C 2442FFFF */ addiu $v0, $v0, -1
/* 1E920 80043520 A6880048 */ sh $t0, 0x48($s4)
/* 1E924 80043524 A6820046 */ sh $v0, 0x46($s4)
/* 1E928 80043528 8FA70024 */ lw $a3, 0x24($sp)
/* 1E92C 8004352C 18E00137 */ blez $a3, .L80043A0C
/* 1E930 80043530 0000982D */ daddu $s3, $zero, $zero
/* 1E934 80043534 AFB40030 */ sw $s4, 0x30($sp)
/* 1E938 80043538 26F20024 */ addiu $s2, $s7, 0x24
.L8004353C:
/* 1E93C 8004353C 86850048 */ lh $a1, 0x48($s4)
/* 1E940 80043540 8FA40028 */ lw $a0, 0x28($sp)
/* 1E944 80043544 0C00FAAC */ jal func_8003EAB0
/* 1E948 80043548 00B32821 */ addu $a1, $a1, $s3
/* 1E94C 8004354C 10400006 */ beqz $v0, .L80043568
/* 1E950 80043550 00000000 */ nop
/* 1E954 80043554 265201F0 */ addiu $s2, $s2, 0x1f0
/* 1E958 80043558 8FA80030 */ lw $t0, 0x30($sp)
/* 1E95C 8004355C 26F701F0 */ addiu $s7, $s7, 0x1f0
/* 1E960 80043560 08010E7C */ j .L800439F0
/* 1E964 80043564 AD000004 */ sw $zero, 4($t0)
.L80043568:
/* 1E968 80043568 0C00AB29 */ jal func_8002ACA4
/* 1E96C 8004356C 240400E8 */ addiu $a0, $zero, 0xe8
/* 1E970 80043570 8FA70030 */ lw $a3, 0x30($sp)
/* 1E974 80043574 0040802D */ daddu $s0, $v0, $zero
/* 1E978 80043578 16000003 */ bnez $s0, .L80043588
/* 1E97C 8004357C ACE20004 */ sw $v0, 4($a3)
.L80043580:
/* 1E980 80043580 08010D60 */ j .L80043580
/* 1E984 80043584 00000000 */ nop
.L80043588:
/* 1E988 80043588 2403000F */ addiu $v1, $zero, 0xf
/* 1E98C 8004358C 2602003C */ addiu $v0, $s0, 0x3c
.L80043590:
/* 1E990 80043590 AC40006C */ sw $zero, 0x6c($v0)
/* 1E994 80043594 2463FFFF */ addiu $v1, $v1, -1
/* 1E998 80043598 0461FFFD */ bgez $v1, .L80043590
/* 1E99C 8004359C 2442FFFC */ addiu $v0, $v0, -4
/* 1E9A0 800435A0 A2160004 */ sb $s6, 4($s0)
/* 1E9A4 800435A4 9642FFDE */ lhu $v0, -0x22($s2)
/* 1E9A8 800435A8 A6020008 */ sh $v0, 8($s0)
/* 1E9AC 800435AC 8E44FFE0 */ lw $a0, -0x20($s2)
/* 1E9B0 800435B0 26E20028 */ addiu $v0, $s7, 0x28
/* 1E9B4 800435B4 AE0200D4 */ sw $v0, 0xd4($s0)
/* 1E9B8 800435B8 34028000 */ ori $v0, $zero, 0x8000
/* 1E9BC 800435BC AE040018 */ sw $a0, 0x18($s0)
/* 1E9C0 800435C0 86430004 */ lh $v1, 4($s2)
/* 1E9C4 800435C4 3063FF00 */ andi $v1, $v1, 0xff00
/* 1E9C8 800435C8 10620004 */ beq $v1, $v0, .L800435DC
/* 1E9CC 800435CC 0080A82D */ daddu $s5, $a0, $zero
/* 1E9D0 800435D0 3C028007 */ lui $v0, %hi(D_80077E88)
/* 1E9D4 800435D4 24427E88 */ addiu $v0, $v0, %lo(D_80077E88)
/* 1E9D8 800435D8 AE0200D4 */ sw $v0, 0xd4($s0)
.L800435DC:
/* 1E9DC 800435DC 3C02EFE8 */ lui $v0, 0xefe8
/* 1E9E0 800435E0 A2000005 */ sb $zero, 5($s0)
/* 1E9E4 800435E4 8E43FFF4 */ lw $v1, -0xc($s2)
/* 1E9E8 800435E8 34422080 */ ori $v0, $v0, 0x2080
/* 1E9EC 800435EC 0062102A */ slt $v0, $v1, $v0
/* 1E9F0 800435F0 50400002 */ beql $v0, $zero, .L800435FC
/* 1E9F4 800435F4 AE00001C */ sw $zero, 0x1c($s0)
/* 1E9F8 800435F8 AE03001C */ sw $v1, 0x1c($s0)
.L800435FC:
/* 1E9FC 800435FC 8EA2000C */ lw $v0, 0xc($s5)
/* 1EA00 80043600 AE020020 */ sw $v0, 0x20($s0)
/* 1EA04 80043604 8EA20010 */ lw $v0, 0x10($s5)
/* 1EA08 80043608 AE020024 */ sw $v0, 0x24($s0)
/* 1EA0C 8004360C 8EA20014 */ lw $v0, 0x14($s5)
/* 1EA10 80043610 AE020028 */ sw $v0, 0x28($s0)
/* 1EA14 80043614 8EA20018 */ lw $v0, 0x18($s5)
/* 1EA18 80043618 AE02002C */ sw $v0, 0x2c($s0)
/* 1EA1C 8004361C 8EA2001C */ lw $v0, 0x1c($s5)
/* 1EA20 80043620 AE000034 */ sw $zero, 0x34($s0)
/* 1EA24 80043624 AE000038 */ sw $zero, 0x38($s0)
/* 1EA28 80043628 AE00003C */ sw $zero, 0x3c($s0)
/* 1EA2C 8004362C AE000040 */ sw $zero, 0x40($s0)
/* 1EA30 80043630 AE000044 */ sw $zero, 0x44($s0)
/* 1EA34 80043634 AE000048 */ sw $zero, 0x48($s0)
/* 1EA38 80043638 AE000050 */ sw $zero, 0x50($s0)
/* 1EA3C 8004363C AE000054 */ sw $zero, 0x54($s0)
/* 1EA40 80043640 AE000058 */ sw $zero, 0x58($s0)
/* 1EA44 80043644 AE00005C */ sw $zero, 0x5c($s0)
/* 1EA48 80043648 AE000060 */ sw $zero, 0x60($s0)
/* 1EA4C 8004364C A2000007 */ sb $zero, 7($s0)
/* 1EA50 80043650 A20000B5 */ sb $zero, 0xb5($s0)
/* 1EA54 80043654 AE020030 */ sw $v0, 0x30($s0)
/* 1EA58 80043658 924201BF */ lbu $v0, 0x1bf($s2)
/* 1EA5C 8004365C A20200AC */ sb $v0, 0xac($s0)
/* 1EA60 80043660 8E4201C0 */ lw $v0, 0x1c0($s2)
/* 1EA64 80043664 AE0000DC */ sw $zero, 0xdc($s0)
/* 1EA68 80043668 A20000B4 */ sb $zero, 0xb4($s0)
/* 1EA6C 8004366C AE0200B0 */ sw $v0, 0xb0($s0)
/* 1EA70 80043670 8EA20024 */ lw $v0, 0x24($s5)
/* 1EA74 80043674 AE0000BC */ sw $zero, 0xbc($s0)
/* 1EA78 80043678 AE0000C0 */ sw $zero, 0xc0($s0)
/* 1EA7C 8004367C AE0200B8 */ sw $v0, 0xb8($s0)
/* 1EA80 80043680 26E201A0 */ addiu $v0, $s7, 0x1a0
/* 1EA84 80043684 AE0000C4 */ sw $zero, 0xc4($s0)
/* 1EA88 80043688 AE0200CC */ sw $v0, 0xcc($s0)
/* 1EA8C 8004368C 26E200E0 */ addiu $v0, $s7, 0xe0
/* 1EA90 80043690 AE0200D0 */ sw $v0, 0xd0($s0)
/* 1EA94 80043694 8EA20020 */ lw $v0, 0x20($s5)
/* 1EA98 80043698 AE020000 */ sw $v0, ($s0)
/* 1EA9C 8004369C 8E43FFF0 */ lw $v1, -0x10($s2)
/* 1EAA0 800436A0 AE000064 */ sw $zero, 0x64($s0)
/* 1EAA4 800436A4 00431025 */ or $v0, $v0, $v1
/* 1EAA8 800436A8 AE020000 */ sw $v0, ($s0)
/* 1EAAC 800436AC 8E4201C8 */ lw $v0, 0x1c8($s2)
/* 1EAB0 800436B0 AE0200D8 */ sw $v0, 0xd8($s0)
/* 1EAB4 800436B4 8E44FFF8 */ lw $a0, -8($s2)
/* 1EAB8 800436B8 10800012 */ beqz $a0, .L80043704
/* 1EABC 800436BC 24020001 */ addiu $v0, $zero, 1
/* 1EAC0 800436C0 14820004 */ bne $a0, $v0, .L800436D4
/* 1EAC4 800436C4 00000000 */ nop
/* 1EAC8 800436C8 8E42FFFC */ lw $v0, -4($s2)
/* 1EACC 800436CC 08010DC1 */ j .L80043704
/* 1EAD0 800436D0 AE02006C */ sw $v0, 0x6c($s0)
.L800436D4:
/* 1EAD4 800436D4 8E45FFFC */ lw $a1, -4($s2)
/* 1EAD8 800436D8 1880000A */ blez $a0, .L80043704
/* 1EADC 800436DC 0000182D */ daddu $v1, $zero, $zero
/* 1EAE0 800436E0 0200202D */ daddu $a0, $s0, $zero
.L800436E4:
/* 1EAE4 800436E4 8CA20000 */ lw $v0, ($a1)
/* 1EAE8 800436E8 24A50004 */ addiu $a1, $a1, 4
/* 1EAEC 800436EC 24630001 */ addiu $v1, $v1, 1
/* 1EAF0 800436F0 AC82006C */ sw $v0, 0x6c($a0)
/* 1EAF4 800436F4 8E42FFF8 */ lw $v0, -8($s2)
/* 1EAF8 800436F8 0062102A */ slt $v0, $v1, $v0
/* 1EAFC 800436FC 1440FFF9 */ bnez $v0, .L800436E4
/* 1EB00 80043700 24840004 */ addiu $a0, $a0, 4
.L80043704:
/* 1EB04 80043704 AFC00000 */ sw $zero, ($fp)
/* 1EB08 80043708 8EA20000 */ lw $v0, ($s5)
/* 1EB0C 8004370C 54400004 */ bnel $v0, $zero, .L80043720
/* 1EB10 80043710 AFC20004 */ sw $v0, 4($fp)
/* 1EB14 80043714 8E0200CC */ lw $v0, 0xcc($s0)
/* 1EB18 80043718 8C420000 */ lw $v0, ($v0)
/* 1EB1C 8004371C AFC20004 */ sw $v0, 4($fp)
.L80043720:
/* 1EB20 80043720 AFC00008 */ sw $zero, 8($fp)
/* 1EB24 80043724 AFC0000C */ sw $zero, 0xc($fp)
/* 1EB28 80043728 8E020000 */ lw $v0, ($s0)
/* 1EB2C 8004372C 3C030002 */ lui $v1, 2
/* 1EB30 80043730 00431024 */ and $v0, $v0, $v1
/* 1EB34 80043734 14400006 */ bnez $v0, .L80043750
/* 1EB38 80043738 00000000 */ nop
/* 1EB3C 8004373C 8E4501C4 */ lw $a1, 0x1c4($s2)
/* 1EB40 80043740 0C00E149 */ jal func_80038524
/* 1EB44 80043744 03C0202D */ daddu $a0, $fp, $zero
/* 1EB48 80043748 08010DD6 */ j .L80043758
/* 1EB4C 8004374C 00000000 */ nop
.L80043750:
/* 1EB50 80043750 0C00E150 */ jal func_80038540
/* 1EB54 80043754 03C0202D */ daddu $a0, $fp, $zero
.L80043758:
/* 1EB58 80043758 0C00E1E7 */ jal func_8003879C
/* 1EB5C 8004375C 0040202D */ daddu $a0, $v0, $zero
/* 1EB60 80043760 9243FFDF */ lbu $v1, -0x21($s2)
/* 1EB64 80043764 0040882D */ daddu $s1, $v0, $zero
/* 1EB68 80043768 A22300A4 */ sb $v1, 0xa4($s1)
/* 1EB6C 8004376C 96A20006 */ lhu $v0, 6($s5)
/* 1EB70 80043770 A62200A6 */ sh $v0, 0xa6($s1)
/* 1EB74 80043774 96A20004 */ lhu $v0, 4($s5)
/* 1EB78 80043778 A62200A8 */ sh $v0, 0xa8($s1)
/* 1EB7C 8004377C C640FFE4 */ lwc1 $f0, -0x1c($s2)
/* 1EB80 80043780 4600010D */ trunc.w.s $f4, $f0
/* 1EB84 80043784 44022000 */ mfc1 $v0, $f4
/* 1EB88 80043788 E6200038 */ swc1 $f0, 0x38($s1)
/* 1EB8C 8004378C A602000A */ sh $v0, 0xa($s0)
/* 1EB90 80043790 C640FFE8 */ lwc1 $f0, -0x18($s2)
/* 1EB94 80043794 4600010D */ trunc.w.s $f4, $f0
/* 1EB98 80043798 44022000 */ mfc1 $v0, $f4
/* 1EB9C 8004379C E620003C */ swc1 $f0, 0x3c($s1)
/* 1EBA0 800437A0 A602000C */ sh $v0, 0xc($s0)
/* 1EBA4 800437A4 C640FFEC */ lwc1 $f0, -0x14($s2)
/* 1EBA8 800437A8 4600010D */ trunc.w.s $f4, $f0
/* 1EBAC 800437AC 44022000 */ mfc1 $v0, $f4
/* 1EBB0 800437B0 E6200040 */ swc1 $f0, 0x40($s1)
/* 1EBB4 800437B4 A602000E */ sh $v0, 0xe($s0)
/* 1EBB8 800437B8 C6200038 */ lwc1 $f0, 0x38($s1)
/* 1EBBC 800437BC C6220040 */ lwc1 $f2, 0x40($s1)
/* 1EBC0 800437C0 4600010D */ trunc.w.s $f4, $f0
/* 1EBC4 800437C4 44022000 */ mfc1 $v0, $f4
/* 1EBC8 800437C8 C620003C */ lwc1 $f0, 0x3c($s1)
/* 1EBCC 800437CC A6200096 */ sh $zero, 0x96($s1)
/* 1EBD0 800437D0 AE200010 */ sw $zero, 0x10($s1)
/* 1EBD4 800437D4 A6220090 */ sh $v0, 0x90($s1)
/* 1EBD8 800437D8 4600010D */ trunc.w.s $f4, $f0
/* 1EBDC 800437DC 44022000 */ mfc1 $v0, $f4
/* 1EBE0 800437E0 00000000 */ nop
/* 1EBE4 800437E4 A6220092 */ sh $v0, 0x92($s1)
/* 1EBE8 800437E8 4600110D */ trunc.w.s $f4, $f2
/* 1EBEC 800437EC 44022000 */ mfc1 $v0, $f4
/* 1EBF0 800437F0 00000000 */ nop
/* 1EBF4 800437F4 A6220094 */ sh $v0, 0x94($s1)
/* 1EBF8 800437F8 C6440000 */ lwc1 $f4, ($s2)
/* 1EBFC 800437FC 46802120 */ cvt.s.w $f4, $f4
/* 1EC00 80043800 44052000 */ mfc1 $a1, $f4
/* 1EC04 80043804 0C00EC00 */ jal func_8003B000
/* 1EC08 80043808 0220202D */ daddu $a0, $s1, $zero
/* 1EC0C 8004380C 24023039 */ addiu $v0, $zero, 0x3039
/* 1EC10 80043810 A60200E0 */ sh $v0, 0xe0($s0)
/* 1EC14 80043814 862200A6 */ lh $v0, 0xa6($s1)
/* 1EC18 80043818 3C014038 */ lui $at, 0x4038
/* 1EC1C 8004381C 44811800 */ mtc1 $at, $f3
/* 1EC20 80043820 44801000 */ mtc1 $zero, $f2
/* 1EC24 80043824 44820000 */ mtc1 $v0, $f0
/* 1EC28 80043828 00000000 */ nop
/* 1EC2C 8004382C 46800021 */ cvt.d.w $f0, $f0
/* 1EC30 80043830 4620103E */ c.le.d $f2, $f0
/* 1EC34 80043834 00000000 */ nop
/* 1EC38 80043838 45000004 */ bc1f .L8004384C
/* 1EC3C 8004383C 00000000 */ nop
/* 1EC40 80043840 46220003 */ div.d $f0, $f0, $f2
/* 1EC44 80043844 08010E16 */ j .L80043858
/* 1EC48 80043848 46200020 */ cvt.s.d $f0, $f0
.L8004384C:
/* 1EC4C 8004384C 3C013F80 */ lui $at, 0x3f80
/* 1EC50 80043850 44810000 */ mtc1 $at, $f0
/* 1EC54 80043854 00000000 */ nop
.L80043858:
/* 1EC58 80043858 E620007C */ swc1 $f0, 0x7c($s1)
/* 1EC5C 8004385C 8E020000 */ lw $v0, ($s0)
/* 1EC60 80043860 30420100 */ andi $v0, $v0, 0x100
/* 1EC64 80043864 10400004 */ beqz $v0, .L80043878
/* 1EC68 80043868 00000000 */ nop
/* 1EC6C 8004386C 8E220000 */ lw $v0, ($s1)
/* 1EC70 80043870 34420040 */ ori $v0, $v0, 0x40
/* 1EC74 80043874 AE220000 */ sw $v0, ($s1)
.L80043878:
/* 1EC78 80043878 8E020000 */ lw $v0, ($s0)
/* 1EC7C 8004387C 30420200 */ andi $v0, $v0, 0x200
/* 1EC80 80043880 10400004 */ beqz $v0, .L80043894
/* 1EC84 80043884 00000000 */ nop
/* 1EC88 80043888 8E220000 */ lw $v0, ($s1)
/* 1EC8C 8004388C 34420100 */ ori $v0, $v0, 0x100
/* 1EC90 80043890 AE220000 */ sw $v0, ($s1)
.L80043894:
/* 1EC94 80043894 8E020000 */ lw $v0, ($s0)
/* 1EC98 80043898 30420400 */ andi $v0, $v0, 0x400
/* 1EC9C 8004389C 10400004 */ beqz $v0, .L800438B0
/* 1ECA0 800438A0 00000000 */ nop
/* 1ECA4 800438A4 8E220000 */ lw $v0, ($s1)
/* 1ECA8 800438A8 34428000 */ ori $v0, $v0, 0x8000
/* 1ECAC 800438AC AE220000 */ sw $v0, ($s1)
.L800438B0:
/* 1ECB0 800438B0 8E020000 */ lw $v0, ($s0)
/* 1ECB4 800438B4 30420800 */ andi $v0, $v0, 0x800
/* 1ECB8 800438B8 10400004 */ beqz $v0, .L800438CC
/* 1ECBC 800438BC 00000000 */ nop
/* 1ECC0 800438C0 8E220000 */ lw $v0, ($s1)
/* 1ECC4 800438C4 34420008 */ ori $v0, $v0, 8
/* 1ECC8 800438C8 AE220000 */ sw $v0, ($s1)
.L800438CC:
/* 1ECCC 800438CC 8E020000 */ lw $v0, ($s0)
/* 1ECD0 800438D0 30421000 */ andi $v0, $v0, 0x1000
/* 1ECD4 800438D4 10400004 */ beqz $v0, .L800438E8
/* 1ECD8 800438D8 00000000 */ nop
/* 1ECDC 800438DC 8E220000 */ lw $v0, ($s1)
/* 1ECE0 800438E0 34420200 */ ori $v0, $v0, 0x200
/* 1ECE4 800438E4 AE220000 */ sw $v0, ($s1)
.L800438E8:
/* 1ECE8 800438E8 8E020000 */ lw $v0, ($s0)
/* 1ECEC 800438EC 30420001 */ andi $v0, $v0, 1
/* 1ECF0 800438F0 14400004 */ bnez $v0, .L80043904
/* 1ECF4 800438F4 00000000 */ nop
/* 1ECF8 800438F8 8E220000 */ lw $v0, ($s1)
/* 1ECFC 800438FC 34420100 */ ori $v0, $v0, 0x100
/* 1ED00 80043900 AE220000 */ sw $v0, ($s1)
.L80043904:
/* 1ED04 80043904 8E020000 */ lw $v0, ($s0)
/* 1ED08 80043908 30424000 */ andi $v0, $v0, 0x4000
/* 1ED0C 8004390C 10400004 */ beqz $v0, .L80043920
/* 1ED10 80043910 3C030100 */ lui $v1, 0x100
/* 1ED14 80043914 8E220000 */ lw $v0, ($s1)
/* 1ED18 80043918 00431025 */ or $v0, $v0, $v1
/* 1ED1C 8004391C AE220000 */ sw $v0, ($s1)
.L80043920:
/* 1ED20 80043920 8E020000 */ lw $v0, ($s0)
/* 1ED24 80043924 30422000 */ andi $v0, $v0, 0x2000
/* 1ED28 80043928 10400004 */ beqz $v0, .L8004393C
/* 1ED2C 8004392C 00000000 */ nop
/* 1ED30 80043930 8E220000 */ lw $v0, ($s1)
/* 1ED34 80043934 34420020 */ ori $v0, $v0, 0x20
/* 1ED38 80043938 AE220000 */ sw $v0, ($s1)
.L8004393C:
/* 1ED3C 8004393C 8E020000 */ lw $v0, ($s0)
/* 1ED40 80043940 30428000 */ andi $v0, $v0, 0x8000
/* 1ED44 80043944 10400004 */ beqz $v0, .L80043958
/* 1ED48 80043948 3C031000 */ lui $v1, 0x1000
/* 1ED4C 8004394C 8E220000 */ lw $v0, ($s1)
/* 1ED50 80043950 00431025 */ or $v0, $v0, $v1
/* 1ED54 80043954 AE220000 */ sw $v0, ($s1)
.L80043958:
/* 1ED58 80043958 8E020000 */ lw $v0, ($s0)
/* 1ED5C 8004395C 3C030001 */ lui $v1, 1
/* 1ED60 80043960 00431024 */ and $v0, $v0, $v1
/* 1ED64 80043964 10400004 */ beqz $v0, .L80043978
/* 1ED68 80043968 3C032000 */ lui $v1, 0x2000
/* 1ED6C 8004396C 8E220000 */ lw $v0, ($s1)
/* 1ED70 80043970 00431025 */ or $v0, $v0, $v1
/* 1ED74 80043974 AE220000 */ sw $v0, ($s1)
.L80043978:
/* 1ED78 80043978 8E020000 */ lw $v0, ($s0)
/* 1ED7C 8004397C 30420080 */ andi $v0, $v0, 0x80
/* 1ED80 80043980 10400004 */ beqz $v0, .L80043994
/* 1ED84 80043984 00000000 */ nop
/* 1ED88 80043988 8E220000 */ lw $v0, ($s1)
/* 1ED8C 8004398C 34420400 */ ori $v0, $v0, 0x400
/* 1ED90 80043990 AE220000 */ sw $v0, ($s1)
.L80043994:
/* 1ED94 80043994 8E030000 */ lw $v1, ($s0)
/* 1ED98 80043998 2402000B */ addiu $v0, $zero, 0xb
/* 1ED9C 8004399C 30630001 */ andi $v1, $v1, 1
/* 1EDA0 800439A0 10600003 */ beqz $v1, .L800439B0
/* 1EDA4 800439A4 A2020006 */ sb $v0, 6($s0)
/* 1EDA8 800439A8 2402000A */ addiu $v0, $zero, 0xa
/* 1EDAC 800439AC A2020006 */ sb $v0, 6($s0)
.L800439B0:
/* 1EDB0 800439B0 8EA40008 */ lw $a0, 8($s5)
/* 1EDB4 800439B4 1080000C */ beqz $a0, .L800439E8
/* 1EDB8 800439B8 2405000A */ addiu $a1, $zero, 0xa
/* 1EDBC 800439BC 0C0B0CF8 */ jal func_802C33E0
/* 1EDC0 800439C0 0000302D */ daddu $a2, $zero, $zero
/* 1EDC4 800439C4 0040182D */ daddu $v1, $v0, $zero
/* 1EDC8 800439C8 AE03003C */ sw $v1, 0x3c($s0)
/* 1EDCC 800439CC 8C620144 */ lw $v0, 0x144($v1)
/* 1EDD0 800439D0 AE020054 */ sw $v0, 0x54($s0)
/* 1EDD4 800439D4 AC700148 */ sw $s0, 0x148($v1)
/* 1EDD8 800439D8 86020008 */ lh $v0, 8($s0)
/* 1EDDC 800439DC AC62014C */ sw $v0, 0x14c($v1)
/* 1EDE0 800439E0 92020006 */ lbu $v0, 6($s0)
/* 1EDE4 800439E4 A0620004 */ sb $v0, 4($v1)
.L800439E8:
/* 1EDE8 800439E8 265201F0 */ addiu $s2, $s2, 0x1f0
/* 1EDEC 800439EC 26F701F0 */ addiu $s7, $s7, 0x1f0
.L800439F0:
/* 1EDF0 800439F0 26730001 */ addiu $s3, $s3, 1
/* 1EDF4 800439F4 8FA70030 */ lw $a3, 0x30($sp)
/* 1EDF8 800439F8 8FA80024 */ lw $t0, 0x24($sp)
/* 1EDFC 800439FC 24E70004 */ addiu $a3, $a3, 4
/* 1EE00 80043A00 0268102A */ slt $v0, $s3, $t0
/* 1EE04 80043A04 1440FECD */ bnez $v0, .L8004353C
/* 1EE08 80043A08 AFA70030 */ sw $a3, 0x30($sp)
.L80043A0C:
/* 1EE0C 80043A0C 8FA70034 */ lw $a3, 0x34($sp)
/* 1EE10 80043A10 8FA80020 */ lw $t0, 0x20($sp)
/* 1EE14 80043A14 24E7000C */ addiu $a3, $a3, 0xc
/* 1EE18 80043A18 AFA70034 */ sw $a3, 0x34($sp)
/* 1EE1C 80043A1C 8FA7002C */ lw $a3, 0x2c($sp)
/* 1EE20 80043A20 2508000C */ addiu $t0, $t0, 0xc
/* 1EE24 80043A24 AFA80020 */ sw $t0, 0x20($sp)
/* 1EE28 80043A28 8FA80024 */ lw $t0, 0x24($sp)
/* 1EE2C 80043A2C 26D60001 */ addiu $s6, $s6, 1
/* 1EE30 80043A30 00E83821 */ addu $a3, $a3, $t0
/* 1EE34 80043A34 08010D2F */ j .L800434BC
/* 1EE38 80043A38 AFA7002C */ sw $a3, 0x2c($sp)
.L80043A3C:
/* 1EE3C 80043A3C 24020001 */ addiu $v0, $zero, 1
/* 1EE40 80043A40 3C01800B */ lui $at, %hi(D_800B0F0C)
/* 1EE44 80043A44 A0360F0C */ sb $s6, %lo(D_800B0F0C)($at)
/* 1EE48 80043A48 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1EE4C 80043A4C AC22A5B0 */ sw $v0, %lo(D_8009A5B0)($at)
/* 1EE50 80043A50 08010F74 */ j .L80043DD0
/* 1EE54 80043A54 00000000 */ nop
.L80043A58:
/* 1EE58 80043A58 0000A82D */ daddu $s5, $zero, $zero
/* 1EE5C 80043A5C 3C02800B */ lui $v0, %hi(D_800B0F0C)
/* 1EE60 80043A60 80420F0C */ lb $v0, %lo(D_800B0F0C)($v0)
/* 1EE64 80043A64 1840001F */ blez $v0, .L80043AE4
/* 1EE68 80043A68 02A0B02D */ daddu $s6, $s5, $zero
/* 1EE6C 80043A6C 3C12800B */ lui $s2, %hi(D_800B0EF0)
/* 1EE70 80043A70 26520EF0 */ addiu $s2, $s2, %lo(D_800B0EF0)
.L80043A74:
/* 1EE74 80043A74 8E540028 */ lw $s4, 0x28($s2)
/* 1EE78 80043A78 12800014 */ beqz $s4, .L80043ACC
/* 1EE7C 80043A7C 00000000 */ nop
/* 1EE80 80043A80 8E820000 */ lw $v0, ($s4)
/* 1EE84 80043A84 18400011 */ blez $v0, .L80043ACC
/* 1EE88 80043A88 0000982D */ daddu $s3, $zero, $zero
/* 1EE8C 80043A8C 0280882D */ daddu $s1, $s4, $zero
.L80043A90:
/* 1EE90 80043A90 8E300004 */ lw $s0, 4($s1)
/* 1EE94 80043A94 12000008 */ beqz $s0, .L80043AB8
/* 1EE98 80043A98 00000000 */ nop
/* 1EE9C 80043A9C 8E02003C */ lw $v0, 0x3c($s0)
/* 1EEA0 80043AA0 10400005 */ beqz $v0, .L80043AB8
/* 1EEA4 80043AA4 00000000 */ nop
/* 1EEA8 80043AA8 0C0B1059 */ jal func_802C4164
/* 1EEAC 80043AAC 8E040054 */ lw $a0, 0x54($s0)
/* 1EEB0 80043AB0 54400001 */ bnel $v0, $zero, .L80043AB8
/* 1EEB4 80043AB4 24150001 */ addiu $s5, $zero, 1
.L80043AB8:
/* 1EEB8 80043AB8 8E820000 */ lw $v0, ($s4)
/* 1EEBC 80043ABC 26730001 */ addiu $s3, $s3, 1
/* 1EEC0 80043AC0 0262102A */ slt $v0, $s3, $v0
/* 1EEC4 80043AC4 1440FFF2 */ bnez $v0, .L80043A90
/* 1EEC8 80043AC8 26310004 */ addiu $s1, $s1, 4
.L80043ACC:
/* 1EECC 80043ACC 3C02800B */ lui $v0, %hi(D_800B0F0C)
/* 1EED0 80043AD0 80420F0C */ lb $v0, %lo(D_800B0F0C)($v0)
/* 1EED4 80043AD4 26D60001 */ addiu $s6, $s6, 1
/* 1EED8 80043AD8 02C2102A */ slt $v0, $s6, $v0
/* 1EEDC 80043ADC 1440FFE5 */ bnez $v0, .L80043A74
/* 1EEE0 80043AE0 26520004 */ addiu $s2, $s2, 4
.L80043AE4:
/* 1EEE4 80043AE4 16A000BA */ bnez $s5, .L80043DD0
/* 1EEE8 80043AE8 00000000 */ nop
/* 1EEEC 80043AEC 3C02800B */ lui $v0, %hi(D_800B0F0C)
/* 1EEF0 80043AF0 80420F0C */ lb $v0, %lo(D_800B0F0C)($v0)
/* 1EEF4 80043AF4 18400026 */ blez $v0, .L80043B90
/* 1EEF8 80043AF8 0000B02D */ daddu $s6, $zero, $zero
/* 1EEFC 80043AFC 3C12800B */ lui $s2, %hi(D_800B0EF0)
/* 1EF00 80043B00 26520EF0 */ addiu $s2, $s2, %lo(D_800B0EF0)
.L80043B04:
/* 1EF04 80043B04 8E540028 */ lw $s4, 0x28($s2)
/* 1EF08 80043B08 1280001B */ beqz $s4, .L80043B78
/* 1EF0C 80043B0C 00000000 */ nop
/* 1EF10 80043B10 8E820000 */ lw $v0, ($s4)
/* 1EF14 80043B14 18400018 */ blez $v0, .L80043B78
/* 1EF18 80043B18 0000982D */ daddu $s3, $zero, $zero
/* 1EF1C 80043B1C 0280882D */ daddu $s1, $s4, $zero
.L80043B20:
/* 1EF20 80043B20 8E300004 */ lw $s0, 4($s1)
/* 1EF24 80043B24 1200000F */ beqz $s0, .L80043B64
/* 1EF28 80043B28 00000000 */ nop
/* 1EF2C 80043B2C 8E04001C */ lw $a0, 0x1c($s0)
/* 1EF30 80043B30 1080000C */ beqz $a0, .L80043B64
/* 1EF34 80043B34 2405000A */ addiu $a1, $zero, 0xa
/* 1EF38 80043B38 0C0B0CF8 */ jal func_802C33E0
/* 1EF3C 80043B3C 0000302D */ daddu $a2, $zero, $zero
/* 1EF40 80043B40 0040182D */ daddu $v1, $v0, $zero
/* 1EF44 80043B44 AE030034 */ sw $v1, 0x34($s0)
/* 1EF48 80043B48 8C620144 */ lw $v0, 0x144($v1)
/* 1EF4C 80043B4C AE02004C */ sw $v0, 0x4c($s0)
/* 1EF50 80043B50 AC700148 */ sw $s0, 0x148($v1)
/* 1EF54 80043B54 86020008 */ lh $v0, 8($s0)
/* 1EF58 80043B58 AC62014C */ sw $v0, 0x14c($v1)
/* 1EF5C 80043B5C 92020006 */ lbu $v0, 6($s0)
/* 1EF60 80043B60 A0620004 */ sb $v0, 4($v1)
.L80043B64:
/* 1EF64 80043B64 8E820000 */ lw $v0, ($s4)
/* 1EF68 80043B68 26730001 */ addiu $s3, $s3, 1
/* 1EF6C 80043B6C 0262102A */ slt $v0, $s3, $v0
/* 1EF70 80043B70 1440FFEB */ bnez $v0, .L80043B20
/* 1EF74 80043B74 26310004 */ addiu $s1, $s1, 4
.L80043B78:
/* 1EF78 80043B78 3C02800B */ lui $v0, %hi(D_800B0F0C)
/* 1EF7C 80043B7C 80420F0C */ lb $v0, %lo(D_800B0F0C)($v0)
/* 1EF80 80043B80 26D60001 */ addiu $s6, $s6, 1
/* 1EF84 80043B84 02C2102A */ slt $v0, $s6, $v0
/* 1EF88 80043B88 1440FFDE */ bnez $v0, .L80043B04
/* 1EF8C 80043B8C 26520004 */ addiu $s2, $s2, 4
.L80043B90:
/* 1EF90 80043B90 24020002 */ addiu $v0, $zero, 2
/* 1EF94 80043B94 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1EF98 80043B98 AC22A5B0 */ sw $v0, %lo(D_8009A5B0)($at)
/* 1EF9C 80043B9C 08010F74 */ j .L80043DD0
/* 1EFA0 80043BA0 00000000 */ nop
.L80043BA4:
/* 1EFA4 80043BA4 3C02800B */ lui $v0, %hi(D_800B0F0C)
/* 1EFA8 80043BA8 80420F0C */ lb $v0, %lo(D_800B0F0C)($v0)
/* 1EFAC 80043BAC 18400020 */ blez $v0, .L80043C30
/* 1EFB0 80043BB0 02A0B02D */ daddu $s6, $s5, $zero
/* 1EFB4 80043BB4 3C12800B */ lui $s2, %hi(D_800B0EF0)
/* 1EFB8 80043BB8 26520EF0 */ addiu $s2, $s2, %lo(D_800B0EF0)
.L80043BBC:
/* 1EFBC 80043BBC 8E540028 */ lw $s4, 0x28($s2)
/* 1EFC0 80043BC0 12800015 */ beqz $s4, .L80043C18
/* 1EFC4 80043BC4 00000000 */ nop
/* 1EFC8 80043BC8 8E820000 */ lw $v0, ($s4)
/* 1EFCC 80043BCC 18400012 */ blez $v0, .L80043C18
/* 1EFD0 80043BD0 0000982D */ daddu $s3, $zero, $zero
/* 1EFD4 80043BD4 0280882D */ daddu $s1, $s4, $zero
.L80043BD8:
/* 1EFD8 80043BD8 8E300004 */ lw $s0, 4($s1)
/* 1EFDC 80043BDC 12000009 */ beqz $s0, .L80043C04
/* 1EFE0 80043BE0 00000000 */ nop
/* 1EFE4 80043BE4 8E020034 */ lw $v0, 0x34($s0)
/* 1EFE8 80043BE8 10400006 */ beqz $v0, .L80043C04
/* 1EFEC 80043BEC 00000000 */ nop
/* 1EFF0 80043BF0 0C0B1059 */ jal func_802C4164
/* 1EFF4 80043BF4 8E04004C */ lw $a0, 0x4c($s0)
/* 1EFF8 80043BF8 50400002 */ beql $v0, $zero, .L80043C04
/* 1EFFC 80043BFC AE000034 */ sw $zero, 0x34($s0)
/* 1F000 80043C00 24150001 */ addiu $s5, $zero, 1
.L80043C04:
/* 1F004 80043C04 8E820000 */ lw $v0, ($s4)
/* 1F008 80043C08 26730001 */ addiu $s3, $s3, 1
/* 1F00C 80043C0C 0262102A */ slt $v0, $s3, $v0
/* 1F010 80043C10 1440FFF1 */ bnez $v0, .L80043BD8
/* 1F014 80043C14 26310004 */ addiu $s1, $s1, 4
.L80043C18:
/* 1F018 80043C18 3C02800B */ lui $v0, %hi(D_800B0F0C)
/* 1F01C 80043C1C 80420F0C */ lb $v0, %lo(D_800B0F0C)($v0)
/* 1F020 80043C20 26D60001 */ addiu $s6, $s6, 1
/* 1F024 80043C24 02C2102A */ slt $v0, $s6, $v0
/* 1F028 80043C28 1440FFE4 */ bnez $v0, .L80043BBC
/* 1F02C 80043C2C 26520004 */ addiu $s2, $s2, 4
.L80043C30:
/* 1F030 80043C30 16A00067 */ bnez $s5, .L80043DD0
/* 1F034 80043C34 00000000 */ nop
/* 1F038 80043C38 3C02800B */ lui $v0, %hi(D_800B0F0C)
/* 1F03C 80043C3C 80420F0C */ lb $v0, %lo(D_800B0F0C)($v0)
/* 1F040 80043C40 1840002E */ blez $v0, .L80043CFC
/* 1F044 80043C44 0000B02D */ daddu $s6, $zero, $zero
/* 1F048 80043C48 24150064 */ addiu $s5, $zero, 0x64
/* 1F04C 80043C4C 3C12800B */ lui $s2, %hi(D_800B0EF0)
/* 1F050 80043C50 26520EF0 */ addiu $s2, $s2, %lo(D_800B0EF0)
.L80043C54:
/* 1F054 80043C54 8E540028 */ lw $s4, 0x28($s2)
/* 1F058 80043C58 12800020 */ beqz $s4, .L80043CDC
/* 1F05C 80043C5C 00000000 */ nop
/* 1F060 80043C60 8E820000 */ lw $v0, ($s4)
/* 1F064 80043C64 1840001D */ blez $v0, .L80043CDC
/* 1F068 80043C68 0000982D */ daddu $s3, $zero, $zero
/* 1F06C 80043C6C 0280882D */ daddu $s1, $s4, $zero
.L80043C70:
/* 1F070 80043C70 8E300004 */ lw $s0, 4($s1)
/* 1F074 80043C74 12000014 */ beqz $s0, .L80043CC8
/* 1F078 80043C78 00000000 */ nop
/* 1F07C 80043C7C 8E020000 */ lw $v0, ($s0)
/* 1F080 80043C80 30420020 */ andi $v0, $v0, 0x20
/* 1F084 80043C84 14400010 */ bnez $v0, .L80043CC8
/* 1F088 80043C88 00000000 */ nop
/* 1F08C 80043C8C 8E040024 */ lw $a0, 0x24($s0)
/* 1F090 80043C90 1080000D */ beqz $a0, .L80043CC8
/* 1F094 80043C94 2405000A */ addiu $a1, $zero, 0xa
/* 1F098 80043C98 0C0B0CF8 */ jal func_802C33E0
/* 1F09C 80043C9C 0000302D */ daddu $a2, $zero, $zero
/* 1F0A0 80043CA0 0040182D */ daddu $v1, $v0, $zero
/* 1F0A4 80043CA4 AE03003C */ sw $v1, 0x3c($s0)
/* 1F0A8 80043CA8 8C620144 */ lw $v0, 0x144($v1)
/* 1F0AC 80043CAC AE1500C8 */ sw $s5, 0xc8($s0)
/* 1F0B0 80043CB0 AE020054 */ sw $v0, 0x54($s0)
/* 1F0B4 80043CB4 AC700148 */ sw $s0, 0x148($v1)
/* 1F0B8 80043CB8 86020008 */ lh $v0, 8($s0)
/* 1F0BC 80043CBC AC62014C */ sw $v0, 0x14c($v1)
/* 1F0C0 80043CC0 92020006 */ lbu $v0, 6($s0)
/* 1F0C4 80043CC4 A0620004 */ sb $v0, 4($v1)
.L80043CC8:
/* 1F0C8 80043CC8 8E820000 */ lw $v0, ($s4)
/* 1F0CC 80043CCC 26730001 */ addiu $s3, $s3, 1
/* 1F0D0 80043CD0 0262102A */ slt $v0, $s3, $v0
/* 1F0D4 80043CD4 1440FFE6 */ bnez $v0, .L80043C70
/* 1F0D8 80043CD8 26310004 */ addiu $s1, $s1, 4
.L80043CDC:
/* 1F0DC 80043CDC 3C02800B */ lui $v0, %hi(D_800B0F0C)
/* 1F0E0 80043CE0 80420F0C */ lb $v0, %lo(D_800B0F0C)($v0)
/* 1F0E4 80043CE4 26D60001 */ addiu $s6, $s6, 1
/* 1F0E8 80043CE8 02C2102A */ slt $v0, $s6, $v0
/* 1F0EC 80043CEC 1440FFD9 */ bnez $v0, .L80043C54
/* 1F0F0 80043CF0 26520004 */ addiu $s2, $s2, 4
/* 1F0F4 80043CF4 3C02800B */ lui $v0, %hi(D_800B0F0C)
/* 1F0F8 80043CF8 80420F0C */ lb $v0, %lo(D_800B0F0C)($v0)
.L80043CFC:
/* 1F0FC 80043CFC 1840002A */ blez $v0, .L80043DA8
/* 1F100 80043D00 0000B02D */ daddu $s6, $zero, $zero
/* 1F104 80043D04 3C12800B */ lui $s2, %hi(D_800B0EF0)
/* 1F108 80043D08 26520EF0 */ addiu $s2, $s2, %lo(D_800B0EF0)
.L80043D0C:
/* 1F10C 80043D0C 8E540028 */ lw $s4, 0x28($s2)
/* 1F110 80043D10 1280001F */ beqz $s4, .L80043D90
/* 1F114 80043D14 00000000 */ nop
/* 1F118 80043D18 8E820000 */ lw $v0, ($s4)
/* 1F11C 80043D1C 1840001C */ blez $v0, .L80043D90
/* 1F120 80043D20 0000982D */ daddu $s3, $zero, $zero
/* 1F124 80043D24 0280882D */ daddu $s1, $s4, $zero
.L80043D28:
/* 1F128 80043D28 8E300004 */ lw $s0, 4($s1)
/* 1F12C 80043D2C 12000013 */ beqz $s0, .L80043D7C
/* 1F130 80043D30 00000000 */ nop
/* 1F134 80043D34 8E020000 */ lw $v0, ($s0)
/* 1F138 80043D38 30420020 */ andi $v0, $v0, 0x20
/* 1F13C 80043D3C 1440000F */ bnez $v0, .L80043D7C
/* 1F140 80043D40 00000000 */ nop
/* 1F144 80043D44 8E04002C */ lw $a0, 0x2c($s0)
/* 1F148 80043D48 1080000C */ beqz $a0, .L80043D7C
/* 1F14C 80043D4C 2405000A */ addiu $a1, $zero, 0xa
/* 1F150 80043D50 0C0B0CF8 */ jal func_802C33E0
/* 1F154 80043D54 0000302D */ daddu $a2, $zero, $zero
/* 1F158 80043D58 0040182D */ daddu $v1, $v0, $zero
/* 1F15C 80043D5C AE030044 */ sw $v1, 0x44($s0)
/* 1F160 80043D60 8C620144 */ lw $v0, 0x144($v1)
/* 1F164 80043D64 AE02005C */ sw $v0, 0x5c($s0)
/* 1F168 80043D68 AC700148 */ sw $s0, 0x148($v1)
/* 1F16C 80043D6C 86020008 */ lh $v0, 8($s0)
/* 1F170 80043D70 AC62014C */ sw $v0, 0x14c($v1)
/* 1F174 80043D74 92020006 */ lbu $v0, 6($s0)
/* 1F178 80043D78 A0620004 */ sb $v0, 4($v1)
.L80043D7C:
/* 1F17C 80043D7C 8E820000 */ lw $v0, ($s4)
/* 1F180 80043D80 26730001 */ addiu $s3, $s3, 1
/* 1F184 80043D84 0262102A */ slt $v0, $s3, $v0
/* 1F188 80043D88 1440FFE7 */ bnez $v0, .L80043D28
/* 1F18C 80043D8C 26310004 */ addiu $s1, $s1, 4
.L80043D90:
/* 1F190 80043D90 3C02800B */ lui $v0, %hi(D_800B0F0C)
/* 1F194 80043D94 80420F0C */ lb $v0, %lo(D_800B0F0C)($v0)
/* 1F198 80043D98 26D60001 */ addiu $s6, $s6, 1
/* 1F19C 80043D9C 02C2102A */ slt $v0, $s6, $v0
/* 1F1A0 80043DA0 1440FFDA */ bnez $v0, .L80043D0C
/* 1F1A4 80043DA4 26520004 */ addiu $s2, $s2, 4
.L80043DA8:
/* 1F1A8 80043DA8 0C0B1192 */ jal func_802C4648
/* 1F1AC 80043DAC 24040010 */ addiu $a0, $zero, 0x10
/* 1F1B0 80043DB0 24020002 */ addiu $v0, $zero, 2
/* 1F1B4 80043DB4 3C01800A */ lui $at, %hi(D_8009A5E0)
/* 1F1B8 80043DB8 AC22A5E0 */ sw $v0, %lo(D_8009A5E0)($at)
/* 1F1BC 80043DBC 24020001 */ addiu $v0, $zero, 1
/* 1F1C0 80043DC0 3C01800A */ lui $at, %hi(D_8009A658)
/* 1F1C4 80043DC4 AC22A658 */ sw $v0, %lo(D_8009A658)($at)
/* 1F1C8 80043DC8 3C01800A */ lui $at, %hi(D_8009A5B0)
/* 1F1CC 80043DCC AC20A5B0 */ sw $zero, %lo(D_8009A5B0)($at)
.L80043DD0:
/* 1F1D0 80043DD0 8FBF005C */ lw $ra, 0x5c($sp)
/* 1F1D4 80043DD4 8FBE0058 */ lw $fp, 0x58($sp)
/* 1F1D8 80043DD8 8FB70054 */ lw $s7, 0x54($sp)
/* 1F1DC 80043DDC 8FB60050 */ lw $s6, 0x50($sp)
/* 1F1E0 80043DE0 8FB5004C */ lw $s5, 0x4c($sp)
/* 1F1E4 80043DE4 8FB40048 */ lw $s4, 0x48($sp)
/* 1F1E8 80043DE8 8FB30044 */ lw $s3, 0x44($sp)
/* 1F1EC 80043DEC 8FB20040 */ lw $s2, 0x40($sp)
/* 1F1F0 80043DF0 8FB1003C */ lw $s1, 0x3c($sp)
/* 1F1F4 80043DF4 8FB00038 */ lw $s0, 0x38($sp)
/* 1F1F8 80043DF8 03E00008 */ jr $ra
/* 1F1FC 80043DFC 27BD0060 */ addiu $sp, $sp, 0x60