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