mirror of
https://github.com/pmret/papermario.git
synced 2024-11-15 23:42:42 +01:00
116 lines
5.5 KiB
ArmAsm
116 lines
5.5 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
.include "include/macro.inc"
|
|
|
|
glabel fio_deserialize_state
|
|
/* 006890 8002B490 3C038011 */ lui $v1, 0x8011
|
|
/* 006894 8002B494 2463F290 */ addiu $v1, $v1, -0xd70
|
|
/* 006898 8002B498 3C07800E */ lui $a3, 0x800e
|
|
/* 00689C 8002B49C 24E7ACC0 */ addiu $a3, $a3, -0x5340
|
|
/* 0068A0 8002B4A0 24E20040 */ addiu $v0, $a3, 0x40
|
|
/* 0068A4 8002B4A4 24E40460 */ addiu $a0, $a3, 0x460
|
|
.L8002B4A8:
|
|
/* 0068A8 8002B4A8 8C490000 */ lw $t1, ($v0)
|
|
/* 0068AC 8002B4AC 8C4A0004 */ lw $t2, 4($v0)
|
|
/* 0068B0 8002B4B0 8C4B0008 */ lw $t3, 8($v0)
|
|
/* 0068B4 8002B4B4 8C4C000C */ lw $t4, 0xc($v0)
|
|
/* 0068B8 8002B4B8 AC690000 */ sw $t1, ($v1)
|
|
/* 0068BC 8002B4BC AC6A0004 */ sw $t2, 4($v1)
|
|
/* 0068C0 8002B4C0 AC6B0008 */ sw $t3, 8($v1)
|
|
/* 0068C4 8002B4C4 AC6C000C */ sw $t4, 0xc($v1)
|
|
/* 0068C8 8002B4C8 24420010 */ addiu $v0, $v0, 0x10
|
|
/* 0068CC 8002B4CC 1444FFF6 */ bne $v0, $a0, .L8002B4A8
|
|
/* 0068D0 8002B4D0 24630010 */ addiu $v1, $v1, 0x10
|
|
/* 0068D4 8002B4D4 8C490000 */ lw $t1, ($v0)
|
|
/* 0068D8 8002B4D8 8C4A0004 */ lw $t2, 4($v0)
|
|
/* 0068DC 8002B4DC AC690000 */ sw $t1, ($v1)
|
|
/* 0068E0 8002B4E0 AC6A0004 */ sw $t2, 4($v1)
|
|
/* 0068E4 8002B4E4 3C038007 */ lui $v1, 0x8007
|
|
/* 0068E8 8002B4E8 8C63419C */ lw $v1, 0x419c($v1)
|
|
/* 0068EC 8002B4EC 94E20468 */ lhu $v0, 0x468($a3)
|
|
/* 0068F0 8002B4F0 A4620086 */ sh $v0, 0x86($v1)
|
|
/* 0068F4 8002B4F4 94E2046A */ lhu $v0, 0x46a($a3)
|
|
/* 0068F8 8002B4F8 A462008C */ sh $v0, 0x8c($v1)
|
|
/* 0068FC 8002B4FC 94E2046C */ lhu $v0, 0x46c($a3)
|
|
/* 006900 8002B500 A462008E */ sh $v0, 0x8e($v1)
|
|
/* 006904 8002B504 94E212E6 */ lhu $v0, 0x12e6($a3)
|
|
/* 006908 8002B508 A4620160 */ sh $v0, 0x160($v1)
|
|
/* 00690C 8002B50C 94E212E8 */ lhu $v0, 0x12e8($a3)
|
|
/* 006910 8002B510 0000302D */ daddu $a2, $zero, $zero
|
|
/* 006914 8002B514 A4620162 */ sh $v0, 0x162($v1)
|
|
/* 006918 8002B518 94E212EA */ lhu $v0, 0x12ea($a3)
|
|
/* 00691C 8002B51C 3C08800B */ lui $t0, 0x800b
|
|
/* 006920 8002B520 25080F10 */ addiu $t0, $t0, 0xf10
|
|
/* 006924 8002B524 A4620164 */ sh $v0, 0x164($v1)
|
|
/* 006928 8002B528 0000282D */ daddu $a1, $zero, $zero
|
|
.L8002B52C:
|
|
/* 00692C 8002B52C 00062080 */ sll $a0, $a2, 2
|
|
.L8002B530:
|
|
/* 006930 8002B530 00881821 */ addu $v1, $a0, $t0
|
|
/* 006934 8002B534 00E41021 */ addu $v0, $a3, $a0
|
|
/* 006938 8002B538 8C420470 */ lw $v0, 0x470($v0)
|
|
/* 00693C 8002B53C 24A50001 */ addiu $a1, $a1, 1
|
|
/* 006940 8002B540 AC6200B0 */ sw $v0, 0xb0($v1)
|
|
/* 006944 8002B544 28A2003C */ slti $v0, $a1, 0x3c
|
|
/* 006948 8002B548 1440FFF9 */ bnez $v0, .L8002B530
|
|
/* 00694C 8002B54C 24840030 */ addiu $a0, $a0, 0x30
|
|
/* 006950 8002B550 24C60001 */ addiu $a2, $a2, 1
|
|
/* 006954 8002B554 28C2000C */ slti $v0, $a2, 0xc
|
|
/* 006958 8002B558 1440FFF4 */ bnez $v0, .L8002B52C
|
|
/* 00695C 8002B55C 0000282D */ daddu $a1, $zero, $zero
|
|
/* 006960 8002B560 3C038007 */ lui $v1, 0x8007
|
|
/* 006964 8002B564 2463419C */ addiu $v1, $v1, 0x419c
|
|
/* 006968 8002B568 8C620000 */ lw $v0, ($v1)
|
|
/* 00696C 8002B56C A0400074 */ sb $zero, 0x74($v0)
|
|
/* 006970 8002B570 8C620000 */ lw $v0, ($v1)
|
|
/* 006974 8002B574 A0400076 */ sb $zero, 0x76($v0)
|
|
/* 006978 8002B578 8C620000 */ lw $v0, ($v1)
|
|
/* 00697C 8002B57C A0400077 */ sb $zero, 0x77($v0)
|
|
/* 006980 8002B580 8C640000 */ lw $a0, ($v1)
|
|
/* 006984 8002B584 24020001 */ addiu $v0, $zero, 1
|
|
/* 006988 8002B588 A082007A */ sb $v0, 0x7a($a0)
|
|
/* 00698C 8002B58C 8C620000 */ lw $v0, ($v1)
|
|
/* 006990 8002B590 90430166 */ lbu $v1, 0x166($v0)
|
|
/* 006994 8002B594 00031040 */ sll $v0, $v1, 1
|
|
/* 006998 8002B598 00431021 */ addu $v0, $v0, $v1
|
|
/* 00699C 8002B59C 000210C0 */ sll $v0, $v0, 3
|
|
/* 0069A0 8002B5A0 8CE912EC */ lw $t1, 0x12ec($a3)
|
|
/* 0069A4 8002B5A4 8CEA12F0 */ lw $t2, 0x12f0($a3)
|
|
/* 0069A8 8002B5A8 8CEB12F4 */ lw $t3, 0x12f4($a3)
|
|
/* 0069AC 8002B5AC 8CEC12F8 */ lw $t4, 0x12f8($a3)
|
|
/* 0069B0 8002B5B0 3C018007 */ lui $at, 0x8007
|
|
/* 0069B4 8002B5B4 00220821 */ addu $at, $at, $v0
|
|
/* 0069B8 8002B5B8 AC2979C4 */ sw $t1, 0x79c4($at)
|
|
/* 0069BC 8002B5BC 3C018007 */ lui $at, 0x8007
|
|
/* 0069C0 8002B5C0 00220821 */ addu $at, $at, $v0
|
|
/* 0069C4 8002B5C4 AC2A79C8 */ sw $t2, 0x79c8($at)
|
|
/* 0069C8 8002B5C8 3C018007 */ lui $at, 0x8007
|
|
/* 0069CC 8002B5CC 00220821 */ addu $at, $at, $v0
|
|
/* 0069D0 8002B5D0 AC2B79CC */ sw $t3, 0x79cc($at)
|
|
/* 0069D4 8002B5D4 3C018007 */ lui $at, 0x8007
|
|
/* 0069D8 8002B5D8 00220821 */ addu $at, $at, $v0
|
|
/* 0069DC 8002B5DC AC2C79D0 */ sw $t4, 0x79d0($at)
|
|
/* 0069E0 8002B5E0 8CE912FC */ lw $t1, 0x12fc($a3)
|
|
/* 0069E4 8002B5E4 8CEA1300 */ lw $t2, 0x1300($a3)
|
|
/* 0069E8 8002B5E8 3C018007 */ lui $at, 0x8007
|
|
/* 0069EC 8002B5EC 00220821 */ addu $at, $at, $v0
|
|
/* 0069F0 8002B5F0 AC2979D4 */ sw $t1, 0x79d4($at)
|
|
/* 0069F4 8002B5F4 3C018007 */ lui $at, 0x8007
|
|
/* 0069F8 8002B5F8 00220821 */ addu $at, $at, $v0
|
|
/* 0069FC 8002B5FC AC2A79D8 */ sw $t2, 0x79d8($at)
|
|
/* 006A00 8002B600 03E00008 */ jr $ra
|
|
/* 006A04 8002B604 00000000 */ nop
|
|
|
|
/* 006A08 8002B608 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 006A0C 8002B60C 3C038007 */ lui $v1, 0x8007
|
|
/* 006A10 8002B610 8C63419C */ lw $v1, 0x419c($v1)
|
|
/* 006A14 8002B614 2402000A */ addiu $v0, $zero, 0xa
|
|
/* 006A18 8002B618 AFBF0010 */ sw $ra, 0x10($sp)
|
|
/* 006A1C 8002B61C 0C00AD8C */ jal fio_serialize_state
|
|
/* 006A20 8002B620 A462008E */ sh $v0, 0x8e($v1)
|
|
/* 006A24 8002B624 8FBF0010 */ lw $ra, 0x10($sp)
|
|
/* 006A28 8002B628 03E00008 */ jr $ra
|
|
/* 006A2C 8002B62C 27BD0018 */ addiu $sp, $sp, 0x18
|
|
|