From b4a8815af3f8bd0e1f68d2323a7e40fd923ddf2f Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Sat, 31 Aug 2013 15:42:23 +0000 Subject: [PATCH] Initial revision Committed on the Free edition of March Hare Software CVSNT Server. Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/ git-svn-id: http://moon:8086/svn/vhdl/trunk@1031 cc03376c-175c-47c8-b038-4cd826a8556b --- projects/mips_sys/src/bootloader.dis | 1466 ++++++++++++++++++++++++++ 1 file changed, 1466 insertions(+) create mode 100644 projects/mips_sys/src/bootloader.dis diff --git a/projects/mips_sys/src/bootloader.dis b/projects/mips_sys/src/bootloader.dis new file mode 100644 index 0000000..04b259d --- /dev/null +++ b/projects/mips_sys/src/bootloader.dis @@ -0,0 +1,1466 @@ + +bootloader.elf: file format elf32-bigmips + + +Disassembly of section .init: + +bfc00000 <__entry>: +bfc00000: 3c1d8000 lui sp,0x8000 +bfc00004: 27bdeff0 addiu sp,sp,-4112 +bfc00008: 3c1a1040 lui k0,0x1040 +bfc0000c: 375a000c ori k0,k0,0xc +bfc00010: 409a6000 mtc0 k0,c0_sr +bfc00014: 241a0000 li k0,0 +bfc00018: 409a6800 mtc0 k0,c0_cause +bfc0001c: 401a7800 mfc0 k0,c0_prid +bfc00020: 00000000 nop +bfc00024: 409af800 mtc0 k0,$31 +bfc00028: 42000020 c0 0x20 +bfc0002c: 42000022 c0 0x22 +bfc00030: 3c1abfc0 lui k0,0xbfc0 +bfc00034: 275a005c addiu k0,k0,92 +bfc00038: 0340f809 jalr k0 +bfc0003c: 00000000 nop +bfc00040: 3c1abfc0 lui k0,0xbfc0 +bfc00044: 275a114c addiu k0,k0,4428 +bfc00048: 0340f809 jalr k0 +bfc0004c: 00000000 nop + +bfc00050 <_terminate>: +bfc00050: 00000000 nop +bfc00054: 0bf00014 j bfc00050 <_terminate> +bfc00058: 00000000 nop + +bfc0005c <_init>: +bfc0005c: 3c1aa001 275a0008 241b000d af5b0000 <...'Z..$....[.. +bfc0006c: 03e00008 .... + +Disassembly of section .ktext: + +bfc00180 <_exc_handler>: +bfc00180: 401a6800 mfc0 k0,c0_cause +bfc00184: 3c1bc000 lui k1,0xc000 +bfc00188: 001ad082 srl k0,k0,0x2 +bfc0018c: 335a000f andi k0,k0,0xf +bfc00190: 035bd025 or k0,k0,k1 +bfc00194: 3c1ba000 lui k1,0xa000 +bfc00198: 277b0000 addiu k1,k1,0 +bfc0019c: af7a0000 sw k0,0(k1) +bfc001a0: 401a6800 mfc0 k0,c0_cause +bfc001a4: 00000000 nop +bfc001a8: 001ad202 srl k0,k0,0x8 +bfc001ac: 335a00ff andi k0,k0,0xff +bfc001b0: 1740fffb bnez k0,bfc001a0 <_exc_handler+0x20> +bfc001b4: 00000000 nop +bfc001b8: 401a7000 mfc0 k0,c0_epc +bfc001bc: 00000000 nop +bfc001c0: 03400008 jr k0 +bfc001c4: 42000010 rfe + +Disassembly of section .text: + +bfc001c8 : +bfc001c8: 40026000 mfc0 v0,c0_sr +bfc001cc: 03e00008 jr ra +bfc001d0: 00000000 nop + +bfc001d4 : +bfc001d4: 40846000 mtc0 a0,c0_sr +bfc001d8: 03e00008 jr ra +bfc001dc: 00000000 nop + +bfc001e0 : +bfc001e0: 40026800 mfc0 v0,c0_cause +bfc001e4: 03e00008 jr ra +bfc001e8: 00000000 nop + +bfc001ec : +bfc001ec: 40846800 mtc0 a0,c0_cause +bfc001f0: 03e00008 jr ra +bfc001f4: 00000000 nop + +bfc001f8 : +bfc001f8: 40027800 mfc0 v0,c0_prid +bfc001fc: 03e00008 jr ra +bfc00200: 00000000 nop + +bfc00204 : +bfc00204: 3c02a001 lui v0,0xa001 +bfc00208: 34430004 ori v1,v0,0x4 +bfc0020c: 8c620000 lw v0,0(v1) +bfc00210: 00000000 nop +bfc00214: 30420010 andi v0,v0,0x10 +bfc00218: 1040fffc beqz v0,bfc0020c +bfc0021c: 3c02a001 lui v0,0xa001 +bfc00220: 8c420000 lw v0,0(v0) +bfc00224: 00000000 nop +bfc00228: 00021600 sll v0,v0,0x18 +bfc0022c: 03e00008 jr ra +bfc00230: 00021603 sra v0,v0,0x18 + +bfc00234 : +bfc00234: 00042600 sll a0,a0,0x18 +bfc00238: 3c02a001 lui v0,0xa001 +bfc0023c: 00042603 sra a0,a0,0x18 +bfc00240: 34430004 ori v1,v0,0x4 +bfc00244: 8c620000 lw v0,0(v1) +bfc00248: 00000000 nop +bfc0024c: 30420002 andi v0,v0,0x2 +bfc00250: 1440fffc bnez v0,bfc00244 +bfc00254: 3c02a001 lui v0,0xa001 +bfc00258: ac440000 sw a0,0(v0) +bfc0025c: 03e00008 jr ra +bfc00260: 00000000 nop + +bfc00264 <_putchar>: +bfc00264: 00042600 sll a0,a0,0x18 +bfc00268: 00042603 sra a0,a0,0x18 +bfc0026c: 2402000a li v0,10 +bfc00270: 1482000a bne a0,v0,bfc0029c <_putchar+0x38> +bfc00274: 3c02a001 lui v0,0xa001 +bfc00278: 34430004 ori v1,v0,0x4 +bfc0027c: 8c620000 lw v0,0(v1) +bfc00280: 00000000 nop +bfc00284: 30420002 andi v0,v0,0x2 +bfc00288: 1440fffc bnez v0,bfc0027c <_putchar+0x18> +bfc0028c: 3c02a001 lui v0,0xa001 +bfc00290: 2403000d li v1,13 +bfc00294: ac430000 sw v1,0(v0) +bfc00298: 3c02a001 lui v0,0xa001 +bfc0029c: 34430004 ori v1,v0,0x4 +bfc002a0: 8c620000 lw v0,0(v1) +bfc002a4: 00000000 nop +bfc002a8: 30420002 andi v0,v0,0x2 +bfc002ac: 1440fffc bnez v0,bfc002a0 <_putchar+0x3c> +bfc002b0: 3c02a001 lui v0,0xa001 +bfc002b4: ac440000 sw a0,0(v0) +bfc002b8: 03e00008 jr ra +bfc002bc: 00000000 nop + +bfc002c0 : +bfc002c0: 3c02a001 lui v0,0xa001 +bfc002c4: 34470004 ori a3,v0,0x4 +bfc002c8: 00802821 move a1,a0 +bfc002cc: 2409000a li t1,10 +bfc002d0: 3c06a001 lui a2,0xa001 +bfc002d4: 0bf000c6 j bfc00318 +bfc002d8: 2408000d li t0,13 +bfc002dc: 14690007 bne v1,t1,bfc002fc +bfc002e0: 00000000 nop +bfc002e4: 8ce20000 lw v0,0(a3) +bfc002e8: 00000000 nop +bfc002ec: 30420002 andi v0,v0,0x2 +bfc002f0: 1440fffc bnez v0,bfc002e4 +bfc002f4: 00000000 nop +bfc002f8: acc80000 sw t0,0(a2) +bfc002fc: 8ce20000 lw v0,0(a3) +bfc00300: 00000000 nop +bfc00304: 30420002 andi v0,v0,0x2 +bfc00308: 1440fffc bnez v0,bfc002fc +bfc0030c: 00000000 nop +bfc00310: acc30000 sw v1,0(a2) +bfc00314: 24a50001 addiu a1,a1,1 +bfc00318: 80a30000 lb v1,0(a1) +bfc0031c: 00000000 nop +bfc00320: 1460ffee bnez v1,bfc002dc +bfc00324: 00a41023 subu v0,a1,a0 +bfc00328: 03e00008 jr ra +bfc0032c: 00000000 nop + +bfc00330 : +bfc00330: 00042600 sll a0,a0,0x18 +bfc00334: 3c02a001 lui v0,0xa001 +bfc00338: 00042603 sra a0,a0,0x18 +bfc0033c: 344a0004 ori t2,v0,0x4 +bfc00340: 00003821 move a3,zero +bfc00344: 3c09a001 lui t1,0xa001 +bfc00348: 24080002 li t0,2 +bfc0034c: 308200ff andi v0,a0,0xff +bfc00350: 00022902 srl a1,v0,0x4 +bfc00354: 00041100 sll v0,a0,0x4 +bfc00358: 00022600 sll a0,v0,0x18 +bfc0035c: 2ca3000a sltiu v1,a1,10 +bfc00360: 00042603 sra a0,a0,0x18 +bfc00364: 14600002 bnez v1,bfc00370 +bfc00368: 24a60030 addiu a2,a1,48 +bfc0036c: 24a60037 addiu a2,a1,55 +bfc00370: 8d420000 lw v0,0(t2) +bfc00374: 00000000 nop +bfc00378: 30420002 andi v0,v0,0x2 +bfc0037c: 1440fffc bnez v0,bfc00370 +bfc00380: 00061600 sll v0,a2,0x18 +bfc00384: 00021603 sra v0,v0,0x18 +bfc00388: 24e70001 addiu a3,a3,1 +bfc0038c: ad220000 sw v0,0(t1) +bfc00390: 14e8ffef bne a3,t0,bfc00350 +bfc00394: 308200ff andi v0,a0,0xff +bfc00398: 03e00008 jr ra +bfc0039c: 00000000 nop + +bfc003a0 : +bfc003a0: 27bdffe0 addiu sp,sp,-32 +bfc003a4: afb20018 sw s2,24(sp) +bfc003a8: afb10014 sw s1,20(sp) +bfc003ac: afb00010 sw s0,16(sp) +bfc003b0: afbf001c sw ra,28(sp) +bfc003b4: 00808821 move s1,a0 +bfc003b8: 00008021 move s0,zero +bfc003bc: 24120004 li s2,4 +bfc003c0: 00112603 sra a0,s1,0x18 +bfc003c4: 0ff000cc jal bfc00330 +bfc003c8: 26100001 addiu s0,s0,1 +bfc003cc: 1612fffc bne s0,s2,bfc003c0 +bfc003d0: 00118a00 sll s1,s1,0x8 +bfc003d4: 8fbf001c lw ra,28(sp) +bfc003d8: 8fb20018 lw s2,24(sp) +bfc003dc: 8fb10014 lw s1,20(sp) +bfc003e0: 8fb00010 lw s0,16(sp) +bfc003e4: 03e00008 jr ra +bfc003e8: 27bd0020 addiu sp,sp,32 + +bfc003ec : +bfc003ec: 27bdffc8 addiu sp,sp,-56 +bfc003f0: afb60028 sw s6,40(sp) +bfc003f4: afbf0034 sw ra,52(sp) +bfc003f8: afbe0030 sw s8,48(sp) +bfc003fc: afb7002c sw s7,44(sp) +bfc00400: afb50024 sw s5,36(sp) +bfc00404: afb40020 sw s4,32(sp) +bfc00408: afb3001c sw s3,28(sp) +bfc0040c: afb20018 sw s2,24(sp) +bfc00410: afb10014 sw s1,20(sp) +bfc00414: afb00010 sw s0,16(sp) +bfc00418: 00801021 move v0,a0 +bfc0041c: 10a00002 beqz a1,bfc00428 +bfc00420: 00c0b021 move s6,a2 +bfc00424: 00002021 move a0,zero +bfc00428: 00409821 move s3,v0 +bfc0042c: 3c02a001 lui v0,0xa001 +bfc00430: 00e09021 move s2,a3 +bfc00434: 0080a821 move s5,a0 +bfc00438: 345e0004 ori s8,v0,0x4 +bfc0043c: 00e0a021 move s4,a3 +bfc00440: 3c17a001 lui s7,0xa001 +bfc00444: 0ff000e8 jal bfc003a0 +bfc00448: 02a02021 move a0,s5 +bfc0044c: 3c04bfc0 lui a0,0xbfc0 +bfc00450: 0ff000b0 jal bfc002c0 +bfc00454: 24841698 addiu a0,a0,5784 +bfc00458: 02608821 move s1,s3 +bfc0045c: 0bf00128 j bfc004a0 +bfc00460: 00008021 move s0,zero +bfc00464: 12400009 beqz s2,bfc0048c +bfc00468: 00000000 nop +bfc0046c: 82240000 lb a0,0(s1) +bfc00470: 0ff000cc jal bfc00330 +bfc00474: 2652ffff addiu s2,s2,-1 +bfc00478: 3c04bfc0 lui a0,0xbfc0 +bfc0047c: 0ff000b0 jal bfc002c0 +bfc00480: 24841770 addiu a0,a0,6000 +bfc00484: 0bf00128 j bfc004a0 +bfc00488: 26310001 addiu s1,s1,1 +bfc0048c: 3c04bfc0 lui a0,0xbfc0 +bfc00490: 0ff000b0 jal bfc002c0 +bfc00494: 2484169c addiu a0,a0,5788 +bfc00498: 0bf0012c j bfc004b0 +bfc0049c: 3c04bfc0 lui a0,0xbfc0 +bfc004a0: 0216102a slt v0,s0,s6 +bfc004a4: 1440ffef bnez v0,bfc00464 +bfc004a8: 26100001 addiu s0,s0,1 +bfc004ac: 3c04bfc0 lui a0,0xbfc0 +bfc004b0: 0ff000b0 jal bfc002c0 +bfc004b4: 2484169c addiu a0,a0,5788 +bfc004b8: 02602821 move a1,s3 +bfc004bc: 0bf00155 j bfc00554 +bfc004c0: 00002021 move a0,zero +bfc004c4: 1280001e beqz s4,bfc00540 +bfc004c8: 00000000 nop +bfc004cc: 90a30000 lbu v1,0(a1) +bfc004d0: 00000000 nop +bfc004d4: 2462ffe0 addiu v0,v1,-32 +bfc004d8: 304200ff andi v0,v0,0xff +bfc004dc: 2c420060 sltiu v0,v0,96 +bfc004e0: 14400003 bnez v0,bfc004f0 +bfc004e4: 00031e00 sll v1,v1,0x18 +bfc004e8: 2403002e li v1,46 +bfc004ec: 00031e00 sll v1,v1,0x18 +bfc004f0: 00031e03 sra v1,v1,0x18 +bfc004f4: 2402000a li v0,10 +bfc004f8: 14620007 bne v1,v0,bfc00518 +bfc004fc: 00000000 nop +bfc00500: 8fc20000 lw v0,0(s8) +bfc00504: 00000000 nop +bfc00508: 30420002 andi v0,v0,0x2 +bfc0050c: 1440fffc bnez v0,bfc00500 +bfc00510: 2402000d li v0,13 +bfc00514: aee20000 sw v0,0(s7) +bfc00518: 8fc20000 lw v0,0(s8) +bfc0051c: 00000000 nop +bfc00520: 30420002 andi v0,v0,0x2 +bfc00524: 1440fffc bnez v0,bfc00518 +bfc00528: 00000000 nop +bfc0052c: aee30000 sw v1,0(s7) +bfc00530: 2694ffff addiu s4,s4,-1 +bfc00534: 24840001 addiu a0,a0,1 +bfc00538: 0bf00155 j bfc00554 +bfc0053c: 24a50001 addiu a1,a1,1 +bfc00540: 3c04bfc0 lui a0,0xbfc0 +bfc00544: 0ff000b0 jal bfc002c0 +bfc00548: 24841770 addiu a0,a0,6000 +bfc0054c: 0bf00159 j bfc00564 +bfc00550: 3c04bfc0 lui a0,0xbfc0 +bfc00554: 0096102a slt v0,a0,s6 +bfc00558: 1440ffda bnez v0,bfc004c4 +bfc0055c: 00000000 nop +bfc00560: 3c04bfc0 lui a0,0xbfc0 +bfc00564: 0ff000b0 jal bfc002c0 +bfc00568: 248416c4 addiu a0,a0,5828 +bfc0056c: 02b6a821 addu s5,s5,s6 +bfc00570: 1640ffb4 bnez s2,bfc00444 +bfc00574: 02769821 addu s3,s3,s6 +bfc00578: 8fbf0034 lw ra,52(sp) +bfc0057c: 8fbe0030 lw s8,48(sp) +bfc00580: 8fb7002c lw s7,44(sp) +bfc00584: 8fb60028 lw s6,40(sp) +bfc00588: 8fb50024 lw s5,36(sp) +bfc0058c: 8fb40020 lw s4,32(sp) +bfc00590: 8fb3001c lw s3,28(sp) +bfc00594: 8fb20018 lw s2,24(sp) +bfc00598: 8fb10014 lw s1,20(sp) +bfc0059c: 8fb00010 lw s0,16(sp) +bfc005a0: 03e00008 jr ra +bfc005a4: 27bd0038 addiu sp,sp,56 + +bfc005a8 : +bfc005a8: 00c03821 move a3,a2 +bfc005ac: 00a03021 move a2,a1 +bfc005b0: 0bf000fb j bfc003ec +bfc005b4: 24050001 li a1,1 + +bfc005b8 : +bfc005b8: 8c840000 lw a0,0(a0) +bfc005bc: 3c020070 lui v0,0x70 +bfc005c0: 34420070 ori v0,v0,0x70 +bfc005c4: 3c0300ff lui v1,0xff +bfc005c8: ac820000 sw v0,0(a0) +bfc005cc: 346300ff ori v1,v1,0xff +bfc005d0: 8c820000 lw v0,0(a0) +bfc005d4: ac830000 sw v1,0(a0) +bfc005d8: 03e00008 jr ra +bfc005dc: 00000000 nop + +bfc005e0 : +bfc005e0: 27bdfff8 addiu sp,sp,-8 +bfc005e4: ac850000 sw a1,0(a0) +bfc005e8: 24820008 addiu v0,a0,8 +bfc005ec: 0bf0017f j bfc005fc +bfc005f0: 24830020 addiu v1,a0,32 +bfc005f4: a0400000 sb zero,0(v0) +bfc005f8: 24420001 addiu v0,v0,1 +bfc005fc: 1443fffd bne v0,v1,bfc005f4 +bfc00600: 00000000 nop +bfc00604: 24020001 li v0,1 +bfc00608: ac820004 sw v0,4(a0) +bfc0060c: 03e00008 jr ra +bfc00610: 27bd0008 addiu sp,sp,8 + +bfc00614 : +bfc00614: 8c870000 lw a3,0(a0) +bfc00618: 3c020098 lui v0,0x98 +bfc0061c: 34420098 ori v0,v0,0x98 +bfc00620: ace20000 sw v0,0(a3) +bfc00624: 3c0200ff lui v0,0xff +bfc00628: 344200ff ori v0,v0,0xff +bfc0062c: ace20000 sw v0,0(a3) +bfc00630: 3c020090 lui v0,0x90 +bfc00634: 34420090 ori v0,v0,0x90 +bfc00638: ace20000 sw v0,0(a3) +bfc0063c: 00804021 move t0,a0 +bfc00640: 94e4009c lhu a0,156(a3) +bfc00644: 24030002 li v1,2 +bfc00648: 24020020 li v0,32 +bfc0064c: ad030008 sw v1,8(t0) +bfc00650: ad03001c sw v1,28(t0) +bfc00654: ad020018 sw v0,24(t0) +bfc00658: 3084ffff andi a0,a0,0xffff +bfc0065c: 0bf0019d j bfc00674 +bfc00660: 00001821 move v1,zero +bfc00664: 8d020008 lw v0,8(t0) +bfc00668: 00000000 nop +bfc0066c: 00021040 sll v0,v0,0x1 +bfc00670: ad020008 sw v0,8(t0) +bfc00674: 0064102b sltu v0,v1,a0 +bfc00678: 1440fffa bnez v0,bfc00664 +bfc0067c: 24630001 addiu v1,v1,1 +bfc00680: 94e200ac lhu v0,172(a3) +bfc00684: 94e300a8 lhu v1,168(a3) +bfc00688: 3042ffff andi v0,v0,0xffff +bfc0068c: 8d04001c lw a0,28(t0) +bfc00690: 3063ffff andi v1,v1,0xffff +bfc00694: 00021200 sll v0,v0,0x8 +bfc00698: 00432825 or a1,v0,v1 +bfc0069c: ad040014 sw a0,20(t0) +bfc006a0: 0bf001ae j bfc006b8 +bfc006a4: 00001821 move v1,zero +bfc006a8: 8d020014 lw v0,20(t0) +bfc006ac: 00000000 nop +bfc006b0: 00021040 sll v0,v0,0x1 +bfc006b4: ad020014 sw v0,20(t0) +bfc006b8: 0065102b sltu v0,v1,a1 +bfc006bc: 1440fffa bnez v0,bfc006a8 +bfc006c0: 24630001 addiu v1,v1,1 +bfc006c4: 94e300b8 lhu v1,184(a3) +bfc006c8: 94e600b4 lhu a2,180(a3) +bfc006cc: 94e200c0 lhu v0,192(a3) +bfc006d0: 94e400bc lhu a0,188(a3) +bfc006d4: 8d05001c lw a1,28(t0) +bfc006d8: 3042ffff andi v0,v0,0xffff +bfc006dc: 3084ffff andi a0,a0,0xffff +bfc006e0: 00021200 sll v0,v0,0x8 +bfc006e4: 00441025 or v0,v0,a0 +bfc006e8: 00052a00 sll a1,a1,0x8 +bfc006ec: 00a20018 mult a1,v0 +bfc006f0: 3063ffff andi v1,v1,0xffff +bfc006f4: 30c6ffff andi a2,a2,0xffff +bfc006f8: 00031a00 sll v1,v1,0x8 +bfc006fc: 00661825 or v1,v1,a2 +bfc00700: 24630001 addiu v1,v1,1 +bfc00704: ad030010 sw v1,16(t0) +bfc00708: 3c0300ff lui v1,0xff +bfc0070c: 346300ff ori v1,v1,0xff +bfc00710: 00001021 move v0,zero +bfc00714: 00002812 mflo a1 +bfc00718: ad05000c sw a1,12(t0) +bfc0071c: ace30000 sw v1,0(a3) +bfc00720: 03e00008 jr ra +bfc00724: 00000000 nop + +bfc00728 : +bfc00728: 8c820008 lw v0,8(a0) +bfc0072c: 8c860000 lw a2,0(a0) +bfc00730: 00021082 srl v0,v0,0x2 +bfc00734: 00a2102b sltu v0,a1,v0 +bfc00738: 14400004 bnez v0,bfc0074c +bfc0073c: 3c030090 lui v1,0x90 +bfc00740: 3c028010 lui v0,0x8010 +bfc00744: 03e00008 jr ra +bfc00748: 34420002 ori v0,v0,0x2 +bfc0074c: 8c820010 lw v0,16(a0) +bfc00750: 00000000 nop +bfc00754: 2442ffff addiu v0,v0,-1 +bfc00758: 00021400 sll v0,v0,0x10 +bfc0075c: 00a21024 and v0,a1,v0 +bfc00760: 24420002 addiu v0,v0,2 +bfc00764: 34630090 ori v1,v1,0x90 +bfc00768: 00021080 sll v0,v0,0x2 +bfc0076c: acc30000 sw v1,0(a2) +bfc00770: 00c21021 addu v0,a2,v0 +bfc00774: 8c430000 lw v1,0(v0) +bfc00778: 3c020001 lui v0,0x1 +bfc0077c: 34420001 ori v0,v0,0x1 +bfc00780: 00621824 and v1,v1,v0 +bfc00784: 3c0200ff lui v0,0xff +bfc00788: 344200ff ori v0,v0,0xff +bfc0078c: acc20000 sw v0,0(a2) +bfc00790: 03e00008 jr ra +bfc00794: 0003102b sltu v0,zero,v1 + +bfc00798 : +bfc00798: 8c820008 lw v0,8(a0) +bfc0079c: 00a01821 move v1,a1 +bfc007a0: 00021082 srl v0,v0,0x2 +bfc007a4: 00a2102b sltu v0,a1,v0 +bfc007a8: 8c850000 lw a1,0(a0) +bfc007ac: 14400003 bnez v0,bfc007bc +bfc007b0: 3c028010 lui v0,0x8010 +bfc007b4: 0bf0020c j bfc00830 +bfc007b8: 34430002 ori v1,v0,0x2 +bfc007bc: 8c820010 lw v0,16(a0) +bfc007c0: 00000000 nop +bfc007c4: 2442ffff addiu v0,v0,-1 +bfc007c8: 00021400 sll v0,v0,0x10 +bfc007cc: 00621024 and v0,v1,v0 +bfc007d0: 00021080 sll v0,v0,0x2 +bfc007d4: 00a22021 addu a0,a1,v0 +bfc007d8: 3c020020 lui v0,0x20 +bfc007dc: 34420020 ori v0,v0,0x20 +bfc007e0: ac820000 sw v0,0(a0) +bfc007e4: 3c0200d0 lui v0,0xd0 +bfc007e8: 344200d0 ori v0,v0,0xd0 +bfc007ec: ac820000 sw v0,0(a0) +bfc007f0: 3c020080 lui v0,0x80 +bfc007f4: 34430080 ori v1,v0,0x80 +bfc007f8: 8c860000 lw a2,0(a0) +bfc007fc: 00000000 nop +bfc00800: 00c31024 and v0,a2,v1 +bfc00804: 1443fffc bne v0,v1,bfc007f8 +bfc00808: 3c02002a lui v0,0x2a +bfc0080c: 3442002a ori v0,v0,0x2a +bfc00810: 00c21024 and v0,a2,v0 +bfc00814: 10400003 beqz v0,bfc00824 +bfc00818: 00001821 move v1,zero +bfc0081c: 3c029010 lui v0,0x9010 +bfc00820: 00c21825 or v1,a2,v0 +bfc00824: 3c0200ff lui v0,0xff +bfc00828: 344200ff ori v0,v0,0xff +bfc0082c: ac820000 sw v0,0(a0) +bfc00830: 03e00008 jr ra +bfc00834: 00601021 move v0,v1 + +bfc00838 : +bfc00838: 8c820008 lw v0,8(a0) +bfc0083c: 00a01821 move v1,a1 +bfc00840: 00021082 srl v0,v0,0x2 +bfc00844: 00a2102b sltu v0,a1,v0 +bfc00848: 8c850000 lw a1,0(a0) +bfc0084c: 14400003 bnez v0,bfc0085c +bfc00850: 3c028010 lui v0,0x8010 +bfc00854: 0bf00234 j bfc008d0 +bfc00858: 34430002 ori v1,v0,0x2 +bfc0085c: 8c820010 lw v0,16(a0) +bfc00860: 00000000 nop +bfc00864: 2442ffff addiu v0,v0,-1 +bfc00868: 00021400 sll v0,v0,0x10 +bfc0086c: 00621024 and v0,v1,v0 +bfc00870: 00021080 sll v0,v0,0x2 +bfc00874: 00a22021 addu a0,a1,v0 +bfc00878: 3c020060 lui v0,0x60 +bfc0087c: 34420060 ori v0,v0,0x60 +bfc00880: ac820000 sw v0,0(a0) +bfc00884: 3c020001 lui v0,0x1 +bfc00888: 34420001 ori v0,v0,0x1 +bfc0088c: ac820000 sw v0,0(a0) +bfc00890: 3c020080 lui v0,0x80 +bfc00894: 34430080 ori v1,v0,0x80 +bfc00898: 8c860000 lw a2,0(a0) +bfc0089c: 00000000 nop +bfc008a0: 00c31024 and v0,a2,v1 +bfc008a4: 1443fffc bne v0,v1,bfc00898 +bfc008a8: 3c020038 lui v0,0x38 +bfc008ac: 34420038 ori v0,v0,0x38 +bfc008b0: 00c21024 and v0,a2,v0 +bfc008b4: 10400003 beqz v0,bfc008c4 +bfc008b8: 00001821 move v1,zero +bfc008bc: 3c029010 lui v0,0x9010 +bfc008c0: 00c21825 or v1,a2,v0 +bfc008c4: 3c0200ff lui v0,0xff +bfc008c8: 344200ff ori v0,v0,0xff +bfc008cc: ac820000 sw v0,0(a0) +bfc008d0: 03e00008 jr ra +bfc008d4: 00601021 move v0,v1 + +bfc008d8 : +bfc008d8: 8c820008 lw v0,8(a0) +bfc008dc: 00a01821 move v1,a1 +bfc008e0: 00021082 srl v0,v0,0x2 +bfc008e4: 00a2102b sltu v0,a1,v0 +bfc008e8: 8c850000 lw a1,0(a0) +bfc008ec: 14400003 bnez v0,bfc008fc +bfc008f0: 3c028010 lui v0,0x8010 +bfc008f4: 0bf0025c j bfc00970 +bfc008f8: 34430002 ori v1,v0,0x2 +bfc008fc: 8c820010 lw v0,16(a0) +bfc00900: 00000000 nop +bfc00904: 2442ffff addiu v0,v0,-1 +bfc00908: 00021400 sll v0,v0,0x10 +bfc0090c: 00621024 and v0,v1,v0 +bfc00910: 00021080 sll v0,v0,0x2 +bfc00914: 00a22021 addu a0,a1,v0 +bfc00918: 3c020060 lui v0,0x60 +bfc0091c: 34420060 ori v0,v0,0x60 +bfc00920: ac820000 sw v0,0(a0) +bfc00924: 3c0200d0 lui v0,0xd0 +bfc00928: 344200d0 ori v0,v0,0xd0 +bfc0092c: ac820000 sw v0,0(a0) +bfc00930: 3c020080 lui v0,0x80 +bfc00934: 34430080 ori v1,v0,0x80 +bfc00938: 8c860000 lw a2,0(a0) +bfc0093c: 00000000 nop +bfc00940: 00c31024 and v0,a2,v1 +bfc00944: 1443fffc bne v0,v1,bfc00938 +bfc00948: 3c020038 lui v0,0x38 +bfc0094c: 34420038 ori v0,v0,0x38 +bfc00950: 00c21024 and v0,a2,v0 +bfc00954: 10400003 beqz v0,bfc00964 +bfc00958: 00001821 move v1,zero +bfc0095c: 3c029010 lui v0,0x9010 +bfc00960: 00c21825 or v1,a2,v0 +bfc00964: 3c0200ff lui v0,0xff +bfc00968: 344200ff ori v0,v0,0xff +bfc0096c: ac820000 sw v0,0(a0) +bfc00970: 03e00008 jr ra +bfc00974: 00601021 move v0,v1 + +bfc00978 : +bfc00978: 8c820008 lw v0,8(a0) +bfc0097c: 8c840000 lw a0,0(a0) +bfc00980: 00021082 srl v0,v0,0x2 +bfc00984: 00a2102b sltu v0,a1,v0 +bfc00988: 14400003 bnez v0,bfc00998 +bfc0098c: 3c028010 lui v0,0x8010 +bfc00990: 0bf0027c j bfc009f0 +bfc00994: 34430002 ori v1,v0,0x2 +bfc00998: 00051080 sll v0,a1,0x2 +bfc0099c: 00822021 addu a0,a0,v0 +bfc009a0: 3c020040 lui v0,0x40 +bfc009a4: 34420040 ori v0,v0,0x40 +bfc009a8: ac820000 sw v0,0(a0) +bfc009ac: 3c020080 lui v0,0x80 +bfc009b0: ac860000 sw a2,0(a0) +bfc009b4: 34430080 ori v1,v0,0x80 +bfc009b8: 8c860000 lw a2,0(a0) +bfc009bc: 00000000 nop +bfc009c0: 00c31024 and v0,a2,v1 +bfc009c4: 1443fffc bne v0,v1,bfc009b8 +bfc009c8: 3c02001a lui v0,0x1a +bfc009cc: 3442001a ori v0,v0,0x1a +bfc009d0: 00c21024 and v0,a2,v0 +bfc009d4: 10400003 beqz v0,bfc009e4 +bfc009d8: 00001821 move v1,zero +bfc009dc: 3c029010 lui v0,0x9010 +bfc009e0: 00c21825 or v1,a2,v0 +bfc009e4: 3c0200ff lui v0,0xff +bfc009e8: 344200ff ori v0,v0,0xff +bfc009ec: ac820000 sw v0,0(a0) +bfc009f0: 03e00008 jr ra +bfc009f4: 00601021 move v0,v1 + +bfc009f8 : +bfc009f8: 8c820008 lw v0,8(a0) +bfc009fc: 27bdffe8 addiu sp,sp,-24 +bfc00a00: 00021082 srl v0,v0,0x2 +bfc00a04: 00a2102b sltu v0,a1,v0 +bfc00a08: afb40014 sw s4,20(sp) +bfc00a0c: afb30010 sw s3,16(sp) +bfc00a10: afb2000c sw s2,12(sp) +bfc00a14: afb10008 sw s1,8(sp) +bfc00a18: afb00004 sw s0,4(sp) +bfc00a1c: 0080c021 move t8,a0 +bfc00a20: 8c8e0000 lw t6,0(a0) +bfc00a24: 14400004 bnez v0,bfc00a38 +bfc00a28: 00c0a021 move s4,a2 +bfc00a2c: 3c028010 lui v0,0x8010 +bfc00a30: 0bf002e3 j bfc00b8c +bfc00a34: 34440002 ori a0,v0,0x2 +bfc00a38: 8c820010 lw v0,16(a0) +bfc00a3c: 00006821 move t5,zero +bfc00a40: 2442ffff addiu v0,v0,-1 +bfc00a44: 0002cc00 sll t9,v0,0x10 +bfc00a48: 3c0200e8 lui v0,0xe8 +bfc00a4c: 345300e8 ori s3,v0,0xe8 +bfc00a50: 3c020080 lui v0,0x80 +bfc00a54: 344f0080 ori t7,v0,0x80 +bfc00a58: 3c02001a lui v0,0x1a +bfc00a5c: 3446001a ori a2,v0,0x1a +bfc00a60: 3c0200d0 lui v0,0xd0 +bfc00a64: 345200d0 ori s2,v0,0xd0 +bfc00a68: 3c0200ff lui v0,0xff +bfc00a6c: 345100ff ori s1,v0,0xff +bfc00a70: 0bf002e1 j bfc00b84 +bfc00a74: 3c100001 lui s0,0x1 +bfc00a78: 01851023 subu v0,t4,a1 +bfc00a7c: 00505021 addu t2,v0,s0 +bfc00a80: 00ea102b sltu v0,a3,t2 +bfc00a84: 10400002 beqz v0,bfc00a90 +bfc00a88: 000c1080 sll v0,t4,0x2 +bfc00a8c: 00e05021 move t2,a3 +bfc00a90: 0bf002d7 j bfc00b5c +bfc00a94: 01c25821 addu t3,t6,v0 +bfc00a98: ad730000 sw s3,0(t3) +bfc00a9c: 8d630000 lw v1,0(t3) +bfc00aa0: 00000000 nop +bfc00aa4: 006f1024 and v0,v1,t7 +bfc00aa8: 144ffffc bne v0,t7,bfc00a9c +bfc00aac: 00661024 and v0,v1,a2 +bfc00ab0: 14400026 bnez v0,bfc00b4c +bfc00ab4: 3c029010 lui v0,0x9010 +bfc00ab8: 8f020014 lw v0,20(t8) +bfc00abc: 00000000 nop +bfc00ac0: 00021882 srl v1,v0,0x2 +bfc00ac4: 006a102b sltu v0,v1,t2 +bfc00ac8: 10400002 beqz v0,bfc00ad4 +bfc00acc: 01404021 move t0,t2 +bfc00ad0: 00604021 move t0,v1 +bfc00ad4: 2503ffff addiu v1,t0,-1 +bfc00ad8: 00031400 sll v0,v1,0x10 +bfc00adc: 00431025 or v0,v0,v1 +bfc00ae0: 00052080 sll a0,a1,0x2 +bfc00ae4: 000d1880 sll v1,t5,0x2 +bfc00ae8: 02834821 addu t1,s4,v1 +bfc00aec: ad620000 sw v0,0(t3) +bfc00af0: 01c42021 addu a0,t6,a0 +bfc00af4: 0bf002c3 j bfc00b0c +bfc00af8: 00001821 move v1,zero +bfc00afc: 8d220000 lw v0,0(t1) +bfc00b00: 25290004 addiu t1,t1,4 +bfc00b04: ac820000 sw v0,0(a0) +bfc00b08: 24840004 addiu a0,a0,4 +bfc00b0c: 0068102b sltu v0,v1,t0 +bfc00b10: 1440fffa bnez v0,bfc00afc +bfc00b14: 24630001 addiu v1,v1,1 +bfc00b18: 01a86821 addu t5,t5,t0 +bfc00b1c: 00a82821 addu a1,a1,t0 +bfc00b20: 00e83823 subu a3,a3,t0 +bfc00b24: ad720000 sw s2,0(t3) +bfc00b28: 8d630000 lw v1,0(t3) +bfc00b2c: 00000000 nop +bfc00b30: 006f1024 and v0,v1,t7 +bfc00b34: 144ffffc bne v0,t7,bfc00b28 +bfc00b38: 00661024 and v0,v1,a2 +bfc00b3c: 10400005 beqz v0,bfc00b54 +bfc00b40: 01485023 subu t2,t2,t0 +bfc00b44: 01485021 addu t2,t2,t0 +bfc00b48: 3c029010 lui v0,0x9010 +bfc00b4c: 0bf002d9 j bfc00b64 +bfc00b50: 00622025 or a0,v1,v0 +bfc00b54: ad710000 sw s1,0(t3) +bfc00b58: 00002021 move a0,zero +bfc00b5c: 1540ffce bnez t2,bfc00a98 +bfc00b60: 00000000 nop +bfc00b64: 04810007 bgez a0,bfc00b84 +bfc00b68: 000c1880 sll v1,t4,0x2 +bfc00b6c: 3c0200ff lui v0,0xff +bfc00b70: 01c31821 addu v1,t6,v1 +bfc00b74: 344200ff ori v0,v0,0xff +bfc00b78: ac620000 sw v0,0(v1) +bfc00b7c: 0bf002e4 j bfc00b90 +bfc00b80: 00801021 move v0,a0 +bfc00b84: 14e0ffbc bnez a3,bfc00a78 +bfc00b88: 00b96024 and t4,a1,t9 +bfc00b8c: 00801021 move v0,a0 +bfc00b90: 8fb40014 lw s4,20(sp) +bfc00b94: 8fb30010 lw s3,16(sp) +bfc00b98: 8fb2000c lw s2,12(sp) +bfc00b9c: 8fb10008 lw s1,8(sp) +bfc00ba0: 8fb00004 lw s0,4(sp) +bfc00ba4: 03e00008 jr ra +bfc00ba8: 27bd0018 addiu sp,sp,24 + +bfc00bac : +bfc00bac: 27bdffe0 addiu sp,sp,-32 +bfc00bb0: afbf001c sw ra,28(sp) +bfc00bb4: ac850000 sw a1,0(a0) +bfc00bb8: 24820008 addiu v0,a0,8 +bfc00bbc: 0bf002f3 j bfc00bcc +bfc00bc0: 24830020 addiu v1,a0,32 +bfc00bc4: a0400000 sb zero,0(v0) +bfc00bc8: 24420001 addiu v0,v0,1 +bfc00bcc: 1443fffd bne v0,v1,bfc00bc4 +bfc00bd0: 00000000 nop +bfc00bd4: 3c021234 lui v0,0x1234 +bfc00bd8: 34425678 ori v0,v0,0x5678 +bfc00bdc: 00021e02 srl v1,v0,0x18 +bfc00be0: afa20010 sw v0,16(sp) +bfc00be4: 24020012 li v0,18 +bfc00be8: 14620003 bne v1,v0,bfc00bf8 +bfc00bec: ac800004 sw zero,4(a0) +bfc00bf0: 24020001 li v0,1 +bfc00bf4: ac820004 sw v0,4(a0) +bfc00bf8: 0ff00185 jal bfc00614 +bfc00bfc: 00000000 nop +bfc00c00: 8fbf001c lw ra,28(sp) +bfc00c04: 00000000 nop +bfc00c08: 03e00008 jr ra +bfc00c0c: 27bd0020 addiu sp,sp,32 + +bfc00c10 : +bfc00c10: 27bdffd8 addiu sp,sp,-40 +bfc00c14: 30c20003 andi v0,a2,0x3 +bfc00c18: afb2001c sw s2,28(sp) +bfc00c1c: afbf0024 sw ra,36(sp) +bfc00c20: afb30020 sw s3,32(sp) +bfc00c24: afb10018 sw s1,24(sp) +bfc00c28: afb00014 sw s0,20(sp) +bfc00c2c: 10400004 beqz v0,bfc00c40 +bfc00c30: 00809021 move s2,a0 +bfc00c34: 00061082 srl v0,a2,0x2 +bfc00c38: 24420001 addiu v0,v0,1 +bfc00c3c: 00023080 sll a2,v0,0x2 +bfc00c40: 00c59821 addu s3,a2,a1 +bfc00c44: 0bf00324 j bfc00c90 +bfc00c48: 00a08821 move s1,a1 +bfc00c4c: 0ff001ca jal bfc00728 +bfc00c50: 00000000 nop +bfc00c54: 02402021 move a0,s2 +bfc00c58: 10400005 beqz v0,bfc00c70 +bfc00c5c: 02002821 move a1,s0 +bfc00c60: 0ff00236 jal bfc008d8 +bfc00c64: 00000000 nop +bfc00c68: 04400011 bltz v0,bfc00cb0 +bfc00c6c: 00401821 move v1,v0 +bfc00c70: 02002821 move a1,s0 +bfc00c74: 0ff001e6 jal bfc00798 +bfc00c78: 02402021 move a0,s2 +bfc00c7c: 0440000c bltz v0,bfc00cb0 +bfc00c80: 00401821 move v1,v0 +bfc00c84: 8e42000c lw v0,12(s2) +bfc00c88: 00000000 nop +bfc00c8c: 02228821 addu s1,s1,v0 +bfc00c90: 001117c3 sra v0,s1,0x1f +bfc00c94: 00021782 srl v0,v0,0x1e +bfc00c98: 00511021 addu v0,v0,s1 +bfc00c9c: 00028083 sra s0,v0,0x2 +bfc00ca0: 0233102b sltu v0,s1,s3 +bfc00ca4: 02402021 move a0,s2 +bfc00ca8: 1440ffe8 bnez v0,bfc00c4c +bfc00cac: 02002821 move a1,s0 +bfc00cb0: 8fbf0024 lw ra,36(sp) +bfc00cb4: 00601021 move v0,v1 +bfc00cb8: 8fb30020 lw s3,32(sp) +bfc00cbc: 8fb2001c lw s2,28(sp) +bfc00cc0: 8fb10018 lw s1,24(sp) +bfc00cc4: 8fb00014 lw s0,20(sp) +bfc00cc8: 03e00008 jr ra +bfc00ccc: 27bd0028 addiu sp,sp,40 + +bfc00cd0 : +bfc00cd0: 30e20003 andi v0,a3,0x3 +bfc00cd4: 10400003 beqz v0,bfc00ce4 +bfc00cd8: 00071082 srl v0,a3,0x2 +bfc00cdc: 24420001 addiu v0,v0,1 +bfc00ce0: 00023880 sll a3,v0,0x2 +bfc00ce4: 00052882 srl a1,a1,0x2 +bfc00ce8: 0bf0027e j bfc009f8 +bfc00cec: 00073882 srl a3,a3,0x2 + +bfc00cf0 : +bfc00cf0: 8c820000 lw v0,0(a0) +bfc00cf4: 00002021 move a0,zero +bfc00cf8: 0bf00347 j bfc00d1c +bfc00cfc: 00454021 addu t0,v0,a1 +bfc00d00: 90630000 lbu v1,0(v1) +bfc00d04: 90a20000 lbu v0,0(a1) +bfc00d08: 00000000 nop +bfc00d0c: 10620003 beq v1,v0,bfc00d1c +bfc00d10: 3c028010 lui v0,0x8010 +bfc00d14: 03e00008 jr ra +bfc00d18: 34420003 ori v0,v0,0x3 +bfc00d1c: 0087102b sltu v0,a0,a3 +bfc00d20: 01041821 addu v1,t0,a0 +bfc00d24: 00c42821 addu a1,a2,a0 +bfc00d28: 1440fff5 bnez v0,bfc00d00 +bfc00d2c: 24840001 addiu a0,a0,1 +bfc00d30: 03e00008 jr ra +bfc00d34: 00000000 nop + +bfc00d38 : +bfc00d38: 8c82000c lw v0,12(a0) +bfc00d3c: 00000000 nop +bfc00d40: 14400002 bnez v0,bfc00d4c +bfc00d44: 00a2001b divu zero,a1,v0 +bfc00d48: 0007000d break 0x7 +bfc00d4c: 00001010 mfhi v0 +bfc00d50: 0002102b sltu v0,zero,v0 +bfc00d54: 00002812 mflo a1 +bfc00d58: 03e00008 jr ra +bfc00d5c: 00a21021 addu v0,a1,v0 + +bfc00d60 : +bfc00d60: 8c830010 lw v1,16(a0) +bfc00d64: 00000000 nop +bfc00d68: 00a3102b sltu v0,a1,v1 +bfc00d6c: 14400002 bnez v0,bfc00d78 +bfc00d70: 00000000 nop +bfc00d74: 2465ffff addiu a1,v1,-1 +bfc00d78: 8c82000c lw v0,12(a0) +bfc00d7c: 00000000 nop +bfc00d80: 00a20018 mult a1,v0 +bfc00d84: 00001012 mflo v0 +bfc00d88: 03e00008 jr ra +bfc00d8c: 00000000 nop + +bfc00d90 : +bfc00d90: 27bdffe8 addiu sp,sp,-24 +bfc00d94: afbf0014 sw ra,20(sp) +bfc00d98: afb00010 sw s0,16(sp) +bfc00d9c: 0ff0034e jal bfc00d38 +bfc00da0: 00808021 move s0,a0 +bfc00da4: 8e03000c lw v1,12(s0) +bfc00da8: 8fbf0014 lw ra,20(sp) +bfc00dac: 00430018 mult v0,v1 +bfc00db0: 8fb00010 lw s0,16(sp) +bfc00db4: 00001012 mflo v0 +bfc00db8: 03e00008 jr ra +bfc00dbc: 27bd0018 addiu sp,sp,24 + +bfc00dc0 : +bfc00dc0: 90830000 lbu v1,0(a0) +bfc00dc4: 00000000 nop +bfc00dc8: 2c620041 sltiu v0,v1,65 +bfc00dcc: 14400002 bnez v0,bfc00dd8 +bfc00dd0: 2462ffd0 addiu v0,v1,-48 +bfc00dd4: 2462ffc9 addiu v0,v1,-55 +bfc00dd8: 90840001 lbu a0,1(a0) +bfc00ddc: 304200ff andi v0,v0,0xff +bfc00de0: 304300ff andi v1,v0,0xff +bfc00de4: 2c820041 sltiu v0,a0,65 +bfc00de8: 14400003 bnez v0,bfc00df8 +bfc00dec: 00000000 nop +bfc00df0: 0bf0037f j bfc00dfc +bfc00df4: 2482ffc9 addiu v0,a0,-55 +bfc00df8: 2482ffd0 addiu v0,a0,-48 +bfc00dfc: 304400ff andi a0,v0,0xff +bfc00e00: 00031100 sll v0,v1,0x4 +bfc00e04: 00821025 or v0,a0,v0 +bfc00e08: 03e00008 jr ra +bfc00e0c: 304200ff andi v0,v0,0xff + +bfc00e10 : +bfc00e10: 10c00094 beqz a2,bfc01064 +bfc00e14: 00805021 move t2,a0 +bfc00e18: 24020003 li v0,3 +bfc00e1c: ac820008 sw v0,8(a0) +bfc00e20: 90a40001 lbu a0,1(a1) +bfc00e24: 00000000 nop +bfc00e28: 2482ffcf addiu v0,a0,-49 +bfc00e2c: 304200ff andi v0,v0,0xff +bfc00e30: 2c420003 sltiu v0,v0,3 +bfc00e34: 10400005 beqz v0,bfc00e4c +bfc00e38: 2482ffc9 addiu v0,a0,-55 +bfc00e3c: 24020002 li v0,2 +bfc00e40: ad420008 sw v0,8(t2) +bfc00e44: 0bf003a1 j bfc00e84 +bfc00e48: 2489ffd1 addiu t1,a0,-47 +bfc00e4c: 304200ff andi v0,v0,0xff +bfc00e50: 2c420003 sltiu v0,v0,3 +bfc00e54: 10400006 beqz v0,bfc00e70 +bfc00e58: 24020030 li v0,48 +bfc00e5c: 2402003b li v0,59 +bfc00e60: 00444823 subu t1,v0,a0 +bfc00e64: 24020004 li v0,4 +bfc00e68: 0bf003a1 j bfc00e84 +bfc00e6c: ad420008 sw v0,8(t2) +bfc00e70: 14820004 bne a0,v0,bfc00e84 +bfc00e74: 00004821 move t1,zero +bfc00e78: 24020001 li v0,1 +bfc00e7c: ad420008 sw v0,8(t2) +bfc00e80: 24090002 li t1,2 +bfc00e84: 90a30002 lbu v1,2(a1) +bfc00e88: 00000000 nop +bfc00e8c: 2c620041 sltiu v0,v1,65 +bfc00e90: 10400003 beqz v0,bfc00ea0 +bfc00e94: 24a40002 addiu a0,a1,2 +bfc00e98: 0bf003a9 j bfc00ea4 +bfc00e9c: 2462ffd0 addiu v0,v1,-48 +bfc00ea0: 2462ffc9 addiu v0,v1,-55 +bfc00ea4: 90830001 lbu v1,1(a0) +bfc00ea8: 304200ff andi v0,v0,0xff +bfc00eac: 304400ff andi a0,v0,0xff +bfc00eb0: 2c620041 sltiu v0,v1,65 +bfc00eb4: 10400002 beqz v0,bfc00ec0 +bfc00eb8: 2462ffc9 addiu v0,v1,-55 +bfc00ebc: 2462ffd0 addiu v0,v1,-48 +bfc00ec0: 304300ff andi v1,v0,0xff +bfc00ec4: 00041100 sll v0,a0,0x4 +bfc00ec8: 00621025 or v0,v1,v0 +bfc00ecc: 304200ff andi v0,v0,0xff +bfc00ed0: ad420004 sw v0,4(t2) +bfc00ed4: ad400000 sw zero,0(t2) +bfc00ed8: 00405821 move t3,v0 +bfc00edc: 00a03021 move a2,a1 +bfc00ee0: 0bf003d5 j bfc00f54 +bfc00ee4: 00003821 move a3,zero +bfc00ee8: 90c20004 lbu v0,4(a2) +bfc00eec: 00000000 nop +bfc00ef0: 2443ffc9 addiu v1,v0,-55 +bfc00ef4: 2444ffd0 addiu a0,v0,-48 +bfc00ef8: 2c420041 sltiu v0,v0,65 +bfc00efc: 10400002 beqz v0,bfc00f08 +bfc00f00: 306300ff andi v1,v1,0xff +bfc00f04: 308300ff andi v1,a0,0xff +bfc00f08: 90c20005 lbu v0,5(a2) +bfc00f0c: 306800ff andi t0,v1,0xff +bfc00f10: 2444ffc9 addiu a0,v0,-55 +bfc00f14: 2443ffd0 addiu v1,v0,-48 +bfc00f18: 2c420041 sltiu v0,v0,65 +bfc00f1c: 10400002 beqz v0,bfc00f28 +bfc00f20: 308400ff andi a0,a0,0xff +bfc00f24: 306400ff andi a0,v1,0xff +bfc00f28: 8d430000 lw v1,0(t2) +bfc00f2c: 00081100 sll v0,t0,0x4 +bfc00f30: 00821025 or v0,a0,v0 +bfc00f34: 304200ff andi v0,v0,0xff +bfc00f38: 00031a00 sll v1,v1,0x8 +bfc00f3c: 004b2021 addu a0,v0,t3 +bfc00f40: 00431025 or v0,v0,v1 +bfc00f44: ad420000 sw v0,0(t2) +bfc00f48: 308b00ff andi t3,a0,0xff +bfc00f4c: 24e70001 addiu a3,a3,1 +bfc00f50: 24c60002 addiu a2,a2,2 +bfc00f54: 00e9102a slt v0,a3,t1 +bfc00f58: 1440ffe3 bnez v0,bfc00ee8 +bfc00f5c: 25220002 addiu v0,t1,2 +bfc00f60: 8d440004 lw a0,4(t2) +bfc00f64: 00021040 sll v0,v0,0x1 +bfc00f68: 00091827 nor v1,zero,t1 +bfc00f6c: 00832021 addu a0,a0,v1 +bfc00f70: 00a21021 addu v0,a1,v0 +bfc00f74: ad440004 sw a0,4(t2) +bfc00f78: ad42000c sw v0,12(t2) +bfc00f7c: 0bf003f9 j bfc00fe4 +bfc00f80: 00003021 move a2,zero +bfc00f84: 90e20000 lbu v0,0(a3) +bfc00f88: 00000000 nop +bfc00f8c: 2444ffc9 addiu a0,v0,-55 +bfc00f90: 2445ffd0 addiu a1,v0,-48 +bfc00f94: 2c420041 sltiu v0,v0,65 +bfc00f98: 10400002 beqz v0,bfc00fa4 +bfc00f9c: 308400ff andi a0,a0,0xff +bfc00fa0: 30a400ff andi a0,a1,0xff +bfc00fa4: 90e20001 lbu v0,1(a3) +bfc00fa8: 308700ff andi a3,a0,0xff +bfc00fac: 2445ffc9 addiu a1,v0,-55 +bfc00fb0: 2444ffd0 addiu a0,v0,-48 +bfc00fb4: 2c420041 sltiu v0,v0,65 +bfc00fb8: 14400002 bnez v0,bfc00fc4 +bfc00fbc: 308400ff andi a0,a0,0xff +bfc00fc0: 30a400ff andi a0,a1,0xff +bfc00fc4: 00071100 sll v0,a3,0x4 +bfc00fc8: 00821025 or v0,a0,v0 +bfc00fcc: 304200ff andi v0,v0,0xff +bfc00fd0: 00661821 addu v1,v1,a2 +bfc00fd4: 004b2021 addu a0,v0,t3 +bfc00fd8: a0620000 sb v0,0(v1) +bfc00fdc: 308b00ff andi t3,a0,0xff +bfc00fe0: 24c60001 addiu a2,a2,1 +bfc00fe4: 8d420004 lw v0,4(t2) +bfc00fe8: 8d43000c lw v1,12(t2) +bfc00fec: 00062040 sll a0,a2,0x1 +bfc00ff0: 00c2102a slt v0,a2,v0 +bfc00ff4: 1440ffe3 bnez v0,bfc00f84 +bfc00ff8: 00643821 addu a3,v1,a0 +bfc00ffc: 90e40000 lbu a0,0(a3) +bfc01000: 00000000 nop +bfc01004: 2c820041 sltiu v0,a0,65 +bfc01008: 10400003 beqz v0,bfc01018 +bfc0100c: 00e01821 move v1,a3 +bfc01010: 0bf00407 j bfc0101c +bfc01014: 2482ffd0 addiu v0,a0,-48 +bfc01018: 2482ffc9 addiu v0,a0,-55 +bfc0101c: 90630001 lbu v1,1(v1) +bfc01020: 304200ff andi v0,v0,0xff +bfc01024: 304400ff andi a0,v0,0xff +bfc01028: 2c620041 sltiu v0,v1,65 +bfc0102c: 10400002 beqz v0,bfc01038 +bfc01030: 2462ffc9 addiu v0,v1,-55 +bfc01034: 2462ffd0 addiu v0,v1,-48 +bfc01038: 304200ff andi v0,v0,0xff +bfc0103c: 00041900 sll v1,a0,0x4 +bfc01040: 00431825 or v1,v0,v1 +bfc01044: 000b1027 nor v0,zero,t3 +bfc01048: 304200ff andi v0,v0,0xff +bfc0104c: 306300ff andi v1,v1,0xff +bfc01050: 14430004 bne v0,v1,bfc01064 +bfc01054: 00000000 nop +bfc01058: 8d420008 lw v0,8(t2) +bfc0105c: 03e00008 jr ra +bfc01060: 00000000 nop +bfc01064: 03e00008 jr ra +bfc01068: 00001021 move v0,zero + +bfc0106c : +bfc0106c: 00800008 jr a0 +bfc01070: 00000000 nop +bfc01074: 03e00008 jr ra +bfc01078: 00000000 nop + +bfc0107c : +bfc0107c: 3c1a1000 lui k0,0x1000 +bfc01080: 409a6000 mtc0 k0,c0_sr +bfc01084: 00800008 jr a0 +bfc01088: 42000010 rfe +bfc0108c: 03e00008 jr ra +bfc01090: 00000000 nop + +bfc01094 : +bfc01094: 401a6000 mfc0 k0,c0_sr +bfc01098: 3c1bffbf lui k1,0xffbf +bfc0109c: 377bffff ori k1,k1,0xffff +bfc010a0: 035bd024 and k0,k0,k1 +bfc010a4: 3c1b0200 lui k1,0x200 +bfc010a8: 035bd025 or k0,k0,k1 +bfc010ac: 409a6000 mtc0 k0,c0_sr +bfc010b0: 00800008 jr a0 +bfc010b4: 42000010 rfe +bfc010b8: 03e00008 jr ra +bfc010bc: 00000000 nop + +bfc010c0 : +bfc010c0: 27bdffd8 addiu sp,sp,-40 +bfc010c4: afb30020 sw s3,32(sp) +bfc010c8: afb10018 sw s1,24(sp) +bfc010cc: afb00014 sw s0,20(sp) +bfc010d0: afbf0024 sw ra,36(sp) +bfc010d4: afb2001c sw s2,28(sp) +bfc010d8: 00809821 move s3,a0 +bfc010dc: 24110073 li s1,115 +bfc010e0: 24100053 li s0,83 +bfc010e4: 0ff00081 jal bfc00204 +bfc010e8: 00000000 nop +bfc010ec: 14510005 bne v0,s1,bfc01104 +bfc010f0: 00000000 nop +bfc010f4: 00008021 move s0,zero +bfc010f8: 2412000a li s2,10 +bfc010fc: 0bf00449 j bfc01124 +bfc01100: 2411000d li s1,13 +bfc01104: 1450fff7 bne v0,s0,bfc010e4 +bfc01108: 00000000 nop +bfc0110c: 0bf0043e j bfc010f8 +bfc01110: 00008021 move s0,zero +bfc01114: 0ff00081 jal bfc00204 +bfc01118: a0620000 sb v0,0(v1) +bfc0111c: 10510003 beq v0,s1,bfc0112c +bfc01120: 26100001 addiu s0,s0,1 +bfc01124: 1452fffb bne v0,s2,bfc01114 +bfc01128: 02701821 addu v1,s3,s0 +bfc0112c: 8fbf0024 lw ra,36(sp) +bfc01130: 02001021 move v0,s0 +bfc01134: 8fb30020 lw s3,32(sp) +bfc01138: 8fb2001c lw s2,28(sp) +bfc0113c: 8fb10018 lw s1,24(sp) +bfc01140: 8fb00014 lw s0,20(sp) +bfc01144: 03e00008 jr ra +bfc01148: 27bd0028 addiu sp,sp,40 + +bfc0114c
: +bfc0114c: 27bdfd98 addiu sp,sp,-616 +bfc01150: 27a40140 addiu a0,sp,320 +bfc01154: 00002821 move a1,zero +bfc01158: 24060100 li a2,256 +bfc0115c: afb20248 sw s2,584(sp) +bfc01160: afb10244 sw s1,580(sp) +bfc01164: afb00240 sw s0,576(sp) +bfc01168: 3c11a000 lui s1,0xa000 +bfc0116c: afbf0264 sw ra,612(sp) +bfc01170: afbe0260 sw s8,608(sp) +bfc01174: afb7025c sw s7,604(sp) +bfc01178: afb60258 sw s6,600(sp) +bfc0117c: afb50254 sw s5,596(sp) +bfc01180: afb40250 sw s4,592(sp) +bfc01184: 0ff0056a jal bfc015a8 +bfc01188: afb3024c sw s3,588(sp) +bfc0118c: 3c036000 lui v1,0x6000 +bfc01190: 36220004 ori v0,s1,0x4 +bfc01194: 3463b1ff ori v1,v1,0xb1ff +bfc01198: ac430000 sw v1,0(v0) +bfc0119c: 3c022000 lui v0,0x2000 +bfc011a0: 27b20020 addiu s2,sp,32 +bfc011a4: 34421000 ori v0,v0,0x1000 +bfc011a8: ae220000 sw v0,0(s1) +bfc011ac: 02402021 move a0,s2 +bfc011b0: 3c05a400 lui a1,0xa400 +bfc011b4: 8e300000 lw s0,0(s1) +bfc011b8: 0ff002eb jal bfc00bac +bfc011bc: 00000000 nop +bfc011c0: 04410004 bgez v0,bfc011d4 +bfc011c4: 00102c02 srl a1,s0,0x10 +bfc011c8: 3c04bfc0 lui a0,0xbfc0 +bfc011cc: 0bf00493 j bfc0124c +bfc011d0: 248416a0 addiu a0,a0,5792 +bfc011d4: 02402021 move a0,s2 +bfc011d8: 0ff00358 jal bfc00d60 +bfc011dc: 30a5007f andi a1,a1,0x7f +bfc011e0: 00409021 move s2,v0 +bfc011e4: 8e220000 lw v0,0(s1) +bfc011e8: 3c030800 lui v1,0x800 +bfc011ec: 00431024 and v0,v0,v1 +bfc011f0: 14400044 bnez v0,bfc01304 +bfc011f4: 3c11bfc0 lui s1,0xbfc0 +bfc011f8: 0ff000b0 jal bfc002c0 +bfc011fc: 26241754 addiu a0,s1,5972 +bfc01200: 3c02a400 lui v0,0xa400 +bfc01204: 02428021 addu s0,s2,v0 +bfc01208: 8e030000 lw v1,0(s0) +bfc0120c: 3c023149 lui v0,0x3149 +bfc01210: 3442464a ori v0,v0,0x464a +bfc01214: 10620011 beq v1,v0,bfc0125c +bfc01218: 3c024a46 lui v0,0x4a46 +bfc0121c: 34424931 ori v0,v0,0x4931 +bfc01220: 1062000e beq v1,v0,bfc0125c +bfc01224: 00000000 nop +bfc01228: 0ff000b0 jal bfc002c0 +bfc0122c: 26241754 addiu a0,s1,5972 +bfc01230: 3c04bfc0 lui a0,0xbfc0 +bfc01234: 0ff000b0 jal bfc002c0 +bfc01238: 248416c8 addiu a0,a0,5832 +bfc0123c: 0ff000e8 jal bfc003a0 +bfc01240: 02402021 move a0,s2 +bfc01244: 3c04bfc0 lui a0,0xbfc0 +bfc01248: 248416e0 addiu a0,a0,5856 +bfc0124c: 0ff000b0 jal bfc002c0 +bfc01250: 00000000 nop +bfc01254: 0bf0055e j bfc01578 +bfc01258: 24020001 li v0,1 +bfc0125c: 3c04bfc0 lui a0,0xbfc0 +bfc01260: 0ff000b0 jal bfc002c0 +bfc01264: 248416ec addiu a0,a0,5868 +bfc01268: 0ff000e8 jal bfc003a0 +bfc0126c: 02402021 move a0,s2 +bfc01270: 3c04bfc0 lui a0,0xbfc0 +bfc01274: 0ff000b0 jal bfc002c0 +bfc01278: 24841710 addiu a0,a0,5904 +bfc0127c: 8e02000c lw v0,12(s0) +bfc01280: 8e110004 lw s1,4(s0) +bfc01284: 00024082 srl t0,v0,0x2 +bfc01288: 8e070008 lw a3,8(s0) +bfc0128c: 00002021 move a0,zero +bfc01290: 0bf004a9 j bfc012a4 +bfc01294: 00001821 move v1,zero +bfc01298: 8cc20000 lw v0,0(a2) +bfc0129c: 00000000 nop +bfc012a0: aca20000 sw v0,0(a1) +bfc012a4: 0088102b sltu v0,a0,t0 +bfc012a8: 00673021 addu a2,v1,a3 +bfc012ac: 00712821 addu a1,v1,s1 +bfc012b0: 24840001 addiu a0,a0,1 +bfc012b4: 1440fff8 bnez v0,bfc01298 +bfc012b8: 24630004 addiu v1,v1,4 +bfc012bc: 3c04bfc0 lui a0,0xbfc0 +bfc012c0: 0ff000b0 jal bfc002c0 +bfc012c4: 24841718 addiu a0,a0,5912 +bfc012c8: 3c04bfc0 lui a0,0xbfc0 +bfc012cc: 0ff000b0 jal bfc002c0 +bfc012d0: 24841720 addiu a0,a0,5920 +bfc012d4: 8e040004 lw a0,4(s0) +bfc012d8: 0ff000e8 jal bfc003a0 +bfc012dc: 00000000 nop +bfc012e0: 3c04bfc0 lui a0,0xbfc0 +bfc012e4: 0ff000b0 jal bfc002c0 +bfc012e8: 24841754 addiu a0,a0,5972 +bfc012ec: 3c1a1000 lui k0,0x1000 +bfc012f0: 409a6000 mtc0 k0,c0_sr +bfc012f4: 02200008 jr s1 +bfc012f8: 42000010 rfe +bfc012fc: 0bf0055e j bfc01578 +bfc01300: 00001021 move v0,zero +bfc01304: 0ff000b0 jal bfc002c0 +bfc01308: 26241754 addiu a0,s1,5972 +bfc0130c: 3c04bfc0 lui a0,0xbfc0 +bfc01310: 0ff000b0 jal bfc002c0 +bfc01314: 2484172c addiu a0,a0,5932 +bfc01318: 3c024000 lui v0,0x4000 +bfc0131c: 3c034010 lui v1,0x4010 +bfc01320: ac400000 sw zero,0(v0) +bfc01324: 24420004 addiu v0,v0,4 +bfc01328: 1443fffd bne v0,v1,bfc01320 +bfc0132c: 00009821 move s3,zero +bfc01330: 3c02bfc0 lui v0,0xbfc0 +bfc01334: 245516c4 addiu s5,v0,5828 +bfc01338: 3c02bfc0 lui v0,0xbfc0 +bfc0133c: 24561718 addiu s6,v0,5912 +bfc01340: 3c02bfc0 lui v0,0xbfc0 +bfc01344: 245e17cc addiu s8,v0,6092 +bfc01348: 3c02bfc0 lui v0,0xbfc0 +bfc0134c: 245717ec addiu s7,v0,6124 +bfc01350: 3c04bfc0 lui a0,0xbfc0 +bfc01354: 0ff000b0 jal bfc002c0 +bfc01358: 2484174c addiu a0,a0,5964 +bfc0135c: 3c14bfc0 lui s4,0xbfc0 +bfc01360: 27b00040 addiu s0,sp,64 +bfc01364: 0ff00430 jal bfc010c0 +bfc01368: 02002021 move a0,s0 +bfc0136c: 00403021 move a2,v0 +bfc01370: 02002821 move a1,s0 +bfc01374: 27a40010 addiu a0,sp,16 +bfc01378: 0ff00384 jal bfc00e10 +bfc0137c: 00408821 move s1,v0 +bfc01380: 00401821 move v1,v0 +bfc01384: 24020002 li v0,2 +bfc01388: 10620005 beq v1,v0,bfc013a0 +bfc0138c: 24020004 li v0,4 +bfc01390: 1462ffef bne v1,v0,bfc01350 +bfc01394: 00000000 nop +bfc01398: 0bf004fd j bfc013f4 +bfc0139c: 3c04bfc0 lui a0,0xbfc0 +bfc013a0: 8fa50010 lw a1,16(sp) +bfc013a4: 8fa60014 lw a2,20(sp) +bfc013a8: 0bf004f2 j bfc013c8 +bfc013ac: 00001821 move v1,zero +bfc013b0: 8fa2001c lw v0,28(sp) +bfc013b4: 00000000 nop +bfc013b8: 00431021 addu v0,v0,v1 +bfc013bc: 90420000 lbu v0,0(v0) +bfc013c0: 24630001 addiu v1,v1,1 +bfc013c4: a0820000 sb v0,0(a0) +bfc013c8: 8fa20014 lw v0,20(sp) +bfc013cc: 00000000 nop +bfc013d0: 0062102b sltu v0,v1,v0 +bfc013d4: 1440fff6 bnez v0,bfc013b0 +bfc013d8: 00652021 addu a0,v1,a1 +bfc013dc: 00c51821 addu v1,a2,a1 +bfc013e0: 0263102b sltu v0,s3,v1 +bfc013e4: 10400060 beqz v0,bfc01568 +bfc013e8: 02208021 move s0,s1 +bfc013ec: 0bf0055a j bfc01568 +bfc013f0: 00609821 move s3,v1 +bfc013f4: 0ff000b0 jal bfc002c0 +bfc013f8: 24841750 addiu a0,a0,5968 +bfc013fc: 8fa60010 lw a2,16(sp) +bfc01400: 26470100 addiu a3,s2,256 +bfc01404: 02661823 subu v1,s3,a2 +bfc01408: 27b10020 addiu s1,sp,32 +bfc0140c: 3c024a46 lui v0,0x4a46 +bfc01410: 00e32821 addu a1,a3,v1 +bfc01414: 02202021 move a0,s1 +bfc01418: 34424931 ori v0,v0,0x4931 +bfc0141c: afa60144 sw a2,324(sp) +bfc01420: afa3014c sw v1,332(sp) +bfc01424: afa70148 sw a3,328(sp) +bfc01428: 0ff00364 jal bfc00d90 +bfc0142c: afa20140 sw v0,320(sp) +bfc01430: 3c04bfc0 lui a0,0xbfc0 +bfc01434: 24841758 addiu a0,a0,5976 +bfc01438: 0ff000b0 jal bfc002c0 +bfc0143c: afa20150 sw v0,336(sp) +bfc01440: 8fa4014c lw a0,332(sp) +bfc01444: 0ff000e8 jal bfc003a0 +bfc01448: 00000000 nop +bfc0144c: 0ff000b0 jal bfc002c0 +bfc01450: 02a02021 move a0,s5 +bfc01454: 3c04bfc0 lui a0,0xbfc0 +bfc01458: 0ff000b0 jal bfc002c0 +bfc0145c: 24841774 addiu a0,a0,6004 +bfc01460: 0ff000e8 jal bfc003a0 +bfc01464: 02402021 move a0,s2 +bfc01468: 0ff000b0 jal bfc002c0 +bfc0146c: 02a02021 move a0,s5 +bfc01470: 3c04bfc0 lui a0,0xbfc0 +bfc01474: 0ff000b0 jal bfc002c0 +bfc01478: 24841790 addiu a0,a0,6032 +bfc0147c: 8fa40150 lw a0,336(sp) +bfc01480: 0ff000e8 jal bfc003a0 +bfc01484: 00000000 nop +bfc01488: 0ff000b0 jal bfc002c0 +bfc0148c: 02a02021 move a0,s5 +bfc01490: 3c04bfc0 lui a0,0xbfc0 +bfc01494: 0ff000b0 jal bfc002c0 +bfc01498: 248417ac addiu a0,a0,6060 +bfc0149c: 8fa6014c lw a2,332(sp) +bfc014a0: 02202021 move a0,s1 +bfc014a4: 24c60100 addiu a2,a2,256 +bfc014a8: 0ff00304 jal bfc00c10 +bfc014ac: 02402821 move a1,s2 +bfc014b0: 0440001f bltz v0,bfc01530 +bfc014b4: 00408021 move s0,v0 +bfc014b8: 0ff000b0 jal bfc002c0 +bfc014bc: 02c02021 move a0,s6 +bfc014c0: 0ff000b0 jal bfc002c0 +bfc014c4: 03c02021 move a0,s8 +bfc014c8: 02202021 move a0,s1 +bfc014cc: 02402821 move a1,s2 +bfc014d0: 27a60140 addiu a2,sp,320 +bfc014d4: 0ff00334 jal bfc00cd0 +bfc014d8: 24070100 li a3,256 +bfc014dc: 04400014 bltz v0,bfc01530 +bfc014e0: 00408021 move s0,v0 +bfc014e4: 8fa50148 lw a1,328(sp) +bfc014e8: 8fa60144 lw a2,324(sp) +bfc014ec: 8fa7014c lw a3,332(sp) +bfc014f0: 0ff00334 jal bfc00cd0 +bfc014f4: 02202021 move a0,s1 +bfc014f8: 0440000d bltz v0,bfc01530 +bfc014fc: 00408021 move s0,v0 +bfc01500: 0ff000b0 jal bfc002c0 +bfc01504: 02c02021 move a0,s6 +bfc01508: 3c04bfc0 lui a0,0xbfc0 +bfc0150c: 0ff000b0 jal bfc002c0 +bfc01510: 248417dc addiu a0,a0,6108 +bfc01514: 8fa50148 lw a1,328(sp) +bfc01518: 8fa60144 lw a2,324(sp) +bfc0151c: 8fa7014c lw a3,332(sp) +bfc01520: 0ff0033c jal bfc00cf0 +bfc01524: 02202021 move a0,s1 +bfc01528: 0441000a bgez v0,bfc01554 +bfc0152c: 00408021 move s0,v0 +bfc01530: 0ff000b0 jal bfc002c0 +bfc01534: 268417bc addiu a0,s4,6076 +bfc01538: 0ff000e8 jal bfc003a0 +bfc0153c: 02002021 move a0,s0 +bfc01540: 3c04bfc0 lui a0,0xbfc0 +bfc01544: 0ff000b0 jal bfc002c0 +bfc01548: 248417c8 addiu a0,a0,6088 +bfc0154c: 0bf0055a j bfc01568 +bfc01550: 00000000 nop +bfc01554: 0ff000b0 jal bfc002c0 +bfc01558: 02e02021 move a0,s7 +bfc0155c: 3c02bfc0 lui v0,0xbfc0 +bfc01560: 00400008 jr v0 +bfc01564: 00000000 nop +bfc01568: 0601ff7e bgez s0,bfc01364 +bfc0156c: 27b00040 addiu s0,sp,64 +bfc01570: 0bf004d5 j bfc01354 +bfc01574: 3c04bfc0 lui a0,0xbfc0 +bfc01578: 8fbf0264 lw ra,612(sp) +bfc0157c: 8fbe0260 lw s8,608(sp) +bfc01580: 8fb7025c lw s7,604(sp) +bfc01584: 8fb60258 lw s6,600(sp) +bfc01588: 8fb50254 lw s5,596(sp) +bfc0158c: 8fb40250 lw s4,592(sp) +bfc01590: 8fb3024c lw s3,588(sp) +bfc01594: 8fb20248 lw s2,584(sp) +bfc01598: 8fb10244 lw s1,580(sp) +bfc0159c: 8fb00240 lw s0,576(sp) +bfc015a0: 03e00008 jr ra +bfc015a4: 27bd0268 addiu sp,sp,616 + +bfc015a8 : +bfc015a8: 2cc20010 sltiu v0,a2,16 +bfc015ac: 00804821 move t1,a0 +bfc015b0: 1440002d bnez v0,bfc01668 +bfc015b4: 00804021 move t0,a0 +bfc015b8: 30870003 andi a3,a0,0x3 +bfc015bc: 10e0000e beqz a3,bfc015f8 +bfc015c0: 24820004 addiu v0,a0,4 +bfc015c4: 00052600 sll a0,a1,0x18 +bfc015c8: 00471023 subu v0,v0,a3 +bfc015cc: 00042603 sra a0,a0,0x18 +bfc015d0: 01201821 move v1,t1 +bfc015d4: a0640000 sb a0,0(v1) +bfc015d8: 24630001 addiu v1,v1,1 +bfc015dc: 1462fffd bne v1,v0,bfc015d4 +bfc015e0: 00000000 nop +bfc015e4: 00071027 nor v0,zero,a3 +bfc015e8: 24c3fffb addiu v1,a2,-5 +bfc015ec: 24440005 addiu a0,v0,5 +bfc015f0: 00623023 subu a2,v1,v0 +bfc015f4: 01244021 addu t0,t1,a0 +bfc015f8: 30a500ff andi a1,a1,0xff +bfc015fc: 01003821 move a3,t0 +bfc01600: 10a00005 beqz a1,bfc01618 +bfc01604: 00a01821 move v1,a1 +bfc01608: 00051200 sll v0,a1,0x8 +bfc0160c: 00451025 or v0,v0,a1 +bfc01610: 00021c00 sll v1,v0,0x10 +bfc01614: 00621825 or v1,v1,v0 +bfc01618: 000610c2 srl v0,a2,0x3 +bfc0161c: 1040001c beqz v0,bfc01690 +bfc01620: 30c60007 andi a2,a2,0x7 +bfc01624: 01002021 move a0,t0 +bfc01628: 00403821 move a3,v0 +bfc0162c: 24e7ffff addiu a3,a3,-1 +bfc01630: ac830000 sw v1,0(a0) +bfc01634: ac830004 sw v1,4(a0) +bfc01638: 14e0fffc bnez a3,bfc0162c +bfc0163c: 24840008 addiu a0,a0,8 +bfc01640: 000210c0 sll v0,v0,0x3 +bfc01644: 01023821 addu a3,t0,v0 +bfc01648: 00e02021 move a0,a3 +bfc0164c: 2cc20004 sltiu v0,a2,4 +bfc01650: 14400005 bnez v0,bfc01668 +bfc01654: 00804021 move t0,a0 +bfc01658: ace30000 sw v1,0(a3) +bfc0165c: 24e40004 addiu a0,a3,4 +bfc01660: 24c6fffc addiu a2,a2,-4 +bfc01664: 00804021 move t0,a0 +bfc01668: 10c00007 beqz a2,bfc01688 +bfc0166c: 00000000 nop +bfc01670: 00051600 sll v0,a1,0x18 +bfc01674: 00021603 sra v0,v0,0x18 +bfc01678: 24c6ffff addiu a2,a2,-1 +bfc0167c: a1020000 sb v0,0(t0) +bfc01680: 14c0fffd bnez a2,bfc01678 +bfc01684: 25080001 addiu t0,t0,1 +bfc01688: 03e00008 jr ra +bfc0168c: 01201021 move v0,t1 +bfc01690: 0bf00593 j bfc0164c +bfc01694: 01002021 move a0,t0