papermario/asm/nonmatchings/code_b72b0_len_15ed0/func_80124570.s
2020-11-29 02:13:07 -05:00

1150 lines
60 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80124570
/* BAC70 80124570 27BDFFB8 */ addiu $sp, $sp, -0x48
/* BAC74 80124574 AFB40030 */ sw $s4, 0x30($sp)
/* BAC78 80124578 0080A02D */ daddu $s4, $a0, $zero
/* BAC7C 8012457C AFB50034 */ sw $s5, 0x34($sp)
/* BAC80 80124580 00A0A82D */ daddu $s5, $a1, $zero
/* BAC84 80124584 26880468 */ addiu $t0, $s4, 0x468
/* BAC88 80124588 AFB7003C */ sw $s7, 0x3c($sp)
/* BAC8C 8012458C 24170002 */ addiu $s7, $zero, 2
/* BAC90 80124590 AFBE0040 */ sw $fp, 0x40($sp)
/* BAC94 80124594 30DE0001 */ andi $fp, $a2, 1
/* BAC98 80124598 AFB60038 */ sw $s6, 0x38($sp)
/* BAC9C 8012459C 241600FF */ addiu $s6, $zero, 0xff
/* BACA0 801245A0 AFBF0044 */ sw $ra, 0x44($sp)
/* BACA4 801245A4 AFB3002C */ sw $s3, 0x2c($sp)
/* BACA8 801245A8 AFB20028 */ sw $s2, 0x28($sp)
/* BACAC 801245AC AFB10024 */ sw $s1, 0x24($sp)
/* BACB0 801245B0 AFB00020 */ sw $s0, 0x20($sp)
/* BACB4 801245B4 AFA80018 */ sw $t0, 0x18($sp)
/* BACB8 801245B8 96820004 */ lhu $v0, 4($s4)
/* BACBC 801245BC 9684000C */ lhu $a0, 0xc($s4)
/* BACC0 801245C0 8E830000 */ lw $v1, ($s4)
/* BACC4 801245C4 24420010 */ addiu $v0, $v0, 0x10
/* BACC8 801245C8 02829021 */ addu $s2, $s4, $v0
/* BACCC 801245CC 00649821 */ addu $s3, $v1, $a0
.L801245D0:
/* BACD0 801245D0 92650000 */ lbu $a1, ($s3)
/* BACD4 801245D4 26730001 */ addiu $s3, $s3, 1
/* BACD8 801245D8 92660000 */ lbu $a2, ($s3)
/* BACDC 801245DC 24A3FF10 */ addiu $v1, $a1, -0xf0
/* BACE0 801245E0 2C620010 */ sltiu $v0, $v1, 0x10
/* BACE4 801245E4 104003EF */ beqz $v0, .L801255A4
/* BACE8 801245E8 00031080 */ sll $v0, $v1, 2
/* BACEC 801245EC 3C018015 */ lui $at, %hi(D_801503B8)
/* BACF0 801245F0 00220821 */ addu $at, $at, $v0
/* BACF4 801245F4 8C2203B8 */ lw $v0, %lo(D_801503B8)($at)
/* BACF8 801245F8 00400008 */ jr $v0
/* BACFC 801245FC 00000000 */ nop
/* BAD00 80124600 240200F0 */ addiu $v0, $zero, 0xf0
/* BAD04 80124604 A2420000 */ sb $v0, ($s2)
/* BAD08 80124608 C6800540 */ lwc1 $f0, 0x540($s4)
/* BAD0C 8012460C 3C014F00 */ lui $at, 0x4f00
/* BAD10 80124610 44811000 */ mtc1 $at, $f2
/* BAD14 80124614 00000000 */ nop
/* BAD18 80124618 4600103E */ c.le.s $f2, $f0
/* BAD1C 8012461C 00000000 */ nop
/* BAD20 80124620 45010005 */ bc1t .L80124638
/* BAD24 80124624 26520001 */ addiu $s2, $s2, 1
/* BAD28 80124628 4600010D */ trunc.w.s $f4, $f0
/* BAD2C 8012462C 44032000 */ mfc1 $v1, $f4
/* BAD30 80124630 08049194 */ j .L80124650
/* BAD34 80124634 00000000 */ nop
.L80124638:
/* BAD38 80124638 46020001 */ sub.s $f0, $f0, $f2
/* BAD3C 8012463C 3C028000 */ lui $v0, 0x8000
/* BAD40 80124640 4600010D */ trunc.w.s $f4, $f0
/* BAD44 80124644 44032000 */ mfc1 $v1, $f4
/* BAD48 80124648 00000000 */ nop
/* BAD4C 8012464C 00621825 */ or $v1, $v1, $v0
.L80124650:
/* BAD50 80124650 8FA80018 */ lw $t0, 0x18($sp)
/* BAD54 80124654 91020000 */ lbu $v0, ($t0)
/* BAD58 80124658 00431021 */ addu $v0, $v0, $v1
/* BAD5C 8012465C 08049580 */ j .L80125600
/* BAD60 80124660 A1020000 */ sb $v0, ($t0)
/* BAD64 80124664 96830500 */ lhu $v1, 0x500($s4)
/* BAD68 80124668 24020005 */ addiu $v0, $zero, 5
/* BAD6C 8012466C A28204F8 */ sb $v0, 0x4f8($s4)
/* BAD70 80124670 34630001 */ ori $v1, $v1, 1
/* BAD74 80124674 3063FFFD */ andi $v1, $v1, 0xfffd
/* BAD78 80124678 A6830500 */ sh $v1, 0x500($s4)
/* BAD7C 8012467C 8E8304FC */ lw $v1, 0x4fc($s4)
/* BAD80 80124680 2402FF7F */ addiu $v0, $zero, -0x81
/* BAD84 80124684 A280047C */ sb $zero, 0x47c($s4)
/* BAD88 80124688 A680047E */ sh $zero, 0x47e($s4)
/* BAD8C 8012468C 00621824 */ and $v1, $v1, $v0
/* BAD90 80124690 2402FEFF */ addiu $v0, $zero, -0x101
/* BAD94 80124694 00621824 */ and $v1, $v1, $v0
/* BAD98 80124698 AE8304FC */ sw $v1, 0x4fc($s4)
/* BAD9C 8012469C 92830508 */ lbu $v1, 0x508($s4)
/* BADA0 801246A0 2402000F */ addiu $v0, $zero, 0xf
/* BADA4 801246A4 106203D6 */ beq $v1, $v0, .L80125600
/* BADA8 801246A8 240400CB */ addiu $a0, $zero, 0xcb
/* BADAC 801246AC 0000282D */ daddu $a1, $zero, $zero
/* BADB0 801246B0 00A0302D */ daddu $a2, $a1, $zero
/* BADB4 801246B4 0C0526AE */ jal _play_sound
/* BADB8 801246B8 00A0382D */ daddu $a3, $a1, $zero
/* BADBC 801246BC 08049580 */ j .L80125600
/* BADC0 801246C0 00000000 */ nop
/* BADC4 801246C4 96820500 */ lhu $v0, 0x500($s4)
/* BADC8 801246C8 92630000 */ lbu $v1, ($s3)
/* BADCC 801246CC 34420001 */ ori $v0, $v0, 1
/* BADD0 801246D0 A6820500 */ sh $v0, 0x500($s4)
/* BADD4 801246D4 8E8204FC */ lw $v0, 0x4fc($s4)
/* BADD8 801246D8 26730001 */ addiu $s3, $s3, 1
/* BADDC 801246DC A683000E */ sh $v1, 0xe($s4)
/* BADE0 801246E0 2403FF7F */ addiu $v1, $zero, -0x81
/* BADE4 801246E4 0804957F */ j .L801255FC
/* BADE8 801246E8 00431024 */ and $v0, $v0, $v1
/* BADEC 801246EC 24A200FE */ addiu $v0, $a1, 0xfe
/* BADF0 801246F0 A2420000 */ sb $v0, ($s2)
/* BADF4 801246F4 26520001 */ addiu $s2, $s2, 1
/* BADF8 801246F8 24A2000D */ addiu $v0, $a1, 0xd
/* BADFC 801246FC 08049580 */ j .L80125600
/* BAE00 80124700 A2820455 */ sb $v0, 0x455($s4)
/* BAE04 80124704 08049556 */ j .L80125558
/* BAE08 80124708 240200F5 */ addiu $v0, $zero, 0xf5
/* BAE0C 8012470C 08049556 */ j .L80125558
/* BAE10 80124710 240200F6 */ addiu $v0, $zero, 0xf6
/* BAE14 80124714 08049556 */ j .L80125558
/* BAE18 80124718 240200F7 */ addiu $v0, $zero, 0xf7
/* BAE1C 8012471C 240200F9 */ addiu $v0, $zero, 0xf9
/* BAE20 80124720 A2420000 */ sb $v0, ($s2)
/* BAE24 80124724 26520001 */ addiu $s2, $s2, 1
/* BAE28 80124728 08049580 */ j .L80125600
/* BAE2C 8012472C 26B5FFFF */ addiu $s5, $s5, -1
/* BAE30 80124730 92820468 */ lbu $v0, 0x468($s4)
/* BAE34 80124734 504003B2 */ beql $v0, $zero, .L80125600
/* BAE38 80124738 A2800468 */ sb $zero, 0x468($s4)
/* BAE3C 8012473C 92820486 */ lbu $v0, 0x486($s4)
/* BAE40 80124740 96830462 */ lhu $v1, 0x462($s4)
/* BAE44 80124744 00021040 */ sll $v0, $v0, 1
/* BAE48 80124748 02821021 */ addu $v0, $s4, $v0
/* BAE4C 8012474C A4430488 */ sh $v1, 0x488($v0)
/* BAE50 80124750 92820486 */ lbu $v0, 0x486($s4)
/* BAE54 80124754 24420001 */ addiu $v0, $v0, 1
/* BAE58 80124758 A2820486 */ sb $v0, 0x486($s4)
/* BAE5C 8012475C 240200FA */ addiu $v0, $zero, 0xfa
/* BAE60 80124760 A2420000 */ sb $v0, ($s2)
/* BAE64 80124764 26520001 */ addiu $s2, $s2, 1
/* BAE68 80124768 92820454 */ lbu $v0, 0x454($s4)
/* BAE6C 8012476C 92830508 */ lbu $v1, 0x508($s4)
/* BAE70 80124770 00021080 */ sll $v0, $v0, 2
/* BAE74 80124774 00031840 */ sll $v1, $v1, 1
/* BAE78 80124778 3C01802F */ lui $at, %hi(D_802EB5A8)
/* BAE7C 8012477C 00220821 */ addu $at, $at, $v0
/* BAE80 80124780 8C22B5A8 */ lw $v0, %lo(D_802EB5A8)($at)
/* BAE84 80124784 3C01802F */ lui $at, %hi(D_802EB644)
/* BAE88 80124788 00230821 */ addu $at, $at, $v1
/* BAE8C 8012478C 8423B644 */ lh $v1, %lo(D_802EB644)($at)
/* BAE90 80124790 90440003 */ lbu $a0, 3($v0)
/* BAE94 80124794 24020006 */ addiu $v0, $zero, 6
/* BAE98 80124798 A28204F8 */ sb $v0, 0x4f8($s4)
/* BAE9C 8012479C 92820468 */ lbu $v0, 0x468($s4)
/* BAEA0 801247A0 00832021 */ addu $a0, $a0, $v1
/* BAEA4 801247A4 00820018 */ mult $a0, $v0
/* BAEA8 801247A8 96820500 */ lhu $v0, 0x500($s4)
/* BAEAC 801247AC 96830462 */ lhu $v1, 0x462($s4)
/* BAEB0 801247B0 34420001 */ ori $v0, $v0, 1
/* BAEB4 801247B4 A6820500 */ sh $v0, 0x500($s4)
/* BAEB8 801247B8 00004012 */ mflo $t0
/* BAEBC 801247BC 00681821 */ addu $v1, $v1, $t0
/* BAEC0 801247C0 A6830466 */ sh $v1, 0x466($s4)
/* BAEC4 801247C4 08049580 */ j .L80125600
/* BAEC8 801247C8 A2800468 */ sb $zero, 0x468($s4)
/* BAECC 801247CC 240200F8 */ addiu $v0, $zero, 0xf8
/* BAED0 801247D0 A2420000 */ sb $v0, ($s2)
/* BAED4 801247D4 26520001 */ addiu $s2, $s2, 1
/* BAED8 801247D8 92700000 */ lbu $s0, ($s3)
/* BAEDC 801247DC 26730001 */ addiu $s3, $s3, 1
/* BAEE0 801247E0 A2900508 */ sb $s0, 0x508($s4)
/* BAEE4 801247E4 A2500000 */ sb $s0, ($s2)
/* BAEE8 801247E8 26520001 */ addiu $s2, $s2, 1
/* BAEEC 801247EC 320200FF */ andi $v0, $s0, 0xff
/* BAEF0 801247F0 2443FFFF */ addiu $v1, $v0, -1
/* BAEF4 801247F4 2C62000F */ sltiu $v0, $v1, 0xf
/* BAEF8 801247F8 104000BD */ beqz $v0, .L80124AF0
/* BAEFC 801247FC A2800509 */ sb $zero, 0x509($s4)
/* BAF00 80124800 00031080 */ sll $v0, $v1, 2
/* BAF04 80124804 3C018015 */ lui $at, %hi(D_801503F8)
/* BAF08 80124808 00220821 */ addu $at, $at, $v0
/* BAF0C 8012480C 8C2203F8 */ lw $v0, %lo(D_801503F8)($at)
/* BAF10 80124810 00400008 */ jr $v0
/* BAF14 80124814 00000000 */ nop
/* BAF18 80124818 2602FFFF */ addiu $v0, $s0, -1
/* BAF1C 8012481C 2C420003 */ sltiu $v0, $v0, 3
/* BAF20 80124820 10400002 */ beqz $v0, .L8012482C
/* BAF24 80124824 24020003 */ addiu $v0, $zero, 3
/* BAF28 80124828 A282053C */ sb $v0, 0x53c($s4)
.L8012482C:
/* BAF2C 8012482C 3C040080 */ lui $a0, 0x80
/* BAF30 80124830 34840800 */ ori $a0, $a0, 0x800
/* BAF34 80124834 96820500 */ lhu $v0, 0x500($s4)
/* BAF38 80124838 8E8304FC */ lw $v1, 0x4fc($s4)
/* BAF3C 8012483C 34420001 */ ori $v0, $v0, 1
/* BAF40 80124840 00642025 */ or $a0, $v1, $a0
/* BAF44 80124844 30C300FF */ andi $v1, $a2, 0xff
/* BAF48 80124848 A6820500 */ sh $v0, 0x500($s4)
/* BAF4C 8012484C 240200C3 */ addiu $v0, $zero, 0xc3
/* BAF50 80124850 10620003 */ beq $v1, $v0, .L80124860
/* BAF54 80124854 AE8404FC */ sw $a0, 0x4fc($s4)
/* BAF58 80124858 34820080 */ ori $v0, $a0, 0x80
/* BAF5C 8012485C AE8204FC */ sw $v0, 0x4fc($s4)
.L80124860:
/* BAF60 80124860 24020011 */ addiu $v0, $zero, 0x11
/* BAF64 80124864 AE820520 */ sw $v0, 0x520($s4)
/* BAF68 80124868 24020012 */ addiu $v0, $zero, 0x12
/* BAF6C 8012486C AE820524 */ sw $v0, 0x524($s4)
/* BAF70 80124870 080492BC */ j .L80124AF0
/* BAF74 80124874 A29704F8 */ sb $s7, 0x4f8($s4)
/* BAF78 80124878 92620000 */ lbu $v0, ($s3)
/* BAF7C 8012487C 26730001 */ addiu $s3, $s3, 1
/* BAF80 80124880 A682045A */ sh $v0, 0x45a($s4)
/* BAF84 80124884 92620000 */ lbu $v0, ($s3)
/* BAF88 80124888 26730001 */ addiu $s3, $s3, 1
/* BAF8C 8012488C A682045C */ sh $v0, 0x45c($s4)
/* BAF90 80124890 92620000 */ lbu $v0, ($s3)
/* BAF94 80124894 26730001 */ addiu $s3, $s3, 1
/* BAF98 80124898 A6820514 */ sh $v0, 0x514($s4)
/* BAF9C 8012489C 92630000 */ lbu $v1, ($s3)
/* BAFA0 801248A0 8E8204FC */ lw $v0, 0x4fc($s4)
/* BAFA4 801248A4 26730001 */ addiu $s3, $s3, 1
/* BAFA8 801248A8 A29704F8 */ sb $s7, 0x4f8($s4)
/* BAFAC 801248AC 34420800 */ ori $v0, $v0, 0x800
/* BAFB0 801248B0 AE8204FC */ sw $v0, 0x4fc($s4)
/* BAFB4 801248B4 080492BC */ j .L80124AF0
/* BAFB8 801248B8 A6830516 */ sh $v1, 0x516($s4)
/* BAFBC 801248BC 17C0008C */ bnez $fp, .L80124AF0
/* BAFC0 801248C0 24020014 */ addiu $v0, $zero, 0x14
/* BAFC4 801248C4 A682045A */ sh $v0, 0x45a($s4)
/* BAFC8 801248C8 2402001C */ addiu $v0, $zero, 0x1c
/* BAFCC 801248CC A682045C */ sh $v0, 0x45c($s4)
/* BAFD0 801248D0 2402003A */ addiu $v0, $zero, 0x3a
/* BAFD4 801248D4 A6820516 */ sh $v0, 0x516($s4)
/* BAFD8 801248D8 24020118 */ addiu $v0, $zero, 0x118
/* BAFDC 801248DC A6820514 */ sh $v0, 0x514($s4)
/* BAFE0 801248E0 8E8204FC */ lw $v0, 0x4fc($s4)
/* BAFE4 801248E4 96830500 */ lhu $v1, 0x500($s4)
/* BAFE8 801248E8 A29704F8 */ sb $s7, 0x4f8($s4)
/* BAFEC 801248EC 34420800 */ ori $v0, $v0, 0x800
/* BAFF0 801248F0 34630001 */ ori $v1, $v1, 1
/* BAFF4 801248F4 AE8204FC */ sw $v0, 0x4fc($s4)
/* BAFF8 801248F8 24020006 */ addiu $v0, $zero, 6
/* BAFFC 801248FC 1602007C */ bne $s0, $v0, .L80124AF0
/* BB000 80124900 A6830500 */ sh $v1, 0x500($s4)
/* BB004 80124904 2404021C */ addiu $a0, $zero, 0x21c
/* BB008 80124908 0000282D */ daddu $a1, $zero, $zero
/* BB00C 8012490C 00A0302D */ daddu $a2, $a1, $zero
/* BB010 80124910 0C0526AE */ jal _play_sound
/* BB014 80124914 00A0382D */ daddu $a3, $a1, $zero
/* BB018 80124918 080492BC */ j .L80124AF0
/* BB01C 8012491C 00000000 */ nop
/* BB020 80124920 92620000 */ lbu $v0, ($s3)
/* BB024 80124924 26730001 */ addiu $s3, $s3, 1
/* BB028 80124928 2404021C */ addiu $a0, $zero, 0x21c
/* BB02C 8012492C 0000282D */ daddu $a1, $zero, $zero
/* BB030 80124930 00A0302D */ daddu $a2, $a1, $zero
/* BB034 80124934 A682045A */ sh $v0, 0x45a($s4)
/* BB038 80124938 92620000 */ lbu $v0, ($s3)
/* BB03C 8012493C 26730001 */ addiu $s3, $s3, 1
/* BB040 80124940 A682045C */ sh $v0, 0x45c($s4)
/* BB044 80124944 92620000 */ lbu $v0, ($s3)
/* BB048 80124948 26730001 */ addiu $s3, $s3, 1
/* BB04C 8012494C A6820514 */ sh $v0, 0x514($s4)
/* BB050 80124950 92620000 */ lbu $v0, ($s3)
/* BB054 80124954 00A0382D */ daddu $a3, $a1, $zero
/* BB058 80124958 0C0526AE */ jal _play_sound
/* BB05C 8012495C A6820516 */ sh $v0, 0x516($s4)
/* BB060 80124960 96820500 */ lhu $v0, 0x500($s4)
/* BB064 80124964 8E8304FC */ lw $v1, 0x4fc($s4)
/* BB068 80124968 26730001 */ addiu $s3, $s3, 1
/* BB06C 8012496C A29704F8 */ sb $s7, 0x4f8($s4)
/* BB070 80124970 34420001 */ ori $v0, $v0, 1
/* BB074 80124974 34630800 */ ori $v1, $v1, 0x800
/* BB078 80124978 A6820500 */ sh $v0, 0x500($s4)
/* BB07C 8012497C 080492BC */ j .L80124AF0
/* BB080 80124980 AE8304FC */ sw $v1, 0x4fc($s4)
/* BB084 80124984 92620000 */ lbu $v0, ($s3)
/* BB088 80124988 26730001 */ addiu $s3, $s3, 1
/* BB08C 8012498C A6820516 */ sh $v0, 0x516($s4)
/* BB090 80124990 17C00057 */ bnez $fp, .L80124AF0
/* BB094 80124994 00000000 */ nop
/* BB098 80124998 8E8204FC */ lw $v0, 0x4fc($s4)
/* BB09C 8012499C 96830500 */ lhu $v1, 0x500($s4)
/* BB0A0 801249A0 A29704F8 */ sb $s7, 0x4f8($s4)
/* BB0A4 801249A4 34420800 */ ori $v0, $v0, 0x800
/* BB0A8 801249A8 34630001 */ ori $v1, $v1, 1
/* BB0AC 801249AC AE8204FC */ sw $v0, 0x4fc($s4)
/* BB0B0 801249B0 080492BC */ j .L80124AF0
/* BB0B4 801249B4 A6830500 */ sh $v1, 0x500($s4)
/* BB0B8 801249B8 92700000 */ lbu $s0, ($s3)
/* BB0BC 801249BC 26730001 */ addiu $s3, $s3, 1
/* BB0C0 801249C0 8E8204FC */ lw $v0, 0x4fc($s4)
/* BB0C4 801249C4 96830500 */ lhu $v1, 0x500($s4)
/* BB0C8 801249C8 24041EC3 */ addiu $a0, $zero, 0x1ec3
/* BB0CC 801249CC A29704F8 */ sb $s7, 0x4f8($s4)
/* BB0D0 801249D0 34420800 */ ori $v0, $v0, 0x800
/* BB0D4 801249D4 34630001 */ ori $v1, $v1, 1
/* BB0D8 801249D8 AE8204FC */ sw $v0, 0x4fc($s4)
/* BB0DC 801249DC 0C00AB39 */ jal heap_malloc
/* BB0E0 801249E0 A6830500 */ sh $v1, 0x500($s4)
/* BB0E4 801249E4 3C030001 */ lui $v1, 1
/* BB0E8 801249E8 2463B290 */ addiu $v1, $v1, -0x4d70
/* BB0EC 801249EC 3C080011 */ lui $t0, 0x11
/* BB0F0 801249F0 2508F1B0 */ addiu $t0, $t0, -0xe50
/* BB0F4 801249F4 01032021 */ addu $a0, $t0, $v1
/* BB0F8 801249F8 24851EC3 */ addiu $a1, $a0, 0x1ec3
/* BB0FC 801249FC 0040302D */ daddu $a2, $v0, $zero
/* BB100 80124A00 0C00A5CF */ jal dma_copy
/* BB104 80124A04 AE860544 */ sw $a2, 0x544($s4)
/* BB108 80124A08 0C00AB39 */ jal heap_malloc
/* BB10C 80124A0C 24040020 */ addiu $a0, $zero, 0x20
/* BB110 80124A10 3C030001 */ lui $v1, 1
/* BB114 80124A14 2463D158 */ addiu $v1, $v1, -0x2ea8
/* BB118 80124A18 3C080011 */ lui $t0, 0x11
/* BB11C 80124A1C 2508F1B0 */ addiu $t0, $t0, -0xe50
/* BB120 80124A20 01032021 */ addu $a0, $t0, $v1
/* BB124 80124A24 24850020 */ addiu $a1, $a0, 0x20
/* BB128 80124A28 0040302D */ daddu $a2, $v0, $zero
/* BB12C 80124A2C 0C00A5CF */ jal dma_copy
/* BB130 80124A30 AE860548 */ sw $a2, 0x548($s4)
/* BB134 80124A34 0C00AB39 */ jal heap_malloc
/* BB138 80124A38 240419FA */ addiu $a0, $zero, 0x19fa
/* BB13C 80124A3C 321000FF */ andi $s0, $s0, 0xff
/* BB140 80124A40 00108080 */ sll $s0, $s0, 2
/* BB144 80124A44 0040302D */ daddu $a2, $v0, $zero
/* BB148 80124A48 AE82054C */ sw $v0, 0x54c($s4)
/* BB14C 80124A4C 3C03802F */ lui $v1, %hi(D_802EB5C0)
/* BB150 80124A50 00701821 */ addu $v1, $v1, $s0
/* BB154 80124A54 8C63B5C0 */ lw $v1, %lo(D_802EB5C0)($v1)
/* BB158 80124A58 3C080011 */ lui $t0, 0x11
/* BB15C 80124A5C 2508F1B0 */ addiu $t0, $t0, -0xe50
/* BB160 80124A60 00682021 */ addu $a0, $v1, $t0
/* BB164 80124A64 0C00A5CF */ jal dma_copy
/* BB168 80124A68 248519FA */ addiu $a1, $a0, 0x19fa
/* BB16C 80124A6C 0C00AB39 */ jal heap_malloc
/* BB170 80124A70 24040200 */ addiu $a0, $zero, 0x200
/* BB174 80124A74 0040302D */ daddu $a2, $v0, $zero
/* BB178 80124A78 AE820550 */ sw $v0, 0x550($s4)
/* BB17C 80124A7C 3C03802F */ lui $v1, %hi(D_802EB5F0)
/* BB180 80124A80 00701821 */ addu $v1, $v1, $s0
/* BB184 80124A84 8C63B5F0 */ lw $v1, %lo(D_802EB5F0)($v1)
/* BB188 80124A88 3C080011 */ lui $t0, 0x11
/* BB18C 80124A8C 2508F1B0 */ addiu $t0, $t0, -0xe50
/* BB190 80124A90 00682021 */ addu $a0, $v1, $t0
/* BB194 80124A94 0C00A5CF */ jal dma_copy
/* BB198 80124A98 24850200 */ addiu $a1, $a0, 0x200
/* BB19C 80124A9C 080492BC */ j .L80124AF0
/* BB1A0 80124AA0 00000000 */ nop
/* BB1A4 80124AA4 24020028 */ addiu $v0, $zero, 0x28
/* BB1A8 80124AA8 A6820516 */ sh $v0, 0x516($s4)
/* BB1AC 80124AAC 96820538 */ lhu $v0, 0x538($s4)
/* BB1B0 80124AB0 8E8304FC */ lw $v1, 0x4fc($s4)
/* BB1B4 80124AB4 24420020 */ addiu $v0, $v0, 0x20
/* BB1B8 80124AB8 A6820514 */ sh $v0, 0x514($s4)
/* BB1BC 80124ABC 34628000 */ ori $v0, $v1, 0x8000
/* BB1C0 80124AC0 17C0000B */ bnez $fp, .L80124AF0
/* BB1C4 80124AC4 AE8204FC */ sw $v0, 0x4fc($s4)
/* BB1C8 80124AC8 34628800 */ ori $v0, $v1, 0x8800
/* BB1CC 80124ACC 96830500 */ lhu $v1, 0x500($s4)
/* BB1D0 80124AD0 AE8204FC */ sw $v0, 0x4fc($s4)
/* BB1D4 80124AD4 2402000D */ addiu $v0, $zero, 0xd
/* BB1D8 80124AD8 A28204F8 */ sb $v0, 0x4f8($s4)
/* BB1DC 80124ADC 34630001 */ ori $v1, $v1, 1
/* BB1E0 80124AE0 080492BC */ j .L80124AF0
/* BB1E4 80124AE4 A6830500 */ sh $v1, 0x500($s4)
/* BB1E8 80124AE8 24020004 */ addiu $v0, $zero, 4
/* BB1EC 80124AEC A28204F8 */ sb $v0, 0x4f8($s4)
.L80124AF0:
/* BB1F0 80124AF0 96830500 */ lhu $v1, 0x500($s4)
/* BB1F4 80124AF4 30620001 */ andi $v0, $v1, 1
/* BB1F8 80124AF8 104002C1 */ beqz $v0, .L80125600
/* BB1FC 80124AFC 30620006 */ andi $v0, $v1, 6
/* BB200 80124B00 080493E6 */ j .L80124F98
/* BB204 80124B04 00000000 */ nop
/* BB208 80124B08 240200FB */ addiu $v0, $zero, 0xfb
/* BB20C 80124B0C A2420000 */ sb $v0, ($s2)
/* BB210 80124B10 8E8304FC */ lw $v1, 0x4fc($s4)
/* BB214 80124B14 30620800 */ andi $v0, $v1, 0x800
/* BB218 80124B18 10400011 */ beqz $v0, .L80124B60
/* BB21C 80124B1C 26520001 */ addiu $s2, $s2, 1
/* BB220 80124B20 30621000 */ andi $v0, $v1, 0x1000
/* BB224 80124B24 10400005 */ beqz $v0, .L80124B3C
/* BB228 80124B28 00000000 */ nop
/* BB22C 80124B2C 8E830504 */ lw $v1, 0x504($s4)
/* BB230 80124B30 10600002 */ beqz $v1, .L80124B3C
/* BB234 80124B34 24020001 */ addiu $v0, $zero, 1
/* BB238 80124B38 AC620000 */ sw $v0, ($v1)
.L80124B3C:
/* BB23C 80124B3C 92820508 */ lbu $v0, 0x508($s4)
/* BB240 80124B40 2442FFF6 */ addiu $v0, $v0, -0xa
/* BB244 80124B44 2C420002 */ sltiu $v0, $v0, 2
/* BB248 80124B48 14400002 */ bnez $v0, .L80124B54
/* BB24C 80124B4C 2402000E */ addiu $v0, $zero, 0xe
/* BB250 80124B50 24020003 */ addiu $v0, $zero, 3
.L80124B54:
/* BB254 80124B54 A28204F8 */ sb $v0, 0x4f8($s4)
/* BB258 80124B58 080492DA */ j .L80124B68
/* BB25C 80124B5C A2800512 */ sb $zero, 0x512($s4)
.L80124B60:
/* BB260 80124B60 34620001 */ ori $v0, $v1, 1
/* BB264 80124B64 AE8204FC */ sw $v0, 0x4fc($s4)
.L80124B68:
/* BB268 80124B68 96820500 */ lhu $v0, 0x500($s4)
/* BB26C 80124B6C 34420001 */ ori $v0, $v0, 1
/* BB270 80124B70 3042FFFD */ andi $v0, $v0, 0xfffd
/* BB274 80124B74 08049580 */ j .L80125600
/* BB278 80124B78 A6820500 */ sh $v0, 0x500($s4)
/* BB27C 80124B7C 92630000 */ lbu $v1, ($s3)
/* BB280 80124B80 2C620030 */ sltiu $v0, $v1, 0x30
/* BB284 80124B84 1040029E */ beqz $v0, .L80125600
/* BB288 80124B88 26730001 */ addiu $s3, $s3, 1
/* BB28C 80124B8C 00031080 */ sll $v0, $v1, 2
/* BB290 80124B90 3C018015 */ lui $at, %hi(D_80150438)
/* BB294 80124B94 00220821 */ addu $at, $at, $v0
/* BB298 80124B98 8C220438 */ lw $v0, %lo(D_80150438)($at)
/* BB29C 80124B9C 00400008 */ jr $v0
/* BB2A0 80124BA0 00000000 */ nop
/* BB2A4 80124BA4 A2560000 */ sb $s6, ($s2)
/* BB2A8 80124BA8 26520001 */ addiu $s2, $s2, 1
/* BB2AC 80124BAC A2400000 */ sb $zero, ($s2)
/* BB2B0 80124BB0 26520001 */ addiu $s2, $s2, 1
/* BB2B4 80124BB4 92620000 */ lbu $v0, ($s3)
/* BB2B8 80124BB8 26730001 */ addiu $s3, $s3, 1
/* BB2BC 80124BBC 08049556 */ j .L80125558
/* BB2C0 80124BC0 A2820454 */ sb $v0, 0x454($s4)
/* BB2C4 80124BC4 A2560000 */ sb $s6, ($s2)
/* BB2C8 80124BC8 26520001 */ addiu $s2, $s2, 1
/* BB2CC 80124BCC 24020001 */ addiu $v0, $zero, 1
/* BB2D0 80124BD0 A2420000 */ sb $v0, ($s2)
/* BB2D4 80124BD4 26520001 */ addiu $s2, $s2, 1
/* BB2D8 80124BD8 92620000 */ lbu $v0, ($s3)
/* BB2DC 80124BDC 26730001 */ addiu $s3, $s3, 1
/* BB2E0 80124BE0 08049556 */ j .L80125558
/* BB2E4 80124BE4 A2820455 */ sb $v0, 0x455($s4)
/* BB2E8 80124BE8 A2560000 */ sb $s6, ($s2)
/* BB2EC 80124BEC 26520001 */ addiu $s2, $s2, 1
/* BB2F0 80124BF0 08049552 */ j .L80125548
/* BB2F4 80124BF4 24020004 */ addiu $v0, $zero, 4
/* BB2F8 80124BF8 8E8204FC */ lw $v0, 0x4fc($s4)
/* BB2FC 80124BFC 0804957F */ j .L801255FC
/* BB300 80124C00 34420010 */ ori $v0, $v0, 0x10
/* BB304 80124C04 8E8204FC */ lw $v0, 0x4fc($s4)
/* BB308 80124C08 2403FEFF */ addiu $v1, $zero, -0x101
/* BB30C 80124C0C 34420020 */ ori $v0, $v0, 0x20
/* BB310 80124C10 0804957F */ j .L801255FC
/* BB314 80124C14 00431024 */ and $v0, $v0, $v1
/* BB318 80124C18 8E8204FC */ lw $v0, 0x4fc($s4)
/* BB31C 80124C1C 2403FFDF */ addiu $v1, $zero, -0x21
/* BB320 80124C20 0804957F */ j .L801255FC
/* BB324 80124C24 00431024 */ and $v0, $v0, $v1
/* BB328 80124C28 A2560000 */ sb $s6, ($s2)
/* BB32C 80124C2C 26520001 */ addiu $s2, $s2, 1
/* BB330 80124C30 08049552 */ j .L80125548
/* BB334 80124C34 24020005 */ addiu $v0, $zero, 5
/* BB338 80124C38 96820500 */ lhu $v0, 0x500($s4)
/* BB33C 80124C3C 34420002 */ ori $v0, $v0, 2
/* BB340 80124C40 08049580 */ j .L80125600
/* BB344 80124C44 A6820500 */ sh $v0, 0x500($s4)
/* BB348 80124C48 96820500 */ lhu $v0, 0x500($s4)
/* BB34C 80124C4C 0804941E */ j .L80125078
/* BB350 80124C50 3042FFFD */ andi $v0, $v0, 0xfffd
/* BB354 80124C54 92820486 */ lbu $v0, 0x486($s4)
/* BB358 80124C58 96830462 */ lhu $v1, 0x462($s4)
/* BB35C 80124C5C 00021040 */ sll $v0, $v0, 1
/* BB360 80124C60 02821021 */ addu $v0, $s4, $v0
/* BB364 80124C64 A4430488 */ sh $v1, 0x488($v0)
/* BB368 80124C68 92820486 */ lbu $v0, 0x486($s4)
/* BB36C 80124C6C 24420001 */ addiu $v0, $v0, 1
/* BB370 80124C70 A2820486 */ sb $v0, 0x486($s4)
/* BB374 80124C74 240200FA */ addiu $v0, $zero, 0xfa
/* BB378 80124C78 A2420000 */ sb $v0, ($s2)
/* BB37C 80124C7C 26520001 */ addiu $s2, $s2, 1
/* BB380 80124C80 92700000 */ lbu $s0, ($s3)
/* BB384 80124C84 26730001 */ addiu $s3, $s3, 1
/* BB388 80124C88 92820454 */ lbu $v0, 0x454($s4)
/* BB38C 80124C8C 92830508 */ lbu $v1, 0x508($s4)
/* BB390 80124C90 00021080 */ sll $v0, $v0, 2
/* BB394 80124C94 00031840 */ sll $v1, $v1, 1
/* BB398 80124C98 3C01802F */ lui $at, %hi(D_802EB5A8)
/* BB39C 80124C9C 00220821 */ addu $at, $at, $v0
/* BB3A0 80124CA0 8C22B5A8 */ lw $v0, %lo(D_802EB5A8)($at)
/* BB3A4 80124CA4 3C01802F */ lui $at, %hi(D_802EB644)
/* BB3A8 80124CA8 00230821 */ addu $at, $at, $v1
/* BB3AC 80124CAC 8423B644 */ lh $v1, %lo(D_802EB644)($at)
/* BB3B0 80124CB0 90440003 */ lbu $a0, 3($v0)
/* BB3B4 80124CB4 24020006 */ addiu $v0, $zero, 6
/* BB3B8 80124CB8 A28204F8 */ sb $v0, 0x4f8($s4)
/* BB3BC 80124CBC 96820500 */ lhu $v0, 0x500($s4)
/* BB3C0 80124CC0 00832021 */ addu $a0, $a0, $v1
/* BB3C4 80124CC4 02040018 */ mult $s0, $a0
/* BB3C8 80124CC8 A2800468 */ sb $zero, 0x468($s4)
/* BB3CC 80124CCC 96830462 */ lhu $v1, 0x462($s4)
/* BB3D0 80124CD0 34420001 */ ori $v0, $v0, 1
/* BB3D4 80124CD4 A6820500 */ sh $v0, 0x500($s4)
/* BB3D8 80124CD8 00004012 */ mflo $t0
/* BB3DC 80124CDC 00681821 */ addu $v1, $v1, $t0
/* BB3E0 80124CE0 08049580 */ j .L80125600
/* BB3E4 80124CE4 A6830466 */ sh $v1, 0x466($s4)
/* BB3E8 80124CE8 A2560000 */ sb $s6, ($s2)
/* BB3EC 80124CEC 26520001 */ addiu $s2, $s2, 1
/* BB3F0 80124CF0 24020006 */ addiu $v0, $zero, 6
/* BB3F4 80124CF4 A2420000 */ sb $v0, ($s2)
/* BB3F8 80124CF8 26520001 */ addiu $s2, $s2, 1
/* BB3FC 80124CFC 92620000 */ lbu $v0, ($s3)
/* BB400 80124D00 3C013D80 */ lui $at, 0x3d80
/* BB404 80124D04 44810000 */ mtc1 $at, $f0
/* BB408 80124D08 26730001 */ addiu $s3, $s3, 1
/* BB40C 80124D0C A2420000 */ sb $v0, ($s2)
/* BB410 80124D10 92700000 */ lbu $s0, ($s3)
/* BB414 80124D14 26520001 */ addiu $s2, $s2, 1
/* BB418 80124D18 3202000F */ andi $v0, $s0, 0xf
/* BB41C 80124D1C 44821000 */ mtc1 $v0, $f2
/* BB420 80124D20 00000000 */ nop
/* BB424 80124D24 468010A0 */ cvt.s.w $f2, $f2
/* BB428 80124D28 46001082 */ mul.s $f2, $f2, $f0
/* BB42C 80124D2C 00000000 */ nop
/* BB430 80124D30 26730001 */ addiu $s3, $s3, 1
/* BB434 80124D34 320200FF */ andi $v0, $s0, 0xff
/* BB438 80124D38 00021102 */ srl $v0, $v0, 4
/* BB43C 80124D3C 44820000 */ mtc1 $v0, $f0
/* BB440 80124D40 00000000 */ nop
/* BB444 80124D44 46800020 */ cvt.s.w $f0, $f0
/* BB448 80124D48 46020000 */ add.s $f0, $f0, $f2
/* BB44C 80124D4C 0804935B */ j .L80124D6C
/* BB450 80124D50 A2500000 */ sb $s0, ($s2)
/* BB454 80124D54 A2560000 */ sb $s6, ($s2)
/* BB458 80124D58 26520001 */ addiu $s2, $s2, 1
/* BB45C 80124D5C 3C013F80 */ lui $at, 0x3f80
/* BB460 80124D60 44810000 */ mtc1 $at, $f0
/* BB464 80124D64 24020007 */ addiu $v0, $zero, 7
/* BB468 80124D68 A2420000 */ sb $v0, ($s2)
.L80124D6C:
/* BB46C 80124D6C 26520001 */ addiu $s2, $s2, 1
/* BB470 80124D70 08049580 */ j .L80125600
/* BB474 80124D74 E6800540 */ swc1 $f0, 0x540($s4)
/* BB478 80124D78 92620000 */ lbu $v0, ($s3)
/* BB47C 80124D7C 26730001 */ addiu $s3, $s3, 1
/* BB480 80124D80 A282045E */ sb $v0, 0x45e($s4)
/* BB484 80124D84 92620000 */ lbu $v0, ($s3)
/* BB488 80124D88 26730001 */ addiu $s3, $s3, 1
/* BB48C 80124D8C 08049580 */ j .L80125600
/* BB490 80124D90 A282045F */ sb $v0, 0x45f($s4)
/* BB494 80124D94 A2560000 */ sb $s6, ($s2)
/* BB498 80124D98 26520001 */ addiu $s2, $s2, 1
/* BB49C 80124D9C 24020008 */ addiu $v0, $zero, 8
/* BB4A0 80124DA0 A2420000 */ sb $v0, ($s2)
/* BB4A4 80124DA4 26520001 */ addiu $s2, $s2, 1
/* BB4A8 80124DA8 92620000 */ lbu $v0, ($s3)
/* BB4AC 80124DAC 08049552 */ j .L80125548
/* BB4B0 80124DB0 26730001 */ addiu $s3, $s3, 1
/* BB4B4 80124DB4 A2560000 */ sb $s6, ($s2)
/* BB4B8 80124DB8 26520001 */ addiu $s2, $s2, 1
/* BB4BC 80124DBC 08049552 */ j .L80125548
/* BB4C0 80124DC0 24020009 */ addiu $v0, $zero, 9
/* BB4C4 80124DC4 A2560000 */ sb $s6, ($s2)
/* BB4C8 80124DC8 26520001 */ addiu $s2, $s2, 1
/* BB4CC 80124DCC 08049552 */ j .L80125548
/* BB4D0 80124DD0 2402000A */ addiu $v0, $zero, 0xa
/* BB4D4 80124DD4 A2560000 */ sb $s6, ($s2)
/* BB4D8 80124DD8 26520001 */ addiu $s2, $s2, 1
/* BB4DC 80124DDC 08049552 */ j .L80125548
/* BB4E0 80124DE0 2402000B */ addiu $v0, $zero, 0xb
/* BB4E4 80124DE4 A2560000 */ sb $s6, ($s2)
/* BB4E8 80124DE8 26520001 */ addiu $s2, $s2, 1
/* BB4EC 80124DEC 08049552 */ j .L80125548
/* BB4F0 80124DF0 2402000C */ addiu $v0, $zero, 0xc
/* BB4F4 80124DF4 A2560000 */ sb $s6, ($s2)
/* BB4F8 80124DF8 26520001 */ addiu $s2, $s2, 1
/* BB4FC 80124DFC 2402000E */ addiu $v0, $zero, 0xe
/* BB500 80124E00 A2420000 */ sb $v0, ($s2)
/* BB504 80124E04 26520001 */ addiu $s2, $s2, 1
/* BB508 80124E08 92620000 */ lbu $v0, ($s3)
/* BB50C 80124E0C 26730001 */ addiu $s3, $s3, 1
/* BB510 80124E10 26B5FFFF */ addiu $s5, $s5, -1
/* BB514 80124E14 A2420000 */ sb $v0, ($s2)
/* BB518 80124E18 9282045E */ lbu $v0, 0x45e($s4)
/* BB51C 80124E1C 26520001 */ addiu $s2, $s2, 1
/* BB520 80124E20 080493DF */ j .L80124F7C
/* BB524 80124E24 A682000E */ sh $v0, 0xe($s4)
/* BB528 80124E28 A2560000 */ sb $s6, ($s2)
/* BB52C 80124E2C 26520001 */ addiu $s2, $s2, 1
/* BB530 80124E30 2402000F */ addiu $v0, $zero, 0xf
/* BB534 80124E34 A2420000 */ sb $v0, ($s2)
/* BB538 80124E38 26520001 */ addiu $s2, $s2, 1
/* BB53C 80124E3C 92620000 */ lbu $v0, ($s3)
/* BB540 80124E40 26730001 */ addiu $s3, $s3, 1
/* BB544 80124E44 26B5FFFF */ addiu $s5, $s5, -1
/* BB548 80124E48 A2420000 */ sb $v0, ($s2)
/* BB54C 80124E4C 26520001 */ addiu $s2, $s2, 1
/* BB550 80124E50 92620000 */ lbu $v0, ($s3)
/* BB554 80124E54 26730001 */ addiu $s3, $s3, 1
/* BB558 80124E58 A2420000 */ sb $v0, ($s2)
/* BB55C 80124E5C 26520001 */ addiu $s2, $s2, 1
/* BB560 80124E60 92620000 */ lbu $v0, ($s3)
/* BB564 80124E64 26730001 */ addiu $s3, $s3, 1
/* BB568 80124E68 A2420000 */ sb $v0, ($s2)
/* BB56C 80124E6C 9282045E */ lbu $v0, 0x45e($s4)
/* BB570 80124E70 26520001 */ addiu $s2, $s2, 1
/* BB574 80124E74 080493DF */ j .L80124F7C
/* BB578 80124E78 A682000E */ sh $v0, 0xe($s4)
/* BB57C 80124E7C A2560000 */ sb $s6, ($s2)
/* BB580 80124E80 26520001 */ addiu $s2, $s2, 1
/* BB584 80124E84 24020010 */ addiu $v0, $zero, 0x10
/* BB588 80124E88 A2420000 */ sb $v0, ($s2)
/* BB58C 80124E8C 26520001 */ addiu $s2, $s2, 1
/* BB590 80124E90 92700000 */ lbu $s0, ($s3)
/* BB594 80124E94 26730001 */ addiu $s3, $s3, 1
/* BB598 80124E98 92650000 */ lbu $a1, ($s3)
/* BB59C 80124E9C 26730001 */ addiu $s3, $s3, 1
/* BB5A0 80124EA0 3C068016 */ lui $a2, %hi(D_80159B50)
/* BB5A4 80124EA4 24C69B50 */ addiu $a2, $a2, %lo(D_80159B50)
/* BB5A8 80124EA8 3C11001D */ lui $s1, 0x1d
/* BB5AC 80124EAC 2631C310 */ addiu $s1, $s1, -0x3cf0
/* BB5B0 80124EB0 3C018015 */ lui $at, %hi(D_8015131C)
/* BB5B4 80124EB4 AC26131C */ sw $a2, %lo(D_8015131C)($at)
/* BB5B8 80124EB8 00108200 */ sll $s0, $s0, 8
/* BB5BC 80124EBC 00B08025 */ or $s0, $a1, $s0
/* BB5C0 80124EC0 00108400 */ sll $s0, $s0, 0x10
/* BB5C4 80124EC4 00108383 */ sra $s0, $s0, 0xe
/* BB5C8 80124EC8 3C028009 */ lui $v0, %hi(D_8008E3D8)
/* BB5CC 80124ECC 00501021 */ addu $v0, $v0, $s0
/* BB5D0 80124ED0 8C42E3D8 */ lw $v0, %lo(D_8008E3D8)($v0)
/* BB5D4 80124ED4 26250200 */ addiu $a1, $s1, 0x200
/* BB5D8 80124ED8 00512021 */ addu $a0, $v0, $s1
/* BB5DC 80124EDC 0C00A5CF */ jal dma_copy
/* BB5E0 80124EE0 00452821 */ addu $a1, $v0, $a1
/* BB5E4 80124EE4 3C058009 */ lui $a1, %hi(D_8008E94C)
/* BB5E8 80124EE8 00B02821 */ addu $a1, $a1, $s0
/* BB5EC 80124EEC 8CA5E94C */ lw $a1, %lo(D_8008E94C)($a1)
/* BB5F0 80124EF0 3C068016 */ lui $a2, %hi(D_8015C7E0)
/* BB5F4 80124EF4 24C6C7E0 */ addiu $a2, $a2, %lo(D_8015C7E0)
/* BB5F8 80124EF8 00B12021 */ addu $a0, $a1, $s1
/* BB5FC 80124EFC 26310020 */ addiu $s1, $s1, 0x20
/* BB600 80124F00 0C00A5CF */ jal dma_copy
/* BB604 80124F04 00B12821 */ addu $a1, $a1, $s1
/* BB608 80124F08 9282045E */ lbu $v0, 0x45e($s4)
/* BB60C 80124F0C 26B5FFFF */ addiu $s5, $s5, -1
/* BB610 80124F10 080493DF */ j .L80124F7C
/* BB614 80124F14 A682000E */ sh $v0, 0xe($s4)
/* BB618 80124F18 92620000 */ lbu $v0, ($s3)
/* BB61C 80124F1C 26730001 */ addiu $s3, $s3, 1
/* BB620 80124F20 26B5FFFF */ addiu $s5, $s5, -1
/* BB624 80124F24 A282052B */ sb $v0, 0x52b($s4)
/* BB628 80124F28 92700000 */ lbu $s0, ($s3)
/* BB62C 80124F2C 26730001 */ addiu $s3, $s3, 1
/* BB630 80124F30 92650000 */ lbu $a1, ($s3)
/* BB634 80124F34 26730001 */ addiu $s3, $s3, 1
/* BB638 80124F38 00101200 */ sll $v0, $s0, 8
/* BB63C 80124F3C 00A21025 */ or $v0, $a1, $v0
/* BB640 80124F40 A682052C */ sh $v0, 0x52c($s4)
/* BB644 80124F44 92620000 */ lbu $v0, ($s3)
/* BB648 80124F48 26730001 */ addiu $s3, $s3, 1
/* BB64C 80124F4C A682052E */ sh $v0, 0x52e($s4)
/* BB650 80124F50 92620000 */ lbu $v0, ($s3)
/* BB654 80124F54 26730001 */ addiu $s3, $s3, 1
/* BB658 80124F58 A2820530 */ sb $v0, 0x530($s4)
/* BB65C 80124F5C 92620000 */ lbu $v0, ($s3)
/* BB660 80124F60 26730001 */ addiu $s3, $s3, 1
/* BB664 80124F64 A2820531 */ sb $v0, 0x531($s4)
/* BB668 80124F68 92620000 */ lbu $v0, ($s3)
/* BB66C 80124F6C 26730001 */ addiu $s3, $s3, 1
/* BB670 80124F70 A2800533 */ sb $zero, 0x533($s4)
/* BB674 80124F74 A6800534 */ sh $zero, 0x534($s4)
/* BB678 80124F78 A2820532 */ sb $v0, 0x532($s4)
.L80124F7C:
/* BB67C 80124F7C 1EA00004 */ bgtz $s5, .L80124F90
/* BB680 80124F80 00000000 */ nop
/* BB684 80124F84 96820500 */ lhu $v0, 0x500($s4)
/* BB688 80124F88 34420001 */ ori $v0, $v0, 1
/* BB68C 80124F8C A6820500 */ sh $v0, 0x500($s4)
.L80124F90:
/* BB690 80124F90 96830500 */ lhu $v1, 0x500($s4)
/* BB694 80124F94 30620006 */ andi $v0, $v1, 6
.L80124F98:
/* BB698 80124F98 1040019D */ beqz $v0, .L80125610
/* BB69C 80124F9C 3062FFFE */ andi $v0, $v1, 0xfffe
/* BB6A0 80124FA0 08049580 */ j .L80125600
/* BB6A4 80124FA4 A6820500 */ sh $v0, 0x500($s4)
/* BB6A8 80124FA8 92700000 */ lbu $s0, ($s3)
/* BB6AC 80124FAC 12000005 */ beqz $s0, .L80124FC4
/* BB6B0 80124FB0 26730001 */ addiu $s3, $s3, 1
/* BB6B4 80124FB4 A2970533 */ sb $s7, 0x533($s4)
/* BB6B8 80124FB8 A2900532 */ sb $s0, 0x532($s4)
/* BB6BC 80124FBC 08049580 */ j .L80125600
/* BB6C0 80124FC0 A6800534 */ sh $zero, 0x534($s4)
.L80124FC4:
/* BB6C4 80124FC4 08049580 */ j .L80125600
/* BB6C8 80124FC8 A680052C */ sh $zero, 0x52c($s4)
/* BB6CC 80124FCC A2560000 */ sb $s6, ($s2)
/* BB6D0 80124FD0 26520001 */ addiu $s2, $s2, 1
/* BB6D4 80124FD4 24020011 */ addiu $v0, $zero, 0x11
/* BB6D8 80124FD8 A2420000 */ sb $v0, ($s2)
/* BB6DC 80124FDC 26520001 */ addiu $s2, $s2, 1
/* BB6E0 80124FE0 92620000 */ lbu $v0, ($s3)
/* BB6E4 80124FE4 26730001 */ addiu $s3, $s3, 1
/* BB6E8 80124FE8 A2420000 */ sb $v0, ($s2)
/* BB6EC 80124FEC 26520001 */ addiu $s2, $s2, 1
/* BB6F0 80124FF0 92620000 */ lbu $v0, ($s3)
/* BB6F4 80124FF4 26730001 */ addiu $s3, $s3, 1
/* BB6F8 80124FF8 A2420000 */ sb $v0, ($s2)
/* BB6FC 80124FFC 26520001 */ addiu $s2, $s2, 1
/* BB700 80125000 92620000 */ lbu $v0, ($s3)
/* BB704 80125004 26730001 */ addiu $s3, $s3, 1
/* BB708 80125008 A2420000 */ sb $v0, ($s2)
/* BB70C 8012500C 96820500 */ lhu $v0, 0x500($s4)
/* BB710 80125010 26520001 */ addiu $s2, $s2, 1
/* BB714 80125014 34420004 */ ori $v0, $v0, 4
/* BB718 80125018 08049580 */ j .L80125600
/* BB71C 8012501C A6820500 */ sh $v0, 0x500($s4)
/* BB720 80125020 A2560000 */ sb $s6, ($s2)
/* BB724 80125024 26520001 */ addiu $s2, $s2, 1
/* BB728 80125028 24020012 */ addiu $v0, $zero, 0x12
/* BB72C 8012502C A2420000 */ sb $v0, ($s2)
/* BB730 80125030 26520001 */ addiu $s2, $s2, 1
/* BB734 80125034 92620000 */ lbu $v0, ($s3)
/* BB738 80125038 08049552 */ j .L80125548
/* BB73C 8012503C 26730001 */ addiu $s3, $s3, 1
/* BB740 80125040 A2560000 */ sb $s6, ($s2)
/* BB744 80125044 26520001 */ addiu $s2, $s2, 1
/* BB748 80125048 24020013 */ addiu $v0, $zero, 0x13
/* BB74C 8012504C A2420000 */ sb $v0, ($s2)
/* BB750 80125050 26520001 */ addiu $s2, $s2, 1
/* BB754 80125054 92620000 */ lbu $v0, ($s3)
/* BB758 80125058 26730001 */ addiu $s3, $s3, 1
/* BB75C 8012505C 26B5FFFF */ addiu $s5, $s5, -1
/* BB760 80125060 A2420000 */ sb $v0, ($s2)
/* BB764 80125064 96820500 */ lhu $v0, 0x500($s4)
/* BB768 80125068 26520001 */ addiu $s2, $s2, 1
/* BB76C 8012506C 3042FFFB */ andi $v0, $v0, 0xfffb
/* BB770 80125070 1EA00163 */ bgtz $s5, .L80125600
/* BB774 80125074 A6820500 */ sh $v0, 0x500($s4)
.L80125078:
/* BB778 80125078 34420001 */ ori $v0, $v0, 1
/* BB77C 8012507C 08049580 */ j .L80125600
/* BB780 80125080 A6820500 */ sh $v0, 0x500($s4)
/* BB784 80125084 92700000 */ lbu $s0, ($s3)
/* BB788 80125088 26730001 */ addiu $s3, $s3, 1
/* BB78C 8012508C 92650000 */ lbu $a1, ($s3)
/* BB790 80125090 26730001 */ addiu $s3, $s3, 1
/* BB794 80125094 92640000 */ lbu $a0, ($s3)
/* BB798 80125098 26730001 */ addiu $s3, $s3, 1
/* BB79C 8012509C 92660000 */ lbu $a2, ($s3)
/* BB7A0 801250A0 26730001 */ addiu $s3, $s3, 1
/* BB7A4 801250A4 00101040 */ sll $v0, $s0, 1
/* BB7A8 801250A8 02821021 */ addu $v0, $s4, $v0
/* BB7AC 801250AC 00051A00 */ sll $v1, $a1, 8
/* BB7B0 801250B0 00831825 */ or $v1, $a0, $v1
/* BB7B4 801250B4 A44304D0 */ sh $v1, 0x4d0($v0)
/* BB7B8 801250B8 30C300FF */ andi $v1, $a2, 0xff
/* BB7BC 801250BC 08049580 */ j .L80125600
/* BB7C0 801250C0 A44304DC */ sh $v1, 0x4dc($v0)
/* BB7C4 801250C4 A2560000 */ sb $s6, ($s2)
/* BB7C8 801250C8 26520001 */ addiu $s2, $s2, 1
/* BB7CC 801250CC 08049552 */ j .L80125548
/* BB7D0 801250D0 24020014 */ addiu $v0, $zero, 0x14
/* BB7D4 801250D4 24040009 */ addiu $a0, $zero, 9
/* BB7D8 801250D8 0000282D */ daddu $a1, $zero, $zero
/* BB7DC 801250DC 00A0302D */ daddu $a2, $a1, $zero
/* BB7E0 801250E0 0C0526AE */ jal _play_sound
/* BB7E4 801250E4 00A0382D */ daddu $a3, $a1, $zero
/* BB7E8 801250E8 92640000 */ lbu $a0, ($s3)
/* BB7EC 801250EC 26730001 */ addiu $s3, $s3, 1
/* BB7F0 801250F0 96830500 */ lhu $v1, 0x500($s4)
/* BB7F4 801250F4 24020007 */ addiu $v0, $zero, 7
/* BB7F8 801250F8 A28004E9 */ sb $zero, 0x4e9($s4)
/* BB7FC 801250FC A28004E8 */ sb $zero, 0x4e8($s4)
/* BB800 80125100 A28004EE */ sb $zero, 0x4ee($s4)
/* BB804 80125104 A28204F8 */ sb $v0, 0x4f8($s4)
/* BB808 80125108 34630001 */ ori $v1, $v1, 1
/* BB80C 8012510C A28404CE */ sb $a0, 0x4ce($s4)
/* BB810 80125110 08049580 */ j .L80125600
/* BB814 80125114 A6830500 */ sh $v1, 0x500($s4)
/* BB818 80125118 92620000 */ lbu $v0, ($s3)
/* BB81C 8012511C 26730001 */ addiu $s3, $s3, 1
/* BB820 80125120 08049580 */ j .L80125600
/* BB824 80125124 A28204EA */ sb $v0, 0x4ea($s4)
/* BB828 80125128 A2560000 */ sb $s6, ($s2)
/* BB82C 8012512C 26520001 */ addiu $s2, $s2, 1
/* BB830 80125130 08049552 */ j .L80125548
/* BB834 80125134 24020015 */ addiu $v0, $zero, 0x15
/* BB838 80125138 A2560000 */ sb $s6, ($s2)
/* BB83C 8012513C 26520001 */ addiu $s2, $s2, 1
/* BB840 80125140 08049556 */ j .L80125558
/* BB844 80125144 24020017 */ addiu $v0, $zero, 0x17
/* BB848 80125148 3C040010 */ lui $a0, 0x10
/* BB84C 8012514C 34840040 */ ori $a0, $a0, 0x40
/* BB850 80125150 8E8204FC */ lw $v0, 0x4fc($s4)
/* BB854 80125154 96830500 */ lhu $v1, 0x500($s4)
/* BB858 80125158 00441025 */ or $v0, $v0, $a0
/* BB85C 8012515C 34630001 */ ori $v1, $v1, 1
/* BB860 80125160 AE8204FC */ sw $v0, 0x4fc($s4)
/* BB864 80125164 A6830500 */ sh $v1, 0x500($s4)
/* BB868 80125168 0040182D */ daddu $v1, $v0, $zero
/* BB86C 8012516C 2402FF7F */ addiu $v0, $zero, -0x81
/* BB870 80125170 00621824 */ and $v1, $v1, $v0
/* BB874 80125174 2402FEFF */ addiu $v0, $zero, -0x101
/* BB878 80125178 00621824 */ and $v1, $v1, $v0
/* BB87C 8012517C 08049580 */ j .L80125600
/* BB880 80125180 AE8304FC */ sw $v1, 0x4fc($s4)
/* BB884 80125184 A2560000 */ sb $s6, ($s2)
/* BB888 80125188 26520001 */ addiu $s2, $s2, 1
/* BB88C 8012518C 08049556 */ j .L80125558
/* BB890 80125190 24020018 */ addiu $v0, $zero, 0x18
/* BB894 80125194 A2560000 */ sb $s6, ($s2)
/* BB898 80125198 26520001 */ addiu $s2, $s2, 1
/* BB89C 8012519C 08049556 */ j .L80125558
/* BB8A0 801251A0 24020019 */ addiu $v0, $zero, 0x19
/* BB8A4 801251A4 A2560000 */ sb $s6, ($s2)
/* BB8A8 801251A8 26520001 */ addiu $s2, $s2, 1
/* BB8AC 801251AC 08049556 */ j .L80125558
/* BB8B0 801251B0 2402001A */ addiu $v0, $zero, 0x1a
/* BB8B4 801251B4 A2560000 */ sb $s6, ($s2)
/* BB8B8 801251B8 26520001 */ addiu $s2, $s2, 1
/* BB8BC 801251BC 08049556 */ j .L80125558
/* BB8C0 801251C0 2402001B */ addiu $v0, $zero, 0x1b
/* BB8C4 801251C4 A2560000 */ sb $s6, ($s2)
/* BB8C8 801251C8 26520001 */ addiu $s2, $s2, 1
/* BB8CC 801251CC 2402001C */ addiu $v0, $zero, 0x1c
/* BB8D0 801251D0 A2420000 */ sb $v0, ($s2)
/* BB8D4 801251D4 26520001 */ addiu $s2, $s2, 1
/* BB8D8 801251D8 92700000 */ lbu $s0, ($s3)
/* BB8DC 801251DC 320300FF */ andi $v1, $s0, 0xff
/* BB8E0 801251E0 2C62000F */ sltiu $v0, $v1, 0xf
/* BB8E4 801251E4 10400106 */ beqz $v0, .L80125600
/* BB8E8 801251E8 26730001 */ addiu $s3, $s3, 1
/* BB8EC 801251EC 00031080 */ sll $v0, $v1, 2
/* BB8F0 801251F0 3C018015 */ lui $at, %hi(D_801504F8)
/* BB8F4 801251F4 00220821 */ addu $at, $at, $v0
/* BB8F8 801251F8 8C2204F8 */ lw $v0, %lo(D_801504F8)($at)
/* BB8FC 801251FC 00400008 */ jr $v0
/* BB900 80125200 00000000 */ nop
/* BB904 80125204 A2500000 */ sb $s0, ($s2)
/* BB908 80125208 08049580 */ j .L80125600
/* BB90C 8012520C 26520001 */ addiu $s2, $s2, 1
/* BB910 80125210 08049553 */ j .L8012554C
/* BB914 80125214 A2500000 */ sb $s0, ($s2)
/* BB918 80125218 A2560000 */ sb $s6, ($s2)
/* BB91C 8012521C 26520001 */ addiu $s2, $s2, 1
/* BB920 80125220 08049552 */ j .L80125548
/* BB924 80125224 2402001D */ addiu $v0, $zero, 0x1d
.L80125228:
/* BB928 80125228 9282052A */ lbu $v0, 0x52a($s4)
/* BB92C 8012522C A6800528 */ sh $zero, 0x528($s4)
/* BB930 80125230 A2820455 */ sb $v0, 0x455($s4)
/* BB934 80125234 244200F1 */ addiu $v0, $v0, 0xf1
/* BB938 80125238 A2420000 */ sb $v0, ($s2)
/* BB93C 8012523C 0804950F */ j .L8012543C
/* BB940 80125240 26520001 */ addiu $s2, $s2, 1
/* BB944 80125244 92700000 */ lbu $s0, ($s3)
/* BB948 80125248 96820528 */ lhu $v0, 0x528($s4)
/* BB94C 8012524C 14400006 */ bnez $v0, .L80125268
/* BB950 80125250 2673FFFE */ addiu $s3, $s3, -2
/* BB954 80125254 92820455 */ lbu $v0, 0x455($s4)
/* BB958 80125258 A282052A */ sb $v0, 0x52a($s4)
/* BB95C 8012525C 240200F1 */ addiu $v0, $zero, 0xf1
/* BB960 80125260 A2420000 */ sb $v0, ($s2)
/* BB964 80125264 26520001 */ addiu $s2, $s2, 1
.L80125268:
/* BB968 80125268 00108140 */ sll $s0, $s0, 5
/* BB96C 8012526C 27A60010 */ addiu $a2, $sp, 0x10
.L80125270:
/* BB970 80125270 96820528 */ lhu $v0, 0x528($s4)
/* BB974 80125274 3C088015 */ lui $t0, %hi(D_80155C38)
/* BB978 80125278 25085C38 */ addiu $t0, $t0, %lo(D_80155C38)
/* BB97C 8012527C 24430001 */ addiu $v1, $v0, 1
/* BB980 80125280 3042FFFF */ andi $v0, $v0, 0xffff
/* BB984 80125284 00501021 */ addu $v0, $v0, $s0
/* BB988 80125288 00481021 */ addu $v0, $v0, $t0
/* BB98C 8012528C A6830528 */ sh $v1, 0x528($s4)
/* BB990 80125290 90450000 */ lbu $a1, ($v0)
/* BB994 80125294 30A300FF */ andi $v1, $a1, 0xff
/* BB998 80125298 2C6200F0 */ sltiu $v0, $v1, 0xf0
/* BB99C 8012529C 1440004C */ bnez $v0, .L801253D0
/* BB9A0 801252A0 24040001 */ addiu $a0, $zero, 1
/* BB9A4 801252A4 2463FF10 */ addiu $v1, $v1, -0xf0
/* BB9A8 801252A8 2C620010 */ sltiu $v0, $v1, 0x10
/* BB9AC 801252AC 10400049 */ beqz $v0, .L801253D4
/* BB9B0 801252B0 00031080 */ sll $v0, $v1, 2
/* BB9B4 801252B4 3C088015 */ lui $t0, %hi(D_80150538)
/* BB9B8 801252B8 25080538 */ addiu $t0, $t0, %lo(D_80150538)
/* BB9BC 801252BC 00481021 */ addu $v0, $v0, $t0
/* BB9C0 801252C0 8C420000 */ lw $v0, ($v0)
/* BB9C4 801252C4 00400008 */ jr $v0
/* BB9C8 801252C8 00000000 */ nop
/* BB9CC 801252CC 96820528 */ lhu $v0, 0x528($s4)
/* BB9D0 801252D0 3C088015 */ lui $t0, %hi(D_80155C38)
/* BB9D4 801252D4 25085C38 */ addiu $t0, $t0, %lo(D_80155C38)
/* BB9D8 801252D8 00501021 */ addu $v0, $v0, $s0
/* BB9DC 801252DC 00481021 */ addu $v0, $v0, $t0
/* BB9E0 801252E0 90420000 */ lbu $v0, ($v0)
/* BB9E4 801252E4 240800FD */ addiu $t0, $zero, 0xfd
/* BB9E8 801252E8 10480003 */ beq $v0, $t0, .L801252F8
/* BB9EC 801252EC 240200F0 */ addiu $v0, $zero, 0xf0
/* BB9F0 801252F0 080494F5 */ j .L801253D4
/* BB9F4 801252F4 A3A20010 */ sb $v0, 0x10($sp)
.L801252F8:
/* BB9F8 801252F8 080494F5 */ j .L801253D4
/* BB9FC 801252FC 0000202D */ daddu $a0, $zero, $zero
/* BBA00 80125300 24A200FE */ addiu $v0, $a1, 0xfe
/* BBA04 80125304 A3A20010 */ sb $v0, 0x10($sp)
/* BBA08 80125308 24A2010D */ addiu $v0, $a1, 0x10d
/* BBA0C 8012530C 080494F5 */ j .L801253D4
/* BBA10 80125310 A2820455 */ sb $v0, 0x455($s4)
/* BBA14 80125314 240200F5 */ addiu $v0, $zero, 0xf5
/* BBA18 80125318 080494F5 */ j .L801253D4
/* BBA1C 8012531C A3A20010 */ sb $v0, 0x10($sp)
/* BBA20 80125320 A3B60010 */ sb $s6, 0x10($sp)
/* BBA24 80125324 96820528 */ lhu $v0, 0x528($s4)
/* BBA28 80125328 3C088015 */ lui $t0, %hi(D_80155C38)
/* BBA2C 8012532C 25085C38 */ addiu $t0, $t0, %lo(D_80155C38)
/* BBA30 80125330 24430001 */ addiu $v1, $v0, 1
/* BBA34 80125334 3042FFFF */ andi $v0, $v0, 0xffff
/* BBA38 80125338 00501021 */ addu $v0, $v0, $s0
/* BBA3C 8012533C 00481021 */ addu $v0, $v0, $t0
/* BBA40 80125340 A6830528 */ sh $v1, 0x528($s4)
/* BBA44 80125344 90430000 */ lbu $v1, ($v0)
/* BBA48 80125348 24020024 */ addiu $v0, $zero, 0x24
/* BBA4C 8012534C 1062001A */ beq $v1, $v0, .L801253B8
/* BBA50 80125350 28620025 */ slti $v0, $v1, 0x25
/* BBA54 80125354 10400005 */ beqz $v0, .L8012536C
/* BBA58 80125358 24020005 */ addiu $v0, $zero, 5
/* BBA5C 8012535C 10620008 */ beq $v1, $v0, .L80125380
/* BBA60 80125360 0000182D */ daddu $v1, $zero, $zero
/* BBA64 80125364 080494F6 */ j .L801253D8
/* BBA68 80125368 00000000 */ nop
.L8012536C:
/* BBA6C 8012536C 24020025 */ addiu $v0, $zero, 0x25
/* BBA70 80125370 10620013 */ beq $v1, $v0, .L801253C0
/* BBA74 80125374 0000182D */ daddu $v1, $zero, $zero
/* BBA78 80125378 080494F6 */ j .L801253D8
/* BBA7C 8012537C 00000000 */ nop
.L80125380:
/* BBA80 80125380 24020004 */ addiu $v0, $zero, 4
/* BBA84 80125384 A3A20011 */ sb $v0, 0x11($sp)
/* BBA88 80125388 96820528 */ lhu $v0, 0x528($s4)
/* BBA8C 8012538C 3C088015 */ lui $t0, %hi(D_80155C38)
/* BBA90 80125390 25085C38 */ addiu $t0, $t0, %lo(D_80155C38)
/* BBA94 80125394 24430001 */ addiu $v1, $v0, 1
/* BBA98 80125398 3042FFFF */ andi $v0, $v0, 0xffff
/* BBA9C 8012539C 00501021 */ addu $v0, $v0, $s0
/* BBAA0 801253A0 00481021 */ addu $v0, $v0, $t0
/* BBAA4 801253A4 A6830528 */ sh $v1, 0x528($s4)
/* BBAA8 801253A8 90420000 */ lbu $v0, ($v0)
/* BBAAC 801253AC 24040003 */ addiu $a0, $zero, 3
/* BBAB0 801253B0 080494F5 */ j .L801253D4
/* BBAB4 801253B4 A3A20012 */ sb $v0, 0x12($sp)
.L801253B8:
/* BBAB8 801253B8 080494F1 */ j .L801253C4
/* BBABC 801253BC 2402001A */ addiu $v0, $zero, 0x1a
.L801253C0:
/* BBAC0 801253C0 2402001B */ addiu $v0, $zero, 0x1b
.L801253C4:
/* BBAC4 801253C4 A3A20011 */ sb $v0, 0x11($sp)
/* BBAC8 801253C8 080494F5 */ j .L801253D4
/* BBACC 801253CC 24040002 */ addiu $a0, $zero, 2
.L801253D0:
/* BBAD0 801253D0 A3A50010 */ sb $a1, 0x10($sp)
.L801253D4:
/* BBAD4 801253D4 0000182D */ daddu $v1, $zero, $zero
.L801253D8:
/* BBAD8 801253D8 10800009 */ beqz $a0, .L80125400
/* BBADC 801253DC 00000000 */ nop
.L801253E0:
/* BBAE0 801253E0 26B5FFFF */ addiu $s5, $s5, -1
/* BBAE4 801253E4 00C31021 */ addu $v0, $a2, $v1
/* BBAE8 801253E8 90420000 */ lbu $v0, ($v0)
/* BBAEC 801253EC 24630001 */ addiu $v1, $v1, 1
/* BBAF0 801253F0 A2420000 */ sb $v0, ($s2)
/* BBAF4 801253F4 0064102A */ slt $v0, $v1, $a0
/* BBAF8 801253F8 1440FFF9 */ bnez $v0, .L801253E0
/* BBAFC 801253FC 26520001 */ addiu $s2, $s2, 1
.L80125400:
/* BBB00 80125400 96820528 */ lhu $v0, 0x528($s4)
/* BBB04 80125404 3C088015 */ lui $t0, %hi(D_80155C38)
/* BBB08 80125408 25085C38 */ addiu $t0, $t0, %lo(D_80155C38)
/* BBB0C 8012540C 00501021 */ addu $v0, $v0, $s0
/* BBB10 80125410 00481021 */ addu $v0, $v0, $t0
/* BBB14 80125414 90420000 */ lbu $v0, ($v0)
/* BBB18 80125418 240800FD */ addiu $t0, $zero, 0xfd
/* BBB1C 8012541C 5048FF82 */ beql $v0, $t0, .L80125228
/* BBB20 80125420 26730003 */ addiu $s3, $s3, 3
/* BBB24 80125424 96820500 */ lhu $v0, 0x500($s4)
/* BBB28 80125428 30420006 */ andi $v0, $v0, 6
/* BBB2C 8012542C 1440FF90 */ bnez $v0, .L80125270
/* BBB30 80125430 00000000 */ nop
/* BBB34 80125434 1EA0FF8E */ bgtz $s5, .L80125270
/* BBB38 80125438 00000000 */ nop
.L8012543C:
/* BBB3C 8012543C 96840500 */ lhu $a0, 0x500($s4)
/* BBB40 80125440 30820006 */ andi $v0, $a0, 6
/* BBB44 80125444 54400066 */ bnel $v0, $zero, .L801255E0
/* BBB48 80125448 0280202D */ daddu $a0, $s4, $zero
/* BBB4C 8012544C 5EA00064 */ bgtzl $s5, .L801255E0
/* BBB50 80125450 0280202D */ daddu $a0, $s4, $zero
/* BBB54 80125454 9283045E */ lbu $v1, 0x45e($s4)
/* BBB58 80125458 34820001 */ ori $v0, $a0, 1
/* BBB5C 8012545C A6820500 */ sh $v0, 0x500($s4)
/* BBB60 80125460 A683000E */ sh $v1, 0xe($s4)
/* BBB64 80125464 08049578 */ j .L801255E0
/* BBB68 80125468 0280202D */ daddu $a0, $s4, $zero
/* BBB6C 8012546C 92700000 */ lbu $s0, ($s3)
/* BBB70 80125470 3C04802F */ lui $a0, %hi(D_802EB620)
/* BBB74 80125474 2484B620 */ addiu $a0, $a0, %lo(D_802EB620)
/* BBB78 80125478 320300FF */ andi $v1, $s0, 0xff
/* BBB7C 8012547C 00031040 */ sll $v0, $v1, 1
/* BBB80 80125480 00431021 */ addu $v0, $v0, $v1
/* BBB84 80125484 00021080 */ sll $v0, $v0, 2
/* BBB88 80125488 00441021 */ addu $v0, $v0, $a0
/* BBB8C 8012548C A2900518 */ sb $s0, 0x518($s4)
/* BBB90 80125490 8C430000 */ lw $v1, ($v0)
/* BBB94 80125494 AE830520 */ sw $v1, 0x520($s4)
/* BBB98 80125498 8C430004 */ lw $v1, 4($v0)
/* BBB9C 8012549C AE830524 */ sw $v1, 0x524($s4)
/* BBBA0 801254A0 9442000A */ lhu $v0, 0xa($v0)
/* BBBA4 801254A4 26730001 */ addiu $s3, $s3, 1
/* BBBA8 801254A8 08049580 */ j .L80125600
/* BBBAC 801254AC A682051C */ sh $v0, 0x51c($s4)
/* BBBB0 801254B0 92620000 */ lbu $v0, ($s3)
/* BBBB4 801254B4 26730001 */ addiu $s3, $s3, 1
/* BBBB8 801254B8 08049580 */ j .L80125600
/* BBBBC 801254BC A2820519 */ sb $v0, 0x519($s4)
/* BBBC0 801254C0 92700000 */ lbu $s0, ($s3)
/* BBBC4 801254C4 26730001 */ addiu $s3, $s3, 1
/* BBBC8 801254C8 92650000 */ lbu $a1, ($s3)
/* BBBCC 801254CC 26730001 */ addiu $s3, $s3, 1
/* BBBD0 801254D0 92640000 */ lbu $a0, ($s3)
/* BBBD4 801254D4 26730001 */ addiu $s3, $s3, 1
/* BBBD8 801254D8 92660000 */ lbu $a2, ($s3)
/* BBBDC 801254DC 26730001 */ addiu $s3, $s3, 1
/* BBBE0 801254E0 00101600 */ sll $v0, $s0, 0x18
/* BBBE4 801254E4 00051C00 */ sll $v1, $a1, 0x10
/* BBBE8 801254E8 00431021 */ addu $v0, $v0, $v1
/* BBBEC 801254EC 00041A00 */ sll $v1, $a0, 8
/* BBBF0 801254F0 00431021 */ addu $v0, $v0, $v1
/* BBBF4 801254F4 00C21025 */ or $v0, $a2, $v0
/* BBBF8 801254F8 AE820520 */ sw $v0, 0x520($s4)
/* BBBFC 801254FC 92700000 */ lbu $s0, ($s3)
/* BBC00 80125500 26730001 */ addiu $s3, $s3, 1
/* BBC04 80125504 92650000 */ lbu $a1, ($s3)
/* BBC08 80125508 26730001 */ addiu $s3, $s3, 1
/* BBC0C 8012550C 92640000 */ lbu $a0, ($s3)
/* BBC10 80125510 26730001 */ addiu $s3, $s3, 1
/* BBC14 80125514 92660000 */ lbu $a2, ($s3)
/* BBC18 80125518 26730001 */ addiu $s3, $s3, 1
/* BBC1C 8012551C 00101600 */ sll $v0, $s0, 0x18
/* BBC20 80125520 00051C00 */ sll $v1, $a1, 0x10
/* BBC24 80125524 00431021 */ addu $v0, $v0, $v1
/* BBC28 80125528 00041A00 */ sll $v1, $a0, 8
/* BBC2C 8012552C 00431021 */ addu $v0, $v0, $v1
/* BBC30 80125530 00C21025 */ or $v0, $a2, $v0
/* BBC34 80125534 08049580 */ j .L80125600
/* BBC38 80125538 AE820524 */ sw $v0, 0x524($s4)
/* BBC3C 8012553C A2560000 */ sb $s6, ($s2)
/* BBC40 80125540 26520001 */ addiu $s2, $s2, 1
/* BBC44 80125544 2402001E */ addiu $v0, $zero, 0x1e
.L80125548:
/* BBC48 80125548 A2420000 */ sb $v0, ($s2)
.L8012554C:
/* BBC4C 8012554C 26520001 */ addiu $s2, $s2, 1
/* BBC50 80125550 92620000 */ lbu $v0, ($s3)
/* BBC54 80125554 26730001 */ addiu $s3, $s3, 1
.L80125558:
/* BBC58 80125558 A2420000 */ sb $v0, ($s2)
/* BBC5C 8012555C 08049580 */ j .L80125600
/* BBC60 80125560 26520001 */ addiu $s2, $s2, 1
/* BBC64 80125564 92620000 */ lbu $v0, ($s3)
/* BBC68 80125568 10400005 */ beqz $v0, .L80125580
/* BBC6C 8012556C 26730001 */ addiu $s3, $s3, 1
/* BBC70 80125570 8E8204FC */ lw $v0, 0x4fc($s4)
/* BBC74 80125574 3C030004 */ lui $v1, 4
/* BBC78 80125578 0804957F */ j .L801255FC
/* BBC7C 8012557C 00431025 */ or $v0, $v0, $v1
.L80125580:
/* BBC80 80125580 3C03FFFB */ lui $v1, 0xfffb
/* BBC84 80125584 8E8204FC */ lw $v0, 0x4fc($s4)
/* BBC88 80125588 3463FFFF */ ori $v1, $v1, 0xffff
/* BBC8C 8012558C 0804957F */ j .L801255FC
/* BBC90 80125590 00431024 */ and $v0, $v0, $v1
/* BBC94 80125594 8E8204FC */ lw $v0, 0x4fc($s4)
/* BBC98 80125598 3C030008 */ lui $v1, 8
/* BBC9C 8012559C 0804957F */ j .L801255FC
/* BBCA0 801255A0 00431025 */ or $v0, $v0, $v1
.L801255A4:
/* BBCA4 801255A4 A2450000 */ sb $a1, ($s2)
/* BBCA8 801255A8 26520001 */ addiu $s2, $s2, 1
/* BBCAC 801255AC 92820455 */ lbu $v0, 0x455($s4)
/* BBCB0 801255B0 14400009 */ bnez $v0, .L801255D8
/* BBCB4 801255B4 26B5FFFF */ addiu $s5, $s5, -1
/* BBCB8 801255B8 30A300FF */ andi $v1, $a1, 0xff
/* BBCBC 801255BC 240200C3 */ addiu $v0, $zero, 0xc3
/* BBCC0 801255C0 14620006 */ bne $v1, $v0, .L801255DC
/* BBCC4 801255C4 0280202D */ daddu $a0, $s4, $zero
/* BBCC8 801255C8 8E8204FC */ lw $v0, 0x4fc($s4)
/* BBCCC 801255CC 2403FF7F */ addiu $v1, $zero, -0x81
/* BBCD0 801255D0 0804957F */ j .L801255FC
/* BBCD4 801255D4 00431024 */ and $v0, $v0, $v1
.L801255D8:
/* BBCD8 801255D8 0280202D */ daddu $a0, $s4, $zero
.L801255DC:
/* BBCDC 801255DC 30A500FF */ andi $a1, $a1, 0xff
.L801255E0:
/* BBCE0 801255E0 0C04910D */ jal func_80124434
/* BBCE4 801255E4 00000000 */ nop
/* BBCE8 801255E8 8E8304FC */ lw $v1, 0x4fc($s4)
/* BBCEC 801255EC 3C020080 */ lui $v0, 0x80
/* BBCF0 801255F0 00621024 */ and $v0, $v1, $v0
/* BBCF4 801255F4 10400002 */ beqz $v0, .L80125600
/* BBCF8 801255F8 34620080 */ ori $v0, $v1, 0x80
.L801255FC:
/* BBCFC 801255FC AE8204FC */ sw $v0, 0x4fc($s4)
.L80125600:
/* BBD00 80125600 96820500 */ lhu $v0, 0x500($s4)
/* BBD04 80125604 30420006 */ andi $v0, $v0, 6
/* BBD08 80125608 14400008 */ bnez $v0, .L8012562C
/* BBD0C 8012560C 00000000 */ nop
.L80125610:
/* BBD10 80125610 1EA00006 */ bgtz $s5, .L8012562C
/* BBD14 80125614 00000000 */ nop
/* BBD18 80125618 96820500 */ lhu $v0, 0x500($s4)
/* BBD1C 8012561C 9283045E */ lbu $v1, 0x45e($s4)
/* BBD20 80125620 34420001 */ ori $v0, $v0, 1
/* BBD24 80125624 A6820500 */ sh $v0, 0x500($s4)
/* BBD28 80125628 A683000E */ sh $v1, 0xe($s4)
.L8012562C:
/* BBD2C 8012562C 96820500 */ lhu $v0, 0x500($s4)
/* BBD30 80125630 30420001 */ andi $v0, $v0, 1
/* BBD34 80125634 1040FBE6 */ beqz $v0, .L801245D0
/* BBD38 80125638 00000000 */ nop
/* BBD3C 8012563C 13C00004 */ beqz $fp, .L80125650
/* BBD40 80125640 240800FD */ addiu $t0, $zero, 0xfd
/* BBD44 80125644 9262FFFF */ lbu $v0, -1($s3)
/* BBD48 80125648 1448FBE1 */ bne $v0, $t0, .L801245D0
/* BBD4C 8012564C 24152710 */ addiu $s5, $zero, 0x2710
.L80125650:
/* BBD50 80125650 2642FFF0 */ addiu $v0, $s2, -0x10
/* BBD54 80125654 8E830000 */ lw $v1, ($s4)
/* BBD58 80125658 00541023 */ subu $v0, $v0, $s4
/* BBD5C 8012565C A6820004 */ sh $v0, 4($s4)
/* BBD60 80125660 240200FB */ addiu $v0, $zero, 0xfb
/* BBD64 80125664 A6800500 */ sh $zero, 0x500($s4)
/* BBD68 80125668 02631823 */ subu $v1, $s3, $v1
/* BBD6C 8012566C A683000C */ sh $v1, 0xc($s4)
/* BBD70 80125670 A2420000 */ sb $v0, ($s2)
/* BBD74 80125674 8FBF0044 */ lw $ra, 0x44($sp)
/* BBD78 80125678 8FBE0040 */ lw $fp, 0x40($sp)
/* BBD7C 8012567C 8FB7003C */ lw $s7, 0x3c($sp)
/* BBD80 80125680 8FB60038 */ lw $s6, 0x38($sp)
/* BBD84 80125684 8FB50034 */ lw $s5, 0x34($sp)
/* BBD88 80125688 8FB40030 */ lw $s4, 0x30($sp)
/* BBD8C 8012568C 8FB3002C */ lw $s3, 0x2c($sp)
/* BBD90 80125690 8FB20028 */ lw $s2, 0x28($sp)
/* BBD94 80125694 8FB10024 */ lw $s1, 0x24($sp)
/* BBD98 80125698 8FB00020 */ lw $s0, 0x20($sp)
/* BBD9C 8012569C 03E00008 */ jr $ra
/* BBDA0 801256A0 27BD0048 */ addiu $sp, $sp, 0x48