	.include "asm/macros.inc"
	.include "constants/constants.inc"

	.syntax unified

	.text

	thumb_func_start s00_nop
s00_nop: @ 80992CC
	movs r0, 0
	bx lr
	thumb_func_end s00_nop

	thumb_func_start s01_nop
s01_nop: @ 80992D0
	movs r0, 0
	bx lr
	thumb_func_end s01_nop

	thumb_func_start s02_end
s02_end: @ 80992D4
	push {lr}
	bl StopScript
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s02_end

	thumb_func_start s24_execute_ASM_2
s24_execute_ASM_2: @ 80992E0
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadWord
	adds r1, r0, 0
	adds r0, r4, 0
	bl SetupNativeScript
	movs r0, 0x1
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s24_execute_ASM_2

	thumb_func_start s25_extended_cmd
s25_extended_cmd: @ 80992F8
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	ldr r1, =gUnknown_081DBA64
	lsrs r0, 14
	adds r0, r1
	ldr r0, [r0]
	bl _call_via_r0
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end s25_extended_cmd

	thumb_func_start s26_extended_cmd_setvar
s26_extended_cmd_setvar: @ 8099318
	push {r4-r6,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl GetVarPointer
	adds r6, r0, 0
	ldr r4, =gUnknown_081DBA64
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 14
	adds r0, r4
	ldr r0, [r0]
	bl _call_via_r0
	strh r0, [r6]
	movs r0, 0
	pop {r4-r6}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s26_extended_cmd_setvar

	thumb_func_start s23_execute_ASM
s23_execute_ASM: @ 809934C
	push {lr}
	bl ScriptReadWord
	bl _call_via_r0
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s23_execute_ASM

	thumb_func_start s27_set_to_waitstate
s27_set_to_waitstate: @ 809935C
	push {lr}
	bl ScriptContext1_Stop
	movs r0, 0x1
	pop {r1}
	bx r1
	thumb_func_end s27_set_to_waitstate

	thumb_func_start s05_goto
s05_goto: @ 8099368
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadWord
	adds r1, r0, 0
	adds r0, r4, 0
	bl ScriptJump
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s05_goto

	thumb_func_start s03_return
s03_return: @ 8099380
	push {lr}
	bl ScriptReturn
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s03_return

	thumb_func_start s04_call
s04_call: @ 809938C
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadWord
	adds r1, r0, 0
	adds r0, r4, 0
	bl ScriptCall
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s04_call

	thumb_func_start s06_if_jump
@ int s06_if_jump(script_env *env)
s06_if_jump: @ 80993A4
	push {r4,r5,lr}
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r4, [r0]
	adds r0, 0x1
	str r0, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadWord
	adds r2, r0, 0
	ldr r1, =gUnknown_085102C0
	lsls r0, r4, 1
	adds r0, r4
	ldrb r3, [r5, 0x2]
	adds r0, r3
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0x1
	bne _080993D2
	adds r0, r5, 0
	adds r1, r2, 0
	bl ScriptJump
_080993D2:
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s06_if_jump

	thumb_func_start s07_if_call
s07_if_call: @ 80993E0
	push {r4,r5,lr}
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r4, [r0]
	adds r0, 0x1
	str r0, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadWord
	adds r2, r0, 0
	ldr r1, =gUnknown_085102C0
	lsls r0, r4, 1
	adds r0, r4
	ldrb r3, [r5, 0x2]
	adds r0, r3
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0x1
	bne _0809940E
	adds r0, r5, 0
	adds r1, r2, 0
	bl ScriptCall
_0809940E:
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s07_if_call

	thumb_func_start sB8_set_virtual_address
@ int sB8_set_virtual_address(script_env *env)
sB8_set_virtual_address: @ 809941C
	push {r4,lr}
	ldr r4, [r0, 0x8]
	subs r4, 0x1
	bl ScriptReadWord
	ldr r1, =gUnknown_020375C4
	subs r0, r4
	str r0, [r1]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sB8_set_virtual_address

	thumb_func_start sB9_virtual_jump
@ int sB9_virtual_jump(script_env *env)
sB9_virtual_jump: @ 8099438
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadWord
	adds r1, r0, 0
	ldr r0, =gUnknown_020375C4
	ldr r0, [r0]
	subs r1, r0
	adds r0, r4, 0
	bl ScriptJump
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sB9_virtual_jump

	thumb_func_start sBA_virtual_call
sBA_virtual_call: @ 809945C
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadWord
	adds r1, r0, 0
	ldr r0, =gUnknown_020375C4
	ldr r0, [r0]
	subs r1, r0
	adds r0, r4, 0
	bl ScriptCall
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sBA_virtual_call

	thumb_func_start sBB_virtual_if_jump
sBB_virtual_if_jump: @ 8099480
	push {r4,r5,lr}
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r4, [r0]
	adds r0, 0x1
	str r0, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadWord
	ldr r1, =gUnknown_020375C4
	ldr r1, [r1]
	subs r2, r0, r1
	ldr r1, =gUnknown_085102C0
	lsls r0, r4, 1
	adds r0, r4
	ldrb r3, [r5, 0x2]
	adds r0, r3
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0x1
	bne _080994B2
	adds r0, r5, 0
	adds r1, r2, 0
	bl ScriptJump
_080994B2:
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sBB_virtual_if_jump

	thumb_func_start sBC_virtual_if_call
sBC_virtual_if_call: @ 80994C4
	push {r4,r5,lr}
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r4, [r0]
	adds r0, 0x1
	str r0, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadWord
	ldr r1, =gUnknown_020375C4
	ldr r1, [r1]
	subs r2, r0, r1
	ldr r1, =gUnknown_085102C0
	lsls r0, r4, 1
	adds r0, r4
	ldrb r3, [r5, 0x2]
	adds r0, r3
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0x1
	bne _080994F6
	adds r0, r5, 0
	adds r1, r2, 0
	bl ScriptCall
_080994F6:
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sBC_virtual_if_call

	thumb_func_start s08_jumpstd
s08_jumpstd: @ 8099508
	push {lr}
	adds r2, r0, 0
	ldr r0, [r2, 0x8]
	ldrb r1, [r0]
	adds r0, 0x1
	str r0, [r2, 0x8]
	lsls r1, 2
	ldr r0, =gUnknown_081DC2A0
	adds r1, r0
	ldr r0, =gUnknown_081DC2CC
	cmp r1, r0
	bcs _08099528
	ldr r1, [r1]
	adds r0, r2, 0
	bl ScriptJump
_08099528:
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end s08_jumpstd

	thumb_func_start s09_callstd
s09_callstd: @ 8099538
	push {lr}
	adds r2, r0, 0
	ldr r0, [r2, 0x8]
	ldrb r1, [r0]
	adds r0, 0x1
	str r0, [r2, 0x8]
	lsls r1, 2
	ldr r0, =gUnknown_081DC2A0
	adds r1, r0
	ldr r0, =gUnknown_081DC2CC
	cmp r1, r0
	bcs _08099558
	ldr r1, [r1]
	adds r0, r2, 0
	bl ScriptCall
_08099558:
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end s09_callstd

	thumb_func_start s0A_jumpstd_if
s0A_jumpstd_if: @ 8099568
	push {r4,lr}
	adds r3, r0, 0
	ldr r0, [r3, 0x8]
	ldrb r2, [r0]
	adds r0, 0x1
	str r0, [r3, 0x8]
	ldrb r4, [r0]
	adds r0, 0x1
	str r0, [r3, 0x8]
	ldr r1, =gUnknown_085102C0
	lsls r0, r2, 1
	adds r0, r2
	ldrb r2, [r3, 0x2]
	adds r0, r2
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0x1
	bne _080995A0
	lsls r0, r4, 2
	ldr r1, =gUnknown_081DC2A0
	adds r1, r0, r1
	ldr r0, =gUnknown_081DC2CC
	cmp r1, r0
	bcs _080995A0
	ldr r1, [r1]
	adds r0, r3, 0
	bl ScriptJump
_080995A0:
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s0A_jumpstd_if

	thumb_func_start s0B_callstd_if
s0B_callstd_if: @ 80995B4
	push {r4,lr}
	adds r3, r0, 0
	ldr r0, [r3, 0x8]
	ldrb r2, [r0]
	adds r0, 0x1
	str r0, [r3, 0x8]
	ldrb r4, [r0]
	adds r0, 0x1
	str r0, [r3, 0x8]
	ldr r1, =gUnknown_085102C0
	lsls r0, r2, 1
	adds r0, r2
	ldrb r2, [r3, 0x2]
	adds r0, r2
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0x1
	bne _080995EC
	lsls r0, r4, 2
	ldr r1, =gUnknown_081DC2A0
	adds r1, r0, r1
	ldr r0, =gUnknown_081DC2CC
	cmp r1, r0
	bcs _080995EC
	ldr r1, [r1]
	adds r0, r3, 0
	bl ScriptCall
_080995EC:
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s0B_callstd_if

	thumb_func_start s0C_restore_execution_after_sCF
s0C_restore_execution_after_sCF: @ 8099600
	push {lr}
	ldr r1, =gUnknown_020375C0
	ldr r1, [r1]
	bl ScriptJump
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end s0C_restore_execution_after_sCF

	thumb_func_start s0D_endscript_killram
s0D_endscript_killram: @ 8099614
	push {r4,lr}
	adds r4, r0, 0
	bl ClearRamScript
	adds r0, r4, 0
	bl StopScript
	movs r0, 0x1
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s0D_endscript_killram

	thumb_func_start s0E_set_byte
s0E_set_byte: @ 809962C
	push {lr}
	ldr r1, [r0, 0x8]
	ldrb r2, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	adds r0, r2, 0
	bl sub_81538C4
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s0E_set_byte

	thumb_func_start s0F_u32_var_to_const
@ int s0F_u32_var_to_const(script_env *env)
s0F_u32_var_to_const: @ 8099644
	push {r4,r5,lr}
	adds r4, r0, 0
	ldr r0, [r4, 0x8]
	ldrb r5, [r0]
	adds r0, 0x1
	str r0, [r4, 0x8]
	adds r0, r4, 0
	bl ScriptReadWord
	lsls r5, 2
	adds r4, 0x64
	adds r4, r5
	str r0, [r4]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end s0F_u32_var_to_const

	thumb_func_start s12_u32_var_to_ptr
@ int s12_u32_var_to_ptr(script_env *env)
s12_u32_var_to_ptr: @ 8099668
	push {r4,r5,lr}
	adds r4, r0, 0
	ldr r0, [r4, 0x8]
	ldrb r5, [r0]
	adds r0, 0x1
	str r0, [r4, 0x8]
	adds r0, r4, 0
	bl ScriptReadWord
	lsls r5, 2
	adds r4, 0x64
	adds r4, r5
	ldrb r0, [r0]
	str r0, [r4]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end s12_u32_var_to_ptr

	thumb_func_start s11_u8_ptr_to_const
@ int s11_u8_ptr_to_const(script_env *env)
s11_u8_ptr_to_const: @ 809968C
	push {r4,lr}
	ldr r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl ScriptReadWord
	strb r4, [r0]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s11_u8_ptr_to_const

	thumb_func_start s10_u8_var_to_const
@ int s10_u8_var_to_const(script_env *env)
s10_u8_var_to_const: @ 80996A4
	ldr r1, [r0, 0x8]
	ldrb r3, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	lsls r3, 2
	adds r2, r0, 0
	adds r2, 0x64
	adds r2, r3
	ldrb r3, [r1]
	str r3, [r2]
	adds r1, 0x1
	str r1, [r0, 0x8]
	movs r0, 0
	bx lr
	thumb_func_end s10_u8_var_to_const

	thumb_func_start s13_u8_var_to_ptr
@ int s13_u8_var_to_ptr(script_env *env)
s13_u8_var_to_ptr: @ 80996C0
	push {r4,r5,lr}
	adds r4, r0, 0
	ldr r0, [r4, 0x8]
	ldrb r5, [r0]
	adds r0, 0x1
	str r0, [r4, 0x8]
	adds r0, r4, 0
	bl ScriptReadWord
	lsls r5, 2
	adds r4, 0x64
	adds r4, r5
	ldr r1, [r4]
	strb r1, [r0]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end s13_u8_var_to_ptr

	thumb_func_start s14_u32_var_to_var
s14_u32_var_to_var: @ 80996E4
	ldr r1, [r0, 0x8]
	ldrb r3, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	ldrb r2, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	lsls r3, 2
	adds r0, 0x64
	adds r3, r0, r3
	lsls r2, 2
	adds r0, r2
	ldr r0, [r0]
	str r0, [r3]
	movs r0, 0
	bx lr
	thumb_func_end s14_u32_var_to_var

	thumb_func_start s15_u8_ptr_to_ptr
s15_u8_ptr_to_ptr: @ 8099704
	push {r4,r5,lr}
	adds r4, r0, 0
	bl ScriptReadWord
	adds r5, r0, 0
	adds r0, r4, 0
	bl ScriptReadWord
	ldrb r0, [r0]
	strb r0, [r5]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end s15_u8_ptr_to_ptr

	thumb_func_start s16_u16_gvar_to_const
s16_u16_gvar_to_const: @ 8099720
	push {r4,r5,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl GetVarPointer
	adds r4, r0, 0
	adds r0, r5, 0
	bl ScriptReadHalfword
	strh r0, [r4]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end s16_u16_gvar_to_const

	thumb_func_start s19_u16_gvar_gvar
s19_u16_gvar_gvar: @ 8099744
	push {r4,r5,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl GetVarPointer
	adds r5, r0, 0
	adds r0, r4, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl GetVarPointer
	ldrh r0, [r0]
	strh r0, [r5]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end s19_u16_gvar_gvar

	thumb_func_start s1A_u16_gvar_gvar
s1A_u16_gvar_gvar: @ 8099770
	push {r4,r5,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl GetVarPointer
	adds r5, r0, 0
	adds r0, r4, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	strh r0, [r5]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end s1A_u16_gvar_gvar

	thumb_func_start compare_012
compare_012: @ 809979C
	push {lr}
	lsls r0, 16
	lsrs r0, 16
	lsls r1, 16
	lsrs r1, 16
	cmp r0, r1
	bcs _080997AE
	movs r0, 0
	b _080997B8
_080997AE:
	cmp r0, r1
	beq _080997B6
	movs r0, 0x2
	b _080997B8
_080997B6:
	movs r0, 0x1
_080997B8:
	pop {r1}
	bx r1
	thumb_func_end compare_012

	thumb_func_start s1B_cmp_u8_var_var
s1B_cmp_u8_var_var: @ 80997BC
	push {r4,lr}
	adds r4, r0, 0
	ldr r2, [r4, 0x8]
	ldrb r0, [r2]
	lsls r0, 2
	adds r3, r4, 0
	adds r3, 0x64
	adds r0, r3, r0
	ldrb r0, [r0]
	adds r2, 0x1
	str r2, [r4, 0x8]
	ldrb r1, [r2]
	lsls r1, 2
	adds r3, r1
	ldrb r1, [r3]
	adds r2, 0x1
	str r2, [r4, 0x8]
	bl compare_012
	strb r0, [r4, 0x2]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s1B_cmp_u8_var_var

	thumb_func_start s1C_cmp_u8_var_const
s1C_cmp_u8_var_const: @ 80997EC
	push {r4,lr}
	adds r4, r0, 0
	ldr r2, [r4, 0x8]
	ldrb r1, [r2]
	lsls r1, 2
	adds r0, 0x64
	adds r0, r1
	ldrb r0, [r0]
	adds r2, 0x1
	str r2, [r4, 0x8]
	ldrb r1, [r2]
	adds r2, 0x1
	str r2, [r4, 0x8]
	bl compare_012
	strb r0, [r4, 0x2]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s1C_cmp_u8_var_const

	thumb_func_start s1D_cmp_u8_var_ptr
s1D_cmp_u8_var_ptr: @ 8099814
	push {r4,r5,lr}
	adds r4, r0, 0
	ldr r2, [r4, 0x8]
	ldrb r1, [r2]
	lsls r1, 2
	adds r0, 0x64
	adds r0, r1
	ldrb r5, [r0]
	adds r2, 0x1
	str r2, [r4, 0x8]
	adds r0, r4, 0
	bl ScriptReadWord
	ldrb r1, [r0]
	adds r0, r5, 0
	bl compare_012
	strb r0, [r4, 0x2]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end s1D_cmp_u8_var_ptr

	thumb_func_start s1E_cmp_u8_ptr_var
s1E_cmp_u8_ptr_var: @ 8099840
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadWord
	ldrb r0, [r0]
	ldr r3, [r4, 0x8]
	ldrb r2, [r3]
	lsls r2, 2
	adds r1, r4, 0
	adds r1, 0x64
	adds r1, r2
	ldrb r1, [r1]
	adds r3, 0x1
	str r3, [r4, 0x8]
	bl compare_012
	strb r0, [r4, 0x2]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s1E_cmp_u8_ptr_var

	thumb_func_start s1F_cmp_u8_ptr_const
s1F_cmp_u8_ptr_const: @ 809986C
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadWord
	ldrb r0, [r0]
	ldr r2, [r4, 0x8]
	ldrb r1, [r2]
	adds r2, 0x1
	str r2, [r4, 0x8]
	bl compare_012
	strb r0, [r4, 0x2]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s1F_cmp_u8_ptr_const

	thumb_func_start s20_cmp_u8_ptr_ptr
s20_cmp_u8_ptr_ptr: @ 809988C
	push {r4,r5,lr}
	adds r4, r0, 0
	bl ScriptReadWord
	ldrb r5, [r0]
	adds r0, r4, 0
	bl ScriptReadWord
	ldrb r1, [r0]
	adds r0, r5, 0
	bl compare_012
	strb r0, [r4, 0x2]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end s20_cmp_u8_ptr_ptr

	thumb_func_start s21_cmp_u16_gvar_const
s21_cmp_u16_gvar_const: @ 80998B0
	push {r4,r5,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl GetVarPointer
	ldrh r5, [r0]
	adds r0, r4, 0
	bl ScriptReadHalfword
	adds r1, r0, 0
	lsls r1, 16
	lsrs r1, 16
	adds r0, r5, 0
	bl compare_012
	strb r0, [r4, 0x2]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end s21_cmp_u16_gvar_const

	thumb_func_start s22_cmp_u16_gvar_gvar
s22_cmp_u16_gvar_gvar: @ 80998E0
	push {r4,r5,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl GetVarPointer
	adds r5, r0, 0
	adds r0, r4, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl GetVarPointer
	ldrh r2, [r5]
	ldrh r1, [r0]
	adds r0, r2, 0
	bl compare_012
	strb r0, [r4, 0x2]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end s22_cmp_u16_gvar_gvar

	thumb_func_start s17_u16_gvar_add_const
s17_u16_gvar_add_const: @ 8099914
	push {r4,r5,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl GetVarPointer
	adds r4, r0, 0
	adds r0, r5, 0
	bl ScriptReadHalfword
	ldrh r1, [r4]
	adds r0, r1
	strh r0, [r4]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end s17_u16_gvar_add_const

	thumb_func_start sub_809993C
sub_809993C: @ 809993C
	push {r4,r5,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl GetVarPointer
	adds r5, r0, 0
	adds r0, r4, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldrh r1, [r5]
	subs r1, r0
	strh r1, [r5]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end sub_809993C

	thumb_func_start s8F_get_random_val
s8F_get_random_val: @ 809996C
	push {r4,r5,lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	ldr r5, =gScriptResult
	bl Random
	lsls r0, 16
	lsrs r0, 16
	adds r1, r4, 0
	bl __umodsi3
	strh r0, [r5]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s8F_get_random_val

	thumb_func_start sub_80999A0
sub_80999A0: @ 80999A0
	push {r4,r5,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r1, r0, 0
	ldr r5, =gScriptResult
	lsls r1, 24
	lsrs r1, 24
	adds r0, r4, 0
	bl AddBagItem
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r5]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_80999A0

	thumb_func_start sub_80999E4
sub_80999E4: @ 80999E4
	push {r4,r5,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r1, r0, 0
	ldr r5, =gScriptResult
	lsls r1, 24
	lsrs r1, 24
	adds r0, r4, 0
	bl RemoveBagItem
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r5]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_80999E4

	thumb_func_start sub_8099A28
sub_8099A28: @ 8099A28
	push {r4,r5,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r1, r0, 0
	ldr r5, =gScriptResult
	lsls r1, 24
	lsrs r1, 24
	adds r0, r4, 0
	bl CheckBagHasSpace
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r5]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8099A28

	thumb_func_start sub_8099A6C
sub_8099A6C: @ 8099A6C
	push {r4,r5,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r1, r0, 0
	ldr r5, =gScriptResult
	lsls r1, 24
	lsrs r1, 24
	adds r0, r4, 0
	bl CheckBagHasItem
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r5]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8099A6C

	thumb_func_start s48_get_item_type
s48_get_item_type: @ 8099AB0
	push {r4,lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	ldr r4, =gScriptResult
	bl GetPocketByItemId
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r4]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s48_get_item_type

	thumb_func_start sub_8099ADC
sub_8099ADC: @ 8099ADC
	push {r4,r5,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r1, r0, 0
	lsls r1, 16
	lsrs r1, 16
	ldr r5, =gScriptResult
	adds r0, r4, 0
	bl sub_80D6D70
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r5]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8099ADC

	thumb_func_start sub_8099B20
sub_8099B20: @ 8099B20
	push {r4,r5,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r1, r0, 0
	lsls r1, 16
	lsrs r1, 16
	ldr r5, =gScriptResult
	adds r0, r4, 0
	bl sub_80D6D1C
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r5]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8099B20

	thumb_func_start sub_8099B64
sub_8099B64: @ 8099B64
	push {r4,lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldr r4, =gScriptResult
	lsls r0, 24
	lsrs r0, 24
	bl DecorationAdd
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r4]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8099B64

	thumb_func_start sub_8099B90
sub_8099B90: @ 8099B90
	push {r4,lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldr r4, =gScriptResult
	lsls r0, 24
	lsrs r0, 24
	bl DecorationRemove
	lsls r0, 24
	asrs r0, 24
	strh r0, [r4]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8099B90

	thumb_func_start sub_8099BBC
sub_8099BBC: @ 8099BBC
	push {r4,lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldr r4, =gScriptResult
	lsls r0, 24
	lsrs r0, 24
	bl DecorationCheckSpace
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r4]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8099BBC

	thumb_func_start sub_8099BE8
sub_8099BE8: @ 8099BE8
	push {r4,lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldr r4, =gScriptResult
	lsls r0, 24
	lsrs r0, 24
	bl sub_8161918
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r4]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8099BE8

	thumb_func_start s29_flag_set
@ int s29_flag_set(script_env *env)
s29_flag_set: @ 8099C14
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl FlagSet
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s29_flag_set

	thumb_func_start s2A_flag_clear
@ int s2A_flag_clear(script_env *env)
s2A_flag_clear: @ 8099C28
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl FlagReset
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s2A_flag_clear

	thumb_func_start s2B_flag_check
@ int s2B_flag_check(script_env *env)
s2B_flag_check: @ 8099C3C
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl FlagGet
	strb r0, [r4, 0x2]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s2B_flag_check

	thumb_func_start sC3_unknown
@ int sC3_unknown(script_env *env)
sC3_unknown: @ 8099C58
	push {lr}
	ldr r1, [r0, 0x8]
	ldrb r2, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	adds r0, r2, 0
	bl IncrementGameStat
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end sC3_unknown

	thumb_func_start s9A_unknown
@ int s9A_unknown(script_env *env)
s9A_unknown: @ 8099C70
	push {lr}
	ldr r1, [r0, 0x8]
	ldrb r2, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	adds r0, r2, 0
	bl sub_80B009C
	bl ScriptContext1_Stop
	movs r0, 0x1
	pop {r1}
	bx r1
	thumb_func_end s9A_unknown

	thumb_func_start s99_unknown
@ int s99_unknown(script_env *env)
s99_unknown: @ 8099C8C
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	bl sub_80854EC
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s99_unknown

	thumb_func_start sub_8099CA8
sub_8099CA8: @ 8099CA8
	push {lr}
	ldr r0, =gPaletteFade
	ldrb r1, [r0, 0x7]
	movs r0, 0x80
	ands r0, r1
	cmp r0, 0
	beq _08099CC0
	movs r0, 0
	b _08099CC2
	.pool
_08099CC0:
	movs r0, 0x1
_08099CC2:
	pop {r1}
	bx r1
	thumb_func_end sub_8099CA8

	thumb_func_start s97_screen_special_effect
@ int s97_screen_special_effect(script_env *env)
s97_screen_special_effect: @ 8099CC8
	push {r4,lr}
	adds r4, r0, 0
	ldr r1, [r4, 0x8]
	ldrb r0, [r1]
	adds r1, 0x1
	str r1, [r4, 0x8]
	movs r1, 0
	bl fade_screen
	ldr r1, =sub_8099CA8
	adds r0, r4, 0
	bl SetupNativeScript
	movs r0, 0x1
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s97_screen_special_effect

	thumb_func_start s98_refade_with_timer
@ int s98_refade_with_timer(script_env *env)
s98_refade_with_timer: @ 8099CF0
	push {r4,lr}
	adds r4, r0, 0
	ldr r2, [r4, 0x8]
	ldrb r0, [r2]
	adds r2, 0x1
	str r2, [r4, 0x8]
	ldrb r1, [r2]
	adds r2, 0x1
	str r2, [r4, 0x8]
	lsls r1, 24
	asrs r1, 24
	bl fade_screen
	ldr r1, =sub_8099CA8
	adds r0, r4, 0
	bl SetupNativeScript
	movs r0, 0x1
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s98_refade_with_timer

	thumb_func_start sub_8099D20
@ int sub_8099D20(script_env *env)
sub_8099D20: @ 8099D20
	push {r4,r5,lr}
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r4, [r0]
	adds r0, 0x1
	str r0, [r5, 0x8]
	cmp r4, 0x1
	beq _08099D3E
	cmp r4, 0x1
	bgt _08099D3A
	cmp r4, 0
	beq _08099D60
	b _08099D3E
_08099D3A:
	cmp r4, 0x2
	beq _08099D60
_08099D3E:
	ldr r0, =gPlttBufferUnfaded
	ldr r1, =gPaletteDecompressionBuffer
	ldr r2, =0x04000100
	bl CpuSet
	adds r0, r4, 0
	movs r1, 0
	bl fade_screen
	b _08099D72
	.pool
_08099D60:
	ldr r0, =gPaletteDecompressionBuffer
	ldr r1, =gPlttBufferUnfaded
	ldr r2, =0x04000100
	bl CpuSet
	adds r0, r4, 0
	movs r1, 0
	bl fade_screen
_08099D72:
	ldr r1, =sub_8099CA8
	adds r0, r5, 0
	bl SetupNativeScript
	movs r0, 0x1
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8099D20

	thumb_func_start s28_pause_asm
s28_pause_asm: @ 8099D94
	push {lr}
	ldr r1, =gUnknown_020375C8
	ldrh r0, [r1]
	subs r0, 0x1
	strh r0, [r1]
	lsls r0, 16
	cmp r0, 0
	beq _08099DAC
	movs r0, 0
	b _08099DAE
	.pool
_08099DAC:
	movs r0, 0x1
_08099DAE:
	pop {r1}
	bx r1
	thumb_func_end s28_pause_asm

	thumb_func_start s28_pause
@ int s28_pause(script_env *env)
s28_pause: @ 8099DB4
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	ldr r1, =gUnknown_020375C8
	strh r0, [r1]
	ldr r1, =s28_pause_asm
	adds r0, r4, 0
	bl SetupNativeScript
	movs r0, 0x1
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s28_pause

	thumb_func_start s2C_unknown
@ int s2C_unknown(script_env *env)
s2C_unknown: @ 8099DD8
	push {r4,r5,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r1, r0, 0
	lsls r1, 24
	lsrs r1, 24
	adds r0, r4, 0
	bl RtcInitLocalTimeOffset
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end s2C_unknown

	thumb_func_start s2D_unknown
@ int s2D_unknown(script_env *env)
s2D_unknown: @ 8099E10
	push {lr}
	bl sub_809E7B0
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s2D_unknown

	thumb_func_start s2E_unknown
@ int s2E_unknown(script_env *env)
s2E_unknown: @ 8099E1C
	push {lr}
	bl RtcCalcLocalTime
	ldr r2, =gSpecialVar_0x8000
	ldr r1, =gLocalTime
	movs r0, 0x2
	ldrsb r0, [r1, r0]
	strh r0, [r2]
	ldr r2, =gSpecialVar_0x8001
	movs r0, 0x3
	ldrsb r0, [r1, r0]
	strh r0, [r2]
	ldr r2, =gSpecialVar_0x8002
	movs r0, 0x4
	ldrsb r0, [r1, r0]
	strh r0, [r2]
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end s2E_unknown

	thumb_func_start sA4_set_weather_data
@ int sA4_set_weather_data(script_env *env)
sA4_set_weather_data: @ 8099E54
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	bl sub_80AED7C
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end sA4_set_weather_data

	thumb_func_start sA3_set_standard_weather_data
@ int sA3_set_standard_weather_data(script_env *env)
sA3_set_standard_weather_data: @ 8099E70
	push {lr}
	bl sub_80AEDBC
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end sA3_set_standard_weather_data

	thumb_func_start sub_8099E7C
@ int sub_8099E7C(script_env *env)
sub_8099E7C: @ 8099E7C
	push {lr}
	bl sub_80AEE20
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end sub_8099E7C

	thumb_func_start sA6_activate_per_step_callback_eg_ash
@ int sA6_activate_per_step_callback_eg_ash(script_env *env)
sA6_activate_per_step_callback_eg_ash: @ 8099E88
	push {lr}
	ldr r1, [r0, 0x8]
	ldrb r2, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	adds r0, r2, 0
	bl activate_per_step_callback
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end sA6_activate_per_step_callback_eg_ash

	thumb_func_start sA7_set_new_map_footer
@ int sA7_set_new_map_footer(script_env *env)
sA7_set_new_map_footer: @ 8099EA0
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	bl sub_8085524
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end sA7_set_new_map_footer

	thumb_func_start s39_warp_sfx
@ int s39_warp_sfx(script_env *env)
s39_warp_sfx: @ 8099EBC
	push {r4-r6,lr}
	mov r6, r9
	mov r5, r8
	push {r5,r6}
	sub sp, 0x4
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r9, r1
	adds r0, 0x1
	str r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r8, r1
	adds r1, r0, 0x1
	str r1, [r5, 0x8]
	ldrb r6, [r0, 0x1]
	adds r1, 0x1
	str r1, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	mov r1, r9
	lsls r1, 24
	asrs r1, 24
	mov r9, r1
	mov r1, r8
	lsls r1, 24
	asrs r1, 24
	mov r8, r1
	lsls r6, 24
	asrs r6, 24
	lsls r4, 24
	asrs r4, 24
	lsls r0, 24
	asrs r0, 24
	str r0, [sp]
	mov r0, r9
	adds r2, r6, 0
	adds r3, r4, 0
	bl warp1_set
	bl sub_80AF734
	bl player_avatar_init_params_reset
	movs r0, 0x1
	add sp, 0x4
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end s39_warp_sfx

	thumb_func_start s3A_warp_new_music
@ int s3A_warp_new_music(script_env *env)
s3A_warp_new_music: @ 8099F44
	push {r4-r6,lr}
	mov r6, r9
	mov r5, r8
	push {r5,r6}
	sub sp, 0x4
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r9, r1
	adds r0, 0x1
	str r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r8, r1
	adds r1, r0, 0x1
	str r1, [r5, 0x8]
	ldrb r6, [r0, 0x1]
	adds r1, 0x1
	str r1, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	mov r1, r9
	lsls r1, 24
	asrs r1, 24
	mov r9, r1
	mov r1, r8
	lsls r1, 24
	asrs r1, 24
	mov r8, r1
	lsls r6, 24
	asrs r6, 24
	lsls r4, 24
	asrs r4, 24
	lsls r0, 24
	asrs r0, 24
	str r0, [sp]
	mov r0, r9
	adds r2, r6, 0
	adds r3, r4, 0
	bl warp1_set
	bl sp13E_warp_to_last_warp
	bl player_avatar_init_params_reset
	movs r0, 0x1
	add sp, 0x4
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end s3A_warp_new_music

	thumb_func_start s3B_warp_keep_music
@ int s3B_warp_keep_music(script_env *env)
s3B_warp_keep_music: @ 8099FCC
	push {r4-r6,lr}
	mov r6, r9
	mov r5, r8
	push {r5,r6}
	sub sp, 0x4
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r9, r1
	adds r0, 0x1
	str r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r8, r1
	adds r1, r0, 0x1
	str r1, [r5, 0x8]
	ldrb r6, [r0, 0x1]
	adds r1, 0x1
	str r1, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	mov r1, r9
	lsls r1, 24
	asrs r1, 24
	mov r9, r1
	mov r1, r8
	lsls r1, 24
	asrs r1, 24
	mov r8, r1
	lsls r6, 24
	asrs r6, 24
	lsls r4, 24
	asrs r4, 24
	lsls r0, 24
	asrs r0, 24
	str r0, [sp]
	mov r0, r9
	adds r2, r6, 0
	adds r3, r4, 0
	bl warp1_set
	bl sub_80AF7D0
	bl player_avatar_init_params_reset
	movs r0, 0x1
	add sp, 0x4
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end s3B_warp_keep_music

	thumb_func_start sub_809A054
sub_809A054: @ 809A054
	push {r4-r6,lr}
	sub sp, 0x8
	ldr r1, [r0, 0x8]
	ldrb r6, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	ldrb r5, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	mov r4, sp
	adds r4, 0x6
	add r0, sp, 0x4
	adds r1, r4, 0
	bl PlayerGetDestCoords
	cmp r6, 0xFF
	bne _0809A092
	cmp r5, 0xFF
	bne _0809A092
	add r0, sp, 0x4
	ldrh r0, [r0]
	subs r0, 0x7
	lsls r0, 16
	asrs r0, 16
	ldrh r1, [r4]
	subs r1, 0x7
	lsls r1, 16
	asrs r1, 16
	bl sub_8084EBC
	b _0809A0B6
_0809A092:
	lsls r0, r6, 24
	asrs r0, 24
	lsls r1, r5, 24
	asrs r1, 24
	movs r2, 0x1
	negs r2, r2
	add r3, sp, 0x4
	ldrb r3, [r3]
	subs r3, 0x7
	lsls r3, 24
	asrs r3, 24
	ldrb r4, [r4]
	subs r4, 0x7
	lsls r4, 24
	asrs r4, 24
	str r4, [sp]
	bl warp1_set
_0809A0B6:
	bl sp13F_fall_to_last_warp
	bl player_avatar_init_params_reset
	movs r0, 0x1
	add sp, 0x8
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sub_809A054

	thumb_func_start s3D_warp_v4
s3D_warp_v4: @ 809A0C8
	push {r4-r6,lr}
	mov r6, r9
	mov r5, r8
	push {r5,r6}
	sub sp, 0x4
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r9, r1
	adds r0, 0x1
	str r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r8, r1
	adds r1, r0, 0x1
	str r1, [r5, 0x8]
	ldrb r6, [r0, 0x1]
	adds r1, 0x1
	str r1, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	mov r1, r9
	lsls r1, 24
	asrs r1, 24
	mov r9, r1
	mov r1, r8
	lsls r1, 24
	asrs r1, 24
	mov r8, r1
	lsls r6, 24
	asrs r6, 24
	lsls r4, 24
	asrs r4, 24
	lsls r0, 24
	asrs r0, 24
	str r0, [sp]
	mov r0, r9
	adds r2, r6, 0
	adds r3, r4, 0
	bl warp1_set
	bl sub_80AF848
	bl player_avatar_init_params_reset
	movs r0, 0x1
	add sp, 0x4
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end s3D_warp_v4

	thumb_func_start sub_809A150
sub_809A150: @ 809A150
	push {r4-r6,lr}
	mov r6, r9
	mov r5, r8
	push {r5,r6}
	sub sp, 0x4
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r9, r1
	adds r0, 0x1
	str r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r8, r1
	adds r1, r0, 0x1
	str r1, [r5, 0x8]
	ldrb r6, [r0, 0x1]
	adds r1, 0x1
	str r1, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	mov r1, r9
	lsls r1, 24
	asrs r1, 24
	mov r9, r1
	mov r1, r8
	lsls r1, 24
	asrs r1, 24
	mov r8, r1
	lsls r6, 24
	asrs r6, 24
	lsls r4, 24
	asrs r4, 24
	lsls r0, 24
	asrs r0, 24
	str r0, [sp]
	mov r0, r9
	adds r2, r6, 0
	adds r3, r4, 0
	bl warp1_set
	bl sub_80AF87C
	bl player_avatar_init_params_reset
	movs r0, 0x1
	add sp, 0x4
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sub_809A150

	thumb_func_start s3E_set_new_map
s3E_set_new_map: @ 809A1D8
	push {r4-r6,lr}
	mov r6, r9
	mov r5, r8
	push {r5,r6}
	sub sp, 0x4
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r9, r1
	adds r0, 0x1
	str r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r8, r1
	adds r1, r0, 0x1
	str r1, [r5, 0x8]
	ldrb r6, [r0, 0x1]
	adds r1, 0x1
	str r1, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	mov r1, r9
	lsls r1, 24
	asrs r1, 24
	mov r9, r1
	mov r1, r8
	lsls r1, 24
	asrs r1, 24
	mov r8, r1
	lsls r6, 24
	asrs r6, 24
	lsls r4, 24
	asrs r4, 24
	lsls r0, 24
	asrs r0, 24
	str r0, [sp]
	mov r0, r9
	adds r2, r6, 0
	adds r3, r4, 0
	bl warp1_set
	movs r0, 0
	add sp, 0x4
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end s3E_set_new_map

	thumb_func_start s3F_set_new_map_DMA
s3F_set_new_map_DMA: @ 809A258
	push {r4-r6,lr}
	mov r6, r9
	mov r5, r8
	push {r5,r6}
	sub sp, 0x8
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r9, r1
	adds r0, 0x1
	str r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r8, r1
	adds r1, r0, 0x1
	str r1, [r5, 0x8]
	ldrb r6, [r0, 0x1]
	adds r1, 0x1
	str r1, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	mov r1, r9
	lsls r1, 24
	asrs r1, 24
	mov r9, r1
	mov r1, r8
	lsls r1, 24
	asrs r1, 24
	mov r8, r1
	lsls r6, 24
	asrs r6, 24
	lsls r4, 24
	asrs r4, 24
	str r4, [sp]
	lsls r0, 24
	asrs r0, 24
	str r0, [sp, 0x4]
	movs r0, 0
	mov r1, r9
	mov r2, r8
	adds r3, r6, 0
	bl saved_warp2_set_2
	movs r0, 0
	add sp, 0x8
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end s3F_set_new_map_DMA

	thumb_func_start sub_809A2DC
sub_809A2DC: @ 809A2DC
	push {r4-r6,lr}
	mov r6, r9
	mov r5, r8
	push {r5,r6}
	sub sp, 0x4
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r9, r1
	adds r0, 0x1
	str r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r8, r1
	adds r1, r0, 0x1
	str r1, [r5, 0x8]
	ldrb r6, [r0, 0x1]
	adds r1, 0x1
	str r1, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	mov r1, r9
	lsls r1, 24
	asrs r1, 24
	mov r9, r1
	mov r1, r8
	lsls r1, 24
	asrs r1, 24
	mov r8, r1
	lsls r6, 24
	asrs r6, 24
	lsls r4, 24
	asrs r4, 24
	lsls r0, 24
	asrs r0, 24
	str r0, [sp]
	mov r0, r9
	adds r2, r6, 0
	adds r3, r4, 0
	bl sub_8084E2C
	movs r0, 0
	add sp, 0x4
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sub_809A2DC

	thumb_func_start sub_809A35C
sub_809A35C: @ 809A35C
	push {r4-r6,lr}
	mov r6, r9
	mov r5, r8
	push {r5,r6}
	sub sp, 0x4
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r9, r1
	adds r0, 0x1
	str r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r8, r1
	adds r1, r0, 0x1
	str r1, [r5, 0x8]
	ldrb r6, [r0, 0x1]
	adds r1, 0x1
	str r1, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	mov r1, r9
	lsls r1, 24
	asrs r1, 24
	mov r9, r1
	mov r1, r8
	lsls r1, 24
	asrs r1, 24
	mov r8, r1
	lsls r6, 24
	asrs r6, 24
	lsls r4, 24
	asrs r4, 24
	lsls r0, 24
	asrs r0, 24
	str r0, [sp]
	mov r0, r9
	adds r2, r6, 0
	adds r3, r4, 0
	bl sub_8084E80
	movs r0, 0
	add sp, 0x4
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sub_809A35C

	thumb_func_start sC4_unknown
sC4_unknown: @ 809A3DC
	push {r4-r6,lr}
	mov r6, r9
	mov r5, r8
	push {r5,r6}
	sub sp, 0x4
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r9, r1
	adds r0, 0x1
	str r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r8, r1
	adds r1, r0, 0x1
	str r1, [r5, 0x8]
	ldrb r6, [r0, 0x1]
	adds r1, 0x1
	str r1, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	mov r1, r9
	lsls r1, 24
	asrs r1, 24
	mov r9, r1
	mov r1, r8
	lsls r1, 24
	asrs r1, 24
	mov r8, r1
	lsls r6, 24
	asrs r6, 24
	lsls r4, 24
	asrs r4, 24
	lsls r0, 24
	asrs r0, 24
	str r0, [sp]
	mov r0, r9
	adds r2, r6, 0
	adds r3, r4, 0
	bl sub_8084DD4
	movs r0, 0
	add sp, 0x4
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sC4_unknown

	thumb_func_start s42_get_map_camera_pos
@ int s42_get_map_camera_pos(script_env *env)
s42_get_map_camera_pos: @ 809A45C
	push {r4,r5,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl GetVarPointer
	adds r5, r0, 0
	adds r0, r4, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl GetVarPointer
	ldr r2, =gSaveBlock1Ptr
	ldr r1, [r2]
	ldrh r1, [r1]
	strh r1, [r5]
	ldr r1, [r2]
	ldrh r1, [r1, 0x2]
	strh r1, [r0]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s42_get_map_camera_pos

	thumb_func_start s43_get_player_party_count
s43_get_player_party_count: @ 809A498
	push {r4,lr}
	ldr r4, =gScriptResult
	bl CalculatePlayerPartyCount
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r4]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s43_get_player_party_count

	thumb_func_start s2F_music_play
s2F_music_play: @ 809A4B4
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl PlaySE
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s2F_music_play

	thumb_func_start s30_music_check_asm
s30_music_check_asm: @ 809A4C8
	push {lr}
	bl IsSEPlaying
	lsls r0, 24
	cmp r0, 0
	beq _0809A4D8
	movs r0, 0
	b _0809A4DA
_0809A4D8:
	movs r0, 0x1
_0809A4DA:
	pop {r1}
	bx r1
	thumb_func_end s30_music_check_asm

	thumb_func_start s30_music_check
s30_music_check: @ 809A4E0
	push {lr}
	ldr r1, =s30_music_check_asm
	bl SetupNativeScript
	movs r0, 0x1
	pop {r1}
	bx r1
	.pool
	thumb_func_end s30_music_check

	thumb_func_start s31_PlayFanfare
s31_PlayFanfare: @ 809A4F4
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl PlayFanfare
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s31_PlayFanfare

	thumb_func_start s32_fanfare_wait_asm
s32_fanfare_wait_asm: @ 809A508
	push {lr}
	bl IsFanfareTaskInactive
	lsls r0, 24
	lsrs r0, 24
	pop {r1}
	bx r1
	thumb_func_end s32_fanfare_wait_asm

	thumb_func_start s32_fanfare_wait
s32_fanfare_wait: @ 809A518
	push {lr}
	ldr r1, =s32_fanfare_wait_asm
	bl SetupNativeScript
	movs r0, 0x1
	pop {r1}
	bx r1
	.pool
	thumb_func_end s32_fanfare_wait

	thumb_func_start s33_play_music
@ int s33_play_music(script_env *env)
s33_play_music: @ 809A52C
	push {r4,r5,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r2, r0, 16
	adds r5, r2, 0
	ldr r0, [r4, 0x8]
	ldrb r1, [r0]
	adds r0, 0x1
	str r0, [r4, 0x8]
	cmp r1, 0x1
	bne _0809A54C
	adds r0, r2, 0
	bl sav1_set_battle_music_maybe
_0809A54C:
	adds r0, r5, 0
	bl PlayNewMapMusic
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end s33_play_music

	thumb_func_start s34_unknown
s34_unknown: @ 809A55C
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl sav1_set_battle_music_maybe
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s34_unknown

	thumb_func_start s35_fade_to_default
s35_fade_to_default: @ 809A570
	push {lr}
	bl sub_8085898
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s35_fade_to_default

	thumb_func_start s36_fade_to_music
s36_fade_to_music: @ 809A57C
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl sub_80858C4
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s36_fade_to_music

	thumb_func_start s37_fadeout
s37_fadeout: @ 809A590
	push {r4,lr}
	adds r4, r0, 0
	ldr r0, [r4, 0x8]
	ldrb r1, [r0]
	adds r0, 0x1
	str r0, [r4, 0x8]
	cmp r1, 0
	beq _0809A5AA
	lsls r0, r1, 26
	lsrs r0, 24
	bl FadeOutBGMTemporarily
	b _0809A5B0
_0809A5AA:
	movs r0, 0x4
	bl FadeOutBGMTemporarily
_0809A5B0:
	ldr r1, =IsBGMPausedOrStopped
	adds r0, r4, 0
	bl SetupNativeScript
	movs r0, 0x1
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s37_fadeout

	thumb_func_start s38_fadein
s38_fadein: @ 809A5C4
	push {lr}
	ldr r1, [r0, 0x8]
	ldrb r2, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	cmp r2, 0
	beq _0809A5DC
	lsls r0, r2, 26
	lsrs r0, 24
	bl FadeInBGM
	b _0809A5E2
_0809A5DC:
	movs r0, 0x4
	bl FadeInBGM
_0809A5E2:
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s38_fadein

	thumb_func_start s4F_execute_movement
s4F_execute_movement: @ 809A5E8
	push {r4,r5,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadWord
	adds r3, r0, 0
	lsls r0, r4, 24
	lsrs r0, 24
	ldr r1, =gSaveBlock1Ptr
	ldr r2, [r1]
	ldrb r1, [r2, 0x5]
	ldrb r2, [r2, 0x4]
	bl exec_movement
	ldr r0, =gUnknown_020375CA
	strh r4, [r0]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s4F_execute_movement

	thumb_func_start s50_execute_movement_remote
s50_execute_movement_remote: @ 809A62C
	push {r4,r5,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadWord
	adds r3, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r2, [r0]
	adds r0, 0x1
	str r0, [r5, 0x8]
	ldrb r1, [r0]
	adds r0, 0x1
	str r0, [r5, 0x8]
	lsls r0, r4, 24
	lsrs r0, 24
	bl exec_movement
	ldr r0, =gUnknown_020375CA
	strh r4, [r0]
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s50_execute_movement_remote

	thumb_func_start s51a_0806B288
s51a_0806B288: @ 809A670
	push {lr}
	ldr r0, =gUnknown_020375CA
	ldrb r0, [r0]
	ldr r1, =gUnknown_020375CE
	ldrb r1, [r1]
	ldr r2, =gUnknown_020375CC
	ldrb r2, [r2]
	bl sub_80D3340
	lsls r0, 24
	lsrs r0, 24
	pop {r1}
	bx r1
	.pool
	thumb_func_end s51a_0806B288

	thumb_func_start s51_waitmove
s51_waitmove: @ 809A698
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r1, r0, 16
	cmp r1, 0
	beq _0809A6B4
	ldr r0, =gUnknown_020375CA
	strh r1, [r0]
_0809A6B4:
	ldr r1, =gUnknown_020375CC
	ldr r0, =gSaveBlock1Ptr
	ldr r2, [r0]
	movs r0, 0x4
	ldrsb r0, [r2, r0]
	strh r0, [r1]
	ldr r1, =gUnknown_020375CE
	movs r0, 0x5
	ldrsb r0, [r2, r0]
	strh r0, [r1]
	ldr r1, =s51a_0806B288
	adds r0, r4, 0
	bl SetupNativeScript
	movs r0, 0x1
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s51_waitmove

	thumb_func_start s52_waitmove_remote
s52_waitmove_remote: @ 809A6EC
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r1, r0, 16
	cmp r1, 0
	beq _0809A708
	ldr r0, =gUnknown_020375CA
	strh r1, [r0]
_0809A708:
	ldr r0, [r4, 0x8]
	ldrb r2, [r0]
	adds r0, 0x1
	str r0, [r4, 0x8]
	ldrb r1, [r0]
	adds r0, 0x1
	str r0, [r4, 0x8]
	ldr r0, =gUnknown_020375CC
	strh r2, [r0]
	ldr r0, =gUnknown_020375CE
	strh r1, [r0]
	ldr r1, =s51a_0806B288
	adds r0, r4, 0
	bl SetupNativeScript
	movs r0, 0x1
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s52_waitmove_remote

	thumb_func_start s53_hide_sprite
s53_hide_sprite: @ 809A740
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 24
	lsrs r0, 24
	ldr r1, =gSaveBlock1Ptr
	ldr r2, [r1]
	ldrb r1, [r2, 0x5]
	ldrb r2, [r2, 0x4]
	bl RemoveFieldObjectByLocalIdAndMap
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end s53_hide_sprite

	thumb_func_start s54_hide_sprite_set_coords
s54_hide_sprite_set_coords: @ 809A768
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldr r3, [r4, 0x8]
	ldrb r2, [r3]
	adds r3, 0x1
	str r3, [r4, 0x8]
	ldrb r1, [r3]
	adds r3, 0x1
	str r3, [r4, 0x8]
	lsls r0, 24
	lsrs r0, 24
	bl RemoveFieldObjectByLocalIdAndMap
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s54_hide_sprite_set_coords

	thumb_func_start s55_show_sprite
s55_show_sprite: @ 809A798
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 24
	lsrs r0, 24
	ldr r1, =gSaveBlock1Ptr
	ldr r2, [r1]
	ldrb r1, [r2, 0x5]
	ldrb r2, [r2, 0x4]
	bl show_sprite
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end s55_show_sprite

	thumb_func_start s56_show_sprite_set_coords
s56_show_sprite_set_coords: @ 809A7C0
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldr r3, [r4, 0x8]
	ldrb r2, [r3]
	adds r3, 0x1
	str r3, [r4, 0x8]
	ldrb r1, [r3]
	adds r3, 0x1
	str r3, [r4, 0x8]
	lsls r0, 24
	lsrs r0, 24
	bl show_sprite
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s56_show_sprite_set_coords

	thumb_func_start s57_move_sprites
s57_move_sprites: @ 809A7F0
	push {r4-r6,lr}
	sub sp, 0x4
	adds r6, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r5, r0, 0
	lsls r5, 16
	lsrs r5, 16
	adds r0, r6, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r6, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r5, 24
	lsrs r5, 24
	ldr r1, =gSaveBlock1Ptr
	ldr r2, [r1]
	ldrb r1, [r2, 0x5]
	ldrb r2, [r2, 0x4]
	lsls r4, 16
	asrs r4, 16
	lsls r0, 16
	asrs r0, 16
	str r0, [sp]
	adds r0, r5, 0
	adds r3, r4, 0
	bl sub_808EBA8
	movs r0, 0
	add sp, 0x4
	pop {r4-r6}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s57_move_sprites

	thumb_func_start s63_new_sprite_location_permanent
s63_new_sprite_location_permanent: @ 809A858
	push {r4-r6,lr}
	adds r6, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r5, r0, 0
	lsls r5, 16
	lsrs r5, 16
	adds r0, r6, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r6, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r2, r0, 0
	lsls r5, 24
	lsrs r5, 24
	lsls r4, 16
	asrs r4, 16
	lsls r2, 16
	asrs r2, 16
	adds r0, r5, 0
	adds r1, r4, 0
	bl update_saveblock1_field_object_coords
	movs r0, 0
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end s63_new_sprite_location_permanent

	thumb_func_start s64_set_sprite_top_left_corner
s64_set_sprite_top_left_corner: @ 809A8B0
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 24
	lsrs r0, 24
	ldr r1, =gSaveBlock1Ptr
	ldr r2, [r1]
	ldrb r1, [r2, 0x5]
	ldrb r2, [r2, 0x4]
	bl sub_808F254
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end s64_set_sprite_top_left_corner

	thumb_func_start s58_npc_f1_clear_x20
s58_npc_f1_clear_x20: @ 809A8D8
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldr r3, [r4, 0x8]
	ldrb r2, [r3]
	adds r3, 0x1
	str r3, [r4, 0x8]
	ldrb r1, [r3]
	adds r3, 0x1
	str r3, [r4, 0x8]
	lsls r0, 24
	lsrs r0, 24
	movs r3, 0
	bl npc_by_local_id_and_map_set_field_1_bit_x20
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s58_npc_f1_clear_x20

	thumb_func_start s59_npc_f1_set_x20
s59_npc_f1_set_x20: @ 809A908
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldr r3, [r4, 0x8]
	ldrb r2, [r3]
	adds r3, 0x1
	str r3, [r4, 0x8]
	ldrb r1, [r3]
	adds r3, 0x1
	str r3, [r4, 0x8]
	lsls r0, 24
	lsrs r0, 24
	movs r3, 0x1
	bl npc_by_local_id_and_map_set_field_1_bit_x20
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s59_npc_f1_set_x20

	thumb_func_start sA8_unknown
sA8_unknown: @ 809A938
	push {r4,r5,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldr r3, [r5, 0x8]
	ldrb r2, [r3]
	adds r3, 0x1
	str r3, [r5, 0x8]
	ldrb r1, [r3]
	adds r4, r3, 0x1
	str r4, [r5, 0x8]
	ldrb r3, [r3, 0x1]
	adds r4, 0x1
	str r4, [r5, 0x8]
	lsls r0, 24
	lsrs r0, 24
	adds r3, 0x53
	lsls r3, 24
	lsrs r3, 24
	bl sub_808E78C
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end sA8_unknown

	thumb_func_start sA9_unknown
sA9_unknown: @ 809A974
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldr r3, [r4, 0x8]
	ldrb r2, [r3]
	adds r3, 0x1
	str r3, [r4, 0x8]
	ldrb r1, [r3]
	adds r3, 0x1
	str r3, [r4, 0x8]
	lsls r0, 24
	lsrs r0, 24
	bl sub_808E7E4
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sA9_unknown

	thumb_func_start s5A_face_player
s5A_face_player: @ 809A9A4
	push {r4,lr}
	ldr r2, =gMapObjects
	ldr r0, =gSelectedMapObject
	ldrb r1, [r0]
	lsls r0, r1, 3
	adds r0, r1
	lsls r0, 2
	adds r4, r0, r2
	ldrb r0, [r4]
	lsls r0, 31
	cmp r0, 0
	beq _0809A9CC
	bl player_get_direction_lower_nybble
	adds r1, r0, 0
	lsls r1, 24
	lsrs r1, 24
	adds r0, r4, 0
	bl FieldObjectFaceOppositeDirection
_0809A9CC:
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s5A_face_player

	thumb_func_start s5B_npc_set_direction
s5B_npc_set_direction: @ 809A9DC
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldr r1, [r4, 0x8]
	ldrb r3, [r1]
	adds r1, 0x1
	str r1, [r4, 0x8]
	lsls r0, 24
	lsrs r0, 24
	ldr r1, =gSaveBlock1Ptr
	ldr r2, [r1]
	ldrb r1, [r2, 0x5]
	ldrb r2, [r2, 0x4]
	bl FieldObjectTurnByLocalIdAndMap
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s5B_npc_set_direction

	thumb_func_start s65_set_sprite_behaviour
s65_set_sprite_behaviour: @ 809AA10
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldr r2, [r4, 0x8]
	ldrb r1, [r2]
	adds r2, 0x1
	str r2, [r4, 0x8]
	lsls r0, 24
	lsrs r0, 24
	bl update_saveblock1_field_object_movement_behavior
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s65_set_sprite_behaviour

	thumb_func_start sAA_create_new_sprite
sAA_create_new_sprite: @ 809AA38
	push {r4-r6,lr}
	mov r6, r8
	push {r6}
	sub sp, 0x8
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r8, r1
	adds r0, 0x1
	str r0, [r5, 0x8]
	ldrb r6, [r0]
	adds r0, 0x1
	str r0, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r3, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r2, [r0]
	adds r0, 0x1
	str r0, [r5, 0x8]
	ldrb r1, [r0]
	adds r0, 0x1
	str r0, [r5, 0x8]
	lsls r4, 16
	asrs r4, 16
	lsls r3, 16
	asrs r3, 16
	str r2, [sp]
	str r1, [sp, 0x4]
	mov r0, r8
	adds r1, r6, 0
	adds r2, r4, 0
	bl sprite_new
	movs r0, 0
	add sp, 0x8
	pop {r3}
	mov r8, r3
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sAA_create_new_sprite

	thumb_func_start sAB_unknown
sAB_unknown: @ 809AAA8
	push {lr}
	ldr r2, [r0, 0x8]
	ldrb r3, [r2]
	adds r2, 0x1
	str r2, [r0, 0x8]
	ldrb r1, [r2]
	adds r2, 0x1
	str r2, [r0, 0x8]
	adds r0, r3, 0
	bl sub_8097B78
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end sAB_unknown

	thumb_func_start sub_809AAC4
sub_809AAC4: @ 809AAC4
	push {r4,lr}
	adds r4, r0, 0
	bl is_c1_link_related_active
	cmp r0, 0
	bne _0809AAE4
	bl sub_80983E8
	ldr r1, =sub_80983C4
	adds r0, r4, 0
	bl SetupNativeScript
	movs r0, 0x1
	b _0809AAE6
	.pool
_0809AAE4:
	movs r0, 0
_0809AAE6:
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_809AAC4

	thumb_func_start sub_809AAEC
sub_809AAEC: @ 809AAEC
	push {r4,lr}
	adds r4, r0, 0
	bl is_c1_link_related_active
	cmp r0, 0
	beq _0809AAFC
	movs r0, 0
	b _0809AB3A
_0809AAFC:
	ldr r2, =gMapObjects
	ldr r0, =gSelectedMapObject
	ldrb r1, [r0]
	lsls r0, r1, 3
	adds r0, r1
	lsls r0, 2
	adds r0, r2
	ldrb r0, [r0]
	lsls r0, 31
	cmp r0, 0
	beq _0809AB2C
	bl sub_80984A0
	ldr r1, =sub_809847C
	adds r0, r4, 0
	bl SetupNativeScript
	b _0809AB38
	.pool
_0809AB2C:
	bl sub_80983E8
	ldr r1, =sub_80983C4
	adds r0, r4, 0
	bl SetupNativeScript
_0809AB38:
	movs r0, 0x1
_0809AB3A:
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809AAEC

	thumb_func_start s6B_release
s6B_release: @ 809AB44
	push {lr}
	bl textbox_close
	movs r0, 0xFF
	movs r1, 0
	movs r2, 0
	bl GetFieldObjectIdByLocalIdAndMap
	adds r1, r0, 0
	lsls r1, 24
	lsrs r1, 24
	lsls r0, r1, 3
	adds r0, r1
	lsls r0, 2
	ldr r1, =gMapObjects
	adds r0, r1
	bl FieldObjectClearAnimIfSpecialAnimFinished
	bl sub_80D338C
	bl sub_809757C
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end s6B_release

	thumb_func_start s6C_release_2
s6C_release_2: @ 809AB7C
	push {r4,lr}
	bl textbox_close
	ldr r4, =gMapObjects
	ldr r0, =gSelectedMapObject
	ldrb r1, [r0]
	lsls r0, r1, 3
	adds r0, r1
	lsls r0, 2
	adds r1, r0, r4
	ldrb r0, [r1]
	lsls r0, 31
	cmp r0, 0
	beq _0809AB9E
	adds r0, r1, 0
	bl FieldObjectClearAnimIfSpecialAnimFinished
_0809AB9E:
	movs r0, 0xFF
	movs r1, 0
	movs r2, 0
	bl GetFieldObjectIdByLocalIdAndMap
	adds r1, r0, 0
	lsls r1, 24
	lsrs r1, 24
	lsls r0, r1, 3
	adds r0, r1
	lsls r0, 2
	adds r0, r4
	bl FieldObjectClearAnimIfSpecialAnimFinished
	bl sub_80D338C
	bl sub_809757C
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s6C_release_2

	thumb_func_start s67_execute_box
s67_execute_box: @ 809ABD4
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadWord
	cmp r0, 0
	bne _0809ABE2
	ldr r0, [r4, 0x64]
_0809ABE2:
	bl box_related_two__2
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s67_execute_box

	thumb_func_start sub_809ABF0
sub_809ABF0: @ 809ABF0
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadWord
	cmp r0, 0
	bne _0809ABFE
	ldr r0, [r4, 0x64]
_0809ABFE:
	bl sub_8098238
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_809ABF0

	thumb_func_start s9B_unknown
s9B_unknown: @ 809AC0C
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadWord
	adds r3, r0, 0
	cmp r3, 0
	bne _0809AC1C
	ldr r3, [r4, 0x64]
_0809AC1C:
	ldr r2, =gTextFlags
	ldrb r0, [r2]
	movs r1, 0x4
	orrs r0, r1
	movs r1, 0x8
	orrs r0, r1
	strb r0, [r2]
	adds r0, r3, 0
	bl box_related_two__3
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s9B_unknown

	thumb_func_start sub_809AC3C
sub_809AC3C: @ 809AC3C
	push {r4,r5,lr}
	sub sp, 0xC
	adds r5, r0, 0
	bl ScriptReadWord
	adds r4, r0, 0
	cmp r4, 0
	bne _0809AC4E
	ldr r4, [r5, 0x64]
_0809AC4E:
	bl sub_81973A4
	movs r0, 0
	movs r1, 0x1
	bl sub_81973C4
	movs r0, 0x1
	str r0, [sp]
	movs r0, 0
	str r0, [sp, 0x4]
	str r0, [sp, 0x8]
	movs r1, 0x1
	adds r2, r4, 0
	movs r3, 0
	bl PrintTextOnWindow
	movs r0, 0
	add sp, 0xC
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end sub_809AC3C

	thumb_func_start sub_809AC78
sub_809AC78: @ 809AC78
	push {lr}
	ldr r1, =sub_809833C
	bl SetupNativeScript
	movs r0, 0x1
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809AC78

	thumb_func_start s68_close_box
s68_close_box: @ 809AC8C
	push {lr}
	bl textbox_close
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s68_close_box

	thumb_func_start sub_809AC98
sub_809AC98: @ 809AC98
	push {lr}
	ldr r0, =gMain
	ldrh r1, [r0, 0x2E]
	movs r0, 0x1
	ands r0, r1
	cmp r0, 0
	bne _0809ACB8
	movs r0, 0x2
	ands r0, r1
	cmp r0, 0
	bne _0809ACB8
	movs r0, 0
	b _0809ACBA
	.pool
_0809ACB8:
	movs r0, 0x1
_0809ACBA:
	pop {r1}
	bx r1
	thumb_func_end sub_809AC98

	thumb_func_start sub_809ACC0
sub_809ACC0: @ 809ACC0
	push {lr}
	ldr r1, =sub_809AC98
	bl SetupNativeScript
	movs r0, 0x1
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809ACC0

	thumb_func_start s6E_yes_no
s6E_yes_no: @ 809ACD4
	push {lr}
	ldr r2, [r0, 0x8]
	ldrb r3, [r2]
	adds r2, 0x1
	str r2, [r0, 0x8]
	ldrb r1, [r2]
	adds r2, 0x1
	str r2, [r0, 0x8]
	adds r0, r3, 0
	bl yes_no_box
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _0809ACF6
	movs r0, 0
	b _0809ACFC
_0809ACF6:
	bl ScriptContext1_Stop
	movs r0, 0x1
_0809ACFC:
	pop {r1}
	bx r1
	thumb_func_end s6E_yes_no

	thumb_func_start s6F_multichoice
s6F_multichoice: @ 809AD00
	push {r4,r5,lr}
	ldr r2, [r0, 0x8]
	ldrb r5, [r2]
	adds r2, 0x1
	str r2, [r0, 0x8]
	ldrb r1, [r2]
	adds r3, r2, 0x1
	str r3, [r0, 0x8]
	ldrb r2, [r2, 0x1]
	adds r4, r3, 0x1
	str r4, [r0, 0x8]
	ldrb r3, [r3, 0x1]
	adds r4, 0x1
	str r4, [r0, 0x8]
	adds r0, r5, 0
	bl Multichoice
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _0809AD2E
	movs r0, 0
	b _0809AD34
_0809AD2E:
	bl ScriptContext1_Stop
	movs r0, 0x1
_0809AD34:
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end s6F_multichoice

	thumb_func_start sub_809AD3C
sub_809AD3C: @ 809AD3C
	push {r4-r6,lr}
	mov r6, r8
	push {r6}
	sub sp, 0x4
	ldr r2, [r0, 0x8]
	ldrb r1, [r2]
	mov r8, r1
	adds r2, 0x1
	str r2, [r0, 0x8]
	ldrb r1, [r2]
	adds r3, r2, 0x1
	str r3, [r0, 0x8]
	ldrb r2, [r2, 0x1]
	adds r5, r3, 0x1
	str r5, [r0, 0x8]
	ldrb r6, [r3, 0x1]
	adds r4, r5, 0x1
	str r4, [r0, 0x8]
	ldrb r3, [r5, 0x1]
	adds r4, 0x1
	str r4, [r0, 0x8]
	str r6, [sp]
	mov r0, r8
	bl sub_80E1E58
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _0809AD7A
	movs r0, 0
	b _0809AD80
_0809AD7A:
	bl ScriptContext1_Stop
	movs r0, 0x1
_0809AD80:
	add sp, 0x4
	pop {r3}
	mov r8, r3
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sub_809AD3C

	thumb_func_start sub_809AD8C
sub_809AD8C: @ 809AD8C
	movs r0, 0
	bx lr
	thumb_func_end sub_809AD8C

	thumb_func_start sub_809AD90
sub_809AD90: @ 809AD90
	push {r4-r6,lr}
	mov r6, r8
	push {r6}
	sub sp, 0x4
	ldr r2, [r0, 0x8]
	ldrb r1, [r2]
	mov r8, r1
	adds r2, 0x1
	str r2, [r0, 0x8]
	ldrb r1, [r2]
	adds r3, r2, 0x1
	str r3, [r0, 0x8]
	ldrb r2, [r2, 0x1]
	adds r5, r3, 0x1
	str r5, [r0, 0x8]
	ldrb r6, [r3, 0x1]
	adds r4, r5, 0x1
	str r4, [r0, 0x8]
	ldrb r3, [r5, 0x1]
	adds r4, 0x1
	str r4, [r0, 0x8]
	str r6, [sp]
	mov r0, r8
	bl sub_80E21D0
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _0809ADCE
	movs r0, 0
	b _0809ADD4
_0809ADCE:
	bl ScriptContext1_Stop
	movs r0, 0x1
_0809ADD4:
	add sp, 0x4
	pop {r3}
	mov r8, r3
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sub_809AD90

	thumb_func_start s73_nop_skip_word
s73_nop_skip_word: @ 809ADE0
	ldr r1, [r0, 0x8]
	adds r1, 0x4
	str r1, [r0, 0x8]
	movs r0, 0
	bx lr
	thumb_func_end s73_nop_skip_word

	thumb_func_start sub_809ADEC
sub_809ADEC: @ 809ADEC
	ldr r1, [r0, 0x8]
	adds r1, 0x4
	str r1, [r0, 0x8]
	movs r0, 0
	bx lr
	thumb_func_end sub_809ADEC

	thumb_func_start sub_809ADF8
sub_809ADF8: @ 809ADF8
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	ldr r3, [r4, 0x8]
	ldrb r1, [r3]
	adds r3, 0x1
	str r3, [r4, 0x8]
	ldrb r2, [r3]
	adds r3, 0x1
	str r3, [r4, 0x8]
	bl sub_80E2900
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_809ADF8

	thumb_func_start s76_close_picture_box
s76_close_picture_box: @ 809AE28
	push {r4,lr}
	adds r4, r0, 0
	bl picbox_close
	adds r1, r0, 0
	cmp r1, 0
	beq _0809AE40
	adds r0, r4, 0
	bl SetupNativeScript
	movs r0, 0x1
	b _0809AE42
_0809AE40:
	movs r0, 0
_0809AE42:
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s76_close_picture_box

	thumb_func_start sub_809AE48
sub_809AE48: @ 809AE48
	push {lr}
	ldr r1, [r0, 0x8]
	ldrb r2, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	cmp r2, 0
	beq _0809AE5C
	adds r0, r2, 0
	bl sub_812FDA8
_0809AE5C:
	bl sub_80F8ADC
	bl ScriptContext1_Stop
	movs r0, 0x1
	pop {r1}
	bx r1
	thumb_func_end sub_809AE48

	thumb_func_start sub_809AE6C
sub_809AE6C: @ 809AE6C
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	sub sp, 0x20
	bl ScriptReadWord
	adds r1, r0, 0
	ldr r4, =gStringVar4
	adds r1, 0x6
	adds r0, r4, 0
	bl StringExpandPlaceholders
	movs r2, 0x1
	negs r2, r2
	movs r0, 0x6
	adds r1, r4, 0
	bl GetStringWidth
	lsrs r0, 3
	lsls r0, 24
	lsrs r7, r0, 24
	cmp r7, 0x1C
	bls _0809AE9C
	movs r7, 0x1C
_0809AE9C:
	movs r5, 0x4
	ldrb r0, [r4]
	adds r2, r7, 0x2
	add r1, sp, 0x18
	mov r8, r1
	cmp r0, 0xFF
	beq _0809AEC0
	adds r1, r4, 0
_0809AEAC:
	ldrb r0, [r1]
	adds r1, 0x1
	cmp r0, 0xFE
	bne _0809AEBA
	adds r0, r5, 0x3
	lsls r0, 24
	lsrs r5, r0, 24
_0809AEBA:
	ldrb r0, [r1]
	cmp r0, 0xFF
	bne _0809AEAC
_0809AEC0:
	cmp r5, 0x12
	bls _0809AEC6
	movs r5, 0x12
_0809AEC6:
	lsls r0, r2, 24
	lsrs r0, 24
	movs r2, 0x1E
	subs r2, r0
	lsrs r0, r2, 31
	adds r2, r0
	asrs r2, 1
	lsls r2, 24
	adds r0, r5, 0x2
	lsls r0, 24
	lsrs r0, 24
	movs r4, 0x14
	subs r4, r0
	lsrs r0, r4, 31
	adds r4, r0
	asrs r4, 1
	lsls r4, 24
	lsrs r6, r2, 24
	movs r0, 0x80
	lsls r0, 17
	adds r2, r0
	lsrs r2, 24
	lsrs r3, r4, 24
	movs r1, 0x80
	lsls r1, 18
	adds r4, r1
	lsrs r4, 24
	subs r6, r2, r6
	subs r6, 0x1
	lsls r6, 3
	adds r6, 0x3
	lsls r6, 24
	lsrs r6, 24
	subs r4, r3
	subs r4, 0x1
	lsls r4, 27
	lsrs r4, 24
	adds r3, 0x1
	lsls r3, 24
	lsrs r3, 24
	str r7, [sp]
	str r5, [sp, 0x4]
	movs r0, 0xF
	str r0, [sp, 0x8]
	movs r0, 0x1
	str r0, [sp, 0xC]
	add r0, sp, 0x10
	movs r1, 0
	bl sub_8198A50
	ldr r0, [sp, 0x10]
	ldr r1, [sp, 0x14]
	str r0, [sp, 0x18]
	str r1, [sp, 0x1C]
	ldr r5, =gUnknown_03000F30
	mov r0, r8
	bl AddWindow
	strb r0, [r5]
	ldrb r0, [r5]
	movs r1, 0x85
	lsls r1, 2
	movs r2, 0xE0
	bl sub_809882C
	ldrb r0, [r5]
	movs r1, 0
	bl sub_81973FC
	ldrb r0, [r5]
	bl PutWindowTilemap
	ldrb r0, [r5]
	movs r1, 0x11
	bl FillWindowPixelBuffer
	ldrb r0, [r5]
	ldr r2, =gStringVar4
	str r4, [sp]
	movs r1, 0xFF
	str r1, [sp, 0x4]
	movs r1, 0
	str r1, [sp, 0x8]
	movs r1, 0x6
	adds r3, r6, 0
	bl PrintTextOnWindow
	ldrb r0, [r5]
	movs r1, 0x3
	bl CopyWindowToVram
	movs r0, 0
	add sp, 0x20
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809AE6C

	thumb_func_start sub_809AF94
sub_809AF94: @ 809AF94
	push {lr}
	bl sub_809BDB4
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end sub_809AF94

	thumb_func_start sBD_virtual_message
sBD_virtual_message: @ 809AFA0
	push {lr}
	bl ScriptReadWord
	ldr r1, =gUnknown_020375C4
	ldr r1, [r1]
	subs r0, r1
	bl box_related_two__2
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end sBD_virtual_message

	thumb_func_start s7D_load_pokename
s7D_load_pokename: @ 809AFBC
	push {r4,lr}
	ldr r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	ldr r1, =gUnknown_085102D4
	lsls r4, 2
	adds r4, r1
	ldr r2, [r4]
	movs r1, 0xB
	muls r1, r0
	ldr r0, =gSpeciesNames
	adds r1, r0
	adds r0, r2, 0
	bl StringCopy
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s7D_load_pokename

	thumb_func_start s7E_load_first_pokenames
s7E_load_first_pokenames: @ 809AFFC
	push {r4,lr}
	ldr r1, [r0, 0x8]
	ldrb r2, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	ldr r0, =gUnknown_085102D4
	lsls r2, 2
	adds r2, r0
	ldr r4, [r2]
	bl sub_8139688
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x64
	muls r0, r1
	ldr r1, =gPlayerParty
	adds r0, r1
	movs r1, 0xB
	movs r2, 0
	bl GetMonData
	movs r1, 0xB
	muls r1, r0
	ldr r0, =gSpeciesNames
	adds r1, r0
	adds r0, r4, 0
	bl StringCopy
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s7E_load_first_pokenames

	thumb_func_start s7F_load_pokename_team
s7F_load_pokename_team: @ 809B048
	push {r4,lr}
	ldr r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	movs r1, 0x64
	muls r0, r1
	ldr r1, =gPlayerParty
	adds r0, r1
	ldr r1, =gUnknown_085102D4
	lsls r4, 2
	adds r4, r1
	ldr r4, [r4]
	movs r1, 0x2
	adds r2, r4, 0
	bl GetMonData
	adds r0, r4, 0
	bl StringGetEnd10
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s7F_load_pokename_team

	thumb_func_start s80_load_item_name
s80_load_item_name: @ 809B090
	push {r4,lr}
	ldr r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	ldr r1, =gUnknown_085102D4
	lsls r4, 2
	adds r4, r1
	ldr r1, [r4]
	bl CopyItemName
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s80_load_item_name

	thumb_func_start sub_809B0C4
sub_809B0C4: @ 809B0C4
	push {r4-r6,lr}
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r6, [r0]
	adds r0, 0x1
	str r0, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r2, r0, 0
	lsls r2, 16
	lsrs r2, 16
	ldr r0, =gUnknown_085102D4
	lsls r6, 2
	adds r6, r0
	ldr r1, [r6]
	adds r0, r4, 0
	bl CopyItemNameHandlePlural
	movs r0, 0
	pop {r4-r6}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809B0C4

	thumb_func_start sub_809B114
sub_809B114: @ 809B114
	push {r4,lr}
	ldr r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r1, r0, 0
	lsls r1, 16
	ldr r0, =gUnknown_085102D4
	lsls r4, 2
	adds r4, r0
	ldr r0, [r4]
	lsrs r1, 11
	ldr r2, =gUnknown_085A5C09
	adds r1, r2
	bl StringCopy
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809B114

	thumb_func_start s82_load_item_name
s82_load_item_name: @ 809B150
	push {r4,lr}
	ldr r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	ldr r1, =gUnknown_085102D4
	lsls r4, 2
	adds r4, r1
	ldr r2, [r4]
	movs r1, 0xD
	muls r1, r0
	ldr r0, =gMoveNames
	adds r1, r0
	adds r0, r2, 0
	bl StringCopy
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s82_load_item_name

	thumb_func_start s83_load_textvar_var
s83_load_textvar_var: @ 809B190
	push {r4,r5,lr}
	ldr r1, [r0, 0x8]
	ldrb r5, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r4, 0
	bl sub_80EF370
	adds r3, r0, 0
	lsls r3, 24
	lsrs r3, 24
	ldr r0, =gUnknown_085102D4
	lsls r5, 2
	adds r5, r0
	ldr r0, [r5]
	adds r1, r4, 0
	movs r2, 0
	bl ConvertIntToDecimalStringN
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s83_load_textvar_var

	thumb_func_start s84_load_textvar_std_expression
s84_load_textvar_std_expression: @ 809B1D4
	push {r4,lr}
	ldr r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	ldr r1, =gUnknown_085102D4
	lsls r4, 2
	adds r4, r1
	ldr r2, [r4]
	ldr r1, =gUnknown_0858BAF0
	lsrs r0, 14
	adds r0, r1
	ldr r1, [r0]
	adds r0, r2, 0
	bl StringCopy
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s84_load_textvar_std_expression

	thumb_func_start sub_809B214
sub_809B214: @ 809B214
	push {r4,lr}
	ldr r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r1, r0, 0
	ldr r0, =gUnknown_085102D4
	lsls r4, 2
	adds r4, r0
	ldr r0, [r4]
	lsls r1, 24
	lsrs r1, 24
	bl sub_818E868
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809B214

	thumb_func_start s85_load_textvar_pointer
s85_load_textvar_pointer: @ 809B248
	push {r4,lr}
	ldr r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl ScriptReadWord
	adds r1, r0, 0
	ldr r0, =gUnknown_085102D4
	lsls r4, 2
	adds r4, r0
	ldr r0, [r4]
	bl StringCopy
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s85_load_textvar_pointer

	thumb_func_start sBE_virtual_load_text
sBE_virtual_load_text: @ 809B270
	push {lr}
	bl ScriptReadWord
	adds r1, r0, 0
	ldr r0, =gUnknown_020375C4
	ldr r0, [r0]
	subs r1, r0
	ldr r0, =gStringVar4
	bl StringExpandPlaceholders
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end sBE_virtual_load_text

	thumb_func_start sBF_virtual_load_textbuffer
sBF_virtual_load_textbuffer: @ 809B294
	push {r4,lr}
	ldr r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl ScriptReadWord
	adds r1, r0, 0
	ldr r0, =gUnknown_020375C4
	ldr r0, [r0]
	subs r1, r0
	ldr r0, =gUnknown_085102D4
	lsls r4, 2
	adds r4, r0
	ldr r0, [r4]
	bl StringCopy
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sBF_virtual_load_textbuffer

	thumb_func_start sC6_load_textvar_box_label
sC6_load_textvar_box_label: @ 809B2C8
	push {r4,lr}
	ldr r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldr r1, =gUnknown_085102D4
	lsls r4, 2
	adds r4, r1
	ldr r4, [r4]
	lsls r0, 24
	lsrs r0, 24
	bl sav3_get_box_name
	adds r1, r0, 0
	adds r0, r4, 0
	bl StringCopy
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sC6_load_textvar_box_label

	thumb_func_start s79_give_pokemon
s79_give_pokemon: @ 809B304
	push {r4-r6,lr}
	mov r6, r9
	mov r5, r8
	push {r5,r6}
	sub sp, 0x8
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r6, r0, 0
	lsls r6, 16
	lsrs r6, 16
	ldr r0, [r4, 0x8]
	ldrb r1, [r0]
	mov r9, r1
	adds r0, 0x1
	str r0, [r4, 0x8]
	adds r0, r4, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r5, r0, 0
	lsls r5, 16
	lsrs r5, 16
	adds r0, r4, 0
	bl ScriptReadWord
	mov r8, r0
	adds r0, r4, 0
	bl ScriptReadWord
	ldr r1, [r4, 0x8]
	ldrb r2, [r1]
	adds r1, 0x1
	str r1, [r4, 0x8]
	ldr r4, =gScriptResult
	str r0, [sp]
	str r2, [sp, 0x4]
	adds r0, r6, 0
	mov r1, r9
	adds r2, r5, 0
	mov r3, r8
	bl sub_80F9244
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r4]
	movs r0, 0
	add sp, 0x8
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r6}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s79_give_pokemon

	thumb_func_start s7A_create_egg
s7A_create_egg: @ 809B384
	push {r4,lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	ldr r4, =gScriptResult
	bl sub_80F92C8
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r4]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s7A_create_egg

	thumb_func_start s7B_change_pokedata_AP
s7B_change_pokedata_AP: @ 809B3B0
	push {r4,r5,lr}
	ldr r1, [r0, 0x8]
	ldrb r5, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl ScriptReadHalfword
	adds r1, r0, 0
	lsls r1, 16
	lsrs r1, 16
	adds r0, r5, 0
	adds r2, r4, 0
	bl sub_80F9400
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end s7B_change_pokedata_AP

	thumb_func_start sub_809B3DC
sub_809B3DC: @ 809B3DC
	push {r4-r7,lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r7, r0, 16
	ldr r1, =gScriptResult
	movs r0, 0x6
	strh r0, [r1]
	movs r6, 0
	b _0809B42A
	.pool
_0809B3F4:
	adds r0, r4, 0
	movs r1, 0x2D
	bl GetMonData
	cmp r0, 0
	bne _0809B424
	adds r0, r4, 0
	adds r1, r7, 0
	bl pokemon_has_move
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _0809B424
	ldr r0, =gScriptResult
	strh r6, [r0]
	ldr r0, =gSpecialVar_0x8004
	strh r5, [r0]
	b _0809B44A
	.pool
_0809B424:
	adds r0, r6, 0x1
	lsls r0, 24
	lsrs r6, r0, 24
_0809B42A:
	cmp r6, 0x5
	bhi _0809B44A
	movs r0, 0x64
	adds r1, r6, 0
	muls r1, r0
	ldr r0, =gPlayerParty
	adds r4, r1, r0
	adds r0, r4, 0
	movs r1, 0xB
	movs r2, 0
	bl GetMonData
	lsls r0, 16
	lsrs r5, r0, 16
	cmp r5, 0
	bne _0809B3F4
_0809B44A:
	movs r0, 0
	pop {r4-r7}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809B3DC

	thumb_func_start s90_AddMoney
@ int s90_AddMoney(script_env *env)
s90_AddMoney: @ 809B458
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadWord
	adds r2, r0, 0
	ldr r0, [r4, 0x8]
	ldrb r1, [r0]
	adds r0, 0x1
	str r0, [r4, 0x8]
	cmp r1, 0
	bne _0809B47E
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	movs r1, 0x92
	lsls r1, 3
	adds r0, r1
	adds r1, r2, 0
	bl AddMoney
_0809B47E:
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s90_AddMoney

	thumb_func_start s91_SubtractMoney
@ int s91_SubtractMoney(script_env *env)
s91_SubtractMoney: @ 809B48C
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadWord
	adds r2, r0, 0
	ldr r0, [r4, 0x8]
	ldrb r1, [r0]
	adds r0, 0x1
	str r0, [r4, 0x8]
	cmp r1, 0
	bne _0809B4B2
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	movs r1, 0x92
	lsls r1, 3
	adds r0, r1
	adds r1, r2, 0
	bl SubtractMoney
_0809B4B2:
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s91_SubtractMoney

	thumb_func_start s92_check_money
@ int s92_check_money(script_env *env)
s92_check_money: @ 809B4C0
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadWord
	adds r2, r0, 0
	ldr r0, [r4, 0x8]
	ldrb r1, [r0]
	adds r0, 0x1
	str r0, [r4, 0x8]
	cmp r1, 0
	bne _0809B4EE
	ldr r4, =gScriptResult
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	movs r1, 0x92
	lsls r1, 3
	adds r0, r1
	adds r1, r2, 0
	bl IsEnoughMoney
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r4]
_0809B4EE:
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s92_check_money

	thumb_func_start s93_display_money
@ int s93_display_money(script_env *env)
s93_display_money: @ 809B500
	push {r4,r5,lr}
	ldr r1, [r0, 0x8]
	ldrb r5, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r2, r1, 0x1
	str r2, [r0, 0x8]
	ldrb r1, [r1, 0x1]
	adds r2, 0x1
	str r2, [r0, 0x8]
	cmp r1, 0
	bne _0809B530
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	movs r1, 0x92
	lsls r1, 3
	adds r0, r1
	bl GetMoney
	adds r1, r5, 0
	adds r2, r4, 0
	bl sub_80E52EC
_0809B530:
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s93_display_money

	thumb_func_start s94_hide_money
s94_hide_money: @ 809B53C
	push {lr}
	bl sub_80E5384
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s94_hide_money

	thumb_func_start s95_update_money
@ int s95_update_money(script_env *env)
s95_update_money: @ 809B548
	push {lr}
	ldr r1, [r0, 0x8]
	adds r1, 0x1
	adds r2, r1, 0x1
	str r2, [r0, 0x8]
	ldrb r1, [r1, 0x1]
	adds r2, 0x1
	str r2, [r0, 0x8]
	cmp r1, 0
	bne _0809B56E
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	movs r1, 0x92
	lsls r1, 3
	adds r0, r1
	bl GetMoney
	bl sub_80E52D4
_0809B56E:
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end s95_update_money

	thumb_func_start sub_809B578
sub_809B578: @ 809B578
	push {r4,r5,lr}
	ldr r1, [r0, 0x8]
	ldrb r5, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl GetCoins
	lsls r0, 16
	lsrs r0, 16
	adds r1, r5, 0
	adds r2, r4, 0
	bl ShowCoinsWindow
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end sub_809B578

	thumb_func_start sC1_hide_coins
sC1_hide_coins: @ 809B5A0
	push {lr}
	ldr r1, [r0, 0x8]
	adds r1, 0x2
	str r1, [r0, 0x8]
	bl HideCoinsWindow
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end sC1_hide_coins

	thumb_func_start sC2_update_coins
sC2_update_coins: @ 809B5B4
	push {lr}
	ldr r1, [r0, 0x8]
	adds r1, 0x2
	str r1, [r0, 0x8]
	bl GetCoins
	lsls r0, 16
	lsrs r0, 16
	bl PrintCoinsString
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end sC2_update_coins

	thumb_func_start s5C_trainer_battle_configure_and_start
s5C_trainer_battle_configure_and_start: @ 809B5D0
	push {r4,lr}
	adds r4, r0, 0
	ldr r0, [r4, 0x8]
	bl TrainerBattleConfigure
	str r0, [r4, 0x8]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s5C_trainer_battle_configure_and_start

	thumb_func_start sub_809B5E4
sub_809B5E4: @ 809B5E4
	push {lr}
	bl sub_80B17E0
	movs r0, 0x1
	pop {r1}
	bx r1
	thumb_func_end sub_809B5E4

	thumb_func_start sub_809B5F0
sub_809B5F0: @ 809B5F0
	push {r4,lr}
	adds r4, r0, 0
	bl sub_80B1AF8
	str r0, [r4, 0x8]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_809B5F0

	thumb_func_start sub_809B604
@ bool8 sub_809B604(struct script_env *env)
sub_809B604: @ 809B604
	push {r4,lr}
	adds r4, r0, 0
	bl sub_80B1B10
	str r0, [r4, 0x8]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_809B604

	thumb_func_start s60_check_trainer_flag
s60_check_trainer_flag: @ 809B618
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	bl trainer_flag_check
	strb r0, [r4, 0x2]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end s60_check_trainer_flag

	thumb_func_start s61_set_trainer_flag
s61_set_trainer_flag: @ 809B63C
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	bl trainer_flag_set
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s61_set_trainer_flag

	thumb_func_start s62_unset_trainer_flag
s62_unset_trainer_flag: @ 809B658
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	bl trainer_flag_clear
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s62_unset_trainer_flag

	thumb_func_start sB6_load_battle
sB6_load_battle: @ 809B674
	push {r4-r6,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	adds r5, r0, 0
	lsls r5, 16
	lsrs r5, 16
	ldr r0, [r4, 0x8]
	ldrb r6, [r0]
	adds r0, 0x1
	str r0, [r4, 0x8]
	adds r0, r4, 0
	bl ScriptReadHalfword
	adds r2, r0, 0
	lsls r2, 16
	lsrs r2, 16
	adds r0, r5, 0
	adds r1, r6, 0
	bl sub_80F93A0
	movs r0, 0
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sB6_load_battle

	thumb_func_start sub_809B6A8
sub_809B6A8: @ 809B6A8
	push {lr}
	bl sub_80B08A8
	bl ScriptContext1_Stop
	movs r0, 0x1
	pop {r1}
	bx r1
	thumb_func_end sub_809B6A8

	thumb_func_start s86_pokemart
s86_pokemart: @ 809B6B8
	push {lr}
	bl ScriptReadWord
	bl CreatePokemartMenu
	bl ScriptContext1_Stop
	movs r0, 0x1
	pop {r1}
	bx r1
	thumb_func_end s86_pokemart

	thumb_func_start s87_pokemartdecor
s87_pokemartdecor: @ 809B6CC
	push {lr}
	bl ScriptReadWord
	bl CreateDecorationShop1Menu
	bl ScriptContext1_Stop
	movs r0, 0x1
	pop {r1}
	bx r1
	thumb_func_end s87_pokemartdecor

	thumb_func_start s88_pokemartbp
s88_pokemartbp: @ 809B6E0
	push {lr}
	bl ScriptReadWord
	bl CreateDecorationShop2Menu
	bl ScriptContext1_Stop
	movs r0, 0x1
	pop {r1}
	bx r1
	thumb_func_end s88_pokemartbp

	thumb_func_start s89_open_casino_game1
s89_open_casino_game1: @ 809B6F4
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 24
	lsrs r0, 24
	ldr r1, =c2_exit_to_overworld_1_continue_scripts_restart_music
	bl sub_812A540
	bl ScriptContext1_Stop
	movs r0, 0x1
	pop {r1}
	bx r1
	.pool
	thumb_func_end s89_open_casino_game1

	thumb_func_start berry_script_cmd
@ bool8 berry_script_cmd(struct script_env *env)
berry_script_cmd: @ 809B71C
	push {r4,r5,lr}
	ldr r1, [r0, 0x8]
	ldrb r5, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	ldrb r3, [r1]
	adds r2, r1, 0x1
	str r2, [r0, 0x8]
	ldrb r4, [r1, 0x1]
	adds r2, 0x1
	str r2, [r0, 0x8]
	cmp r3, 0
	bne _0809B744
	adds r0, r5, 0
	movs r1, 0
	adds r2, r4, 0
	movs r3, 0
	bl PlantBerryTree
	b _0809B750
_0809B744:
	adds r0, r5, 0
	adds r1, r3, 0
	adds r2, r4, 0
	movs r3, 0
	bl PlantBerryTree
_0809B750:
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end berry_script_cmd

	thumb_func_start sub_809B758
sub_809B758: @ 809B758
	push {r4,lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldr r4, =gScriptResult
	lsls r0, 24
	lsrs r0, 24
	bl GetPriceReduction
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r4]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809B758

	thumb_func_start sub_809B784
sub_809B784: @ 809B784
	push {lr}
	bl sub_81B9404
	bl ScriptContext1_Stop
	movs r0, 0x1
	pop {r1}
	bx r1
	thumb_func_end sub_809B784

	thumb_func_start sub_809B794
sub_809B794: @ 809B794
	push {lr}
	bl sub_80F840C
	bl ScriptContext1_Stop
	movs r0, 0x1
	pop {r1}
	bx r1
	thumb_func_end sub_809B794

	thumb_func_start sub_809B7A4
sub_809B7A4: @ 809B7A4
	push {lr}
	bl sub_80F8484
	bl ScriptContext1_Stop
	movs r0, 0x1
	pop {r1}
	bx r1
	thumb_func_end sub_809B7A4

	thumb_func_start sub_809B7B4
sub_809B7B4: @ 809B7B4
	push {lr}
	ldr r0, =gUnknown_02039F2C
	ldrb r0, [r0]
	bl sub_80F84C4
	bl ScriptContext1_Stop
	movs r0, 0x1
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809B7B4

	thumb_func_start s9C_execute_HM
s9C_execute_HM: @ 809B7CC
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	ldr r1, =gUnknown_020375D0
	strh r0, [r1]
	lsls r0, 24
	lsrs r0, 24
	bl FieldEffectStart
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end s9C_execute_HM

	thumb_func_start s9D_set_HM_animation_data
s9D_set_HM_animation_data: @ 809B7F4
	push {r4,lr}
	ldr r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldr r1, =gFieldEffectSpawnParams
	lsls r4, 2
	adds r4, r1
	lsls r0, 16
	asrs r0, 16
	str r0, [r4]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s9D_set_HM_animation_data

	thumb_func_start sub_809B824
sub_809B824: @ 809B824
	push {lr}
	ldr r0, =gUnknown_020375D0
	ldrb r0, [r0]
	bl FieldEffectActiveListContains
	lsls r0, 24
	cmp r0, 0
	beq _0809B83C
	movs r0, 0
	b _0809B83E
	.pool
_0809B83C:
	movs r0, 0x1
_0809B83E:
	pop {r1}
	bx r1
	thumb_func_end sub_809B824

	thumb_func_start s9E_checkarray_HM_animation
s9E_checkarray_HM_animation: @ 809B844
	push {r4,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	ldr r1, =gUnknown_020375D0
	strh r0, [r1]
	ldr r1, =sub_809B824
	adds r0, r4, 0
	bl SetupNativeScript
	movs r0, 0x1
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end s9E_checkarray_HM_animation

	thumb_func_start s9F_changeposition_fly
s9F_changeposition_fly: @ 809B870
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 24
	lsrs r0, 24
	bl sub_8084D1C
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end s9F_changeposition_fly

	thumb_func_start sA0_check_gender
sA0_check_gender: @ 809B88C
	ldr r1, =gScriptResult
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldrb r0, [r0, 0x8]
	strh r0, [r1]
	movs r0, 0
	bx lr
	.pool
	thumb_func_end sA0_check_gender

	thumb_func_start sA1_play_cry
sA1_play_cry: @ 809B8A4
	push {r4,r5,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r1, r0, 0
	lsls r1, 24
	lsrs r1, 24
	adds r0, r4, 0
	bl PlayCry5
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end sA1_play_cry

	thumb_func_start sub_809B8DC
sub_809B8DC: @ 809B8DC
	push {lr}
	ldr r1, =IsCryFinished
	bl SetupNativeScript
	movs r0, 0x1
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809B8DC

	thumb_func_start sA2_setmaptile
sA2_setmaptile: @ 809B8F0
	push {r4-r7,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r6, r0, 16
	adds r0, r4, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r5, r0, 16
	adds r0, r4, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r7, r0, 16
	adds r0, r4, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	adds r1, r6, 0x7
	lsls r1, 16
	lsrs r6, r1, 16
	adds r1, r5, 0x7
	lsls r1, 16
	lsrs r5, r1, 16
	cmp r0, 0
	bne _0809B954
	adds r0, r6, 0
	adds r1, r5, 0
	adds r2, r7, 0
	bl MapGridSetMetatileIdAt
	b _0809B966
_0809B954:
	movs r1, 0xC0
	lsls r1, 4
	adds r0, r1, 0
	adds r2, r7, 0
	orrs r2, r0
	adds r0, r6, 0
	adds r1, r5, 0
	bl MapGridSetMetatileIdAt
_0809B966:
	movs r0, 0
	pop {r4-r7}
	pop {r1}
	bx r1
	thumb_func_end sA2_setmaptile

	thumb_func_start sAC_open_door
sAC_open_door: @ 809B970
	push {r4,r5,lr}
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r5, r0, 0
	lsls r5, 16
	lsrs r5, 16
	adds r0, r4, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	adds r5, 0x7
	lsls r5, 16
	lsrs r5, 16
	movs r0, 0xE0
	lsls r0, 11
	adds r4, r0
	lsrs r4, 16
	adds r0, r5, 0
	adds r1, r4, 0
	bl cur_mapdata_get_door_sound_at
	lsls r0, 16
	lsrs r0, 16
	bl PlaySE
	adds r0, r5, 0
	adds r1, r4, 0
	bl task_overworld_door_add_if_role_69_for_opening_door_at
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end sAC_open_door

	thumb_func_start sub_809B9C8
sub_809B9C8: @ 809B9C8
	push {r4,r5,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r1, r0, 0
	lsls r1, 16
	adds r4, 0x7
	lsls r4, 16
	lsrs r4, 16
	movs r0, 0xE0
	lsls r0, 11
	adds r1, r0
	lsrs r1, 16
	adds r0, r4, 0
	bl sub_808A8AC
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end sub_809B9C8

	thumb_func_start sub_809BA0C
sub_809BA0C: @ 809BA0C
	push {lr}
	bl sub_808A91C
	lsls r0, 24
	cmp r0, 0
	beq _0809BA1C
	movs r0, 0
	b _0809BA1E
_0809BA1C:
	movs r0, 0x1
_0809BA1E:
	pop {r1}
	bx r1
	thumb_func_end sub_809BA0C

	thumb_func_start sub_809BA24
sub_809BA24: @ 809BA24
	push {lr}
	ldr r1, =sub_809BA0C
	bl SetupNativeScript
	movs r0, 0x1
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809BA24

	thumb_func_start sub_809BA38
sub_809BA38: @ 809BA38
	push {r4,r5,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r1, r0, 0
	lsls r1, 16
	adds r4, 0x7
	lsls r4, 16
	lsrs r4, 16
	movs r0, 0xE0
	lsls r0, 11
	adds r1, r0
	lsrs r1, 16
	adds r0, r4, 0
	bl sub_808A854
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end sub_809BA38

	thumb_func_start sub_809BA7C
sub_809BA7C: @ 809BA7C
	push {r4,r5,lr}
	adds r5, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r1, r0, 0
	lsls r1, 16
	adds r4, 0x7
	lsls r4, 16
	lsrs r4, 16
	movs r0, 0xE0
	lsls r0, 11
	adds r1, r0
	lsrs r1, 16
	adds r0, r4, 0
	bl sub_808A880
	movs r0, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end sub_809BA7C

	thumb_func_start sub_809BAC0
sub_809BAC0: @ 809BAC0
	push {r4,lr}
	adds r4, r0, 0
	ldr r0, [r4, 0x8]
	adds r0, 0x1
	str r0, [r4, 0x8]
	adds r0, r4, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r0, r4, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r0, r4, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_809BAC0

	thumb_func_start sub_809BAFC
sub_809BAFC: @ 809BAFC
	movs r0, 0
	bx lr
	thumb_func_end sub_809BAFC

	thumb_func_start sB3_get_coin_amount
sB3_get_coin_amount: @ 809BB00
	push {r4,lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl GetVarPointer
	adds r4, r0, 0
	bl GetCoins
	strh r0, [r4]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sB3_get_coin_amount

	thumb_func_start sub_809BB20
sub_809BB20: @ 809BB20
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	bl AddCoins
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _0809BB48
	ldr r1, =gScriptResult
	movs r0, 0
	b _0809BB4C
	.pool
_0809BB48:
	ldr r1, =gScriptResult
	movs r0, 0x1
_0809BB4C:
	strh r0, [r1]
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809BB20

	thumb_func_start sub_809BB58
sub_809BB58: @ 809BB58
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	bl SubtractCoins
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _0809BB80
	ldr r1, =gScriptResult
	movs r0, 0
	b _0809BB84
	.pool
_0809BB80:
	ldr r1, =gScriptResult
	movs r0, 0x1
_0809BB84:
	strh r0, [r1]
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809BB58

	thumb_func_start sub_809BB90
sub_809BB90: @ 809BB90
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 24
	lsrs r0, 24
	bl sub_81A89A0
	ldr r1, =gUnknown_020375CA
	strh r0, [r1]
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809BB90

	thumb_func_start sub_809BBB4
sub_809BBB4: @ 809BBB4
	push {lr}
	bl sub_81A8AF8
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end sub_809BBB4

	thumb_func_start ScrCmd_MossdeepGymSwitch
ScrCmd_MossdeepGymSwitch: @ 809BBC0
	push {lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 24
	lsrs r0, 24
	bl sub_81A8934
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end ScrCmd_MossdeepGymSwitch

	thumb_func_start sub_809BBDC
sub_809BBDC: @ 809BBDC
	push {lr}
	bl sub_81A895C
	movs r0, 0
	pop {r1}
	bx r1
	thumb_func_end sub_809BBDC

	thumb_func_start sub_809BBE8
sub_809BBE8: @ 809BBE8
	push {lr}
	bl sub_80B47BC
	ldr r1, =gSelectedMapObject
	strb r0, [r1]
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809BBE8

	thumb_func_start sub_809BBFC
sub_809BBFC: @ 809BBFC
	push {r4,lr}
	adds r4, r0, 0
	bl is_c1_link_related_active
	cmp r0, 0
	beq _0809BC0C
	movs r0, 0
	b _0809BC30
_0809BC0C:
	ldr r2, =gMapObjects
	ldr r0, =gSelectedMapObject
	ldrb r1, [r0]
	lsls r0, r1, 3
	adds r0, r1
	lsls r0, 2
	adds r0, r2
	ldrb r0, [r0]
	lsls r0, 31
	cmp r0, 0
	beq _0809BC2E
	bl sub_8098630
	ldr r1, =sub_8098734
	adds r0, r4, 0
	bl SetupNativeScript
_0809BC2E:
	movs r0, 0x1
_0809BC30:
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809BBFC

	thumb_func_start sCD_set_obedient_bit
sCD_set_obedient_bit: @ 809BC44
	push {lr}
	sub sp, 0x4
	movs r2, 0x1
	mov r1, sp
	strb r2, [r1]
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	movs r1, 0x64
	muls r0, r1
	ldr r1, =gPlayerParty
	adds r0, r1
	movs r1, 0x50
	mov r2, sp
	bl SetMonData
	movs r0, 0
	add sp, 0x4
	pop {r1}
	bx r1
	.pool
	thumb_func_end sCD_set_obedient_bit

	thumb_func_start sCE_check_obedient_bit
sCE_check_obedient_bit: @ 809BC7C
	push {r4,lr}
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	ldr r4, =gScriptResult
	movs r1, 0x64
	muls r0, r1
	ldr r1, =gPlayerParty
	adds r0, r1
	movs r1, 0x50
	movs r2, 0
	bl GetMonData
	strh r0, [r4]
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sCE_check_obedient_bit

	thumb_func_start sCF_execute_RAM_script_DMA
sCF_execute_RAM_script_DMA: @ 809BCB4
	push {r4,lr}
	adds r4, r0, 0
	bl sub_8099244
	adds r2, r0, 0
	cmp r2, 0
	beq _0809BCD0
	ldr r1, =gUnknown_020375C0
	ldr r0, [r4, 0x8]
	str r0, [r1]
	adds r0, r4, 0
	adds r1, r2, 0
	bl ScriptJump
_0809BCD0:
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sCF_execute_RAM_script_DMA

	thumb_func_start sD1_warp_v5
sD1_warp_v5: @ 809BCDC
	push {r4-r6,lr}
	mov r6, r9
	mov r5, r8
	push {r5,r6}
	sub sp, 0x4
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r9, r1
	adds r0, 0x1
	str r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r8, r1
	adds r1, r0, 0x1
	str r1, [r5, 0x8]
	ldrb r6, [r0, 0x1]
	adds r1, 0x1
	str r1, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	mov r1, r9
	lsls r1, 24
	asrs r1, 24
	mov r9, r1
	mov r1, r8
	lsls r1, 24
	asrs r1, 24
	mov r8, r1
	lsls r6, 24
	asrs r6, 24
	lsls r4, 24
	asrs r4, 24
	lsls r0, 24
	asrs r0, 24
	str r0, [sp]
	mov r0, r9
	adds r2, r6, 0
	adds r3, r4, 0
	bl warp1_set
	bl player_get_direction_lower_nybble
	lsls r0, 24
	lsrs r0, 24
	bl sub_808D074
	bl sub_80B0244
	bl player_avatar_init_params_reset
	movs r0, 0x1
	add sp, 0x4
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sD1_warp_v5

	thumb_func_start sub_809BD70
sub_809BD70: @ 809BD70
	push {r4,lr}
	sub sp, 0x4
	adds r4, r0, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r3, r0, 16
	ldr r0, [r4, 0x8]
	ldrb r2, [r0]
	mov r1, sp
	strb r2, [r1]
	adds r0, 0x1
	str r0, [r4, 0x8]
	cmp r3, 0x5
	bhi _0809BDA6
	movs r0, 0x64
	muls r0, r3
	ldr r1, =gPlayerParty
	adds r0, r1
	movs r1, 0x23
	mov r2, sp
	bl SetMonData
_0809BDA6:
	movs r0, 0
	add sp, 0x4
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809BD70

	thumb_func_start sub_809BDB4
sub_809BDB4: @ 809BDB4
	push {r4,lr}
	ldr r4, =gUnknown_03000F30
	ldrb r0, [r4]
	movs r1, 0x1
	bl sub_819746C
	ldrb r0, [r4]
	bl RemoveWindow
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_809BDB4

	thumb_func_start sub_809BDD0
sub_809BDD0: @ 809BDD0
	push {r4,lr}
	ldr r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	ldr r1, =gUnknown_085102D4
	lsls r4, 2
	adds r4, r1
	ldr r4, [r4]
	bl GetTrainerClassNameFromId
	adds r1, r0, 0
	adds r0, r4, 0
	bl StringCopy
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809BDD0

	thumb_func_start sub_809BE0C
sub_809BE0C: @ 809BE0C
	push {r4,lr}
	ldr r1, [r0, 0x8]
	ldrb r4, [r1]
	adds r1, 0x1
	str r1, [r0, 0x8]
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	ldr r1, =gUnknown_085102D4
	lsls r4, 2
	adds r4, r1
	ldr r4, [r4]
	bl GetTrainerNameFromId
	adds r1, r0, 0
	adds r0, r4, 0
	bl StringCopy
	movs r0, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_809BE0C

	thumb_func_start sub_809BE48
sub_809BE48: @ 809BE48
	ldr r1, =gUnknown_020375CA
	strh r0, [r1]
	bx lr
	.pool
	thumb_func_end sub_809BE48

	thumb_func_start sub_809BE54
sub_809BE54: @ 809BE54
	push {r4-r6,lr}
	mov r6, r9
	mov r5, r8
	push {r5,r6}
	sub sp, 0x4
	adds r5, r0, 0
	ldr r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r9, r1
	adds r0, 0x1
	str r0, [r5, 0x8]
	ldrb r1, [r0]
	mov r8, r1
	adds r1, r0, 0x1
	str r1, [r5, 0x8]
	ldrb r6, [r0, 0x1]
	adds r1, 0x1
	str r1, [r5, 0x8]
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	adds r0, r5, 0
	bl ScriptReadHalfword
	lsls r0, 16
	lsrs r0, 16
	bl VarGet
	mov r1, r9
	lsls r1, 24
	asrs r1, 24
	mov r9, r1
	mov r1, r8
	lsls r1, 24
	asrs r1, 24
	mov r8, r1
	lsls r6, 24
	asrs r6, 24
	lsls r4, 24
	asrs r4, 24
	lsls r0, 24
	asrs r0, 24
	str r0, [sp]
	mov r0, r9
	adds r2, r6, 0
	adds r3, r4, 0
	bl warp1_set
	bl sub_80AF79C
	bl player_avatar_init_params_reset
	movs r0, 0x1
	add sp, 0x4
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sub_809BE54

	.align 2, 0 @ Don't pad with nop.
