summaryrefslogtreecommitdiff
path: root/asm/save1.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/save1.s')
-rw-r--r--asm/save1.s745
1 files changed, 745 insertions, 0 deletions
diff --git a/asm/save1.s b/asm/save1.s
new file mode 100644
index 0000000..3a64f71
--- /dev/null
+++ b/asm/save1.s
@@ -0,0 +1,745 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8012468
+sub_8012468:
+ push {r4,lr}
+ ldr r4, _08012480
+ movs r0, 0x8
+ movs r1, 0x5
+ bl MemoryAlloc
+ str r0, [r4]
+ movs r1, 0x1
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08012480: .4byte gUnknown_203B188
+ thumb_func_end sub_8012468
+
+ thumb_func_start sub_8012484
+sub_8012484:
+ push {r4,r5,lr}
+ sub sp, 0x8
+ ldr r1, _080124A0
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r4, r1, 0
+ cmp r0, 0x6
+ bhi _0801254C
+ lsls r0, 2
+ ldr r1, _080124A4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080124A0: .4byte gUnknown_203B188
+_080124A4: .4byte _080124A8
+ .align 2, 0
+_080124A8:
+ .4byte _080124C4
+ .4byte _080124CC
+ .4byte _080124E8
+ .4byte _0801251C
+ .4byte _08012534
+ .4byte _0801254C
+ .4byte _08012548
+_080124C4:
+ ldr r1, [r4]
+ movs r0, 0x1
+ str r0, [r1]
+ b _0801254C
+_080124CC:
+ movs r0, 0
+ str r0, [sp]
+ mov r0, sp
+ bl sub_8011DAC
+ ldr r1, _080124E4
+ ldr r1, [r1]
+ str r0, [r1, 0x4]
+ movs r0, 0x2
+ str r0, [r1]
+ b _0801254C
+ .align 2, 0
+_080124E4: .4byte gUnknown_203B188
+_080124E8:
+ adds r5, r4, 0
+ ldr r1, [r5]
+ ldr r0, [r1, 0x4]
+ cmp r0, 0
+ beq _0801253C
+ bl sub_8011FF8
+ lsls r0, 24
+ cmp r0, 0
+ beq _08012518
+ ldr r0, _08012510
+ ldr r3, _08012514
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1]
+ b _0801254C
+ .align 2, 0
+_08012510: .4byte gUnknown_80D4354
+_08012514: .4byte 0x00000301
+_08012518:
+ ldr r1, [r4]
+ b _0801252A
+_0801251C:
+ add r0, sp, 0x4
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0801254C
+ ldr r0, _08012530
+ ldr r1, [r0]
+_0801252A:
+ movs r0, 0x4
+ str r0, [r1]
+ b _0801254C
+ .align 2, 0
+_08012530: .4byte gUnknown_203B188
+_08012534:
+ bl sub_8012298
+ ldr r0, _08012544
+ ldr r1, [r0]
+_0801253C:
+ movs r0, 0x6
+ str r0, [r1]
+ b _0801254C
+ .align 2, 0
+_08012544: .4byte gUnknown_203B188
+_08012548:
+ movs r0, 0
+ b _0801254E
+_0801254C:
+ movs r0, 0x1
+_0801254E:
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8012484
+
+ thumb_func_start sub_8012558
+sub_8012558:
+ push {r4,lr}
+ ldr r4, _08012570
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0801256A
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801256A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08012570: .4byte gUnknown_203B188
+ thumb_func_end sub_8012558
+
+ thumb_func_start sub_8012574
+sub_8012574:
+ push {r4-r6,lr}
+ lsls r0, 16
+ asrs r4, r0, 16
+ bl sub_80993D8
+ ldr r5, _080125D4
+ movs r0, 0x20
+ movs r1, 0x5
+ bl MemoryAlloc
+ str r0, [r5]
+ movs r6, 0
+ movs r1, 0
+ strh r4, [r0, 0x1C]
+ str r1, [r0, 0xC]
+ str r1, [r0, 0x10]
+ cmp r4, 0
+ beq _080125BA
+ adds r0, r4, 0
+ bl sub_808DDD0
+ ldr r1, [r5]
+ str r0, [r1, 0xC]
+ ldr r0, [r0, 0x4]
+ str r0, [r1, 0x10]
+ strb r6, [r1, 0x18]
+ ldr r0, [r5]
+ strb r6, [r0, 0x19]
+ ldr r0, [r5]
+ strb r6, [r0, 0x1A]
+ ldr r1, [r5]
+ movs r0, 0x2
+ strh r0, [r1, 0x14]
+ movs r0, 0x8
+ strh r0, [r1, 0x16]
+_080125BA:
+ ldr r1, [r5]
+ ldr r0, [r1, 0xC]
+ cmp r0, 0
+ beq _080125DC
+ adds r2, r1, 0
+ adds r2, 0xC
+ ldr r0, _080125D8
+ movs r1, 0
+ movs r3, 0x20
+ bl sub_80141B4
+ b _080125E8
+ .align 2, 0
+_080125D4: .4byte gUnknown_203B18C
+_080125D8: .4byte gUnknown_80D4398
+_080125DC:
+ ldr r0, _080125F8
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x20
+ bl sub_80141B4
+_080125E8:
+ ldr r0, _080125FC
+ ldr r1, [r0]
+ movs r0, 0x3
+ str r0, [r1]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080125F8: .4byte gUnknown_80D4398
+_080125FC: .4byte gUnknown_203B18C
+ thumb_func_end sub_8012574
+
+ thumb_func_start sub_8012600
+sub_8012600:
+ push {r4,r5,lr}
+ sub sp, 0x8
+ movs r5, 0
+ ldr r0, _08012628
+ ldr r2, [r0]
+ ldr r1, [r2, 0xC]
+ adds r4, r0, 0
+ cmp r1, 0
+ beq _08012616
+ adds r5, r2, 0
+ adds r5, 0xC
+_08012616:
+ ldr r0, [r2]
+ cmp r0, 0x7
+ bls _0801261E
+ b _08012738
+_0801261E:
+ lsls r0, 2
+ ldr r1, _0801262C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08012628: .4byte gUnknown_203B18C
+_0801262C: .4byte _08012630
+ .align 2, 0
+_08012630:
+ .4byte _08012650
+ .4byte _08012654
+ .4byte _08012738
+ .4byte _08012678
+ .4byte _08012680
+ .4byte _0801271C
+ .4byte _08012738
+ .4byte _08012734
+_08012650:
+ ldr r1, [r4]
+ b _0801272A
+_08012654:
+ ldr r1, [r4]
+ ldr r0, [r1, 0x4]
+ adds r0, 0x1
+ str r0, [r1, 0x4]
+ cmp r0, 0x8
+ ble _08012738
+ ldr r0, _08012674
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x20
+ bl sub_80141B4
+ ldr r1, [r4]
+ movs r0, 0x3
+ str r0, [r1]
+ b _08012738
+ .align 2, 0
+_08012674: .4byte gUnknown_80D43D8
+_08012678:
+ ldr r1, [r4]
+ movs r0, 0x4
+ str r0, [r1]
+ b _08012738
+_08012680:
+ movs r0, 0
+ str r0, [sp]
+ bl sub_80140DC
+ bl sub_8011C1C
+ adds r1, r0, 0
+ mov r0, sp
+ bl sub_801203C
+ ldr r4, _080126B8
+ ldr r1, [r4]
+ str r0, [r1, 0x8]
+ cmp r0, 0
+ beq _080126C4
+ cmp r0, 0x1
+ beq _080126DC
+ ldr r0, [r1, 0xC]
+ cmp r0, 0
+ beq _080126F4
+ ldr r0, _080126BC
+_080126AA:
+ ldr r3, _080126C0
+ movs r1, 0
+ adds r2, r5, 0
+ bl sub_80141B4
+ b _08012700
+ .align 2, 0
+_080126B8: .4byte gUnknown_203B18C
+_080126BC: .4byte gUnknown_80D44B0
+_080126C0: .4byte 0x00000101
+_080126C4:
+ ldr r0, [r1, 0xC]
+ cmp r0, 0
+ beq _080126D4
+ ldr r0, _080126D0
+ b _080126AA
+ .align 2, 0
+_080126D0: .4byte gUnknown_80D4438
+_080126D4:
+ ldr r0, _080126D8
+ b _080126F6
+ .align 2, 0
+_080126D8: .4byte gUnknown_80D4438
+_080126DC:
+ ldr r0, _080126F0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl sub_80141B4
+ ldr r1, [r4]
+ movs r0, 0x6
+ b _08012706
+ .align 2, 0
+_080126F0: .4byte gUnknown_80D444C
+_080126F4:
+ ldr r0, _08012710
+_080126F6:
+ ldr r3, _08012714
+ movs r1, 0
+ adds r2, r5, 0
+ bl sub_80141B4
+_08012700:
+ ldr r0, _08012718
+ ldr r1, [r0]
+ movs r0, 0x5
+_08012706:
+ str r0, [r1]
+ bl sub_8014114
+ b _08012738
+ .align 2, 0
+_08012710: .4byte gUnknown_80D44B0
+_08012714: .4byte 0x00000101
+_08012718: .4byte gUnknown_203B18C
+_0801271C:
+ add r0, sp, 0x4
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08012738
+ ldr r0, _08012730
+ ldr r1, [r0]
+_0801272A:
+ movs r0, 0x7
+ str r0, [r1]
+ b _08012738
+ .align 2, 0
+_08012730: .4byte gUnknown_203B18C
+_08012734:
+ movs r0, 0
+ b _0801273A
+_08012738:
+ movs r0, 0x1
+_0801273A:
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8012600
+
+ thumb_func_start sub_8012744
+sub_8012744:
+ ldr r0, _0801274C
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ bx lr
+ .align 2, 0
+_0801274C: .4byte gUnknown_203B18C
+ thumb_func_end sub_8012744
+
+ thumb_func_start sub_8012750
+sub_8012750:
+ push {r4,lr}
+ ldr r4, _08012778
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0801276E
+ ldr r0, [r0, 0xC]
+ cmp r0, 0
+ beq _08012764
+ bl CloseFile
+_08012764:
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801276E:
+ bl sub_80993E4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08012778: .4byte gUnknown_203B18C
+ thumb_func_end sub_8012750
+
+ thumb_func_start sub_801277C
+sub_801277C:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r6, r1, 0
+ ldr r4, _080127A4
+ movs r0, 0x10
+ movs r1, 0x5
+ bl MemoryAlloc
+ str r0, [r4]
+ str r5, [r0, 0x4]
+ str r6, [r0, 0x8]
+ movs r1, 0
+ strb r1, [r0, 0xC]
+ ldr r1, [r4]
+ movs r0, 0x1
+ str r0, [r1]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080127A4: .4byte gUnknown_203B190
+ thumb_func_end sub_801277C
+
+ thumb_func_start sub_80127A8
+sub_80127A8:
+ push {r4,r5,lr}
+ sub sp, 0x8
+ ldr r5, _080127C0
+ ldr r2, [r5]
+ ldr r4, [r2]
+ cmp r4, 0x1
+ beq _080127D4
+ cmp r4, 0x1
+ bgt _080127C4
+ cmp r4, 0
+ beq _080127CE
+ b _0801281E
+ .align 2, 0
+_080127C0: .4byte gUnknown_203B190
+_080127C4:
+ cmp r4, 0x2
+ beq _08012808
+ cmp r4, 0x3
+ beq _0801281A
+ b _0801281E
+_080127CE:
+ movs r0, 0x1
+ str r0, [r2]
+ b _0801281E
+_080127D4:
+ movs r0, 0x10
+ str r0, [sp]
+ ldr r1, [r2, 0x4]
+ ldr r2, [r2, 0x8]
+ mov r0, sp
+ bl sub_8011F9C
+ cmp r0, 0
+ bne _080127EC
+ ldr r0, [r5]
+ strb r4, [r0, 0xC]
+ b _08012812
+_080127EC:
+ ldr r0, _08012800
+ ldr r3, _08012804
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ ldr r1, [r5]
+ movs r0, 0x2
+ str r0, [r1]
+ b _0801281E
+ .align 2, 0
+_08012800: .4byte gUnknown_80D44C8
+_08012804: .4byte 0x00000301
+_08012808:
+ add r0, sp, 0x4
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0801281E
+_08012812:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1]
+ b _0801281E
+_0801281A:
+ movs r0, 0
+ b _08012820
+_0801281E:
+ movs r0, 0x1
+_08012820:
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80127A8
+
+ thumb_func_start sub_8012828
+sub_8012828:
+ ldr r0, _08012830
+ ldr r0, [r0]
+ ldrb r0, [r0, 0xC]
+ bx lr
+ .align 2, 0
+_08012830: .4byte gUnknown_203B190
+ thumb_func_end sub_8012828
+
+ thumb_func_start sub_8012834
+sub_8012834:
+ push {r4,lr}
+ ldr r4, _0801284C
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _08012846
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_08012846:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801284C: .4byte gUnknown_203B190
+ thumb_func_end sub_8012834
+
+ thumb_func_start sub_8012850
+sub_8012850:
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ adds r6, r0, 0
+ mov r8, r1
+ lsls r4, r2, 24
+ lsrs r4, 24
+ ldr r5, _0801288C
+ movs r0, 0x14
+ movs r1, 0x5
+ bl MemoryAlloc
+ str r0, [r5]
+ str r6, [r0, 0x4]
+ mov r1, r8
+ str r1, [r0, 0x8]
+ movs r1, 0
+ strb r4, [r0, 0xC]
+ ldr r0, [r5]
+ str r1, [r0]
+ ldrb r0, [r0, 0xC]
+ cmp r0, 0
+ beq _08012894
+ ldr r0, _08012890
+ movs r2, 0
+ movs r3, 0x20
+ bl sub_80141B4
+ b _080128A0
+ .align 2, 0
+_0801288C: .4byte gUnknown_203B194
+_08012890: .4byte gUnknown_80D45AC
+_08012894:
+ ldr r0, _080128AC
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x20
+ bl sub_80141B4
+_080128A0:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080128AC: .4byte gUnknown_80D45AC
+ thumb_func_end sub_8012850
+
+ thumb_func_start sub_80128B0
+sub_80128B0:
+ push {r4,lr}
+ sub sp, 0x8
+ ldr r1, _080128CC
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r4, r1, 0
+ cmp r0, 0x5
+ bls _080128C2
+ b _080129F0
+_080128C2:
+ lsls r0, 2
+ ldr r1, _080128D0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080128CC: .4byte gUnknown_203B194
+_080128D0: .4byte _080128D4
+ .align 2, 0
+_080128D4:
+ .4byte _080128EC
+ .4byte _080128F4
+ .4byte _0801291C
+ .4byte _080129C8
+ .4byte _080129F0
+ .4byte _080129E0
+_080128EC:
+ ldr r1, [r4]
+ movs r0, 0x1
+ str r0, [r1]
+ b _080129F0
+_080128F4:
+ bl sub_80140DC
+ movs r0, 0x10
+ str r0, [sp]
+ ldr r4, _08012918
+ ldr r0, [r4]
+ ldr r1, [r0, 0x4]
+ ldr r2, [r0, 0x8]
+ mov r0, sp
+ bl sub_80121D4
+ ldr r1, [r4]
+ str r0, [r1, 0x10]
+ movs r0, 0x2
+ str r0, [r1]
+ movs r0, 0x1
+ b _080129F2
+ .align 2, 0
+_08012918: .4byte gUnknown_203B194
+_0801291C:
+ movs r0, 0
+ str r0, [sp]
+ ldr r0, [r4]
+ ldr r0, [r0, 0x10]
+ cmp r0, 0
+ bne _08012934
+ mov r0, sp
+ movs r1, 0x2
+ bl sub_801203C
+ ldr r1, [r4]
+ str r0, [r1, 0x10]
+_08012934:
+ ldr r0, [r4]
+ ldr r0, [r0, 0x10]
+ cmp r0, 0
+ beq _08012964
+ cmp r0, 0x1
+ beq _080129AC
+ ldr r0, _08012958
+ bl sub_80121E0
+ ldr r0, _0801295C
+ ldr r3, _08012960
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ ldr r1, [r4]
+ movs r0, 0x3
+ b _080129BC
+ .align 2, 0
+_08012958: .4byte 0x000f1209
+_0801295C: .4byte gUnknown_80D47A0
+_08012960: .4byte 0x00000301
+_08012964:
+ ldr r0, _08012980
+ bl sub_80121E0
+ ldr r0, [r4]
+ ldrb r0, [r0, 0xC]
+ cmp r0, 0
+ beq _0801298C
+ ldr r0, _08012984
+ ldr r3, _08012988
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ b _08012998
+ .align 2, 0
+_08012980: .4byte 0x000f1207
+_08012984: .4byte gUnknown_80D45F4
+_08012988: .4byte 0x00000301
+_0801298C:
+ ldr r0, _080129A0
+ ldr r3, _080129A4
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+_08012998:
+ ldr r0, _080129A8
+ ldr r1, [r0]
+ movs r0, 0x3
+ b _080129BC
+ .align 2, 0
+_080129A0: .4byte gUnknown_80D4668
+_080129A4: .4byte 0x00000301
+_080129A8: .4byte gUnknown_203B194
+_080129AC:
+ ldr r0, _080129C4
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl sub_80141B4
+ ldr r1, [r4]
+ movs r0, 0x4
+_080129BC:
+ str r0, [r1]
+ bl sub_8014114
+ b _080129F0
+ .align 2, 0
+_080129C4: .4byte gUnknown_80D473C
+_080129C8:
+ add r0, sp, 0x4
+ bl sub_80144A4
+ cmp r0, 0
+ bne _080129F0
+ ldr r0, _080129DC
+ ldr r1, [r0]
+ movs r0, 0x5
+ str r0, [r1]
+ b _080129F0
+ .align 2, 0
+_080129DC: .4byte gUnknown_203B194
+_080129E0:
+ ldr r0, [r4]
+ ldr r0, [r0, 0x10]
+ cmp r0, 0
+ bne _080129EC
+ movs r0, 0x2
+ b _080129F2
+_080129EC:
+ movs r0, 0x3
+ b _080129F2
+_080129F0:
+ movs r0, 0
+_080129F2:
+ add sp, 0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80128B0
+
+ .align 2,0