pokeemerald/asm/pokenav_unk_3.s

1037 lines
16 KiB
ArmAsm
Raw Normal View History

.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
@ File centered around AllocSubstruct(5)
thumb_func_start sub_81CAAE8
sub_81CAAE8: @ 81CAAE8
push {r4,lr}
movs r1, 0xD4
lsls r1, 1
movs r0, 0x5
bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CAB1C
ldr r0, =sub_81CAB44
str r0, [r4, 0x18]
movs r0, 0
strh r0, [r4, 0x8]
str r0, [r4, 0x10]
ldr r0, =sub_81CAD20
movs r1, 0x1
bl CreateLoopedTask
str r0, [r4, 0x14]
movs r0, 0x1
b _081CAB1E
.pool
_081CAB1C:
movs r0, 0
_081CAB1E:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81CAAE8
thumb_func_start sub_81CAB24
sub_81CAB24: @ 81CAB24
push {lr}
movs r0, 0x5
bl GetSubstructPtr
ldr r1, [r0, 0x18]
bl _call_via_r1
pop {r1}
bx r1
thumb_func_end sub_81CAB24
thumb_func_start sub_81CAB38
sub_81CAB38: @ 81CAB38
push {lr}
movs r0, 0x5
bl FreePokenavSubstruct
pop {r0}
bx r0
thumb_func_end sub_81CAB38
thumb_func_start sub_81CAB44
sub_81CAB44: @ 81CAB44
push {r4,r5,lr}
adds r4, r0, 0
ldr r3, =gMain
ldrh r1, [r3, 0x30]
movs r0, 0x40
ands r0, r1
cmp r0, 0
beq _081CAB5C
movs r0, 0x2
b _081CABF4
.pool
_081CAB5C:
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _081CAB68
movs r0, 0x1
b _081CABF4
_081CAB68:
movs r0, 0x20
ands r0, r1
cmp r0, 0
beq _081CAB74
movs r0, 0x4
b _081CABF4
_081CAB74:
movs r0, 0x10
ands r0, r1
lsls r0, 16
lsrs r2, r0, 16
cmp r2, 0
beq _081CAB84
movs r0, 0x3
b _081CABF4
_081CAB84:
ldrh r1, [r3, 0x2E]
movs r5, 0x1
adds r0, r5, 0
ands r0, r1
cmp r0, 0
beq _081CABD0
ldr r0, =sub_81CAC04
str r0, [r4, 0x18]
strh r2, [r4]
bl GetSelectedMatchCall
lsls r0, 2
adds r1, r4, r0
ldrb r0, [r1, 0x1C]
cmp r0, 0
beq _081CABAE
ldrh r0, [r1, 0x1E]
bl sub_81D17E8
cmp r0, 0
beq _081CABC0
_081CABAE:
ldr r0, =gUnknown_0862250A
str r0, [r4, 0x4]
movs r0, 0x2
strh r0, [r4, 0x2]
b _081CABC6
.pool
_081CABC0:
ldr r0, =gUnknown_08622508
str r0, [r4, 0x4]
strh r5, [r4, 0x2]
_081CABC6:
movs r0, 0x5
b _081CABF4
.pool
_081CABD0:
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _081CABF2
bl GetPokenavMode
cmp r0, 0x1
beq _081CABEC
ldr r0, =sub_81CABFC
str r0, [r4, 0x18]
movs r0, 0xF
b _081CABF4
.pool
_081CABEC:
movs r0, 0x20
bl PlaySE
_081CABF2:
movs r0, 0
_081CABF4:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_81CAB44
thumb_func_start sub_81CABFC
sub_81CABFC: @ 81CABFC
ldr r0, =0x000186a4
bx lr
.pool
thumb_func_end sub_81CABFC
thumb_func_start sub_81CAC04
sub_81CAC04: @ 81CAC04
push {r4,lr}
adds r4, r0, 0
ldr r2, =gMain
ldrh r1, [r2, 0x2E]
movs r0, 0x40
ands r0, r1
cmp r0, 0
beq _081CAC24
ldrh r0, [r4]
cmp r0, 0
beq _081CAC24
subs r0, 0x1
b _081CAC38
.pool
_081CAC24:
ldrh r1, [r2, 0x2E]
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _081CAC3E
ldrh r0, [r4]
ldrh r1, [r4, 0x2]
cmp r0, r1
bcs _081CAC3E
adds r0, 0x1
_081CAC38:
strh r0, [r4]
movs r0, 0x6
b _081CACAC
_081CAC3E:
ldrh r1, [r2, 0x2E]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _081CAC98
ldrh r1, [r4]
ldr r0, [r4, 0x4]
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x1
beq _081CAC8C
cmp r0, 0x1
bgt _081CAC5E
cmp r0, 0
beq _081CAC64
b _081CAC98
_081CAC5E:
cmp r0, 0x2
bne _081CAC98
b _081CACA6
_081CAC64:
bl GetPokenavMode
cmp r0, 0x1
bne _081CAC72
movs r0, 0x2
bl SetPokenavMode
_081CAC72:
ldr r0, =sub_81CACF8
str r0, [r4, 0x18]
bl sub_81CB1D0
cmp r0, 0
beq _081CAC88
movs r0, 0x9
b _081CACAC
.pool
_081CAC88:
movs r0, 0x8
b _081CACAC
_081CAC8C:
ldr r0, =sub_81CACB8
str r0, [r4, 0x18]
movs r0, 0xB
b _081CACAC
.pool
_081CAC98:
ldrh r1, [r2, 0x2E]
movs r0, 0x2
ands r0, r1
cmp r0, 0
bne _081CACA6
movs r0, 0
b _081CACAC
_081CACA6:
ldr r0, =sub_81CAB44
str r0, [r4, 0x18]
movs r0, 0x7
_081CACAC:
pop {r4}
pop {r1}
bx r1
.pool
thumb_func_end sub_81CAC04
thumb_func_start sub_81CACB8
sub_81CACB8: @ 81CACB8
push {lr}
adds r3, r0, 0
ldr r2, =gMain
ldrh r1, [r2, 0x30]
movs r0, 0x40
ands r0, r1
cmp r0, 0
beq _081CACD0
movs r0, 0xC
b _081CACF0
.pool
_081CACD0:
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _081CACDC
movs r0, 0xD
b _081CACF0
_081CACDC:
ldrh r1, [r2, 0x2E]
movs r0, 0x2
ands r0, r1
cmp r0, 0
bne _081CACEA
movs r0, 0
b _081CACF0
_081CACEA:
ldr r0, =sub_81CAB44
str r0, [r3, 0x18]
movs r0, 0xE
_081CACF0:
pop {r1}
bx r1
.pool
thumb_func_end sub_81CACB8
thumb_func_start sub_81CACF8
sub_81CACF8: @ 81CACF8
push {lr}
adds r2, r0, 0
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x3
ands r0, r1
cmp r0, 0
bne _081CAD10
movs r0, 0
b _081CAD16
.pool
_081CAD10:
ldr r0, =sub_81CAB44
str r0, [r2, 0x18]
movs r0, 0xA
_081CAD16:
pop {r1}
bx r1
.pool
thumb_func_end sub_81CACF8
thumb_func_start sub_81CAD20
sub_81CAD20: @ 81CAD20
push {r4-r7,lr}
adds r5, r0, 0
movs r0, 0x5
bl GetSubstructPtr
adds r4, r0, 0
cmp r5, 0x1
beq _081CAD4C
cmp r5, 0x1
bgt _081CAD3A
cmp r5, 0
beq _081CAD44
b _081CAE00
_081CAD3A:
cmp r5, 0x2
beq _081CAD9C
cmp r5, 0x3
beq _081CADFC
b _081CAE00
_081CAD44:
strh r5, [r4, 0x8]
strh r5, [r4, 0xA]
_081CAD48:
movs r0, 0x1
b _081CAE02
_081CAD4C:
movs r6, 0
ldrh r5, [r4, 0x8]
_081CAD50:
adds r0, r5, 0
bl MatchCallFlagGetByIndex
cmp r0, 0
beq _081CAD80
ldrh r0, [r4, 0xA]
lsls r0, 2
adds r0, r4, r0
strh r5, [r0, 0x1E]
ldrh r0, [r4, 0xA]
lsls r0, 2
adds r0, r4, r0
movs r1, 0x1
strb r1, [r0, 0x1C]
adds r0, r5, 0
bl sub_81D16DC
ldrh r1, [r4, 0xA]
lsls r1, 2
adds r1, r4, r1
strb r0, [r1, 0x1D]
ldrh r0, [r4, 0xA]
adds r0, 0x1
strh r0, [r4, 0xA]
_081CAD80:
ldrh r0, [r4, 0x8]
adds r1, r0, 0x1
movs r2, 0
strh r1, [r4, 0x8]
lsls r0, r1, 16
lsrs r0, 16
cmp r0, 0x14
bhi _081CADF6
adds r6, 0x1
adds r5, 0x1
cmp r6, 0x1D
ble _081CAD50
movs r0, 0x3
b _081CAE02
_081CAD9C:
movs r6, 0
ldrh r5, [r4, 0x8]
movs r7, 0
_081CADA2:
ldrh r0, [r4, 0x8]
bl sub_81D1BF8
cmp r0, 0
bne _081CADDC
ldrh r0, [r4, 0x8]
bl sub_81CAE08
cmp r0, 0
beq _081CADDC
ldrh r0, [r4, 0xA]
lsls r0, 2
adds r0, r4, r0
ldrh r1, [r4, 0x8]
strh r1, [r0, 0x1E]
ldrh r0, [r4, 0xA]
lsls r0, 2
adds r0, r4, r0
strb r7, [r0, 0x1C]
adds r0, r5, 0
bl sub_81CB0C8
ldrh r1, [r4, 0xA]
lsls r1, 2
adds r1, r4, r1
strb r0, [r1, 0x1D]
ldrh r0, [r4, 0xA]
adds r0, 0x1
strh r0, [r4, 0xA]
_081CADDC:
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
lsls r0, 16
lsrs r0, 16
cmp r0, 0x4D
bhi _081CAD48
adds r6, 0x1
adds r5, 0x1
cmp r6, 0x1D
ble _081CADA2
movs r0, 0x3
b _081CAE02
_081CADF6:
strh r1, [r4, 0xC]
strh r2, [r4, 0x8]
b _081CAD48
_081CADFC:
movs r0, 0x1
str r0, [r4, 0x10]
_081CAE00:
movs r0, 0x4
_081CAE02:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_81CAD20
thumb_func_start sub_81CAE08
sub_81CAE08: @ 81CAE08
push {lr}
cmp r0, 0x4D
ble _081CAE12
movs r0, 0
b _081CAE24
_081CAE12:
movs r1, 0xAE
lsls r1, 1
adds r0, r1
lsls r0, 16
lsrs r0, 16
bl FlagGet
lsls r0, 24
lsrs r0, 24
_081CAE24:
pop {r1}
bx r1
thumb_func_end sub_81CAE08
thumb_func_start sub_81CAE28
sub_81CAE28: @ 81CAE28
push {lr}
movs r0, 0x5
bl GetSubstructPtr
ldr r0, [r0, 0x10]
pop {r1}
bx r1
thumb_func_end sub_81CAE28
thumb_func_start sub_81CAE38
sub_81CAE38: @ 81CAE38
push {lr}
movs r0, 0x5
bl GetSubstructPtr
ldrh r0, [r0, 0xA]
pop {r1}
bx r1
thumb_func_end sub_81CAE38
thumb_func_start sub_81CAE48
sub_81CAE48: @ 81CAE48
push {lr}
movs r0, 0x5
bl GetSubstructPtr
ldrh r0, [r0, 0xC]
pop {r1}
bx r1
thumb_func_end sub_81CAE48
thumb_func_start sub_81CAE58
sub_81CAE58: @ 81CAE58
push {lr}
movs r0, 0x5
bl GetSubstructPtr
adds r1, r0, 0
ldrh r0, [r1, 0xA]
ldrh r1, [r1, 0xC]
subs r0, r1
pop {r1}
bx r1
thumb_func_end sub_81CAE58
thumb_func_start sub_81CAE6C
sub_81CAE6C: @ 81CAE6C
push {r4,lr}
adds r4, r0, 0
movs r0, 0x5
bl GetSubstructPtr
adds r1, r0, 0
ldrh r0, [r1, 0xC]
adds r4, r0
ldrh r0, [r1, 0xA]
cmp r4, r0
bge _081CAE8A
lsls r0, r4, 2
adds r0, r1, r0
ldrh r0, [r0, 0x1E]
b _081CAE8C
_081CAE8A:
movs r0, 0x4E
_081CAE8C:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81CAE6C
thumb_func_start sub_81CAE94
sub_81CAE94: @ 81CAE94
push {lr}
movs r0, 0x5
bl GetSubstructPtr
adds r0, 0x1C
pop {r1}
bx r1
thumb_func_end sub_81CAE94
thumb_func_start sub_81CAEA4
sub_81CAEA4: @ 81CAEA4
push {r4,lr}
adds r4, r0, 0
movs r0, 0x5
bl GetSubstructPtr
lsls r4, 2
adds r0, r4
ldrb r0, [r0, 0x1D]
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81CAEA4
thumb_func_start sub_81CAEBC
sub_81CAEBC: @ 81CAEBC
push {r4,lr}
adds r4, r0, 0
movs r0, 0x5
bl GetSubstructPtr
lsls r1, r4, 2
adds r1, r0, r1
ldrb r0, [r1, 0x1C]
cmp r0, 0
bne _081CAED4
ldrh r4, [r1, 0x1E]
b _081CAEDC
_081CAED4:
ldrh r0, [r1, 0x1E]
bl MatchCall_GetRematchTableIdx
adds r4, r0, 0
_081CAEDC:
cmp r4, 0x4E
beq _081CAEFC
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, =0x000009ca
adds r0, r1
adds r0, r4
ldrb r1, [r0]
negs r0, r1
orrs r0, r1
lsrs r0, 31
b _081CAEFE
.pool
_081CAEFC:
movs r0, 0
_081CAEFE:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81CAEBC
thumb_func_start sub_81CAF04
sub_81CAF04: @ 81CAF04
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x5
bl GetSubstructPtr
lsls r1, r4, 2
adds r1, r0, r1
ldrb r0, [r1, 0x1C]
cmp r0, 0
bne _081CAF34
ldrh r0, [r1, 0x1E]
bl GetTrainerIdxByRematchIdx
adds r4, r0, 0
ldr r1, =gTrainers
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldrb r0, [r0, 0x3]
b _081CAF6C
.pool
_081CAF34:
ldrh r5, [r1, 0x1E]
adds r0, r5, 0
bl MatchCall_GetRematchTableIdx
adds r4, r0, 0
cmp r4, 0x4E
bne _081CAF58
adds r0, r5, 0
bl sub_81D1BD0
adds r4, r0, 0
ldr r0, =gFacilityClassToPicIndex
adds r0, r4, r0
ldrb r0, [r0]
b _081CAF6C
.pool
_081CAF58:
adds r0, r4, 0
bl GetTrainerIdxByRematchIdx
adds r4, r0, 0
ldr r0, =gTrainers
lsls r1, r4, 2
adds r1, r4
lsls r1, 3
adds r1, r0
ldrb r0, [r1, 0x3]
_081CAF6C:
pop {r4,r5}
pop {r1}
bx r1
.pool
thumb_func_end sub_81CAF04
thumb_func_start sub_81CAF78
sub_81CAF78: @ 81CAF78
push {r4-r6,lr}
adds r5, r0, 0
adds r6, r1, 0
movs r0, 0x5
bl GetSubstructPtr
adds r4, r0, 0
movs r0, 0
strb r0, [r6]
ldr r0, =gMapHeader
ldrb r0, [r0, 0x17]
bl Overworld_MapTypeAllowsTeleportAndFly
lsls r0, 24
cmp r0, 0
bne _081CAFA4
ldr r0, =gText_CallCantBeMadeHere
b _081CAFCE
.pool
_081CAFA4:
lsls r0, r5, 2
adds r1, r4, r0
ldrb r0, [r1, 0x1C]
cmp r0, 0
bne _081CAFC4
ldrh r0, [r1, 0x1E]
bl GetTrainerIdxByRematchIdx
ldr r1, =gStringVar4
bl SelectMatchCallMessage
strb r0, [r6]
b _081CAFCC
.pool
_081CAFC4:
ldrh r0, [r1, 0x1E]
ldr r1, =gStringVar4
bl MatchCall_GetMessage
_081CAFCC:
ldr r0, =gStringVar4
_081CAFCE:
pop {r4-r6}
pop {r1}
bx r1
.pool
thumb_func_end sub_81CAF78
thumb_func_start sub_81CAFD8
sub_81CAFD8: @ 81CAFD8
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
movs r0, 0x5
bl GetSubstructPtr
lsls r4, 2
adds r4, r0, r4
ldrb r0, [r4, 0x1C]
cmp r0, 0
beq _081CB004
ldrh r0, [r4, 0x1E]
bl MatchCall_GetRematchTableIdx
adds r1, r0, 0
cmp r1, 0x4E
bne _081CB006
ldrh r0, [r4, 0x1E]
adds r1, r5, 0
bl sub_81D1B40
b _081CB012
_081CB004:
ldrh r1, [r4, 0x1E]
_081CB006:
ldr r2, =gUnknown_08622028
lsls r0, r5, 2
lsls r1, 4
adds r0, r1
adds r0, r2
ldr r0, [r0]
_081CB012:
pop {r4,r5}
pop {r1}
bx r1
.pool
thumb_func_end sub_81CAFD8
thumb_func_start sub_81CB01C
sub_81CB01C: @ 81CB01C
push {lr}
movs r0, 0x5
bl GetSubstructPtr
ldrh r0, [r0]
pop {r1}
bx r1
thumb_func_end sub_81CB01C
thumb_func_start sub_81CB02C
sub_81CB02C: @ 81CB02C
push {r4,lr}
adds r4, r0, 0
movs r0, 0x5
bl GetSubstructPtr
adds r1, r0, 0
ldrh r0, [r1, 0x2]
cmp r0, r4
blt _081CB046
ldr r0, [r1, 0x4]
adds r0, r4
ldrb r0, [r0]
b _081CB048
_081CB046:
movs r0, 0x3
_081CB048:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81CB02C
thumb_func_start sub_81CB050
sub_81CB050: @ 81CB050
push {r4,lr}
sub sp, 0x8
adds r2, r0, 0
adds r4, r1, 0
ldrb r0, [r2]
cmp r0, 0
bne _081CB088
ldrh r0, [r2, 0x2]
bl GetTrainerIdxByRematchIdx
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r0, =gTrainers
adds r1, r0
ldrb r2, [r1, 0x1]
movs r0, 0xD
muls r0, r2
ldr r2, =gTrainerClassNames
adds r0, r2
str r0, [sp]
adds r1, 0x4
str r1, [sp, 0x4]
b _081CB092
.pool
_081CB088:
ldrh r0, [r2, 0x2]
add r2, sp, 0x4
mov r1, sp
bl sub_81D1A78
_081CB092:
ldr r2, [sp]
cmp r2, 0
beq _081CB0B4
ldr r0, [sp, 0x4]
cmp r0, 0
beq _081CB0B4
adds r0, r4, 0
movs r1, 0x7
movs r3, 0x45
bl sub_81DB494
ldr r2, [sp, 0x4]
movs r1, 0x7
movs r3, 0x33
bl sub_81DB494
b _081CB0C0
_081CB0B4:
adds r0, r4, 0
movs r1, 0x7
movs r2, 0
movs r3, 0x78
bl sub_81DB494
_081CB0C0:
add sp, 0x8
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_81CB050
thumb_func_start sub_81CB0C8
sub_81CB0C8: @ 81CB0C8
push {lr}
ldr r1, =gRematchTable
lsls r0, 4
adds r0, r1
ldrh r2, [r0, 0xA]
ldrh r1, [r0, 0xC]
adds r0, r2, 0
bl Overworld_GetMapHeaderByGroupAndId
ldrb r0, [r0, 0x14]
pop {r1}
bx r1
.pool
thumb_func_end sub_81CB0C8
thumb_func_start sub_81CB0E4
sub_81CB0E4: @ 81CB0E4
push {r4-r7,lr}
adds r5, r0, 0
movs r0, 0x5
bl GetSubstructPtr
adds r7, r0, 0
movs r6, 0x1
adds r5, 0x1
ldrh r0, [r7, 0xA]
cmp r5, r0
bge _081CB120
lsls r0, r5, 2
adds r0, 0x1C
adds r4, r0, r7
_081CB100:
ldrb r0, [r4]
cmp r0, 0
beq _081CB110
ldrh r0, [r4, 0x2]
bl sub_81D17E8
cmp r0, 0
beq _081CB114
_081CB110:
adds r0, r6, 0
b _081CB122
_081CB114:
adds r6, 0x1
adds r4, 0x4
adds r5, 0x1
ldrh r0, [r7, 0xA]
cmp r5, r0
blt _081CB100
_081CB120:
movs r0, 0
_081CB122:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_81CB0E4
thumb_func_start sub_81CB128
sub_81CB128: @ 81CB128
push {r4-r6,lr}
adds r5, r0, 0
movs r0, 0x5
bl GetSubstructPtr
adds r1, r0, 0
movs r6, 0x1
negs r6, r6
subs r5, 0x1
cmp r5, 0
blt _081CB162
lsls r0, r5, 2
adds r0, 0x1C
adds r4, r0, r1
_081CB144:
ldrb r0, [r4]
cmp r0, 0
beq _081CB154
ldrh r0, [r4, 0x2]
bl sub_81D17E8
cmp r0, 0
beq _081CB158
_081CB154:
adds r0, r6, 0
b _081CB164
_081CB158:
subs r6, 0x1
subs r4, 0x4
subs r5, 0x1
cmp r5, 0
bge _081CB144
_081CB162:
movs r0, 0
_081CB164:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_81CB128
thumb_func_start sub_81CB16C
sub_81CB16C: @ 81CB16C
push {r4,lr}
movs r4, 0
_081CB170:
adds r0, r4, 0
bl sub_81CAE08
cmp r0, 0
beq _081CB18A
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, =0x000009ca
adds r0, r1
adds r0, r4
ldrb r0, [r0]
cmp r0, 0
bne _081CB1B2
_081CB18A:
adds r4, 0x1
cmp r4, 0x4D
ble _081CB170
movs r4, 0
_081CB192:
adds r0, r4, 0
bl MatchCallFlagGetByIndex
cmp r0, 0
beq _081CB1C0
adds r0, r4, 0
bl MatchCall_GetRematchTableIdx
ldr r1, =gSaveBlock1Ptr
ldr r1, [r1]
ldr r2, =0x000009ca
adds r1, r2
adds r1, r0
ldrb r0, [r1]
cmp r0, 0
beq _081CB1C0
_081CB1B2:
movs r0, 0x1
b _081CB1C8
.pool
_081CB1C0:
adds r4, 0x1
cmp r4, 0x14
ble _081CB192
movs r0, 0
_081CB1C8:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81CB16C
thumb_func_start sub_81CB1D0
sub_81CB1D0: @ 81CB1D0
push {r4,lr}
movs r0, 0x5
bl GetSubstructPtr
adds r4, r0, 0
bl GetSelectedMatchCall
adds r1, r0, 0
lsls r0, r1, 2
adds r4, r0
ldrb r0, [r4, 0x1C]
cmp r0, 0
bne _081CB218
adds r0, r1, 0
bl sub_81CAEA4
ldr r1, =gMapHeader
lsls r0, 16
lsrs r0, 16
ldrb r1, [r1, 0x14]
cmp r0, r1
bne _081CB258
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r1, =0x000009ca
adds r0, r1
ldrh r4, [r4, 0x1E]
adds r0, r4
ldrb r0, [r0]
b _081CB246
.pool
_081CB218:
ldrh r0, [r4, 0x1E]
cmp r0, 0xB
bne _081CB258
adds r0, r1, 0
bl sub_81CAEA4
ldr r1, =gMapHeader
lsls r0, 16
lsrs r0, 16
ldrb r1, [r1, 0x14]
cmp r0, r1
bne _081CB258
ldr r0, =0x0000086b
bl FlagGet
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _081CB258
movs r0, 0x5B
bl FlagGet
lsls r0, 24
_081CB246:
cmp r0, 0
bne _081CB258
movs r0, 0x1
b _081CB25A
.pool
_081CB258:
movs r0, 0
_081CB25A:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81CB1D0
.align 2, 0 @ Don't pad with nop.