pokefirered/asm/mevent.s
2018-10-11 23:29:11 -04:00

2439 lines
41 KiB
ArmAsm

.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_81435DC
sub_81435DC: @ 81435DC
push {r4-r6,lr}
mov r6, r8
push {r6}
sub sp, 0x4
adds r5, r0, 0
adds r6, r1, 0
mov r8, r2
mov r1, sp
ldr r4, _08143630 @ =0x04000208
ldrh r0, [r4]
strh r0, [r1]
movs r0, 0
strh r0, [r4]
ldr r1, _08143634 @ =gIntrTable
ldr r0, _08143638 @ =sub_815C6D4
str r0, [r1, 0x4]
ldr r0, _0814363C @ =sub_815C6C4
str r0, [r1, 0x8]
bl sub_815C8C8
bl sub_815C960
ldr r2, _08143640 @ =0x04000200
ldrh r0, [r2]
movs r1, 0x4
orrs r0, r1
strh r0, [r2]
mov r0, sp
ldrh r0, [r0]
strh r0, [r4]
movs r0, 0
strh r0, [r5]
str r6, [r5, 0x4]
mov r0, r8
str r0, [r5, 0x8]
add sp, 0x4
pop {r3}
mov r8, r3
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08143630: .4byte 0x04000208
_08143634: .4byte gIntrTable
_08143638: .4byte sub_815C6D4
_0814363C: .4byte sub_815C6C4
_08143640: .4byte 0x04000200
thumb_func_end sub_81435DC
thumb_func_start sub_8143644
sub_8143644: @ 8143644
push {r4,lr}
sub sp, 0x4
mov r1, sp
ldr r4, _08143670 @ =0x04000208
ldrh r0, [r4]
strh r0, [r1]
movs r0, 0
strh r0, [r4]
bl sub_815C960
bl sub_815C91C
bl RestoreSerialTimer3IntrHandlers
mov r0, sp
ldrh r0, [r0]
strh r0, [r4]
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08143670: .4byte 0x04000208
thumb_func_end sub_8143644
thumb_func_start sub_8143674
sub_8143674: @ 8143674
push {r4,r5,lr}
adds r4, r0, 0
movs r5, 0
ldr r1, [r4, 0x4]
ldr r2, [r4, 0x8]
movs r0, 0x1
movs r3, 0
bl sub_815C498
adds r1, r0, 0
strh r1, [r4]
movs r0, 0x13
ands r0, r1
cmp r0, 0x10
bne _08143694
movs r5, 0x1
_08143694:
movs r0, 0x8
ands r0, r1
cmp r0, 0
beq _0814369E
movs r5, 0x2
_0814369E:
movs r0, 0x4
ands r0, r1
cmp r0, 0
beq _081436A8
movs r5, 0x3
_081436A8:
ldr r1, _081436B8 @ =gUnknown_3003F84
movs r0, 0
strb r0, [r1]
adds r0, r5, 0
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_081436B8: .4byte gUnknown_3003F84
thumb_func_end sub_8143674
thumb_func_start sub_81436BC
sub_81436BC: @ 81436BC
push {lr}
ldr r0, _081436E0 @ =gDecompressionBuffer
movs r2, 0x80
lsls r2, 6
movs r1, 0
bl memset
ldr r1, _081436E4 @ =gUnknown_202271A
ldr r2, _081436E8 @ =0x00005502
adds r0, r2, 0
strh r0, [r1]
bl sub_8009804
movs r0, 0x1
bl SetSuppressLinkErrorMessage
pop {r0}
bx r0
.align 2, 0
_081436E0: .4byte gDecompressionBuffer
_081436E4: .4byte gUnknown_202271A
_081436E8: .4byte 0x00005502
thumb_func_end sub_81436BC
thumb_func_start sub_81436EC
sub_81436EC: @ 81436EC
push {lr}
sub sp, 0xC
mov r1, sp
ldr r2, _08143730 @ =0x04000208
ldrh r0, [r2]
strh r0, [r1]
movs r0, 0
strh r0, [r2]
ldr r0, _08143734 @ =gUnknown_3003FB4
ldr r1, [r0, 0x4]
ldr r0, [r0]
str r0, [sp, 0x4]
str r1, [sp, 0x8]
mov r0, sp
ldrh r0, [r0]
strh r0, [r2]
add r2, sp, 0x4
ldrh r1, [r2]
ldr r0, _08143738 @ =0x0000b9a0
cmp r1, r0
bne _08143744
ldrh r1, [r2, 0x2]
ldr r0, _0814373C @ =0x0000ccd0
cmp r1, r0
bne _08143744
ldrh r1, [r2, 0x4]
ldr r0, _08143740 @ =0x0000ffff
cmp r1, r0
bne _08143744
ldrh r0, [r2, 0x6]
cmp r0, r1
bne _08143744
movs r0, 0x1
b _08143746
.align 2, 0
_08143730: .4byte 0x04000208
_08143734: .4byte gUnknown_3003FB4
_08143738: .4byte 0x0000b9a0
_0814373C: .4byte 0x0000ccd0
_08143740: .4byte 0x0000ffff
_08143744:
movs r0, 0
_08143746:
add sp, 0xC
pop {r1}
bx r1
thumb_func_end sub_81436EC
thumb_func_start sub_814374C
sub_814374C: @ 814374C
push {lr}
bl sub_800AA48
lsls r0, 24
cmp r0, 0
beq _08143768
bl GetLinkPlayerCount_2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
bne _08143768
movs r0, 0x1
b _0814376A
_08143768:
movs r0, 0
_0814376A:
pop {r1}
bx r1
thumb_func_end sub_814374C
thumb_func_start sub_8143770
sub_8143770: @ 8143770
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
ldrb r0, [r4]
subs r0, 0x3
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
bhi _08143794
bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
beq _08143794
movs r0, 0
strb r0, [r4]
movs r0, 0x3
b _0814389A
_08143794:
ldrb r0, [r4]
cmp r0, 0x5
bls _0814379C
b _08143898
_0814379C:
lsls r0, 2
ldr r1, _081437A8 @ =_081437AC
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_081437A8: .4byte _081437AC
.align 2, 0
_081437AC:
.4byte _081437C4
.4byte _081437E0
.4byte _081437F8
.4byte _0814382C
.4byte _08143878
.4byte _08143884
_081437C4:
bl sub_800AA48
lsls r0, 24
cmp r0, 0
beq _08143814
bl GetLinkPlayerCount_2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bls _08143814
movs r0, 0x1
strb r0, [r4]
b _08143898
_081437E0:
ldrh r0, [r5]
adds r0, 0x1
strh r0, [r5]
lsls r0, 16
lsrs r0, 16
cmp r0, 0x5
bls _08143898
movs r0, 0
strh r0, [r5]
movs r0, 0x2
strb r0, [r4]
b _08143898
_081437F8:
bl GetLinkPlayerCount_2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
bne _08143814
movs r0, 0x42
bl PlaySE
bl sub_800A5BC
movs r0, 0
strh r0, [r5]
b _08143872
_08143814:
ldr r0, _08143828 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _08143898
movs r0, 0
strb r0, [r4]
movs r0, 0x1
b _0814389A
.align 2, 0
_08143828: .4byte gMain
_0814382C:
ldrh r0, [r5]
adds r0, 0x1
strh r0, [r5]
lsls r0, 16
lsrs r0, 16
cmp r0, 0x1E
bls _08143842
movs r0, 0
strb r0, [r4]
movs r0, 0x5
b _0814389A
_08143842:
bl IsLinkConnectionEstablished
lsls r0, 24
cmp r0, 0
beq _08143898
ldr r0, _08143868 @ =gUnknown_3003F64
ldrb r0, [r0]
cmp r0, 0
beq _08143872
bl IsLinkPlayerDataExchangeComplete
lsls r0, 24
cmp r0, 0
beq _0814386C
movs r0, 0
strb r0, [r4]
movs r0, 0x2
b _0814389A
.align 2, 0
_08143868: .4byte gUnknown_3003F64
_0814386C:
movs r0, 0x4
strb r0, [r4]
b _08143898
_08143872:
movs r0, 0x3
strb r0, [r4]
b _08143898
_08143878:
movs r0, 0
bl sub_800AA80
movs r0, 0x5
strb r0, [r4]
b _08143898
_08143884:
ldr r0, _08143894 @ =gUnknown_3003F64
ldrb r0, [r0]
cmp r0, 0
bne _08143898
strb r0, [r4]
movs r0, 0x4
b _0814389A
.align 2, 0
_08143894: .4byte gUnknown_3003F64
_08143898:
movs r0, 0
_0814389A:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8143770
thumb_func_start sub_81438A0
sub_81438A0: @ 81438A0
push {r4,lr}
ldr r0, _081438E0 @ =sub_8143910
movs r1, 0
bl CreateTask
lsls r0, 24
lsrs r0, 24
lsls r4, r0, 2
adds r4, r0
lsls r4, 3
ldr r0, _081438E4 @ =gTasks+0x8
adds r4, r0
movs r0, 0
strb r0, [r4, 0x8]
strb r0, [r4, 0x9]
strb r0, [r4, 0xA]
strb r0, [r4, 0xB]
strb r0, [r4, 0xC]
strb r0, [r4, 0xD]
movs r1, 0
strh r0, [r4]
strh r0, [r4, 0x2]
strh r0, [r4, 0x4]
strh r0, [r4, 0x6]
strb r1, [r4, 0xE]
movs r0, 0x40
bl AllocZeroed
str r0, [r4, 0x10]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_081438E0: .4byte sub_8143910
_081438E4: .4byte gTasks+0x8
thumb_func_end sub_81438A0
thumb_func_start sub_81438E8
sub_81438E8: @ 81438E8
movs r1, 0
strh r1, [r0]
bx lr
thumb_func_end sub_81438E8
thumb_func_start sub_81438F0
sub_81438F0: @ 81438F0
push {lr}
adds r2, r0, 0
lsls r1, 16
ldrh r0, [r2]
adds r0, 0x1
strh r0, [r2]
lsls r0, 16
cmp r0, r1
bhi _08143906
movs r0, 0
b _0814390C
_08143906:
movs r0, 0
strh r0, [r2]
movs r0, 0x1
_0814390C:
pop {r1}
bx r1
thumb_func_end sub_81438F0
thumb_func_start sub_8143910
sub_8143910: @ 8143910
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
ldr r1, _08143934 @ =gTasks+0x8
adds r4, r0, r1
ldrb r0, [r4, 0x8]
cmp r0, 0x1A
bls _08143928
b _08143D1A
_08143928:
lsls r0, 2
ldr r1, _08143938 @ =_0814393C
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08143934: .4byte gTasks+0x8
_08143938: .4byte _0814393C
.align 2, 0
_0814393C:
.4byte _081439A8
.4byte _081439C4
.4byte _081439D4
.4byte _081439E8
.4byte _081439F8
.4byte _08143A24
.4byte _08143A5C
.4byte _08143AD8
.4byte _08143AF4
.4byte _08143B1C
.4byte _08143B38
.4byte _08143B68
.4byte _08143B7E
.4byte _08143B94
.4byte _08143BF6
.4byte _08143C1C
.4byte _08143C34
.4byte _08143C52
.4byte _08143C7E
.4byte _08143CA4
.4byte _08143CD4
.4byte _08143CE0
.4byte _08143CEC
.4byte _08143CBC
.4byte _08143D1A
.4byte _08143D1A
.4byte _08143D04
_081439A8:
adds r0, r4, 0
adds r0, 0x9
ldr r1, _081439C0 @ =gUnknown_841DE52
bl mevent_0814257C
cmp r0, 0
bne _081439B8
b _08143D1A
_081439B8:
movs r0, 0x1
strb r0, [r4, 0x8]
b _08143D1A
.align 2, 0
_081439C0: .4byte gUnknown_841DE52
_081439C4:
bl sub_81436BC
adds r0, r4, 0
bl sub_81438E8
movs r0, 0x2
strb r0, [r4, 0x8]
b _08143D1A
_081439D4:
adds r0, r4, 0
movs r1, 0xA
bl sub_81438F0
cmp r0, 0
bne _081439E2
b _08143D1A
_081439E2:
movs r0, 0x3
strb r0, [r4, 0x8]
b _08143D1A
_081439E8:
bl sub_814374C
cmp r0, 0
beq _081439F2
b _08143B88
_081439F2:
bl sub_80098B8
b _08143AE8
_081439F8:
adds r0, r4, 0
adds r0, 0x9
ldr r1, _08143A1C @ =gUnknown_841DE53
bl mevent_0814257C
cmp r0, 0
bne _08143A08
b _08143D1A
_08143A08:
ldr r0, _08143A20 @ =gUnknown_841DE54
bl sub_8142504
adds r0, r4, 0
bl sub_81438E8
movs r0, 0x5
strb r0, [r4, 0x8]
b _08143D1A
.align 2, 0
_08143A1C: .4byte gUnknown_841DE53
_08143A20: .4byte gUnknown_841DE54
_08143A24:
adds r0, r4, 0
movs r1, 0x5A
bl sub_81438F0
cmp r0, 0
beq _08143A3A
bl sub_81436BC
movs r0, 0x6
strb r0, [r4, 0x8]
b _08143D1A
_08143A3A:
ldr r0, _08143A58 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x2
ands r0, r1
cmp r0, 0
bne _08143A48
b _08143D1A
_08143A48:
adds r0, r4, 0
bl sub_81438E8
movs r0, 0x5
bl PlaySE
b _08143BE6
.align 2, 0
_08143A58: .4byte gMain
_08143A5C:
ldr r0, _08143A7C @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _08143A80
movs r0, 0x5
bl PlaySE
bl sub_80098B8
adds r0, r4, 0
bl sub_81438E8
b _08143BE6
.align 2, 0
_08143A7C: .4byte gMain
_08143A80:
bl GetLinkPlayerCount_2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bls _08143A9C
adds r0, r4, 0
bl sub_81438E8
bl sub_80098B8
movs r0, 0x7
strb r0, [r4, 0x8]
b _08143D1A
_08143A9C:
bl sub_81436EC
cmp r0, 0
beq _08143ABA
movs r0, 0x5
bl PlaySE
bl sub_80098B8
adds r0, r4, 0
bl sub_81438E8
movs r0, 0x8
strb r0, [r4, 0x8]
b _08143D1A
_08143ABA:
adds r0, r4, 0
movs r1, 0xA
bl sub_81438F0
cmp r0, 0
bne _08143AC8
b _08143D1A
_08143AC8:
bl sub_80098B8
bl sub_81436BC
adds r0, r4, 0
bl sub_81438E8
b _08143D1A
_08143AD8:
adds r0, r4, 0
adds r0, 0x9
ldr r1, _08143AF0 @ =gUnknown_841DE7C
bl mevent_0814257C
cmp r0, 0
bne _08143AE8
b _08143D1A
_08143AE8:
movs r0, 0x4
strb r0, [r4, 0x8]
b _08143D1A
.align 2, 0
_08143AF0: .4byte gUnknown_841DE7C
_08143AF4:
ldr r0, _08143B0C @ =gUnknown_841DE95
bl sub_8142504
ldr r0, _08143B10 @ =gUnknown_3005ED0
ldr r1, _08143B14 @ =gUnknownSerialData_End
ldr r2, _08143B18 @ =gUnknownSerialData_Start
subs r1, r2
bl sub_81435DC
movs r0, 0x9
strb r0, [r4, 0x8]
b _08143D1A
.align 2, 0
_08143B0C: .4byte gUnknown_841DE95
_08143B10: .4byte gUnknown_3005ED0
_08143B14: .4byte gUnknownSerialData_End
_08143B18: .4byte gUnknownSerialData_Start
_08143B1C:
ldr r0, _08143B34 @ =gUnknown_3005ED0
bl sub_8143674
strb r0, [r4, 0xE]
lsls r0, 24
cmp r0, 0
bne _08143B2C
b _08143D1A
_08143B2C:
movs r0, 0xA
strb r0, [r4, 0x8]
b _08143D1A
.align 2, 0
_08143B34: .4byte gUnknown_3005ED0
_08143B38:
ldr r0, _08143B60 @ =gUnknown_3005ED0
bl sub_8143644
ldrb r0, [r4, 0xE]
cmp r0, 0x3
bne _08143B46
b _08143C4C
_08143B46:
cmp r0, 0x1
beq _08143B4C
b _08143CFA
_08143B4C:
adds r0, r4, 0
bl sub_81438E8
ldr r0, _08143B64 @ =gUnknown_841DE9B
bl sub_8142504
movs r0, 0xB
strb r0, [r4, 0x8]
b _08143D1A
.align 2, 0
_08143B60: .4byte gUnknown_3005ED0
_08143B64: .4byte gUnknown_841DE9B
_08143B68:
movs r1, 0xD2
lsls r1, 2
adds r0, r4, 0
bl sub_81438F0
cmp r0, 0
bne _08143B78
b _08143D1A
_08143B78:
movs r0, 0xC
strb r0, [r4, 0x8]
b _08143D1A
_08143B7E:
bl sub_81436BC
ldr r0, _08143B90 @ =gUnknown_841DE98
bl sub_8142504
_08143B88:
movs r0, 0xD
strb r0, [r4, 0x8]
b _08143D1A
.align 2, 0
_08143B90: .4byte gUnknown_841DE98
_08143B94:
adds r0, r4, 0
adds r0, 0x9
adds r1, r4, 0
bl sub_8143770
cmp r0, 0x5
bls _08143BA4
b _08143D1A
_08143BA4:
lsls r0, 2
ldr r1, _08143BB0 @ =_08143BB4
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08143BB0: .4byte _08143BB4
.align 2, 0
_08143BB4:
.4byte _08143D1A
.4byte _08143BDC
.4byte _08143BCC
.4byte _08143C00
.4byte _08143C00
.4byte _08143BEC
_08143BCC:
ldr r0, _08143BD8 @ =gUnknown_841DE95
bl sub_8142504
movs r0, 0xE
strb r0, [r4, 0x8]
b _08143D1A
.align 2, 0
_08143BD8: .4byte gUnknown_841DE95
_08143BDC:
movs r0, 0x5
bl PlaySE
bl sub_80098B8
_08143BE6:
movs r0, 0x17
strb r0, [r4, 0x8]
b _08143D1A
_08143BEC:
bl sub_80098B8
movs r0, 0x15
strb r0, [r4, 0x8]
b _08143D1A
_08143BF6:
bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
beq _08143C06
_08143C00:
bl sub_80098B8
b _08143C4C
_08143C06:
bl GetBlockReceivedStatus
lsls r0, 24
cmp r0, 0
bne _08143C12
b _08143D1A
_08143C12:
bl ResetBlockReceivedFlags
movs r0, 0xF
strb r0, [r4, 0x8]
b _08143D1A
_08143C1C:
ldr r0, _08143C30 @ =gDecompressionBuffer
bl sub_815D6B4
strb r0, [r4, 0xE]
ldrb r0, [r4, 0xE]
bl sub_800AA80
movs r0, 0x10
strb r0, [r4, 0x8]
b _08143D1A
.align 2, 0
_08143C30: .4byte gDecompressionBuffer
_08143C34:
ldr r0, _08143C48 @ =gUnknown_3003F64
ldrb r0, [r0]
cmp r0, 0
bne _08143D1A
ldrb r0, [r4, 0xE]
cmp r0, 0x1
bne _08143C4C
movs r0, 0x11
strb r0, [r4, 0x8]
b _08143D1A
.align 2, 0
_08143C48: .4byte gUnknown_3003F64
_08143C4C:
movs r0, 0x14
strb r0, [r4, 0x8]
b _08143D1A
_08143C52:
ldr r0, _08143C70 @ =gDecompressionBuffer
bl sub_815D794
cmp r0, 0
beq _08143C78
ldr r0, _08143C74 @ =gUnknown_841DE99
bl sub_8142504
adds r0, r4, 0
bl sub_81438E8
movs r0, 0x12
strb r0, [r4, 0x8]
b _08143D1A
.align 2, 0
_08143C70: .4byte gDecompressionBuffer
_08143C74: .4byte gUnknown_841DE99
_08143C78:
movs r0, 0x16
strb r0, [r4, 0x8]
b _08143D1A
_08143C7E:
adds r0, r4, 0
movs r1, 0x78
bl sub_81438F0
cmp r0, 0
beq _08143D1A
ldr r0, _08143CA0 @ =gUnknown_841DE9A
bl sub_8142504
movs r0, 0x81
lsls r0, 1
bl PlayFanfare
movs r0, 0x13
strb r0, [r4, 0x8]
b _08143D1A
.align 2, 0
_08143CA0: .4byte gUnknown_841DE9A
_08143CA4:
bl IsFanfareTaskInactive
lsls r0, 24
cmp r0, 0
beq _08143D1A
ldr r0, _08143CB8 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x3
ands r0, r1
b _08143CC6
.align 2, 0
_08143CB8: .4byte gMain
_08143CBC:
adds r0, r4, 0
adds r0, 0x9
ldr r1, _08143CD0 @ =gUnknown_841DE7D
bl mevent_0814257C
_08143CC6:
cmp r0, 0
beq _08143D1A
movs r0, 0x1A
strb r0, [r4, 0x8]
b _08143D1A
.align 2, 0
_08143CD0: .4byte gUnknown_841DE7D
_08143CD4:
adds r0, r4, 0
adds r0, 0x9
ldr r1, _08143CDC @ =gUnknown_841DE96
b _08143CF2
.align 2, 0
_08143CDC: .4byte gUnknown_841DE96
_08143CE0:
adds r0, r4, 0
adds r0, 0x9
ldr r1, _08143CE8 @ =gUnknown_841DE97
b _08143CF2
.align 2, 0
_08143CE8: .4byte gUnknown_841DE97
_08143CEC:
adds r0, r4, 0
adds r0, 0x9
ldr r1, _08143D00 @ =gUnknown_841DE9C
_08143CF2:
bl mevent_0814257C
cmp r0, 0
beq _08143D1A
_08143CFA:
movs r0, 0
strb r0, [r4, 0x8]
b _08143D1A
.align 2, 0
_08143D00: .4byte gUnknown_841DE9C
_08143D04:
bl sub_812B484
ldr r0, [r4, 0x10]
bl Free
adds r0, r5, 0
bl DestroyTask
ldr r0, _08143D20 @ =sub_81422FC
bl SetMainCallback2
_08143D1A:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08143D20: .4byte sub_81422FC
thumb_func_end sub_8143910
thumb_func_start sub_8143D24
sub_8143D24: @ 8143D24
push {lr}
sub sp, 0x4
movs r0, 0
str r0, [sp]
ldr r0, _08143D4C @ =gSaveBlock1Ptr
ldr r1, [r0]
ldr r0, _08143D50 @ =0x00003120
adds r1, r0
ldr r2, _08143D54 @ =0x050000db
mov r0, sp
bl CpuSet
bl sub_8143ED0
bl sub_80BDE28
add sp, 0x4
pop {r0}
bx r0
.align 2, 0
_08143D4C: .4byte gSaveBlock1Ptr
_08143D50: .4byte 0x00003120
_08143D54: .4byte 0x050000db
thumb_func_end sub_8143D24
thumb_func_start sub_8143D58
sub_8143D58: @ 8143D58
ldr r0, _08143D64 @ =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, _08143D68 @ =0x00003124
adds r0, r1
bx lr
.align 2, 0
_08143D64: .4byte gSaveBlock1Ptr
_08143D68: .4byte 0x00003124
thumb_func_end sub_8143D58
thumb_func_start sav1_get_mevent_buffer_1
sav1_get_mevent_buffer_1: @ 8143D6C
ldr r0, _08143D78 @ =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, _08143D7C @ =0x000032e4
adds r0, r1
bx lr
.align 2, 0
_08143D78: .4byte gSaveBlock1Ptr
_08143D7C: .4byte 0x000032e4
thumb_func_end sav1_get_mevent_buffer_1
thumb_func_start sav1_get_mevent_buffer_2
sav1_get_mevent_buffer_2: @ 8143D80
ldr r0, _08143D8C @ =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, _08143D90 @ =0x00003434
adds r0, r1
bx lr
.align 2, 0
_08143D8C: .4byte gSaveBlock1Ptr
_08143D90: .4byte 0x00003434
thumb_func_end sav1_get_mevent_buffer_2
thumb_func_start sub_8143D94
sub_8143D94: @ 8143D94
ldr r0, _08143DA0 @ =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, _08143DA4 @ =0x00003460
adds r0, r1
bx lr
.align 2, 0
_08143DA0: .4byte gSaveBlock1Ptr
_08143DA4: .4byte 0x00003460
thumb_func_end sub_8143D94
thumb_func_start sub_8143DA8
sub_8143DA8: @ 8143DA8
ldr r0, _08143DB4 @ =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, _08143DB8 @ =0x00003458
adds r0, r1
bx lr
.align 2, 0
_08143DB4: .4byte gSaveBlock1Ptr
_08143DB8: .4byte 0x00003458
thumb_func_end sub_8143DA8
thumb_func_start sub_8143DBC
sub_8143DBC: @ 8143DBC
push {lr}
bl sub_8143E9C
pop {r0}
bx r0
thumb_func_end sub_8143DBC
thumb_func_start sub_8143DC8
sub_8143DC8: @ 8143DC8
push {r4-r7,lr}
adds r7, r0, 0
bl sub_8143E64
cmp r0, 0
beq _08143E14
bl sub_8143E9C
ldr r4, _08143E08 @ =gSaveBlock1Ptr
ldr r0, [r4]
ldr r5, _08143E0C @ =0x00003124
adds r0, r5
movs r6, 0xDE
lsls r6, 1
adds r1, r7, 0
adds r2, r6, 0
bl memcpy
ldr r0, [r4]
adds r0, r5
adds r1, r6, 0
bl CalcCRC16WithTable
ldr r1, [r4]
ldr r2, _08143E10 @ =0x00003120
adds r1, r2
lsls r0, 16
lsrs r0, 16
str r0, [r1]
movs r0, 0x1
b _08143E16
.align 2, 0
_08143E08: .4byte gSaveBlock1Ptr
_08143E0C: .4byte 0x00003124
_08143E10: .4byte 0x00003120
_08143E14:
movs r0, 0
_08143E16:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8143DC8
thumb_func_start sub_8143E1C
sub_8143E1C: @ 8143E1C
push {r4,lr}
ldr r4, _08143E50 @ =gSaveBlock1Ptr
ldr r0, [r4]
ldr r1, _08143E54 @ =0x00003124
adds r0, r1
movs r1, 0xDE
lsls r1, 1
bl CalcCRC16WithTable
lsls r0, 16
lsrs r0, 16
ldr r4, [r4]
ldr r2, _08143E58 @ =0x00003120
adds r1, r4, r2
ldr r1, [r1]
cmp r0, r1
bne _08143E5C
ldr r1, _08143E54 @ =0x00003124
adds r0, r4, r1
bl sub_8143E64
cmp r0, 0
beq _08143E5C
movs r0, 0x1
b _08143E5E
.align 2, 0
_08143E50: .4byte gSaveBlock1Ptr
_08143E54: .4byte 0x00003124
_08143E58: .4byte 0x00003120
_08143E5C:
movs r0, 0
_08143E5E:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8143E1C
thumb_func_start sub_8143E64
sub_8143E64: @ 8143E64
push {lr}
ldrh r0, [r0]
cmp r0, 0
beq _08143E70
movs r0, 0x1
b _08143E72
_08143E70:
movs r0, 0
_08143E72:
pop {r1}
bx r1
thumb_func_end sub_8143E64
thumb_func_start sub_8143E78
sub_8143E78: @ 8143E78
push {lr}
ldr r0, _08143E8C @ =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, _08143E90 @ =0x00003124
adds r0, r1
ldrb r0, [r0, 0x2]
cmp r0, 0
beq _08143E94
movs r0, 0x1
b _08143E96
.align 2, 0
_08143E8C: .4byte gSaveBlock1Ptr
_08143E90: .4byte 0x00003124
_08143E94:
movs r0, 0
_08143E96:
pop {r1}
bx r1
thumb_func_end sub_8143E78
thumb_func_start sub_8143E9C
sub_8143E9C: @ 8143E9C
push {r4,lr}
sub sp, 0x4
movs r4, 0
str r4, [sp]
bl sub_8143D58
adds r1, r0, 0
ldr r2, _08143EC4 @ =0x0500006f
mov r0, sp
bl CpuSet
ldr r0, _08143EC8 @ =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, _08143ECC @ =0x00003120
adds r0, r1
str r4, [r0]
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08143EC4: .4byte 0x0500006f
_08143EC8: .4byte gSaveBlock1Ptr
_08143ECC: .4byte 0x00003120
thumb_func_end sub_8143E9C
thumb_func_start sub_8143ED0
sub_8143ED0: @ 8143ED0
push {lr}
sub sp, 0x4
movs r0, 0
str r0, [sp]
bl sub_8143D94
adds r1, r0, 0
ldr r2, _08143EF0 @ =0x05000001
mov r0, sp
bl CpuSet
bl sub_8146C88
add sp, 0x4
pop {r0}
bx r0
.align 2, 0
_08143EF0: .4byte 0x05000001
thumb_func_end sub_8143ED0
thumb_func_start sub_8143EF4
sub_8143EF4: @ 8143EF4
push {r4,r5,lr}
adds r5, r0, 0
ldr r0, _08143F0C @ =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, _08143F10 @ =0x00003124
adds r4, r0, r1
bl sub_8143E1C
cmp r0, 0
bne _08143F14
_08143F08:
movs r0, 0
b _08143F2C
.align 2, 0
_08143F0C: .4byte gSaveBlock1Ptr
_08143F10: .4byte 0x00003124
_08143F14:
movs r2, 0
ldr r3, _08143F34 @ =0x000001bb
_08143F18:
adds r0, r4, r2
adds r1, r5, r2
ldrb r0, [r0]
ldrb r1, [r1]
cmp r0, r1
bne _08143F08
adds r2, 0x1
cmp r2, r3
bls _08143F18
movs r0, 0x1
_08143F2C:
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_08143F34: .4byte 0x000001bb
thumb_func_end sub_8143EF4
thumb_func_start sub_8143F38
sub_8143F38: @ 8143F38
push {lr}
bl sub_814407C
bl sub_81440B4
bl sub_8144790
bl ClearRamScript
bl sub_806E2D0
bl sub_806E370
ldr r0, _08143F64 @ =gSaveBlock2Ptr
ldr r0, [r0]
movs r1, 0x94
lsls r1, 3
adds r0, r1
bl sub_80E7524
pop {r0}
bx r0
.align 2, 0
_08143F64: .4byte gSaveBlock2Ptr
thumb_func_end sub_8143F38
thumb_func_start sub_8143F68
sub_8143F68: @ 8143F68
push {r4-r7,lr}
adds r7, r0, 0
bl sub_8144018
cmp r0, 0
beq _08143FC0
bl sub_8143F38
ldr r4, _08143FB0 @ =gSaveBlock1Ptr
ldr r0, [r4]
ldr r5, _08143FB4 @ =0x000032e4
adds r0, r5
movs r6, 0xA6
lsls r6, 1
adds r1, r7, 0
adds r2, r6, 0
bl memcpy
ldr r0, [r4]
adds r0, r5
adds r1, r6, 0
bl CalcCRC16WithTable
ldr r1, [r4]
ldr r3, _08143FB8 @ =0x000032e0
adds r2, r1, r3
lsls r0, 16
lsrs r0, 16
str r0, [r2]
ldr r0, _08143FBC @ =0x00003434
adds r2, r1, r0
adds r1, r5
ldrh r0, [r1, 0x2]
strh r0, [r2, 0x6]
movs r0, 0x1
b _08143FC2
.align 2, 0
_08143FB0: .4byte gSaveBlock1Ptr
_08143FB4: .4byte 0x000032e4
_08143FB8: .4byte 0x000032e0
_08143FBC: .4byte 0x00003434
_08143FC0:
movs r0, 0
_08143FC2:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8143F68
thumb_func_start sub_8143FC8
sub_8143FC8: @ 8143FC8
push {r4,r5,lr}
ldr r5, _08144004 @ =gSaveBlock1Ptr
ldr r0, [r5]
ldr r1, _08144008 @ =0x000032e0
adds r4, r0, r1
adds r1, 0x4
adds r0, r1
movs r1, 0xA6
lsls r1, 1
bl CalcCRC16WithTable
lsls r0, 16
lsrs r0, 16
ldr r1, [r4]
cmp r1, r0
bne _08144010
ldr r0, [r5]
ldr r1, _0814400C @ =0x000032e4
adds r0, r1
bl sub_8144018
cmp r0, 0
beq _08144010
bl sub_8069DFC
cmp r0, 0
beq _08144010
movs r0, 0x1
b _08144012
.align 2, 0
_08144004: .4byte gSaveBlock1Ptr
_08144008: .4byte 0x000032e0
_0814400C: .4byte 0x000032e4
_08144010:
movs r0, 0
_08144012:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8143FC8
thumb_func_start sub_8144018
sub_8144018: @ 8144018
push {lr}
adds r2, r0, 0
ldrh r0, [r2]
cmp r0, 0
beq _0814404E
ldrb r1, [r2, 0x8]
lsls r0, r1, 30
lsrs r0, 30
cmp r0, 0x2
bhi _0814404E
movs r0, 0xC0
ands r0, r1
cmp r0, 0
beq _0814403C
cmp r0, 0x40
beq _0814403C
cmp r0, 0x80
bne _0814404E
_0814403C:
lsls r0, r1, 26
lsrs r0, 28
cmp r0, 0x7
bhi _0814404E
ldrb r0, [r2, 0x9]
cmp r0, 0x7
bhi _0814404E
movs r0, 0x1
b _08144050
_0814404E:
movs r0, 0
_08144050:
pop {r1}
bx r1
thumb_func_end sub_8144018
thumb_func_start sub_8144054
sub_8144054: @ 8144054
push {lr}
ldr r0, _0814406C @ =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, _08144070 @ =0x000032e4
adds r0, r1
ldrb r1, [r0, 0x8]
movs r0, 0xC0
ands r0, r1
cmp r0, 0
beq _08144074
movs r0, 0x1
b _08144076
.align 2, 0
_0814406C: .4byte gSaveBlock1Ptr
_08144070: .4byte 0x000032e4
_08144074:
movs r0, 0
_08144076:
pop {r1}
bx r1
thumb_func_end sub_8144054
thumb_func_start sub_814407C
sub_814407C: @ 814407C
push {r4,r5,lr}
sub sp, 0x4
movs r5, 0
str r5, [sp]
ldr r4, _081440A4 @ =gSaveBlock1Ptr
ldr r1, [r4]
ldr r0, _081440A8 @ =0x000032e4
adds r1, r0
ldr r2, _081440AC @ =0x05000053
mov r0, sp
bl CpuSet
ldr r0, [r4]
ldr r1, _081440B0 @ =0x000032e0
adds r0, r1
str r5, [r0]
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_081440A4: .4byte gSaveBlock1Ptr
_081440A8: .4byte 0x000032e4
_081440AC: .4byte 0x05000053
_081440B0: .4byte 0x000032e0
thumb_func_end sub_814407C
thumb_func_start sub_81440B4
sub_81440B4: @ 81440B4
push {r4,lr}
sub sp, 0x4
movs r4, 0
str r4, [sp]
bl sav1_get_mevent_buffer_2
adds r1, r0, 0
ldr r2, _081440DC @ =0x05000009
mov r0, sp
bl CpuSet
ldr r0, _081440E0 @ =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, _081440E4 @ =0x00003430
adds r0, r1
str r4, [r0]
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.align 2, 0
_081440DC: .4byte 0x05000009
_081440E0: .4byte gSaveBlock1Ptr
_081440E4: .4byte 0x00003430
thumb_func_end sub_81440B4
thumb_func_start sub_81440E8
sub_81440E8: @ 81440E8
push {lr}
bl sub_8143FC8
cmp r0, 0
bne _081440F6
movs r0, 0
b _08144100
_081440F6:
ldr r0, _08144104 @ =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, _08144108 @ =0x000032e4
adds r0, r1
ldrh r0, [r0]
_08144100:
pop {r1}
bx r1
.align 2, 0
_08144104: .4byte gSaveBlock1Ptr
_08144108: .4byte 0x000032e4
thumb_func_end sub_81440E8
thumb_func_start sub_814410C
sub_814410C: @ 814410C
push {lr}
adds r2, r0, 0
ldrb r1, [r2, 0x8]
movs r0, 0xC0
ands r0, r1
cmp r0, 0x40
bne _08144120
movs r0, 0x3F
ands r0, r1
strb r0, [r2, 0x8]
_08144120:
pop {r0}
bx r0
thumb_func_end sub_814410C
thumb_func_start sub_8144124
sub_8144124: @ 8144124
push {lr}
lsls r0, 16
ldr r1, _08144138 @ =0xfc180000
adds r0, r1
lsrs r0, 16
cmp r0, 0x13
bls _0814413C
movs r0, 0
b _0814413E
.align 2, 0
_08144138: .4byte 0xfc180000
_0814413C:
movs r0, 0x1
_0814413E:
pop {r1}
bx r1
thumb_func_end sub_8144124
thumb_func_start sub_8144144
sub_8144144: @ 8144144
push {r4,lr}
bl sub_81440E8
lsls r0, 16
lsrs r4, r0, 16
adds r0, r4, 0
bl sub_8144124
cmp r0, 0
beq _0814417C
ldr r1, _08144174 @ =gUnknown_8466F00
ldr r2, _08144178 @ =0xfffffc18
adds r0, r4, r2
lsls r0, 1
adds r0, r1
ldrh r0, [r0]
bl FlagGet
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0814417C
movs r0, 0x1
b _0814417E
.align 2, 0
_08144174: .4byte gUnknown_8466F00
_08144178: .4byte 0xfffffc18
_0814417C:
movs r0, 0
_0814417E:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8144144
thumb_func_start sub_8144184
sub_8144184: @ 8144184
push {lr}
movs r3, 0
cmp r3, r1
bge _081441A6
adds r2, r0, 0
adds r2, 0x8
_08144190:
ldrh r0, [r2, 0xE]
cmp r0, 0
beq _0814419E
ldrh r0, [r2]
cmp r0, 0
beq _0814419E
adds r3, 0x1
_0814419E:
adds r2, 0x2
subs r1, 0x1
cmp r1, 0
bne _08144190
_081441A6:
adds r0, r3, 0
pop {r1}
bx r1
thumb_func_end sub_8144184
thumb_func_start sub_81441AC
sub_81441AC: @ 81441AC
push {r4-r7,lr}
adds r5, r0, 0
adds r4, r1, 0
movs r1, 0
cmp r1, r2
bge _081441E6
ldrh r6, [r4, 0x2]
movs r0, 0x16
adds r0, r5
mov r12, r0
_081441C0:
lsls r3, r1, 1
mov r7, r12
ldrh r0, [r7]
cmp r0, r6
beq _081441D8
adds r0, r5, 0
adds r0, 0x8
adds r0, r3
ldrh r0, [r0]
ldrh r3, [r4]
cmp r0, r3
bne _081441DC
_081441D8:
movs r0, 0x1
b _081441E8
_081441DC:
movs r7, 0x2
add r12, r7
adds r1, 0x1
cmp r1, r2
blt _081441C0
_081441E6:
movs r0, 0
_081441E8:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_81441AC
thumb_func_start sub_81441F0
sub_81441F0: @ 81441F0
push {lr}
adds r1, r0, 0
ldrh r0, [r1, 0x2]
cmp r0, 0
beq _08144210
ldrh r1, [r1]
cmp r1, 0
beq _08144210
ldr r0, _0814420C @ =0x0000019b
cmp r1, r0
bhi _08144210
movs r0, 0x1
b _08144212
.align 2, 0
_0814420C: .4byte 0x0000019b
_08144210:
movs r0, 0
_08144212:
pop {r1}
bx r1
thumb_func_end sub_81441F0
thumb_func_start sub_8144218
sub_8144218: @ 8144218
push {lr}
bl sub_8143FC8
cmp r0, 0
beq _0814424C
ldr r0, _08144240 @ =gSaveBlock1Ptr
ldr r3, [r0]
ldr r0, _08144244 @ =0x000032e4
adds r2, r3, r0
ldrb r1, [r2, 0x8]
movs r0, 0x3
ands r0, r1
cmp r0, 0x1
bne _0814424C
ldr r1, _08144248 @ =0x00003434
adds r0, r3, r1
ldrb r1, [r2, 0x9]
bl sub_8144184
b _0814424E
.align 2, 0
_08144240: .4byte gSaveBlock1Ptr
_08144244: .4byte 0x000032e4
_08144248: .4byte 0x00003434
_0814424C:
movs r0, 0
_0814424E:
pop {r1}
bx r1
thumb_func_end sub_8144218
thumb_func_start sub_8144254
sub_8144254: @ 8144254
push {r4-r6,lr}
adds r5, r0, 0
ldr r6, _08144280 @ =gSaveBlock1Ptr
ldr r0, [r6]
ldr r1, _08144284 @ =0x000032e4
adds r0, r1
ldrb r4, [r0, 0x9]
adds r0, r5, 0
bl sub_81441F0
cmp r0, 0
beq _081442BE
ldr r0, [r6]
ldr r1, _08144288 @ =0x00003434
adds r0, r1
adds r1, r5, 0
adds r2, r4, 0
bl sub_81441AC
cmp r0, 0
beq _08144298
b _081442BE
.align 2, 0
_08144280: .4byte gSaveBlock1Ptr
_08144284: .4byte 0x000032e4
_08144288: .4byte 0x00003434
_0814428C:
ldrh r0, [r5, 0x2]
strh r0, [r1]
ldrh r0, [r5]
strh r0, [r2]
movs r0, 0x1
b _081442C0
_08144298:
movs r3, 0
cmp r3, r4
bge _081442BE
ldr r0, [r6]
ldr r6, _081442C8 @ =0x0000343c
adds r2, r0, r6
adds r6, 0xE
adds r1, r0, r6
_081442A8:
ldrh r0, [r2, 0xE]
cmp r0, 0
bne _081442B4
ldrh r0, [r2]
cmp r0, 0
beq _0814428C
_081442B4:
adds r2, 0x2
adds r1, 0x2
adds r3, 0x1
cmp r3, r4
blt _081442A8
_081442BE:
movs r0, 0
_081442C0:
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_081442C8: .4byte 0x0000343c
thumb_func_end sub_8144254
thumb_func_start sub_81442CC
sub_81442CC: @ 81442CC
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x4
adds r4, r0, 0
movs r0, 0
str r0, [sp]
ldr r2, _08144328 @ =0x05000019
mov r0, sp
adds r1, r4, 0
bl CpuSet
ldr r0, _0814432C @ =0x00000101
str r0, [r4]
movs r0, 0x1
strh r0, [r4, 0x4]
str r0, [r4, 0x8]
strh r0, [r4, 0xC]
str r0, [r4, 0x10]
bl sub_8143FC8
cmp r0, 0
beq _08144330
bl sav1_get_mevent_buffer_1
ldrh r0, [r0]
strh r0, [r4, 0x14]
bl sav1_get_mevent_buffer_2
adds r1, r4, 0
adds r1, 0x20
ldm r0!, {r2,r3,r5}
stm r1!, {r2,r3,r5}
ldm r0!, {r2,r3,r5}
stm r1!, {r2,r3,r5}
ldm r0!, {r2,r3,r5}
stm r1!, {r2,r3,r5}
bl sav1_get_mevent_buffer_1
ldrb r1, [r0, 0x9]
adds r0, r4, 0
adds r0, 0x44
strb r1, [r0]
b _08144332
.align 2, 0
_08144328: .4byte 0x05000019
_0814432C: .4byte 0x00000101
_08144330:
strh r0, [r4, 0x14]
_08144332:
adds r5, r4, 0
adds r5, 0x4C
ldr r0, _081443BC @ =gSaveBlock2Ptr
mov r8, r0
adds r6, r4, 0
adds r6, 0x45
adds r7, r4, 0
adds r7, 0x50
movs r1, 0x5C
adds r1, r4
mov r9, r1
movs r2, 0x60
adds r2, r4
mov r10, r2
ldr r0, _081443C0 @ =gSaveBlock1Ptr
ldr r0, [r0]
ldr r3, _081443C4 @ =0x00003458
adds r2, r0, r3
adds r1, r4, 0
adds r1, 0x16
movs r3, 0x3
_0814435C:
ldrh r0, [r2]
strh r0, [r1]
adds r2, 0x2
adds r1, 0x2
subs r3, 0x1
cmp r3, 0
bge _0814435C
mov r0, r8
ldr r1, [r0]
adds r1, 0xA
adds r0, r5, 0
bl CopyUnalignedWord
mov r2, r8
ldr r1, [r2]
adds r0, r6, 0
bl StringCopy
ldr r0, _081443C0 @ =gSaveBlock1Ptr
ldr r0, [r0]
ldr r3, _081443C8 @ =0x00002ca0
adds r2, r0, r3
adds r1, r7, 0
movs r3, 0x5
_0814438C:
ldrh r0, [r2]
strh r0, [r1]
adds r2, 0x2
adds r1, 0x2
subs r3, 0x1
cmp r3, 0
bge _0814438C
ldr r1, _081443CC @ =RomHeaderGameCode
mov r0, r9
movs r2, 0x4
bl memcpy
ldr r0, _081443D0 @ =RomHeaderSoftwareVersion
ldrb r0, [r0]
mov r5, r10
strb r0, [r5]
add sp, 0x4
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_081443BC: .4byte gSaveBlock2Ptr
_081443C0: .4byte gSaveBlock1Ptr
_081443C4: .4byte 0x00003458
_081443C8: .4byte 0x00002ca0
_081443CC: .4byte RomHeaderGameCode
_081443D0: .4byte RomHeaderSoftwareVersion
thumb_func_end sub_81442CC
thumb_func_start sub_81443D4
sub_81443D4: @ 81443D4
push {lr}
adds r2, r0, 0
ldr r1, [r2]
ldr r0, _0814440C @ =0x00000101
cmp r1, r0
bne _08144410
ldrh r1, [r2, 0x4]
movs r3, 0x1
adds r0, r3, 0
ands r0, r1
cmp r0, 0
beq _08144410
ldr r0, [r2, 0x8]
ands r0, r3
cmp r0, 0
beq _08144410
ldrh r1, [r2, 0xC]
adds r0, r3, 0
ands r0, r1
cmp r0, 0
beq _08144410
ldr r0, [r2, 0x10]
movs r1, 0xF
ands r0, r1
cmp r0, 0
beq _08144410
movs r0, 0x1
b _08144412
.align 2, 0
_0814440C: .4byte 0x00000101
_08144410:
movs r0, 0
_08144412:
pop {r1}
bx r1
thumb_func_end sub_81443D4
thumb_func_start sub_8144418
sub_8144418: @ 8144418
push {lr}
ldrh r1, [r1, 0x14]
cmp r1, 0
bne _08144424
movs r0, 0
b _08144430
_08144424:
ldrh r0, [r0]
cmp r0, r1
beq _0814442E
movs r0, 0x2
b _08144430
_0814442E:
movs r0, 0x1
_08144430:
pop {r1}
bx r1
thumb_func_end sub_8144418
thumb_func_start sub_8144434
sub_8144434: @ 8144434
push {r4-r6,lr}
adds r6, r0, 0
adds r4, r1, 0
adds r5, r4, 0
adds r5, 0x20
adds r4, 0x44
ldrb r1, [r4]
adds r0, r5, 0
bl sub_8144184
ldrb r2, [r4]
subs r4, r2, r0
cmp r4, 0
bne _08144454
movs r0, 0x1
b _0814446E
_08144454:
adds r0, r5, 0
adds r1, r6, 0
bl sub_81441AC
cmp r0, 0
beq _08144464
movs r0, 0x3
b _0814446E
_08144464:
cmp r4, 0x1
beq _0814446C
movs r0, 0x2
b _0814446E
_0814446C:
movs r0, 0x4
_0814446E:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8144434
thumb_func_start sub_8144474
sub_8144474: @ 8144474
push {r4,lr}
movs r3, 0
adds r2, r0, 0
adds r2, 0x16
_0814447C:
ldrh r0, [r2]
ldrh r4, [r1]
cmp r0, r4
beq _08144488
movs r0, 0
b _08144494
_08144488:
adds r1, 0x2
adds r2, 0x2
adds r3, 0x1
cmp r3, 0x3
ble _0814447C
movs r0, 0x1
_08144494:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8144474
thumb_func_start sub_814449C
sub_814449C: @ 814449C
push {lr}
adds r2, r0, 0
adds r2, 0x20
adds r0, 0x44
ldrb r1, [r0]
adds r0, r2, 0
bl sub_8144184
pop {r1}
bx r1
thumb_func_end sub_814449C
thumb_func_start sub_81444B0
sub_81444B0: @ 81444B0
push {lr}
adds r2, r0, 0
cmp r1, 0x4
bhi _081444FC
lsls r0, r1, 2
ldr r1, _081444C4 @ =_081444C8
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_081444C4: .4byte _081444C8
.align 2, 0
_081444C8:
.4byte _081444DC
.4byte _081444E0
.4byte _081444E4
.4byte _081444E8
.4byte _081444F4
_081444DC:
ldrh r0, [r2, 0x20]
b _0814450A
_081444E0:
ldrh r0, [r2, 0x22]
b _0814450A
_081444E4:
ldrh r0, [r2, 0x24]
b _0814450A
_081444E8:
adds r0, r2, 0
bl sub_814449C
lsls r0, 16
lsrs r0, 16
b _0814450A
_081444F4:
adds r0, r2, 0
adds r0, 0x44
ldrb r0, [r0]
b _0814450A
_081444FC:
ldr r0, _08144510 @ =gUnknown_8466F28 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c"
ldr r1, _08144514 @ =0x00000339
ldr r2, _08144518 @ =gUnknown_8466F5C "0"
movs r3, 0x1
bl AGBAssert
movs r0, 0
_0814450A:
pop {r1}
bx r1
.align 2, 0
_08144510: .4byte gUnknown_8466F28
_08144514: .4byte 0x00000339
_08144518: .4byte gUnknown_8466F5C
thumb_func_end sub_81444B0
thumb_func_start sub_814451C
sub_814451C: @ 814451C
push {r4,lr}
adds r4, r0, 0
ldr r2, _08144544 @ =gSaveBlock1Ptr
ldr r0, [r2]
ldr r1, _08144548 @ =0x000032e4
adds r0, r1
ldrb r1, [r0, 0x8]
movs r0, 0x3
ands r0, r1
adds r3, r2, 0
cmp r0, 0x2
bne _081445B6
movs r2, 0
cmp r4, 0x4
bhi _08144582
lsls r0, r4, 2
ldr r1, _0814454C @ =_08144550
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08144544: .4byte gSaveBlock1Ptr
_08144548: .4byte 0x000032e4
_0814454C: .4byte _08144550
.align 2, 0
_08144550:
.4byte _08144564
.4byte _08144570
.4byte _0814457C
.4byte _08144582
.4byte _08144582
_08144564:
ldr r0, [r3]
ldr r1, _0814456C @ =0x00003434
b _08144580
.align 2, 0
_0814456C: .4byte 0x00003434
_08144570:
ldr r0, [r3]
ldr r1, _08144578 @ =0x00003436
b _08144580
.align 2, 0
_08144578: .4byte 0x00003436
_0814457C:
ldr r0, [r3]
ldr r1, _08144598 @ =0x00003438
_08144580:
adds r2, r0, r1
_08144582:
cmp r2, 0
bne _081445A4
ldr r0, _0814459C @ =gUnknown_8466F28 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c"
movs r1, 0xD9
lsls r1, 2
ldr r2, _081445A0 @ =gUnknown_8466F5C "0"
movs r3, 0x1
bl AGBAssert
b _081445B6
.align 2, 0
_08144598: .4byte 0x00003438
_0814459C: .4byte gUnknown_8466F28
_081445A0: .4byte gUnknown_8466F5C
_081445A4:
ldrh r0, [r2]
adds r0, 0x1
strh r0, [r2]
lsls r0, 16
lsrs r0, 16
ldr r1, _081445BC @ =0x000003e7
cmp r0, r1
bls _081445B6
strh r1, [r2]
_081445B6:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_081445BC: .4byte 0x000003e7
thumb_func_end sub_814451C
thumb_func_start sub_81445C0
sub_81445C0: @ 81445C0
push {lr}
cmp r0, 0x4
bhi _081446A4
lsls r0, 2
ldr r1, _081445D0 @ =_081445D4
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_081445D0: .4byte _081445D4
.align 2, 0
_081445D4:
.4byte _081445E8
.4byte _08144610
.4byte _08144638
.4byte _08144660
.4byte _08144684
_081445E8:
ldr r0, _08144604 @ =gSaveBlock1Ptr
ldr r2, [r0]
ldr r1, _08144608 @ =0x000032e4
adds r0, r2, r1
ldrb r1, [r0, 0x8]
movs r0, 0x3
ands r0, r1
cmp r0, 0x2
bne _081446A4
ldr r1, _0814460C @ =0x00003434
adds r0, r2, r1
ldrh r0, [r0]
b _081446B2
.align 2, 0
_08144604: .4byte gSaveBlock1Ptr
_08144608: .4byte 0x000032e4
_0814460C: .4byte 0x00003434
_08144610:
ldr r0, _0814462C @ =gSaveBlock1Ptr
ldr r2, [r0]
ldr r1, _08144630 @ =0x000032e4
adds r0, r2, r1
ldrb r1, [r0, 0x8]
movs r0, 0x3
ands r0, r1
cmp r0, 0x2
bne _081446A4
ldr r1, _08144634 @ =0x00003434
adds r0, r2, r1
ldrh r0, [r0, 0x2]
b _081446B2
.align 2, 0
_0814462C: .4byte gSaveBlock1Ptr
_08144630: .4byte 0x000032e4
_08144634: .4byte 0x00003434
_08144638:
ldr r0, _08144654 @ =gSaveBlock1Ptr
ldr r2, [r0]
ldr r1, _08144658 @ =0x000032e4
adds r0, r2, r1
ldrb r1, [r0, 0x8]
movs r0, 0x3
ands r0, r1
cmp r0, 0x2
bne _081446A4
ldr r1, _0814465C @ =0x00003434
adds r0, r2, r1
ldrh r0, [r0, 0x4]
b _081446B2
.align 2, 0
_08144654: .4byte gSaveBlock1Ptr
_08144658: .4byte 0x000032e4
_0814465C: .4byte 0x00003434
_08144660:
ldr r0, _0814467C @ =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, _08144680 @ =0x000032e4
adds r0, r1
ldrb r1, [r0, 0x8]
movs r0, 0x3
ands r0, r1
cmp r0, 0x1
bne _081446A4
bl sub_8144218
lsls r0, 16
lsrs r0, 16
b _081446B2
.align 2, 0
_0814467C: .4byte gSaveBlock1Ptr
_08144680: .4byte 0x000032e4
_08144684:
ldr r0, _0814469C @ =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, _081446A0 @ =0x000032e4
adds r2, r0, r1
ldrb r1, [r2, 0x8]
movs r0, 0x3
ands r0, r1
cmp r0, 0x1
bne _081446A4
ldrb r0, [r2, 0x9]
b _081446B2
.align 2, 0
_0814469C: .4byte gSaveBlock1Ptr
_081446A0: .4byte 0x000032e4
_081446A4:
ldr r0, _081446B8 @ =gUnknown_8466F28 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c"
ldr r1, _081446BC @ =0x00000391
ldr r2, _081446C0 @ =gUnknown_8466F5C "0"
movs r3, 0x1
bl AGBAssert
movs r0, 0
_081446B2:
pop {r1}
bx r1
.align 2, 0
_081446B8: .4byte gUnknown_8466F28
_081446BC: .4byte 0x00000391
_081446C0: .4byte gUnknown_8466F5C
thumb_func_end sub_81445C0
thumb_func_start sub_81446C4
sub_81446C4: @ 81446C4
ldr r1, _081446CC @ =gUnknown_203F3BC
movs r0, 0
str r0, [r1]
bx lr
.align 2, 0
_081446CC: .4byte gUnknown_203F3BC
thumb_func_end sub_81446C4
thumb_func_start sub_81446D0
sub_81446D0: @ 81446D0
push {r4,r5,lr}
lsls r0, 16
lsrs r0, 16
adds r4, r0, 0
ldr r5, _08144700 @ =gUnknown_203F3BC
movs r0, 0
str r0, [r5]
cmp r4, 0
beq _0814470E
bl sub_8143FC8
cmp r0, 0
beq _0814470C
ldr r0, _08144704 @ =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, _08144708 @ =0x000032e4
adds r0, r1
ldrh r0, [r0]
cmp r0, r4
bne _0814470C
movs r0, 0x1
str r0, [r5]
b _0814470E
.align 2, 0
_08144700: .4byte gUnknown_203F3BC
_08144704: .4byte gSaveBlock1Ptr
_08144708: .4byte 0x000032e4
_0814470C:
movs r0, 0
_0814470E:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_81446D0
thumb_func_start sub_8144714
sub_8144714: @ 8144714
push {lr}
adds r2, r0, 0
ldr r0, _08144738 @ =gUnknown_203F3BC
ldr r0, [r0]
cmp r0, 0
beq _08144782
cmp r2, 0x1
beq _08144758
cmp r2, 0x1
bcc _08144744
cmp r2, 0x2
bne _08144774
ldr r0, _0814473C @ =gSaveBlock1Ptr
ldr r2, [r0]
ldr r0, _08144740 @ =0x00003478
adds r2, r0
movs r0, 0x2
b _08144762
.align 2, 0
_08144738: .4byte gUnknown_203F3BC
_0814473C: .4byte gSaveBlock1Ptr
_08144740: .4byte 0x00003478
_08144744:
ldr r0, _08144750 @ =gSaveBlock1Ptr
ldr r2, [r0]
ldr r0, _08144754 @ =0x00003464
adds r2, r0
movs r0, 0
b _08144762
.align 2, 0
_08144750: .4byte gSaveBlock1Ptr
_08144754: .4byte 0x00003464
_08144758:
ldr r0, _0814476C @ =gSaveBlock1Ptr
ldr r2, [r0]
ldr r0, _08144770 @ =0x00003464
adds r2, r0
movs r0, 0x1
_08144762:
movs r3, 0x5
bl sub_8144824
b _08144782
.align 2, 0
_0814476C: .4byte gSaveBlock1Ptr
_08144770: .4byte 0x00003464
_08144774:
ldr r0, _08144788 @ =gUnknown_8466F28 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c"
movs r1, 0xF7
lsls r1, 2
ldr r2, _0814478C @ =gUnknown_8466F5C "0"
movs r3, 0x1
bl AGBAssert
_08144782:
pop {r0}
bx r0
.align 2, 0
_08144788: .4byte gUnknown_8466F28
_0814478C: .4byte gUnknown_8466F5C
thumb_func_end sub_8144714
thumb_func_start sub_8144790
sub_8144790: @ 8144790
push {lr}
sub sp, 0x4
movs r0, 0
str r0, [sp]
ldr r0, _081447B0 @ =gSaveBlock1Ptr
ldr r1, [r0]
ldr r0, _081447B4 @ =0x00003464
adds r1, r0
ldr r2, _081447B8 @ =0x0500000a
mov r0, sp
bl CpuSet
add sp, 0x4
pop {r0}
bx r0
.align 2, 0
_081447B0: .4byte gSaveBlock1Ptr
_081447B4: .4byte 0x00003464
_081447B8: .4byte 0x0500000a
thumb_func_end sub_8144790
thumb_func_start sub_81447BC
sub_81447BC: @ 81447BC
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
movs r1, 0
cmp r1, r2
bge _081447DE
ldr r0, [r4]
cmp r0, r5
beq _081447DE
adds r3, r4, 0
_081447D0:
adds r3, 0x4
adds r1, 0x1
cmp r1, r2
bge _081447DE
ldr r0, [r3]
cmp r0, r5
bne _081447D0
_081447DE:
cmp r1, r2
bne _08144800
subs r3, r1, 0x1
cmp r3, 0
ble _081447FA
lsls r0, r3, 2
subs r0, 0x4
adds r2, r0, r4
_081447EE:
ldr r0, [r2]
str r0, [r2, 0x4]
subs r2, 0x4
subs r3, 0x1
cmp r3, 0
bgt _081447EE
_081447FA:
str r5, [r4]
movs r0, 0x1
b _0814481C
_08144800:
adds r3, r1, 0
cmp r3, 0
ble _08144818
lsls r0, r3, 2
subs r0, 0x4
adds r2, r0, r4
_0814480C:
ldr r0, [r2]
str r0, [r2, 0x4]
subs r2, 0x4
subs r3, 0x1
cmp r3, 0
bgt _0814480C
_08144818:
str r5, [r4]
movs r0, 0
_0814481C:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_81447BC
thumb_func_start sub_8144824
sub_8144824: @ 8144824
push {r4,lr}
adds r4, r0, 0
adds r0, r1, 0
adds r1, r2, 0
adds r2, r3, 0
bl sub_81447BC
cmp r0, 0
beq _0814483C
adds r0, r4, 0
bl sub_814451C
_0814483C:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_8144824
.align 2, 0 @ Don't pad with nop.