Calculate Pathing

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
#   ROUTINE: Calculate pathing?
#       Parameters:
#           r4              =   ElevationAddend (256 or 0)
#           r5              =   p2 (Sometimes = 3?)
#           r6              =   Start X
#           r7              =   Start Y
#           *(sp + 0x10)    =   Start Higher Elevation
#           *(sp + 0x14)    =   Destination X
#           *(sp + 0x18)    =   Destination Y
#           *(sp + 0x1c)    =   Destination Higher Elevation
#           *(sp + 0x20)    =   p9 (Sometimes = 1?)
#           *(sp + 0x24)    =   (pathResult) Pathing result (0 or 1?)
#           *(sp + 0x28)    =   p11 (Sometimes = 0, sometimes = 1?)
#       Returns:
#           r2              =   Pointer to pathing result (Generally 0x8018f7f0)
#           Pathing result definition:
#               0x00: Number of tiles moved
#               0x01 onward (For each tile moved):
#                   0x00 = Move east
#                   0x40 = Move west
#                   0x80 = Move south
#                   0xc0 = Move north
#                   (0x20 flag = Higher Elevation)

8017813c: 27bdfdc8 addiu r29,r29,-0x0238
80178140: afb40220 sw r20,0x0220(r29)
80178144: 00a0a021 addu r20,r5,r0
80178148: 8fa90248 lw r9,0x0248(r29)
8017814c: 8fa5024c lw r5,0x024c(r29)
80178150: 8fa80250 lw r8,0x0250(r29)
80178154: 8faa0254 lw r10,0x0254(r29)
80178158: 8fa20258 lw r2,0x0258(r29)
8017815c: afb10214 sw r17,0x0214(r29)
80178160: 3c118019 lui r17,0x8019
80178164: 8e31f4e0 lw r17,-0x0b20(r17)
80178168: afb00210 sw r16,0x0210(r29)
8017816c: 3c108019 lui r16,0x8019
80178170: 8e10f4e4 lw r16,-0x0b1c(r16)
80178174: afb50224 sw r21,0x0224(r29)
80178178: 3c158019 lui r21,0x8019
8017817c: 8eb5f4e8 lw r21,-0x0b18(r21)
80178180: afb60228 sw r22,0x0228(r29)
80178184: 3c168019 lui r22,0x8019
80178188: 8ed6f4f0 lw r22,-0x0b10(r22)
8017818c: 8fab025c lw r11,0x025c(r29)
80178190: afb3021c sw r19,0x021c(r29)
80178194: 00809821 addu r19,r4,r0
80178198: afbe0230 sw r30,0x0230(r29)
8017819c: 0000f021 addu r30,r0,r0
801781a0: afbf0234 sw r31,0x0234(r29)
801781a4: afb7022c sw r23,0x022c(r29)
801781a8: afb20218 sw r18,0x0218(r29)
801781ac: 104000e7 beq r2,r0,0x8017854c
801781b0: ad600000 sw r0,0x0000(r11)
801781b4: 04c002ae bltz r6,0x80178c70
801781b8: 00001021 addu r2,r0,r0
801781bc: 3c04800e lui r4,0x800e
801781c0: 90844e9c lbu r4,0x4e9c(r4)
801781c4: 00000000 nop
801781c8: 00c4102a slt r2,r6,r4
801781cc: 10400236 beq r2,r0,0x80178aa8
801781d0: 00000000 nop
801781d4: 04e002a6 bltz r7,0x80178c70
801781d8: 00001021 addu r2,r0,r0
801781dc: 3c03800e lui r3,0x800e
801781e0: 90634ea0 lbu r3,0x4ea0(r3)
801781e4: 00000000 nop
801781e8: 00e3102a slt r2,r7,r3
801781ec: 1040022e beq r2,r0,0x80178aa8
801781f0: 2d220002 sltiu r2,r9,0x0002
801781f4: 1040022c beq r2,r0,0x80178aa8
801781f8: 00000000 nop
801781fc: 04a0022a bltz r5,0x80178aa8
80178200: 00a4102a slt r2,r5,r4
80178204: 10400228 beq r2,r0,0x80178aa8
80178208: 00000000 nop
8017820c: 05000226 bltz r8,0x80178aa8
80178210: 0103102a slt r2,r8,r3
80178214: 10400224 beq r2,r0,0x80178aa8
80178218: 2d420002 sltiu r2,r10,0x0002
8017821c: 10400294 beq r2,r0,0x80178c70
80178220: 00001021 addu r2,r0,r0
80178224: a2200023 sb r0,0x0023(r17)
80178228: a2260007 sb r6,0x0007(r17)
8017822c: a2270008 sb r7,0x0008(r17)
80178230: a2290009 sb r9,0x0009(r17)
80178234: a225000a sb r5,0x000a(r17)
80178238: a228000b sb r8,0x000b(r17)
8017823c: a22a000c sb r10,0x000c(r17)
80178240: 3c02800e lui r2,0x800e
80178244: 90424e9c lbu r2,0x4e9c(r2)
80178248: 92230008 lbu r3,0x0008(r17)
8017824c: a2220018 sb r2,0x0018(r17)
80178250: 92220018 lbu r2,0x0018(r17)
80178254: 00000000 nop
80178258: 00620018 mult r3,r2
8017825c: 92240007 lbu r4,0x0007(r17)
80178260: 92220009 lbu r2,0x0009(r17)
80178264: 3c03800e lui r3,0x800e
80178268: 90634ea0 lbu r3,0x4ea0(r3)
8017826c: 00021200 sll r2,r2,0x08
80178270: a2230019 sb r3,0x0019(r17)
80178274: 00001812 mflo r3
80178278: 00431021 addu r2,r2,r3
8017827c: 00441021 addu r2,r2,r4
80178280: 3c018019 lui r1,0x8019
80178284: ac22f7b4 sw r2,-0x084c(r1)
80178288: 000210c0 sll r2,r2,0x03
8017828c: 3c018019 lui r1,0x8019
80178290: 00220821 addu r1,r1,r2
80178294: 9023f8d2 lbu r3,-0x072e(r1)
80178298: 00000000 nop
8017829c: 30620001 andi r2,r3,0x0001
801782a0: 14400273 bne r2,r0,0x80178c70
801782a4: 00001021 addu r2,r0,r0
801782a8: 00031042 srl r2,r3,0x01
801782ac: 30420001 andi r2,r2,0x0001
801782b0: 1440026f bne r2,r0,0x80178c70
801782b4: 00001021 addu r2,r0,r0
801782b8: 9223000b lbu r3,0x000b(r17)
801782bc: 92220018 lbu r2,0x0018(r17)
801782c0: 00000000 nop
801782c4: 00620018 mult r3,r2
801782c8: 9223000c lbu r3,0x000c(r17)
801782cc: 9222000a lbu r2,0x000a(r17)
801782d0: 00031a00 sll r3,r3,0x08
801782d4: 00002012 mflo r4
801782d8: 00641821 addu r3,r3,r4
801782dc: 00431021 addu r2,r2,r3
801782e0: a6220000 sh r2,0x0000(r17)
801782e4: 96220000 lhu r2,0x0000(r17)
801782e8: 00000000 nop
801782ec: 000210c0 sll r2,r2,0x03
801782f0: 3c018019 lui r1,0x8019
801782f4: 00220821 addu r1,r1,r2
801782f8: 9023f8d2 lbu r3,-0x072e(r1)
801782fc: 00000000 nop
80178300: 30620001 andi r2,r3,0x0001
80178304: 1440025a bne r2,r0,0x80178c70
80178308: 00001021 addu r2,r0,r0
8017830c: 00031042 srl r2,r3,0x01
80178310: 30420001 andi r2,r2,0x0001
80178314: 14400256 bne r2,r0,0x80178c70
80178318: 00001021 addu r2,r0,r0
8017831c: 3402007f ori r2,r0,0x007f
80178320: a222000d sb r2,0x000d(r17)
80178324: 34020001 ori r2,r0,0x0001
80178328: a2220012 sb r2,0x0012(r17)
8017832c: a2220013 sb r2,0x0013(r17)
80178330: 34020006 ori r2,r0,0x0006
80178334: a220001d sb r0,0x001d(r17)
80178338: a222001b sb r2,0x001b(r17)
8017833c: 0c05d0dc jal 0x80174370         00174370-001743c4 Weather related
80178340: a220001c sb r0,0x001c(r17)
80178344: 00009021 addu r18,r0,r0
80178348: 3c078006 lui r7,0x8006
8017834c: 24e7ea50 addiu r7,r7,-0x15b0
80178350: 32640100 andi r4,r19,0x0100
80178354: 340600ff ori r6,r0,0x00ff
80178358: 3c018019 lui r1,0x8019
8017835c: a022f7c4 sb r2,-0x083c(r1)
80178360: 34020007 ori r2,r0,0x0007
80178364: a220000f sb r0,0x000f(r17)
80178368: a222000e sb r2,0x000e(r17)
8017836c: a2200010 sb r0,0x0010(r17)
80178370: 3c018019 lui r1,0x8019
80178374: a020f7d0 sb r0,-0x0830(r1)
80178378: 9222000f lbu r2,0x000f(r17)
8017837c: 34050001 ori r5,r0,0x0001
80178380: 3c018019 lui r1,0x8019
80178384: a022f7a8 sb r2,-0x0858(r1)
80178388: 3c038019 lui r3,0x8019
8017838c: 9063f7a8 lbu r3,-0x0858(r3)
80178390: 00000000 nop
80178394: 00031180 sll r2,r3,0x06
80178398: 00471021 addu r2,r2,r7
8017839c: 00521021 addu r2,r2,r18
801783a0: 90420000 lbu r2,0x0000(r2)
801783a4: 3c018019 lui r1,0x8019
801783a8: a022f7c8 sb r2,-0x0838(r1)
801783ac: 3c028019 lui r2,0x8019
801783b0: 9042f7c8 lbu r2,-0x0838(r2)
801783b4: 00000000 nop
801783b8: 14400005 bne r2,r0,0x801783d0
801783bc: 00000000 nop
801783c0: 3c028019 lui r2,0x8019
801783c4: 9042f7c4 lbu r2,-0x083c(r2)
801783c8: 3c018019 lui r1,0x8019
801783cc: a022f7c8 sb r2,-0x0838(r1)
801783d0: 10800005 beq r4,r0,0x801783e8
801783d4: 00000000 nop
801783d8: 10660003 beq r3,r6,0x801783e8
801783dc: 00000000 nop
801783e0: 3c018019 lui r1,0x8019
801783e4: a025f7c8 sb r5,-0x0838(r1)
801783e8: 3c028019 lui r2,0x8019
801783ec: 8c42f4ec lw r2,-0x0b14(r2)
801783f0: 3c038019 lui r3,0x8019
801783f4: 9063f7c8 lbu r3,-0x0838(r3)
801783f8: 00521021 addu r2,r2,r18
801783fc: 26520001 addiu r18,r18,0x0001
80178400: a0430000 sb r3,0x0000(r2)
80178404: 2a420100 slti r2,r18,0x0100
80178408: 1440ffdf bne r2,r0,0x80178388
8017840c: 00000000 nop
80178410: 3c018019 lui r1,0x8019
80178414: a034f7a8 sb r20,-0x0858(r1)
80178418: 3c028019 lui r2,0x8019
8017841c: 9042f7a8 lbu r2,-0x0858(r2)
80178420: 00000000 nop
80178424: 2c420008 sltiu r2,r2,0x0008
80178428: 14400004 bne r2,r0,0x8017843c
8017842c: 340400ff ori r4,r0,0x00ff
80178430: 34020007 ori r2,r0,0x0007
80178434: 3c018019 lui r1,0x8019
80178438: a022f7a8 sb r2,-0x0858(r1)
8017843c: 3c028019 lui r2,0x8019
80178440: 9042f7a8 lbu r2,-0x0858(r2)
80178444: 00000000 nop
80178448: 00021040 sll r2,r2,0x01
8017844c: a2220002 sb r2,0x0002(r17)
80178450: 3c028019 lui r2,0x8019
80178454: 9042f7a8 lbu r2,-0x0858(r2)
80178458: 3412000f ori r18,r0,0x000f
8017845c: a2220004 sb r2,0x0004(r17)
80178460: 3c038019 lui r3,0x8019
80178464: 9063f7a8 lbu r3,-0x0858(r3)
80178468: 3402007c ori r2,r0,0x007c
8017846c: a2200015 sb r0,0x0015(r17)
80178470: a2220006 sb r2,0x0006(r17)
80178474: a2200016 sb r0,0x0016(r17)
80178478: 00031842 srl r3,r3,0x01
8017847c: a2230005 sb r3,0x0005(r17)
80178480: 3c028019 lui r2,0x8019
80178484: 9042f4fc lbu r2,-0x0b04(r2)
80178488: 26a30069 addiu r3,r21,0x0069
8017848c: 3c018019 lui r1,0x8019
80178490: a020f7cc sb r0,-0x0834(r1)
80178494: a222001a sb r2,0x001a(r17)
80178498: a0640003 sb r4,0x0003(r3)
8017849c: 2652ffff addiu r18,r18,-0x0001
801784a0: 0641fffd bgez r18,0x80178498
801784a4: 2463fff9 addiu r3,r3,-0x0007
801784a8: 3c018019 lui r1,0x8019
801784ac: ac20f7d8 sw r0,-0x0828(r1)
801784b0: 0c05d3a1 jal 0x80174e84
801784b4: 34040003 ori r4,r0,0x0003
801784b8: 34020004 ori r2,r0,0x0004
801784bc: a2020054 sb r2,0x0054(r16)
801784c0: 3c048019 lui r4,0x8019
801784c4: 8c84f7b4 lw r4,-0x084c(r4)
801784c8: 92220006 lbu r2,0x0006(r17)
801784cc: 00041880 sll r3,r4,0x02
801784d0: 00641821 addu r3,r3,r4
801784d4: 24420001 addiu r2,r2,0x0001
801784d8: 3c018019 lui r1,0x8019
801784dc: 00230821 addu r1,r1,r3
801784e0: a0222dd8 sb r2,0x2dd8(r1)
801784e4: 3c038019 lui r3,0x8019
801784e8: 8c63f7b4 lw r3,-0x084c(r3)
801784ec: 00000000 nop
801784f0: 00031080 sll r2,r3,0x02
801784f4: 00431021 addu r2,r2,r3
801784f8: 3c018019 lui r1,0x8019
801784fc: 00220821 addu r1,r1,r2
80178500: a0202ddc sb r0,0x2ddc(r1)
80178504: 34020002 ori r2,r0,0x0002
80178508: a2020055 sb r2,0x0055(r16)
8017850c: 3c038019 lui r3,0x8019
80178510: 8c63f7b4 lw r3,-0x084c(r3)
80178514: 00000000 nop
80178518: 02c31821 addu r3,r22,r3
8017851c: 90620000 lbu r2,0x0000(r3)
80178520: 00000000 nop
80178524: 34420001 ori r2,r2,0x0001
80178528: a0620000 sb r2,0x0000(r3)
8017852c: 92220006 lbu r2,0x0006(r17)
80178530: 00000000 nop
80178534: 24420001 addiu r2,r2,0x0001
80178538: a2020062 sb r2,0x0062(r16)
8017853c: 3c018019 lui r1,0x8019
80178540: ac20f7dc sw r0,-0x0824(r1)
80178544: 0805e158 j 0x80178560
80178548: 00000000 nop
8017854c: 3c048019 lui r4,0x8019
80178550: 24843924 addiu r4,r4,0x3924
80178554: 3c051f80 lui r5,0x1f80
80178558: 0c017895 jal 0x8005e254
8017855c: 34060400 ori r6,r0,0x0400
80178560: 3c128019 lui r18,0x8019
80178564: 8e52f7dc lw r18,-0x0824(r18)
80178568: 92220006 lbu r2,0x0006(r17)
8017856c: 00000000 nop
80178570: 0242102a slt r2,r18,r2
80178574: 104000c5 beq r2,r0,0x8017888c
80178578: 00000000 nop
8017857c: 0000b821 addu r23,r0,r0
80178580: 3c158019 lui r21,0x8019
80178584: 26b5f8cc addiu r21,r21,-0x0734
80178588: 3c148019 lui r20,0x8019
8017858c: 26942dd8 addiu r20,r20,0x2dd8
80178590: 27b30010 addiu r19,r29,0x0010
80178594: 8fab0260 lw r11,0x0260(r29)
80178598: 00000000 nop
8017859c: 11600007 beq r11,r0,0x801785bc
801785a0: 00000000 nop
801785a4: 0c066bbc jal 0x8019aef0
801785a8: 00000000 nop
801785ac: 10400003 beq r2,r0,0x801785bc
801785b0: 00000000 nop
801785b4: 17c0013e bne r30,r0,0x80178ab0
801785b8: 3c041f80 lui r4,0x1f80
801785bc: 92040062 lbu r4,0x0062(r16)
801785c0: 00000000 nop
801785c4: 108000b1 beq r4,r0,0x8017888c
801785c8: 00000000 nop
801785cc: 96220000 lhu r2,0x0000(r17)
801785d0: 00000000 nop
801785d4: 00021880 sll r3,r2,0x02
801785d8: 00621821 addu r3,r3,r2
801785dc: 3c018019 lui r1,0x8019
801785e0: 00230821 addu r1,r1,r3
801785e4: 90222dd8 lbu r2,0x2dd8(r1)
801785e8: 00000000 nop
801785ec: 0044102b sltu r2,r2,r4
801785f0: 104000a6 beq r2,r0,0x8017888c
801785f4: 00000000 nop
801785f8: a600002a sh r0,0x002a(r16)
801785fc: 8602002a lh r2,0x002a(r16)
80178600: a6000028 sh r0,0x0028(r16)
80178604: 00021200 sll r2,r2,0x08
80178608: a602002c sh r2,0x002c(r16)
8017860c: 92220019 lbu r2,0x0019(r17)
80178610: 00000000 nop
80178614: 02e2102a slt r2,r23,r2
80178618: 1040003e beq r2,r0,0x80178714
8017861c: 00000000 nop
80178620: 86030028 lh r3,0x0028(r16)
80178624: 92220018 lbu r2,0x0018(r17)
80178628: 00000000 nop
8017862c: 00620018 mult r3,r2
80178630: a6000026 sh r0,0x0026(r16)
80178634: 9603002c lhu r3,0x002c(r16)
80178638: 00001012 mflo r2
8017863c: 00621821 addu r3,r3,r2
80178640: a603002e sh r3,0x002e(r16)
80178644: 92220018 lbu r2,0x0018(r17)
80178648: 00000000 nop
8017864c: 02e2102a slt r2,r23,r2
80178650: 10400026 beq r2,r0,0x801786ec
80178654: 00000000 nop
80178658: 9602002e lhu r2,0x002e(r16)
8017865c: 96030026 lhu r3,0x0026(r16)
80178660: 00000000 nop
80178664: 00431021 addu r2,r2,r3
80178668: a602001a sh r2,0x001a(r16)
8017866c: 00021400 sll r2,r2,0x10
80178670: 00021343 sra r2,r2,0x0d
80178674: 8603001a lh r3,0x001a(r16)
80178678: 00551021 addu r2,r2,r21
8017867c: ae020000 sw r2,0x0000(r16)
80178680: 00031080 sll r2,r3,0x02
80178684: 00431021 addu r2,r2,r3
80178688: 8603001a lh r3,0x001a(r16)
8017868c: 00541021 addu r2,r2,r20
80178690: ae020008 sw r2,0x0008(r16)
80178694: 02c31021 addu r2,r22,r3
80178698: 90420000 lbu r2,0x0000(r2)
8017869c: 02631821 addu r3,r19,r3
801786a0: 30420001 andi r2,r2,0x0001
801786a4: a0620000 sb r2,0x0000(r3)
801786a8: 8603001a lh r3,0x001a(r16)
801786ac: 00000000 nop
801786b0: 02c31821 addu r3,r22,r3
801786b4: 90620000 lbu r2,0x0000(r3)
801786b8: 00000000 nop
801786bc: 304200fe andi r2,r2,0x00fe
801786c0: a0620000 sb r2,0x0000(r3)
801786c4: 96020026 lhu r2,0x0026(r16)
801786c8: 00000000 nop
801786cc: 24420001 addiu r2,r2,0x0001
801786d0: a6020026 sh r2,0x0026(r16)
801786d4: 00021400 sll r2,r2,0x10
801786d8: 92230018 lbu r3,0x0018(r17)
801786dc: 00021403 sra r2,r2,0x10
801786e0: 0043102a slt r2,r2,r3
801786e4: 1440ffdc bne r2,r0,0x80178658
801786e8: 00000000 nop
801786ec: 96020028 lhu r2,0x0028(r16)
801786f0: 00000000 nop
801786f4: 24420001 addiu r2,r2,0x0001
801786f8: a6020028 sh r2,0x0028(r16)
801786fc: 00021400 sll r2,r2,0x10
80178700: 92230019 lbu r3,0x0019(r17)
80178704: 00021403 sra r2,r2,0x10
80178708: 0043102a slt r2,r2,r3
8017870c: 1440ffc4 bne r2,r0,0x80178620
80178710: 00000000 nop
80178714: 9602002a lhu r2,0x002a(r16)
80178718: 00000000 nop
8017871c: 24420001 addiu r2,r2,0x0001
80178720: a602002a sh r2,0x002a(r16)
80178724: 00021400 sll r2,r2,0x10
80178728: 00021403 sra r2,r2,0x10
8017872c: 28420002 slti r2,r2,0x0002
80178730: 1440ffb2 bne r2,r0,0x801785fc
80178734: 00000000 nop
80178738: a2000062 sb r0,0x0062(r16)
8017873c: a600002a sh r0,0x002a(r16)
80178740: 8602002a lh r2,0x002a(r16)
80178744: a6000028 sh r0,0x0028(r16)
80178748: 00021200 sll r2,r2,0x08
8017874c: a602002c sh r2,0x002c(r16)
80178750: 92220019 lbu r2,0x0019(r17)
80178754: 00000000 nop
80178758: 1040003e beq r2,r0,0x80178854
8017875c: 00000000 nop
80178760: 86030028 lh r3,0x0028(r16)
80178764: 92220018 lbu r2,0x0018(r17)
80178768: 00000000 nop
8017876c: 00620018 mult r3,r2
80178770: a6000026 sh r0,0x0026(r16)
80178774: 9603002c lhu r3,0x002c(r16)
80178778: 00001012 mflo r2
8017877c: 00621821 addu r3,r3,r2
80178780: a603002e sh r3,0x002e(r16)
80178784: 92220018 lbu r2,0x0018(r17)
80178788: 00000000 nop
8017878c: 10400027 beq r2,r0,0x8017882c
80178790: 00000000 nop
80178794: 9602002e lhu r2,0x002e(r16)
80178798: 96030026 lhu r3,0x0026(r16)
8017879c: 00000000 nop
801787a0: 00431021 addu r2,r2,r3
801787a4: a602001a sh r2,0x001a(r16)
801787a8: 00021400 sll r2,r2,0x10
801787ac: 00021343 sra r2,r2,0x0d
801787b0: 8603001a lh r3,0x001a(r16)
801787b4: 00551021 addu r2,r2,r21
801787b8: ae020000 sw r2,0x0000(r16)
801787bc: 00031080 sll r2,r3,0x02
801787c0: 00431021 addu r2,r2,r3
801787c4: 8603001a lh r3,0x001a(r16)
801787c8: 00541021 addu r2,r2,r20
801787cc: ae020008 sw r2,0x0008(r16)
801787d0: 02631821 addu r3,r19,r3
801787d4: 90620000 lbu r2,0x0000(r3)
801787d8: 00000000 nop
801787dc: 10400009 beq r2,r0,0x80178804
801787e0: 00000000 nop
801787e4: 0c05d7a8 jal 0x80175ea0
801787e8: 00000000 nop
801787ec: 9222001d lbu r2,0x001d(r17)
801787f0: 00000000 nop
801787f4: 14400003 bne r2,r0,0x80178804
801787f8: 00000000 nop
801787fc: 0c05d936 jal 0x801764d8
80178800: 00000000 nop
80178804: 96020026 lhu r2,0x0026(r16)
80178808: 00000000 nop
8017880c: 24420001 addiu r2,r2,0x0001
80178810: a6020026 sh r2,0x0026(r16)
80178814: 00021400 sll r2,r2,0x10
80178818: 92230018 lbu r3,0x0018(r17)
8017881c: 00021403 sra r2,r2,0x10
80178820: 0043102a slt r2,r2,r3
80178824: 1440ffdb bne r2,r0,0x80178794
80178828: 00000000 nop
8017882c: 96020028 lhu r2,0x0028(r16)
80178830: 00000000 nop
80178834: 24420001 addiu r2,r2,0x0001
80178838: a6020028 sh r2,0x0028(r16)
8017883c: 00021400 sll r2,r2,0x10
80178840: 92230019 lbu r3,0x0019(r17)
80178844: 00021403 sra r2,r2,0x10
80178848: 0043102a slt r2,r2,r3
8017884c: 1440ffc4 bne r2,r0,0x80178760
80178850: 00000000 nop
80178854: 9602002a lhu r2,0x002a(r16)
80178858: 00000000 nop
8017885c: 24420001 addiu r2,r2,0x0001
80178860: a602002a sh r2,0x002a(r16)
80178864: 00021400 sll r2,r2,0x10
80178868: 00021403 sra r2,r2,0x10
8017886c: 28420002 slti r2,r2,0x0002
80178870: 1440ffb3 bne r2,r0,0x80178740
80178874: 00000000 nop
80178878: 92220006 lbu r2,0x0006(r17)
8017887c: 26520001 addiu r18,r18,0x0001
80178880: 0242102a slt r2,r18,r2
80178884: 1440ff43 bne r2,r0,0x80178594
80178888: 341e0001 ori r30,r0,0x0001
8017888c: 00009021 addu r18,r0,r0
80178890: 02c04021 addu r8,r22,r0
80178894: 00003821 addu r7,r0,r0
80178898: 00003021 addu r6,r0,r0
8017889c: 3c028019 lui r2,0x8019
801788a0: 2442f8cc addiu r2,r2,-0x0734
801788a4: 00c22021 addu r4,r6,r2
801788a8: 90820005 lbu r2,0x0005(r4)
801788ac: 00000000 nop
801788b0: 304200df andi r2,r2,0x00df
801788b4: a0820005 sb r2,0x0005(r4)
801788b8: 3c018019 lui r1,0x8019
801788bc: 00270821 addu r1,r1,r7
801788c0: 90222ddb lbu r2,0x2ddb(r1)
801788c4: 00000000 nop
801788c8: 14400045 bne r2,r0,0x801789e0
801788cc: 00000000 nop
801788d0: 3c018019 lui r1,0x8019
801788d4: 00260821 addu r1,r1,r6
801788d8: 9022f8cf lbu r2,-0x0731(r1)
801788dc: 00000000 nop
801788e0: 3042001f andi r2,r2,0x001f
801788e4: 28420003 slti r2,r2,0x0003
801788e8: 14400006 bne r2,r0,0x80178904
801788ec: 00000000 nop
801788f0: 91020000 lbu r2,0x0000(r8)
801788f4: 00000000 nop
801788f8: 30420002 andi r2,r2,0x0002
801788fc: 14400040 bne r2,r0,0x80178a00
80178900: 00000000 nop
80178904: 3c018019 lui r1,0x8019
80178908: 00270821 addu r1,r1,r7
8017890c: 90222dd8 lbu r2,0x2dd8(r1)
80178910: 00000000 nop
80178914: 1040003a beq r2,r0,0x80178a00
80178918: 00000000 nop
8017891c: 90850003 lbu r5,0x0003(r4)
80178920: 00000000 nop
80178924: 30a2001f andi r2,r5,0x001f
80178928: 28420004 slti r2,r2,0x0004
8017892c: 10400034 beq r2,r0,0x80178a00
80178930: 3403001c ori r3,r0,0x001c
80178934: 3c018019 lui r1,0x8019
80178938: 00260821 addu r1,r1,r6
8017893c: 9022f8cc lbu r2,-0x0734(r1)
80178940: 00000000 nop
80178944: 3042003f andi r2,r2,0x003f
80178948: 1043002d beq r2,r3,0x80178a00
8017894c: 00000000 nop
80178950: 90820003 lbu r2,0x0003(r4)
80178954: 00000000 nop
80178958: 304300e0 andi r3,r2,0x00e0
8017895c: 10600005 beq r3,r0,0x80178974
80178960: 34020060 ori r2,r0,0x0060
80178964: 92220014 lbu r2,0x0014(r17)
80178968: 00000000 nop
8017896c: 14400024 bne r2,r0,0x80178a00
80178970: 34020060 ori r2,r0,0x0060
80178974: 14620005 bne r3,r2,0x8017898c
80178978: 00051142 srl r2,r5,0x05
8017897c: 92220012 lbu r2,0x0012(r17)
80178980: 00000000 nop
80178984: 1440001e bne r2,r0,0x80178a00
80178988: 00051142 srl r2,r5,0x05
8017898c: 28420004 slti r2,r2,0x0004
80178990: 14400005 bne r2,r0,0x801789a8
80178994: 34030012 ori r3,r0,0x0012
80178998: 92220013 lbu r2,0x0013(r17)
8017899c: 00000000 nop
801789a0: 14400017 bne r2,r0,0x80178a00
801789a4: 00000000 nop
801789a8: 90820000 lbu r2,0x0000(r4)
801789ac: 00000000 nop
801789b0: 3042003f andi r2,r2,0x003f
801789b4: 14430005 bne r2,r3,0x801789cc
801789b8: 00000000 nop
801789bc: 9222000e lbu r2,0x000e(r17)
801789c0: 00000000 nop
801789c4: 1040000e beq r2,r0,0x80178a00
801789c8: 00000000 nop
801789cc: 91020000 lbu r2,0x0000(r8)
801789d0: 00000000 nop
801789d4: 30420010 andi r2,r2,0x0010
801789d8: 10400009 beq r2,r0,0x80178a00
801789dc: 00000000 nop
801789e0: 96020018 lhu r2,0x0018(r16)
801789e4: 00000000 nop
801789e8: 24420001 addiu r2,r2,0x0001
801789ec: a6020018 sh r2,0x0018(r16)
801789f0: 90820005 lbu r2,0x0005(r4)
801789f4: 00000000 nop
801789f8: 34420020 ori r2,r2,0x0020
801789fc: a0820005 sb r2,0x0005(r4)
80178a00: 25080001 addiu r8,r8,0x0001
80178a04: 24e70005 addiu r7,r7,0x0005
80178a08: 26520001 addiu r18,r18,0x0001
80178a0c: 2a420200 slti r2,r18,0x0200
80178a10: 1440ffa2 bne r2,r0,0x8017889c
80178a14: 24c60008 addiu r6,r6,0x0008
80178a18: 34020001 ori r2,r0,0x0001
80178a1c: 3c018019 lui r1,0x8019
80178a20: ac22f510 sw r2,-0x0af0(r1)
80178a24: 9222000d lbu r2,0x000d(r17)
80178a28: 3c018019 lui r1,0x8019
80178a2c: ac22f514 sw r2,-0x0aec(r1)
80178a30: 9222000a lbu r2,0x000a(r17)
80178a34: 00000000 nop
80178a38: a6020026 sh r2,0x0026(r16)
80178a3c: 9222000b lbu r2,0x000b(r17)
80178a40: 00000000 nop
80178a44: a6020028 sh r2,0x0028(r16)
80178a48: 9222000c lbu r2,0x000c(r17)
80178a4c: a2000072 sb r0,0x0072(r16)
80178a50: a602002a sh r2,0x002a(r16)
80178a54: 9223000b lbu r3,0x000b(r17)
80178a58: 92220018 lbu r2,0x0018(r17)
80178a5c: 00000000 nop
80178a60: 00620018 mult r3,r2
80178a64: 9222000c lbu r2,0x000c(r17)
80178a68: 9224000a lbu r4,0x000a(r17)
80178a6c: 00021200 sll r2,r2,0x08
80178a70: 00001812 mflo r3
80178a74: 00431021 addu r2,r2,r3
80178a78: 00441021 addu r2,r2,r4
80178a7c: 3c018019 lui r1,0x8019
80178a80: ac22f7b4 sw r2,-0x084c(r1)
80178a84: 000210c0 sll r2,r2,0x03
80178a88: 3c018019 lui r1,0x8019
80178a8c: 00220821 addu r1,r1,r2
80178a90: 9022f8d1 lbu r2,-0x072f(r1)
80178a94: 00000000 nop
80178a98: 00021142 srl r2,r2,0x05
80178a9c: 30420001 andi r2,r2,0x0001
80178aa0: 1440000e bne r2,r0,0x80178adc
80178aa4: 00000000 nop
80178aa8: 0805e31c j 0x80178c70
80178aac: 00001021 addu r2,r0,r0
80178ab0: 3c058019 lui r5,0x8019
80178ab4: 24a53924 addiu r5,r5,0x3924
80178ab8: 34060400 ori r6,r0,0x0400
80178abc: 8fab025c lw r11,0x025c(r29)
80178ac0: 34020001 ori r2,r0,0x0001
80178ac4: 3c018019 lui r1,0x8019
80178ac8: ac32f7dc sw r18,-0x0824(r1)
80178acc: 0c017895 jal 0x8005e254
80178ad0: ad620000 sw r2,0x0000(r11)
80178ad4: 0805e31a j 0x80178c68
80178ad8: 00000000 nop
80178adc: 3c018019 lui r1,0x8019
80178ae0: ac36f7ac sw r22,-0x0854(r1)
80178ae4: 0c05e500 jal 0x80179400
80178ae8: 00000000 nop
80178aec: 34020004 ori r2,r0,0x0004
80178af0: 3c018019 lui r1,0x8019
80178af4: a020f86e sb r0,-0x0792(r1)
80178af8: 3c018019 lui r1,0x8019
80178afc: a020f86f sb r0,-0x0791(r1)
80178b00: a220001e sb r0,0x001e(r17)
80178b04: a220001f sb r0,0x001f(r17)
80178b08: a2020054 sb r2,0x0054(r16)
80178b0c: 340200ff ori r2,r0,0x00ff
80178b10: a6020022 sh r2,0x0022(r16)
80178b14: 86030022 lh r3,0x0022(r16)
80178b18: 34020002 ori r2,r0,0x0002
80178b1c: a2000040 sb r0,0x0040(r16)
80178b20: a2000041 sb r0,0x0041(r16)
80178b24: a200005e sb r0,0x005e(r16)
80178b28: 1060004d beq r3,r0,0x80178c60
80178b2c: a2020055 sb r2,0x0055(r16)
80178b30: 92020072 lbu r2,0x0072(r16)
80178b34: 86030028 lh r3,0x0028(r16)
80178b38: a2020073 sb r2,0x0073(r16)
80178b3c: 92220018 lbu r2,0x0018(r17)
80178b40: 00000000 nop
80178b44: 00620018 mult r3,r2
80178b48: 8604002a lh r4,0x002a(r16)
80178b4c: 00000000 nop
80178b50: 00042200 sll r4,r4,0x08
80178b54: 96030026 lhu r3,0x0026(r16)
80178b58: 00001012 mflo r2
80178b5c: 00822021 addu r4,r4,r2
80178b60: 00832021 addu r4,r4,r3
80178b64: a604001a sh r4,0x001a(r16)
80178b68: 00042400 sll r4,r4,0x10
80178b6c: 00042343 sra r4,r4,0x0d
80178b70: 9202005e lbu r2,0x005e(r16)
80178b74: 8603001a lh r3,0x001a(r16)
80178b78: 24420001 addiu r2,r2,0x0001
80178b7c: a202005e sb r2,0x005e(r16)
80178b80: 00031080 sll r2,r3,0x02
80178b84: 00431021 addu r2,r2,r3
80178b88: 3c038019 lui r3,0x8019
80178b8c: 24632dd8 addiu r3,r3,0x2dd8
80178b90: 00431021 addu r2,r2,r3
80178b94: ae020008 sw r2,0x0008(r16)
80178b98: 3c028019 lui r2,0x8019
80178b9c: 2442f8cc addiu r2,r2,-0x0734
80178ba0: 8e030008 lw r3,0x0008(r16)
80178ba4: 00822021 addu r4,r4,r2
80178ba8: ae040000 sw r4,0x0000(r16)
80178bac: 90620000 lbu r2,0x0000(r3)
80178bb0: 8e030008 lw r3,0x0008(r16)
80178bb4: 3c018019 lui r1,0x8019
80178bb8: a022f7a8 sb r2,-0x0858(r1)
80178bbc: 9202005e lbu r2,0x005e(r16)
80178bc0: 00000000 nop
80178bc4: a0620001 sb r2,0x0001(r3)
80178bc8: 3c028019 lui r2,0x8019
80178bcc: 9042f7a8 lbu r2,-0x0858(r2)
80178bd0: 86030026 lh r3,0x0026(r16)
80178bd4: a6020022 sh r2,0x0022(r16)
80178bd8: 92220007 lbu r2,0x0007(r17)
80178bdc: 00000000 nop
80178be0: 1462000b bne r3,r2,0x80178c10
80178be4: 00000000 nop
80178be8: 86030028 lh r3,0x0028(r16)
80178bec: 92220008 lbu r2,0x0008(r17)
80178bf0: 00000000 nop
80178bf4: 14620006 bne r3,r2,0x80178c10
80178bf8: 00000000 nop
80178bfc: 8603002a lh r3,0x002a(r16)
80178c00: 92220009 lbu r2,0x0009(r17)
80178c04: 00000000 nop
80178c08: 10620015 beq r3,r2,0x80178c60
80178c0c: 00000000 nop
80178c10: 0c05de77 jal 0x801779dc
80178c14: 00000000 nop
80178c18: 86030022 lh r3,0x0022(r16)
80178c1c: 3c028019 lui r2,0x8019
80178c20: 9042f7a8 lbu r2,-0x0858(r2)
80178c24: 00000000 nop
80178c28: 14620009 bne r3,r2,0x80178c50
80178c2c: 00000000 nop
80178c30: 0c05df02 jal 0x80177c08
80178c34: 00000000 nop
80178c38: 86030022 lh r3,0x0022(r16)
80178c3c: 3c028019 lui r2,0x8019
80178c40: 9042f7a8 lbu r2,-0x0858(r2)
80178c44: 00000000 nop
80178c48: 10620009 beq r3,r2,0x80178c70
80178c4c: 00001021 addu r2,r0,r0
80178c50: 86020022 lh r2,0x0022(r16)
80178c54: 00000000 nop
80178c58: 1440ffb5 bne r2,r0,0x80178b30
80178c5c: 00000000 nop
80178c60: 0c05db24 jal 0x80176c90
80178c64: 00000000 nop
80178c68: 3c028019 lui r2,0x8019
80178c6c: 2442f7f0 addiu r2,r2,-0x0810
80178c70: 8fbf0234 lw r31,0x0234(r29)
80178c74: 8fbe0230 lw r30,0x0230(r29)
80178c78: 8fb7022c lw r23,0x022c(r29)
80178c7c: 8fb60228 lw r22,0x0228(r29)
80178c80: 8fb50224 lw r21,0x0224(r29)
80178c84: 8fb40220 lw r20,0x0220(r29)
80178c88: 8fb3021c lw r19,0x021c(r29)
80178c8c: 8fb20218 lw r18,0x0218(r29)
80178c90: 8fb10214 lw r17,0x0214(r29)
80178c94: 8fb00210 lw r16,0x0210(r29)
80178c98: 27bd0238 addiu r29,r29,0x0238
80178c9c: 03e00008 jr r31
80178ca0: 00000000 nop