pmd-red/asm/code_8048480.s
2022-02-17 19:02:44 -06:00

1125 lines
17 KiB
ArmAsm

#include "asm/constants/gba_constants.inc"
#include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_8048524
sub_8048524:
push {r4-r6,lr}
sub sp, 0x4
adds r6, r0, 0
adds r4, r1, 0
ldr r0, [r4, 0x70]
adds r5, r0, 0
ldrb r0, [r5, 0x7]
cmp r0, 0
beq _08048542
adds r0, r6, 0
movs r2, 0
movs r3, 0x5
bl sub_8078A58
b _080485A4
_08048542:
ldr r0, _08048560
adds r1, r4, 0
movs r2, 0
bl SetMessageArgument
adds r0, r4, 0
movs r1, 0x12
bl HasIQSkill
lsls r0, 24
cmp r0, 0
beq _08048568
ldr r0, _08048564
b _08048586
.align 2, 0
_08048560: .4byte gAvailablePokemonNames
_08048564: .4byte gPtrSelfHealPreventedHungerMessage
_08048568:
movs r0, 0x9E
lsls r0, 1
adds r5, r0
ldr r0, [r5]
bl RoundUpFixedPoint
cmp r0, 0
beq _08048598
mov r0, sp
movs r1, 0
bl sub_80943A0
ldr r0, [sp]
str r0, [r5]
ldr r0, _08048594
_08048586:
ldr r2, [r0]
adds r0, r6, 0
adds r1, r4, 0
bl sub_80522F4
b _080485A4
.align 2, 0
_08048594: .4byte gUnknown_80F9740
_08048598:
ldr r0, _080485AC
ldr r2, [r0]
adds r0, r6, 0
adds r1, r4, 0
bl sub_80522F4
_080485A4:
add sp, 0x4
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080485AC: .4byte gUnknown_80F9760
thumb_func_end sub_8048524
thumb_func_start sub_80485B0
sub_80485B0:
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x4
mov r9, r0
mov r8, r1
movs r0, 0
str r0, [sp]
movs r2, 0x1
mov r10, r2
ldr r4, [r1, 0x70]
movs r0, 0x64
bl DungeonRandomCapped
ldr r1, _0804865C
movs r2, 0
ldrsh r1, [r1, r2]
cmp r0, r1
bge _080485DE
movs r0, 0x3
mov r10, r0
_080485DE:
ldrb r0, [r4, 0x7]
cmp r0, 0
beq _0804867C
movs r2, 0x8C
lsls r2, 1
adds r4, r2
adds r5, r4, 0
movs r7, 0x3
_080485EE:
ldrb r1, [r4]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _0804862C
movs r0, 0x8
ands r0, r1
cmp r0, 0
beq _0804862C
adds r0, r5, 0
bl GetMovePower
cmp r0, 0
beq _0804862C
ldrb r6, [r4, 0x5]
adds r0, r5, 0
bl GetMoveUnk12
adds r1, r0, 0
ldrb r0, [r4, 0x5]
add r0, r10
strb r0, [r4, 0x5]
ldrb r0, [r4, 0x5]
cmp r0, r1
blt _08048622
strb r1, [r4, 0x5]
_08048622:
ldrb r0, [r4, 0x5]
cmp r6, r0
beq _0804862C
movs r2, 0x1
str r2, [sp]
_0804862C:
adds r4, 0x8
adds r5, 0x8
subs r7, 0x1
cmp r7, 0
bge _080485EE
ldr r0, [sp]
cmp r0, 0
beq _08048668
ldr r0, _08048660
ldr r2, [r0]
mov r0, r9
mov r1, r8
bl sub_80522F4
mov r2, r10
cmp r2, 0x1
beq _08048688
movs r0, 0xA
movs r1, 0x40
bl sub_803E708
ldr r0, _08048664
b _0804866A
.align 2, 0
_0804865C: .4byte gUnknown_80F4F46
_08048660: .4byte gUnknown_80FE454
_08048664: .4byte gUnknown_80FE434
_08048668:
ldr r0, _08048678
_0804866A:
ldr r2, [r0]
mov r0, r9
mov r1, r8
bl sub_80522F4
b _08048688
.align 2, 0
_08048678: .4byte gUnknown_80FE40C
_0804867C:
ldr r0, _08048698
ldr r2, [r0]
mov r0, r9
mov r1, r8
bl sub_80522F4
_08048688:
add sp, 0x4
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08048698: .4byte gUnknown_80FE40C
thumb_func_end sub_80485B0
thumb_func_start sub_804869C
sub_804869C:
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x1C
adds r4, r0, 0
adds r7, r1, 0
lsls r2, 24
cmp r2, 0
beq _08048724
ldr r5, [r7, 0x70]
ldr r0, _080486D4
ldr r0, [r0]
ldr r1, _080486D8
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
beq _080486E4
ldr r0, _080486DC
movs r1, 0
ldrsh r6, [r0, r1]
ldr r0, _080486E0
ldr r2, [r0]
adds r0, r4, 0
adds r1, r7, 0
bl sub_80522F4
b _080486EA
.align 2, 0
_080486D4: .4byte gDungeonGlobalData
_080486D8: .4byte 0x00000675
_080486DC: .4byte gUnknown_80F4FA8
_080486E0: .4byte gUnknown_80FEAE8
_080486E4:
ldr r0, _0804871C
movs r1, 0
ldrsh r6, [r0, r1]
_080486EA:
adds r0, r5, 0
adds r0, 0xB0
ldrb r0, [r0]
cmp r0, 0x1
bne _080486FC
adds r0, r4, 0
adds r1, r7, 0
bl SendImmobilizeEndMessage
_080486FC:
add r0, sp, 0x18
str r0, [sp]
movs r1, 0
str r1, [sp, 0x4]
ldr r0, _08048720
str r0, [sp, 0x8]
str r1, [sp, 0xC]
str r1, [sp, 0x10]
str r1, [sp, 0x14]
adds r0, r4, 0
adds r1, r7, 0
adds r2, r6, 0
movs r3, 0x1
bl sub_806F370
b _080487B6
.align 2, 0
_0804871C: .4byte gUnknown_80F4FA4
_08048720: .4byte 0x00000216
_08048724:
adds r0, r4, 0
bl sub_8042520
adds r0, r4, 0
bl sub_80696FC
adds r5, r0, 0
cmp r5, 0
bne _08048748
ldr r0, _08048744
ldr r2, [r0]
adds r0, r4, 0
adds r1, r7, 0
bl sub_80522F4
b _080487B6
.align 2, 0
_08048744: .4byte gUnknown_80FDBA0
_08048748:
ldr r1, [r5, 0x70]
mov r8, r1
ldr r0, _08048770
ldr r0, [r0]
ldr r1, _08048774
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
beq _08048780
ldr r0, _08048778
movs r1, 0
ldrsh r6, [r0, r1]
ldr r0, _0804877C
ldr r2, [r0]
adds r0, r4, 0
adds r1, r7, 0
bl sub_80522F4
b _08048786
.align 2, 0
_08048770: .4byte gDungeonGlobalData
_08048774: .4byte 0x00000675
_08048778: .4byte gUnknown_80F4FAA
_0804877C: .4byte gUnknown_80FEAE8
_08048780:
ldr r0, _080487C4
movs r1, 0
ldrsh r6, [r0, r1]
_08048786:
mov r0, r8
adds r0, 0xB0
ldrb r0, [r0]
cmp r0, 0x1
bne _08048798
adds r0, r4, 0
adds r1, r5, 0
bl SendImmobilizeEndMessage
_08048798:
add r0, sp, 0x18
str r0, [sp]
movs r1, 0
str r1, [sp, 0x4]
ldr r0, _080487C8
str r0, [sp, 0x8]
str r1, [sp, 0xC]
str r1, [sp, 0x10]
str r1, [sp, 0x14]
adds r0, r4, 0
adds r1, r5, 0
adds r2, r6, 0
movs r3, 0x1
bl sub_806F370
_080487B6:
add sp, 0x1C
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080487C4: .4byte gUnknown_80F4FA6
_080487C8: .4byte 0x00000216
thumb_func_end sub_804869C
thumb_func_start sub_80487CC
sub_80487CC:
push {r4,lr}
sub sp, 0x4
movs r4, 0x1
str r4, [sp]
bl sub_8078B5C
add sp, 0x4
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_80487CC
thumb_func_start sub_80487E0
sub_80487E0:
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x4
mov r9, r0
mov r8, r1
lsls r3, r2, 24
ldr r5, [r1, 0x70]
ldr r4, _08048858
lsrs r3, 23
adds r0, r5, 0
adds r0, 0x5C
ldrb r0, [r0]
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
adds r1, r3, r1
adds r0, r1, r4
movs r2, 0
ldrsh r6, [r0, r2]
adds r0, r5, 0
adds r0, 0x5D
ldrb r2, [r0]
lsls r0, r2, 3
adds r0, r2
lsls r0, 2
adds r3, r0
adds r4, r3, r4
movs r2, 0
ldrsh r0, [r4, r2]
adds r6, r0
ldr r0, _0804885C
adds r1, r0
movs r4, 0
ldrsh r2, [r1, r4]
adds r3, r0
movs r1, 0
ldrsh r0, [r3, r1]
adds r2, r0
movs r0, 0x1
str r0, [sp]
mov r0, r9
mov r1, r8
movs r3, 0
bl sub_8078B5C
ldrb r0, [r5, 0x6]
cmp r0, 0
bne _08048906
adds r0, r5, 0
adds r0, 0x40
ldrb r0, [r0]
cmp r0, 0x4A
beq _08048852
cmp r0, 0x47
bne _08048860
_08048852:
movs r0, 0x1
b _08048862
.align 2, 0
_08048858: .4byte gTypeGummiIQBoost
_0804885C: .4byte gUnknown_810A808
_08048860:
movs r0, 0
_08048862:
cmp r0, 0
bne _08048906
movs r2, 0xC
ldrsh r7, [r5, r2]
ldrh r0, [r5, 0xC]
adds r0, r6
strh r0, [r5, 0xC]
adds r2, r7, r6
lsls r0, 16
cmp r0, 0
bgt _0804887C
movs r0, 0x1
strh r0, [r5, 0xC]
_0804887C:
movs r4, 0xC
ldrsh r0, [r5, r4]
ldr r1, _080488A0
cmp r0, r1
ble _08048888
strh r1, [r5, 0xC]
_08048888:
movs r1, 0xC
ldrsh r0, [r5, r1]
cmp r7, r0
bne _080488A8
ldr r0, _080488A4
ldr r2, [r0]
mov r0, r9
mov r1, r8
bl sub_80522F4
b _08048906
.align 2, 0
_080488A0: .4byte 0x000003e7
_080488A4: .4byte gUnknown_80FD644
_080488A8:
subs r0, r2, r7
movs r2, 0
cmp r0, 0x8
bgt _080488BE
movs r2, 0x1
cmp r0, 0x4
bgt _080488BE
movs r2, 0x3
cmp r0, 0x2
ble _080488BE
movs r2, 0x2
_080488BE:
movs r4, 0xC
ldrsh r0, [r5, r4]
subs r0, r7
movs r4, 0
cmp r0, 0x8
bgt _080488D8
movs r4, 0x1
cmp r0, 0x4
bgt _080488D8
movs r4, 0x3
cmp r0, 0x2
ble _080488D8
movs r4, 0x2
_080488D8:
ldr r1, _08048914
lsls r0, r2, 2
adds r0, r1
ldr r2, [r0]
mov r0, r9
mov r1, r8
bl sub_80522F4
ldr r1, _08048918
lsls r0, r4, 2
adds r0, r1
ldr r2, [r0]
mov r0, r9
mov r1, r8
bl sub_80522F4
mov r0, r8
bl LoadIQSkills
adds r0, r5, 0
adds r1, r7, 0
bl sub_806A7E8
_08048906:
add sp, 0x4
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08048914: .4byte gUnknown_80FD648
_08048918: .4byte gUnknown_80FD6E8
thumb_func_end sub_80487E0
thumb_func_start sub_804891C
sub_804891C:
push {lr}
movs r2, 0x3
bl sub_80793B0
pop {r0}
bx r0
thumb_func_end sub_804891C
thumb_func_start sub_8048928
sub_8048928:
push {lr}
movs r2, 0x3
bl sub_8079420
pop {r0}
bx r0
thumb_func_end sub_8048928
thumb_func_start sub_8048934
sub_8048934:
push {lr}
movs r2, 0x3
bl sub_8079490
pop {r0}
bx r0
thumb_func_end sub_8048934
thumb_func_start sub_8048940
sub_8048940:
push {lr}
movs r2, 0x3
bl sub_8079500
pop {r0}
bx r0
thumb_func_end sub_8048940
thumb_func_start nullsub_94
nullsub_94:
bx lr
thumb_func_end nullsub_94
thumb_func_start sub_8048950
sub_8048950:
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
mov r10, r0
mov r8, r1
ldrb r0, [r1, 0x2]
bl GetItemMove
lsls r0, 16
lsrs r0, 16
mov r9, r0
mov r0, r8
ldrb r1, [r0]
movs r0, 0x8
ands r0, r1
cmp r0, 0
beq _08048988
ldr r0, _08048984
_08048978:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
b _08048A58
.align 2, 0
_08048984: .4byte gUnknown_80FE3E8
_08048988:
mov r1, r8
ldrb r0, [r1, 0x2]
bl IsHMItem
lsls r0, 24
cmp r0, 0
beq _080489A0
ldr r0, _0804899C
b _08048978
.align 2, 0
_0804899C: .4byte gPtrCantUseInDungeonMessage
_080489A0:
movs r7, 0
_080489A2:
ldr r0, _080489FC
ldr r0, [r0]
lsls r1, r7, 2
ldr r2, _08048A00
adds r0, r2
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
bl EntityExists
lsls r0, 24
cmp r0, 0
beq _08048A12
ldr r6, [r4, 0x70]
movs r0, 0x2
ldrsh r1, [r6, r0]
mov r0, r9
bl CanMonLearnMove
lsls r0, 24
lsrs r5, r0, 24
adds r0, r4, 0
movs r1, 0
bl CannotMove
lsls r0, 24
cmp r0, 0
beq _080489DC
movs r5, 0
_080489DC:
adds r0, r6, 0
adds r0, 0xA4
ldrb r0, [r0]
cmp r0, 0x1
bne _080489E8
movs r5, 0
_080489E8:
adds r0, r6, 0
adds r0, 0x40
ldrb r0, [r0]
cmp r0, 0x4A
beq _080489F6
cmp r0, 0x47
bne _08048A04
_080489F6:
movs r0, 0x1
b _08048A06
.align 2, 0
_080489FC: .4byte gDungeonGlobalData
_08048A00: .4byte 0x0001357c
_08048A04:
movs r0, 0
_08048A06:
cmp r0, 0
beq _08048A0C
movs r5, 0
_08048A0C:
ldr r1, _08048A50
adds r0, r6, r1
strb r5, [r0]
_08048A12:
adds r7, 0x1
cmp r7, 0x3
ble _080489A2
movs r0, 0
movs r1, 0x1
bl DrawFieldGiveItemMenu
adds r4, r0, 0
bl EntityExists
lsls r0, 24
cmp r0, 0
beq _08048A58
mov r0, r10
mov r1, r8
bl sub_804245C
adds r0, r4, 0
mov r1, r9
bl sub_8072938
lsls r0, 24
cmp r0, 0
beq _08048A58
ldr r2, _08048A54
mov r0, r10
movs r1, 0
bl sub_8044E24
movs r0, 0x1
b _08048A5A
.align 2, 0
_08048A50: .4byte 0x00000157
_08048A54: .4byte 0x00000141
_08048A58:
movs r0, 0
_08048A5A:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8048950
thumb_func_start sub_8048A68
sub_8048A68:
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
mov r9, r0
mov r8, r1
ldrb r1, [r1]
movs r0, 0x8
ands r0, r1
cmp r0, 0
beq _08048A90
ldr r0, _08048A8C
_08048A80:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
b _08048B8C
.align 2, 0
_08048A8C: .4byte gUnknown_80FE3E8
_08048A90:
ldr r0, _08048AA4
ldr r0, [r0]
ldr r1, _08048AA8
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _08048AB0
ldr r0, _08048AAC
b _08048A80
.align 2, 0
_08048AA4: .4byte gDungeonGlobalData
_08048AA8: .4byte 0x0000065c
_08048AAC: .4byte gUnknown_80F9BD8
_08048AB0:
movs r7, 0
_08048AB2:
ldr r0, _08048B24
ldr r0, [r0]
lsls r1, r7, 2
ldr r2, _08048B28
adds r0, r2
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
bl EntityExists
lsls r0, 24
cmp r0, 0
beq _08048B4A
ldr r5, [r4, 0x70]
movs r6, 0x1
ldrb r0, [r5, 0xA]
cmp r0, 0x3
bhi _08048AF4
ldr r2, _08048B2C
ldrb r1, [r5, 0xA]
movs r0, 0x64
muls r1, r0
ldr r0, _08048B30
adds r1, r0
ldr r0, [r2]
adds r0, r1
movs r1, 0xA
ldrsh r0, [r0, r1]
bl sub_806A538
lsls r0, 24
cmp r0, 0
beq _08048AF6
_08048AF4:
movs r6, 0
_08048AF6:
adds r0, r4, 0
movs r1, 0
bl CannotMove
lsls r0, 24
cmp r0, 0
beq _08048B06
movs r6, 0
_08048B06:
adds r0, r5, 0
adds r0, 0xA4
ldrb r0, [r0]
cmp r0, 0x1
bne _08048B12
movs r6, 0
_08048B12:
adds r0, r5, 0
adds r0, 0x40
ldrb r0, [r0]
cmp r0, 0x4A
beq _08048B20
cmp r0, 0x47
bne _08048B34
_08048B20:
movs r0, 0x1
b _08048B36
.align 2, 0
_08048B24: .4byte gDungeonGlobalData
_08048B28: .4byte 0x0001357c
_08048B2C: .4byte gRecruitedPokemonRef
_08048B30: .4byte 0x00008df8
_08048B34:
movs r0, 0
_08048B36:
cmp r0, 0
beq _08048B3C
movs r6, 0
_08048B3C:
ldrb r0, [r5, 0x7]
cmp r0, 0
beq _08048B44
movs r6, 0
_08048B44:
ldr r2, _08048B84
adds r0, r5, r2
strb r6, [r0]
_08048B4A:
adds r7, 0x1
cmp r7, 0x3
ble _08048AB2
movs r0, 0
movs r1, 0x1
bl DrawFieldGiveItemMenu
adds r4, r0, 0
bl EntityExists
lsls r0, 24
cmp r0, 0
beq _08048B8C
mov r0, r9
mov r1, r8
bl sub_804245C
ldr r0, _08048B88
ldr r0, [r0]
adds r0, 0xBC
str r4, [r0]
movs r2, 0xA1
lsls r2, 1
mov r0, r9
movs r1, 0
bl sub_8044E24
movs r0, 0x1
b _08048B8E
.align 2, 0
_08048B84: .4byte 0x00000157
_08048B88: .4byte gDungeonGlobalData
_08048B8C:
movs r0, 0
_08048B8E:
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8048A68
thumb_func_start sub_8048B9C
sub_8048B9C:
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x20
mov r9, r0
movs r0, 0
mov r8, r0
mov r2, r9
ldr r0, [r2, 0x70]
adds r6, r0, 0
adds r6, 0x44
ldrb r1, [r1]
movs r0, 0x8
ands r0, r1
cmp r0, 0
beq _08048BD4
ldr r0, _08048BD0
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
movs r0, 0
b _08048D40
.align 2, 0
_08048BD0: .4byte gUnknown_80FE3E8
_08048BD4:
movs r2, 0
_08048BD6:
ldr r0, _08048C28
ldr r0, [r0]
lsls r1, r2, 2
ldr r3, _08048C2C
adds r0, r3
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
str r2, [sp, 0x1C]
bl EntityExists
lsls r0, 24
ldr r2, [sp, 0x1C]
cmp r0, 0
beq _08048C3E
ldr r5, [r4, 0x70]
movs r7, 0x1
adds r0, r4, 0
movs r1, 0
bl CannotMove
lsls r0, 24
ldr r2, [sp, 0x1C]
cmp r0, 0
beq _08048C0A
movs r7, 0
_08048C0A:
adds r0, r5, 0
adds r0, 0xA4
ldrb r0, [r0]
cmp r0, 0x1
bne _08048C16
movs r7, 0
_08048C16:
adds r0, r5, 0
adds r0, 0x40
ldrb r0, [r0]
cmp r0, 0x4A
beq _08048C24
cmp r0, 0x47
bne _08048C30
_08048C24:
movs r0, 0x1
b _08048C32
.align 2, 0
_08048C28: .4byte gDungeonGlobalData
_08048C2C: .4byte 0x0001357c
_08048C30:
movs r0, 0
_08048C32:
cmp r0, 0
beq _08048C38
movs r7, 0
_08048C38:
ldr r4, _08048C5C
adds r0, r5, r4
strb r7, [r0]
_08048C3E:
adds r2, 0x1
cmp r2, 0x3
ble _08048BD6
movs r0, 0
movs r1, 0x1
bl DrawFieldGiveItemMenu
adds r4, r0, 0
bl EntityExists
lsls r0, 24
cmp r0, 0
bne _08048C60
movs r0, 0
b _08048D40
.align 2, 0
_08048C5C: .4byte 0x00000157
_08048C60:
add r1, sp, 0x4
adds r0, r6, 0
ldm r0!, {r2,r3,r5}
stm r1!, {r2,r3,r5}
ldm r0!, {r2,r3,r5}
stm r1!, {r2,r3,r5}
b _08048CE2
_08048C6E:
ldrh r0, [r6]
cmp r0, 0x1D
bne _08048C7C
adds r0, r6, 0
bl sub_80637E8
b _08048CE2
_08048C7C:
cmp r0, 0x20
bne _08048C9A
movs r0, 0
movs r1, 0
bl sub_803EAF0
adds r0, r6, 0
bl sub_8063BB4
movs r0, 0x1
bl sub_8044C10
movs r5, 0x1
mov r8, r5
b _08048CE2
_08048C9A:
cmp r0, 0x21
bne _08048CB6
movs r0, 0
movs r1, 0
bl sub_803EAF0
adds r0, r6, 0
movs r1, 0
bl sub_8063CF0
movs r0, 0x1
bl sub_8044C10
b _08048CE2
_08048CB6:
cmp r0, 0x1E
beq _08048CBE
cmp r0, 0x33
bne _08048CD0
_08048CBE:
movs r0, 0
movs r1, 0
bl sub_803EAF0
adds r0, r6, 0
movs r1, 0
bl sub_8063A70
b _08048CE2
_08048CD0:
cmp r0, 0x1F
bne _08048CE2
movs r0, 0
movs r1, 0
bl sub_803EAF0
adds r0, r6, 0
bl sub_8063B54
_08048CE2:
adds r0, r6, 0
bl ResetAction
movs r0, 0x1
str r0, [sp]
adds r0, r4, 0
movs r1, 0x1
movs r2, 0
movs r3, 0
bl sub_8062F90
lsls r0, 24
cmp r0, 0
beq _08048C6E
mov r0, r8
cmp r0, 0
beq _08048D38
ldr r0, _08048D34
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl sub_8052B8C
cmp r0, 0x1
bne _08048C6E
adds r1, r6, 0
add r0, sp, 0x4
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
ldm r0!, {r2,r3,r5}
stm r1!, {r2,r3,r5}
mov r0, r9
movs r1, 0
movs r2, 0x6E
bl sub_8044DF0
adds r0, r6, 0
movs r1, 0x2C
bl SetAction
b _08048D3E
.align 2, 0
_08048D34: .4byte gUnknown_80FECA0
_08048D38:
movs r0, 0x1
bl sub_8044C10
_08048D3E:
mov r0, r8
_08048D40:
add sp, 0x20
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8048B9C
thumb_func_start sub_8048D50
sub_8048D50:
push {r4,lr}
adds r4, r0, 0
adds r2, r1, 0
ldr r3, [r4, 0x70]
ldrb r1, [r2]
movs r0, 0x8
ands r0, r1
cmp r0, 0
beq _08048D78
ldr r0, _08048D70
adds r1, r2, 0
bl sub_8045BF8
ldr r0, _08048D74
b _08048D9A
.align 2, 0
_08048D70: .4byte gUnknown_202DE58
_08048D74: .4byte gUnknown_80FE3E8
_08048D78:
adds r0, r3, 0
adds r0, 0xEC
ldrb r0, [r0]
cmp r0, 0x1
bne _08048DB0
ldrb r0, [r2, 0x2]
bl IsEdibleItem
lsls r0, 24
cmp r0, 0
beq _08048DB0
ldr r0, _08048DA8
adds r1, r4, 0
movs r2, 0
bl SetMessageArgument
ldr r0, _08048DAC
_08048D9A:
ldr r1, [r0]
adds r0, r4, 0
bl SendMessage
movs r0, 0
b _08048DB2
.align 2, 0
_08048DA8: .4byte gAvailablePokemonNames
_08048DAC: .4byte gUnknown_80FDCA4
_08048DB0:
movs r0, 0x1
_08048DB2:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8048D50
.align 2, 0