Load Unit graphics from sprite sheet

From Final Fantasy Hacktics Wiki
Revision as of 10:29, 3 July 2021 by Talcall (talk | contribs) (Talcall moved page 00084818 - 00085230 to Load Unit graphics from sprite sheet: appears to be extremely similar in structure to Load WEP graphic from WEP1 Sheet, however is triggered for every unit every animation frame.)
Jump to navigation Jump to search

appears to be a unit graphic loading routine - extremely similar in structure to Load WEP graphic from WEP1 Sheet
00084818: 27bdffc0 addiu r29,r29,0xffc0
0008481c: afb30024 sw r19,0x0024(r29)
00084820: 00809821 addu r19,r4,r0		r19 = misc unit data pointer
00084824: afb5002c sw r21,0x002c(r29)
00084828: 00a0a821 addu r21,r5,r0		r21 = frame & animation data
0008482c: afbe0038 sw r30,0x0038(r29)
00084830: 00c0f021 addu r30,r6,r0		r30 = (maybe) current facing?
00084834: afbf003c sw r31,0x003c(r29)
00084838: afb70034 sw r23,0x0034(r29)
0008483c: afb60030 sw r22,0x0030(r29)
00084840: afb40028 sw r20,0x0028(r29)
00084844: afb20020 sw r18,0x0020(r29)
00084848: afb1001c sw r17,0x001c(r29)
0008484c: afb00018 sw r16,0x0018(r29)
00084850: 96b70004 lhu r23,0x0004(r21)		load current animation
00084854: 96b20006 lhu r18,0x0006(r21)		load unit (not weapon) byte counter
00084858: 32e3ffff andi r3,r23,0xffff		move animation to r3
0008485c: 2c6201f4 sltiu r2,r3,0x01f4		r2 = true if animation < 0x1f4
00084860: 10400004 beq r2,r0,0x00084874	#branch if animation > 0x1f4
00084864: 02e0a021 addu r20,r23,r0			|r20 = current animation
00084868: 8eb60020 lw r22,0x0020(r21)			|SEQ data pointer
0008486c: 08021227 j 0x0008489c			@jump ahead
00084870: 00000000 nop					|
00084874: 2c620258 sltiu r2,r3,0x0258		#r2 = true if animation < 0x258
00084878: 10400005 beq r2,r0,0x00084890	#branch if animation > 0x258
0008487c: 26f4fe0c addiu r20,r23,0xfe0c		|r20 = animation - 0x1f4
00084880: 3c16800a lui r22,0x800a			|
00084884: 26d677d8 addiu r22,r22,0x77d8		|r22 = 0x800a77d8
00084888: 08021227 j 0x0008489c			@jump ahead
0008488c: 00000000 nop
00084890: 3c16800b lui r22,0x800b		#
00084894: 26d6ed3c addiu r22,r22,0xed3c	r22 = 0x800a12c4
00084898: 26f4fda8 addiu r20,r23,0xfda8	r20 = animation - 0x258
0008489c: 17c00002 bne r30,r0,0x000848a8	@#branch if current facing is not 0
000848a0: 3282ffff andi r2,r20,0xffff			|r2 = animation
000848a4: 2652fffe addiu r18,r18,0xfffe		|r18 = ? - 1
000848a8: 00021080 sll r2,r2,0x02		#animation * 4
000848ac: 00561021 addu r2,r2,r22		SEQ + animation * 4
000848b0: 8c430008 lw r3,0x0008(r2)		load animation's frame command pointer
000848b4: 2402ffff addiu r2,r0,0xffff
000848b8: 14620005 bne r3,r2,0x000848d0	#branch if pointer is not invalid
000848bc: 3282ffff andi r2,r20,0xffff			|move animation to r2
000848c0: 34040009 ori r4,r0,0x0009			|
000848c4: 0c011282 jal 0x00044a08			|move r4 to r5 and clear something (error thing)
000848c8: 00000000 nop					|
000848cc: 3282ffff andi r2,r20,0xffff			|move animation to r2
000848d0: 00021080 sll r2,r2,0x02		#animation * 4
000848d4: 00561021 addu r2,r2,r22		|SEQ + animation * 4
000848d8: 00121c00 sll r3,r18,0x10		|
000848dc: 8c450008 lw r5,0x0008(r2)		|load animation's frame command pointer
000848e0: 00031c03 sra r3,r3,0x10		|I heard you like garbage
000848e4: 00a31821 addu r3,r5,r3		|
000848e8: 90630000 lbu r3,0x0000(r3)		|load appropriate frame command byte
000848ec: 340200ff ori r2,r0,0x00ff		|r2 = 0xff
000848f0: 14620223 bne r3,r2,0x00085180	#branch if byte is not 0xff
000848f4: 00121400 sll r2,r18,0x10			|moves counter to r2
000848f8: 26430001 addiu r3,r18,0x0001			|increment byte counter
000848fc: 00031400 sll r2,r3,0x10			|
00084900: 00021403 sra r2,r2,0x10			|moves counter + 1 to r2
00084904: 00a21021 addu r2,r5,r2			|
00084908: 90420000 lbu r2,0x0000(r2)			|load appropriate byte
0008490c: 24720001 addiu r18,r3,0x0001			|increment counter again
00084910: 2443ff42 addiu r3,r2,0xff42			|subtract 0xbe
00084914: 2c620042 sltiu r2,r3,0x0042			|r2 = true if r3 < 0x42 (if command byte => 0xbe)
00084918: 10400217 beq r2,r0,0x00085178		$branch if < 0x43 (if command byte => 0xbe)
0008491c: 00031080 sll r2,r3,0x02				|r2 = r3 * 4 (makes it a pointer :D)
00084920: 3c018006 lui r1,0x8006				|
00084924: 00220821 addu r1,r1,r2				|
00084928: 8c227f20 lw r2,0x7f20(r1)				|loads return addresses based byte
0008492c: 00000000 nop						|
00084930: 00400008 jr r2					|go there (above branches continue past this)
00084934: 00000000 nop						|
						Return addresses based on command byte:
						0xbe: 0x80085168
						0xbf: 0x80085158
						0xc0: 0x80085110
						0xc1: 0x800850c0
						0xc2: 0x800848cc
						0xc3: 0x80085000
						0xc4: 0x80085078
						0xc5: 0x80084ff4
						0xc6: 0x80085008
				    0xc7, 0xc8, 0xc9: 0x80084b08
						0xca: 0x80085170
						0xcb: 0x80084fe0
						0xcc: 0x80084fcc
						0xcd: 0x80084fb8
						0xce: 0x80084fa4
						0xcf: 0x80084f90
						0xd0: 0x80084f7c
						0xd1: 0x80084f68
						0xd2: 0x80084f54
						0xd3: 0x8008505c
						0xd4: 0x80085024
						0xd5: 0x80084a00
						0xd6: 0x80084b3c
						0xd7: 0x80085170
						0xd8: 0x80084c64
						0xd9: 0x80084b00
						0xda: 0x80085178
						0xdb: 0x80084c2c
						0xdc: 0x80084b10
						0xdd: 0x80084c9c
						0xde: 0x80084a20
						0xdf: 0x80084a14
						0xe0: 0x8008496c
						0xe1: 0x80084960
						0xe2: 0x80084cf4
					  0xe3, 0xe4: 0x80085170
						0xe5: 0x80084e8c
				    0xe6, 0xe7, 0xe8: 0x80084b08
						0xe9: 0x80085170
						0xea: 0x80084b08
						0xeb: 0x8008494c
						0xec: 0x80084938
						0xed: 0x80085170
						0xee: 0x80084c00
						0xef: 0x80084bc8
						0xf0: 0x80084b90
						0xf1: 0x80084b08
						0xf2: 0x80084d24
				    0xf3, 0xf4, 0xf5: 0x80084170
				    		0xf6: 0x80085b58
						0xf7: 0x80084f4c
						0xf8: 0x80084b08
						0xf9: 0x80084e24
						0xfa: 0x80084ed8
						0xfb: 0x80084b08
						0xfc: 0x80084da4
						0xfd: 0x80085120
					  0xfe, 0xff: 0x80084974
00084938: 96a20018 lhu r2,0x0018(r21)
0008493c: 00000000 nop
00084940: 38420002 xori r2,r2,0x0002
00084944: 08021233 j 0x000848cc
00084948: a6a20018 sh r2,0x0018(r21)
0008494c: 96a20018 lhu r2,0x0018(r21)
00084950: 00000000 nop
00084954: 38420004 xori r2,r2,0x0004
00084958: 08021233 j 0x000848cc
0008495c: a6a20018 sh r2,0x0018(r21)
00084960: 34020001 ori r2,r0,0x0001
00084964: 08021233 j 0x000848cc
00084968: a2620298 sb r2,0x0298(r19)
0008496c: 08021233 j 0x000848cc
00084970: a2600298 sb r0,0x0298(r19)
00084974: 32e3ffff andi r3,r23,0xffff
00084978: 2c6201f4 sltiu r2,r3,0x01f4
0008497c: 1040001e beq r2,r0,0x000849f8
00084980: 30620001 andi r2,r3,0x0001
00084984: 1040000c beq r2,r0,0x000849b8
00084988: 02602021 addu r4,r19,r0
0008498c: 92620006 lbu r2,0x0006(r19)
00084990: 00000000 nop
00084994: 00021080 sll r2,r2,0x02
00084998: 3c018009 lui r1,0x8009
0008499c: 00220821 addu r1,r1,r2
000849a0: 90224748 lbu r2,0x4748(r1)
000849a4: 3c018009 lui r1,0x8009
000849a8: 00220821 addu r1,r1,r2
000849ac: 903049d0 lbu r16,0x49d0(r1)
000849b0: 08021277 j 0x000849dc
000849b4: 00000000 nop
000849b8: 92620006 lbu r2,0x0006(r19)
000849bc: 00000000 nop
000849c0: 00021080 sll r2,r2,0x02
000849c4: 3c018009 lui r1,0x8009
000849c8: 00220821 addu r1,r1,r2
000849cc: 90224748 lbu r2,0x4748(r1)
000849d0: 3c018009 lui r1,0x8009
000849d4: 00220821 addu r1,r1,r2
000849d8: 903049c4 lbu r16,0x49c4(r1)
000849dc: 02a02821 addu r5,r21,r0
000849e0: 3206ffff andi r6,r16,0xffff
000849e4: 02e03821 addu r7,r23,r0
000849e8: a4800054 sh r0,0x0054(r4)
000849ec: a4800052 sh r0,0x0052(r4)
000849f0: 0c021085 jal 0x00084214
000849f4: a4800050 sh r0,0x0050(r4)
000849f8: 08021480 j 0x00085200
000849fc: a6a0000a sh r0,0x000a(r21)
00084a00: 96a2000c lhu r2,0x000c(r21)
00084a04: 00009021 addu r18,r0,r0
00084a08: 24420001 addiu r2,r2,0x0001
00084a0c: 08021233 j 0x000848cc
00084a10: a6a2000c sh r2,0x000c(r21)
00084a14: 8ea2002c lw r2,0x002c(r21)
00084a18: 08021233 j 0x000848cc
00084a1c: a440000c sh r0,0x000c(r2)
00084a20: 3c038009 lui r3,0x8009
00084a24: 8c6360e4 lw r3,0x60e4(r3)
00084a28: 34020034 ori r2,r0,0x0034
00084a2c: 1062ffa7 beq r3,r2,0x000848cc
00084a30: 00000000 nop
00084a34: 866401a0 lh r4,0x01a0(r19)
00084a38: 00000000 nop
00084a3c: 1080000d beq r4,r0,0x00084a74
00084a40: 00801821 addu r3,r4,r0
00084a44: 3402016f ori r2,r0,0x016f
00084a48: 1082000a beq r4,r2,0x00084a74
00084a4c: 2462ff76 addiu r2,r3,0xff76
00084a50: 2c420008 sltiu r2,r2,0x0008
00084a54: 14400007 bne r2,r0,0x00084a74
00084a58: 2462ff2b addiu r2,r3,0xff2b
00084a5c: 2c420003 sltiu r2,r2,0x0003
00084a60: 14400004 bne r2,r0,0x00084a74
00084a64: 2462fe76 addiu r2,r3,0xfe76
00084a68: 2c420014 sltiu r2,r2,0x0014
00084a6c: 1040ff98 beq r2,r0,0x000848d0
00084a70: 3282ffff andi r2,r20,0xffff
00084a74: 9262018d lbu r2,0x018d(r19)
00084a78: 00000000 nop
00084a7c: 1040ff94 beq r2,r0,0x000848d0
00084a80: 3282ffff andi r2,r20,0xffff
00084a84: 9262018d lbu r2,0x018d(r19)
00084a88: 00000000 nop
00084a8c: 1040ff8f beq r2,r0,0x000848cc
00084a90: 00008821 addu r17,r0,r0
00084a94: 3222ffff andi r2,r17,0xffff
00084a98: 02621021 addu r2,r19,r2
00084a9c: 9044018e lbu r4,0x018e(r2)
00084aa0: 0c01e9c9 jal 0x0007a724
00084aa4: 00000000 nop
00084aa8: 00408021 addu r16,r2,r0
00084aac: 1200000d beq r16,r0,0x00084ae4
00084ab0: 26310001 addiu r17,r17,0x0001
00084ab4: 02602021 addu r4,r19,r0
00084ab8: 0c020e5e jal 0x00083978
00084abc: 02002821 addu r5,r16,r0
00084ac0: 02602021 addu r4,r19,r0
00084ac4: 0c020e1d jal 0x00083874
00084ac8: 02002821 addu r5,r16,r0
00084acc: 92040004 lbu r4,0x0004(r16)
00084ad0: 0c01a2f5 jal 0x00068bd4
00084ad4: 00000000 nop
00084ad8: 02602021 addu r4,r19,r0
00084adc: 0c01a253 jal 0x0006894c
00084ae0: 00002821 addu r5,r0,r0
00084ae4: 9263018d lbu r3,0x018d(r19)
00084ae8: 3222ffff andi r2,r17,0xffff
00084aec: 0043102b sltu r2,r2,r3
00084af0: 1440ffe9 bne r2,r0,0x00084a98
00084af4: 3222ffff andi r2,r17,0xffff
00084af8: 08021234 j 0x000848d0
00084afc: 3282ffff andi r2,r20,0xffff
00084b00: 0c01a269 jal 0x000689a4
00084b04: 02602021 addu r4,r19,r0
00084b08: 08021233 j 0x000848cc
00084b0c: 26520002 addiu r18,r18,0x0002
00084b10: 96b7000e lhu r23,0x000e(r21)
00084b14: 96b20010 lhu r18,0x0010(r21)
00084b18: 32e3ffff andi r3,r23,0xffff
00084b1c: 2c6201f4 sltiu r2,r3,0x01f4
00084b20: 1440ff6a bne r2,r0,0x000848cc
00084b24: 02e0a021 addu r20,r23,r0
00084b28: 2c620258 sltiu r2,r3,0x0258
00084b2c: 1440ff67 bne r2,r0,0x000848cc
00084b30: 26f4fe0c addiu r20,r23,0xfe0c
00084b34: 08021233 j 0x000848cc
00084b38: 26f4fda8 addiu r20,r23,0xfda8
00084b3c: 3c028009 lui r2,0x8009
00084b40: 8c42612c lw r2,0x612c(r2)
00084b44: 00000000 nop
00084b48: 14400176 bne r2,r0,0x00085124
00084b4c: 3282ffff andi r2,r20,0xffff
00084b50: 08021234 j 0x000848d0
00084b54: 26520001 addiu r18,r18,0x0001
00084b58: 02401021 addu r2,r18,r0
00084b5c: 26520001 addiu r18,r18,0x0001
00084b60: 3283ffff andi r3,r20,0xffff
00084b64: 00031880 sll r3,r3,0x02
00084b68: 00761821 addu r3,r3,r22
00084b6c: 00021400 sll r2,r2,0x10
00084b70: 8c630008 lw r3,0x0008(r3)
00084b74: 00021403 sra r2,r2,0x10
00084b78: 00621821 addu r3,r3,r2
00084b7c: 90650000 lbu r5,0x0000(r3)
00084b80: 0c01ae58 jal 0x0006b960
00084b84: 02602021 addu r4,r19,r0
00084b88: 08021234 j 0x000848d0
00084b8c: 3282ffff andi r2,r20,0xffff
00084b90: 02401021 addu r2,r18,r0
00084b94: 26520001 addiu r18,r18,0x0001
00084b98: 3283ffff andi r3,r20,0xffff
00084b9c: 00031880 sll r3,r3,0x02
00084ba0: 00761821 addu r3,r3,r22
00084ba4: 00021400 sll r2,r2,0x10
00084ba8: 8c630008 lw r3,0x0008(r3)
00084bac: 00021403 sra r2,r2,0x10
00084bb0: 00621821 addu r3,r3,r2
00084bb4: 80650000 lb r5,0x0000(r3)
00084bb8: 0c0211ac jal 0x000846b0
00084bbc: 02602021 addu r4,r19,r0
00084bc0: 08021234 j 0x000848d0
00084bc4: 3282ffff andi r2,r20,0xffff
00084bc8: 02401021 addu r2,r18,r0
00084bcc: 26520001 addiu r18,r18,0x0001
00084bd0: 3283ffff andi r3,r20,0xffff
00084bd4: 00031880 sll r3,r3,0x02
00084bd8: 00761821 addu r3,r3,r22
00084bdc: 00021400 sll r2,r2,0x10
00084be0: 8c630008 lw r3,0x0008(r3)
00084be4: 00021403 sra r2,r2,0x10
00084be8: 00621821 addu r3,r3,r2
00084bec: 80650000 lb r5,0x0000(r3)
00084bf0: 0c0211d6 jal 0x00084758
00084bf4: 02602021 addu r4,r19,r0
00084bf8: 08021234 j 0x000848d0
00084bfc: 3282ffff andi r2,r20,0xffff
00084c00: 02401021 addu r2,r18,r0
00084c04: 3283ffff andi r3,r20,0xffff
00084c08: 00031880 sll r3,r3,0x02
00084c0c: 00761821 addu r3,r3,r22
00084c10: 00021400 sll r2,r2,0x10
00084c14: 8c630008 lw r3,0x0008(r3)
00084c18: 00021403 sra r2,r2,0x10
00084c1c: 00621821 addu r3,r3,r2
00084c20: 80650000 lb r5,0x0000(r3)
00084c24: 080213cf j 0x00084f3c
00084c28: 26520001 addiu r18,r18,0x0001
00084c2c: 3283ffff andi r3,r20,0xffff
00084c30: 00031880 sll r3,r3,0x02
00084c34: 00761821 addu r3,r3,r22
00084c38: 02401021 addu r2,r18,r0
00084c3c: 00021400 sll r2,r2,0x10
00084c40: 8c630008 lw r3,0x0008(r3)
00084c44: 00021403 sra r2,r2,0x10
00084c48: 00621821 addu r3,r3,r2
00084c4c: 90620000 lbu r2,0x0000(r3)
00084c50: 26520001 addiu r18,r18,0x0001
00084c54: 00021600 sll r2,r2,0x18
00084c58: 00021603 sra r2,r2,0x18
00084c5c: 08021233 j 0x000848cc
00084c60: a6a20012 sh r2,0x0012(r21)
00084c64: 3283ffff andi r3,r20,0xffff
00084c68: 00031880 sll r3,r3,0x02
00084c6c: 00761821 addu r3,r3,r22
00084c70: 02401021 addu r2,r18,r0
00084c74: 00021400 sll r2,r2,0x10
00084c78: 8c630008 lw r3,0x0008(r3)
00084c7c: 00021403 sra r2,r2,0x10
00084c80: 00621821 addu r3,r3,r2
00084c84: 90620000 lbu r2,0x0000(r3)
00084c88: 26520001 addiu r18,r18,0x0001
00084c8c: 00021600 sll r2,r2,0x18
00084c90: 00021603 sra r2,r2,0x18
00084c94: 08021233 j 0x000848cc
00084c98: a6a20014 sh r2,0x0014(r21)
00084c9c: 3283ffff andi r3,r20,0xffff
00084ca0: 00031880 sll r3,r3,0x02
00084ca4: 00761821 addu r3,r3,r22
00084ca8: 02401021 addu r2,r18,r0
00084cac: 00021400 sll r2,r2,0x10
00084cb0: a6b7000e sh r23,0x000e(r21)
00084cb4: 8c630008 lw r3,0x0008(r3)
00084cb8: 00021403 sra r2,r2,0x10
00084cbc: 00621821 addu r3,r3,r2
00084cc0: 90770000 lbu r23,0x0000(r3)
00084cc4: 26520001 addiu r18,r18,0x0001
00084cc8: 32e3ffff andi r3,r23,0xffff
00084ccc: 2c6201f4 sltiu r2,r3,0x01f4
00084cd0: 14400005 bne r2,r0,0x00084ce8
00084cd4: 02e0a021 addu r20,r23,r0
00084cd8: 2c620258 sltiu r2,r3,0x0258
00084cdc: 14400002 bne r2,r0,0x00084ce8
00084ce0: 26f4fe0c addiu r20,r23,0xfe0c
00084ce4: 26f4fda8 addiu r20,r23,0xfda8
00084ce8: a6b20010 sh r18,0x0010(r21)
00084cec: 08021233 j 0x000848cc
00084cf0: 00009021 addu r18,r0,r0
00084cf4: 3283ffff andi r3,r20,0xffff
00084cf8: 00031880 sll r3,r3,0x02
00084cfc: 00761821 addu r3,r3,r22
00084d00: 02401021 addu r2,r18,r0
00084d04: 00021400 sll r2,r2,0x10
00084d08: 8c630008 lw r3,0x0008(r3)
00084d0c: 00021403 sra r2,r2,0x10
00084d10: 00621821 addu r3,r3,r2
00084d14: 90620000 lbu r2,0x0000(r3)
00084d18: 26520001 addiu r18,r18,0x0001
00084d1c: 08021233 j 0x000848cc
00084d20: a6620014 sh r2,0x0014(r19)
00084d24: 26430001 addiu r3,r18,0x0001			r3 = counter + 1
00084d28: 00122400 sll r4,r18,0x10
00084d2c: 24720001 addiu r18,r3,0x0001			r18 = counter + 2
00084d30: 3282ffff andi r2,r20,0xffff			r2 = animation
00084d34: 00021080 sll r2,r2,0x02			r2 = animation * 4
00084d38: 00561021 addu r2,r2,r22			r2 = SEQ + anim * 4
00084d3c: 00042403 sra r4,r4,0x10			r4 = counter
00084d40: 00031c00 sll r3,r3,0x10			
00084d44: 8c420008 lw r2,0x0008(r2)			load unit anim's command pointer
00084d48: 00031c03 sra r3,r3,0x10			r3 = r18 + 1
00084d4c: 00442021 addu r4,r2,r4			pointer to 3rd byte
00084d50: 00431021 addu r2,r2,r3			pointer to 4th byte
00084d54: 90900000 lbu r16,0x0000(r4)			load 3rd byte
00084d58: 90510000 lbu r17,0x0000(r2)			Load 4th byte
00084d5c: 16000004 bne r16,r0,0x00084d70		#branch if ? is not 0
00084d60: 00101040 sll r2,r16,0x01				|r2 = 3rd byte * 2
00084d64: 0c011282 jal 0x00044a08				|error jump thing.
00084d68: 3404000d ori r4,r0,0x000d				|move r4 to r5
00084d6c: 00101040 sll r2,r16,0x01				|r2 = ? * 2
00084d70: 00501021 addu r2,r2,r16			#r2 = 3rd byte * 3
00084d74: 00021100 sll r2,r2,0x04			r2 = 3rd byte * 0x30
00084d78: 244201d8 addiu r2,r2,0x01d8			r2 = 3rd byte * 0x30 + 0x1d8
00084d7c: 02621021 addu r2,r19,r2			r2 = WEP1 data (usually)
00084d80: 34080001 ori r8,r0,0x0001
00084d84: a448000a sh r8,0x000a(r2)			saves 1 to anim frame length
00084d88: a4510004 sh r17,0x0004(r2)			Save weapon animation
00084d8c: a4400006 sh r0,0x0006(r2)			clear increment
00084d90: a4400012 sh r0,0x0012(r2)			clear frame delay
00084d94: a4400014 sh r0,0x0014(r2)			clear weapon rotation
00084d98: a4400016 sh r0,0x0016(r2)			clear ?
00084d9c: 08021233 j 0x000848cc			queue next command
00084da0: a4480000 sh r8,0x0000(r2)			save 1 to graphic trigger
00084da4: 26460001 addiu r6,r18,0x0001
00084da8: 00122400 sll r4,r18,0x10
00084dac: 24d20001 addiu r18,r6,0x0001
00084db0: 3282ffff andi r2,r20,0xffff
00084db4: 00021080 sll r2,r2,0x02
00084db8: 00561021 addu r2,r2,r22
00084dbc: 00042403 sra r4,r4,0x10
00084dc0: 8c430008 lw r3,0x0008(r2)
00084dc4: 00061400 sll r2,r6,0x10
00084dc8: 00021403 sra r2,r2,0x10
00084dcc: 00642021 addu r4,r3,r4
00084dd0: 00621821 addu r3,r3,r2
00084dd4: 90820000 lbu r2,0x0000(r4)
00084dd8: 90640000 lbu r4,0x0000(r3)
00084ddc: 96a30016 lhu r3,0x0016(r21)
00084de0: 00021600 sll r2,r2,0x18
00084de4: 1060000b beq r3,r0,0x00084e14
00084de8: 00022e03 sra r5,r2,0x18
00084dec: 96a20016 lhu r2,0x0016(r21)
00084df0: 00000000 nop
00084df4: 2442ffff addiu r2,r2,0xffff
00084df8: a6a20016 sh r2,0x0016(r21)
00084dfc: 3042ffff andi r2,r2,0xffff
00084e00: 1040feb3 beq r2,r0,0x000848d0
00084e04: 3282ffff andi r2,r20,0xffff
00084e08: 24c2fffd addiu r2,r6,0xfffd
00084e0c: 08021233 j 0x000848cc
00084e10: 00a29021 addu r18,r5,r2
00084e14: 24c2fffd addiu r2,r6,0xfffd
00084e18: 00a29021 addu r18,r5,r2
00084e1c: 08021233 j 0x000848cc
00084e20: a6a40016 sh r4,0x0016(r21)
00084e24: 3284ffff andi r4,r20,0xffff
00084e28: 00042080 sll r4,r4,0x02
00084e2c: 00962021 addu r4,r4,r22
00084e30: 00121400 sll r2,r18,0x10
00084e34: 00021403 sra r2,r2,0x10
00084e38: 26450001 addiu r5,r18,0x0001
00084e3c: 8c830008 lw r3,0x0008(r4)
00084e40: 24b20001 addiu r18,r5,0x0001
00084e44: 00621821 addu r3,r3,r2
00084e48: 90620000 lbu r2,0x0000(r3)
00084e4c: 96630058 lhu r3,0x0058(r19)
00084e50: 00021600 sll r2,r2,0x18
00084e54: 00021603 sra r2,r2,0x18
00084e58: 00431021 addu r2,r2,r3
00084e5c: a6620058 sh r2,0x0058(r19)
00084e60: 00051400 sll r2,r5,0x10
00084e64: 8c830008 lw r3,0x0008(r4)
00084e68: 00021403 sra r2,r2,0x10
00084e6c: 00621821 addu r3,r3,r2
00084e70: 90620000 lbu r2,0x0000(r3)
00084e74: 9663005a lhu r3,0x005a(r19)
00084e78: 00021600 sll r2,r2,0x18
00084e7c: 00021603 sra r2,r2,0x18
00084e80: 00431021 addu r2,r2,r3
00084e84: 08021233 j 0x000848cc
00084e88: a662005a sh r2,0x005a(r19)
00084e8c: 26430001 addiu r3,r18,0x0001
00084e90: 00122400 sll r4,r18,0x10
00084e94: 24720001 addiu r18,r3,0x0001
00084e98: 3282ffff andi r2,r20,0xffff
00084e9c: 00021080 sll r2,r2,0x02
00084ea0: 00561021 addu r2,r2,r22
00084ea4: 00042403 sra r4,r4,0x10
00084ea8: 00031c00 sll r3,r3,0x10
00084eac: 8c420008 lw r2,0x0008(r2)
00084eb0: 00031c03 sra r3,r3,0x10
00084eb4: 00442021 addu r4,r2,r4
00084eb8: 00431021 addu r2,r2,r3
00084ebc: 90420000 lbu r2,0x0000(r2)
00084ec0: 90840000 lbu r4,0x0000(r4)
00084ec4: 8ea3002c lw r3,0x002c(r21)
00084ec8: 00021200 sll r2,r2,0x08
00084ecc: 00822025 or r4,r4,r2
00084ed0: 08021233 j 0x000848cc
00084ed4: a464000c sh r4,0x000c(r3)
00084ed8: 02602021 addu r4,r19,r0
00084edc: 3291ffff andi r17,r20,0xffff
00084ee0: 00118880 sll r17,r17,0x02
00084ee4: 02368821 addu r17,r17,r22
00084ee8: 00121400 sll r2,r18,0x10
00084eec: 00021403 sra r2,r2,0x10
00084ef0: 8e230008 lw r3,0x0008(r17)
00084ef4: 26500001 addiu r16,r18,0x0001
00084ef8: 00621821 addu r3,r3,r2
00084efc: 80650000 lb r5,0x0000(r3)
00084f00: 0c0211ac jal 0x000846b0
00084f04: 26120002 addiu r18,r16,0x0002
00084f08: 00101400 sll r2,r16,0x10
00084f0c: 8e230008 lw r3,0x0008(r17)
00084f10: 00021403 sra r2,r2,0x10
00084f14: 00621821 addu r3,r3,r2
00084f18: 80650000 lb r5,0x0000(r3)
00084f1c: 0c0211d6 jal 0x00084758
00084f20: 02602021 addu r4,r19,r0
00084f24: 26100001 addiu r16,r16,0x0001
00084f28: 00108400 sll r16,r16,0x10
00084f2c: 8e220008 lw r2,0x0008(r17)
00084f30: 00108403 sra r16,r16,0x10
00084f34: 00501021 addu r2,r2,r16
00084f38: 80450000 lb r5,0x0000(r2)
00084f3c: 0c0211dc jal 0x00084770
00084f40: 02602021 addu r4,r19,r0
00084f44: 08021234 j 0x000848d0
00084f48: 3282ffff andi r2,r20,0xffff
00084f4c: 08021233 j 0x000848cc
00084f50: 26520003 addiu r18,r18,0x0003
00084f54: 02602021 addu r4,r19,r0
00084f58: 0c0211dc jal 0x00084770
00084f5c: 34050001 ori r5,r0,0x0001
00084f60: 08021234 j 0x000848d0
00084f64: 3282ffff andi r2,r20,0xffff
00084f68: 02602021 addu r4,r19,r0
00084f6c: 0c0211dc jal 0x00084770
00084f70: 34050002 ori r5,r0,0x0002
00084f74: 08021234 j 0x000848d0
00084f78: 3282ffff andi r2,r20,0xffff
00084f7c: 02602021 addu r4,r19,r0
00084f80: 0c0211d6 jal 0x00084758
00084f84: 34050001 ori r5,r0,0x0001
00084f88: 08021234 j 0x000848d0
00084f8c: 3282ffff andi r2,r20,0xffff
00084f90: 02602021 addu r4,r19,r0
00084f94: 0c0211d6 jal 0x00084758
00084f98: 34050002 ori r5,r0,0x0002
00084f9c: 08021234 j 0x000848d0
00084fa0: 3282ffff andi r2,r20,0xffff
00084fa4: 02602021 addu r4,r19,r0
00084fa8: 0c0211dc jal 0x00084770
00084fac: 2405ffff addiu r5,r0,0xffff
00084fb0: 08021234 j 0x000848d0
00084fb4: 3282ffff andi r2,r20,0xffff
00084fb8: 02602021 addu r4,r19,r0
00084fbc: 0c0211dc jal 0x00084770
00084fc0: 2405fffe addiu r5,r0,0xfffe
00084fc4: 08021234 j 0x000848d0
00084fc8: 3282ffff andi r2,r20,0xffff
00084fcc: 02602021 addu r4,r19,r0
00084fd0: 0c0211d6 jal 0x00084758
00084fd4: 2405ffff addiu r5,r0,0xffff
00084fd8: 08021234 j 0x000848d0
00084fdc: 3282ffff andi r2,r20,0xffff
00084fe0: 02602021 addu r4,r19,r0
00084fe4: 0c0211d6 jal 0x00084758
00084fe8: 2405fffe addiu r5,r0,0xfffe
00084fec: 08021234 j 0x000848d0
00084ff0: 3282ffff andi r2,r20,0xffff
00084ff4: 34020001 ori r2,r0,0x0001
00084ff8: 08021233 j 0x000848cc
00084ffc: a26202d0 sb r2,0x02d0(r19)
00085000: 08021233 j 0x000848cc
00085004: a26002d0 sb r0,0x02d0(r19)
00085008: 3c02800a lui r2,0x800a
0008500c: 8c428db8 lw r2,-0x7248(r2)
00085010: 00000000 nop
00085014: 10400043 beq r2,r0,0x00085124
00085018: 3282ffff andi r2,r20,0xffff
0008501c: 08021234 j 0x000848d0
00085020: 26520001 addiu r18,r18,0x0001
00085024: 02401021 addu r2,r18,r0
00085028: 26520001 addiu r18,r18,0x0001
0008502c: 3283ffff andi r3,r20,0xffff
00085030: 00031880 sll r3,r3,0x02
00085034: 00761821 addu r3,r3,r22
00085038: 00021400 sll r2,r2,0x10
0008503c: 8c630008 lw r3,0x0008(r3)
00085040: 00021403 sra r2,r2,0x10
00085044: 00621821 addu r3,r3,r2
00085048: 90650000 lbu r5,0x0000(r3)
0008504c: 0c020988 jal 0x00082620
00085050: 02602021 addu r4,r19,r0
00085054: 08021234 j 0x000848d0
00085058: 3282ffff andi r2,r20,0xffff
0008505c: 3c028009 lui r2,0x8009
00085060: 8c42612c lw r2,0x612c(r2)
00085064: 34080001 ori r8,r0,0x0001
00085068: 1048002e beq r2,r8,0x00085124
0008506c: 3282ffff andi r2,r20,0xffff
00085070: 08021234 j 0x000848d0
00085074: 26520001 addiu r18,r18,0x0001
00085078: 3284ffff andi r4,r20,0xffff
0008507c: 00042080 sll r4,r4,0x02
00085080: 00962021 addu r4,r4,r22
00085084: 00121400 sll r2,r18,0x10
00085088: 8c830008 lw r3,0x0008(r4)
0008508c: 00021403 sra r2,r2,0x10
00085090: 00621821 addu r3,r3,r2
00085094: 90620000 lbu r2,0x0000(r3)
00085098: 26450001 addiu r5,r18,0x0001
0008509c: a26202d2 sb r2,0x02d2(r19)
000850a0: 00051400 sll r2,r5,0x10
000850a4: 8c830008 lw r3,0x0008(r4)
000850a8: 00021403 sra r2,r2,0x10
000850ac: 00621821 addu r3,r3,r2
000850b0: 90620000 lbu r2,0x0000(r3)
000850b4: 24b20001 addiu r18,r5,0x0001
000850b8: 08021233 j 0x000848cc
000850bc: a26202d3 sb r2,0x02d3(r19)
000850c0: 3284ffff andi r4,r20,0xffff
000850c4: 00042080 sll r4,r4,0x02
000850c8: 00962021 addu r4,r4,r22
000850cc: 00121400 sll r2,r18,0x10
000850d0: 8c830008 lw r3,0x0008(r4)
000850d4: 00021403 sra r2,r2,0x10
000850d8: 00621821 addu r3,r3,r2
000850dc: 90620000 lbu r2,0x0000(r3)
000850e0: 26450001 addiu r5,r18,0x0001
000850e4: 24420002 addiu r2,r2,0x0002
000850e8: a2620087 sb r2,0x0087(r19)
000850ec: 00051400 sll r2,r5,0x10
000850f0: 8c830008 lw r3,0x0008(r4)
000850f4: 00021403 sra r2,r2,0x10
000850f8: 00621821 addu r3,r3,r2
000850fc: 90620000 lbu r2,0x0000(r3)
00085100: 24b20001 addiu r18,r5,0x0001
00085104: ae600088 sw r0,0x0088(r19)
00085108: 08021233 j 0x000848cc
0008510c: ae62008c sw r2,0x008c(r19)
00085110: 92620087 lbu r2,0x0087(r19)
00085114: 00000000 nop
00085118: 10400015 beq r2,r0,0x00085170
0008511c: 00000000 nop
00085120: 3282ffff andi r2,r20,0xffff
00085124: 00021080 sll r2,r2,0x02
00085128: 00561021 addu r2,r2,r22
0008512c: 00121c00 sll r3,r18,0x10
00085130: 8c420008 lw r2,0x0008(r2)
00085134: 00031c03 sra r3,r3,0x10
00085138: 00431021 addu r2,r2,r3
0008513c: 90420000 lbu r2,0x0000(r2)
00085140: 00000000 nop
00085144: 00021600 sll r2,r2,0x18
00085148: 00022e03 sra r5,r2,0x18
0008514c: 2642fffe addiu r2,r18,0xfffe
00085150: 08021233 j 0x000848cc
00085154: 00a29021 addu r18,r5,r2
00085158: 0c01fc90 jal 0x0007f240
0008515c: 02602021 addu r4,r19,r0
00085160: 08021234 j 0x000848d0
00085164: 3282ffff andi r2,r20,0xffff
00085168: 08021233 j 0x000848cc
0008516c: ae6002e8 sw r0,0x02e8(r19)
00085170: 08021233 j 0x000848cc
00085174: 26520001 addiu r18,r18,0x0001
00085178: 08021231 j 0x000848c4
0008517c: 3404000d ori r4,r0,0x000d
00085180: 00021403 sra r2,r2,0x10
00085184: 00a21021 addu r2,r5,r2
00085188: 96a30014 lhu r3,0x0014(r21)
0008518c: 90420000 lbu r2,0x0000(r2)
00085190: 26440001 addiu r4,r18,0x0001
00085194: 13c00011 beq r30,r0,0x000851dc
00085198: 00628021 addu r16,r3,r2
0008519c: 00041400 sll r2,r4,0x10
000851a0: 00021403 sra r2,r2,0x10
000851a4: 00a21021 addu r2,r5,r2
000851a8: 90420000 lbu r2,0x0000(r2)
000851ac: 96a30012 lhu r3,0x0012(r21)
000851b0: 00000000 nop
000851b4: 00431021 addu r2,r2,r3
000851b8: a6a2000a sh r2,0x000a(r21)
000851bc: 96a2000a lhu r2,0x000a(r21)
000851c0: 00000000 nop
000851c4: 2c420101 sltiu r2,r2,0x0101
000851c8: 14400005 bne r2,r0,0x000851e0
000851cc: 24920001 addiu r18,r4,0x0001
000851d0: 34020001 ori r2,r0,0x0001
000851d4: 08021478 j 0x000851e0
000851d8: a6a2000a sh r2,0x000a(r21)
000851dc: 24920001 addiu r18,r4,0x0001
000851e0: 02602021 addu r4,r19,r0
000851e4: 02a02821 addu r5,r21,r0
000851e8: 3206ffff andi r6,r16,0xffff
000851ec: 0c021085 jal 0x00084214
000851f0: 02e03821 addu r7,r23,r0
000851f4: a6b20006 sh r18,0x0006(r21)
000851f8: a6b00008 sh r16,0x0008(r21)
000851fc: a6b70004 sh r23,0x0004(r21)
00085200: 8fbf003c lw r31,0x003c(r29)
00085204: 8fbe0038 lw r30,0x0038(r29)
00085208: 8fb70034 lw r23,0x0034(r29)
0008520c: 8fb60030 lw r22,0x0030(r29)
00085210: 8fb5002c lw r21,0x002c(r29)
00085214: 8fb40028 lw r20,0x0028(r29)
00085218: 8fb30024 lw r19,0x0024(r29)
0008521c: 8fb20020 lw r18,0x0020(r29)
00085220: 8fb1001c lw r17,0x001c(r29)
00085224: 8fb00018 lw r16,0x0018(r29)
00085228: 27bd0040 addiu r29,r29,0x0040
0008522c: 03e00008 jr r31
00085230: 00000000 nop