pokefirered/asm/battle_dome_cards.s
2018-10-08 00:57:51 -04:00

1103 lines
18 KiB
ArmAsm

.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start nullsub_91
nullsub_91: @ 810BB88
bx lr
thumb_func_end nullsub_91
thumb_func_start dp13_810BB8C
dp13_810BB8C: @ 810BB8C
push {r4-r7,lr}
ldr r4, _0810BBAC @ =gUnknown_8453178
ldr r3, _0810BBB0 @ =gUnknown_203AD58
movs r2, 0x7
_0810BB94:
adds r1, r3, 0
adds r0, r4, 0
ldm r0!, {r5-r7}
stm r1!, {r5-r7}
adds r3, 0xC
subs r2, 0x1
cmp r2, 0
bge _0810BB94
movs r0, 0
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_0810BBAC: .4byte gUnknown_8453178
_0810BBB0: .4byte gUnknown_203AD58
thumb_func_end dp13_810BB8C
thumb_func_start load_pokemon_image_TODO
load_pokemon_image_TODO: @ 810BBB4
push {r4-r7,lr}
sub sp, 0x4
adds r6, r1, 0
adds r5, r3, 0
ldr r3, [sp, 0x18]
ldr r1, [sp, 0x1C]
lsls r0, 16
lsrs r4, r0, 16
adds r7, r4, 0
lsls r2, 24
lsrs r2, 24
lsls r3, 24
lsls r1, 24
lsrs r1, 24
adds r0, r1, 0
cmp r3, 0
bne _0810BC28
cmp r2, 0
beq _0810BBF4
cmp r1, 0
bne _0810BBE8
lsls r0, r4, 3
ldr r1, _0810BBE4 @ =gUnknown_82350AC
b _0810BBFC
.align 2, 0
_0810BBE4: .4byte gUnknown_82350AC
_0810BBE8:
lsls r0, r4, 3
ldr r1, _0810BBF0 @ =gUnknown_82350AC
b _0810BC14
.align 2, 0
_0810BBF0: .4byte gUnknown_82350AC
_0810BBF4:
cmp r0, 0
bne _0810BC10
lsls r0, r4, 3
ldr r1, _0810BC0C @ =gUnknown_823654C
_0810BBFC:
adds r0, r1
str r2, [sp]
adds r1, r5, 0
adds r2, r4, 0
adds r3, r6, 0
bl sub_800ECF0
b _0810BC4E
.align 2, 0
_0810BC0C: .4byte gUnknown_823654C
_0810BC10:
lsls r0, r4, 3
ldr r1, _0810BC24 @ =gUnknown_823654C
_0810BC14:
adds r0, r1
str r2, [sp]
adds r1, r5, 0
adds r2, r4, 0
adds r3, r6, 0
bl LoadSpecialPokePic_DontHandleDeoxys
b _0810BC4E
.align 2, 0
_0810BC24: .4byte gUnknown_823654C
_0810BC28:
cmp r2, 0
beq _0810BC40
lsls r0, r4, 3
ldr r1, _0810BC3C @ =gUnknown_823957C
adds r0, r1
adds r1, r5, 0
adds r2, r4, 0
bl DecompressPicFromTable
b _0810BC4E
.align 2, 0
_0810BC3C: .4byte gUnknown_823957C
_0810BC40:
lsls r0, r7, 3
ldr r1, _0810BC58 @ =gUnknown_8239FA4
adds r0, r1
adds r1, r5, 0
adds r2, r7, 0
bl DecompressPicFromTable
_0810BC4E:
movs r0, 0
add sp, 0x4
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_0810BC58: .4byte gUnknown_8239FA4
thumb_func_end load_pokemon_image_TODO
thumb_func_start sub_810BC5C
sub_810BC5C: @ 810BC5C
push {r4,lr}
sub sp, 0x8
ldr r4, [sp, 0x10]
lsls r0, 16
lsrs r0, 16
lsls r2, 24
lsrs r2, 24
lsls r4, 24
lsrs r4, 24
str r4, [sp]
movs r4, 0
str r4, [sp, 0x4]
bl load_pokemon_image_TODO
lsls r0, 16
lsrs r0, 16
add sp, 0x8
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_810BC5C
thumb_func_start sub_810BC84
sub_810BC84: @ 810BC84
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r7, r1, 0
mov r8, r2
ldr r1, [sp, 0x18]
ldr r2, [sp, 0x1C]
lsls r0, 16
lsrs r4, r0, 16
adds r6, r4, 0
lsls r3, 24
lsrs r5, r3, 24
mov r12, r5
lsls r1, 16
lsrs r3, r1, 16
adds r1, r3, 0
lsls r2, 24
cmp r2, 0
bne _0810BCE8
ldr r0, _0810BCC8 @ =0x0000ffff
cmp r3, r0
bne _0810BCD0
ldr r2, _0810BCCC @ =gUnknown_203AD40
ldrh r1, [r2, 0x2]
adds r0, r3, 0
orrs r0, r1
strh r0, [r2, 0x2]
adds r0, r4, 0
adds r1, r7, 0
mov r2, r8
bl GetFrontSpritePalFromSpeciesAndPersonality
lsls r1, r5, 20
b _0810BD04
.align 2, 0
_0810BCC8: .4byte 0x0000ffff
_0810BCCC: .4byte gUnknown_203AD40
_0810BCD0:
ldr r0, _0810BCE4 @ =gUnknown_203AD40
strh r3, [r0, 0x2]
adds r0, r4, 0
adds r1, r7, 0
mov r2, r8
bl GetMonSpritePalStructFromOtIdPersonality
bl LoadCompressedObjectPalette
b _0810BD2E
.align 2, 0
_0810BCE4: .4byte gUnknown_203AD40
_0810BCE8:
ldr r0, _0810BD14 @ =0x0000ffff
cmp r3, r0
bne _0810BD20
ldr r2, _0810BD18 @ =gUnknown_203AD40
ldrh r1, [r2, 0x2]
adds r0, r3, 0
orrs r0, r1
strh r0, [r2, 0x2]
ldr r1, _0810BD1C @ =gUnknown_8239A1C
lsls r0, r4, 3
adds r0, r1
ldr r0, [r0]
mov r2, r12
lsls r1, r2, 20
_0810BD04:
movs r2, 0x80
lsls r2, 17
adds r1, r2
lsrs r1, 16
movs r2, 0x20
bl LoadCompressedPalette
b _0810BD2E
.align 2, 0
_0810BD14: .4byte 0x0000ffff
_0810BD18: .4byte gUnknown_203AD40
_0810BD1C: .4byte gUnknown_8239A1C
_0810BD20:
ldr r0, _0810BD38 @ =gUnknown_203AD40
strh r1, [r0, 0x2]
lsls r0, r6, 3
ldr r1, _0810BD3C @ =gUnknown_8239A1C
adds r0, r1
bl LoadCompressedObjectPalette
_0810BD2E:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0810BD38: .4byte gUnknown_203AD40
_0810BD3C: .4byte gUnknown_8239A1C
thumb_func_end sub_810BC84
thumb_func_start sub_810BD40
sub_810BD40: @ 810BD40
push {r4,r5,lr}
adds r5, r1, 0
ldr r1, [sp, 0xC]
lsls r0, 16
lsrs r0, 16
lsls r3, 24
lsrs r4, r3, 24
lsls r1, 24
cmp r1, 0
bne _0810BD64
adds r1, r5, 0
bl GetFrontSpritePalFromSpeciesAndPersonality
lsls r1, r4, 4
movs r2, 0x20
bl LoadCompressedPalette
b _0810BD74
_0810BD64:
ldr r1, _0810BD7C @ =gUnknown_8239A1C
lsls r0, 3
adds r0, r1
ldr r0, [r0]
lsls r1, r4, 4
movs r2, 0x20
bl LoadCompressedPalette
_0810BD74:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0810BD7C: .4byte gUnknown_8239A1C
thumb_func_end sub_810BD40
thumb_func_start uns_builder_assign_animtable1
uns_builder_assign_animtable1: @ 810BD80
push {lr}
lsls r0, 24
cmp r0, 0
bne _0810BD98
ldr r1, _0810BD90 @ =gUnknown_203AD40
ldr r0, _0810BD94 @ =gUnknown_82349BC
str r0, [r1, 0x8]
b _0810BDA0
.align 2, 0
_0810BD90: .4byte gUnknown_203AD40
_0810BD94: .4byte gUnknown_82349BC
_0810BD98:
ldr r0, _0810BDA4 @ =gUnknown_203AD40
ldr r1, _0810BDA8 @ =gTrainerFrontAnimsPtrTable
ldr r1, [r1]
str r1, [r0, 0x8]
_0810BDA0:
pop {r0}
bx r0
.align 2, 0
_0810BDA4: .4byte gUnknown_203AD40
_0810BDA8: .4byte gTrainerFrontAnimsPtrTable
thumb_func_end uns_builder_assign_animtable1
thumb_func_start oamt_spawn_poke_or_trainer_picture
oamt_spawn_poke_or_trainer_picture: @ 810BDAC
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x30
str r1, [sp, 0xC]
str r2, [sp, 0x10]
ldr r1, [sp, 0x50]
ldr r2, [sp, 0x54]
ldr r4, [sp, 0x58]
ldr r5, [sp, 0x5C]
ldr r6, [sp, 0x60]
ldr r7, [sp, 0x64]
mov r8, r7
lsls r0, 16
lsrs r0, 16
str r0, [sp, 0x8]
lsls r3, 24
lsrs r3, 24
str r3, [sp, 0x14]
lsls r1, 16
lsrs r1, 16
str r1, [sp, 0x18]
lsls r2, 16
lsrs r2, 16
str r2, [sp, 0x1C]
lsls r4, 24
lsrs r4, 24
str r4, [sp, 0x20]
lsls r5, 16
lsrs r5, 16
mov r10, r5
lsls r6, 24
lsrs r6, 24
mov r9, r6
mov r0, r8
lsls r0, 24
lsrs r5, r0, 24
movs r4, 0
ldr r1, _0810BE44 @ =gUnknown_203AD58
ldrb r0, [r1, 0xB]
cmp r0, 0
beq _0810BE1C
_0810BE04:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x7
bhi _0810BE1C
lsls r0, r4, 1
adds r0, r4
lsls r0, 2
adds r0, r1
ldrb r0, [r0, 0xB]
cmp r0, 0
bne _0810BE04
_0810BE1C:
cmp r4, 0x8
beq _0810BE40
movs r0, 0x80
lsls r0, 6
bl Alloc
adds r7, r0, 0
cmp r7, 0
beq _0810BE40
movs r0, 0x20
bl Alloc
mov r8, r0
cmp r0, 0
bne _0810BE4C
adds r0, r7, 0
bl Free
_0810BE40:
ldr r0, _0810BE48 @ =0x0000ffff
b _0810BF16
.align 2, 0
_0810BE44: .4byte gUnknown_203AD58
_0810BE48: .4byte 0x0000ffff
_0810BE4C:
mov r1, r9
str r1, [sp]
str r5, [sp, 0x4]
ldr r0, [sp, 0x8]
ldr r1, [sp, 0x10]
ldr r2, [sp, 0x14]
adds r3, r7, 0
bl load_pokemon_image_TODO
lsls r0, 16
cmp r0, 0
bne _0810BE40
lsls r2, r4, 1
str r2, [sp, 0x2C]
ldr r5, _0810BF28 @ =gUnknown_203AD40
ldr r0, _0810BF2C @ =gUnknown_8453184
mov r12, r0
ldr r1, [sp, 0x18]
lsls r1, 16
str r1, [sp, 0x24]
ldr r2, [sp, 0x1C]
lsls r2, 16
str r2, [sp, 0x28]
movs r3, 0x80
lsls r3, 4
mov r0, r8
adds r1, r7, 0
adds r6, r3, 0
movs r2, 0x3
_0810BE86:
str r1, [r0]
strh r3, [r0, 0x4]
adds r0, 0x8
adds r1, r6
subs r2, 0x1
cmp r2, 0
bge _0810BE86
ldr r0, _0810BF30 @ =0x0000ffff
strh r0, [r5]
mov r0, r12
str r0, [r5, 0x4]
mov r0, r9
bl uns_builder_assign_animtable1
mov r1, r8
str r1, [r5, 0xC]
ldr r0, _0810BF34 @ =gDummySpriteAffineAnimTable
str r0, [r5, 0x10]
ldr r0, _0810BF38 @ =nullsub_91
str r0, [r5, 0x14]
mov r2, r10
str r2, [sp]
mov r0, r9
str r0, [sp, 0x4]
ldr r0, [sp, 0x8]
ldr r1, [sp, 0xC]
ldr r2, [sp, 0x10]
ldr r3, [sp, 0x20]
bl sub_810BC84
ldr r2, [sp, 0x24]
asrs r1, r2, 16
ldr r0, [sp, 0x28]
asrs r2, r0, 16
adds r0, r5, 0
movs r3, 0
bl CreateSprite
lsls r0, 24
lsrs r2, r0, 24
adds r6, r2, 0
ldr r0, _0810BF30 @ =0x0000ffff
cmp r10, r0
bne _0810BEF6
ldr r0, _0810BF3C @ =gSprites
lsls r1, r2, 4
adds r1, r2
lsls r1, 2
adds r1, r0
ldr r2, [sp, 0x20]
lsls r3, r2, 4
ldrb r2, [r1, 0x5]
movs r0, 0xF
ands r0, r2
orrs r0, r3
strb r0, [r1, 0x5]
_0810BEF6:
ldr r1, _0810BF40 @ =gUnknown_203AD58
ldr r2, [sp, 0x2C]
adds r0, r2, r4
lsls r0, 2
adds r2, r0, r1
str r7, [r2]
adds r1, 0x4
adds r0, r1
mov r7, r8
str r7, [r0]
mov r0, r10
strh r0, [r2, 0x8]
strb r6, [r2, 0xA]
movs r0, 0x1
strb r0, [r2, 0xB]
adds r0, r6, 0
_0810BF16:
add sp, 0x30
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_0810BF28: .4byte gUnknown_203AD40
_0810BF2C: .4byte gUnknown_8453184
_0810BF30: .4byte 0x0000ffff
_0810BF34: .4byte gDummySpriteAffineAnimTable
_0810BF38: .4byte nullsub_91
_0810BF3C: .4byte gSprites
_0810BF40: .4byte gUnknown_203AD58
thumb_func_end oamt_spawn_poke_or_trainer_picture
thumb_func_start sub_810BF44
sub_810BF44: @ 810BF44
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x18
ldr r4, [sp, 0x34]
ldr r5, [sp, 0x38]
ldr r6, [sp, 0x3C]
ldr r7, [sp, 0x40]
mov r8, r7
ldr r7, [sp, 0x44]
mov r9, r7
lsls r0, 16
lsrs r0, 16
lsls r3, 24
lsrs r3, 24
lsls r6, 24
lsrs r6, 24
mov r7, r8
lsls r7, 16
lsrs r7, 16
mov r8, r7
mov r7, r9
lsls r7, 24
lsrs r7, 24
lsls r4, 16
asrs r4, 16
str r4, [sp]
lsls r5, 16
asrs r5, 16
str r5, [sp, 0x4]
str r6, [sp, 0x8]
mov r4, r8
str r4, [sp, 0xC]
str r7, [sp, 0x10]
movs r4, 0
str r4, [sp, 0x14]
bl oamt_spawn_poke_or_trainer_picture
lsls r0, 16
lsrs r0, 16
add sp, 0x18
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_810BF44
thumb_func_start sub_810BFA4
sub_810BFA4: @ 810BFA4
push {r4-r7,lr}
mov r7, r8
push {r7}
lsls r0, 16
lsrs r4, r0, 16
movs r2, 0
ldr r0, _0810BFDC @ =gUnknown_203AD58
ldrb r1, [r0, 0xA]
adds r3, r0, 0
cmp r1, r4
beq _0810BFD4
adds r1, r3, 0
_0810BFBC:
adds r0, r2, 0x1
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x7
bhi _0810BFD4
lsls r0, r2, 1
adds r0, r2
lsls r0, 2
adds r0, r1
ldrb r0, [r0, 0xA]
cmp r0, r4
bne _0810BFBC
_0810BFD4:
cmp r2, 0x8
bne _0810BFE4
ldr r0, _0810BFE0 @ =0x0000ffff
b _0810C03A
.align 2, 0
_0810BFDC: .4byte gUnknown_203AD58
_0810BFE0: .4byte 0x0000ffff
_0810BFE4:
lsls r0, r2, 1
adds r0, r2
lsls r0, 2
adds r5, r0, r3
ldr r1, [r5]
mov r8, r1
adds r1, r3, 0x4
adds r0, r1
ldr r7, [r0]
ldrh r1, [r5, 0x8]
ldr r0, _0810C044 @ =0x0000ffff
lsls r6, r4, 4
cmp r1, r0
beq _0810C018
ldr r1, _0810C048 @ =gSprites
adds r0, r6, r4
lsls r0, 2
adds r0, r1
ldrb r0, [r0, 0x5]
lsrs r0, 4
bl GetSpritePaletteTagByPaletteNum
lsls r0, 16
lsrs r0, 16
bl FreeSpritePaletteByTag
_0810C018:
adds r0, r6, r4
lsls r0, 2
ldr r1, _0810C048 @ =gSprites
adds r0, r1
bl DestroySprite
mov r0, r8
bl Free
adds r0, r7, 0
bl Free
adds r1, r5, 0
ldr r0, _0810C04C @ =gUnknown_8453178
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
movs r0, 0
_0810C03A:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_0810C044: .4byte 0x0000ffff
_0810C048: .4byte gSprites
_0810C04C: .4byte gUnknown_8453178
thumb_func_end sub_810BFA4
thumb_func_start sub_810C050
sub_810C050: @ 810C050
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x4
mov r9, r1
adds r7, r2, 0
adds r4, r3, 0
ldr r1, [sp, 0x20]
ldr r2, [sp, 0x24]
ldr r3, [sp, 0x28]
lsls r0, 16
lsrs r5, r0, 16
lsls r4, 24
lsrs r4, 24
lsls r1, 24
lsrs r1, 24
mov r8, r1
lsls r2, 24
lsrs r2, 24
lsls r3, 24
lsrs r6, r3, 24
adds r0, r2, 0
movs r1, 0x7
bl GetWindowAttribute
adds r3, r0, 0
movs r0, 0
str r0, [sp]
adds r0, r5, 0
adds r1, r7, 0
adds r2, r4, 0
bl sub_810BC5C
lsls r0, 16
cmp r0, 0
bne _0810C0AC
str r6, [sp]
adds r0, r5, 0
mov r1, r9
adds r2, r7, 0
mov r3, r8
bl sub_810BD40
movs r0, 0
b _0810C0AE
_0810C0AC:
ldr r0, _0810C0BC @ =0x0000ffff
_0810C0AE:
add sp, 0x4
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_0810C0BC: .4byte 0x0000ffff
thumb_func_end sub_810C050
thumb_func_start sub_810C0C0
sub_810C0C0: @ 810C0C0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x24
str r1, [sp, 0x18]
str r2, [sp, 0x1C]
ldr r1, [sp, 0x44]
ldr r2, [sp, 0x48]
ldr r4, [sp, 0x4C]
ldr r5, [sp, 0x50]
ldr r6, [sp, 0x54]
lsls r0, 16
lsrs r0, 16
mov r9, r0
lsls r3, 24
lsrs r7, r3, 24
lsls r1, 16
lsrs r1, 16
mov r10, r1
lsls r2, 16
lsrs r2, 16
mov r8, r2
lsls r4, 24
lsrs r4, 24
str r4, [sp, 0x20]
lsls r5, 24
lsrs r5, 24
lsls r6, 24
lsrs r6, 24
movs r0, 0x80
lsls r0, 6
bl Alloc
adds r4, r0, 0
cmp r4, 0
beq _0810C156
str r6, [sp]
mov r0, r9
ldr r1, [sp, 0x1C]
adds r2, r7, 0
adds r3, r4, 0
bl sub_810BC5C
lsls r0, 16
cmp r0, 0
bne _0810C156
movs r0, 0x40
str r0, [sp]
str r0, [sp, 0x4]
mov r1, r10
str r1, [sp, 0x8]
mov r1, r8
str r1, [sp, 0xC]
str r0, [sp, 0x10]
str r0, [sp, 0x14]
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0
movs r3, 0
bl BlitBitmapRectToWindow
str r6, [sp]
mov r0, r9
ldr r1, [sp, 0x18]
ldr r2, [sp, 0x1C]
ldr r3, [sp, 0x20]
bl sub_810BD40
adds r0, r4, 0
bl Free
movs r0, 0
b _0810C158
_0810C156:
ldr r0, _0810C168 @ =0x0000ffff
_0810C158:
add sp, 0x24
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_0810C168: .4byte 0x0000ffff
thumb_func_end sub_810C0C0
thumb_func_start sub_810C16C
sub_810C16C: @ 810C16C
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x18
ldr r4, [sp, 0x34]
ldr r5, [sp, 0x38]
ldr r6, [sp, 0x3C]
ldr r7, [sp, 0x40]
mov r8, r7
ldr r7, [sp, 0x44]
mov r9, r7
lsls r0, 16
lsrs r0, 16
lsls r3, 24
lsrs r3, 24
lsls r6, 24
lsrs r6, 24
mov r7, r8
lsls r7, 16
lsrs r7, 16
mov r8, r7
mov r7, r9
lsls r7, 24
lsrs r7, 24
lsls r4, 16
asrs r4, 16
str r4, [sp]
lsls r5, 16
asrs r5, 16
str r5, [sp, 0x4]
str r6, [sp, 0x8]
mov r4, r8
str r4, [sp, 0xC]
movs r4, 0
str r4, [sp, 0x10]
str r7, [sp, 0x14]
bl oamt_spawn_poke_or_trainer_picture
lsls r0, 16
lsrs r0, 16
add sp, 0x18
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_810C16C
thumb_func_start sub_810C1CC
sub_810C1CC: @ 810C1CC
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x14
ldr r4, [sp, 0x2C]
ldr r5, [sp, 0x30]
ldr r6, [sp, 0x34]
ldr r7, [sp, 0x38]
lsls r0, 16
lsrs r0, 16
lsls r3, 24
lsrs r3, 24
lsls r6, 24
lsrs r6, 24
lsls r7, 16
lsrs r7, 16
lsls r4, 16
asrs r4, 16
str r4, [sp]
lsls r5, 16
asrs r5, 16
str r5, [sp, 0x4]
str r6, [sp, 0x8]
str r7, [sp, 0xC]
movs r4, 0
str r4, [sp, 0x10]
bl sub_810C16C
lsls r0, 16
lsrs r0, 16
add sp, 0x14
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_810C1CC
thumb_func_start sub_810C214
sub_810C214: @ 810C214
push {lr}
lsls r0, 16
lsrs r0, 16
bl sub_810BFA4
lsls r0, 16
lsrs r0, 16
pop {r1}
bx r1
thumb_func_end sub_810C214
thumb_func_start sub_810C228
sub_810C228: @ 810C228
push {r4-r6,lr}
sub sp, 0x14
ldr r5, [sp, 0x24]
ldr r6, [sp, 0x28]
lsls r0, 16
lsrs r0, 16
lsls r3, 24
lsrs r3, 24
lsls r5, 24
lsrs r5, 24
lsls r6, 24
lsrs r6, 24
movs r4, 0
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
str r6, [sp, 0xC]
str r4, [sp, 0x10]
bl sub_810C0C0
lsls r0, 16
lsrs r0, 16
add sp, 0x14
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_810C228
thumb_func_start sub_810C25C
sub_810C25C: @ 810C25C
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x14
ldr r4, [sp, 0x2C]
ldr r5, [sp, 0x30]
ldr r6, [sp, 0x34]
ldr r7, [sp, 0x38]
lsls r0, 16
lsrs r0, 16
lsls r3, 24
lsrs r3, 24
lsls r4, 16
lsrs r4, 16
lsls r5, 16
lsrs r5, 16
lsls r6, 24
lsrs r6, 24
lsls r7, 24
lsrs r7, 24
str r4, [sp]
str r5, [sp, 0x4]
str r6, [sp, 0x8]
str r7, [sp, 0xC]
movs r4, 0
str r4, [sp, 0x10]
bl sub_810C0C0
lsls r0, 16
lsrs r0, 16
add sp, 0x14
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_810C25C
thumb_func_start sub_810C2A4
sub_810C2A4: @ 810C2A4
push {r4,r5,lr}
sub sp, 0x14
adds r5, r1, 0
ldr r1, [sp, 0x20]
ldr r4, [sp, 0x24]
lsls r0, 16
lsrs r0, 16
lsls r5, 24
lsrs r5, 24
lsls r1, 24
lsrs r1, 24
lsls r4, 16
lsrs r4, 16
lsls r2, 16
asrs r2, 16
str r2, [sp]
lsls r3, 16
asrs r3, 16
str r3, [sp, 0x4]
str r1, [sp, 0x8]
str r4, [sp, 0xC]
movs r1, 0x1
str r1, [sp, 0x10]
movs r1, 0
movs r2, 0
adds r3, r5, 0
bl sub_810BF44
lsls r0, 16
lsrs r0, 16
add sp, 0x14
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_810C2A4
thumb_func_start sub_810C2E8
sub_810C2E8: @ 810C2E8
push {lr}
lsls r0, 16
lsrs r0, 16
bl sub_810BFA4
lsls r0, 16
lsrs r0, 16
pop {r1}
bx r1
thumb_func_end sub_810C2E8
thumb_func_start sub_810C2FC
sub_810C2FC: @ 810C2FC
push {r4,lr}
sub sp, 0xC
adds r4, r1, 0
lsls r0, 16
lsrs r0, 16
lsls r4, 24
lsrs r4, 24
lsls r2, 24
lsrs r2, 24
lsls r3, 24
lsrs r3, 24
str r2, [sp]
str r3, [sp, 0x4]
movs r1, 0x1
str r1, [sp, 0x8]
movs r1, 0
movs r2, 0
adds r3, r4, 0
bl sub_810C050
lsls r0, 16
lsrs r0, 16
add sp, 0xC
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_810C2FC
thumb_func_start sub_810C330
sub_810C330: @ 810C330
push {r4,r5,lr}
sub sp, 0x14
adds r5, r1, 0
ldr r1, [sp, 0x20]
ldr r4, [sp, 0x24]
lsls r0, 16
lsrs r0, 16
lsls r5, 24
lsrs r5, 24
lsls r2, 16
lsrs r2, 16
lsls r3, 16
lsrs r3, 16
lsls r1, 24
lsrs r1, 24
lsls r4, 24
lsrs r4, 24
str r2, [sp]
str r3, [sp, 0x4]
str r1, [sp, 0x8]
str r4, [sp, 0xC]
movs r1, 0x1
str r1, [sp, 0x10]
movs r1, 0
movs r2, 0
adds r3, r5, 0
bl sub_810C0C0
lsls r0, 16
lsrs r0, 16
add sp, 0x14
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_810C330
thumb_func_start sub_810C374
sub_810C374: @ 810C374
push {lr}
lsls r0, 24
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
cmp r1, 0x1
bne _0810C39A
cmp r0, 0
beq _0810C394
ldr r0, _0810C390 @ =gFacilityClassToPicIndex
adds r0, 0x87
ldrb r0, [r0]
b _0810C39A
.align 2, 0
_0810C390: .4byte gFacilityClassToPicIndex
_0810C394:
ldr r0, _0810C3A0 @ =gFacilityClassToPicIndex
adds r0, 0x86
ldrb r0, [r0]
_0810C39A:
pop {r1}
bx r1
.align 2, 0
_0810C3A0: .4byte gFacilityClassToPicIndex
thumb_func_end sub_810C374
.align 2, 0 @ Don't pad with nop.