pokeruby/asm/battle_6.s
2017-05-21 20:21:00 +02:00

5485 lines
98 KiB
ArmAsm

.include "constants/gba_constants.inc"
.include "constants/species_constants.inc"
.include "asm/macros.inc"
.syntax unified
.text
thumb_func_start dp01t_00_1_getattr
dp01t_00_1_getattr: @ 802E4D0
push {r4-r6,lr}
sub sp, 0x100
movs r6, 0
ldr r1, _0802E4FC @ =gUnknown_02023A60
ldr r0, _0802E500 @ =gUnknown_02024A60
ldrb r2, [r0]
lsls r0, r2, 9
adds r1, 0x2
adds r1, r0, r1
ldrb r0, [r1]
cmp r0, 0
bne _0802E508
ldr r0, _0802E504 @ =gUnknown_02024A6A
lsls r1, r2, 1
adds r1, r0
ldrb r0, [r1]
mov r1, sp
bl dp01_getattr_by_ch1_for_player_pokemon_
adds r6, r0, 0
b _0802E52A
.align 2, 0
_0802E4FC: .4byte gUnknown_02023A60
_0802E500: .4byte gUnknown_02024A60
_0802E504: .4byte gUnknown_02024A6A
_0802E508:
ldrb r4, [r1]
movs r5, 0
_0802E50C:
movs r0, 0x1
ands r0, r4
cmp r0, 0
beq _0802E522
lsls r0, r5, 24
lsrs r0, 24
mov r2, sp
adds r1, r2, r6
bl dp01_getattr_by_ch1_for_player_pokemon_
adds r6, r0
_0802E522:
lsrs r4, 1
adds r5, 0x1
cmp r5, 0x5
ble _0802E50C
_0802E52A:
lsls r1, r6, 16
lsrs r1, 16
movs r0, 0x1
mov r2, sp
bl dp01_build_cmdbuf_x1D_1D_numargs_varargs
bl dp01_tbl1_exec_completed
add sp, 0x100
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end dp01t_00_1_getattr
thumb_func_start dp01_getattr_by_ch1_for_player_pokemon_
dp01_getattr_by_ch1_for_player_pokemon_: @ 802E544
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x90
adds r7, r1, 0
lsls r0, 24
lsrs r5, r0, 24
movs r6, 0
ldr r2, _0802E578 @ =gUnknown_02023A60
ldr r3, _0802E57C @ =gUnknown_02024A60
ldrb r0, [r3]
lsls r0, 9
adds r1, r2, 0x1
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x3B
bls _0802E56E
bl _0802ECDA
_0802E56E:
lsls r0, 2
ldr r1, _0802E580 @ =_0802E584
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0802E578: .4byte gUnknown_02023A60
_0802E57C: .4byte gUnknown_02024A60
_0802E580: .4byte _0802E584
.align 2, 0
_0802E584:
.4byte _0802E674
.4byte _0802E898
.4byte _0802E8A8
.4byte _0802E8B8
.4byte _0802E920
.4byte _0802E920
.4byte _0802E920
.4byte _0802E920
.4byte _0802E93C
.4byte _0802E978
.4byte _0802E978
.4byte _0802E978
.4byte _0802E978
.4byte _0802ECDA
.4byte _0802ECDA
.4byte _0802ECDA
.4byte _0802ECDA
.4byte _0802E994
.4byte _0802E9A4
.4byte _0802E9D4
.4byte _0802E9E4
.4byte _0802E9F4
.4byte _0802EA04
.4byte _0802EA14
.4byte _0802EA24
.4byte _0802EA34
.4byte _0802EA44
.4byte _0802EA54
.4byte _0802EA64
.4byte _0802EA74
.4byte _0802EA84
.4byte _0802EA94
.4byte _0802EAE4
.4byte _0802EAF4
.4byte _0802EB04
.4byte _0802EB14
.4byte _0802EB24
.4byte _0802EB34
.4byte _0802EB44
.4byte _0802EB54
.4byte _0802EB64
.4byte _0802EB98
.4byte _0802EBA8
.4byte _0802EBB8
.4byte _0802EBC8
.4byte _0802EBD8
.4byte _0802EBE8
.4byte _0802EBF8
.4byte _0802EC08
.4byte _0802EC28
.4byte _0802EC38
.4byte _0802EC48
.4byte _0802EC58
.4byte _0802EC68
.4byte _0802EC78
.4byte _0802EC88
.4byte _0802EC98
.4byte _0802ECA8
.4byte _0802ECB8
.4byte _0802ECC8
_0802E674:
movs r0, 0x64
adds r4, r5, 0
muls r4, r0
ldr r0, _0802E888 @ =gPlayerParty
adds r4, r0
adds r0, r4, 0
movs r1, 0xB
bl GetMonData
mov r1, sp
strh r0, [r1]
adds r0, r4, 0
movs r1, 0xC
bl GetMonData
mov r1, sp
strh r0, [r1, 0x2E]
movs r6, 0
add r0, sp, 0x24
mov r9, r0
movs r1, 0x3B
add r1, sp
mov r10, r1
mov r2, sp
adds r2, 0x2B
str r2, [sp, 0x80]
mov r0, sp
adds r0, 0x2A
str r0, [sp, 0x7C]
mov r1, sp
adds r1, 0x68
str r1, [sp, 0x8C]
adds r2, 0x5
str r2, [sp, 0x84]
adds r0, 0x12
str r0, [sp, 0x88]
mov r8, r4
add r4, sp, 0xC
_0802E6C0:
adds r1, r6, 0
adds r1, 0xD
mov r0, r8
bl GetMonData
strh r0, [r4]
adds r1, r6, 0
adds r1, 0x11
mov r0, r8
bl GetMonData
mov r2, r9
adds r1, r2, r6
strb r0, [r1]
adds r4, 0x2
adds r6, 0x1
cmp r6, 0x3
ble _0802E6C0
movs r0, 0x64
adds r4, r5, 0
muls r4, r0
ldr r0, _0802E888 @ =gPlayerParty
adds r4, r0
adds r0, r4, 0
movs r1, 0x15
bl GetMonData
mov r1, r10
strb r0, [r1]
adds r0, r4, 0
movs r1, 0x20
bl GetMonData
ldr r2, [sp, 0x80]
strb r0, [r2]
adds r0, r4, 0
movs r1, 0x19
bl GetMonData
str r0, [sp, 0x44]
adds r0, r4, 0
movs r1, 0x27
bl GetMonData
mov r3, sp
movs r5, 0x1F
ands r0, r5
ldrb r2, [r3, 0x14]
movs r1, 0x20
negs r1, r1
ands r1, r2
orrs r1, r0
strb r1, [r3, 0x14]
adds r0, r4, 0
movs r1, 0x28
bl GetMonData
mov r3, sp
movs r6, 0x1F
ands r0, r6
lsls r0, 5
ldrh r2, [r3, 0x14]
ldr r1, _0802E88C @ =0xfffffc1f
ands r1, r2
orrs r1, r0
strh r1, [r3, 0x14]
adds r0, r4, 0
movs r1, 0x29
bl GetMonData
mov r3, sp
ands r0, r5
lsls r0, 2
ldrb r2, [r3, 0x15]
movs r1, 0x7D
negs r1, r1
ands r1, r2
orrs r1, r0
strb r1, [r3, 0x15]
adds r0, r4, 0
movs r1, 0x2A
bl GetMonData
movs r1, 0x1F
ands r1, r0
lsls r1, 15
ldr r0, [sp, 0x14]
ldr r2, _0802E890 @ =0xfff07fff
ands r0, r2
orrs r0, r1
str r0, [sp, 0x14]
adds r0, r4, 0
movs r1, 0x2B
bl GetMonData
mov r3, sp
ands r0, r6
lsls r0, 4
ldrh r2, [r3, 0x16]
ldr r1, _0802E894 @ =0xfffffe0f
ands r1, r2
orrs r1, r0
strh r1, [r3, 0x16]
adds r0, r4, 0
movs r1, 0x2C
bl GetMonData
mov r3, sp
ands r0, r5
lsls r0, 1
ldrb r2, [r3, 0x17]
movs r1, 0x3F
negs r1, r1
ands r1, r2
orrs r1, r0
strb r1, [r3, 0x17]
adds r0, r4, 0
movs r1, 0
bl GetMonData
str r0, [sp, 0x48]
adds r0, r4, 0
movs r1, 0x37
bl GetMonData
str r0, [sp, 0x4C]
adds r0, r4, 0
movs r1, 0x38
bl GetMonData
ldr r1, [sp, 0x7C]
strb r0, [r1]
adds r0, r4, 0
movs r1, 0x39
bl GetMonData
mov r1, sp
strh r0, [r1, 0x28]
adds r0, r4, 0
movs r1, 0x3A
bl GetMonData
mov r1, sp
strh r0, [r1, 0x2C]
adds r0, r4, 0
movs r1, 0x3B
bl GetMonData
mov r1, sp
strh r0, [r1, 0x2]
adds r0, r4, 0
movs r1, 0x3C
bl GetMonData
mov r1, sp
strh r0, [r1, 0x4]
adds r0, r4, 0
movs r1, 0x3D
bl GetMonData
mov r1, sp
strh r0, [r1, 0x6]
adds r0, r4, 0
movs r1, 0x3E
bl GetMonData
mov r1, sp
strh r0, [r1, 0x8]
adds r0, r4, 0
movs r1, 0x3F
bl GetMonData
mov r1, sp
strh r0, [r1, 0xA]
adds r0, r4, 0
movs r1, 0x2D
bl GetMonData
mov r3, sp
movs r1, 0x1
ands r0, r1
lsls r0, 6
ldrb r2, [r3, 0x17]
movs r1, 0x41
negs r1, r1
ands r1, r2
orrs r1, r0
strb r1, [r3, 0x17]
adds r0, r4, 0
movs r1, 0x2E
bl GetMonData
mov r3, sp
lsls r0, 7
ldrb r2, [r3, 0x17]
movs r1, 0x7F
ands r1, r2
orrs r1, r0
strb r1, [r3, 0x17]
adds r0, r4, 0
movs r1, 0x1
bl GetMonData
str r0, [sp, 0x54]
adds r0, r4, 0
movs r1, 0x2
ldr r2, [sp, 0x8C]
bl GetMonData
ldr r0, [sp, 0x84]
ldr r1, [sp, 0x8C]
bl StringCopy10
adds r0, r4, 0
movs r1, 0x7
ldr r2, [sp, 0x88]
bl GetMonData
mov r2, sp
movs r6, 0
_0802E878:
adds r0, r7, r6
adds r1, r2, r6
ldrb r1, [r1]
strb r1, [r0]
adds r6, 0x1
cmp r6, 0x57
bls _0802E878
b _0802ECDA
.align 2, 0
_0802E888: .4byte gPlayerParty
_0802E88C: .4byte 0xfffffc1f
_0802E890: .4byte 0xfff07fff
_0802E894: .4byte 0xfffffe0f
_0802E898:
movs r0, 0x64
muls r0, r5
ldr r1, _0802E8A4 @ =gPlayerParty
adds r0, r1
movs r1, 0xB
b _0802EC12
.align 2, 0
_0802E8A4: .4byte gPlayerParty
_0802E8A8:
movs r0, 0x64
muls r0, r5
ldr r1, _0802E8B4 @ =gPlayerParty
adds r0, r1
movs r1, 0xC
b _0802EC12
.align 2, 0
_0802E8B4: .4byte gPlayerParty
_0802E8B8:
movs r6, 0
add r2, sp, 0x58
mov r9, r2
add r0, sp, 0x60
mov r10, r0
movs r0, 0x64
adds r1, r5, 0
muls r1, r0
ldr r0, _0802E91C @ =gPlayerParty
adds r4, r1, r0
mov r8, r9
_0802E8CE:
adds r1, r6, 0
adds r1, 0xD
adds r0, r4, 0
bl GetMonData
mov r1, r8
strh r0, [r1]
adds r1, r6, 0
adds r1, 0x11
adds r0, r4, 0
bl GetMonData
mov r2, r10
adds r1, r2, r6
strb r0, [r1]
movs r0, 0x2
add r8, r0
adds r6, 0x1
cmp r6, 0x3
ble _0802E8CE
movs r0, 0x64
muls r0, r5
ldr r1, _0802E91C @ =gPlayerParty
adds r0, r1
movs r1, 0x15
bl GetMonData
mov r1, r9
strb r0, [r1, 0xC]
mov r2, r9
movs r6, 0
_0802E90C:
adds r0, r7, r6
adds r1, r2, r6
ldrb r1, [r1]
strb r1, [r0]
adds r6, 0x1
cmp r6, 0xF
bls _0802E90C
b _0802ECDA
.align 2, 0
_0802E91C: .4byte gPlayerParty
_0802E920:
movs r0, 0x64
muls r0, r5
ldr r1, _0802E938 @ =gPlayerParty
adds r0, r1
ldrb r1, [r3]
lsls r1, 9
adds r2, 0x1
adds r1, r2
ldrb r1, [r1]
adds r1, 0x9
b _0802EC12
.align 2, 0
_0802E938: .4byte gPlayerParty
_0802E93C:
movs r6, 0
movs r0, 0x64
adds r4, r5, 0
muls r4, r0
ldr r2, _0802E974 @ =gPlayerParty
mov r8, r2
_0802E948:
adds r1, r6, 0
adds r1, 0x11
mov r2, r8
adds r0, r4, r2
bl GetMonData
adds r1, r7, r6
strb r0, [r1]
adds r6, 0x1
cmp r6, 0x3
ble _0802E948
movs r0, 0x64
muls r0, r5
ldr r1, _0802E974 @ =gPlayerParty
adds r0, r1
movs r1, 0x15
bl GetMonData
adds r1, r7, r6
strb r0, [r1]
adds r6, 0x1
b _0802ECDA
.align 2, 0
_0802E974: .4byte gPlayerParty
_0802E978:
movs r0, 0x64
muls r0, r5
ldr r1, _0802E990 @ =gPlayerParty
adds r0, r1
ldrb r1, [r3]
lsls r1, 9
adds r2, 0x1
adds r1, r2
ldrb r1, [r1]
adds r1, 0x8
b _0802ECD2
.align 2, 0
_0802E990: .4byte gPlayerParty
_0802E994:
movs r0, 0x64
muls r0, r5
ldr r1, _0802E9A0 @ =gPlayerParty
adds r0, r1
movs r1, 0x1
b _0802E9AE
.align 2, 0
_0802E9A0: .4byte gPlayerParty
_0802E9A4:
movs r0, 0x64
muls r0, r5
ldr r1, _0802E9D0 @ =gPlayerParty
adds r0, r1
movs r1, 0x19
_0802E9AE:
bl GetMonData
adds r1, r0, 0
strb r1, [r7]
movs r0, 0xFF
lsls r0, 8
ands r0, r1
lsrs r0, 8
strb r0, [r7, 0x1]
movs r0, 0xFF
lsls r0, 16
ands r0, r1
lsrs r0, 16
strb r0, [r7, 0x2]
movs r6, 0x3
b _0802ECDA
.align 2, 0
_0802E9D0: .4byte gPlayerParty
_0802E9D4:
movs r0, 0x64
muls r0, r5
ldr r1, _0802E9E0 @ =gPlayerParty
adds r0, r1
movs r1, 0x1A
b _0802ECD2
.align 2, 0
_0802E9E0: .4byte gPlayerParty
_0802E9E4:
movs r0, 0x64
muls r0, r5
ldr r1, _0802E9F0 @ =gPlayerParty
adds r0, r1
movs r1, 0x1B
b _0802ECD2
.align 2, 0
_0802E9F0: .4byte gPlayerParty
_0802E9F4:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EA00 @ =gPlayerParty
adds r0, r1
movs r1, 0x1C
b _0802ECD2
.align 2, 0
_0802EA00: .4byte gPlayerParty
_0802EA04:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EA10 @ =gPlayerParty
adds r0, r1
movs r1, 0x1D
b _0802ECD2
.align 2, 0
_0802EA10: .4byte gPlayerParty
_0802EA14:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EA20 @ =gPlayerParty
adds r0, r1
movs r1, 0x1E
b _0802ECD2
.align 2, 0
_0802EA20: .4byte gPlayerParty
_0802EA24:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EA30 @ =gPlayerParty
adds r0, r1
movs r1, 0x1F
b _0802ECD2
.align 2, 0
_0802EA30: .4byte gPlayerParty
_0802EA34:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EA40 @ =gPlayerParty
adds r0, r1
movs r1, 0x20
b _0802ECD2
.align 2, 0
_0802EA40: .4byte gPlayerParty
_0802EA44:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EA50 @ =gPlayerParty
adds r0, r1
movs r1, 0x22
b _0802ECD2
.align 2, 0
_0802EA50: .4byte gPlayerParty
_0802EA54:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EA60 @ =gPlayerParty
adds r0, r1
movs r1, 0x23
b _0802ECD2
.align 2, 0
_0802EA60: .4byte gPlayerParty
_0802EA64:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EA70 @ =gPlayerParty
adds r0, r1
movs r1, 0x24
b _0802ECD2
.align 2, 0
_0802EA70: .4byte gPlayerParty
_0802EA74:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EA80 @ =gPlayerParty
adds r0, r1
movs r1, 0x25
b _0802ECD2
.align 2, 0
_0802EA80: .4byte gPlayerParty
_0802EA84:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EA90 @ =gPlayerParty
adds r0, r1
movs r1, 0x26
b _0802ECD2
.align 2, 0
_0802EA90: .4byte gPlayerParty
_0802EA94:
movs r0, 0x64
adds r4, r5, 0
muls r4, r0
ldr r0, _0802EAE0 @ =gPlayerParty
adds r4, r0
adds r0, r4, 0
movs r1, 0x27
bl GetMonData
strb r0, [r7]
adds r0, r4, 0
movs r1, 0x28
bl GetMonData
strb r0, [r7, 0x1]
adds r0, r4, 0
movs r1, 0x29
bl GetMonData
strb r0, [r7, 0x2]
adds r0, r4, 0
movs r1, 0x2A
bl GetMonData
strb r0, [r7, 0x3]
adds r0, r4, 0
movs r1, 0x2B
bl GetMonData
strb r0, [r7, 0x4]
adds r0, r4, 0
movs r1, 0x2C
bl GetMonData
strb r0, [r7, 0x5]
movs r6, 0x6
b _0802ECDA
.align 2, 0
_0802EAE0: .4byte gPlayerParty
_0802EAE4:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EAF0 @ =gPlayerParty
adds r0, r1
movs r1, 0x27
b _0802ECD2
.align 2, 0
_0802EAF0: .4byte gPlayerParty
_0802EAF4:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EB00 @ =gPlayerParty
adds r0, r1
movs r1, 0x28
b _0802ECD2
.align 2, 0
_0802EB00: .4byte gPlayerParty
_0802EB04:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EB10 @ =gPlayerParty
adds r0, r1
movs r1, 0x29
b _0802ECD2
.align 2, 0
_0802EB10: .4byte gPlayerParty
_0802EB14:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EB20 @ =gPlayerParty
adds r0, r1
movs r1, 0x2A
b _0802ECD2
.align 2, 0
_0802EB20: .4byte gPlayerParty
_0802EB24:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EB30 @ =gPlayerParty
adds r0, r1
movs r1, 0x2B
b _0802ECD2
.align 2, 0
_0802EB30: .4byte gPlayerParty
_0802EB34:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EB40 @ =gPlayerParty
adds r0, r1
movs r1, 0x2C
b _0802ECD2
.align 2, 0
_0802EB40: .4byte gPlayerParty
_0802EB44:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EB50 @ =gPlayerParty
adds r0, r1
movs r1, 0
b _0802EB6E
.align 2, 0
_0802EB50: .4byte gPlayerParty
_0802EB54:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EB60 @ =gPlayerParty
adds r0, r1
movs r1, 0x9
b _0802EC12
.align 2, 0
_0802EB60: .4byte gPlayerParty
_0802EB64:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EB94 @ =gPlayerParty
adds r0, r1
movs r1, 0x37
_0802EB6E:
bl GetMonData
adds r1, r0, 0
strb r1, [r7]
movs r0, 0xFF
lsls r0, 8
ands r0, r1
lsrs r0, 8
strb r0, [r7, 0x1]
movs r0, 0xFF
lsls r0, 16
ands r0, r1
lsrs r0, 16
strb r0, [r7, 0x2]
lsrs r0, r1, 24
strb r0, [r7, 0x3]
movs r6, 0x4
b _0802ECDA
.align 2, 0
_0802EB94: .4byte gPlayerParty
_0802EB98:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EBA4 @ =gPlayerParty
adds r0, r1
movs r1, 0x38
b _0802ECD2
.align 2, 0
_0802EBA4: .4byte gPlayerParty
_0802EBA8:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EBB4 @ =gPlayerParty
adds r0, r1
movs r1, 0x39
b _0802EC12
.align 2, 0
_0802EBB4: .4byte gPlayerParty
_0802EBB8:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EBC4 @ =gPlayerParty
adds r0, r1
movs r1, 0x3A
b _0802EC12
.align 2, 0
_0802EBC4: .4byte gPlayerParty
_0802EBC8:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EBD4 @ =gPlayerParty
adds r0, r1
movs r1, 0x3B
b _0802EC12
.align 2, 0
_0802EBD4: .4byte gPlayerParty
_0802EBD8:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EBE4 @ =gPlayerParty
adds r0, r1
movs r1, 0x3C
b _0802EC12
.align 2, 0
_0802EBE4: .4byte gPlayerParty
_0802EBE8:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EBF4 @ =gPlayerParty
adds r0, r1
movs r1, 0x3D
b _0802EC12
.align 2, 0
_0802EBF4: .4byte gPlayerParty
_0802EBF8:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EC04 @ =gPlayerParty
adds r0, r1
movs r1, 0x3E
b _0802EC12
.align 2, 0
_0802EC04: .4byte gPlayerParty
_0802EC08:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EC24 @ =gPlayerParty
adds r0, r1
movs r1, 0x3F
_0802EC12:
bl GetMonData
lsls r0, 16
lsrs r0, 16
strb r0, [r7]
lsrs r0, 8
strb r0, [r7, 0x1]
movs r6, 0x2
b _0802ECDA
.align 2, 0
_0802EC24: .4byte gPlayerParty
_0802EC28:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EC34 @ =gPlayerParty
adds r0, r1
movs r1, 0x16
b _0802ECD2
.align 2, 0
_0802EC34: .4byte gPlayerParty
_0802EC38:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EC44 @ =gPlayerParty
adds r0, r1
movs r1, 0x17
b _0802ECD2
.align 2, 0
_0802EC44: .4byte gPlayerParty
_0802EC48:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EC54 @ =gPlayerParty
adds r0, r1
movs r1, 0x18
b _0802ECD2
.align 2, 0
_0802EC54: .4byte gPlayerParty
_0802EC58:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EC64 @ =gPlayerParty
adds r0, r1
movs r1, 0x21
b _0802ECD2
.align 2, 0
_0802EC64: .4byte gPlayerParty
_0802EC68:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EC74 @ =gPlayerParty
adds r0, r1
movs r1, 0x2F
b _0802ECD2
.align 2, 0
_0802EC74: .4byte gPlayerParty
_0802EC78:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EC84 @ =gPlayerParty
adds r0, r1
movs r1, 0x30
b _0802ECD2
.align 2, 0
_0802EC84: .4byte gPlayerParty
_0802EC88:
movs r0, 0x64
muls r0, r5
ldr r1, _0802EC94 @ =gPlayerParty
adds r0, r1
movs r1, 0x32
b _0802ECD2
.align 2, 0
_0802EC94: .4byte gPlayerParty
_0802EC98:
movs r0, 0x64
muls r0, r5
ldr r1, _0802ECA4 @ =gPlayerParty
adds r0, r1
movs r1, 0x33
b _0802ECD2
.align 2, 0
_0802ECA4: .4byte gPlayerParty
_0802ECA8:
movs r0, 0x64
muls r0, r5
ldr r1, _0802ECB4 @ =gPlayerParty
adds r0, r1
movs r1, 0x34
b _0802ECD2
.align 2, 0
_0802ECB4: .4byte gPlayerParty
_0802ECB8:
movs r0, 0x64
muls r0, r5
ldr r1, _0802ECC4 @ =gPlayerParty
adds r0, r1
movs r1, 0x35
b _0802ECD2
.align 2, 0
_0802ECC4: .4byte gPlayerParty
_0802ECC8:
movs r0, 0x64
muls r0, r5
ldr r1, _0802ECEC @ =gPlayerParty
adds r0, r1
movs r1, 0x36
_0802ECD2:
bl GetMonData
strb r0, [r7]
movs r6, 0x1
_0802ECDA:
adds r0, r6, 0
add sp, 0x90
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_0802ECEC: .4byte gPlayerParty
thumb_func_end dp01_getattr_by_ch1_for_player_pokemon_
thumb_func_start sub_802ECF0
sub_802ECF0: @ 802ECF0
push {r4-r7,lr}
sub sp, 0x58
ldr r2, _0802ED68 @ =gUnknown_02024A6A
ldr r5, _0802ED6C @ =gUnknown_02024A60
ldrb r1, [r5]
lsls r0, r1, 1
adds r0, r2
ldrh r2, [r0]
movs r0, 0x64
adds r4, r2, 0
muls r4, r0
ldr r3, _0802ED70 @ =gUnknown_02023A60
lsls r1, 9
adds r0, r3, 0x1
adds r0, r1, r0
ldrb r2, [r0]
ldr r0, _0802ED74 @ =gPlayerParty
adds r0, r2, r0
adds r6, r4, r0
mov r0, sp
adds r4, r0, r2
movs r2, 0
adds r0, r3, 0x2
adds r1, r0
adds r7, r5, 0
mov r12, r3
ldrb r1, [r1]
cmp r2, r1
bcs _0802ED46
adds r3, r0, 0
_0802ED2C:
adds r1, r4, r2
adds r0, r6, r2
ldrb r0, [r0]
strb r0, [r1]
adds r0, r2, 0x1
lsls r0, 24
lsrs r2, r0, 24
ldrb r0, [r5]
lsls r0, 9
adds r0, r3
ldrb r0, [r0]
cmp r2, r0
bcc _0802ED2C
_0802ED46:
ldrb r0, [r7]
lsls r0, 9
mov r1, r12
adds r1, 0x2
adds r0, r1
ldrb r1, [r0]
movs r0, 0x1
adds r2, r4, 0
bl dp01_build_cmdbuf_x1D_1D_numargs_varargs
bl dp01_tbl1_exec_completed
add sp, 0x58
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0802ED68: .4byte gUnknown_02024A6A
_0802ED6C: .4byte gUnknown_02024A60
_0802ED70: .4byte gUnknown_02023A60
_0802ED74: .4byte gPlayerParty
thumb_func_end sub_802ECF0
thumb_func_start dp01t_02_1_setattr
dp01t_02_1_setattr: @ 802ED78
push {r4,r5,lr}
ldr r1, _0802ED9C @ =gUnknown_02023A60
ldr r0, _0802EDA0 @ =gUnknown_02024A60
ldrb r2, [r0]
lsls r0, r2, 9
adds r1, 0x2
adds r1, r0, r1
ldrb r0, [r1]
cmp r0, 0
bne _0802EDA8
ldr r0, _0802EDA4 @ =gUnknown_02024A6A
lsls r1, r2, 1
adds r1, r0
ldrb r0, [r1]
bl dp01_setattr_by_ch1_for_player_pokemon
b _0802EDC6
.align 2, 0
_0802ED9C: .4byte gUnknown_02023A60
_0802EDA0: .4byte gUnknown_02024A60
_0802EDA4: .4byte gUnknown_02024A6A
_0802EDA8:
ldrb r4, [r1]
movs r5, 0
_0802EDAC:
movs r0, 0x1
ands r0, r4
cmp r0, 0
beq _0802EDBA
adds r0, r5, 0
bl dp01_setattr_by_ch1_for_player_pokemon
_0802EDBA:
lsrs r4, 1
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x5
bls _0802EDAC
_0802EDC6:
bl dp01_tbl1_exec_completed
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end dp01t_02_1_setattr
thumb_func_start dp01_setattr_by_ch1_for_player_pokemon
dp01_setattr_by_ch1_for_player_pokemon: @ 802EDD0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x34
lsls r0, 24
lsrs r5, r0, 24
ldr r0, _0802EE08 @ =gUnknown_02024A60
ldrb r0, [r0]
lsls r0, 9
ldr r2, _0802EE0C @ =gUnknown_02023A63
adds r3, r0, r2
adds r6, r3, 0
subs r1, r2, 0x2
adds r0, r1
ldrb r0, [r0]
adds r7, r2, 0
cmp r0, 0x3B
bls _0802EDFC
bl _0802F796
_0802EDFC:
lsls r0, 2
ldr r1, _0802EE10 @ =_0802EE14
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0802EE08: .4byte gUnknown_02024A60
_0802EE0C: .4byte gUnknown_02023A63
_0802EE10: .4byte _0802EE14
.align 2, 0
_0802EE14:
.4byte _0802EF04
.4byte _0802F09C
.4byte _0802F0BC
.4byte _0802F0DC
.4byte _0802F134
.4byte _0802F134
.4byte _0802F134
.4byte _0802F134
.4byte _0802F15C
.4byte _0802F1C0
.4byte _0802F1C0
.4byte _0802F1C0
.4byte _0802F1C0
.4byte _0802F796
.4byte _0802F796
.4byte _0802F796
.4byte _0802F796
.4byte _0802F1F0
.4byte _0802F210
.4byte _0802F230
.4byte _0802F250
.4byte _0802F270
.4byte _0802F290
.4byte _0802F2B0
.4byte _0802F2D0
.4byte _0802F2F0
.4byte _0802F310
.4byte _0802F330
.4byte _0802F350
.4byte _0802F370
.4byte _0802F390
.4byte _0802F3B0
.4byte _0802F420
.4byte _0802F440
.4byte _0802F460
.4byte _0802F480
.4byte _0802F4A0
.4byte _0802F4C0
.4byte _0802F4E0
.4byte _0802F500
.4byte _0802F520
.4byte _0802F540
.4byte _0802F560
.4byte _0802F580
.4byte _0802F5A0
.4byte _0802F5C0
.4byte _0802F5E0
.4byte _0802F600
.4byte _0802F620
.4byte _0802F640
.4byte _0802F660
.4byte _0802F680
.4byte _0802F6A0
.4byte _0802F6C0
.4byte _0802F6E0
.4byte _0802F700
.4byte _0802F720
.4byte _0802F740
.4byte _0802F760
.4byte _0802F780
_0802EF04:
movs r0, 0x64
adds r4, r5, 0
muls r4, r0
ldr r0, _0802F098 @ =gPlayerParty
adds r4, r0
adds r0, r4, 0
movs r1, 0xB
adds r2, r6, 0
bl SetMonData
adds r2, r6, 0
adds r2, 0x2E
adds r0, r4, 0
movs r1, 0xC
bl SetMonData
movs r0, 0
mov r8, r0
movs r0, 0x3B
adds r0, r6
mov r10, r0
adds r0, r6, 0
adds r0, 0x2B
str r0, [sp, 0x20]
adds r0, 0x19
str r0, [sp, 0x28]
adds r0, 0x4
str r0, [sp, 0x2C]
adds r0, 0x4
str r0, [sp, 0x30]
subs r0, 0x22
str r0, [sp, 0x1C]
subs r0, 0x2
str r0, [sp, 0x18]
adds r0, 0x4
str r0, [sp, 0x24]
adds r0, r6, 0x2
str r0, [sp, 0x4]
adds r0, r6, 0x4
str r0, [sp, 0x8]
adds r0, r6, 0x6
str r0, [sp, 0xC]
adds r0, 0x2
str r0, [sp, 0x10]
adds r0, 0x2
str r0, [sp, 0x14]
mov r9, r4
adds r7, r6, 0
adds r7, 0x24
adds r4, r6, 0
adds r4, 0xC
_0802EF6A:
mov r1, r8
adds r1, 0xD
mov r0, r9
adds r2, r4, 0
bl SetMonData
mov r1, r8
adds r1, 0x11
mov r0, r9
adds r2, r7, 0
bl SetMonData
adds r7, 0x1
adds r4, 0x2
movs r0, 0x1
add r8, r0
mov r0, r8
cmp r0, 0x3
ble _0802EF6A
movs r0, 0x64
adds r4, r5, 0
muls r4, r0
ldr r0, _0802F098 @ =gPlayerParty
adds r4, r0
adds r0, r4, 0
movs r1, 0x15
mov r2, r10
bl SetMonData
adds r0, r4, 0
movs r1, 0x20
ldr r2, [sp, 0x20]
bl SetMonData
adds r0, r4, 0
movs r1, 0x19
ldr r2, [sp, 0x28]
bl SetMonData
ldrb r0, [r6, 0x14]
lsls r0, 27
lsrs r0, 27
mov r1, sp
strb r0, [r1]
adds r0, r4, 0
movs r1, 0x27
mov r2, sp
bl SetMonData
mov r1, sp
ldrh r0, [r6, 0x14]
lsls r0, 22
lsrs r0, 27
strb r0, [r1]
adds r0, r4, 0
movs r1, 0x28
mov r2, sp
bl SetMonData
mov r1, sp
ldrb r0, [r6, 0x15]
lsls r0, 25
lsrs r0, 27
strb r0, [r1]
adds r0, r4, 0
movs r1, 0x29
mov r2, sp
bl SetMonData
mov r1, sp
ldr r0, [r6, 0x14]
lsls r0, 12
lsrs r0, 27
strb r0, [r1]
adds r0, r4, 0
movs r1, 0x2A
mov r2, sp
bl SetMonData
mov r1, sp
ldrh r0, [r6, 0x16]
lsls r0, 23
lsrs r0, 27
strb r0, [r1]
adds r0, r4, 0
movs r1, 0x2B
mov r2, sp
bl SetMonData
mov r1, sp
ldrb r0, [r6, 0x17]
lsls r0, 26
lsrs r0, 27
strb r0, [r1]
adds r0, r4, 0
movs r1, 0x2C
mov r2, sp
bl SetMonData
adds r0, r4, 0
movs r1, 0
ldr r2, [sp, 0x2C]
bl SetMonData
adds r0, r4, 0
movs r1, 0x37
ldr r2, [sp, 0x30]
bl SetMonData
adds r0, r4, 0
movs r1, 0x38
ldr r2, [sp, 0x1C]
bl SetMonData
adds r0, r4, 0
movs r1, 0x39
ldr r2, [sp, 0x18]
bl SetMonData
adds r0, r4, 0
movs r1, 0x3A
ldr r2, [sp, 0x24]
bl SetMonData
adds r0, r4, 0
movs r1, 0x3B
ldr r2, [sp, 0x4]
bl SetMonData
adds r0, r4, 0
movs r1, 0x3C
ldr r2, [sp, 0x8]
bl SetMonData
adds r0, r4, 0
movs r1, 0x3D
ldr r2, [sp, 0xC]
bl SetMonData
adds r0, r4, 0
movs r1, 0x3E
ldr r2, [sp, 0x10]
bl SetMonData
adds r0, r4, 0
movs r1, 0x3F
ldr r2, [sp, 0x14]
bl SetMonData
b _0802F796
.align 2, 0
_0802F098: .4byte gPlayerParty
_0802F09C:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F0B4 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F0B8 @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0xB
bl SetMonData
b _0802F796
.align 2, 0
_0802F0B4: .4byte gPlayerParty
_0802F0B8: .4byte gUnknown_02024A60
_0802F0BC:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F0D4 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F0D8 @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0xC
bl SetMonData
b _0802F796
.align 2, 0
_0802F0D4: .4byte gPlayerParty
_0802F0D8: .4byte gUnknown_02024A60
_0802F0DC:
movs r0, 0
mov r8, r0
movs r0, 0xC
adds r0, r3
mov r9, r0
movs r0, 0x64
adds r1, r5, 0
muls r1, r0
ldr r0, _0802F130 @ =gPlayerParty
adds r7, r1, r0
adds r6, r3, 0
adds r6, 0x8
adds r4, r3, 0
_0802F0F6:
mov r1, r8
adds r1, 0xD
adds r0, r7, 0
adds r2, r4, 0
bl SetMonData
mov r1, r8
adds r1, 0x11
adds r0, r7, 0
adds r2, r6, 0
bl SetMonData
adds r6, 0x1
adds r4, 0x2
movs r0, 0x1
add r8, r0
mov r0, r8
cmp r0, 0x3
ble _0802F0F6
movs r0, 0x64
muls r0, r5
ldr r1, _0802F130 @ =gPlayerParty
adds r0, r1
movs r1, 0x15
mov r2, r9
bl SetMonData
b _0802F796
.align 2, 0
_0802F130: .4byte gPlayerParty
_0802F134:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F150 @ =gPlayerParty
adds r0, r1
ldr r3, _0802F154 @ =gUnknown_02023A60
ldr r1, _0802F158 @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r1, r3, 0x1
adds r1, r2, r1
ldrb r1, [r1]
adds r1, 0x9
b _0802F1D8
.align 2, 0
_0802F150: .4byte gPlayerParty
_0802F154: .4byte gUnknown_02023A60
_0802F158: .4byte gUnknown_02024A60
_0802F15C:
movs r0, 0x64
adds r4, r5, 0
muls r4, r0
ldr r0, _0802F1B8 @ =gPlayerParty
adds r4, r0
ldr r5, _0802F1BC @ =gUnknown_02024A60
ldrb r2, [r5]
lsls r2, 9
adds r2, r7
adds r0, r4, 0
movs r1, 0x11
bl SetMonData
ldrb r2, [r5]
lsls r2, 9
adds r0, r7, 0x1
adds r2, r0
adds r0, r4, 0
movs r1, 0x12
bl SetMonData
ldrb r2, [r5]
lsls r2, 9
adds r0, r7, 0x2
adds r2, r0
adds r0, r4, 0
movs r1, 0x13
bl SetMonData
ldrb r2, [r5]
lsls r2, 9
adds r0, r7, 0x3
adds r2, r0
adds r0, r4, 0
movs r1, 0x14
bl SetMonData
ldrb r2, [r5]
lsls r2, 9
adds r0, r7, 0x4
adds r2, r0
adds r0, r4, 0
movs r1, 0x15
bl SetMonData
b _0802F796
.align 2, 0
_0802F1B8: .4byte gPlayerParty
_0802F1BC: .4byte gUnknown_02024A60
_0802F1C0:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F1E4 @ =gPlayerParty
adds r0, r1
ldr r3, _0802F1E8 @ =gUnknown_02023A60
ldr r1, _0802F1EC @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r1, r3, 0x1
adds r1, r2, r1
ldrb r1, [r1]
adds r1, 0x8
_0802F1D8:
adds r3, 0x3
adds r2, r3
bl SetMonData
b _0802F796
.align 2, 0
_0802F1E4: .4byte gPlayerParty
_0802F1E8: .4byte gUnknown_02023A60
_0802F1EC: .4byte gUnknown_02024A60
_0802F1F0:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F208 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F20C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x1
bl SetMonData
b _0802F796
.align 2, 0
_0802F208: .4byte gPlayerParty
_0802F20C: .4byte gUnknown_02024A60
_0802F210:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F228 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F22C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x19
bl SetMonData
b _0802F796
.align 2, 0
_0802F228: .4byte gPlayerParty
_0802F22C: .4byte gUnknown_02024A60
_0802F230:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F248 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F24C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x1A
bl SetMonData
b _0802F796
.align 2, 0
_0802F248: .4byte gPlayerParty
_0802F24C: .4byte gUnknown_02024A60
_0802F250:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F268 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F26C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x1B
bl SetMonData
b _0802F796
.align 2, 0
_0802F268: .4byte gPlayerParty
_0802F26C: .4byte gUnknown_02024A60
_0802F270:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F288 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F28C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x1C
bl SetMonData
b _0802F796
.align 2, 0
_0802F288: .4byte gPlayerParty
_0802F28C: .4byte gUnknown_02024A60
_0802F290:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F2A8 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F2AC @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x1D
bl SetMonData
b _0802F796
.align 2, 0
_0802F2A8: .4byte gPlayerParty
_0802F2AC: .4byte gUnknown_02024A60
_0802F2B0:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F2C8 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F2CC @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x1E
bl SetMonData
b _0802F796
.align 2, 0
_0802F2C8: .4byte gPlayerParty
_0802F2CC: .4byte gUnknown_02024A60
_0802F2D0:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F2E8 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F2EC @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x1F
bl SetMonData
b _0802F796
.align 2, 0
_0802F2E8: .4byte gPlayerParty
_0802F2EC: .4byte gUnknown_02024A60
_0802F2F0:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F308 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F30C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x20
bl SetMonData
b _0802F796
.align 2, 0
_0802F308: .4byte gPlayerParty
_0802F30C: .4byte gUnknown_02024A60
_0802F310:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F328 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F32C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x22
bl SetMonData
b _0802F796
.align 2, 0
_0802F328: .4byte gPlayerParty
_0802F32C: .4byte gUnknown_02024A60
_0802F330:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F348 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F34C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x23
bl SetMonData
b _0802F796
.align 2, 0
_0802F348: .4byte gPlayerParty
_0802F34C: .4byte gUnknown_02024A60
_0802F350:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F368 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F36C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x24
bl SetMonData
b _0802F796
.align 2, 0
_0802F368: .4byte gPlayerParty
_0802F36C: .4byte gUnknown_02024A60
_0802F370:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F388 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F38C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x25
bl SetMonData
b _0802F796
.align 2, 0
_0802F388: .4byte gPlayerParty
_0802F38C: .4byte gUnknown_02024A60
_0802F390:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F3A8 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F3AC @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x26
bl SetMonData
b _0802F796
.align 2, 0
_0802F3A8: .4byte gPlayerParty
_0802F3AC: .4byte gUnknown_02024A60
_0802F3B0:
movs r0, 0x64
adds r4, r5, 0
muls r4, r0
ldr r0, _0802F418 @ =gPlayerParty
adds r4, r0
ldr r5, _0802F41C @ =gUnknown_02024A60
ldrb r2, [r5]
lsls r2, 9
adds r2, r7
adds r0, r4, 0
movs r1, 0x27
bl SetMonData
ldrb r2, [r5]
lsls r2, 9
adds r0, r7, 0x1
adds r2, r0
adds r0, r4, 0
movs r1, 0x28
bl SetMonData
ldrb r2, [r5]
lsls r2, 9
adds r0, r7, 0x2
adds r2, r0
adds r0, r4, 0
movs r1, 0x29
bl SetMonData
ldrb r2, [r5]
lsls r2, 9
adds r0, r7, 0x3
adds r2, r0
adds r0, r4, 0
movs r1, 0x2A
bl SetMonData
ldrb r2, [r5]
lsls r2, 9
adds r0, r7, 0x4
adds r2, r0
adds r0, r4, 0
movs r1, 0x2B
bl SetMonData
ldrb r2, [r5]
lsls r2, 9
adds r0, r7, 0x5
adds r2, r0
adds r0, r4, 0
b _0802F4D0
.align 2, 0
_0802F418: .4byte gPlayerParty
_0802F41C: .4byte gUnknown_02024A60
_0802F420:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F438 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F43C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x27
bl SetMonData
b _0802F796
.align 2, 0
_0802F438: .4byte gPlayerParty
_0802F43C: .4byte gUnknown_02024A60
_0802F440:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F458 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F45C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x28
bl SetMonData
b _0802F796
.align 2, 0
_0802F458: .4byte gPlayerParty
_0802F45C: .4byte gUnknown_02024A60
_0802F460:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F478 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F47C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x29
bl SetMonData
b _0802F796
.align 2, 0
_0802F478: .4byte gPlayerParty
_0802F47C: .4byte gUnknown_02024A60
_0802F480:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F498 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F49C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x2A
bl SetMonData
b _0802F796
.align 2, 0
_0802F498: .4byte gPlayerParty
_0802F49C: .4byte gUnknown_02024A60
_0802F4A0:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F4B8 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F4BC @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x2B
bl SetMonData
b _0802F796
.align 2, 0
_0802F4B8: .4byte gPlayerParty
_0802F4BC: .4byte gUnknown_02024A60
_0802F4C0:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F4D8 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F4DC @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
_0802F4D0:
movs r1, 0x2C
bl SetMonData
b _0802F796
.align 2, 0
_0802F4D8: .4byte gPlayerParty
_0802F4DC: .4byte gUnknown_02024A60
_0802F4E0:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F4F8 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F4FC @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0
bl SetMonData
b _0802F796
.align 2, 0
_0802F4F8: .4byte gPlayerParty
_0802F4FC: .4byte gUnknown_02024A60
_0802F500:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F518 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F51C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x9
bl SetMonData
b _0802F796
.align 2, 0
_0802F518: .4byte gPlayerParty
_0802F51C: .4byte gUnknown_02024A60
_0802F520:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F538 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F53C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x37
bl SetMonData
b _0802F796
.align 2, 0
_0802F538: .4byte gPlayerParty
_0802F53C: .4byte gUnknown_02024A60
_0802F540:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F558 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F55C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x38
bl SetMonData
b _0802F796
.align 2, 0
_0802F558: .4byte gPlayerParty
_0802F55C: .4byte gUnknown_02024A60
_0802F560:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F578 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F57C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x39
bl SetMonData
b _0802F796
.align 2, 0
_0802F578: .4byte gPlayerParty
_0802F57C: .4byte gUnknown_02024A60
_0802F580:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F598 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F59C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x3A
bl SetMonData
b _0802F796
.align 2, 0
_0802F598: .4byte gPlayerParty
_0802F59C: .4byte gUnknown_02024A60
_0802F5A0:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F5B8 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F5BC @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x3B
bl SetMonData
b _0802F796
.align 2, 0
_0802F5B8: .4byte gPlayerParty
_0802F5BC: .4byte gUnknown_02024A60
_0802F5C0:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F5D8 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F5DC @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x3C
bl SetMonData
b _0802F796
.align 2, 0
_0802F5D8: .4byte gPlayerParty
_0802F5DC: .4byte gUnknown_02024A60
_0802F5E0:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F5F8 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F5FC @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x3D
bl SetMonData
b _0802F796
.align 2, 0
_0802F5F8: .4byte gPlayerParty
_0802F5FC: .4byte gUnknown_02024A60
_0802F600:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F618 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F61C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x3E
bl SetMonData
b _0802F796
.align 2, 0
_0802F618: .4byte gPlayerParty
_0802F61C: .4byte gUnknown_02024A60
_0802F620:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F638 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F63C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x3F
bl SetMonData
b _0802F796
.align 2, 0
_0802F638: .4byte gPlayerParty
_0802F63C: .4byte gUnknown_02024A60
_0802F640:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F658 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F65C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x16
bl SetMonData
b _0802F796
.align 2, 0
_0802F658: .4byte gPlayerParty
_0802F65C: .4byte gUnknown_02024A60
_0802F660:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F678 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F67C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x17
bl SetMonData
b _0802F796
.align 2, 0
_0802F678: .4byte gPlayerParty
_0802F67C: .4byte gUnknown_02024A60
_0802F680:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F698 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F69C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x18
bl SetMonData
b _0802F796
.align 2, 0
_0802F698: .4byte gPlayerParty
_0802F69C: .4byte gUnknown_02024A60
_0802F6A0:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F6B8 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F6BC @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x21
bl SetMonData
b _0802F796
.align 2, 0
_0802F6B8: .4byte gPlayerParty
_0802F6BC: .4byte gUnknown_02024A60
_0802F6C0:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F6D8 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F6DC @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x2F
bl SetMonData
b _0802F796
.align 2, 0
_0802F6D8: .4byte gPlayerParty
_0802F6DC: .4byte gUnknown_02024A60
_0802F6E0:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F6F8 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F6FC @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x30
bl SetMonData
b _0802F796
.align 2, 0
_0802F6F8: .4byte gPlayerParty
_0802F6FC: .4byte gUnknown_02024A60
_0802F700:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F718 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F71C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x32
bl SetMonData
b _0802F796
.align 2, 0
_0802F718: .4byte gPlayerParty
_0802F71C: .4byte gUnknown_02024A60
_0802F720:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F738 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F73C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x33
bl SetMonData
b _0802F796
.align 2, 0
_0802F738: .4byte gPlayerParty
_0802F73C: .4byte gUnknown_02024A60
_0802F740:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F758 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F75C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x34
bl SetMonData
b _0802F796
.align 2, 0
_0802F758: .4byte gPlayerParty
_0802F75C: .4byte gUnknown_02024A60
_0802F760:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F778 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F77C @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x35
bl SetMonData
b _0802F796
.align 2, 0
_0802F778: .4byte gPlayerParty
_0802F77C: .4byte gUnknown_02024A60
_0802F780:
movs r0, 0x64
muls r0, r5
ldr r1, _0802F7C0 @ =gPlayerParty
adds r0, r1
ldr r1, _0802F7C4 @ =gUnknown_02024A60
ldrb r2, [r1]
lsls r2, 9
adds r2, r7
movs r1, 0x36
bl SetMonData
_0802F796:
ldr r2, _0802F7C8 @ =gUnknown_02024A6A
ldr r0, _0802F7C4 @ =gUnknown_02024A60
ldrb r1, [r0]
lsls r0, r1, 1
adds r0, r2
ldrh r2, [r0]
movs r0, 0x64
muls r0, r2
ldr r2, _0802F7C0 @ =gPlayerParty
adds r0, r2
bl sub_80324F8
add sp, 0x34
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0802F7C0: .4byte gPlayerParty
_0802F7C4: .4byte gUnknown_02024A60
_0802F7C8: .4byte gUnknown_02024A6A
thumb_func_end dp01_setattr_by_ch1_for_player_pokemon
thumb_func_start sub_802F7CC
sub_802F7CC: @ 802F7CC
push {r4-r7,lr}
ldr r1, _0802F830 @ =gUnknown_02024A6A
ldr r7, _0802F834 @ =gUnknown_02024A60
ldrb r2, [r7]
lsls r0, r2, 1
adds r0, r1
ldrh r1, [r0]
movs r0, 0x64
adds r3, r1, 0
muls r3, r0
ldr r4, _0802F838 @ =gUnknown_02023A60
lsls r2, 9
adds r0, r4, 0x1
adds r0, r2, r0
ldrb r0, [r0]
ldr r1, _0802F83C @ =gPlayerParty
adds r0, r1
adds r5, r3, r0
movs r3, 0
adds r0, r4, 0x2
adds r2, r0
ldrb r2, [r2]
cmp r3, r2
bcs _0802F824
adds r6, r4, 0
adds r2, r7, 0
adds r4, r0, 0
_0802F802:
adds r1, r5, r3
ldrb r0, [r2]
lsls r0, 9
adds r0, 0x3
adds r0, r3, r0
adds r0, r6
ldrb r0, [r0]
strb r0, [r1]
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
ldrb r0, [r2]
lsls r0, 9
adds r0, r4
ldrb r0, [r0]
cmp r3, r0
bcc _0802F802
_0802F824:
bl dp01_tbl1_exec_completed
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0802F830: .4byte gUnknown_02024A6A
_0802F834: .4byte gUnknown_02024A60
_0802F838: .4byte gUnknown_02023A60
_0802F83C: .4byte gPlayerParty
thumb_func_end sub_802F7CC
thumb_func_start sub_802F840
sub_802F840: @ 802F840
push {r4,lr}
ldr r2, _0802F88C @ =gUnknown_02024A6A
ldr r4, _0802F890 @ =gUnknown_02024A60
ldrb r1, [r4]
lsls r0, r1, 1
adds r0, r2
ldrh r2, [r0]
movs r0, 0x64
muls r0, r2
ldr r2, _0802F894 @ =gPlayerParty
adds r0, r2
bl sub_80318FC
ldr r2, _0802F898 @ =gSprites
ldr r0, _0802F89C @ =gUnknown_02024BE0
ldrb r3, [r4]
adds r0, r3, r0
ldrb r0, [r0]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r2
lsls r3, 4
ldrb r2, [r1, 0x5]
movs r0, 0xF
ands r0, r2
orrs r0, r3
strb r0, [r1, 0x5]
ldr r1, _0802F8A0 @ =gUnknown_03004330
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
ldr r1, _0802F8A4 @ =bx_0802E404
str r1, [r0]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0802F88C: .4byte gUnknown_02024A6A
_0802F890: .4byte gUnknown_02024A60
_0802F894: .4byte gPlayerParty
_0802F898: .4byte gSprites
_0802F89C: .4byte gUnknown_02024BE0
_0802F8A0: .4byte gUnknown_03004330
_0802F8A4: .4byte bx_0802E404
thumb_func_end sub_802F840
thumb_func_start sub_802F8A8
sub_802F8A8: @ 802F8A8
push {r4-r6,lr}
ldr r5, _0802F914 @ =gUnknown_02024A60
ldrb r0, [r5]
ldr r4, _0802F918 @ =gUnknown_02023A60
lsls r1, r0, 9
adds r6, r4, 0x2
adds r1, r6
ldrb r1, [r1]
bl sub_8032AA8
ldr r2, _0802F91C @ =gUnknown_02024A6A
ldrb r0, [r5]
lsls r1, r0, 1
adds r1, r2
lsls r0, 9
adds r4, 0x1
adds r0, r4
ldrb r0, [r0]
movs r4, 0
strh r0, [r1]
ldrb r1, [r5]
lsls r0, r1, 1
adds r0, r2
ldrh r2, [r0]
movs r0, 0x64
muls r0, r2
ldr r2, _0802F920 @ =gPlayerParty
adds r0, r2
bl sub_80318FC
ldr r1, _0802F924 @ =gUnknown_02024E60
ldrb r0, [r5]
adds r0, r1
strb r4, [r0]
ldr r1, _0802F928 @ =gUnknown_02024E64
ldrb r0, [r5]
adds r0, r1
strb r4, [r0]
ldrb r0, [r5]
lsls r1, r0, 9
adds r1, r6
ldrb r1, [r1]
bl sub_802F934
ldr r1, _0802F92C @ =gUnknown_03004330
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
ldr r1, _0802F930 @ =sub_802D798
str r1, [r0]
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0802F914: .4byte gUnknown_02024A60
_0802F918: .4byte gUnknown_02023A60
_0802F91C: .4byte gUnknown_02024A6A
_0802F920: .4byte gPlayerParty
_0802F924: .4byte gUnknown_02024E60
_0802F928: .4byte gUnknown_02024E64
_0802F92C: .4byte gUnknown_03004330
_0802F930: .4byte sub_802D798
thumb_func_end sub_802F8A8
thumb_func_start sub_802F934
sub_802F934: @ 802F934
push {r4-r6,lr}
mov r6, r10
mov r5, r9
mov r4, r8
push {r4-r6}
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
lsls r1, 24
lsrs r1, 24
adds r0, r6, 0
bl sub_8032AA8
ldr r0, _0802FA78 @ =gUnknown_02024A6A
lsls r2, r6, 1
adds r2, r0
ldr r0, _0802FA7C @ =gUnknown_02023A60
lsls r1, r6, 9
adds r0, 0x1
adds r1, r0
ldrb r0, [r1]
strh r0, [r2]
ldrh r1, [r2]
movs r0, 0x64
muls r0, r1
ldr r1, _0802FA80 @ =gPlayerParty
adds r0, r1
movs r1, 0xB
bl GetMonData
mov r8, r0
lsls r0, 16
lsrs r0, 16
mov r8, r0
ldr r0, _0802FA84 @ =sub_80312F0
bl CreateInvisibleSpriteWithCallback
ldr r1, _0802FA88 @ =gUnknown_0300434C
mov r9, r1
add r9, r6
mov r1, r9
strb r0, [r1]
adds r0, r6, 0
bl battle_get_per_side_status
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
mov r0, r8
bl GetMonSpriteTemplate_803C56C
ldr r0, _0802FA8C @ =gUnknown_02024E8C
mov r10, r0
adds r0, r6, 0
movs r1, 0x2
bl sub_8077ABC
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
adds r0, r6, 0
bl sub_8077F68
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
adds r0, r6, 0
bl sub_8079E90
adds r3, r0, 0
lsls r3, 24
lsrs r3, 24
mov r0, r10
adds r1, r5, 0
adds r2, r4, 0
bl CreateSprite
ldr r4, _0802FA90 @ =gUnknown_02024BE0
adds r4, r6, r4
strb r0, [r4]
ldr r5, _0802FA94 @ =gSprites
mov r0, r9
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
ldrb r1, [r4]
strh r1, [r0, 0x30]
ldrb r1, [r4]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
strh r6, [r0, 0x2E]
ldrb r1, [r4]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
mov r1, r8
strh r1, [r0, 0x32]
ldrb r0, [r4]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r5
lsls r3, r6, 4
ldrb r2, [r1, 0x5]
movs r0, 0xF
ands r0, r2
orrs r0, r3
strb r0, [r1, 0x5]
ldrb r1, [r4]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
ldr r1, _0802FA98 @ =gBattleMonForms
adds r6, r1
ldrb r1, [r6]
bl StartSpriteAnim
ldrb r1, [r4]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
adds r0, 0x3E
ldrb r1, [r0]
movs r2, 0x4
orrs r1, r2
strb r1, [r0]
ldrb r1, [r4]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r1, r5, 0
adds r1, 0x1C
adds r0, r1
ldr r1, _0802FA9C @ =SpriteCallbackDummy
str r1, [r0]
movs r0, 0
movs r1, 0xFF
bl sub_8046400
mov r1, r9
ldrb r2, [r1]
lsls r1, r2, 4
adds r1, r2
lsls r1, 2
adds r1, r5
lsls r0, 24
lsrs r0, 24
strh r0, [r1, 0x2E]
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0802FA78: .4byte gUnknown_02024A6A
_0802FA7C: .4byte gUnknown_02023A60
_0802FA80: .4byte gPlayerParty
_0802FA84: .4byte sub_80312F0
_0802FA88: .4byte gUnknown_0300434C
_0802FA8C: .4byte gUnknown_02024E8C
_0802FA90: .4byte gUnknown_02024BE0
_0802FA94: .4byte gSprites
_0802FA98: .4byte gBattleMonForms
_0802FA9C: .4byte SpriteCallbackDummy
thumb_func_end sub_802F934
thumb_func_start sub_802FAA0
sub_802FAA0: @ 802FAA0
push {r4-r6,lr}
ldr r1, _0802FAD0 @ =gUnknown_02023A60
ldr r6, _0802FAD4 @ =gUnknown_02024A60
ldrb r2, [r6]
lsls r0, r2, 9
adds r1, 0x1
adds r0, r1
ldrb r3, [r0]
cmp r3, 0
bne _0802FAE4
lsls r0, r2, 1
adds r0, r2
lsls r0, 2
ldr r1, _0802FAD8 @ =0x02017810
adds r0, r1
strb r3, [r0, 0x4]
ldr r1, _0802FADC @ =gUnknown_03004330
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
ldr r1, _0802FAE0 @ =sub_802FB2C
str r1, [r0]
b _0802FB1A
.align 2, 0
_0802FAD0: .4byte gUnknown_02023A60
_0802FAD4: .4byte gUnknown_02024A60
_0802FAD8: .4byte 0x02017810
_0802FADC: .4byte gUnknown_03004330
_0802FAE0: .4byte sub_802FB2C
_0802FAE4:
ldr r5, _0802FB20 @ =gUnknown_02024BE0
adds r0, r2, r5
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r4, _0802FB24 @ =gSprites
adds r0, r4
bl FreeSpriteOamMatrix
ldrb r0, [r6]
adds r0, r5
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
bl DestroySprite
ldr r1, _0802FB28 @ =gUnknown_03004340
ldrb r0, [r6]
adds r0, r1
ldrb r0, [r0]
bl sub_8043DB0
bl dp01_tbl1_exec_completed
_0802FB1A:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0802FB20: .4byte gUnknown_02024BE0
_0802FB24: .4byte gSprites
_0802FB28: .4byte gUnknown_03004340
thumb_func_end sub_802FAA0
thumb_func_start sub_802FB2C
sub_802FB2C: @ 802FB2C
push {r4,r5,lr}
ldr r5, _0802FB48 @ =gUnknown_02024A60
ldrb r2, [r5]
lsls r0, r2, 1
adds r0, r2
lsls r0, 2
ldr r4, _0802FB4C @ =0x02017810
adds r3, r0, r4
ldrb r0, [r3, 0x4]
cmp r0, 0
beq _0802FB50
cmp r0, 0x1
beq _0802FB7C
b _0802FBA4
.align 2, 0
_0802FB48: .4byte gUnknown_02024A60
_0802FB4C: .4byte 0x02017810
_0802FB50:
lsls r0, r2, 2
adds r1, r4, 0
subs r1, 0x10
adds r0, r1
ldrb r1, [r0]
movs r0, 0x4
ands r0, r1
cmp r0, 0
beq _0802FB6C
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x5
bl move_anim_start_t4
_0802FB6C:
ldrb r0, [r5]
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
adds r1, r4
movs r0, 0x1
strb r0, [r1, 0x4]
b _0802FBA4
_0802FB7C:
ldrb r1, [r3]
movs r0, 0x40
ands r0, r1
lsls r0, 24
lsrs r0, 24
cmp r0, 0
bne _0802FBA4
strb r0, [r3, 0x4]
ldrb r2, [r5]
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x1
bl move_anim_start_t4
ldr r1, _0802FBAC @ =gUnknown_03004330
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
ldr r1, _0802FBB0 @ =sub_802DEAC
str r1, [r0]
_0802FBA4:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0802FBAC: .4byte gUnknown_03004330
_0802FBB0: .4byte sub_802DEAC
thumb_func_end sub_802FB2C
thumb_func_start sub_802FBB4
sub_802FBB4: @ 802FBB4
push {r4-r7,lr}
mov r7, r8
push {r7}
ldr r0, _0802FBDC @ =gBattleTypeFlags
ldrh r1, [r0]
movs r0, 0x40
ands r0, r1
cmp r0, 0
beq _0802FBE8
ldr r0, _0802FBE0 @ =gUnknown_02024A60
ldrb r0, [r0]
bl battle_get_per_side_status
movs r1, 0x2
ands r1, r0
ldr r7, _0802FBE4 @ =0x0000fff0
cmp r1, 0
beq _0802FBEA
movs r7, 0x10
b _0802FBEA
.align 2, 0
_0802FBDC: .4byte gBattleTypeFlags
_0802FBE0: .4byte gUnknown_02024A60
_0802FBE4: .4byte 0x0000fff0
_0802FBE8:
movs r7, 0
_0802FBEA:
ldr r4, _0802FCB8 @ =gSaveBlock2
ldrb r0, [r4, 0x8]
ldr r6, _0802FCBC @ =gUnknown_02024A60
ldrb r1, [r6]
bl sub_8031AF4
ldrb r5, [r4, 0x8]
ldrb r0, [r6]
bl battle_get_per_side_status
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
bl GetMonSpriteTemplate_803C5A0
ldr r0, _0802FCC0 @ =gUnknown_02024E8C
mov r8, r0
lsls r5, r7, 16
movs r0, 0xA0
lsls r0, 15
adds r5, r0
asrs r5, 16
ldr r1, _0802FCC4 @ =gTrainerBackPicCoords
ldrb r0, [r4, 0x8]
lsls r0, 2
adds r0, r1
ldrb r0, [r0]
movs r4, 0x8
subs r4, r0
lsls r4, 18
movs r0, 0xA0
lsls r0, 15
adds r4, r0
asrs r4, 16
ldrb r0, [r6]
bl sub_8079E90
adds r3, r0, 0
lsls r3, 24
lsrs r3, 24
mov r0, r8
adds r1, r5, 0
adds r2, r4, 0
bl CreateSprite
ldr r5, _0802FCC8 @ =gUnknown_02024BE0
ldrb r1, [r6]
adds r1, r5
strb r0, [r1]
ldr r4, _0802FCCC @ =gSprites
ldrb r3, [r6]
adds r0, r3, r5
ldrb r0, [r0]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r4
lsls r3, 4
ldrb r2, [r1, 0x5]
movs r0, 0xF
ands r0, r2
orrs r0, r3
strb r0, [r1, 0x5]
ldrb r0, [r6]
adds r0, r5
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
movs r1, 0xF0
strh r1, [r0, 0x24]
ldrb r0, [r6]
adds r0, r5
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
ldr r1, _0802FCD0 @ =0x0000fffe
strh r1, [r0, 0x2E]
ldrb r0, [r6]
adds r0, r5
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r4, 0x1C
adds r0, r4
ldr r1, _0802FCD4 @ =sub_80313A0
str r1, [r0]
ldr r1, _0802FCD8 @ =gUnknown_03004330
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
ldr r1, _0802FCDC @ =sub_802D204
str r1, [r0]
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0802FCB8: .4byte gSaveBlock2
_0802FCBC: .4byte gUnknown_02024A60
_0802FCC0: .4byte gUnknown_02024E8C
_0802FCC4: .4byte gTrainerBackPicCoords
_0802FCC8: .4byte gUnknown_02024BE0
_0802FCCC: .4byte gSprites
_0802FCD0: .4byte 0x0000fffe
_0802FCD4: .4byte sub_80313A0
_0802FCD8: .4byte gUnknown_03004330
_0802FCDC: .4byte sub_802D204
thumb_func_end sub_802FBB4
thumb_func_start sub_802FCE0
sub_802FCE0: @ 802FCE0
push {r4-r6,lr}
ldr r4, _0802FD94 @ =gSaveBlock2
ldrb r0, [r4, 0x8]
ldr r5, _0802FD98 @ =gUnknown_02024A60
ldrb r1, [r5]
bl sub_8031AF4
ldrb r6, [r4, 0x8]
ldrb r0, [r5]
bl battle_get_per_side_status
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r6, 0
bl GetMonSpriteTemplate_803C5A0
ldr r0, _0802FD9C @ =gUnknown_02024E8C
ldr r2, _0802FDA0 @ =gTrainerBackPicCoords
ldrb r1, [r4, 0x8]
lsls r1, 2
adds r1, r2
ldrb r1, [r1]
movs r2, 0x8
subs r2, r1
lsls r2, 18
movs r1, 0xA0
lsls r1, 15
adds r2, r1
asrs r2, 16
movs r1, 0x50
movs r3, 0x1E
bl CreateSprite
ldr r6, _0802FDA4 @ =gUnknown_02024BE0
ldrb r1, [r5]
adds r1, r6
strb r0, [r1]
ldr r4, _0802FDA8 @ =gSprites
ldrb r3, [r5]
adds r0, r3, r6
ldrb r0, [r0]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r4
lsls r3, 4
ldrb r2, [r1, 0x5]
movs r0, 0xF
ands r0, r2
orrs r0, r3
strb r0, [r1, 0x5]
ldrb r0, [r5]
adds r0, r6
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
ldr r1, _0802FDAC @ =0x0000ffa0
strh r1, [r0, 0x24]
ldrb r0, [r5]
adds r0, r6
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
movs r1, 0x2
strh r1, [r0, 0x2E]
ldrb r0, [r5]
adds r0, r6
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r4, 0x1C
adds r0, r4
ldr r1, _0802FDB0 @ =sub_80313A0
str r1, [r0]
ldr r1, _0802FDB4 @ =gUnknown_03004330
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
ldr r1, _0802FDB8 @ =sub_802D23C
str r1, [r0]
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0802FD94: .4byte gSaveBlock2
_0802FD98: .4byte gUnknown_02024A60
_0802FD9C: .4byte gUnknown_02024E8C
_0802FDA0: .4byte gTrainerBackPicCoords
_0802FDA4: .4byte gUnknown_02024BE0
_0802FDA8: .4byte gSprites
_0802FDAC: .4byte 0x0000ffa0
_0802FDB0: .4byte sub_80313A0
_0802FDB4: .4byte gUnknown_03004330
_0802FDB8: .4byte sub_802D23C
thumb_func_end sub_802FCE0
thumb_func_start sub_802FDBC
sub_802FDBC: @ 802FDBC
push {r4-r6,lr}
ldr r5, _0802FE5C @ =gUnknown_02024BE0
ldr r6, _0802FE60 @ =gUnknown_02024A60
ldrb r0, [r6]
adds r0, r5
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r4, _0802FE64 @ =gSprites
adds r0, r4
bl oamt_add_pos2_onto_pos1
ldrb r0, [r6]
adds r0, r5
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
movs r1, 0x32
strh r1, [r0, 0x2E]
ldrb r0, [r6]
adds r0, r5
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
ldr r1, _0802FE68 @ =0x0000ffd8
strh r1, [r0, 0x32]
ldrb r0, [r6]
adds r0, r5
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
ldrh r1, [r0, 0x22]
strh r1, [r0, 0x36]
ldrb r0, [r6]
adds r0, r5
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r1, r4, 0
adds r1, 0x1C
adds r0, r1
ldr r1, _0802FE6C @ =sub_8078B34
str r1, [r0]
ldrb r0, [r6]
adds r0, r5
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
ldr r1, _0802FE70 @ =SpriteCallbackDummy
bl oamt_set_x3A_32
ldrb r0, [r6]
adds r0, r5
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r4
movs r1, 0x1
bl StartSpriteAnim
ldr r1, _0802FE74 @ =gUnknown_03004330
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
ldr r1, _0802FE78 @ =sub_802D274
str r1, [r0]
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0802FE5C: .4byte gUnknown_02024BE0
_0802FE60: .4byte gUnknown_02024A60
_0802FE64: .4byte gSprites
_0802FE68: .4byte 0x0000ffd8
_0802FE6C: .4byte sub_8078B34
_0802FE70: .4byte SpriteCallbackDummy
_0802FE74: .4byte gUnknown_03004330
_0802FE78: .4byte sub_802D274
thumb_func_end sub_802FDBC
thumb_func_start sub_802FE7C
sub_802FE7C: @ 802FE7C
push {r4,r5,lr}
ldr r5, _0802FEC0 @ =gUnknown_02024A60
ldrb r2, [r5]
lsls r0, r2, 1
adds r0, r2
lsls r0, 2
ldr r4, _0802FEC4 @ =0x02017810
adds r3, r0, r4
ldrb r0, [r3, 0x4]
cmp r0, 0
bne _0802FEC8
lsls r0, r2, 2
adds r1, r4, 0
subs r1, 0x10
adds r0, r1
ldrb r1, [r0]
movs r0, 0x4
ands r0, r1
cmp r0, 0
beq _0802FEAE
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x5
bl move_anim_start_t4
_0802FEAE:
ldrb r0, [r5]
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
adds r1, r4
ldrb r0, [r1, 0x4]
adds r0, 0x1
strb r0, [r1, 0x4]
b _0802FF3E
.align 2, 0
_0802FEC0: .4byte gUnknown_02024A60
_0802FEC4: .4byte 0x02017810
_0802FEC8:
ldrb r1, [r3]
movs r0, 0x40
ands r0, r1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
bne _0802FF3E
strb r4, [r3, 0x4]
ldr r2, _0802FF44 @ =gUnknown_02024A6A
ldrb r1, [r5]
lsls r0, r1, 1
adds r0, r2
ldrh r2, [r0]
movs r0, 0x64
muls r0, r2
ldr r2, _0802FF48 @ =gPlayerParty
adds r0, r2
bl sub_80324F8
movs r1, 0x40
negs r1, r1
movs r0, 0x10
bl PlaySE12WithPanning
ldr r2, _0802FF4C @ =gSprites
ldr r3, _0802FF50 @ =gUnknown_02024BE0
ldrb r0, [r5]
adds r0, r3
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r2
strh r4, [r0, 0x30]
ldrb r0, [r5]
adds r0, r3
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r2
movs r1, 0x5
strh r1, [r0, 0x32]
ldrb r0, [r5]
adds r0, r3
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r2, 0x1C
adds r0, r2
ldr r1, _0802FF54 @ =sub_80105EC
str r1, [r0]
ldr r1, _0802FF58 @ =gUnknown_03004330
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
ldr r1, _0802FF5C @ =sub_802DE10
str r1, [r0]
_0802FF3E:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0802FF44: .4byte gUnknown_02024A6A
_0802FF48: .4byte gPlayerParty
_0802FF4C: .4byte gSprites
_0802FF50: .4byte gUnknown_02024BE0
_0802FF54: .4byte sub_80105EC
_0802FF58: .4byte gUnknown_03004330
_0802FF5C: .4byte sub_802DE10
thumb_func_end sub_802FE7C
thumb_func_start sub_802FF60
sub_802FF60: @ 802FF60
push {lr}
sub sp, 0x4
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r1, 0x2
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
bl dp01_tbl1_exec_completed
add sp, 0x4
pop {r0}
bx r0
thumb_func_end sub_802FF60
thumb_func_start sub_802FF80
sub_802FF80: @ 802FF80
push {r4,r5,lr}
ldr r1, _0802FFBC @ =0x02017840
movs r0, 0x4
strb r0, [r1, 0x8]
ldr r1, _0802FFC0 @ =gUnknown_02024E6D
movs r0, 0x1
strb r0, [r1]
ldr r5, _0802FFC4 @ =gUnknown_02024A60
ldrb r4, [r5]
movs r0, 0x1
bl battle_get_side_with_given_state
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r4, 0
movs r3, 0x3
bl move_anim_start_t4
ldr r1, _0802FFC8 @ =gUnknown_03004330
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
ldr r1, _0802FFCC @ =bx_wait_t1
str r1, [r0]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0802FFBC: .4byte 0x02017840
_0802FFC0: .4byte gUnknown_02024E6D
_0802FFC4: .4byte gUnknown_02024A60
_0802FFC8: .4byte gUnknown_03004330
_0802FFCC: .4byte bx_wait_t1
thumb_func_end sub_802FF80
thumb_func_start sub_802FFD0
sub_802FFD0: @ 802FFD0
push {r4,r5,lr}
ldr r1, _08030014 @ =gUnknown_02023A60
ldr r5, _08030018 @ =gUnknown_02024A60
ldrb r0, [r5]
lsls r0, 9
adds r1, 0x1
adds r0, r1
ldrb r1, [r0]
ldr r0, _0803001C @ =0x02017840
strb r1, [r0, 0x8]
ldr r1, _08030020 @ =gUnknown_02024E6D
movs r0, 0x1
strb r0, [r1]
ldrb r4, [r5]
movs r0, 0x1
bl battle_get_side_with_given_state
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r4, 0
adds r1, r4, 0
movs r3, 0x3
bl move_anim_start_t4
ldr r1, _08030024 @ =gUnknown_03004330
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
ldr r1, _08030028 @ =bx_wait_t1
str r1, [r0]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08030014: .4byte gUnknown_02023A60
_08030018: .4byte gUnknown_02024A60
_0803001C: .4byte 0x02017840
_08030020: .4byte gUnknown_02024E6D
_08030024: .4byte gUnknown_03004330
_08030028: .4byte bx_wait_t1
thumb_func_end sub_802FFD0
thumb_func_start sub_803002C
sub_803002C: @ 803002C
push {lr}
ldr r1, _08030054 @ =gUnknown_02023A60
ldr r0, _08030058 @ =gUnknown_02024A60
ldrb r0, [r0]
lsls r0, 9
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
beq _0803004A
_08030040:
subs r0, 0x1
lsls r0, 24
lsrs r0, 24
cmp r0, 0
bne _08030040
_0803004A:
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
.align 2, 0
_08030054: .4byte gUnknown_02023A60
_08030058: .4byte gUnknown_02024A60
thumb_func_end sub_803002C
thumb_func_start dp01t_0F_1_move_anim
dp01t_0F_1_move_anim: @ 803005C
push {r4-r6,lr}
ldr r6, _08030140 @ =gUnknown_02024A60
ldrb r0, [r6]
bl mplay_80342A4
lsls r0, 24
cmp r0, 0
beq _0803006E
b _0803017E
_0803006E:
ldr r0, _08030144 @ =gUnknown_02023A60
mov r12, r0
ldrb r2, [r6]
lsls r2, 9
adds r0, 0x1
adds r0, r2, r0
ldrb r0, [r0]
mov r1, r12
adds r1, 0x2
adds r1, r2, r1
ldrb r1, [r1]
lsls r1, 8
orrs r0, r1
ldr r5, _08030148 @ =gUnknown_0202F7C4
mov r1, r12
adds r1, 0x3
adds r2, r1
ldrb r1, [r2]
strb r1, [r5]
ldr r4, _0803014C @ =gUnknown_0202F7BC
ldrb r2, [r6]
lsls r2, 9
mov r1, r12
adds r1, 0x4
adds r1, r2, r1
ldrb r3, [r1]
mov r1, r12
adds r1, 0x5
adds r2, r1
ldrb r1, [r2]
lsls r1, 8
orrs r3, r1
strh r3, [r4]
ldr r4, _08030150 @ =gUnknown_0202F7B8
ldrb r2, [r6]
lsls r2, 9
mov r1, r12
adds r1, 0x6
adds r1, r2, r1
ldrb r3, [r1]
mov r1, r12
adds r1, 0x7
adds r1, r2, r1
ldrb r1, [r1]
lsls r1, 8
orrs r3, r1
mov r1, r12
adds r1, 0x8
adds r1, r2, r1
ldrb r1, [r1]
lsls r1, 16
orrs r3, r1
mov r1, r12
adds r1, 0x9
adds r2, r1
ldrb r1, [r2]
lsls r1, 24
orrs r3, r1
str r3, [r4]
ldr r3, _08030154 @ =gUnknown_0202F7BE
ldrb r1, [r6]
lsls r1, 9
mov r2, r12
adds r2, 0xA
adds r1, r2
ldrb r1, [r1]
strb r1, [r3]
ldr r4, _08030158 @ =gUnknown_0202F7C0
ldrb r2, [r6]
lsls r2, 9
mov r1, r12
adds r1, 0xC
adds r1, r2, r1
ldrb r3, [r1]
mov r1, r12
adds r1, 0xD
adds r2, r1
ldrb r1, [r2]
lsls r1, 8
orrs r3, r1
strh r3, [r4]
ldr r3, _0803015C @ =gUnknown_0202F7B4
ldrb r2, [r6]
lsls r2, 9
mov r1, r12
adds r1, 0x10
adds r2, r1
str r2, [r3]
ldr r3, _08030160 @ =gUnknown_02024E70
ldrb r1, [r6]
lsls r1, 2
adds r1, r3
ldr r2, [r2]
str r2, [r1]
ldrb r1, [r5]
bl sub_8031720
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0
beq _08030164
bl dp01_tbl1_exec_completed
b _0803017E
.align 2, 0
_08030140: .4byte gUnknown_02024A60
_08030144: .4byte gUnknown_02023A60
_08030148: .4byte gUnknown_0202F7C4
_0803014C: .4byte gUnknown_0202F7BC
_08030150: .4byte gUnknown_0202F7B8
_08030154: .4byte gUnknown_0202F7BE
_08030158: .4byte gUnknown_0202F7C0
_0803015C: .4byte gUnknown_0202F7B4
_08030160: .4byte gUnknown_02024E70
_08030164:
ldrb r1, [r6]
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
ldr r1, _08030184 @ =0x02017810
adds r0, r1
strb r2, [r0, 0x4]
ldr r1, _08030188 @ =gUnknown_03004330
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
ldr r1, _0803018C @ =sub_8030190
str r1, [r0]
_0803017E:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08030184: .4byte 0x02017810
_08030188: .4byte gUnknown_03004330
_0803018C: .4byte sub_8030190
thumb_func_end dp01t_0F_1_move_anim
thumb_func_start sub_8030190
sub_8030190: @ 8030190
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
ldr r2, _080301D4 @ =gUnknown_02023A60
ldr r5, _080301D8 @ =gUnknown_02024A60
ldrb r3, [r5]
lsls r1, r3, 9
adds r0, r2, 0x1
mov r9, r0
adds r0, r1, r0
ldrb r4, [r0]
adds r6, r2, 0x2
mov r8, r6
adds r0, r1, r6
ldrb r0, [r0]
lsls r0, 8
orrs r4, r0
adds r2, 0xB
adds r1, r2
ldrb r7, [r1]
lsls r0, r3, 1
adds r0, r3
lsls r0, 2
ldr r6, _080301DC @ =0x02017810
adds r0, r6
ldrb r2, [r0, 0x4]
cmp r2, 0x1
beq _0803021E
cmp r2, 0x1
bgt _080301E0
cmp r2, 0
beq _080301EA
b _080302E8
.align 2, 0
_080301D4: .4byte gUnknown_02023A60
_080301D8: .4byte gUnknown_02024A60
_080301DC: .4byte 0x02017810
_080301E0:
cmp r2, 0x2
beq _08030244
cmp r2, 0x3
beq _080302B0
b _080302E8
_080301EA:
lsls r1, r3, 2
adds r0, r6, 0
subs r0, 0x10
adds r1, r0
ldrb r2, [r1]
movs r0, 0xC
ands r0, r2
cmp r0, 0x4
bne _0803020E
movs r0, 0x8
orrs r0, r2
strb r0, [r1]
ldrb r2, [r5]
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x5
bl move_anim_start_t4
_0803020E:
ldrb r0, [r5]
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
adds r1, r6
movs r0, 0x1
strb r0, [r1, 0x4]
b _080302E8
_0803021E:
ldrb r1, [r0]
movs r0, 0x40
ands r0, r1
cmp r0, 0
bne _080302E8
movs r0, 0
bl sub_80326EC
adds r0, r4, 0
bl ExecuteMoveAnim
ldrb r0, [r5]
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
adds r1, r6
movs r0, 0x2
strb r0, [r1, 0x4]
b _080302E8
_08030244:
ldr r0, _080302A0 @ =gAnimScriptCallback
ldr r0, [r0]
bl _call_via_r0
ldr r0, _080302A4 @ =gAnimScriptActive
ldrb r0, [r0]
cmp r0, 0
bne _080302E8
movs r0, 0x1
bl sub_80326EC
ldrb r2, [r5]
lsls r0, r2, 2
adds r4, r6, 0
subs r4, 0x10
adds r0, r4
ldrb r1, [r0]
movs r0, 0x4
ands r0, r1
cmp r0, 0
beq _0803028C
cmp r7, 0x1
bhi _0803028C
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x6
bl move_anim_start_t4
ldrb r0, [r5]
lsls r0, 2
adds r0, r4
ldrb r2, [r0]
movs r1, 0x9
negs r1, r1
ands r1, r2
strb r1, [r0]
_0803028C:
ldr r0, _080302A8 @ =gUnknown_02024A60
ldrb r1, [r0]
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
ldr r1, _080302AC @ =0x02017810
adds r0, r1
movs r1, 0x3
strb r1, [r0, 0x4]
b _080302E8
.align 2, 0
_080302A0: .4byte gAnimScriptCallback
_080302A4: .4byte gAnimScriptActive
_080302A8: .4byte gUnknown_02024A60
_080302AC: .4byte 0x02017810
_080302B0:
ldrb r1, [r0]
movs r0, 0x40
ands r0, r1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
bne _080302E8
bl sub_8031F24
ldrb r0, [r5]
lsls r2, r0, 9
mov r3, r9
adds r1, r2, r3
ldrb r1, [r1]
add r2, r8
ldrb r2, [r2]
lsls r2, 8
orrs r1, r2
bl sub_80324BC
ldrb r1, [r5]
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
adds r0, r6
strb r4, [r0, 0x4]
bl dp01_tbl1_exec_completed
_080302E8:
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_8030190
thumb_func_start sub_80302F4
sub_80302F4: @ 80302F4
push {r4,lr}
sub sp, 0x4
ldr r0, _08030338 @ =gUnknown_030042A4
movs r1, 0
strh r1, [r0]
ldr r0, _0803033C @ =gUnknown_030042A0
strh r1, [r0]
ldr r4, _08030340 @ =gUnknown_02024A60
ldrb r0, [r4]
lsls r0, 9
ldr r1, _08030344 @ =gUnknown_02023A62
adds r0, r1
ldrh r0, [r0]
bl sub_8120AA8
ldr r0, _08030348 @ =gUnknown_03004210
ldr r1, _0803034C @ =gUnknown_020238CC
movs r2, 0xF
str r2, [sp]
movs r2, 0x90
movs r3, 0x2
bl sub_8002EB0
ldr r1, _08030350 @ =gUnknown_03004330
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
ldr r1, _08030354 @ =sub_802DF18
str r1, [r0]
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08030338: .4byte gUnknown_030042A4
_0803033C: .4byte gUnknown_030042A0
_08030340: .4byte gUnknown_02024A60
_08030344: .4byte gUnknown_02023A62
_08030348: .4byte gUnknown_03004210
_0803034C: .4byte gUnknown_020238CC
_08030350: .4byte gUnknown_03004330
_08030354: .4byte sub_802DF18
thumb_func_end sub_80302F4
thumb_func_start dp01t_11_1_message_for_player_only
dp01t_11_1_message_for_player_only: @ 8030358
push {lr}
ldr r0, _08030370 @ =gUnknown_02024A60
ldrb r0, [r0]
bl battle_side_get_owner
lsls r0, 24
cmp r0, 0
bne _08030374
bl sub_80302F4
b _08030378
.align 2, 0
_08030370: .4byte gUnknown_02024A60
_08030374:
bl dp01_tbl1_exec_completed
_08030378:
pop {r0}
bx r0
thumb_func_end dp01t_11_1_message_for_player_only
.section .text_8030464
thumb_func_start nullsub_42
nullsub_42: @ 8030464
bx lr
thumb_func_end nullsub_42
thumb_func_start sub_8030468
sub_8030468: @ 8030468
push {lr}
sub sp, 0x4
ldr r1, _08030494 @ =0x0000ffff
ldr r3, _08030498 @ =0x00002d9f
movs r0, 0
str r0, [sp]
movs r2, 0xC
bl sub_814A5C0
bl sub_80304A8
ldr r1, _0803049C @ =gUnknown_03004330
ldr r0, _080304A0 @ =gUnknown_02024A60
ldrb r0, [r0]
lsls r0, 2
adds r0, r1
ldr r1, _080304A4 @ =sub_802C68C
str r1, [r0]
add sp, 0x4
pop {r0}
bx r0
.align 2, 0
_08030494: .4byte 0x0000ffff
_08030498: .4byte 0x00002d9f
_0803049C: .4byte gUnknown_03004330
_080304A0: .4byte gUnknown_02024A60
_080304A4: .4byte sub_802C68C
thumb_func_end sub_8030468
thumb_func_start sub_80304A8
sub_80304A8: @ 80304A8
push {r4,lr}
sub sp, 0x4
ldr r1, _08030510 @ =gUnknown_030042A4
movs r0, 0
strh r0, [r1]
ldr r1, _08030514 @ =gUnknown_030042A0
movs r2, 0xA0
lsls r2, 1
adds r0, r2, 0
strh r0, [r1]
bl sub_802E1B0
ldr r1, _08030518 @ =gUnknown_03004344
movs r0, 0xFF
strb r0, [r1]
ldr r1, _0803051C @ =gUnknown_02024E64
ldr r4, _08030520 @ =gUnknown_02024A60
ldrb r0, [r4]
adds r0, r1
ldrb r0, [r0]
movs r1, 0
bl sub_802E3B4
ldr r1, _08030524 @ =gUnknown_02023A60
ldrb r0, [r4]
lsls r0, 9
adds r1, 0x2
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x1
beq _08030500
ldr r4, _08030528 @ =gUnknown_03004210
ldr r1, _0803052C @ =gUnknown_08400D38
movs r2, 0xA4
lsls r2, 2
movs r0, 0x37
str r0, [sp]
adds r0, r4, 0
movs r3, 0x17
bl InitWindow
adds r0, r4, 0
bl sub_8002F44
_08030500:
bl sub_802E220
bl sub_802E2D4
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08030510: .4byte gUnknown_030042A4
_08030514: .4byte gUnknown_030042A0
_08030518: .4byte gUnknown_03004344
_0803051C: .4byte gUnknown_02024E64
_08030520: .4byte gUnknown_02024A60
_08030524: .4byte gUnknown_02023A60
_08030528: .4byte gUnknown_03004210
_0803052C: .4byte gUnknown_08400D38
thumb_func_end sub_80304A8
thumb_func_start sub_8030530
sub_8030530: @ 8030530
push {r4,r5,lr}
sub sp, 0x4
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
ldr r1, _0803057C @ =gUnknown_03004330
ldr r2, _08030580 @ =gUnknown_02024A60
ldrb r0, [r2]
lsls r0, 2
adds r0, r1
ldr r1, _08030584 @ =sub_802E004
str r1, [r0]
ldr r1, _08030588 @ =gUnknown_02024E6C
ldrb r0, [r2]
strb r0, [r1]
movs r3, 0
ldr r5, _0803058C @ =gUnknown_02038470
ldr r4, _08030590 @ =gUnknown_02023A60
_0803055E:
adds r0, r3, r5
ldrb r1, [r2]
lsls r1, 9
adds r1, 0x1
adds r1, r3, r1
adds r1, r4
ldrb r1, [r1]
strb r1, [r0]
adds r3, 0x1
cmp r3, 0x2
ble _0803055E
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0803057C: .4byte gUnknown_03004330
_08030580: .4byte gUnknown_02024A60
_08030584: .4byte sub_802E004
_08030588: .4byte gUnknown_02024E6C
_0803058C: .4byte gUnknown_02038470
_08030590: .4byte gUnknown_02023A60
thumb_func_end sub_8030530
thumb_func_start sub_8030594
sub_8030594: @ 8030594
push {r4,r5,lr}
sub sp, 0x4
ldr r0, _08030644 @ =TaskDummy
movs r1, 0xFF
bl CreateTask
ldr r3, _08030648 @ =gUnknown_0300434C
ldr r5, _0803064C @ =gUnknown_02024A60
ldrb r1, [r5]
adds r1, r3
strb r0, [r1]
ldr r4, _08030650 @ =gTasks
ldrb r2, [r5]
adds r3, r2, r3
ldrb r0, [r3]
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r4
ldr r4, _08030654 @ =gUnknown_02023A60
lsls r2, 9
adds r3, r4, 0x1
adds r2, r3
ldrb r2, [r2]
movs r0, 0xF
ands r0, r2
strh r0, [r1, 0x8]
ldr r2, _08030658 @ =0x02000000
ldrb r0, [r5]
lsls r0, 9
adds r0, r3
ldrb r0, [r0]
lsrs r0, 4
ldr r3, _0803065C @ =0x00016054
adds r1, r2, r3
strb r0, [r1]
ldrb r0, [r5]
lsls r0, 9
adds r1, r4, 0x2
adds r0, r1
ldrb r1, [r0]
adds r3, 0x49
adds r0, r2, r3
strb r1, [r0]
ldrb r0, [r5]
lsls r0, 9
adds r1, r4, 0x3
adds r0, r1
ldrb r0, [r0]
ldr r1, _08030660 @ =0x000160c0
adds r2, r1
strb r0, [r2]
movs r2, 0
ldr r3, _08030664 @ =gUnknown_02038470
_08030600:
adds r0, r2, r3
ldrb r1, [r5]
lsls r1, 9
adds r1, 0x4
adds r1, r2, r1
adds r1, r4
ldrb r1, [r1]
strb r1, [r0]
adds r2, 0x1
cmp r2, 0x2
ble _08030600
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
ldr r1, _08030668 @ =gUnknown_03004330
ldr r2, _0803064C @ =gUnknown_02024A60
ldrb r0, [r2]
lsls r0, 2
adds r0, r1
ldr r1, _0803066C @ =sub_802DF30
str r1, [r0]
ldr r1, _08030670 @ =gUnknown_02024E6C
ldrb r0, [r2]
strb r0, [r1]
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08030644: .4byte TaskDummy
_08030648: .4byte gUnknown_0300434C
_0803064C: .4byte gUnknown_02024A60
_08030650: .4byte gTasks
_08030654: .4byte gUnknown_02023A60
_08030658: .4byte 0x02000000
_0803065C: .4byte 0x00016054
_08030660: .4byte 0x000160c0
_08030664: .4byte gUnknown_02038470
_08030668: .4byte gUnknown_03004330
_0803066C: .4byte sub_802DF30
_08030670: .4byte gUnknown_02024E6C
thumb_func_end sub_8030594
thumb_func_start sub_8030674
sub_8030674: @ 8030674
push {lr}
sub sp, 0x4
bl sub_80325B8
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r1, 0x2
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
bl dp01_tbl1_exec_completed
add sp, 0x4
pop {r0}
bx r0
thumb_func_end sub_8030674
thumb_func_start sub_8030698
sub_8030698: @ 8030698
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x4
movs r0, 0
bl load_gfxc_health_bar
ldr r3, _08030710 @ =gUnknown_02023A60
ldr r0, _08030714 @ =gUnknown_02024A60
mov r9, r0
ldrb r4, [r0]
lsls r2, r4, 9
adds r0, r3, 0x2
adds r0, r2, r0
ldrb r1, [r0]
adds r3, 0x3
adds r2, r3
ldrb r0, [r2]
lsls r0, 8
orrs r1, r0
lsls r1, 16
asrs r7, r1, 16
ldr r0, _08030718 @ =0x00007fff
cmp r7, r0
beq _08030728
ldr r6, _0803071C @ =gUnknown_02024A6A
lsls r0, r4, 1
adds r0, r6
ldrh r0, [r0]
movs r5, 0x64
muls r0, r5
ldr r4, _08030720 @ =gPlayerParty
adds r0, r4
movs r1, 0x3A
bl GetMonData
mov r8, r0
mov r1, r9
ldrb r0, [r1]
lsls r0, 1
adds r0, r6
ldrh r0, [r0]
muls r0, r5
adds r0, r4
movs r1, 0x39
bl GetMonData
adds r3, r0, 0
mov r1, r9
ldrb r0, [r1]
ldr r1, _08030724 @ =gUnknown_03004340
adds r1, r0, r1
ldrb r1, [r1]
str r7, [sp]
mov r2, r8
bl sub_8043D84
b _08030762
.align 2, 0
_08030710: .4byte gUnknown_02023A60
_08030714: .4byte gUnknown_02024A60
_08030718: .4byte 0x00007fff
_0803071C: .4byte gUnknown_02024A6A
_08030720: .4byte gPlayerParty
_08030724: .4byte gUnknown_03004340
_08030728:
ldr r1, _08030780 @ =gUnknown_02024A6A
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, _08030784 @ =gPlayerParty
adds r0, r1
movs r1, 0x3A
bl GetMonData
adds r2, r0, 0
mov r1, r9
ldrb r0, [r1]
ldr r4, _08030788 @ =gUnknown_03004340
adds r1, r0, r4
ldrb r1, [r1]
str r7, [sp]
movs r3, 0
bl sub_8043D84
mov r1, r9
ldrb r0, [r1]
adds r0, r4
ldrb r0, [r0]
movs r1, 0
movs r2, 0
bl sub_80440EC
_08030762:
ldr r1, _0803078C @ =gUnknown_03004330
ldr r0, _08030790 @ =gUnknown_02024A60
ldrb r0, [r0]
lsls r0, 2
adds r0, r1
ldr r1, _08030794 @ =bx_t1_healthbar_update
str r1, [r0]
add sp, 0x4
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08030780: .4byte gUnknown_02024A6A
_08030784: .4byte gPlayerParty
_08030788: .4byte gUnknown_03004340
_0803078C: .4byte gUnknown_03004330
_08030790: .4byte gUnknown_02024A60
_08030794: .4byte bx_t1_healthbar_update
thumb_func_end sub_8030698
thumb_func_start sub_8030798
sub_8030798: @ 8030798
push {r4-r7,lr}
ldr r5, _080307C4 @ =gUnknown_02023A60
ldr r6, _080307C8 @ =gUnknown_02024A60
ldrb r0, [r6]
lsls r0, 9
adds r1, r5, 0x1
adds r0, r1
ldrb r7, [r0]
movs r0, 0x64
adds r1, r7, 0
muls r1, r0
ldr r0, _080307CC @ =gPlayerParty
adds r4, r1, r0
adds r0, r4, 0
movs r1, 0x38
bl GetMonData
cmp r0, 0x63
bls _080307D0
bl dp01_tbl1_exec_completed
b _0803081C
.align 2, 0
_080307C4: .4byte gUnknown_02023A60
_080307C8: .4byte gUnknown_02024A60
_080307CC: .4byte gPlayerParty
_080307D0:
movs r0, 0x1
bl load_gfxc_health_bar
adds r0, r4, 0
movs r1, 0xB
bl GetMonData
ldrb r1, [r6]
lsls r1, 9
adds r0, r5, 0x2
adds r0, r1, r0
ldrb r4, [r0]
adds r0, r5, 0x3
adds r1, r0
ldrb r0, [r1]
lsls r0, 8
orrs r4, r0
ldr r0, _08030824 @ =sub_802D924
movs r1, 0xA
bl CreateTask
lsls r0, 24
lsrs r0, 24
ldr r2, _08030828 @ =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
strh r7, [r1, 0x8]
strh r4, [r1, 0xA]
ldrb r0, [r6]
strh r0, [r1, 0xC]
ldr r1, _0803082C @ =gUnknown_03004330
ldrb r0, [r6]
lsls r0, 2
adds r0, r1
ldr r1, _08030830 @ =nullsub_91
str r1, [r0]
_0803081C:
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08030824: .4byte sub_802D924
_08030828: .4byte gTasks
_0803082C: .4byte gUnknown_03004330
_08030830: .4byte nullsub_91
thumb_func_end sub_8030798
thumb_func_start sub_8030834
sub_8030834: @ 8030834
push {r4,lr}
ldr r4, _0803088C @ =gUnknown_02024A60
ldrb r0, [r4]
bl mplay_80342A4
lsls r0, 24
cmp r0, 0
bne _08030884
ldr r0, _08030890 @ =gUnknown_03004340
ldrb r1, [r4]
adds r0, r1, r0
ldrb r0, [r0]
ldr r2, _08030894 @ =gUnknown_02024A6A
lsls r1, 1
adds r1, r2
ldrh r2, [r1]
movs r1, 0x64
muls r1, r2
ldr r2, _08030898 @ =gPlayerParty
adds r1, r2
movs r2, 0x9
bl sub_8045A5C
ldrb r0, [r4]
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
ldr r0, _0803089C @ =0x02017810
adds r1, r0
ldrb r2, [r1]
movs r0, 0x11
negs r0, r0
ands r0, r2
strb r0, [r1]
ldr r1, _080308A0 @ =gUnknown_03004330
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
ldr r1, _080308A4 @ =sub_802E434
str r1, [r0]
_08030884:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0803088C: .4byte gUnknown_02024A60
_08030890: .4byte gUnknown_03004340
_08030894: .4byte gUnknown_02024A6A
_08030898: .4byte gPlayerParty
_0803089C: .4byte 0x02017810
_080308A0: .4byte gUnknown_03004330
_080308A4: .4byte sub_802E434
thumb_func_end sub_8030834
thumb_func_start sub_80308A8
sub_80308A8: @ 80308A8
push {r4,r5,lr}
ldr r5, _08030900 @ =gUnknown_02024A60
ldrb r0, [r5]
bl mplay_80342A4
lsls r0, 24
cmp r0, 0
bne _080308F8
ldr r4, _08030904 @ =gUnknown_02023A60
ldrb r3, [r5]
lsls r3, 9
adds r0, r4, 0x1
adds r0, r3, r0
ldrb r0, [r0]
adds r1, r4, 0x2
adds r1, r3, r1
ldrb r1, [r1]
adds r2, r4, 0x3
adds r2, r3, r2
ldrb r2, [r2]
lsls r2, 8
orrs r1, r2
adds r2, r4, 0x4
adds r2, r3, r2
ldrb r2, [r2]
lsls r2, 16
orrs r1, r2
adds r4, 0x5
adds r3, r4
ldrb r2, [r3]
lsls r2, 24
orrs r1, r2
bl move_anim_start_t2_for_situation
ldr r1, _08030908 @ =gUnknown_03004330
ldrb r0, [r5]
lsls r0, 2
adds r0, r1
ldr r1, _0803090C @ =sub_802E434
str r1, [r0]
_080308F8:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08030900: .4byte gUnknown_02024A60
_08030904: .4byte gUnknown_02023A60
_08030908: .4byte gUnknown_03004330
_0803090C: .4byte sub_802E434
thumb_func_end sub_80308A8
thumb_func_start sub_8030910
sub_8030910: @ 8030910
push {r4-r6,lr}
mov r6, r8
push {r6}
sub sp, 0x4
ldr r0, _0803096C @ =gUnknown_02024A6A
mov r8, r0
ldr r4, _08030970 @ =gUnknown_02024A60
ldrb r0, [r4]
lsls r0, 1
add r0, r8
ldrh r0, [r0]
movs r6, 0x64
muls r0, r6
ldr r5, _08030974 @ =gPlayerParty
adds r0, r5
movs r1, 0x37
bl GetMonData
ldr r2, _08030978 @ =gUnknown_02023A60
ldrb r1, [r4]
lsls r1, 9
adds r2, 0x1
adds r1, r2
ldrb r1, [r1]
eors r0, r1
mov r1, sp
strb r0, [r1]
ldrb r0, [r4]
lsls r0, 1
add r0, r8
ldrh r0, [r0]
muls r0, r6
adds r0, r5
movs r1, 0x37
mov r2, sp
bl SetMonData
bl dp01_tbl1_exec_completed
add sp, 0x4
pop {r3}
mov r8, r3
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0803096C: .4byte gUnknown_02024A6A
_08030970: .4byte gUnknown_02024A60
_08030974: .4byte gPlayerParty
_08030978: .4byte gUnknown_02023A60
thumb_func_end sub_8030910
thumb_func_start sub_803097C
sub_803097C: @ 803097C
push {lr}
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
thumb_func_end sub_803097C
thumb_func_start sub_8030988
sub_8030988: @ 8030988
push {r4,r5,lr}
ldr r3, _080309EC @ =gUnknown_02023A60
ldr r0, _080309F0 @ =gUnknown_02024A60
ldrb r2, [r0]
lsls r2, 9
adds r0, r3, 0x1
adds r0, r2, r0
ldrb r5, [r0]
adds r0, r3, 0x2
adds r0, r2, r0
ldrb r0, [r0]
lsls r0, 8
orrs r5, r0
adds r0, r3, 0x3
adds r0, r2, r0
ldrb r0, [r0]
lsls r0, 16
orrs r5, r0
adds r0, r3, 0x4
adds r0, r2, r0
ldrb r4, [r0]
lsls r4, 24
adds r0, r3, 0x5
adds r0, r2, r0
ldrb r1, [r0]
adds r0, r3, 0x6
adds r0, r2, r0
ldrb r0, [r0]
lsls r0, 8
orrs r1, r0
lsls r1, 16
adds r3, 0x7
adds r2, r3
orrs r5, r4
lsrs r4, r1, 16
movs r0, 0x80
lsls r0, 5
cmp r4, r0
bhi _080309F8
ldr r0, _080309F4 @ =0x040000d4
str r2, [r0]
str r5, [r0, 0x4]
lsrs r1, 17
movs r2, 0x80
lsls r2, 24
orrs r1, r2
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
b _08030A24
.align 2, 0
_080309EC: .4byte gUnknown_02023A60
_080309F0: .4byte gUnknown_02024A60
_080309F4: .4byte 0x040000d4
_080309F8:
ldr r3, _08030A30 @ =0x040000d4
str r2, [r3]
str r5, [r3, 0x4]
ldr r0, _08030A34 @ =0x80000800
str r0, [r3, 0x8]
ldr r0, [r3, 0x8]
movs r0, 0x80
lsls r0, 5
adds r2, r0
adds r5, r0
ldr r1, _08030A38 @ =0xfffff000
adds r4, r1
cmp r4, r0
bhi _080309F8
str r2, [r3]
str r5, [r3, 0x4]
lsrs r0, r4, 1
movs r1, 0x80
lsls r1, 24
orrs r0, r1
str r0, [r3, 0x8]
ldr r0, [r3, 0x8]
_08030A24:
bl dp01_tbl1_exec_completed
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08030A30: .4byte 0x040000d4
_08030A34: .4byte 0x80000800
_08030A38: .4byte 0xfffff000
thumb_func_end sub_8030988
thumb_func_start sub_8030A3C
sub_8030A3C: @ 8030A3C
push {lr}
ldr r2, _08030A64 @ =gUnknown_02023A60
ldr r0, _08030A68 @ =gUnknown_02024A60
ldrb r1, [r0]
lsls r1, 9
adds r0, r2, 0x1
adds r0, r1, r0
ldrb r0, [r0]
adds r2, 0x2
adds r1, r2
ldrb r1, [r1]
lsls r1, 8
orrs r0, r1
bl PlayBGM
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
.align 2, 0
_08030A64: .4byte gUnknown_02023A60
_08030A68: .4byte gUnknown_02024A60
thumb_func_end sub_8030A3C
thumb_func_start sub_8030A6C
sub_8030A6C: @ 8030A6C
push {lr}
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
thumb_func_end sub_8030A6C
thumb_func_start sub_8030A78
sub_8030A78: @ 8030A78
push {lr}
movs r0, 0x1
movs r1, 0
movs r2, 0
bl dp01_build_cmdbuf_x21_a_bb
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
thumb_func_end sub_8030A78
thumb_func_start sub_8030A8C
sub_8030A8C: @ 8030A8C
push {lr}
movs r0, 0x1
movs r1, 0
movs r2, 0
bl dp01_build_cmdbuf_x22_a_three_bytes
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
thumb_func_end sub_8030A8C
thumb_func_start sub_8030AA0
sub_8030AA0: @ 8030AA0
push {lr}
movs r0, 0x1
movs r1, 0
bl dp01_build_cmdbuf_x23_aa_0
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
thumb_func_end sub_8030AA0
thumb_func_start sub_8030AB4
sub_8030AB4: @ 8030AB4
push {lr}
movs r0, 0x1
movs r1, 0
bl dp01_build_cmdbuf_x24_aa_0
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
thumb_func_end sub_8030AB4
thumb_func_start sub_8030AC8
sub_8030AC8: @ 8030AC8
push {lr}
ldr r2, _08030AE0 @ =gUnknown_020238C8
ldrb r1, [r2]
movs r0, 0x80
negs r0, r0
ands r0, r1
strb r0, [r2]
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
.align 2, 0
_08030AE0: .4byte gUnknown_020238C8
thumb_func_end sub_8030AC8
thumb_func_start sub_8030AE4
sub_8030AE4: @ 8030AE4
push {lr}
ldr r3, _08030B10 @ =gUnknown_020238C8
ldr r1, _08030B14 @ =gUnknown_02023A60
ldr r0, _08030B18 @ =gUnknown_02024A60
ldrb r0, [r0]
lsls r0, 9
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
movs r1, 0x7F
ands r1, r0
ldrb r2, [r3]
movs r0, 0x80
negs r0, r0
ands r0, r2
orrs r0, r1
strb r0, [r3]
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
.align 2, 0
_08030B10: .4byte gUnknown_020238C8
_08030B14: .4byte gUnknown_02023A60
_08030B18: .4byte gUnknown_02024A60
thumb_func_end sub_8030AE4
thumb_func_start sub_8030B1C
sub_8030B1C: @ 8030B1C
push {lr}
ldr r2, _08030B30 @ =gUnknown_020238C8
ldrb r1, [r2]
movs r0, 0x7F
ands r0, r1
strb r0, [r2]
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
.align 2, 0
_08030B30: .4byte gUnknown_020238C8
thumb_func_end sub_8030B1C
thumb_func_start sub_8030B34
sub_8030B34: @ 8030B34
push {lr}
ldr r3, _08030B58 @ =gUnknown_020238C8
ldr r1, [r3]
lsls r1, 24
lsrs r1, 31
movs r0, 0x1
eors r1, r0
lsls r1, 7
ldrb r2, [r3]
movs r0, 0x7F
ands r0, r2
orrs r0, r1
strb r0, [r3]
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
.align 2, 0
_08030B58: .4byte gUnknown_020238C8
thumb_func_end sub_8030B34
thumb_func_start dp01t_29_1_blink
dp01t_29_1_blink: @ 8030B5C
push {r4,lr}
ldr r3, _08030B84 @ =gSprites
ldr r2, _08030B88 @ =gUnknown_02024BE0
ldr r4, _08030B8C @ =gUnknown_02024A60
ldrb r0, [r4]
adds r0, r2
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r3
adds r0, 0x3E
ldrb r0, [r0]
lsls r0, 29
cmp r0, 0
bge _08030B90
bl dp01_tbl1_exec_completed
b _08030BBA
.align 2, 0
_08030B84: .4byte gSprites
_08030B88: .4byte gUnknown_02024BE0
_08030B8C: .4byte gUnknown_02024A60
_08030B90:
ldr r1, _08030BC0 @ =gUnknown_02024E6D
movs r0, 0x1
strb r0, [r1]
ldrb r0, [r4]
adds r0, r2
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r3
movs r1, 0
strh r1, [r0, 0x30]
ldrb r0, [r4]
bl sub_8047858
ldr r1, _08030BC4 @ =gUnknown_03004330
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
ldr r1, _08030BC8 @ =bx_blink_t1
str r1, [r0]
_08030BBA:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08030BC0: .4byte gUnknown_02024E6D
_08030BC4: .4byte gUnknown_03004330
_08030BC8: .4byte bx_blink_t1
thumb_func_end dp01t_29_1_blink
thumb_func_start sub_8030BCC
sub_8030BCC: @ 8030BCC
push {lr}
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
thumb_func_end sub_8030BCC
thumb_func_start sub_8030BD8
sub_8030BD8: @ 8030BD8
push {r4,lr}
ldr r4, _08030C14 @ =gUnknown_02024A60
ldrb r0, [r4]
bl battle_side_get_owner
lsls r0, 24
movs r3, 0x3F
cmp r0, 0
bne _08030BEC
movs r3, 0xC0
_08030BEC:
ldr r2, _08030C18 @ =gUnknown_02023A60
ldrb r1, [r4]
lsls r1, 9
adds r0, r2, 0x1
adds r0, r1, r0
ldrb r0, [r0]
adds r2, 0x2
adds r1, r2
ldrb r1, [r1]
lsls r1, 8
orrs r0, r1
lsls r1, r3, 24
asrs r1, 24
bl PlaySE12WithPanning
bl dp01_tbl1_exec_completed
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08030C14: .4byte gUnknown_02024A60
_08030C18: .4byte gUnknown_02023A60
thumb_func_end sub_8030BD8
thumb_func_start sub_8030C1C
sub_8030C1C: @ 8030C1C
push {lr}
ldr r2, _08030C44 @ =gUnknown_02023A60
ldr r0, _08030C48 @ =gUnknown_02024A60
ldrb r1, [r0]
lsls r1, 9
adds r0, r2, 0x1
adds r0, r1, r0
ldrb r0, [r0]
adds r2, 0x2
adds r1, r2
ldrb r1, [r1]
lsls r1, 8
orrs r0, r1
bl PlayFanfare
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
.align 2, 0
_08030C44: .4byte gUnknown_02023A60
_08030C48: .4byte gUnknown_02024A60
thumb_func_end sub_8030C1C
thumb_func_start sub_8030C4C
sub_8030C4C: @ 8030C4C
push {lr}
ldr r1, _08030C80 @ =gUnknown_02024A6A
ldr r0, _08030C84 @ =gUnknown_02024A60
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, _08030C88 @ =gPlayerParty
adds r0, r1
movs r1, 0xB
bl GetMonData
lsls r0, 16
lsrs r0, 16
movs r1, 0x19
negs r1, r1
movs r2, 0x5
bl PlayCry3
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
.align 2, 0
_08030C80: .4byte gUnknown_02024A6A
_08030C84: .4byte gUnknown_02024A60
_08030C88: .4byte gPlayerParty
thumb_func_end sub_8030C4C
thumb_func_start dp01t_2E_1_battle_intro
dp01t_2E_1_battle_intro: @ 8030C8C
push {lr}
ldr r1, _08030CB4 @ =gUnknown_02023A60
ldr r0, _08030CB8 @ =gUnknown_02024A60
ldrb r0, [r0]
lsls r0, 9
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
bl sub_80E43C0
ldr r2, _08030CBC @ =gUnknown_02024DE8
ldrh r0, [r2]
movs r1, 0x1
orrs r0, r1
strh r0, [r2]
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
.align 2, 0
_08030CB4: .4byte gUnknown_02023A60
_08030CB8: .4byte gUnknown_02024A60
_08030CBC: .4byte gUnknown_02024DE8
thumb_func_end dp01t_2E_1_battle_intro
thumb_func_start sub_8030CC0
sub_8030CC0: @ 8030CC0
push {r4-r7,lr}
ldr r6, _08030DF8 @ =gUnknown_02024BE0
ldr r7, _08030DFC @ =gUnknown_02024A60
ldrb r0, [r7]
adds r0, r6
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r5, _08030E00 @ =gSprites
adds r0, r5
bl oamt_add_pos2_onto_pos1
ldrb r0, [r7]
adds r0, r6
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
movs r1, 0x32
strh r1, [r0, 0x2E]
ldrb r0, [r7]
adds r0, r6
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
ldr r1, _08030E04 @ =0x0000ffd8
strh r1, [r0, 0x32]
ldrb r0, [r7]
adds r0, r6
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
ldrh r1, [r0, 0x22]
strh r1, [r0, 0x36]
ldrb r0, [r7]
adds r0, r6
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r1, r5, 0
adds r1, 0x1C
adds r0, r1
ldr r1, _08030E08 @ =sub_8078B34
str r1, [r0]
ldrb r2, [r7]
adds r0, r2, r6
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
strh r2, [r0, 0x38]
ldrb r0, [r7]
adds r0, r6
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
ldr r1, _08030E0C @ =sub_8030E38
bl oamt_set_x3A_32
ldrb r0, [r7]
adds r0, r6
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r5
movs r1, 0x1
bl StartSpriteAnim
ldr r0, _08030E10 @ =0x0000d6f8
bl AllocSpritePalette
adds r4, r0, 0
lsls r4, 24
ldr r1, _08030E14 @ =gTrainerBackPicPaletteTable
ldr r0, _08030E18 @ =gSaveBlock2
ldrb r0, [r0, 0x8]
lsls r0, 3
adds r0, r1
ldr r0, [r0]
lsrs r4, 20
movs r2, 0x80
lsls r2, 1
adds r1, r4, r2
movs r2, 0x20
bl LoadCompressedPalette
ldrb r0, [r7]
adds r0, r6
ldrb r0, [r0]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r5
ldrb r2, [r1, 0x5]
movs r0, 0xF
ands r0, r2
orrs r0, r4
strb r0, [r1, 0x5]
ldr r0, _08030E1C @ =task05_08033660
movs r1, 0x5
bl CreateTask
lsls r0, 24
lsrs r0, 24
ldr r4, _08030E20 @ =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r4
ldrb r0, [r7]
strh r0, [r1, 0x8]
ldrb r3, [r7]
lsls r0, r3, 1
adds r0, r3
lsls r0, 2
ldr r2, _08030E24 @ =0x02017810
adds r0, r2
ldrb r1, [r0]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _08030DDC
ldr r0, _08030E28 @ =gUnknown_02024E68
adds r0, r3, r0
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
lsls r0, 3
adds r0, r4
ldr r1, _08030E2C @ =sub_8044CA0
str r1, [r0]
_08030DDC:
adds r2, 0x30
ldrb r0, [r2, 0x9]
movs r1, 0x1
orrs r0, r1
strb r0, [r2, 0x9]
ldr r1, _08030E30 @ =gUnknown_03004330
ldrb r0, [r7]
lsls r0, 2
adds r0, r1
ldr r1, _08030E34 @ =nullsub_91
str r1, [r0]
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08030DF8: .4byte gUnknown_02024BE0
_08030DFC: .4byte gUnknown_02024A60
_08030E00: .4byte gSprites
_08030E04: .4byte 0x0000ffd8
_08030E08: .4byte sub_8078B34
_08030E0C: .4byte sub_8030E38
_08030E10: .4byte 0x0000d6f8
_08030E14: .4byte gTrainerBackPicPaletteTable
_08030E18: .4byte gSaveBlock2
_08030E1C: .4byte task05_08033660
_08030E20: .4byte gTasks
_08030E24: .4byte 0x02017810
_08030E28: .4byte gUnknown_02024E68
_08030E2C: .4byte sub_8044CA0
_08030E30: .4byte gUnknown_03004330
_08030E34: .4byte nullsub_91
thumb_func_end sub_8030CC0
thumb_func_start sub_8030E38
sub_8030E38: @ 8030E38
push {r4,r5,lr}
adds r5, r0, 0
ldrh r4, [r5, 0x38]
lsls r4, 24
lsrs r4, 24
bl FreeSpriteOamMatrix
ldrb r0, [r5, 0x5]
lsrs r0, 4
bl GetSpritePaletteTagByPaletteNum
lsls r0, 16
lsrs r0, 16
bl FreeSpritePaletteByTag
adds r0, r5, 0
bl DestroySprite
ldr r1, _08030E90 @ =gUnknown_02024A6A
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, _08030E94 @ =gPlayerParty
adds r0, r1
adds r1, r4, 0
bl sub_80318FC
ldr r0, _08030E98 @ =gUnknown_02024BE0
adds r4, r0
ldrb r1, [r4]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r1, _08030E9C @ =gSprites
adds r0, r1
movs r1, 0
bl StartSpriteAnim
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08030E90: .4byte gUnknown_02024A6A
_08030E94: .4byte gPlayerParty
_08030E98: .4byte gUnknown_02024BE0
_08030E9C: .4byte gSprites
thumb_func_end sub_8030E38
thumb_func_start task05_08033660
task05_08033660: @ 8030EA0
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldr r1, _08030EC8 @ =gTasks
lsls r0, 2
add r0, r8
lsls r0, 3
adds r1, r0, r1
ldrh r2, [r1, 0xA]
movs r3, 0xA
ldrsh r0, [r1, r3]
cmp r0, 0x1E
bgt _08030ECC
adds r0, r2, 0x1
strh r0, [r1, 0xA]
b _08030F88
.align 2, 0
_08030EC8: .4byte gTasks
_08030ECC:
ldr r7, _08030F0C @ =gUnknown_02024A60
ldrb r0, [r7]
mov r9, r0
ldrh r0, [r1, 0x8]
strb r0, [r7]
bl IsDoubleBattle
lsls r0, 24
cmp r0, 0
beq _08030EEC
ldr r0, _08030F10 @ =gBattleTypeFlags
ldrh r1, [r0]
movs r0, 0x40
ands r0, r1
cmp r0, 0
beq _08030F1C
_08030EEC:
ldr r0, _08030F14 @ =gUnknown_02023A60
ldrb r1, [r7]
lsls r2, r1, 9
adds r0, 0x1
adds r2, r0
ldr r0, _08030F18 @ =gUnknown_02024A6A
lsls r1, 1
adds r1, r0
ldrh r0, [r1]
strb r0, [r2]
ldrb r0, [r7]
movs r1, 0
bl sub_802F934
b _08030F70
.align 2, 0
_08030F0C: .4byte gUnknown_02024A60
_08030F10: .4byte gBattleTypeFlags
_08030F14: .4byte gUnknown_02023A60
_08030F18: .4byte gUnknown_02024A6A
_08030F1C:
ldr r4, _08030F94 @ =gUnknown_02023A60
ldrb r0, [r7]
lsls r1, r0, 9
adds r4, 0x1
adds r1, r4
ldr r5, _08030F98 @ =gUnknown_02024A6A
lsls r0, 1
adds r0, r5
ldrh r0, [r0]
strb r0, [r1]
ldrb r0, [r7]
movs r1, 0
bl sub_802F934
ldrb r0, [r7]
movs r6, 0x2
eors r0, r6
strb r0, [r7]
ldrb r0, [r7]
lsls r1, r0, 9
adds r1, r4
lsls r0, 1
adds r0, r5
ldrh r0, [r0]
strb r0, [r1]
ldrb r1, [r7]
lsls r0, r1, 1
adds r0, r5
ldrh r2, [r0]
movs r0, 0x64
muls r0, r2
ldr r2, _08030F9C @ =gPlayerParty
adds r0, r2
bl sub_80318FC
ldrb r0, [r7]
movs r1, 0
bl sub_802F934
ldrb r0, [r7]
eors r0, r6
strb r0, [r7]
_08030F70:
ldr r1, _08030FA0 @ =gUnknown_03004330
ldr r2, _08030FA4 @ =gUnknown_02024A60
ldrb r0, [r2]
lsls r0, 2
adds r0, r1
ldr r1, _08030FA8 @ =sub_802D500
str r1, [r0]
mov r3, r9
strb r3, [r2]
mov r0, r8
bl DestroyTask
_08030F88:
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08030F94: .4byte gUnknown_02023A60
_08030F98: .4byte gUnknown_02024A6A
_08030F9C: .4byte gPlayerParty
_08030FA0: .4byte gUnknown_03004330
_08030FA4: .4byte gUnknown_02024A60
_08030FA8: .4byte sub_802D500
thumb_func_end task05_08033660
thumb_func_start sub_8030FAC
sub_8030FAC: @ 8030FAC
push {r4-r6,lr}
ldr r1, _08030FD4 @ =gUnknown_02023A60
ldr r0, _08030FD8 @ =gUnknown_02024A60
ldrb r2, [r0]
lsls r0, r2, 9
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
beq _08030FDC
adds r0, r2, 0
bl battle_side_get_owner
lsls r0, 24
cmp r0, 0
bne _08030FDC
bl dp01_tbl1_exec_completed
b _08031044
.align 2, 0
_08030FD4: .4byte gUnknown_02023A60
_08030FD8: .4byte gUnknown_02024A60
_08030FDC:
ldr r5, _0803104C @ =gUnknown_02024A60
ldrb r1, [r5]
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
ldr r6, _08031050 @ =0x02017810
adds r0, r6
ldrb r1, [r0]
movs r2, 0x1
orrs r1, r2
strb r1, [r0]
ldrb r0, [r5]
lsls r3, r0, 9
ldr r4, _08031054 @ =gUnknown_02023A64
adds r1, r3, r4
subs r2, r4, 0x3
adds r2, r3, r2
ldrb r2, [r2]
subs r4, 0x2
adds r3, r4
ldrb r3, [r3]
bl sub_8044804
ldr r2, _08031058 @ =gUnknown_02024E68
ldrb r1, [r5]
adds r1, r2
movs r2, 0
strb r0, [r1]
ldrb r1, [r5]
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
adds r0, r6
strb r2, [r0, 0x5]
ldrb r1, [r5]
lsls r0, r1, 9
adds r0, r4
ldrb r0, [r0]
cmp r0, 0
beq _08031038
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
adds r0, r6
movs r1, 0x5D
strb r1, [r0, 0x5]
_08031038:
ldr r0, _0803105C @ =gUnknown_03004330
ldrb r1, [r5]
lsls r1, 2
adds r1, r0
ldr r0, _08031060 @ =sub_8031064
str r0, [r1]
_08031044:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0803104C: .4byte gUnknown_02024A60
_08031050: .4byte 0x02017810
_08031054: .4byte gUnknown_02023A64
_08031058: .4byte gUnknown_02024E68
_0803105C: .4byte gUnknown_03004330
_08031060: .4byte sub_8031064
thumb_func_end sub_8030FAC
thumb_func_start sub_8031064
sub_8031064: @ 8031064
push {r4,lr}
ldr r4, _0803109C @ =gUnknown_02024A60
ldrb r1, [r4]
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
ldr r3, _080310A0 @ =0x02017810
adds r0, r3
ldrb r1, [r0, 0x5]
adds r2, r1, 0x1
strb r2, [r0, 0x5]
lsls r1, 24
lsrs r1, 24
cmp r1, 0x5C
bls _08031094
ldrb r0, [r4]
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
adds r1, r3
movs r0, 0
strb r0, [r1, 0x5]
bl dp01_tbl1_exec_completed
_08031094:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0803109C: .4byte gUnknown_02024A60
_080310A0: .4byte 0x02017810
thumb_func_end sub_8031064
thumb_func_start sub_80310A4
sub_80310A4: @ 80310A4
push {lr}
ldr r0, _080310DC @ =gUnknown_02024A60
ldrb r3, [r0]
lsls r0, r3, 1
adds r0, r3
lsls r0, 2
ldr r1, _080310E0 @ =0x02017810
adds r0, r1
ldrb r1, [r0]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _080310D2
ldr r2, _080310E4 @ =gTasks
ldr r0, _080310E8 @ =gUnknown_02024E68
adds r0, r3, r0
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
lsls r0, 3
adds r0, r2
ldr r1, _080310EC @ =sub_8044CA0
str r1, [r0]
_080310D2:
bl dp01_tbl1_exec_completed
pop {r0}
bx r0
.align 2, 0
_080310DC: .4byte gUnknown_02024A60
_080310E0: .4byte 0x02017810
_080310E4: .4byte gTasks
_080310E8: .4byte gUnknown_02024E68
_080310EC: .4byte sub_8044CA0
thumb_func_end sub_80310A4
thumb_func_start sub_80310F0
sub_80310F0: @ 80310F0
push {r4,lr}
ldr r4, _08031110 @ =gUnknown_02024A60
ldrb r0, [r4]
movs r1, 0x1
bl dp11b_obj_free
ldrb r0, [r4]
movs r1, 0
bl dp11b_obj_free
bl dp01_tbl1_exec_completed
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08031110: .4byte gUnknown_02024A60
thumb_func_end sub_80310F0
thumb_func_start dp01t_33_1_enemy_move
dp01t_33_1_enemy_move: @ 8031114
push {r4,lr}
ldr r4, _08031164 @ =gUnknown_02024A60
ldrb r0, [r4]
bl sub_8078874
lsls r0, 24
cmp r0, 0
beq _0803115A
ldr r3, _08031168 @ =gSprites
ldr r0, _0803116C @ =gUnknown_02024BE0
ldrb r1, [r4]
adds r0, r1, r0
ldrb r0, [r0]
lsls r2, r0, 4
adds r2, r0
lsls r2, 2
adds r2, r3
ldr r0, _08031170 @ =gUnknown_02023A60
lsls r1, 9
adds r0, 0x1
adds r1, r0
adds r2, 0x3E
movs r0, 0x1
ldrb r1, [r1]
ands r1, r0
lsls r1, 2
ldrb r3, [r2]
movs r0, 0x5
negs r0, r0
ands r0, r3
orrs r0, r1
strb r0, [r2]
ldrb r0, [r4]
bl sub_8031F88
_0803115A:
bl dp01_tbl1_exec_completed
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08031164: .4byte gUnknown_02024A60
_08031168: .4byte gSprites
_0803116C: .4byte gUnknown_02024BE0
_08031170: .4byte gUnknown_02023A60
thumb_func_end dp01t_33_1_enemy_move
thumb_func_start bx_exec_buffer_A_ch0_tbl1
bx_exec_buffer_A_ch0_tbl1: @ 8031174
push {r4-r6,lr}
sub sp, 0x4
ldr r6, _080311B8 @ =gUnknown_02024A60
ldrb r0, [r6]
bl mplay_80342A4
lsls r0, 24
cmp r0, 0
bne _080311CC
ldr r5, _080311BC @ =gUnknown_02023A60
ldrb r2, [r6]
lsls r1, r2, 9
adds r0, r5, 0x1
adds r0, r1, r0
ldrb r3, [r0]
adds r0, r5, 0x2
adds r0, r1, r0
ldrb r4, [r0]
adds r5, 0x3
adds r1, r5
ldrb r0, [r1]
lsls r0, 8
orrs r4, r0
str r4, [sp]
adds r0, r2, 0
adds r1, r2, 0
bl move_anim_start_t3
lsls r0, 24
cmp r0, 0
beq _080311C0
bl dp01_tbl1_exec_completed
b _080311CC
.align 2, 0
_080311B8: .4byte gUnknown_02024A60
_080311BC: .4byte gUnknown_02023A60
_080311C0:
ldr r0, _080311D4 @ =gUnknown_03004330
ldrb r1, [r6]
lsls r1, 2
adds r1, r0
ldr r0, _080311D8 @ =sub_802E460
str r0, [r1]
_080311CC:
add sp, 0x4
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080311D4: .4byte gUnknown_03004330
_080311D8: .4byte sub_802E460
thumb_func_end bx_exec_buffer_A_ch0_tbl1
thumb_func_start dp01t_35_1_link_standby_message_and_free_vram
dp01t_35_1_link_standby_message_and_free_vram: @ 80311DC
push {r4,lr}
ldr r1, _080311FC @ =gUnknown_02023A60
ldr r0, _08031200 @ =gUnknown_02024A60
ldrb r0, [r0]
lsls r0, 9
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x1
beq _0803120E
cmp r0, 0x1
bgt _08031204
cmp r0, 0
beq _0803120A
b _0803122C
.align 2, 0
_080311FC: .4byte gUnknown_02023A60
_08031200: .4byte gUnknown_02024A60
_08031204:
cmp r0, 0x2
beq _08031228
b _0803122C
_0803120A:
bl b_link_standby_message
_0803120E:
ldr r4, _08031224 @ =gUnknown_02024A60
ldrb r0, [r4]
movs r1, 0x1
bl dp11b_obj_free
ldrb r0, [r4]
movs r1, 0
bl dp11b_obj_free
b _0803122C
.align 2, 0
_08031224: .4byte gUnknown_02024A60
_08031228:
bl b_link_standby_message
_0803122C:
bl dp01_tbl1_exec_completed
pop {r4}
pop {r0}
bx r0
thumb_func_end dp01t_35_1_link_standby_message_and_free_vram
thumb_func_start sub_8031238
sub_8031238: @ 8031238
push {r4,lr}
ldr r1, _08031258 @ =gUnknown_02023A60
ldr r4, _0803125C @ =gUnknown_02024A60
ldrb r3, [r4]
lsls r0, r3, 9
adds r1, 0x1
adds r0, r1
ldrb r2, [r0]
cmp r2, 0x1
beq _08031280
cmp r2, 0x1
bgt _08031260
cmp r2, 0
beq _08031266
b _08031290
.align 2, 0
_08031258: .4byte gUnknown_02023A60
_0803125C: .4byte gUnknown_02024A60
_08031260:
cmp r2, 0x2
beq _08031288
b _08031290
_08031266:
ldr r0, _08031278 @ =gUnknown_02024E60
adds r0, r3, r0
strb r2, [r0]
ldr r1, _0803127C @ =gUnknown_02024E64
ldrb r0, [r4]
adds r0, r1
strb r2, [r0]
b _08031290
.align 2, 0
_08031278: .4byte gUnknown_02024E60
_0803127C: .4byte gUnknown_02024E64
_08031280:
ldr r0, _08031284 @ =gUnknown_02024E60
b _0803128A
.align 2, 0
_08031284: .4byte gUnknown_02024E60
_08031288:
ldr r0, _0803129C @ =gUnknown_02024E64
_0803128A:
adds r0, r3, r0
movs r1, 0
strb r1, [r0]
_08031290:
bl dp01_tbl1_exec_completed
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0803129C: .4byte gUnknown_02024E64
thumb_func_end sub_8031238
thumb_func_start sub_80312A0
sub_80312A0: @ 80312A0
push {r4,lr}
ldr r2, _080312D8 @ =gUnknown_02024D26
ldr r1, _080312DC @ =gUnknown_02023A60
ldr r4, _080312E0 @ =gUnknown_02024A60
ldrb r0, [r4]
lsls r0, 9
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
strb r0, [r2]
movs r0, 0x5
bl FadeOutMapMusic
movs r0, 0x3
bl BeginFastPaletteFade
bl dp01_tbl1_exec_completed
ldr r1, _080312E4 @ =gUnknown_03004330
ldrb r0, [r4]
lsls r0, 2
adds r0, r1
ldr r1, _080312E8 @ =sub_802D18C
str r1, [r0]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080312D8: .4byte gUnknown_02024D26
_080312DC: .4byte gUnknown_02023A60
_080312E0: .4byte gUnknown_02024A60
_080312E4: .4byte gUnknown_03004330
_080312E8: .4byte sub_802D18C
thumb_func_end sub_80312A0
thumb_func_start nullsub_43
nullsub_43: @ 80312EC
bx lr
thumb_func_end nullsub_43
.align 2, 0 @ Don't pad with nop.