pokeemerald/asm/pokenav_unk_8.s
Phlosioneer 0dc73b0b3a Break up pokenav into subfiles
The files are separated based on the pokenav resources substruct
ID they use.
2019-04-07 14:40:35 -04:00

1378 lines
21 KiB
ArmAsm

.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
@ File centered around AllocSubstruct(7)
thumb_func_start sub_81CEF3C
sub_81CEF3C: @ 81CEF3C
push {r4,lr}
movs r0, 0x7
movs r1, 0x24
bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CEF90
ldr r1, =0x000006ac
movs r0, 0x12
bl AllocSubstruct
str r0, [r4, 0x20]
cmp r0, 0
beq _081CEF90
ldr r0, =sub_81CF010
str r0, [r4]
ldr r0, =sub_81CF11C
movs r1, 0x1
bl CreateLoopedTask
str r0, [r4, 0x4]
movs r0, 0
str r0, [r4, 0x18]
bl sub_81C76AC
ldr r1, =gUnknown_086233A0
lsls r0, 2
adds r0, r1
ldr r0, [r0]
str r0, [r4, 0x14]
movs r0, 0x1
b _081CEF92
.pool
_081CEF90:
movs r0, 0
_081CEF92:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81CEF3C
thumb_func_start sub_81CEF98
sub_81CEF98: @ 81CEF98
push {r4,lr}
movs r0, 0x7
movs r1, 0x24
bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CEFD4
movs r0, 0x12
bl GetSubstructPtr
str r0, [r4, 0x20]
ldr r0, =sub_81CF030
str r0, [r4]
movs r0, 0x1
str r0, [r4, 0x18]
bl sub_81C76AC
ldr r1, =gUnknown_086233A0
lsls r0, 2
adds r0, r1
ldr r0, [r0]
str r0, [r4, 0x14]
movs r0, 0x1
b _081CEFD6
.pool
_081CEFD4:
movs r0, 0
_081CEFD6:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81CEF98
thumb_func_start sub_81CEFDC
sub_81CEFDC: @ 81CEFDC
push {lr}
movs r0, 0x7
bl GetSubstructPtr
ldr r1, [r0]
bl _call_via_r1
pop {r1}
bx r1
thumb_func_end sub_81CEFDC
thumb_func_start sub_81CEFF0
sub_81CEFF0: @ 81CEFF0
push {lr}
movs r0, 0x7
bl GetSubstructPtr
ldr r0, [r0, 0x1C]
cmp r0, 0
bne _081CF004
movs r0, 0x12
bl FreePokenavSubstruct
_081CF004:
movs r0, 0x7
bl FreePokenavSubstruct
pop {r0}
bx r0
thumb_func_end sub_81CEFF0
thumb_func_start sub_81CF010
sub_81CF010: @ 81CF010
push {r4,lr}
adds r4, r0, 0
ldr r0, [r4, 0x4]
bl IsLoopedTaskActive
cmp r0, 0
bne _081CF022
ldr r0, =sub_81CF030
str r0, [r4]
_081CF022:
movs r0, 0
pop {r4}
pop {r1}
bx r1
.pool
thumb_func_end sub_81CF010
thumb_func_start sub_81CF030
sub_81CF030: @ 81CF030
push {r4,r5,lr}
adds r4, r0, 0
ldr r2, =gMain
ldrh r1, [r2, 0x30]
movs r0, 0x40
ands r0, r1
cmp r0, 0
beq _081CF048
movs r0, 0x1
b _081CF0A6
.pool
_081CF048:
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _081CF054
movs r0, 0x2
b _081CF0A6
_081CF054:
ldrh r1, [r2, 0x2E]
movs r0, 0x20
ands r0, r1
cmp r0, 0
beq _081CF062
movs r0, 0x3
b _081CF0A6
_081CF062:
movs r0, 0x10
ands r0, r1
lsls r0, 16
lsrs r2, r0, 16
cmp r2, 0
beq _081CF072
movs r0, 0x4
b _081CF0A6
_081CF072:
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _081CF088
str r2, [r4, 0x1C]
ldr r0, =sub_81CF0B0
str r0, [r4]
movs r0, 0x5
b _081CF0A6
.pool
_081CF088:
movs r5, 0x1
adds r0, r5, 0
ands r0, r1
cmp r0, 0
bne _081CF096
movs r0, 0
b _081CF0A6
_081CF096:
bl GetSelectedMatchCall
ldr r1, [r4, 0x20]
strh r0, [r1, 0x2]
str r5, [r4, 0x1C]
ldr r0, =sub_81CF0B8
str r0, [r4]
movs r0, 0x6
_081CF0A6:
pop {r4,r5}
pop {r1}
bx r1
.pool
thumb_func_end sub_81CF030
thumb_func_start sub_81CF0B0
sub_81CF0B0: @ 81CF0B0
ldr r0, =0x000186a3
bx lr
.pool
thumb_func_end sub_81CF0B0
thumb_func_start sub_81CF0B8
sub_81CF0B8: @ 81CF0B8
ldr r0, =0x000186a9
bx lr
.pool
thumb_func_end sub_81CF0B8
thumb_func_start sub_81CF0C0
sub_81CF0C0: @ 81CF0C0
push {lr}
movs r0, 0x7
bl GetSubstructPtr
ldr r0, [r0, 0x18]
pop {r1}
bx r1
thumb_func_end sub_81CF0C0
thumb_func_start sub_81CF0D0
sub_81CF0D0: @ 81CF0D0
push {lr}
movs r0, 0x7
bl GetSubstructPtr
ldr r0, [r0, 0x20]
adds r0, 0x4
pop {r1}
bx r1
thumb_func_end sub_81CF0D0
thumb_func_start sub_81CF0E0
sub_81CF0E0: @ 81CF0E0
push {lr}
movs r0, 0x7
bl GetSubstructPtr
ldr r0, [r0, 0x20]
ldrh r0, [r0]
pop {r1}
bx r1
thumb_func_end sub_81CF0E0
thumb_func_start sub_81CF0F0
sub_81CF0F0: @ 81CF0F0
push {r4,lr}
movs r0, 0x7
bl GetSubstructPtr
adds r4, r0, 0
bl GetSelectedMatchCall
ldr r1, [r4, 0x20]
lsls r0, 2
adds r1, r0
ldrh r0, [r1, 0x6]
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81CF0F0
thumb_func_start sub_81CF10C
sub_81CF10C: @ 81CF10C
push {lr}
movs r0, 0x7
bl GetSubstructPtr
ldr r0, [r0, 0x20]
ldrh r0, [r0, 0x2]
pop {r1}
bx r1
thumb_func_end sub_81CF10C
thumb_func_start sub_81CF11C
sub_81CF11C: @ 81CF11C
push {lr}
ldr r2, =gUnknown_086233B4
lsls r1, r0, 2
adds r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {r1}
bx r1
.pool
thumb_func_end sub_81CF11C
thumb_func_start sub_81CF134
sub_81CF134: @ 81CF134
push {r4-r6,lr}
sub sp, 0x4
movs r0, 0x7
bl GetSubstructPtr
adds r6, r0, 0
ldr r0, [r6, 0x20]
movs r1, 0
strh r1, [r0]
ldr r0, [r6, 0x20]
strh r1, [r0, 0x2]
ldr r1, =0xffffff00
ldr r0, [sp]
ands r0, r1
movs r1, 0xE
orrs r0, r1
str r0, [sp]
movs r5, 0
_081CF158:
movs r0, 0x64
adds r1, r5, 0
muls r1, r0
ldr r0, =gPlayerParty
adds r4, r1, r0
adds r0, r4, 0
movs r1, 0x5
bl GetMonData
cmp r0, 0
beq _081CF1AA
adds r0, r4, 0
movs r1, 0x6
bl GetMonData
cmp r0, 0
bne _081CF1A4
lsls r1, r5, 24
lsrs r1, 16
ldr r2, =0xffff00ff
ldr r0, [sp]
ands r0, r2
orrs r0, r1
str r0, [sp]
ldr r1, [r6, 0x14]
adds r0, r4, 0
bl GetMonData
lsls r0, 16
ldr r2, =0x0000ffff
ldr r1, [sp]
ands r1, r2
orrs r1, r0
str r1, [sp]
adds r0, r6, 0
mov r1, sp
bl sub_81CF2C4
_081CF1A4:
adds r5, 0x1
cmp r5, 0x5
ble _081CF158
_081CF1AA:
movs r0, 0x1
add sp, 0x4
pop {r4-r6}
pop {r1}
bx r1
.pool
thumb_func_end sub_81CF134
thumb_func_start sub_81CF1C4
sub_81CF1C4: @ 81CF1C4
push {lr}
movs r0, 0x7
bl GetSubstructPtr
movs r1, 0
str r1, [r0, 0x10]
str r1, [r0, 0xC]
movs r0, 0x1
pop {r1}
bx r1
thumb_func_end sub_81CF1C4
thumb_func_start sub_81CF1D8
sub_81CF1D8: @ 81CF1D8
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x4
movs r0, 0x7
bl GetSubstructPtr
adds r6, r0, 0
ldr r5, [r6, 0xC]
ldr r4, [r6, 0x10]
movs r0, 0
mov r8, r0
cmp r5, 0xD
bgt _081CF268
_081CF1F4:
cmp r4, 0x1D
bgt _081CF260
lsls r0, r5, 24
lsrs r7, r0, 24
_081CF1FC:
adds r0, r5, 0
adds r1, r4, 0
bl CheckBoxMonSanityAt
cmp r0, 0
beq _081CF23A
ldr r1, =0xffffff00
ldr r0, [sp]
ands r0, r1
orrs r0, r7
lsls r1, r4, 24
lsrs r1, 24
lsls r3, r1, 8
ldr r2, =0xffff00ff
ands r0, r2
orrs r0, r3
str r0, [sp]
ldr r2, [r6, 0x14]
adds r0, r7, 0
bl GetBoxMonDataAt
lsls r0, 16
ldr r2, =0x0000ffff
ldr r1, [sp]
ands r1, r2
orrs r1, r0
str r1, [sp]
adds r0, r6, 0
mov r1, sp
bl sub_81CF2C4
_081CF23A:
movs r0, 0x1
add r8, r0
adds r4, 0x1
mov r0, r8
cmp r0, 0xE
ble _081CF25C
str r5, [r6, 0xC]
str r4, [r6, 0x10]
movs r0, 0x3
b _081CF26A
.pool
_081CF25C:
cmp r4, 0x1D
ble _081CF1FC
_081CF260:
movs r4, 0
adds r5, 0x1
cmp r5, 0xD
ble _081CF1F4
_081CF268:
movs r0, 0x1
_081CF26A:
add sp, 0x4
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_81CF1D8
thumb_func_start sub_81CF278
sub_81CF278: @ 81CF278
push {r4-r6,lr}
movs r0, 0x7
bl GetSubstructPtr
adds r5, r0, 0
ldr r0, [r5, 0x20]
ldrh r6, [r0]
ldrh r4, [r0, 0x6]
movs r1, 0x1
strh r1, [r0, 0x6]
movs r3, 0x1
cmp r3, r6
bge _081CF2B8
_081CF292:
ldr r2, [r5, 0x20]
lsls r0, r3, 2
adds r1, r2, r0
ldrh r0, [r1, 0x6]
cmp r0, r4
bne _081CF2AC
subs r0, r3, 0x1
lsls r0, 2
adds r0, r2, r0
ldrh r0, [r0, 0x6]
strh r0, [r1, 0x6]
adds r0, r3, 0x1
b _081CF2B2
_081CF2AC:
adds r4, r0, 0
adds r0, r3, 0x1
strh r0, [r1, 0x6]
_081CF2B2:
adds r3, r0, 0
cmp r3, r6
blt _081CF292
_081CF2B8:
movs r0, 0x1
str r0, [r5, 0x18]
movs r0, 0x4
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_81CF278
thumb_func_start sub_81CF2C4
sub_81CF2C4: @ 81CF2C4
push {r4-r7,lr}
adds r5, r0, 0
adds r7, r1, 0
movs r1, 0
ldr r0, [r5, 0x20]
ldrh r2, [r0]
lsrs r3, r2, 1
cmp r2, r3
beq _081CF2F4
adds r6, r0, 0
ldrh r4, [r7, 0x2]
_081CF2DA:
lsls r0, r3, 2
adds r0, r6, r0
ldrh r0, [r0, 0x6]
cmp r4, r0
bls _081CF2E8
adds r2, r3, 0
b _081CF2EA
_081CF2E8:
adds r1, r3, 0x1
_081CF2EA:
subs r0, r2, r1
lsrs r0, 1
adds r3, r1, r0
cmp r2, r3
bne _081CF2DA
_081CF2F4:
ldr r0, [r5, 0x20]
ldrh r2, [r0]
lsls r6, r3, 2
cmp r2, r3
bls _081CF318
lsls r0, r2, 2
subs r4, r0, 0x4
_081CF302:
ldr r0, [r5, 0x20]
lsls r1, r2, 2
adds r0, 0x4
adds r1, r0, r1
adds r0, r4
ldr r0, [r0]
str r0, [r1]
subs r4, 0x4
subs r2, 0x1
cmp r2, r3
bhi _081CF302
_081CF318:
ldr r0, [r5, 0x20]
adds r0, 0x4
adds r0, r6
ldr r1, [r7]
str r1, [r0]
ldr r1, [r5, 0x20]
ldrh r0, [r1]
adds r0, 0x1
strh r0, [r1]
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_81CF2C4
thumb_func_start sub_81CF330
sub_81CF330: @ 81CF330
push {r4,lr}
movs r1, 0x81
lsls r1, 4
movs r0, 0x8
bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CF360
ldr r0, =sub_81CF418
movs r1, 0x1
bl CreateLoopedTask
str r0, [r4, 0x4]
ldr r0, =sub_81CF3E4
str r0, [r4]
movs r0, 0
str r0, [r4, 0xC]
movs r0, 0x1
b _081CF362
.pool
_081CF360:
movs r0, 0
_081CF362:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81CF330
thumb_func_start sub_81CF368
sub_81CF368: @ 81CF368
push {r4,lr}
movs r1, 0x81
lsls r1, 4
movs r0, 0x8
bl AllocSubstruct
adds r4, r0, 0
cmp r4, 0
beq _081CF398
ldr r0, =sub_81CF418
movs r1, 0x1
bl CreateLoopedTask
str r0, [r4, 0x4]
ldr r0, =sub_81CF3E4
str r0, [r4]
movs r0, 0x1
str r0, [r4, 0xC]
b _081CF39A
.pool
_081CF398:
movs r0, 0
_081CF39A:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81CF368
thumb_func_start sub_81CF3A0
sub_81CF3A0: @ 81CF3A0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x8
bl GetSubstructPtr
adds r5, r0, 0
ldr r0, =gUnknown_08623598
lsls r4, 2
adds r4, r0
ldr r0, [r4]
movs r1, 0x1
bl CreateLoopedTask
str r0, [r5, 0x4]
ldr r0, =sub_81CF3E4
str r0, [r5]
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_81CF3A0
thumb_func_start sub_81CF3D0
sub_81CF3D0: @ 81CF3D0
push {lr}
movs r0, 0x8
bl GetSubstructPtr
ldr r0, [r0]
bl _call_via_r0
pop {r1}
bx r1
thumb_func_end sub_81CF3D0
thumb_func_start sub_81CF3E4
sub_81CF3E4: @ 81CF3E4
push {lr}
movs r0, 0x8
bl GetSubstructPtr
ldr r0, [r0, 0x4]
bl IsLoopedTaskActive
pop {r1}
bx r1
thumb_func_end sub_81CF3E4
thumb_func_start sub_81CF3F8
sub_81CF3F8: @ 81CF3F8
push {r4,lr}
movs r0, 0x8
bl GetSubstructPtr
adds r4, r0, 0
bl sub_81C8234
ldrb r0, [r4, 0x8]
bl RemoveWindow
movs r0, 0x8
bl FreePokenavSubstruct
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_81CF3F8
thumb_func_start sub_81CF418
sub_81CF418: @ 81CF418
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
movs r0, 0x8
bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x5
bls _081CF42C
b _081CF56E
_081CF42C:
lsls r0, r4, 2
ldr r1, =_081CF43C
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_081CF43C:
.4byte _081CF454
.4byte _081CF4AC
.4byte _081CF4C0
.4byte _081CF4E0
.4byte _081CF4F6
.4byte _081CF55A
_081CF454:
ldr r0, =gUnknown_08623590
movs r1, 0x2
bl InitBgTemplates
ldr r1, =gUnknown_086233E4
movs r0, 0
str r0, [sp]
movs r0, 0x1
movs r2, 0
movs r3, 0
bl decompress_and_copy_tile_data_to_vram
adds r1, r5, 0
adds r1, 0x10
movs r0, 0x1
bl SetBgTilemapBuffer
ldr r1, =gUnknown_086234AC
movs r0, 0x1
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
movs r0, 0x1
bl CopyBgTilemapBufferToVram
ldr r0, =gUnknown_086233C4
movs r1, 0x10
movs r2, 0x20
bl CopyPaletteIntoBufferUnfaded
movs r0, 0x1
bl CopyBgTilemapBufferToVram
_081CF498:
movs r0, 0
b _081CF570
.pool
_081CF4AC:
bl free_temp_tile_data_buffers_if_possible
lsls r0, 24
cmp r0, 0
bne _081CF56A
bl sub_81CF0C0
cmp r0, 0
beq _081CF56A
b _081CF498
_081CF4C0:
bl free_temp_tile_data_buffers_if_possible
lsls r0, 24
cmp r0, 0
bne _081CF56A
ldr r0, =gUnknown_08623570
movs r1, 0x20
movs r2, 0x20
bl CopyPaletteIntoBufferUnfaded
bl sub_81CF88C
b _081CF498
.pool
_081CF4E0:
bl sub_81C8224
cmp r0, 0
bne _081CF56A
adds r0, r5, 0
bl sub_81CF7C8
movs r0, 0x3
bl sub_81C7BA4
b _081CF498
_081CF4F6:
bl free_temp_tile_data_buffers_if_possible
lsls r0, 24
cmp r0, 0
bne _081CF56A
movs r0, 0x1
movs r1, 0
movs r2, 0
bl ChangeBgX
movs r0, 0x1
movs r1, 0
movs r2, 0
bl ChangeBgY
movs r0, 0x1
bl ShowBg
movs r0, 0x2
bl ShowBg
movs r0, 0x3
bl HideBg
ldr r0, [r5, 0xC]
cmp r0, 0
bne _081CF552
bl sub_81C76AC
adds r4, r0, 0
adds r4, 0x8
lsls r4, 24
lsrs r4, 24
adds r0, r4, 0
bl LoadLeftHeaderGfxForIndex
adds r0, r4, 0
movs r1, 0x1
movs r2, 0
bl sub_81C7FA0
movs r0, 0x1
movs r1, 0x1
movs r2, 0
bl sub_81C7FA0
_081CF552:
movs r0, 0x1
bl sub_81C7AC0
b _081CF498
_081CF55A:
bl IsPaletteFadeActive
cmp r0, 0
bne _081CF56A
bl sub_81C8010
cmp r0, 0
beq _081CF56E
_081CF56A:
movs r0, 0x2
b _081CF570
_081CF56E:
movs r0, 0x4
_081CF570:
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_81CF418
thumb_func_start sub_81CF578
sub_81CF578: @ 81CF578
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x8
bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CF5C6
cmp r4, 0x1
bgt _081CF592
cmp r4, 0
beq _081CF59C
b _081CF5E6
_081CF592:
cmp r4, 0x2
beq _081CF5CE
cmp r4, 0x3
beq _081CF5D8
b _081CF5E6
_081CF59C:
bl MatchCall_MoveCursorUp
cmp r0, 0x1
beq _081CF5B4
cmp r0, 0x1
bgt _081CF5AE
cmp r0, 0
beq _081CF5E6
b _081CF5D4
_081CF5AE:
cmp r0, 0x2
beq _081CF5BE
b _081CF5D4
_081CF5B4:
movs r0, 0x5
bl PlaySE
movs r0, 0x7
b _081CF5E8
_081CF5BE:
movs r0, 0x5
bl PlaySE
b _081CF5D4
_081CF5C6:
bl sub_81C8630
cmp r0, 0
bne _081CF5E2
_081CF5CE:
adds r0, r5, 0
bl sub_81CF7F4
_081CF5D4:
movs r0, 0
b _081CF5E8
_081CF5D8:
bl IsDma3ManagerBusyWithBgCopy
lsls r0, 24
cmp r0, 0
beq _081CF5E6
_081CF5E2:
movs r0, 0x2
b _081CF5E8
_081CF5E6:
movs r0, 0x4
_081CF5E8:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_81CF578
thumb_func_start sub_81CF5F0
sub_81CF5F0: @ 81CF5F0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x8
bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CF63E
cmp r4, 0x1
bgt _081CF60A
cmp r4, 0
beq _081CF614
b _081CF65E
_081CF60A:
cmp r4, 0x2
beq _081CF646
cmp r4, 0x3
beq _081CF650
b _081CF65E
_081CF614:
bl MatchCall_MoveCursorDown
cmp r0, 0x1
beq _081CF62C
cmp r0, 0x1
bgt _081CF626
cmp r0, 0
beq _081CF65E
b _081CF64C
_081CF626:
cmp r0, 0x2
beq _081CF636
b _081CF64C
_081CF62C:
movs r0, 0x5
bl PlaySE
movs r0, 0x7
b _081CF660
_081CF636:
movs r0, 0x5
bl PlaySE
b _081CF64C
_081CF63E:
bl sub_81C8630
cmp r0, 0
bne _081CF65A
_081CF646:
adds r0, r5, 0
bl sub_81CF7F4
_081CF64C:
movs r0, 0
b _081CF660
_081CF650:
bl IsDma3ManagerBusyWithBgCopy
lsls r0, 24
cmp r0, 0
beq _081CF65E
_081CF65A:
movs r0, 0x2
b _081CF660
_081CF65E:
movs r0, 0x4
_081CF660:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_81CF5F0
thumb_func_start sub_81CF668
sub_81CF668: @ 81CF668
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x8
bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CF6B6
cmp r4, 0x1
bgt _081CF682
cmp r4, 0
beq _081CF68C
b _081CF6D6
_081CF682:
cmp r4, 0x2
beq _081CF6BE
cmp r4, 0x3
beq _081CF6C8
b _081CF6D6
_081CF68C:
bl MatchCall_PageUp
cmp r0, 0x1
beq _081CF6A4
cmp r0, 0x1
bgt _081CF69E
cmp r0, 0
beq _081CF6D6
b _081CF6C4
_081CF69E:
cmp r0, 0x2
beq _081CF6AE
b _081CF6C4
_081CF6A4:
movs r0, 0x5
bl PlaySE
movs r0, 0x7
b _081CF6D8
_081CF6AE:
movs r0, 0x5
bl PlaySE
b _081CF6C4
_081CF6B6:
bl sub_81C8630
cmp r0, 0
bne _081CF6D2
_081CF6BE:
adds r0, r5, 0
bl sub_81CF7F4
_081CF6C4:
movs r0, 0
b _081CF6D8
_081CF6C8:
bl IsDma3ManagerBusyWithBgCopy
lsls r0, 24
cmp r0, 0
beq _081CF6D6
_081CF6D2:
movs r0, 0x2
b _081CF6D8
_081CF6D6:
movs r0, 0x4
_081CF6D8:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_81CF668
thumb_func_start sub_81CF6E0
sub_81CF6E0: @ 81CF6E0
push {r4,r5,lr}
adds r4, r0, 0
movs r0, 0x8
bl GetSubstructPtr
adds r5, r0, 0
cmp r4, 0x1
beq _081CF72E
cmp r4, 0x1
bgt _081CF6FA
cmp r4, 0
beq _081CF704
b _081CF74E
_081CF6FA:
cmp r4, 0x2
beq _081CF736
cmp r4, 0x3
beq _081CF740
b _081CF74E
_081CF704:
bl MatchCall_PageDown
cmp r0, 0x1
beq _081CF71C
cmp r0, 0x1
bgt _081CF716
cmp r0, 0
beq _081CF74E
b _081CF73C
_081CF716:
cmp r0, 0x2
beq _081CF726
b _081CF73C
_081CF71C:
movs r0, 0x5
bl PlaySE
movs r0, 0x7
b _081CF750
_081CF726:
movs r0, 0x5
bl PlaySE
b _081CF73C
_081CF72E:
bl sub_81C8630
cmp r0, 0
bne _081CF74A
_081CF736:
adds r0, r5, 0
bl sub_81CF7F4
_081CF73C:
movs r0, 0
b _081CF750
_081CF740:
bl IsDma3ManagerBusyWithBgCopy
lsls r0, 24
cmp r0, 0
beq _081CF74E
_081CF74A:
movs r0, 0x2
b _081CF750
_081CF74E:
movs r0, 0x4
_081CF750:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_81CF6E0
thumb_func_start sub_81CF758
sub_81CF758: @ 81CF758
push {lr}
cmp r0, 0
beq _081CF764
cmp r0, 0x1
beq _081CF778
b _081CF790
_081CF764:
movs r0, 0x5
bl PlaySE
movs r0, 0
bl sub_81C7AC0
bl sub_81C78A0
movs r0, 0
b _081CF792
_081CF778:
bl IsPaletteFadeActive
cmp r0, 0
bne _081CF788
bl MainMenuLoopedTaskIsBusy
cmp r0, 0
beq _081CF78C
_081CF788:
movs r0, 0x2
b _081CF792
_081CF78C:
bl sub_81C7FDC
_081CF790:
movs r0, 0x4
_081CF792:
pop {r1}
bx r1
thumb_func_end sub_81CF758
thumb_func_start sub_81CF798
sub_81CF798: @ 81CF798
push {lr}
cmp r0, 0
beq _081CF7A4
cmp r0, 0x1
beq _081CF7B4
b _081CF7C0
_081CF7A4:
movs r0, 0x5
bl PlaySE
movs r0, 0
bl sub_81C7AC0
movs r0, 0
b _081CF7C2
_081CF7B4:
bl IsPaletteFadeActive
cmp r0, 0
beq _081CF7C0
movs r0, 0x2
b _081CF7C2
_081CF7C0:
movs r0, 0x4
_081CF7C2:
pop {r1}
bx r1
thumb_func_end sub_81CF798
thumb_func_start sub_81CF7C8
sub_81CF7C8: @ 81CF7C8
push {r4,lr}
adds r4, r0, 0
ldr r0, =gUnknown_086235B4
bl AddWindow
strh r0, [r4, 0x8]
lsls r0, 24
lsrs r0, 24
bl PutWindowTilemap
ldrb r0, [r4, 0x8]
movs r1, 0x1
bl CopyWindowToVram
adds r0, r4, 0
bl sub_81CF7F4
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_81CF7C8
thumb_func_start sub_81CF7F4
sub_81CF7F4: @ 81CF7F4
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0xC
mov r8, r0
bl sub_81CF0F0
adds r7, r0, 0
bl DynamicPlaceholderTextUtil_Reset
ldr r4, =gStringVar1
movs r0, 0
adds r1, r4, 0
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r0, 0xFF
strb r0, [r4]
ldr r5, =gStringVar2
ldr r1, =gText_NumberF700
adds r0, r5, 0
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
mov r1, r8
ldrb r0, [r1, 0x8]
movs r1, 0x1
mov r10, r1
str r1, [sp]
movs r1, 0xFF
mov r9, r1
str r1, [sp, 0x4]
movs r6, 0
str r6, [sp, 0x8]
movs r1, 0x1
adds r2, r5, 0
movs r3, 0x4
bl AddTextPrinterParameterized
adds r0, r4, 0
adds r1, r7, 0
movs r2, 0x1
movs r3, 0x3
bl ConvertIntToDecimalStringN
mov r1, r8
ldrb r0, [r1, 0x8]
mov r1, r10
str r1, [sp]
mov r1, r9
str r1, [sp, 0x4]
str r6, [sp, 0x8]
movs r1, 0x1
adds r2, r4, 0
movs r3, 0x22
bl AddTextPrinterParameterized
mov r1, r8
ldrb r0, [r1, 0x8]
movs r1, 0x2
bl CopyWindowToVram
add sp, 0xC
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_81CF7F4
thumb_func_start sub_81CF88C
sub_81CF88C: @ 81CF88C
push {r4,lr}
sub sp, 0x18
bl sub_81CF0D0
str r0, [sp]
bl sub_81CF0E0
mov r1, sp
movs r4, 0
strh r0, [r1, 0x4]
movs r0, 0x4
strb r0, [r1, 0x8]
bl sub_81CF10C
mov r1, sp
strh r0, [r1, 0x6]
movs r0, 0xD
strb r0, [r1, 0x9]
movs r0, 0x11
strb r0, [r1, 0xA]
mov r0, sp
movs r2, 0x1
strb r2, [r0, 0xB]
movs r0, 0x8
strb r0, [r1, 0xC]
movs r0, 0x2
strb r0, [r1, 0xD]
mov r0, sp
strb r2, [r0, 0xE]
ldr r0, =sub_81CF8E4
str r0, [sp, 0x10]
str r4, [sp, 0x14]
ldr r0, =gUnknown_08623594
movs r2, 0
bl sub_81C81D4
add sp, 0x18
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_81CF88C
thumb_func_start sub_81CF8E4
sub_81CF8E4: @ 81CF8E4
push {r4-r7,lr}
adds r2, r0, 0
adds r6, r1, 0
ldrb r0, [r2]
cmp r0, 0xE
bne _081CF924
ldrb r1, [r2, 0x1]
movs r0, 0x64
adds r4, r1, 0
muls r4, r0
ldr r0, =gPlayerParty
adds r4, r0
adds r0, r4, 0
bl GetMonGender
lsls r0, 24
lsrs r5, r0, 24
adds r0, r4, 0
bl GetLevelFromMonExp
lsls r0, 24
lsrs r7, r0, 24
ldr r2, =gStringVar3
adds r0, r4, 0
movs r1, 0x2
bl GetMonData
b _081CF94A
.pool
_081CF924:
ldrb r0, [r2]
ldrb r1, [r2, 0x1]
bl GetBoxedMonPtr
adds r4, r0, 0
bl GetBoxMonGender
lsls r0, 24
lsrs r5, r0, 24
adds r0, r4, 0
bl GetLevelFromBoxMonExp
lsls r0, 24
lsrs r7, r0, 24
ldr r2, =gStringVar3
adds r0, r4, 0
movs r1, 0x2
bl GetBoxMonData
_081CF94A:
ldr r4, =gStringVar3
adds r0, r4, 0
bl StringGetEnd10
adds r0, r6, 0
movs r1, 0x1
adds r2, r4, 0
movs r3, 0x3C
bl sub_81DB494
adds r6, r0, 0
cmp r5, 0
beq _081CF974
cmp r5, 0xFE
beq _081CF97C
ldr r1, =gUnknown_086235D4
b _081CF97E
.pool
_081CF974:
ldr r1, =gUnknown_086235BC
b _081CF97E
.pool
_081CF97C:
ldr r1, =gUnknown_086235C8
_081CF97E:
ldr r4, =gStringVar1
adds r0, r4, 0
bl StringCopy
movs r1, 0xBA
strb r1, [r0]
adds r0, 0x1
movs r1, 0xF9
strb r1, [r0]
adds r0, 0x1
movs r1, 0x5
strb r1, [r0]
adds r0, 0x1
adds r1, r7, 0
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
adds r0, r6, 0
movs r1, 0x1
adds r2, r4, 0
movs r3, 0x28
bl sub_81DB494
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_81CF8E4
.align 2, 0 @ Don't pad with nop.