pokediamond/arm9/asm/unk_0205AD98.s

2451 lines
41 KiB
ArmAsm

.include "asm/macros.inc"
.include "global.inc"
.extern UNK_02105F9C
.extern UNK_020F6C84
.extern UNK_020F6C54
.extern UNK_020F6C6C
.extern UNK_020F6440
.extern UNK_020F6308
.extern UNK_020F6C48
.text
thumb_func_start sub_0205AD98
sub_0205AD98: ; 0x0205AD98
push {r4, lr}
mov r1, #0x1
add r4, r0, #0x0
bl MapObject_TestFlagsBits
cmp r0, #0x0
bne _0205ADAA
mov r0, #0x0
pop {r4, pc}
_0205ADAA:
add r0, r4, #0x0
mov r1, #0x2
bl MapObject_TestFlagsBits
cmp r0, #0x1
bne _0205ADBA
mov r0, #0x0
pop {r4, pc}
_0205ADBA:
add r0, r4, #0x0
mov r1, #0x10
bl MapObject_TestFlagsBits
cmp r0, #0x1
bne _0205ADD6
add r0, r4, #0x0
mov r1, #0x20
bl MapObject_TestFlagsBits
cmp r0, #0x0
bne _0205ADD6
mov r0, #0x0
pop {r4, pc}
_0205ADD6:
mov r0, #0x1
pop {r4, pc}
.balign 4
thumb_func_start sub_0205ADDC
sub_0205ADDC: ; 0x0205ADDC
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x69
blt _0205ADEA
bl GF_AssertFail
_0205ADEA:
add r0, r5, #0x0
add r1, r4, #0x0
bl MapObject_SetMovementCommand
add r0, r5, #0x0
mov r1, #0x0
bl MapObject_SetMovementStep
add r0, r5, #0x0
mov r1, #0x10
bl MapObject_SetFlagsBits
add r0, r5, #0x0
mov r1, #0x20
bl MapObject_ClearFlagsBits
pop {r3-r5, pc}
thumb_func_start sub_0205AE0C
sub_0205AE0C: ; 0x0205AE0C
push {r4, lr}
add r4, r0, #0x0
bl MapObject_SetMovementCommand
add r0, r4, #0x0
mov r1, #0x0
bl MapObject_SetMovementStep
add r0, r4, #0x0
mov r1, #0x20
bl MapObject_ClearFlagsBits
pop {r4, pc}
.balign 4
thumb_func_start sub_0205AE28
sub_0205AE28: ; 0x0205AE28
push {r4, lr}
mov r1, #0x10
add r4, r0, #0x0
bl MapObject_TestFlagsBits
cmp r0, #0x0
bne _0205AE3A
mov r0, #0x1
pop {r4, pc}
_0205AE3A:
add r0, r4, #0x0
mov r1, #0x20
bl MapObject_TestFlagsBits
cmp r0, #0x0
beq _0205AE4A
mov r0, #0x1
pop {r4, pc}
_0205AE4A:
mov r0, #0x0
pop {r4, pc}
.balign 4
thumb_func_start sub_0205AE50
sub_0205AE50: ; 0x0205AE50
push {r4, lr}
mov r1, #0x10
add r4, r0, #0x0
bl MapObject_TestFlagsBits
cmp r0, #0x0
bne _0205AE62
mov r0, #0x1
pop {r4, pc}
_0205AE62:
add r0, r4, #0x0
mov r1, #0x20
bl MapObject_TestFlagsBits
cmp r0, #0x0
bne _0205AE72
mov r0, #0x0
pop {r4, pc}
_0205AE72:
add r0, r4, #0x0
mov r1, #0x30
bl MapObject_ClearFlagsBits
mov r0, #0x1
pop {r4, pc}
.balign 4
thumb_func_start MapObject_ClearHeldMovement
MapObject_ClearHeldMovement: ; 0x0205AE80
push {r4, lr}
add r4, r0, #0x0
mov r1, #0x10
bl MapObject_ClearFlagsBits
add r0, r4, #0x0
mov r1, #0x20
bl MapObject_SetFlagsBits
add r0, r4, #0x0
mov r1, #0xff
bl MapObject_SetMovementCommand
add r0, r4, #0x0
mov r1, #0x0
bl MapObject_SetMovementStep
pop {r4, pc}
thumb_func_start sub_0205AEA4
sub_0205AEA4: ; 0x0205AEA4
push {r3-r7, lr}
add r5, r0, #0x0
add r6, r1, #0x0
mov r0, #0x4
mov r1, #0x14
bl Heap_AllocAtEnd
add r4, r0, #0x0
bne _0205AEBA
bl GF_AssertFail
_0205AEBA:
add r2, r4, #0x0
mov r1, #0x14
mov r0, #0x0
_0205AEC0:
strb r0, [r2, #0x0]
add r2, r2, #0x1
sub r1, r1, #0x1
bne _0205AEC0
add r0, r5, #0x0
bl MapObject_GetManager
bl MapObjectManager_GetPriority
sub r2, r0, #0x1
ldr r0, _0205AEEC ; =sub_0205AF2C
add r1, r4, #0x0
bl SysTask_CreateOnMainQueue
add r7, r0, #0x0
bne _0205AEE4
bl GF_AssertFail
_0205AEE4:
str r5, [r4, #0xc]
str r6, [r4, #0x10]
add r0, r7, #0x0
pop {r3-r7, pc}
.balign 4
_0205AEEC: .word sub_0205AF2C
thumb_func_start sub_0205AEF0
sub_0205AEF0: ; 0x0205AEF0
push {r3, lr}
bl sub_0201B6C8
ldr r0, [r0, #0x4]
pop {r3, pc}
.balign 4
thumb_func_start sub_0205AEFC
sub_0205AEFC: ; 0x0205AEFC
push {r3-r5, lr}
add r5, r0, #0x0
bl sub_0201B6C8
add r4, r0, #0x0
ldr r0, [r4, #0xc]
bl sub_0205AE28
cmp r0, #0x1
beq _0205AF14
bl GF_AssertFail
_0205AF14:
ldr r0, [r4, #0xc]
bl sub_0205AE50
mov r0, #0x4
add r1, r4, #0x0
bl Heap_FreeExplicit
add r0, r5, #0x0
bl SysTask_Destroy
pop {r3-r5, pc}
.balign 4
thumb_func_start sub_0205AF2C
sub_0205AF2C: ; 0x0205AF2C
push {r3-r5, lr}
ldr r4, _0205AF44 ; =UNK_020F6C54
add r5, r1, #0x0
_0205AF32:
ldr r1, [r5, #0x0]
add r0, r5, #0x0
lsl r1, r1, #0x2
ldr r1, [r4, r1]
blx r1
cmp r0, #0x1
beq _0205AF32
pop {r3-r5, pc}
nop
_0205AF44: .word UNK_020F6C54
thumb_func_start sub_0205AF48
sub_0205AF48: ; 0x0205AF48
mov r1, #0x0
str r1, [r0, #0x8]
mov r1, #0x1
str r1, [r0, #0x0]
add r0, r1, #0x0
bx lr
thumb_func_start sub_0205AF54
sub_0205AF54: ; 0x0205AF54
push {r4, lr}
add r4, r0, #0x0
ldr r0, [r4, #0xc]
bl sub_0205AD98
cmp r0, #0x0
bne _0205AF66
mov r0, #0x0
pop {r4, pc}
_0205AF66:
mov r0, #0x2
str r0, [r4, #0x0]
mov r0, #0x1
pop {r4, pc}
.balign 4
thumb_func_start sub_0205AF70
sub_0205AF70: ; 0x0205AF70
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x10]
ldr r0, [r4, #0xc]
ldrh r1, [r1, #0x0]
bl sub_0205ADDC
mov r0, #0x3
str r0, [r4, #0x0]
mov r0, #0x0
pop {r4, pc}
.balign 4
thumb_func_start sub_0205AF88
sub_0205AF88: ; 0x0205AF88
push {r4, lr}
add r4, r0, #0x0
ldr r0, [r4, #0xc]
bl sub_0205AE28
cmp r0, #0x0
bne _0205AF9A
mov r0, #0x0
pop {r4, pc}
_0205AF9A:
mov r0, #0x4
str r0, [r4, #0x0]
mov r0, #0x1
pop {r4, pc}
.balign 4
thumb_func_start sub_0205AFA4
sub_0205AFA4: ; 0x0205AFA4
ldr r1, [r0, #0x8]
ldr r3, [r0, #0x10]
add r2, r1, #0x1
str r2, [r0, #0x8]
ldrh r1, [r3, #0x2]
cmp r2, r1
bge _0205AFBA
mov r1, #0x1
str r1, [r0, #0x0]
add r0, r1, #0x0
bx lr
_0205AFBA:
add r1, r3, #0x4
str r1, [r0, #0x10]
ldrh r1, [r3, #0x4]
cmp r1, #0xfe
beq _0205AFCC
mov r1, #0x0
str r1, [r0, #0x0]
mov r0, #0x1
bx lr
_0205AFCC:
mov r1, #0x1
str r1, [r0, #0x4]
mov r1, #0x5
str r1, [r0, #0x0]
mov r0, #0x0
bx lr
thumb_func_start sub_0205AFD8
sub_0205AFD8: ; 0x0205AFD8
mov r0, #0x0
bx lr
thumb_func_start sub_0205AFDC
sub_0205AFDC: ; 0x0205AFDC
push {r3-r7, lr}
add r7, r0, #0x0
add r4, r1, #0x0
cmp r7, #0x4
blt _0205AFEA
bl GF_AssertFail
_0205AFEA:
ldr r3, _0205B01C ; =UNK_020F6308
ldr r6, [r3, #0x0]
cmp r6, #0x0
beq _0205B014
mov r1, #0x0
_0205AFF4:
add r2, r1, #0x0
add r5, r6, #0x0
_0205AFF8:
ldr r0, [r5, #0x0]
cmp r4, r0
bne _0205B004
lsl r0, r7, #0x2
ldr r0, [r6, r0]
pop {r3-r7, pc}
_0205B004:
add r2, r2, #0x1
add r5, r5, #0x4
cmp r2, #0x4
blt _0205AFF8
add r3, r3, #0x4
ldr r6, [r3, #0x0]
cmp r6, #0x0
bne _0205AFF4
_0205B014:
bl GF_AssertFail
add r0, r4, #0x0
pop {r3-r7, pc}
.balign 4
_0205B01C: .word UNK_020F6308
thumb_func_start sub_0205B020
sub_0205B020: ; 0x0205B020
push {r4-r5}
ldr r4, _0205B054 ; =UNK_020F6308
ldr r5, [r4, #0x0]
cmp r5, #0x0
beq _0205B04A
mov r2, #0x0
_0205B02C:
add r3, r2, #0x0
_0205B02E:
ldr r1, [r5, #0x0]
cmp r0, r1
bne _0205B03A
add r0, r3, #0x0
pop {r4-r5}
bx lr
_0205B03A:
add r3, r3, #0x1
add r5, r5, #0x4
cmp r3, #0x4
blt _0205B02E
add r4, r4, #0x4
ldr r5, [r4, #0x0]
cmp r5, #0x0
bne _0205B02C
_0205B04A:
mov r0, #0x0
mvn r0, r0
pop {r4-r5}
bx lr
nop
_0205B054: .word UNK_020F6308
thumb_func_start sub_0205B058
sub_0205B058: ; 0x0205B058
push {r3-r5, lr}
add r5, r0, #0x0
_0205B05C:
add r0, r5, #0x0
bl MapObject_GetMovementCommand
add r4, r0, #0x0
cmp r4, #0xff
beq _0205B07C
add r0, r5, #0x0
bl MapObject_GetMovementStep
add r2, r0, #0x0
add r0, r5, #0x0
add r1, r4, #0x0
bl sub_0205B0B4
cmp r0, #0x0
bne _0205B05C
_0205B07C:
pop {r3-r5, pc}
.balign 4
thumb_func_start sub_0205B080
sub_0205B080: ; 0x0205B080
push {r4, lr}
add r4, r0, #0x0
bl sub_0205B058
add r0, r4, #0x0
mov r1, #0x20
bl MapObject_TestFlagsBits
cmp r0, #0x0
bne _0205B098
mov r0, #0x0
pop {r4, pc}
_0205B098:
add r0, r4, #0x0
mov r1, #0x20
bl MapObject_ClearFlagsBits
add r0, r4, #0x0
mov r1, #0xff
bl MapObject_SetMovementCommand
add r0, r4, #0x0
mov r1, #0x0
bl MapObject_SetMovementStep
mov r0, #0x1
pop {r4, pc}
thumb_func_start sub_0205B0B4
sub_0205B0B4: ; 0x0205B0B4
push {r3, lr}
lsl r3, r1, #0x2
ldr r1, _0205B0C4 ; =UNK_020F6440
ldr r3, [r1, r3]
lsl r1, r2, #0x2
ldr r1, [r3, r1]
blx r1
pop {r3, pc}
.balign 4
_0205B0C4: .word UNK_020F6440
thumb_func_start sub_0205B0C8
sub_0205B0C8: ; 0x0205B0C8
push {r3, lr}
mov r1, #0x20
bl MapObject_SetFlagsBits
mov r0, #0x0
pop {r3, pc}
thumb_func_start sub_0205B0D4
sub_0205B0D4: ; 0x0205B0D4
push {r4, lr}
add r4, r0, #0x0
bl MapObject_SetFacingDirection
add r0, r4, #0x0
mov r1, #0x0
bl sub_02058544
add r0, r4, #0x0
bl sub_02059C60
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
pop {r4, pc}
.balign 4
thumb_func_start sub_0205B0F4
sub_0205B0F4: ; 0x0205B0F4
push {r3, lr}
mov r1, #0x0
bl sub_0205B0D4
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B100
sub_0205B100: ; 0x0205B100
push {r3, lr}
mov r1, #0x1
bl sub_0205B0D4
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B10C
sub_0205B10C: ; 0x0205B10C
push {r3, lr}
mov r1, #0x2
bl sub_0205B0D4
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B118
sub_0205B118: ; 0x0205B118
push {r3, lr}
mov r1, #0x3
bl sub_0205B0D4
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B124
sub_0205B124: ; 0x0205B124
push {r3-r7, lr}
add r4, r1, #0x0
mov r1, #0xc
add r5, r0, #0x0
add r6, r2, #0x0
add r7, r3, #0x0
bl sub_020585DC
add r1, sp, #0x8
ldrh r1, [r1, #0x10]
strh r1, [r0, #0x0]
strh r7, [r0, #0x2]
str r4, [r0, #0x4]
str r6, [r0, #0x8]
add r0, r5, #0x0
add r1, r4, #0x0
bl sub_02059C0C
add r0, r5, #0x0
add r1, r4, #0x0
bl MapObject_SetOrQueueFacing
add r1, sp, #0x8
ldrh r1, [r1, #0x10]
add r0, r5, #0x0
bl sub_02058544
add r0, r5, #0x0
mov r1, #0x4
bl MapObject_SetFlagsBits
add r0, r5, #0x0
bl MapObject_IncrementMovementStep
pop {r3-r7, pc}
.balign 4
thumb_func_start sub_0205B16C
sub_0205B16C: ; 0x0205B16C
push {r3-r5, lr}
add r5, r0, #0x0
bl sub_02058600
add r4, r0, #0x0
ldr r1, [r4, #0x4]
ldr r2, [r4, #0x8]
add r0, r5, #0x0
bl sub_02059CC8
add r0, r5, #0x0
bl sub_02059D1C
mov r0, #0x2
ldrsh r1, [r4, r0]
sub r1, r1, #0x1
strh r1, [r4, #0x2]
ldrsh r0, [r4, r0]
cmp r0, #0x0
ble _0205B198
mov r0, #0x0
pop {r3-r5, pc}
_0205B198:
add r0, r5, #0x0
mov r1, #0x28
bl MapObject_SetFlagsBits
add r0, r5, #0x0
bl sub_02059C60
add r0, r5, #0x0
bl sub_020586A0
add r0, r5, #0x0
mov r1, #0x0
bl sub_02058544
add r0, r5, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
pop {r3-r5, pc}
.balign 4
thumb_func_start sub_0205B1C0
sub_0205B1C0: ; 0x0205B1C0
push {r3, lr}
mov r2, #0x1
str r2, [sp, #0x0]
mov r1, #0x0
lsl r2, r2, #0xb
mov r3, #0x20
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B1D4
sub_0205B1D4: ; 0x0205B1D4
push {r3, lr}
mov r1, #0x1
lsl r2, r1, #0xb
mov r3, #0x20
str r1, [sp, #0x0]
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
.balign 4
thumb_func_start sub_0205B1E8
sub_0205B1E8: ; 0x0205B1E8
push {r3, lr}
mov r1, #0x1
str r1, [sp, #0x0]
mov r1, #0x2
lsl r2, r1, #0xa
mov r3, #0x20
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B1FC
sub_0205B1FC: ; 0x0205B1FC
push {r3, lr}
mov r2, #0x1
str r2, [sp, #0x0]
mov r1, #0x3
lsl r2, r2, #0xb
mov r3, #0x20
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B210
sub_0205B210: ; 0x0205B210
push {r3, lr}
mov r2, #0x2
str r2, [sp, #0x0]
mov r1, #0x0
lsl r2, r2, #0xb
mov r3, #0x10
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B224
sub_0205B224: ; 0x0205B224
push {r3, lr}
mov r1, #0x2
str r1, [sp, #0x0]
mov r1, #0x1
lsl r2, r1, #0xc
mov r3, #0x10
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B238
sub_0205B238: ; 0x0205B238
push {r3, lr}
mov r1, #0x2
lsl r2, r1, #0xb
mov r3, #0x10
str r1, [sp, #0x0]
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
.balign 4
thumb_func_start sub_0205B24C
sub_0205B24C: ; 0x0205B24C
push {r3, lr}
mov r2, #0x2
str r2, [sp, #0x0]
mov r1, #0x3
lsl r2, r2, #0xb
mov r3, #0x10
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B260
sub_0205B260: ; 0x0205B260
push {r3, lr}
mov r1, #0x3
mov r2, #0x2
str r1, [sp, #0x0]
mov r1, #0x0
lsl r2, r2, #0xc
mov r3, #0x8
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
.balign 4
thumb_func_start sub_0205B278
sub_0205B278: ; 0x0205B278
push {r3, lr}
mov r1, #0x3
str r1, [sp, #0x0]
mov r1, #0x1
lsl r2, r1, #0xd
mov r3, #0x8
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B28C
sub_0205B28C: ; 0x0205B28C
push {r3, lr}
mov r1, #0x3
str r1, [sp, #0x0]
mov r1, #0x2
lsl r2, r1, #0xc
mov r3, #0x8
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B2A0
sub_0205B2A0: ; 0x0205B2A0
push {r3, lr}
mov r2, #0x2
mov r1, #0x3
lsl r2, r2, #0xc
mov r3, #0x8
str r1, [sp, #0x0]
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B2B4
sub_0205B2B4: ; 0x0205B2B4
push {r3, lr}
mov r3, #0x4
mov r1, #0x0
lsl r2, r3, #0xc
str r3, [sp, #0x0]
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
.balign 4
thumb_func_start sub_0205B2C8
sub_0205B2C8: ; 0x0205B2C8
push {r3, lr}
mov r1, #0x1
mov r3, #0x4
lsl r2, r1, #0xe
str r3, [sp, #0x0]
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
.balign 4
thumb_func_start sub_0205B2DC
sub_0205B2DC: ; 0x0205B2DC
push {r3, lr}
mov r1, #0x2
mov r3, #0x4
lsl r2, r1, #0xd
str r3, [sp, #0x0]
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
.balign 4
thumb_func_start sub_0205B2F0
sub_0205B2F0: ; 0x0205B2F0
push {r3, lr}
mov r3, #0x4
mov r1, #0x3
lsl r2, r3, #0xc
str r3, [sp, #0x0]
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
.balign 4
thumb_func_start sub_0205B304
sub_0205B304: ; 0x0205B304
push {r3, lr}
mov r1, #0x5
mov r2, #0x2
str r1, [sp, #0x0]
mov r1, #0x0
lsl r2, r2, #0xe
mov r3, #0x2
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
.balign 4
thumb_func_start sub_0205B31C
sub_0205B31C: ; 0x0205B31C
push {r3, lr}
mov r1, #0x5
str r1, [sp, #0x0]
mov r1, #0x1
lsl r2, r1, #0xf
mov r3, #0x2
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B330
sub_0205B330: ; 0x0205B330
push {r3, lr}
mov r1, #0x5
str r1, [sp, #0x0]
mov r1, #0x2
lsl r2, r1, #0xe
add r3, r1, #0x0
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B344
sub_0205B344: ; 0x0205B344
push {r3, lr}
mov r1, #0x5
mov r2, #0x2
str r1, [sp, #0x0]
mov r1, #0x3
lsl r2, r2, #0xe
mov r3, #0x2
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
.balign 4
thumb_func_start sub_0205B35C
sub_0205B35C: ; 0x0205B35C
push {r3, lr}
mov r2, #0x1
mov r1, #0x0
lsl r2, r2, #0x10
mov r3, #0x1
str r1, [sp, #0x0]
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B370
sub_0205B370: ; 0x0205B370
push {r3, lr}
mov r1, #0x0
str r1, [sp, #0x0]
mov r1, #0x1
lsl r2, r1, #0x10
add r3, r1, #0x0
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B384
sub_0205B384: ; 0x0205B384
push {r3, lr}
mov r1, #0x0
str r1, [sp, #0x0]
mov r1, #0x2
lsl r2, r1, #0xf
mov r3, #0x1
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B398
sub_0205B398: ; 0x0205B398
push {r3, lr}
mov r1, #0x0
mov r2, #0x1
str r1, [sp, #0x0]
mov r1, #0x3
lsl r2, r2, #0x10
mov r3, #0x1
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
.balign 4
thumb_func_start sub_0205B3B0
sub_0205B3B0: ; 0x0205B3B0
push {r3, lr}
mov r1, #0x9
mov r2, #0x1
str r1, [sp, #0x0]
mov r1, #0x0
lsl r2, r2, #0xe
mov r3, #0x4
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
.balign 4
thumb_func_start sub_0205B3C8
sub_0205B3C8: ; 0x0205B3C8
push {r3, lr}
mov r1, #0x9
str r1, [sp, #0x0]
mov r1, #0x1
lsl r2, r1, #0xe
mov r3, #0x4
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B3DC
sub_0205B3DC: ; 0x0205B3DC
push {r3, lr}
mov r1, #0x9
str r1, [sp, #0x0]
mov r1, #0x2
lsl r2, r1, #0xd
mov r3, #0x4
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B3F0
sub_0205B3F0: ; 0x0205B3F0
push {r3, lr}
mov r1, #0x9
mov r2, #0x1
str r1, [sp, #0x0]
mov r1, #0x3
lsl r2, r2, #0xe
mov r3, #0x4
bl sub_0205B124
mov r0, #0x1
pop {r3, pc}
.balign 4
thumb_func_start sub_0205B408
sub_0205B408: ; 0x0205B408
push {r3-r7, lr}
add r7, r1, #0x0
add r6, r2, #0x0
add r4, r3, #0x0
mov r1, #0xc
add r5, r0, #0x0
bl sub_020585DC
strh r4, [r0, #0x0]
add r1, r6, #0x1
strh r1, [r0, #0x2]
add r0, r5, #0x0
add r1, r7, #0x0
bl MapObject_SetFacingDirection
add r0, r5, #0x0
add r1, r4, #0x0
bl sub_02058544
add r0, r5, #0x0
bl sub_02059C60
add r0, r5, #0x0
bl MapObject_IncrementMovementStep
pop {r3-r7, pc}
thumb_func_start sub_0205B43C
sub_0205B43C: ; 0x0205B43C
push {r4, lr}
add r4, r0, #0x0
bl sub_02058600
mov r1, #0x2
ldrsh r2, [r0, r1]
sub r2, r2, #0x1
strh r2, [r0, #0x2]
ldrsh r0, [r0, r1]
cmp r0, #0x0
ble _0205B456
mov r0, #0x0
pop {r4, pc}
_0205B456:
add r0, r4, #0x0
mov r1, #0x20
bl MapObject_SetFlagsBits
add r0, r4, #0x0
mov r1, #0x0
bl sub_02058544
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
pop {r4, pc}
thumb_func_start sub_0205B470
sub_0205B470: ; 0x0205B470
push {r3, lr}
mov r1, #0x0
mov r2, #0x20
mov r3, #0x1
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B480
sub_0205B480: ; 0x0205B480
push {r3, lr}
mov r1, #0x1
mov r2, #0x20
add r3, r1, #0x0
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B490
sub_0205B490: ; 0x0205B490
push {r3, lr}
mov r1, #0x2
mov r2, #0x20
mov r3, #0x1
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B4A0
sub_0205B4A0: ; 0x0205B4A0
push {r3, lr}
mov r1, #0x3
mov r2, #0x20
mov r3, #0x1
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B4B0
sub_0205B4B0: ; 0x0205B4B0
push {r3, lr}
mov r1, #0x0
mov r2, #0x10
mov r3, #0x2
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B4C0
sub_0205B4C0: ; 0x0205B4C0
push {r3, lr}
mov r1, #0x1
mov r2, #0x10
mov r3, #0x2
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B4D0
sub_0205B4D0: ; 0x0205B4D0
push {r3, lr}
mov r1, #0x2
mov r2, #0x10
add r3, r1, #0x0
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B4E0
sub_0205B4E0: ; 0x0205B4E0
push {r3, lr}
mov r1, #0x3
mov r2, #0x10
mov r3, #0x2
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B4F0
sub_0205B4F0: ; 0x0205B4F0
push {r3, lr}
mov r1, #0x0
mov r2, #0x8
mov r3, #0x3
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B500
sub_0205B500: ; 0x0205B500
push {r3, lr}
mov r1, #0x1
mov r2, #0x8
mov r3, #0x3
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B510
sub_0205B510: ; 0x0205B510
push {r3, lr}
mov r1, #0x2
mov r2, #0x8
mov r3, #0x3
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B520
sub_0205B520: ; 0x0205B520
push {r3, lr}
mov r1, #0x3
mov r2, #0x8
add r3, r1, #0x0
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B530
sub_0205B530: ; 0x0205B530
push {r3, lr}
mov r2, #0x4
mov r1, #0x0
add r3, r2, #0x0
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B540
sub_0205B540: ; 0x0205B540
push {r3, lr}
mov r2, #0x4
mov r1, #0x1
add r3, r2, #0x0
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B550
sub_0205B550: ; 0x0205B550
push {r3, lr}
mov r2, #0x4
mov r1, #0x2
add r3, r2, #0x0
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B560
sub_0205B560: ; 0x0205B560
push {r3, lr}
mov r2, #0x4
mov r1, #0x3
add r3, r2, #0x0
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B570
sub_0205B570: ; 0x0205B570
push {r3, lr}
mov r1, #0x0
mov r2, #0x2
mov r3, #0x5
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B580
sub_0205B580: ; 0x0205B580
push {r3, lr}
mov r1, #0x1
mov r2, #0x2
mov r3, #0x5
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B590
sub_0205B590: ; 0x0205B590
push {r3, lr}
mov r1, #0x2
add r2, r1, #0x0
mov r3, #0x5
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B5A0
sub_0205B5A0: ; 0x0205B5A0
push {r3, lr}
mov r1, #0x3
mov r2, #0x2
mov r3, #0x5
bl sub_0205B408
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B5B0
sub_0205B5B0: ; 0x0205B5B0
push {r3-r7, lr}
add r4, r1, #0x0
mov r1, #0x10
add r5, r0, #0x0
add r6, r2, #0x0
add r7, r3, #0x0
bl sub_020585DC
strb r4, [r0, #0xc]
str r6, [r0, #0x0]
strb r7, [r0, #0xd]
add r2, sp, #0x8
ldrh r1, [r2, #0x10]
strb r1, [r0, #0xe]
mov r1, #0x14
ldrsh r1, [r2, r1]
cmp r6, #0x0
strb r1, [r0, #0xf]
ldrh r1, [r2, #0x18]
strh r1, [r0, #0x8]
bne _0205B5E2
add r0, r5, #0x0
bl sub_02059C60
b _0205B5EA
_0205B5E2:
add r0, r5, #0x0
add r1, r4, #0x0
bl sub_02059C0C
_0205B5EA:
ldr r1, _0205B614 ; =0x00010004
add r0, r5, #0x0
bl MapObject_SetFlagsBits
add r0, r5, #0x0
add r1, r4, #0x0
bl MapObject_SetOrQueueFacing
add r1, sp, #0x8
ldrh r1, [r1, #0x10]
add r0, r5, #0x0
bl sub_02058544
add r0, r5, #0x0
bl MapObject_IncrementMovementStep
ldr r0, _0205B618 ; =0x0000060B
bl PlaySE
pop {r3-r7, pc}
nop
_0205B614: .word 0x00010004
_0205B618: .word 0x0000060B
thumb_func_start sub_0205B61C
sub_0205B61C: ; 0x0205B61C
push {r3-r5, lr}
sub sp, #0x18
add r5, r0, #0x0
bl sub_02058600
add r4, r0, #0x0
ldr r2, [r4, #0x0]
cmp r2, #0x0
beq _0205B66C
mov r1, #0xc
ldrsb r1, [r4, r1]
add r0, r5, #0x0
bl sub_02059CC8
add r0, r5, #0x0
bl sub_02059D1C
mov r0, #0x1
ldr r1, [r4, #0x4]
lsl r0, r0, #0x10
cmp r1, r0
blt _0205B65E
mov r0, #0x0
str r0, [r4, #0x4]
mov r1, #0xc
ldrsb r1, [r4, r1]
add r0, r5, #0x0
bl sub_02059C0C
add r0, r5, #0x0
mov r1, #0x4
bl MapObject_SetFlagsBits
_0205B65E:
ldr r1, [r4, #0x0]
cmp r1, #0x0
bge _0205B666
neg r1, r1
_0205B666:
ldr r0, [r4, #0x4]
add r0, r0, r1
str r0, [r4, #0x4]
_0205B66C:
ldrh r1, [r4, #0xa]
ldrh r0, [r4, #0x8]
add r0, r1, r0
strh r0, [r4, #0xa]
mov r0, #0xf
ldrh r1, [r4, #0xa]
lsl r0, r0, #0x8
cmp r1, r0
bls _0205B680
strh r0, [r4, #0xa]
_0205B680:
mov r1, #0xf
ldrsb r1, [r4, r1]
ldrh r0, [r4, #0xa]
lsl r2, r1, #0x2
ldr r1, _0205B6F8 ; =UNK_02105F9C
lsr r0, r0, #0x8
lsl r0, r0, #0x10
ldr r2, [r1, r2]
mov r1, #0x0
str r1, [sp, #0xc]
lsr r0, r0, #0xe
ldr r0, [r2, r0]
str r0, [sp, #0x10]
str r1, [sp, #0x14]
add r0, r5, #0x0
add r1, sp, #0xc
bl MapObject_SetFacingVector
mov r0, #0xd
ldrsb r1, [r4, r0]
sub r1, r1, #0x1
strb r1, [r4, #0xd]
ldrsb r0, [r4, r0]
cmp r0, #0x0
ble _0205B6B8
add sp, #0x18
mov r0, #0x0
pop {r3-r5, pc}
_0205B6B8:
add r1, sp, #0x0
mov r0, #0x0
str r0, [r1, #0x0]
str r0, [r1, #0x4]
str r0, [r1, #0x8]
add r0, r5, #0x0
bl MapObject_SetFacingVector
ldr r1, _0205B6FC ; =0x00020028
add r0, r5, #0x0
bl MapObject_SetFlagsBits
add r0, r5, #0x0
bl sub_02059C60
add r0, r5, #0x0
bl sub_020586A0
add r0, r5, #0x0
mov r1, #0x0
bl sub_02058544
add r0, r5, #0x0
bl MapObject_IncrementMovementStep
ldr r0, _0205B700 ; =0x00000647
bl PlaySE
mov r0, #0x1
add sp, #0x18
pop {r3-r5, pc}
nop
_0205B6F8: .word UNK_02105F9C
_0205B6FC: .word 0x00020028
_0205B700: .word 0x00000647
thumb_func_start sub_0205B704
sub_0205B704: ; 0x0205B704
push {lr}
sub sp, #0xc
mov r2, #0x2
str r2, [sp, #0x0]
mov r1, #0x0
str r1, [sp, #0x4]
add r2, #0xfe
str r2, [sp, #0x8]
add r2, r1, #0x0
mov r3, #0x10
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
.balign 4
thumb_func_start sub_0205B724
sub_0205B724: ; 0x0205B724
push {lr}
sub sp, #0xc
mov r1, #0x2
str r1, [sp, #0x0]
mov r2, #0x0
str r2, [sp, #0x4]
add r1, #0xfe
str r1, [sp, #0x8]
mov r1, #0x1
mov r3, #0x10
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
.balign 4
thumb_func_start sub_0205B744
sub_0205B744: ; 0x0205B744
push {lr}
sub sp, #0xc
mov r1, #0x2
add r3, r1, #0x0
str r1, [sp, #0x0]
mov r2, #0x0
str r2, [sp, #0x4]
add r3, #0xfe
str r3, [sp, #0x8]
mov r3, #0x10
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
.balign 4
thumb_func_start sub_0205B764
sub_0205B764: ; 0x0205B764
push {lr}
sub sp, #0xc
mov r1, #0x2
str r1, [sp, #0x0]
mov r2, #0x0
str r2, [sp, #0x4]
add r1, #0xfe
str r1, [sp, #0x8]
mov r1, #0x3
mov r3, #0x10
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
.balign 4
thumb_func_start sub_0205B784
sub_0205B784: ; 0x0205B784
push {lr}
sub sp, #0xc
mov r1, #0x3
str r1, [sp, #0x0]
mov r1, #0x0
mov r2, #0x2
str r1, [sp, #0x4]
lsl r2, r2, #0x8
str r2, [sp, #0x8]
add r2, r1, #0x0
mov r3, #0x8
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
thumb_func_start sub_0205B7A4
sub_0205B7A4: ; 0x0205B7A4
push {lr}
sub sp, #0xc
mov r1, #0x3
str r1, [sp, #0x0]
mov r2, #0x0
mov r1, #0x2
str r2, [sp, #0x4]
lsl r1, r1, #0x8
str r1, [sp, #0x8]
mov r1, #0x1
mov r3, #0x8
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
thumb_func_start sub_0205B7C4
sub_0205B7C4: ; 0x0205B7C4
push {lr}
sub sp, #0xc
mov r1, #0x3
str r1, [sp, #0x0]
mov r2, #0x0
mov r1, #0x2
str r2, [sp, #0x4]
lsl r1, r1, #0x8
str r1, [sp, #0x8]
mov r1, #0x2
mov r3, #0x8
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
thumb_func_start sub_0205B7E4
sub_0205B7E4: ; 0x0205B7E4
push {lr}
sub sp, #0xc
mov r1, #0x3
mov r3, #0x2
str r1, [sp, #0x0]
mov r2, #0x0
str r2, [sp, #0x4]
lsl r3, r3, #0x8
str r3, [sp, #0x8]
mov r3, #0x8
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
.balign 4
thumb_func_start sub_0205B804
sub_0205B804: ; 0x0205B804
push {lr}
sub sp, #0xc
mov r1, #0x3
str r1, [sp, #0x0]
mov r1, #0x0
mov r2, #0x2
str r1, [sp, #0x4]
lsl r2, r2, #0x8
str r2, [sp, #0x8]
lsl r2, r2, #0x4
mov r3, #0x8
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
thumb_func_start sub_0205B824
sub_0205B824: ; 0x0205B824
push {lr}
sub sp, #0xc
mov r1, #0x3
str r1, [sp, #0x0]
mov r1, #0x0
str r1, [sp, #0x4]
mov r1, #0x2
lsl r1, r1, #0x8
str r1, [sp, #0x8]
mov r1, #0x1
lsl r2, r1, #0xd
mov r3, #0x8
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
.balign 4
thumb_func_start sub_0205B848
sub_0205B848: ; 0x0205B848
push {lr}
sub sp, #0xc
mov r1, #0x3
str r1, [sp, #0x0]
mov r1, #0x0
str r1, [sp, #0x4]
mov r1, #0x2
lsl r1, r1, #0x8
str r1, [sp, #0x8]
mov r1, #0x2
lsl r2, r1, #0xc
mov r3, #0x8
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
.balign 4
thumb_func_start sub_0205B86C
sub_0205B86C: ; 0x0205B86C
push {lr}
sub sp, #0xc
mov r1, #0x3
str r1, [sp, #0x0]
mov r2, #0x0
str r2, [sp, #0x4]
mov r2, #0x2
lsl r2, r2, #0x8
str r2, [sp, #0x8]
lsl r2, r2, #0x4
mov r3, #0x8
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
thumb_func_start sub_0205B88C
sub_0205B88C: ; 0x0205B88C
push {lr}
sub sp, #0xc
mov r2, #0x3
str r2, [sp, #0x0]
mov r1, #0x0
str r1, [sp, #0x4]
add r2, #0xfd
str r2, [sp, #0x8]
mov r2, #0x2
lsl r2, r2, #0xc
mov r3, #0x10
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
thumb_func_start sub_0205B8AC
sub_0205B8AC: ; 0x0205B8AC
push {lr}
sub sp, #0xc
mov r2, #0x3
str r2, [sp, #0x0]
mov r1, #0x0
str r1, [sp, #0x4]
add r2, #0xfd
mov r1, #0x1
str r2, [sp, #0x8]
lsl r2, r1, #0xd
mov r3, #0x10
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
thumb_func_start sub_0205B8CC
sub_0205B8CC: ; 0x0205B8CC
push {lr}
sub sp, #0xc
mov r2, #0x3
str r2, [sp, #0x0]
mov r1, #0x0
str r1, [sp, #0x4]
add r2, #0xfd
mov r1, #0x2
str r2, [sp, #0x8]
lsl r2, r1, #0xc
mov r3, #0x10
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
thumb_func_start sub_0205B8EC
sub_0205B8EC: ; 0x0205B8EC
push {lr}
sub sp, #0xc
mov r1, #0x3
str r1, [sp, #0x0]
mov r2, #0x0
str r2, [sp, #0x4]
add r2, r1, #0x0
add r2, #0xfd
str r2, [sp, #0x8]
mov r2, #0x2
lsl r2, r2, #0xc
mov r3, #0x10
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
.balign 4
thumb_func_start sub_0205B910
sub_0205B910: ; 0x0205B910
push {lr}
sub sp, #0xc
mov r1, #0xa
str r1, [sp, #0x0]
mov r1, #0x0
str r1, [sp, #0x4]
mov r1, #0xf0
str r1, [sp, #0x8]
mov r1, #0x2
lsl r2, r1, #0xb
mov r3, #0x10
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
thumb_func_start sub_0205B930
sub_0205B930: ; 0x0205B930
push {lr}
sub sp, #0xc
mov r1, #0xa
str r1, [sp, #0x0]
mov r1, #0x0
str r1, [sp, #0x4]
mov r1, #0xf0
mov r2, #0x1
str r1, [sp, #0x8]
mov r1, #0x3
lsl r2, r2, #0xc
mov r3, #0x10
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
.balign 4
thumb_func_start sub_0205B954
sub_0205B954: ; 0x0205B954
push {lr}
sub sp, #0xc
mov r1, #0xb
str r1, [sp, #0x0]
mov r1, #0x0
str r1, [sp, #0x4]
mov r1, #0x5
lsl r1, r1, #0x6
str r1, [sp, #0x8]
mov r1, #0x2
lsl r2, r1, #0xd
mov r3, #0xc
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
.balign 4
thumb_func_start sub_0205B978
sub_0205B978: ; 0x0205B978
push {lr}
sub sp, #0xc
mov r1, #0xb
str r1, [sp, #0x0]
mov r1, #0x0
str r1, [sp, #0x4]
mov r1, #0x5
lsl r1, r1, #0x6
mov r2, #0x1
str r1, [sp, #0x8]
mov r1, #0x3
lsl r2, r2, #0xe
mov r3, #0xc
bl sub_0205B5B0
mov r0, #0x1
add sp, #0xc
pop {pc}
thumb_func_start sub_0205B99C
sub_0205B99C: ; 0x0205B99C
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
mov r1, #0x4
bl sub_020585DC
str r4, [r0, #0x0]
add r0, r5, #0x0
bl MapObject_IncrementMovementStep
pop {r3-r5, pc}
.balign 4
thumb_func_start sub_0205B9B4
sub_0205B9B4: ; 0x0205B9B4
push {r4, lr}
add r4, r0, #0x0
bl sub_02058600
ldr r1, [r0, #0x0]
cmp r1, #0x0
beq _0205B9CA
sub r1, r1, #0x1
str r1, [r0, #0x0]
mov r0, #0x0
pop {r4, pc}
_0205B9CA:
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
pop {r4, pc}
thumb_func_start sub_0205B9D4
sub_0205B9D4: ; 0x0205B9D4
push {r3, lr}
mov r1, #0x1
bl sub_0205B99C
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B9E0
sub_0205B9E0: ; 0x0205B9E0
push {r3, lr}
mov r1, #0x2
bl sub_0205B99C
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B9EC
sub_0205B9EC: ; 0x0205B9EC
push {r3, lr}
mov r1, #0x4
bl sub_0205B99C
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205B9F8
sub_0205B9F8: ; 0x0205B9F8
push {r3, lr}
mov r1, #0x8
bl sub_0205B99C
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205BA04
sub_0205BA04: ; 0x0205BA04
push {r3, lr}
mov r1, #0xf
bl sub_0205B99C
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205BA10
sub_0205BA10: ; 0x0205BA10
push {r3, lr}
mov r1, #0x10
bl sub_0205B99C
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205BA1C
sub_0205BA1C: ; 0x0205BA1C
push {r3, lr}
mov r1, #0x20
bl sub_0205B99C
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205BA28
sub_0205BA28: ; 0x0205BA28
push {r4, lr}
mov r1, #0x8
add r4, r0, #0x0
bl sub_020585DC
mov r1, #0x1
lsl r1, r1, #0x10
str r1, [r0, #0x4]
add r0, r4, #0x0
mov r1, #0x0
bl sub_02058544
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
pop {r4, pc}
.balign 4
thumb_func_start sub_0205BA4C
sub_0205BA4C: ; 0x0205BA4C
push {r4-r5, lr}
sub sp, #0xc
add r5, r0, #0x0
bl sub_02058600
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, [r4, #0x4]
add r0, r1, r0
str r0, [r4, #0x0]
add r1, sp, #0x0
mov r0, #0x0
str r0, [r1, #0x0]
str r0, [r1, #0x4]
str r0, [r1, #0x8]
ldr r0, [r4, #0x0]
str r0, [sp, #0x4]
add r0, r5, #0x0
bl MapObject_SetFacingVector
ldr r1, [r4, #0x0]
asr r0, r1, #0xe
lsr r0, r0, #0x11
add r0, r1, r0
asr r0, r0, #0xf
cmp r0, #0x28
bge _0205BA88
add sp, #0xc
mov r0, #0x0
pop {r4-r5, pc}
_0205BA88:
add r0, r5, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
add sp, #0xc
pop {r4-r5, pc}
thumb_func_start sub_0205BA94
sub_0205BA94: ; 0x0205BA94
push {r4, lr}
mov r1, #0x8
add r4, r0, #0x0
bl sub_020585DC
mov r1, #0x5
lsl r1, r1, #0x12
str r1, [r0, #0x0]
ldr r1, _0205BABC ; =0xFFFF0000
str r1, [r0, #0x4]
add r0, r4, #0x0
mov r1, #0x0
bl sub_02058544
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
pop {r4, pc}
nop
_0205BABC: .word 0xFFFF0000
thumb_func_start sub_0205BAC0
sub_0205BAC0: ; 0x0205BAC0
push {r4-r5, lr}
sub sp, #0xc
add r5, r0, #0x0
bl sub_02058600
add r4, r0, #0x0
ldr r1, [r4, #0x0]
ldr r0, [r4, #0x4]
add r0, r1, r0
str r0, [r4, #0x0]
bpl _0205BADA
mov r0, #0x0
str r0, [r4, #0x0]
_0205BADA:
add r1, sp, #0x0
mov r0, #0x0
str r0, [r1, #0x0]
str r0, [r1, #0x4]
str r0, [r1, #0x8]
ldr r0, [r4, #0x0]
str r0, [sp, #0x4]
add r0, r5, #0x0
bl MapObject_SetFacingVector
ldr r0, [r4, #0x0]
cmp r0, #0x0
ble _0205BAFA
add sp, #0xc
mov r0, #0x0
pop {r4-r5, pc}
_0205BAFA:
add r0, r5, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
add sp, #0xc
pop {r4-r5, pc}
.balign 4
thumb_func_start sub_0205BB08
sub_0205BB08: ; 0x0205BB08
push {r4, lr}
mov r1, #0x2
add r4, r0, #0x0
lsl r1, r1, #0x8
bl MapObject_SetFlagsBits
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
pop {r4, pc}
.balign 4
thumb_func_start sub_0205BB20
sub_0205BB20: ; 0x0205BB20
push {r4, lr}
mov r1, #0x2
add r4, r0, #0x0
lsl r1, r1, #0x8
bl MapObject_ClearFlagsBits
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
pop {r4, pc}
.balign 4
thumb_func_start sub_0205BB38
sub_0205BB38: ; 0x0205BB38
push {r4, lr}
add r4, r0, #0x0
mov r1, #0x80
bl MapObject_SetFlagsBits
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
pop {r4, pc}
thumb_func_start sub_0205BB4C
sub_0205BB4C: ; 0x0205BB4C
push {r4, lr}
add r4, r0, #0x0
mov r1, #0x80
bl MapObject_ClearFlagsBits
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
pop {r4, pc}
thumb_func_start sub_0205BB60
sub_0205BB60: ; 0x0205BB60
push {r4, lr}
mov r1, #0x1
add r4, r0, #0x0
lsl r1, r1, #0x8
bl MapObject_SetFlagsBits
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
pop {r4, pc}
.balign 4
thumb_func_start sub_0205BB78
sub_0205BB78: ; 0x0205BB78
push {r4, lr}
mov r1, #0x1
add r4, r0, #0x0
lsl r1, r1, #0x8
bl MapObject_ClearFlagsBits
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
pop {r4, pc}
.balign 4
thumb_func_start sub_0205BB90
sub_0205BB90: ; 0x0205BB90
push {r4-r6, lr}
add r6, r1, #0x0
mov r1, #0x8
add r5, r0, #0x0
bl sub_020585DC
add r4, r0, #0x0
str r6, [r4, #0x0]
add r0, r5, #0x0
add r1, r6, #0x0
mov r2, #0x1
bl ov05_021E7AC0
str r0, [r4, #0x4]
add r0, r5, #0x0
bl MapObject_IncrementMovementStep
pop {r4-r6, pc}
thumb_func_start sub_0205BBB4
sub_0205BBB4: ; 0x0205BBB4
push {r3-r5, lr}
add r5, r0, #0x0
bl sub_02058600
add r4, r0, #0x0
ldr r0, [r4, #0x4]
bl ov05_021E799C
cmp r0, #0x1
bne _0205BBD8
ldr r0, [r4, #0x4]
bl sub_02064520
add r0, r5, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
pop {r3-r5, pc}
_0205BBD8:
mov r0, #0x0
pop {r3-r5, pc}
thumb_func_start sub_0205BBDC
sub_0205BBDC: ; 0x0205BBDC
push {r3, lr}
mov r1, #0x0
bl sub_0205BB90
mov r0, #0x0
pop {r3, pc}
thumb_func_start sub_0205BBE8
sub_0205BBE8: ; 0x0205BBE8
push {r3, lr}
mov r1, #0x1
bl sub_0205BB90
mov r0, #0x0
pop {r3, pc}
thumb_func_start sub_0205BBF4
sub_0205BBF4: ; 0x0205BBF4
push {r3-r7, lr}
add r4, r1, #0x0
mov r1, #0x8
add r5, r0, #0x0
add r7, r2, #0x0
add r6, r3, #0x0
bl sub_020585DC
strh r4, [r0, #0x0]
strh r6, [r0, #0x2]
strh r7, [r0, #0x4]
add r0, r5, #0x0
add r1, r4, #0x0
bl sub_02059C0C
add r0, r5, #0x0
add r1, r4, #0x0
bl MapObject_SetOrQueueFacing
add r0, r5, #0x0
add r1, r6, #0x0
bl sub_02058544
add r0, r5, #0x0
mov r1, #0x4
bl MapObject_SetFlagsBits
add r0, r5, #0x0
bl MapObject_IncrementMovementStep
pop {r3-r7, pc}
.balign 4
thumb_func_start sub_0205BC34
sub_0205BC34: ; 0x0205BC34
push {r4-r6, lr}
add r5, r0, #0x0
add r6, r1, #0x0
bl sub_02058600
add r4, r0, #0x0
mov r2, #0x6
ldrsh r2, [r4, r2]
mov r1, #0x0
ldrsh r1, [r4, r1]
lsl r2, r2, #0x2
ldr r2, [r6, r2]
add r0, r5, #0x0
bl sub_02059CC8
add r0, r5, #0x0
bl sub_02059D1C
mov r0, #0x6
ldrsh r1, [r4, r0]
add r1, r1, #0x1
strh r1, [r4, #0x6]
ldrsh r1, [r4, r0]
mov r0, #0x4
ldrsh r0, [r4, r0]
cmp r1, r0
bge _0205BC6E
mov r0, #0x0
pop {r4-r6, pc}
_0205BC6E:
add r0, r5, #0x0
mov r1, #0x28
bl MapObject_SetFlagsBits
add r0, r5, #0x0
bl sub_02059C60
add r0, r5, #0x0
bl sub_020586A0
add r0, r5, #0x0
mov r1, #0x0
bl sub_02058544
add r0, r5, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
pop {r4-r6, pc}
thumb_func_start sub_0205BC94
sub_0205BC94: ; 0x0205BC94
push {r3, lr}
mov r2, #0x6
mov r1, #0x0
add r3, r2, #0x0
bl sub_0205BBF4
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205BCA4
sub_0205BCA4: ; 0x0205BCA4
push {r3, lr}
mov r2, #0x6
mov r1, #0x1
add r3, r2, #0x0
bl sub_0205BBF4
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205BCB4
sub_0205BCB4: ; 0x0205BCB4
push {r3, lr}
mov r2, #0x6
mov r1, #0x2
add r3, r2, #0x0
bl sub_0205BBF4
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205BCC4
sub_0205BCC4: ; 0x0205BCC4
push {r3, lr}
mov r2, #0x6
mov r1, #0x3
add r3, r2, #0x0
bl sub_0205BBF4
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205BCD4
sub_0205BCD4: ; 0x0205BCD4
push {r3, lr}
ldr r1, _0205BCE8 ; =UNK_020F6C6C
bl sub_0205BC34
cmp r0, #0x1
bne _0205BCE4
mov r0, #0x1
pop {r3, pc}
_0205BCE4:
mov r0, #0x0
pop {r3, pc}
.balign 4
_0205BCE8: .word UNK_020F6C6C
thumb_func_start sub_0205BCEC
sub_0205BCEC: ; 0x0205BCEC
push {r3, lr}
mov r1, #0x0
mov r2, #0x3
mov r3, #0x7
bl sub_0205BBF4
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205BCFC
sub_0205BCFC: ; 0x0205BCFC
push {r3, lr}
mov r1, #0x1
mov r2, #0x3
mov r3, #0x7
bl sub_0205BBF4
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205BD0C
sub_0205BD0C: ; 0x0205BD0C
push {r3, lr}
mov r1, #0x2
mov r2, #0x3
mov r3, #0x7
bl sub_0205BBF4
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205BD1C
sub_0205BD1C: ; 0x0205BD1C
push {r3, lr}
mov r1, #0x3
add r2, r1, #0x0
mov r3, #0x7
bl sub_0205BBF4
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205BD2C
sub_0205BD2C: ; 0x0205BD2C
push {r3, lr}
ldr r1, _0205BD40 ; =UNK_020F6C48
bl sub_0205BC34
cmp r0, #0x1
bne _0205BD3C
mov r0, #0x1
pop {r3, pc}
_0205BD3C:
mov r0, #0x0
pop {r3, pc}
.balign 4
_0205BD40: .word UNK_020F6C48
thumb_func_start sub_0205BD44
sub_0205BD44: ; 0x0205BD44
push {r3, lr}
mov r1, #0x0
mov r2, #0x7
mov r3, #0x8
bl sub_0205BBF4
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205BD54
sub_0205BD54: ; 0x0205BD54
push {r3, lr}
mov r1, #0x1
mov r2, #0x7
mov r3, #0x8
bl sub_0205BBF4
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205BD64
sub_0205BD64: ; 0x0205BD64
push {r3, lr}
mov r1, #0x2
mov r2, #0x7
mov r3, #0x8
bl sub_0205BBF4
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205BD74
sub_0205BD74: ; 0x0205BD74
push {r3, lr}
mov r1, #0x3
mov r2, #0x7
mov r3, #0x8
bl sub_0205BBF4
mov r0, #0x1
pop {r3, pc}
thumb_func_start sub_0205BD84
sub_0205BD84: ; 0x0205BD84
push {r3, lr}
ldr r1, _0205BD98 ; =UNK_020F6C84
bl sub_0205BC34
cmp r0, #0x1
bne _0205BD94
mov r0, #0x1
pop {r3, pc}
_0205BD94:
mov r0, #0x0
pop {r3, pc}
.balign 4
_0205BD98: .word UNK_020F6C84
thumb_func_start sub_0205BD9C
sub_0205BD9C: ; 0x0205BD9C
push {r4, lr}
add r4, r0, #0x0
mov r1, #0x4
bl sub_020585DC
add r0, r4, #0x0
mov r1, #0x9
bl sub_02058544
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x0
pop {r4, pc}
thumb_func_start sub_0205BDB8
sub_0205BDB8: ; 0x0205BDB8
push {r4, lr}
add r4, r0, #0x0
bl sub_02058600
ldr r1, [r0, #0x0]
add r1, r1, #0x1
str r1, [r0, #0x0]
cmp r1, #0x8
blt _0205BDE0
add r0, r4, #0x0
mov r1, #0x1
bl MapObject_SetFacingDirection
add r0, r4, #0x0
mov r1, #0x0
bl sub_02058544
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
_0205BDE0:
mov r0, #0x0
pop {r4, pc}
thumb_func_start sub_0205BDE4
sub_0205BDE4: ; 0x0205BDE4
push {r3-r4, lr}
sub sp, #0xc
add r4, r0, #0x0
mov r1, #0x4
bl sub_020585DC
add r0, r4, #0x0
bl sub_0205EB20
cmp r0, #0x0
beq _0205BDFE
bl sub_02064520
_0205BDFE:
add r1, sp, #0x0
mov r0, #0x0
str r0, [r1, #0x0]
str r0, [r1, #0x4]
str r0, [r1, #0x8]
add r0, r4, #0x0
bl MapObject_SetFacingVector
add r0, r4, #0x0
bl ov06_0224D2E0
ldr r1, _0205BE34 ; =0x00010004
add r0, r4, #0x0
bl MapObject_SetFlagsBits
mov r1, #0x1
add r0, r4, #0x0
lsl r1, r1, #0x14
bl MapObject_ClearFlagsBits
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x0
add sp, #0xc
pop {r3-r4, pc}
nop
_0205BE34: .word 0x00010004
thumb_func_start sub_0205BE38
sub_0205BE38: ; 0x0205BE38
push {r4-r5, lr}
sub sp, #0xc
add r5, r0, #0x0
bl sub_02058600
add r4, r0, #0x0
ldr r0, _0205BE98 ; =UNK_02105F9C
add r1, sp, #0x0
ldr r2, [r0, #0x0]
mov r0, #0x0
str r0, [r1, #0x0]
str r0, [r1, #0x4]
str r0, [r1, #0x8]
ldr r0, [r4, #0x0]
lsl r0, r0, #0x2
ldr r0, [r2, r0]
str r0, [sp, #0x4]
add r0, r5, #0x0
bl MapObject_SetFacingVector
ldr r0, [r4, #0x0]
add r0, r0, #0x2
str r0, [r4, #0x0]
cmp r0, #0x10
bhs _0205BE70
add sp, #0xc
mov r0, #0x0
pop {r4-r5, pc}
_0205BE70:
mov r0, #0x0
str r0, [sp, #0x4]
add r0, r5, #0x0
add r1, sp, #0x0
bl MapObject_SetFacingVector
ldr r1, _0205BE9C ; =0x00020028
add r0, r5, #0x0
bl MapObject_SetFlagsBits
add r0, r5, #0x0
bl sub_0205EB2C
add r0, r5, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
add sp, #0xc
pop {r4-r5, pc}
nop
_0205BE98: .word UNK_02105F9C
_0205BE9C: .word 0x00020028
thumb_func_start sub_0205BEA0
sub_0205BEA0: ; 0x0205BEA0
push {r4, lr}
add r4, r0, #0x0
mov r1, #0x4
bl sub_020585DC
add r0, r4, #0x0
mov r1, #0x0
bl sub_02058544
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x0
pop {r4, pc}
thumb_func_start sub_0205BEBC
sub_0205BEBC: ; 0x0205BEBC
push {r4, lr}
add r4, r0, #0x0
mov r1, #0x4
bl sub_020585DC
add r0, r4, #0x0
mov r1, #0x1
bl sub_02058544
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x0
pop {r4, pc}
thumb_func_start sub_0205BED8
sub_0205BED8: ; 0x0205BED8
push {r4, lr}
add r4, r0, #0x0
bl sub_02058600
ldr r1, [r0, #0x0]
add r1, r1, #0x1
str r1, [r0, #0x0]
cmp r1, #0x15
bhs _0205BEEE
mov r0, #0x0
pop {r4, pc}
_0205BEEE:
add r0, r4, #0x0
bl MapObject_IncrementMovementStep
mov r0, #0x1
pop {r4, pc}