pokediamond/arm9/asm/unk_0200E1D0_s.s

930 lines
17 KiB
ArmAsm

.include "asm/macros.inc"
.include "global.inc"
.public UNK_021C46B4
.section .rodata
.global UNK_020ECEF4
UNK_020ECEF4: ; 0x020ECEF4
.word sub_0200E850
.word sub_0200E86C
.word sub_0200E88C
.word sub_0200E8C8
.word sub_0200E900
.word sub_0200E93C
.word sub_0200E974
.word sub_0200E9A0
.word sub_0200E9CC
.word sub_0200EA08
.word sub_0200EA40
.word sub_0200EA7C
.word sub_0200EAB4
.word sub_0200EAE0
.word sub_0200EB0C
.word sub_0200EB40
.word sub_0200EB70
.word sub_0200EB9C
.word sub_0200EBC8
.word sub_0200EBF4
.word sub_0200EC20
.word sub_0200EC4C
.word sub_0200EC78
.word sub_0200ECA4
.word sub_0200ECD0
.word sub_0200ECFC
.word sub_0200ED28
.word sub_0200ED54
.word sub_0200ED80
.word sub_0200EDD4
.word sub_0200EE24
.word sub_0200EE60
.word sub_0200EE98
.word sub_0200EED8
.word sub_0200EF14
.word sub_0200EF54
.word sub_0200EF90
.word sub_0200EFBC
.word sub_0200EFE8
.word sub_0200F014
.word sub_0200F040
.word sub_0200F07C
.text
thumb_func_start BeginNormalPaletteFade
BeginNormalPaletteFade: ; 0x0200E1D0
push {r4-r7, lr}
sub sp, #0x1c
add r5, r0, #0x0
ldr r0, [sp, #0x30]
add r4, r1, #0x0
add r7, r2, #0x0
add r6, r3, #0x0
cmp r0, #0x0
bne _0200E1E6
bl GF_AssertFail
_0200E1E6:
ldr r0, [sp, #0x34]
cmp r0, #0x0
bne _0200E1F0
bl GF_AssertFail
_0200E1F0:
ldr r0, _0200E2AC ; =UNK_021C46B4 + 0x140
ldrh r0, [r0, #0xc]
cmp r0, #0x0
beq _0200E1FC
bl GF_AssertFail
_0200E1FC:
ldr r0, _0200E2B0 ; =UNK_021C46B4
bl sub_0200E808
ldr r1, _0200E2B0 ; =UNK_021C46B4
add r0, r5, #0x0
bl sub_0200E558
ldr r0, _0200E2B4 ; =UNK_021C46B4 + 0x74
bl sub_0200E5F4
ldr r0, _0200E2B0 ; =UNK_021C46B4
add r1, r6, #0x0
bl sub_0200E75C
add r5, r0, #0x0
mov r0, #0x0
str r0, [sp, #0x0]
str r0, [sp, #0x4]
str r0, [sp, #0x8]
ldr r0, _0200E2B8 ; =UNK_021C46B4 + 0x8C
ldr r2, [sp, #0x30]
str r0, [sp, #0xc]
ldr r0, _0200E2B4 ; =UNK_021C46B4 + 0x74
ldr r3, [sp, #0x34]
str r0, [sp, #0x10]
ldr r0, [sp, #0x38]
add r1, r4, #0x0
str r0, [sp, #0x14]
ldr r0, _0200E2BC ; =UNK_021C46B4 + 0x14
str r5, [sp, #0x18]
bl sub_0200E5C8
mov r0, #0x0
str r0, [sp, #0x0]
str r0, [sp, #0x4]
mov r0, #0x1
str r0, [sp, #0x8]
ldr r0, _0200E2B8 ; =UNK_021C46B4 + 0x8C
ldr r2, [sp, #0x30]
str r0, [sp, #0xc]
ldr r0, _0200E2B4 ; =UNK_021C46B4 + 0x74
ldr r3, [sp, #0x34]
str r0, [sp, #0x10]
ldr r0, [sp, #0x38]
add r1, r7, #0x0
str r0, [sp, #0x14]
ldr r0, _0200E2C0 ; =UNK_021C46B4 + 0x44
str r5, [sp, #0x18]
bl sub_0200E5C8
ldr r0, _0200E2AC ; =UNK_021C46B4 + 0x140
mov r1, #0x1
strh r1, [r0, #0xc]
ldr r0, _0200E2C4 ; =UNK_021C46B4 + 0x4
ldr r1, _0200E2BC ; =UNK_021C46B4 + 0x14
bl sub_0200E528
ldr r0, _0200E2C8 ; =UNK_021C46B4 + 0x8
ldr r1, _0200E2C0 ; =UNK_021C46B4 + 0x44
bl sub_0200E528
ldr r0, _0200E2CC ; =UNK_021C46B4
ldr r0, [r0, #0xc]
cmp r0, #0x0
beq _0200E28E
ldr r0, _0200E2B0 ; =UNK_021C46B4
add r0, #0x14
bl sub_0200E7A8
ldr r1, _0200E2D0 ; =0x0000014E
ldr r0, _0200E2B0 ; =UNK_021C46B4
mov r2, #0x1
strb r2, [r0, r1]
_0200E28E:
ldr r0, _0200E2B0 ; =UNK_021C46B4
ldr r0, [r0, #0x10]
cmp r0, #0x0
beq _0200E2A6
ldr r0, _0200E2B0 ; =UNK_021C46B4
add r0, #0x44
bl sub_0200E7A8
ldr r1, _0200E2D4 ; =0x0000014F
ldr r0, _0200E2B0 ; =UNK_021C46B4
mov r2, #0x1
strb r2, [r0, r1]
_0200E2A6:
add sp, #0x1c
pop {r4-r7, pc}
nop
_0200E2AC: .word UNK_021C46B4 + 0x140
_0200E2B0: .word UNK_021C46B4
_0200E2B4: .word UNK_021C46B4 + 0x74
_0200E2B8: .word UNK_021C46B4 + 0x8C
_0200E2BC: .word UNK_021C46B4 + 0x14
_0200E2C0: .word UNK_021C46B4 + 0x44
_0200E2C4: .word UNK_021C46B4 + 0x4
_0200E2C8: .word UNK_021C46B4 + 0x8
_0200E2CC: .word UNK_021C46B4
_0200E2D0: .word 0x0000014E
_0200E2D4: .word 0x0000014F
thumb_func_start sub_0200E2D8
sub_0200E2D8: ; 0x0200E2D8
push {r4, lr}
ldr r0, _0200E300 ; =UNK_021C46B4 + 0x140
ldr r4, _0200E304 ; =UNK_021C46B4
ldrh r0, [r0, #0xc]
cmp r0, #0x0
beq _0200E2FC
add r1, r4, #0x0
add r2, r4, #0x0
add r0, r4, #0x0
add r1, #0x14
add r2, #0x44
bl sub_0200E4B8
cmp r0, #0x1
bne _0200E2FC
add r0, r4, #0x0
bl sub_0200E460
_0200E2FC:
pop {r4, pc}
nop
_0200E300: .word UNK_021C46B4 + 0x140
_0200E304: .word UNK_021C46B4
thumb_func_start IsPaletteFadeFinished
IsPaletteFadeFinished: ; 0x0200E308
ldr r0, _0200E318 ; =UNK_021C46B4 + 0x140
ldrh r0, [r0, #0xc]
cmp r0, #0x0
bne _0200E314
mov r0, #0x1
bx lr
_0200E314:
mov r0, #0x0
bx lr
.balign 4
_0200E318: .word UNK_021C46B4 + 0x140
thumb_func_start sub_0200E31C
sub_0200E31C: ; 0x0200E31C
push {r3, lr}
ldr r0, _0200E368 ; =UNK_021C46B4 + 0x74
mov r1, #0x0
bl sub_0200E6A0
ldr r0, _0200E368 ; =UNK_021C46B4 + 0x74
mov r1, #0x1
bl sub_0200E6A0
ldr r0, _0200E36C ; =UNK_021C46B4
ldr r1, [r0, #0x4]
cmp r1, #0x0
beq _0200E33A
mov r1, #0x2
str r1, [r0, #0x20]
_0200E33A:
ldr r0, _0200E36C ; =UNK_021C46B4
ldr r1, [r0, #0x8]
cmp r1, #0x0
beq _0200E346
mov r1, #0x2
str r1, [r0, #0x50]
_0200E346:
ldr r0, _0200E370 ; =UNK_021C46B4 + 0x4
ldr r1, _0200E374 ; =UNK_021C46B4 + 0x14
bl sub_0200E528
ldr r0, _0200E378 ; =UNK_021C46B4 + 0x8
ldr r1, _0200E37C ; =UNK_021C46B4 + 0x44
bl sub_0200E528
ldr r0, _0200E380 ; =UNK_021C46B4 + 0x140
mov r1, #0x0
strh r1, [r0, #0xc]
strb r1, [r0, #0xe]
strb r1, [r0, #0xf]
ldr r0, _0200E384 ; =UNK_021C46B4
bl sub_0200E808
pop {r3, pc}
.balign 4
_0200E368: .word UNK_021C46B4 + 0x74
_0200E36C: .word UNK_021C46B4
_0200E370: .word UNK_021C46B4 + 0x4
_0200E374: .word UNK_021C46B4 + 0x14
_0200E378: .word UNK_021C46B4 + 0x8
_0200E37C: .word UNK_021C46B4 + 0x44
_0200E380: .word UNK_021C46B4 + 0x140
_0200E384: .word UNK_021C46B4
thumb_func_start sub_0200E388
sub_0200E388: ; 0x0200E388
ldr r3, _0200E390 ; =sub_02011480
add r1, r0, #0x0
mov r0, #0x0
bx r3
.balign 4
_0200E390: .word sub_02011480
thumb_func_start SetMasterBrightnessNeutral
SetMasterBrightnessNeutral: ; 0x0200E394
ldr r3, _0200E39C ; =sub_0200E440
mov r1, #0x0
bx r3
nop
_0200E39C: .word sub_0200E440
thumb_func_start sub_0200E3A0
sub_0200E3A0: ; 0x0200E3A0
ldr r2, _0200E3B4 ; =0x00007FFF
cmp r1, r2
bne _0200E3AA
mov r1, #0x10
b _0200E3AE
_0200E3AA:
mov r1, #0xf
mvn r1, r1
_0200E3AE:
ldr r3, _0200E3B8 ; =sub_0200E440
bx r3
nop
_0200E3B4: .word 0x00007FFF
_0200E3B8: .word sub_0200E440
thumb_func_start sub_0200E3BC
sub_0200E3BC: ; 0x0200E3BC
push {r0-r3}
push {r3-r4, lr}
sub sp, #0xc
add r4, r0, #0x0
add r0, sp, #0x1c
bne _0200E3D2
mov r1, #0x0
mov r2, #0x2
bl GX_LoadBGPltt
b _0200E3DA
_0200E3D2:
mov r1, #0x0
mov r2, #0x2
bl GXS_LoadBGPltt
_0200E3DA:
ldr r0, _0200E41C ; =UNK_021C46B4 + 0x8C
mov r1, #0x1
add r2, r4, #0x0
bl sub_02011634
mov r2, #0x0
ldr r0, _0200E41C ; =UNK_021C46B4 + 0x8C
mov r1, #0x3f
add r3, r2, #0x0
str r4, [sp, #0x0]
bl sub_02011650
mov r1, #0x0
str r1, [sp, #0x0]
str r1, [sp, #0x4]
ldr r0, _0200E41C ; =UNK_021C46B4 + 0x8C
add r2, r1, #0x0
add r3, r1, #0x0
str r4, [sp, #0x8]
bl sub_02011698
ldr r0, _0200E41C ; =UNK_021C46B4 + 0x8C
mov r1, #0x20
mov r2, #0x0
add r3, r4, #0x0
bl sub_02011678
add sp, #0xc
pop {r3-r4}
pop {r3}
add sp, #0x10
bx r3
nop
_0200E41C: .word UNK_021C46B4 + 0x8C
thumb_func_start sub_0200E420
sub_0200E420: ; 0x0200E420
push {r0-r3}
push {r3, lr}
add r0, sp, #0x8
mov r1, #0x0
mov r2, #0x2
bl GX_LoadBGPltt
add r0, sp, #0x8
mov r1, #0x0
mov r2, #0x2
bl GXS_LoadBGPltt
pop {r3}
pop {r3}
add sp, #0x10
bx r3
thumb_func_start sub_0200E440
sub_0200E440: ; 0x0200E440
push {r3, lr}
cmp r0, #0x0
bne _0200E44E
ldr r0, _0200E458 ; =0x0400006C
bl GXx_SetMasterBrightness_
pop {r3, pc}
_0200E44E:
ldr r0, _0200E45C ; =0x0400106C
bl GXx_SetMasterBrightness_
pop {r3, pc}
nop
_0200E458: .word 0x0400006C
_0200E45C: .word 0x0400106C
thumb_func_start sub_0200E460
sub_0200E460: ; 0x0200E460
push {r4, lr}
mov r1, #0x53
add r4, r0, #0x0
mov r2, #0x0
lsl r1, r1, #0x2
strh r2, [r4, r1]
bl sub_0200E770
mov r1, #0x15
lsl r1, r1, #0x4
strh r0, [r4, r1]
ldr r0, [r4, #0xc]
cmp r0, #0x0
beq _0200E490
add r0, r4, #0x0
add r0, #0x14
bl sub_0200E7D8
ldr r0, [r4, #0x3c]
cmp r0, #0x0
bne _0200E490
ldr r0, _0200E4B4 ; =UNK_021C46B4 + 0x140
mov r1, #0x0
strb r1, [r0, #0xe]
_0200E490:
ldr r0, [r4, #0x10]
cmp r0, #0x0
beq _0200E4AA
add r0, r4, #0x0
add r0, #0x44
bl sub_0200E7D8
ldr r0, [r4, #0x3c]
cmp r0, #0x0
bne _0200E4AA
ldr r0, _0200E4B4 ; =UNK_021C46B4 + 0x140
mov r1, #0x0
strb r1, [r0, #0xf]
_0200E4AA:
add r0, r4, #0x0
bl sub_0200E808
pop {r4, pc}
nop
_0200E4B4: .word UNK_021C46B4 + 0x140
thumb_func_start sub_0200E4B8
sub_0200E4B8: ; 0x0200E4B8
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, [r5, #0x0]
add r4, r2, #0x0
cmp r0, #0x0
beq _0200E4CE
cmp r0, #0x1
beq _0200E4E0
cmp r0, #0x2
beq _0200E4FA
b _0200E512
_0200E4CE:
add r0, r5, #0x4
bl sub_0200E528
add r0, r5, #0x0
add r0, #0x8
add r1, r4, #0x0
bl sub_0200E528
b _0200E512
_0200E4E0:
ldr r0, [r5, #0x4]
cmp r0, #0x0
beq _0200E4EE
add r0, r5, #0x4
bl sub_0200E528
b _0200E512
_0200E4EE:
add r0, r5, #0x0
add r0, #0x8
add r1, r4, #0x0
bl sub_0200E528
b _0200E512
_0200E4FA:
ldr r0, [r5, #0x8]
cmp r0, #0x0
beq _0200E50C
add r0, r5, #0x0
add r0, #0x8
add r1, r4, #0x0
bl sub_0200E528
b _0200E512
_0200E50C:
add r0, r5, #0x4
bl sub_0200E528
_0200E512:
ldr r0, [r5, #0x4]
cmp r0, #0x0
bne _0200E522
ldr r0, [r5, #0x8]
cmp r0, #0x0
bne _0200E522
mov r0, #0x1
pop {r3-r5, pc}
_0200E522:
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
thumb_func_start sub_0200E528
sub_0200E528: ; 0x0200E528
push {r4, lr}
add r4, r0, #0x0
ldr r0, [r4, #0x0]
cmp r0, #0x0
beq _0200E540
add r0, r1, #0x0
bl sub_0200E544
cmp r0, #0x1
bne _0200E540
mov r0, #0x0
str r0, [r4, #0x0]
_0200E540:
pop {r4, pc}
.balign 4
thumb_func_start sub_0200E544
sub_0200E544: ; 0x0200E544
push {r3, lr}
ldr r1, [r0, #0x0]
lsl r2, r1, #0x2
ldr r1, _0200E554 ; =UNK_020ECEF4
ldr r1, [r1, r2]
blx r1
pop {r3, pc}
nop
_0200E554: .word UNK_020ECEF4
thumb_func_start sub_0200E558
sub_0200E558: ; 0x0200E558
push {r3, lr}
cmp r0, #0x4
bhi _0200E5B8
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #0x6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0200E56A: ; jump table (using 16-bit offset)
.short _0200E574 - _0200E56A - 2; case 0
.short _0200E582 - _0200E56A - 2; case 1
.short _0200E590 - _0200E56A - 2; case 2
.short _0200E59E - _0200E56A - 2; case 3
.short _0200E5AC - _0200E56A - 2; case 4
_0200E574:
mov r2, #0x1
add r0, r1, #0x0
mov r1, #0x0
add r3, r2, #0x0
bl sub_0200E5BC
pop {r3, pc}
_0200E582:
add r0, r1, #0x0
mov r1, #0x1
add r2, r1, #0x0
add r3, r1, #0x0
bl sub_0200E5BC
pop {r3, pc}
_0200E590:
mov r2, #0x1
add r0, r1, #0x0
mov r1, #0x2
add r3, r2, #0x0
bl sub_0200E5BC
pop {r3, pc}
_0200E59E:
add r0, r1, #0x0
mov r1, #0x1
add r2, r1, #0x0
mov r3, #0x0
bl sub_0200E5BC
pop {r3, pc}
_0200E5AC:
add r0, r1, #0x0
mov r1, #0x2
mov r2, #0x0
mov r3, #0x1
bl sub_0200E5BC
_0200E5B8:
pop {r3, pc}
.balign 4
thumb_func_start sub_0200E5BC
sub_0200E5BC: ; 0x0200E5BC
str r1, [r0, #0x0]
str r2, [r0, #0x4]
str r3, [r0, #0x8]
str r2, [r0, #0xc]
str r3, [r0, #0x10]
bx lr
thumb_func_start sub_0200E5C8
sub_0200E5C8: ; 0x0200E5C8
str r1, [r0, #0x0]
str r2, [r0, #0x4]
ldr r1, [sp, #0x0]
str r3, [r0, #0x8]
str r1, [r0, #0xc]
ldr r1, [sp, #0x4]
str r1, [r0, #0x14]
ldr r1, [sp, #0x8]
str r1, [r0, #0x10]
ldr r1, [sp, #0xc]
str r1, [r0, #0x18]
ldr r1, [sp, #0x10]
str r1, [r0, #0x1c]
ldr r1, [sp, #0x14]
str r1, [r0, #0x20]
ldr r1, _0200E5F0 ; =0xFFFFFFF0
add r1, sp
ldrh r1, [r1, #0x28]
strh r1, [r0, #0x24]
bx lr
.balign 4
_0200E5F0: .word 0xFFFFFFF0
thumb_func_start sub_0200E5F4
sub_0200E5F4: ; 0x0200E5F4
mov r3, #0x0
ldr r1, _0200E60C ; =sub_0200E758
add r2, r3, #0x0
_0200E5FA:
str r2, [r0, #0x0]
str r1, [r0, #0x8]
str r2, [r0, #0x10]
add r3, r3, #0x1
add r0, r0, #0x4
cmp r3, #0x2
blt _0200E5FA
bx lr
nop
_0200E60C: .word sub_0200E758
thumb_func_start sub_0200E610
sub_0200E610: ; 0x0200E610
push {r3-r5, lr}
add r5, r0, #0x0
mov r4, #0x0
_0200E616:
ldr r0, [r5, #0x0]
ldr r1, [r5, #0x8]
blx r1
add r4, r4, #0x1
add r5, r5, #0x4
cmp r4, #0x2
blt _0200E616
pop {r3-r5, pc}
.balign 4
thumb_func_start sub_0200E628
sub_0200E628: ; 0x0200E628
push {r4-r7, lr}
sub sp, #0xc
add r5, r0, #0x0
mov r0, #0x1
str r0, [sp, #0x4]
add r0, r5, #0x0
str r0, [sp, #0x8]
add r0, #0x10
lsl r4, r3, #0x2
str r0, [sp, #0x8]
ldr r0, [r0, r4]
add r7, r2, #0x0
str r1, [sp, #0x0]
cmp r0, #0x0
beq _0200E64A
bl GF_AssertFail
_0200E64A:
add r6, r5, #0x0
add r6, #0x8
ldr r0, [r6, r4]
cmp r0, #0x0
bne _0200E658
bl GF_AssertFail
_0200E658:
ldr r0, [r5, #0x10]
cmp r0, #0x0
bne _0200E672
ldr r0, [r5, #0x14]
cmp r0, #0x0
bne _0200E672
ldr r0, _0200E698 ; =sub_0200E610
add r1, r5, #0x0
bl Main_SetHBlankIntrCB
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x4]
_0200E672:
ldr r0, [sp, #0x4]
cmp r0, #0x1
beq _0200E67C
bl GF_AssertFail
_0200E67C:
ldr r0, [sp, #0x0]
cmp r7, #0x0
str r0, [r5, r4]
beq _0200E688
str r7, [r6, r4]
b _0200E68C
_0200E688:
ldr r0, _0200E69C ; =sub_0200E758
str r0, [r6, r4]
_0200E68C:
ldr r0, [sp, #0x8]
mov r1, #0x1
str r1, [r0, r4]
add sp, #0xc
pop {r4-r7, pc}
nop
_0200E698: .word sub_0200E610
_0200E69C: .word sub_0200E758
thumb_func_start sub_0200E6A0
sub_0200E6A0: ; 0x0200E6A0
push {r3-r5, lr}
lsl r4, r1, #0x2
add r5, r0, #0x0
mov r1, #0x0
add r0, r5, r4
str r1, [r0, #0x10]
ldr r0, [r5, #0x10]
cmp r0, #0x0
bne _0200E6BC
ldr r0, [r5, #0x14]
cmp r0, #0x0
bne _0200E6BC
bl sub_02015F1C
_0200E6BC:
ldr r1, _0200E6C8 ; =sub_0200E758
add r0, r5, r4
str r1, [r0, #0x8]
mov r0, #0x0
str r0, [r5, r4]
pop {r3-r5, pc}
.balign 4
_0200E6C8: .word sub_0200E758
thumb_func_start sub_0200E6CC
sub_0200E6CC: ; 0x0200E6CC
push {r3-r7, lr}
add r5, r0, #0x0
add r4, r1, #0x0
ldr r0, [sp, #0x18]
mov r1, #0x10
add r6, r2, #0x0
add r7, r3, #0x0
bl Heap_AllocAtEnd
add r1, r0, #0x0
str r5, [r1, #0x0]
str r4, [r1, #0x4]
mov r2, #0x1
str r6, [r1, #0x8]
ldr r0, _0200E6F4 ; =sub_0200E71C
lsl r2, r2, #0xa
str r7, [r1, #0xc]
bl sub_0200CA98
pop {r3-r7, pc}
.balign 4
_0200E6F4: .word sub_0200E71C
thumb_func_start sub_0200E6F8
sub_0200E6F8: ; 0x0200E6F8
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
add r0, r2, #0x0
mov r1, #0x8
bl Heap_AllocAtEnd
add r1, r0, #0x0
mov r2, #0x1
str r5, [r1, #0x0]
ldr r0, _0200E718 ; =sub_0200E73C
lsl r2, r2, #0xa
str r4, [r1, #0x4]
bl sub_0200CA98
pop {r3-r5, pc}
.balign 4
_0200E718: .word sub_0200E73C
thumb_func_start sub_0200E71C
sub_0200E71C: ; 0x0200E71C
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
ldr r0, [r4, #0x0]
ldr r1, [r4, #0x4]
ldr r2, [r4, #0x8]
ldr r3, [r4, #0xc]
bl sub_0200E628
add r0, r5, #0x0
bl SysTask_Destroy
add r0, r4, #0x0
bl Heap_Free
pop {r3-r5, pc}
thumb_func_start sub_0200E73C
sub_0200E73C: ; 0x0200E73C
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
ldr r0, [r4, #0x0]
ldr r1, [r4, #0x4]
bl sub_0200E6A0
add r0, r5, #0x0
bl SysTask_Destroy
add r0, r4, #0x0
bl Heap_Free
pop {r3-r5, pc}
thumb_func_start sub_0200E758
sub_0200E758: ; 0x0200E758
bx lr
.balign 4
thumb_func_start sub_0200E75C
sub_0200E75C: ; 0x0200E75C
ldr r2, _0200E76C ; =0x0000FFFF
cmp r1, r2
bne _0200E768
mov r1, #0x15
lsl r1, r1, #0x4
ldrh r1, [r0, r1]
_0200E768:
add r0, r1, #0x0
bx lr
.balign 4
_0200E76C: .word 0x0000FFFF
thumb_func_start sub_0200E770
sub_0200E770: ; 0x0200E770
ldr r1, [r0, #0xc]
cmp r1, #0x1
bne _0200E77C
add r2, r0, #0x0
add r2, #0x14
b _0200E780
_0200E77C:
add r2, r0, #0x0
add r2, #0x44
_0200E780:
ldr r1, [r2, #0x28]
cmp r1, #0x1
bne _0200E78A
ldrh r0, [r2, #0x24]
bx lr
_0200E78A:
mov r1, #0x15
lsl r1, r1, #0x4
ldrh r0, [r0, r1]
bx lr
.balign 4
thumb_func_start sub_0200E794
sub_0200E794: ; 0x0200E794
push {r4, lr}
add r4, r0, #0x0
ldr r0, [r1, #0x10]
mov r1, #0x0
bl sub_0200E440
add r0, r4, #0x0
bl SysTask_Destroy
pop {r4, pc}
thumb_func_start sub_0200E7A8
sub_0200E7A8: ; 0x0200E7A8
push {r3, lr}
add r1, r0, #0x0
ldr r0, [r1, #0x28]
cmp r0, #0x0
bne _0200E7CE
ldrh r2, [r1, #0x24]
ldr r0, _0200E7D0 ; =0x00007FFF
cmp r2, r0
beq _0200E7BE
cmp r2, #0x0
bne _0200E7CE
_0200E7BE:
ldr r0, [r1, #0x2c]
cmp r0, #0x0
bne _0200E7CE
mov r2, #0x1
ldr r0, _0200E7D4 ; =sub_0200E794
lsl r2, r2, #0xa
bl sub_0200CA98
_0200E7CE:
pop {r3, pc}
.balign 4
_0200E7D0: .word 0x00007FFF
_0200E7D4: .word sub_0200E794
thumb_func_start sub_0200E7D8
sub_0200E7D8: ; 0x0200E7D8
push {r4, lr}
add r4, r0, #0x0
ldr r0, [r4, #0x28]
cmp r0, #0x1
bne _0200E800
ldrh r1, [r4, #0x24]
ldr r0, _0200E804 ; =0x00007FFF
cmp r1, r0
beq _0200E7EE
cmp r1, #0x0
bne _0200E800
_0200E7EE:
ldr r0, [r4, #0x2c]
cmp r0, #0x0
bne _0200E800
ldr r0, [r4, #0x10]
bl sub_0200E3A0
ldr r0, [r4, #0x10]
bl sub_0200E388
_0200E800:
pop {r4, pc}
nop
_0200E804: .word 0x00007FFF
thumb_func_start sub_0200E808
sub_0200E808: ; 0x0200E808
push {r4, lr}
add r4, r0, #0x0
add r2, r4, #0x0
mov r1, #0x14
mov r0, #0x0
_0200E812:
strb r0, [r2, #0x0]
add r2, r2, #0x1
sub r1, r1, #0x1
bne _0200E812
add r0, r4, #0x0
add r0, #0x14
mov r1, #0x0
mov r2, #0x30
bl memset
add r0, r4, #0x0
add r0, #0x44
mov r1, #0x0
mov r2, #0x30
bl memset
add r2, r4, #0x0
add r2, #0x74
mov r1, #0x18
mov r0, #0x0
_0200E83A:
strb r0, [r2, #0x0]
add r2, r2, #0x1
sub r1, r1, #0x1
bne _0200E83A
add r4, #0x8c
add r0, r4, #0x0
mov r1, #0x0
mov r2, #0xc0
bl memset
pop {r4, pc}