mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-11-16 19:47:35 +01:00
11184 lines
162 KiB
ArmAsm
11184 lines
162 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_811A20C
|
|
sub_811A20C: @ 811A20C
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
adds r6, r0, 0
|
|
mov r8, r1
|
|
mov r9, r2
|
|
adds r5, r3, 0
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
bl ResetTasks
|
|
ldr r0, =sub_811A2C0
|
|
movs r1, 0
|
|
bl CreateTask
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r1, =0x03005e00
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
strh r6, [r0, 0xA]
|
|
strh r5, [r0, 0x16]
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
mov r2, r8
|
|
bl SetWordTaskArg
|
|
adds r0, r4, 0
|
|
movs r1, 0x4
|
|
mov r2, r9
|
|
bl SetWordTaskArg
|
|
ldr r0, =sub_811A278
|
|
bl SetMainCallback2
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811A20C
|
|
|
|
thumb_func_start sub_811A278
|
|
sub_811A278: @ 811A278
|
|
push {lr}
|
|
bl RunTasks
|
|
bl CallObjectCallbacks
|
|
bl PrepareSpritesForOamLoad
|
|
bl fade_and_return_progress_probably
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811A278
|
|
|
|
thumb_func_start sub_811A290
|
|
sub_811A290: @ 811A290
|
|
push {lr}
|
|
bl copy_pal_bg_faded_to_pal_ram
|
|
bl LoadOamFromSprites
|
|
bl ProcessObjectCopyRequests
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811A290
|
|
|
|
thumb_func_start sub_811A2A4
|
|
sub_811A2A4: @ 811A2A4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r3, =0x03005e00
|
|
lsls r2, r0, 2
|
|
adds r2, r0
|
|
lsls r2, 3
|
|
adds r2, r3
|
|
str r1, [r2]
|
|
movs r0, 0
|
|
strh r0, [r2, 0x8]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811A2A4
|
|
|
|
thumb_func_start sub_811A2C0
|
|
sub_811A2C0: @ 811A2C0
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl is_c1_link_related_active
|
|
cmp r0, 0
|
|
bne _0811A2DC
|
|
_0811A2CE:
|
|
adds r0, r4, 0
|
|
bl sub_811A428
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811A2CE
|
|
b _0811A2EA
|
|
_0811A2DC:
|
|
adds r0, r4, 0
|
|
bl sub_811A428
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0811A2F2
|
|
_0811A2EA:
|
|
ldr r1, =sub_811A2FC
|
|
adds r0, r4, 0
|
|
bl sub_811A2A4
|
|
_0811A2F2:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811A2C0
|
|
|
|
thumb_func_start sub_811A2FC
|
|
sub_811A2FC: @ 811A2FC
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
lsls r0, r2, 2
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
ldr r1, =0x03005e08
|
|
adds r5, r0, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, 0x5
|
|
bls _0811A318
|
|
b _0811A41C
|
|
_0811A318:
|
|
lsls r0, 2
|
|
ldr r1, =_0811A32C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811A32C:
|
|
.4byte _0811A344
|
|
.4byte _0811A370
|
|
.4byte _0811A3CC
|
|
.4byte _0811A3D4
|
|
.4byte _0811A3EC
|
|
.4byte _0811A40C
|
|
_0811A344:
|
|
ldr r0, =sub_811A290
|
|
bl SetVBlankCallback
|
|
movs r4, 0x1
|
|
negs r4, r4
|
|
adds r0, r4, 0
|
|
movs r1, 0x10
|
|
movs r2, 0
|
|
bl sub_80A2A20
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
adds r0, r4, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl pal_fade_maybe
|
|
movs r0, 0x5
|
|
b _0811A41A
|
|
.pool
|
|
_0811A370:
|
|
bl sub_811AAAC
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
adds r6, r4, 0
|
|
adds r0, r4, 0
|
|
bl sub_811A88C
|
|
cmp r0, 0
|
|
beq _0811A39E
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0x2
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r3, 0x10
|
|
bl pal_fade_maybe
|
|
movs r0, 0x3
|
|
strh r0, [r5]
|
|
strh r4, [r5, 0xC]
|
|
b _0811A41C
|
|
_0811A39E:
|
|
cmp r4, 0x18
|
|
bne _0811A3B6
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r0, [sp]
|
|
adds r0, r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl pal_fade_maybe
|
|
movs r0, 0x4
|
|
b _0811A41A
|
|
_0811A3B6:
|
|
cmp r6, 0
|
|
beq _0811A41C
|
|
movs r0, 0x5
|
|
bl audio_play
|
|
adds r0, r6, 0
|
|
bl sub_811C158
|
|
ldrh r0, [r5]
|
|
adds r0, 0x1
|
|
b _0811A41A
|
|
_0811A3CC:
|
|
bl sub_811C170
|
|
lsls r0, 24
|
|
b _0811A414
|
|
_0811A3D4:
|
|
ldr r0, =0x02037fd4
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0811A41C
|
|
ldrh r0, [r5, 0xC]
|
|
bl sub_811A8A4
|
|
b _0811A41C
|
|
.pool
|
|
_0811A3EC:
|
|
ldr r0, =0x02037fd4
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0811A41C
|
|
adds r0, r2, 0
|
|
movs r1, 0x4
|
|
bl GetWordTaskArg
|
|
bl sub_811A4D0
|
|
b _0811A41C
|
|
.pool
|
|
_0811A40C:
|
|
ldr r0, =0x02037fd4
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
_0811A414:
|
|
cmp r0, 0
|
|
bne _0811A41C
|
|
movs r0, 0x1
|
|
_0811A41A:
|
|
strh r0, [r5]
|
|
_0811A41C:
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811A2FC
|
|
|
|
thumb_func_start sub_811A428
|
|
sub_811A428: @ 811A428
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
ldr r1, =0x03005e08
|
|
adds r6, r0, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0x4
|
|
bhi _0811A4BC
|
|
lsls r0, 2
|
|
ldr r1, =_0811A454
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811A454:
|
|
.4byte _0811A468
|
|
.4byte _0811A47C
|
|
.4byte _0811A482
|
|
.4byte _0811A498
|
|
.4byte _0811A4B0
|
|
_0811A468:
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
bl ResetAllObjectData
|
|
bl ResetObjectPaletteAllocator
|
|
bl sub_80A1A74
|
|
b _0811A4C0
|
|
_0811A47C:
|
|
bl sub_811F28C
|
|
b _0811A49C
|
|
_0811A482:
|
|
ldrb r4, [r6, 0x2]
|
|
adds r0, r5, 0
|
|
movs r1, 0x2
|
|
bl GetWordTaskArg
|
|
adds r1, r0, 0
|
|
ldrb r2, [r6, 0xE]
|
|
adds r0, r4, 0
|
|
bl sub_811A95C
|
|
b _0811A49C
|
|
_0811A498:
|
|
bl sub_811BF8C
|
|
_0811A49C:
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811A4C0
|
|
adds r0, r5, 0
|
|
movs r1, 0x4
|
|
bl GetWordTaskArg
|
|
bl sub_811A4D0
|
|
b _0811A4C0
|
|
_0811A4B0:
|
|
bl sub_811BFA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811A4C0
|
|
b _0811A4C6
|
|
_0811A4BC:
|
|
movs r0, 0
|
|
b _0811A4C8
|
|
_0811A4C0:
|
|
ldrh r0, [r6]
|
|
adds r0, 0x1
|
|
strh r0, [r6]
|
|
_0811A4C6:
|
|
movs r0, 0x1
|
|
_0811A4C8:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811A428
|
|
|
|
thumb_func_start sub_811A4D0
|
|
sub_811A4D0: @ 811A4D0
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
bl sub_811C13C
|
|
bl sub_811AA90
|
|
bl sub_811F2B8
|
|
bl FreeAllWindowBuffers
|
|
adds r0, r4, 0
|
|
bl SetMainCallback2
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811A4D0
|
|
|
|
thumb_func_start easy_chat_input_maybe
|
|
easy_chat_input_maybe: @ 811A4F0
|
|
push {r4,r5,lr}
|
|
movs r5, 0x3
|
|
ldr r0, =0x020375e0
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x14
|
|
bls _0811A4FE
|
|
b _0811A7D4
|
|
_0811A4FE:
|
|
lsls r0, 2
|
|
ldr r1, =_0811A510
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811A510:
|
|
.4byte _0811A564
|
|
.4byte _0811A578
|
|
.4byte _0811A58C
|
|
.4byte _0811A5A0
|
|
.4byte _0811A5B4
|
|
.4byte _0811A604
|
|
.4byte _0811A5D8
|
|
.4byte _0811A630
|
|
.4byte _0811A664
|
|
.4byte _0811A688
|
|
.4byte _0811A6B4
|
|
.4byte _0811A6D4
|
|
.4byte _0811A708
|
|
.4byte _0811A72C
|
|
.4byte _0811A73C
|
|
.4byte _0811A770
|
|
.4byte _0811A7D4
|
|
.4byte _0811A784
|
|
.4byte _0811A798
|
|
.4byte _0811A7AC
|
|
.4byte _0811A7BC
|
|
_0811A564:
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00002bb0
|
|
adds r4, r0, r1
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A578:
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
ldr r2, =0x00002bbc
|
|
adds r4, r0, r2
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A58C:
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
ldr r3, =0x00002bc8
|
|
adds r4, r0, r3
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A5A0:
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00002bd4
|
|
adds r4, r0, r1
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A5B4:
|
|
ldr r2, =0x03005d8c
|
|
ldr r0, =0x020375e2
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, 3
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r3, =0x00002be0
|
|
adds r0, r3
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A5D8:
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
ldr r2, =0x00002e36
|
|
adds r1, r0, r2
|
|
ldr r3, =0x00002e2a
|
|
adds r2, r0, r3
|
|
movs r3, 0x5
|
|
_0811A5E6:
|
|
ldrh r0, [r2]
|
|
strh r0, [r2, 0xC]
|
|
adds r2, 0x2
|
|
subs r3, 0x1
|
|
cmp r3, 0
|
|
bge _0811A5E6
|
|
adds r4, r1, 0
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A604:
|
|
ldr r2, =0x03005d8c
|
|
ldr r0, =0x020375e2
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, 3
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, [r2]
|
|
adds r0, r1
|
|
ldr r1, =0x000027d0
|
|
adds r4, r0, r1
|
|
ldr r0, =0x020375e4
|
|
ldrb r5, [r0]
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A630:
|
|
ldr r2, =0x03005d8c
|
|
ldr r0, =0x020375e2
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, 3
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r3, =0x000027cc
|
|
adds r0, r3
|
|
ldr r1, [r2]
|
|
adds r1, r0
|
|
ldr r0, =0x020375e4
|
|
ldrh r0, [r0]
|
|
lsls r0, 1
|
|
adds r0, 0x1C
|
|
adds r4, r1, r0
|
|
movs r5, 0x1
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A664:
|
|
ldr r2, =0x03005d8c
|
|
ldr r0, =0x020375e2
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, 3
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, [r2]
|
|
adds r0, r1
|
|
ldr r1, =0x000027ce
|
|
adds r4, r0, r1
|
|
movs r5, 0
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A688:
|
|
ldr r4, =0x02021ec4
|
|
ldr r1, =0x03005d8c
|
|
ldr r0, [r1]
|
|
ldr r2, =0x00002e6c
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
strh r0, [r4]
|
|
ldr r0, [r1]
|
|
ldr r3, =0x00002e6e
|
|
adds r0, r3
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, 0x2]
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A6B4:
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00002baa
|
|
adds r4, r0, r1
|
|
ldr r2, =0x0000ffff
|
|
adds r0, r2, 0
|
|
strh r0, [r4]
|
|
movs r5, 0x1
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A6D4:
|
|
ldr r2, =0x03005d8c
|
|
ldr r0, =0x020375e2
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, 3
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r3, =0x000027cc
|
|
adds r0, r3
|
|
ldr r1, [r2]
|
|
adds r1, r0
|
|
ldr r0, =0x020375e4
|
|
ldrh r0, [r0]
|
|
lsls r0, 1
|
|
adds r0, 0x4
|
|
adds r4, r1, r0
|
|
movs r5, 0
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A708:
|
|
ldr r2, =0x03005d8c
|
|
ldr r0, =0x020375e2
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, 3
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, [r2]
|
|
adds r0, r1
|
|
ldr r1, =0x000027e4
|
|
adds r4, r0, r1
|
|
movs r5, 0x1
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A72C:
|
|
ldr r4, =0x02021ec4
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
bl sub_811F88C
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A73C:
|
|
ldr r2, =0x03005d8c
|
|
ldr r0, =0x020375e2
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, 3
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r3, =0x000027cc
|
|
adds r0, r3
|
|
ldr r1, [r2]
|
|
adds r1, r0
|
|
adds r4, r1, 0
|
|
adds r4, 0x14
|
|
ldr r2, =0x0000ffff
|
|
adds r0, r2, 0
|
|
strh r0, [r1, 0x14]
|
|
movs r5, 0x2
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A770:
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
ldr r3, =0x00003b6e
|
|
adds r4, r0, r3
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A784:
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00003b5a
|
|
adds r4, r0, r1
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A798:
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
ldr r2, =0x00003b6c
|
|
adds r4, r0, r2
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A7AC:
|
|
ldr r0, =0x03005d90
|
|
ldr r0, [r0]
|
|
movs r3, 0x82
|
|
lsls r3, 1
|
|
adds r4, r0, r3
|
|
b _0811A7C2
|
|
.pool
|
|
_0811A7BC:
|
|
bl sub_801B058
|
|
adds r4, r0, 0
|
|
_0811A7C2:
|
|
bl overworld_free_bg_tilemaps
|
|
ldr r0, =0x020375e0
|
|
ldrb r0, [r0]
|
|
ldr r2, =sub_80861B0
|
|
adds r1, r4, 0
|
|
adds r3, r5, 0
|
|
bl sub_811A20C
|
|
_0811A7D4:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end easy_chat_input_maybe
|
|
|
|
thumb_func_start sub_811A7E4
|
|
sub_811A7E4: @ 811A7E4
|
|
push {lr}
|
|
bl fade_and_return_progress_probably
|
|
ldr r0, =0x030022c0
|
|
movs r1, 0x87
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811A804
|
|
cmp r0, 0x1
|
|
beq _0811A80E
|
|
b _0811A840
|
|
.pool
|
|
_0811A804:
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl fade_screen
|
|
b _0811A840
|
|
_0811A80E:
|
|
ldr r0, =0x02037fd4
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0811A84E
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00003b58
|
|
adds r0, r1
|
|
ldr r1, =0x0000ffff
|
|
strh r1, [r0, 0x16]
|
|
bl overworld_free_bg_tilemaps
|
|
bl sub_811A8F0
|
|
b _0811A84E
|
|
.pool
|
|
_0811A840:
|
|
ldr r1, =0x030022c0
|
|
movs r0, 0x87
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_0811A84E:
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811A7E4
|
|
|
|
thumb_func_start sub_811A858
|
|
sub_811A858: @ 811A858
|
|
push {lr}
|
|
ldr r0, =sub_811A7E4
|
|
bl SetMainCallback2
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811A858
|
|
|
|
thumb_func_start sub_811A868
|
|
sub_811A868: @ 811A868
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
movs r0, 0
|
|
ldr r1, =gUnknown_08597530
|
|
_0811A872:
|
|
ldrh r3, [r1]
|
|
cmp r2, r3
|
|
beq _0811A884
|
|
adds r1, 0x8
|
|
adds r0, 0x1
|
|
cmp r0, 0x3
|
|
bls _0811A872
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_0811A884:
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811A868
|
|
|
|
thumb_func_start sub_811A88C
|
|
sub_811A88C: @ 811A88C
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_811A868
|
|
adds r1, r0, 0
|
|
mvns r1, r1
|
|
negs r0, r1
|
|
orrs r0, r1
|
|
lsrs r0, 31
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811A88C
|
|
|
|
thumb_func_start sub_811A8A4
|
|
sub_811A8A4: @ 811A8A4
|
|
push {r4,lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_811A868
|
|
adds r4, r0, 0
|
|
bl ResetTasks
|
|
ldr r0, =gUnknown_08597530
|
|
lsls r4, 3
|
|
adds r0, 0x4
|
|
adds r4, r0
|
|
ldr r0, [r4]
|
|
bl sub_811A4D0
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811A8A4
|
|
|
|
thumb_func_start sub_811A8CC
|
|
sub_811A8CC: @ 811A8CC
|
|
push {lr}
|
|
ldr r0, =0x03005d8c
|
|
ldr r1, [r0]
|
|
ldr r0, =0x00003b6e
|
|
adds r1, r0
|
|
ldr r2, =sub_80861B0
|
|
movs r0, 0xF
|
|
movs r3, 0x3
|
|
bl sub_811A20C
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811A8CC
|
|
|
|
thumb_func_start sub_811A8F0
|
|
sub_811A8F0: @ 811A8F0
|
|
push {lr}
|
|
ldr r0, =0x03005d8c
|
|
ldr r1, [r0]
|
|
ldr r0, =0x00003b5a
|
|
adds r1, r0
|
|
ldr r2, =sub_80861B0
|
|
movs r0, 0x10
|
|
movs r3, 0x3
|
|
bl sub_811A20C
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811A8F0
|
|
|
|
thumb_func_start sub_811A914
|
|
sub_811A914: @ 811A914
|
|
push {lr}
|
|
ldr r0, =0x03005d8c
|
|
ldr r1, [r0]
|
|
ldr r0, =0x00003b6c
|
|
adds r1, r0
|
|
ldr r2, =sub_80861B0
|
|
movs r0, 0x12
|
|
movs r3, 0x3
|
|
bl sub_811A20C
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811A914
|
|
|
|
thumb_func_start sub_811A938
|
|
sub_811A938: @ 811A938
|
|
push {lr}
|
|
ldr r0, =0x03005d8c
|
|
ldr r1, [r0]
|
|
ldr r0, =0x00003b5a
|
|
adds r1, r0
|
|
ldr r2, =sub_80861B0
|
|
movs r0, 0x11
|
|
movs r3, 0x3
|
|
bl sub_811A20C
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811A938
|
|
|
|
thumb_func_start sub_811A95C
|
|
sub_811A95C: @ 811A95C
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
mov r8, r1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r2, 24
|
|
lsrs r6, r2, 24
|
|
ldr r4, =0x0203a118
|
|
movs r0, 0x50
|
|
bl Alloc
|
|
str r0, [r4]
|
|
cmp r0, 0
|
|
bne _0811A984
|
|
movs r0, 0
|
|
b _0811AA7E
|
|
.pool
|
|
_0811A984:
|
|
movs r7, 0
|
|
strb r5, [r0]
|
|
ldr r0, [r4]
|
|
mov r1, r8
|
|
str r1, [r0, 0x38]
|
|
strb r7, [r0, 0x5]
|
|
ldr r0, [r4]
|
|
strb r7, [r0, 0x6]
|
|
ldr r0, [r4]
|
|
strb r7, [r0, 0x9]
|
|
ldr r0, [r4]
|
|
strb r6, [r0, 0x12]
|
|
ldr r0, [r4]
|
|
strb r7, [r0, 0x13]
|
|
adds r0, r5, 0
|
|
bl sub_811BCC8
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
cmp r5, 0x10
|
|
bne _0811A9C6
|
|
ldr r0, [r4]
|
|
adds r0, 0x14
|
|
bl sub_811BDF0
|
|
ldr r0, [r4]
|
|
adds r1, r0, 0
|
|
adds r1, 0x14
|
|
str r1, [r0, 0x34]
|
|
movs r1, 0x7
|
|
strb r1, [r0, 0x4]
|
|
lsls r0, r6, 1
|
|
b _0811A9DE
|
|
_0811A9C6:
|
|
ldr r0, [r4]
|
|
strb r7, [r0, 0x4]
|
|
ldr r3, [r4]
|
|
ldr r1, =gUnknown_08597550
|
|
lsls r2, r6, 1
|
|
adds r0, r2, r6
|
|
lsls r0, 3
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
str r0, [r3, 0x34]
|
|
adds r0, r2, 0
|
|
_0811A9DE:
|
|
ldr r3, =0x0203a118
|
|
ldr r2, [r3]
|
|
ldr r1, =gUnknown_08597550
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x1]
|
|
strb r1, [r2, 0x2]
|
|
ldr r1, [r3]
|
|
ldrb r0, [r0, 0x2]
|
|
strb r0, [r1, 0x3]
|
|
ldr r0, [r3]
|
|
ldrb r2, [r0, 0x2]
|
|
ldrb r1, [r0, 0x3]
|
|
adds r4, r2, 0
|
|
muls r4, r1
|
|
adds r1, r4, 0
|
|
strb r1, [r0, 0x7]
|
|
ldr r0, [r3]
|
|
strb r6, [r0, 0x1]
|
|
ldr r1, [r3]
|
|
ldrb r0, [r1, 0x7]
|
|
adds r4, r3, 0
|
|
cmp r0, 0x9
|
|
bls _0811AA14
|
|
movs r0, 0x9
|
|
strb r0, [r1, 0x7]
|
|
_0811AA14:
|
|
mov r0, r8
|
|
cmp r0, 0
|
|
beq _0811AA34
|
|
ldr r0, [r4]
|
|
adds r1, r0, 0
|
|
adds r1, 0x3C
|
|
ldrb r2, [r0, 0x7]
|
|
mov r0, r8
|
|
bl CpuSet
|
|
b _0811AA64
|
|
.pool
|
|
_0811AA34:
|
|
movs r3, 0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x7]
|
|
cmp r3, r0
|
|
bge _0811AA5C
|
|
adds r6, r4, 0
|
|
ldr r1, =0x0000ffff
|
|
adds r5, r1, 0
|
|
_0811AA44:
|
|
ldr r2, [r6]
|
|
lsls r0, r3, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0x3C
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
orrs r0, r5
|
|
strh r0, [r1]
|
|
adds r3, 0x1
|
|
ldrb r2, [r2, 0x7]
|
|
cmp r3, r2
|
|
blt _0811AA44
|
|
_0811AA5C:
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x3C
|
|
str r0, [r1, 0x38]
|
|
_0811AA64:
|
|
bl sub_811F3AC
|
|
ldr r1, =0x0203a118
|
|
ldr r2, [r1]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
subs r0, 0x1
|
|
lsrs r1, r0, 31
|
|
adds r0, r1
|
|
asrs r0, 1
|
|
adds r0, 0x1
|
|
strb r0, [r2, 0xD]
|
|
movs r0, 0x1
|
|
_0811AA7E:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811A95C
|
|
|
|
thumb_func_start sub_811AA90
|
|
sub_811AA90: @ 811AA90
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a118
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0811AAA2
|
|
bl Free
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0811AAA2:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811AA90
|
|
|
|
thumb_func_start sub_811AAAC
|
|
sub_811AAAC: @ 811AAAC
|
|
push {lr}
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0xA
|
|
bhi _0811AB3E
|
|
lsls r0, 2
|
|
ldr r1, =_0811AACC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811AACC:
|
|
.4byte _0811AAF8
|
|
.4byte _0811AAFE
|
|
.4byte _0811AB04
|
|
.4byte _0811AB0A
|
|
.4byte _0811AB10
|
|
.4byte _0811AB16
|
|
.4byte _0811AB1C
|
|
.4byte _0811AB22
|
|
.4byte _0811AB28
|
|
.4byte _0811AB2E
|
|
.4byte _0811AB34
|
|
_0811AAF8:
|
|
bl sub_811AB68
|
|
b _0811AB38
|
|
_0811AAFE:
|
|
bl sub_811ACDC
|
|
b _0811AB38
|
|
_0811AB04:
|
|
bl sub_811AE44
|
|
b _0811AB38
|
|
_0811AB0A:
|
|
bl sub_811AF00
|
|
b _0811AB38
|
|
_0811AB10:
|
|
bl sub_811AF8C
|
|
b _0811AB38
|
|
_0811AB16:
|
|
bl sub_811B040
|
|
b _0811AB38
|
|
_0811AB1C:
|
|
bl sub_811AFEC
|
|
b _0811AB38
|
|
_0811AB22:
|
|
bl sub_811B08C
|
|
b _0811AB38
|
|
_0811AB28:
|
|
bl sub_811B0BC
|
|
b _0811AB38
|
|
_0811AB2E:
|
|
bl sub_811B0E8
|
|
b _0811AB38
|
|
_0811AB34:
|
|
bl sub_811B0F8
|
|
_0811AB38:
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
b _0811AB40
|
|
_0811AB3E:
|
|
movs r0, 0
|
|
_0811AB40:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811AAAC
|
|
|
|
thumb_func_start sub_811AB44
|
|
sub_811AB44: @ 811AB44
|
|
push {lr}
|
|
bl sub_811BA68
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
beq _0811AB5E
|
|
cmp r0, 0x2
|
|
blt _0811AB62
|
|
cmp r0, 0x8
|
|
bgt _0811AB62
|
|
cmp r0, 0x7
|
|
blt _0811AB62
|
|
_0811AB5E:
|
|
movs r0, 0x1
|
|
b _0811AB64
|
|
_0811AB62:
|
|
movs r0, 0
|
|
_0811AB64:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811AB44
|
|
|
|
thumb_func_start sub_811AB68
|
|
sub_811AB68: @ 811AB68
|
|
push {r4-r7,lr}
|
|
ldr r0, =0x030022c0
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811ABB8
|
|
bl sub_811BF78
|
|
ldr r1, =0x0203a118
|
|
ldr r3, [r1]
|
|
movs r2, 0
|
|
movs r0, 0x2
|
|
strb r0, [r3, 0x4]
|
|
ldr r0, [r1]
|
|
strb r2, [r0, 0xA]
|
|
ldr r0, [r1]
|
|
strb r2, [r0, 0xB]
|
|
ldr r0, [r1]
|
|
strb r2, [r0, 0xC]
|
|
movs r0, 0x9
|
|
b _0811ACCC
|
|
.pool
|
|
_0811AB9C:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0811AC68
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0811AC58
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0811AC48
|
|
movs r0, 0
|
|
b _0811ACCC
|
|
_0811ABB8:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0811AC78
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0811AC7E
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811AB9C
|
|
ldr r2, =0x0203a118
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, 0x6]
|
|
subs r0, 0x1
|
|
_0811ABD8:
|
|
strb r0, [r1, 0x6]
|
|
_0811ABDA:
|
|
adds r7, r2, 0
|
|
adds r4, r7, 0
|
|
ldr r2, [r4]
|
|
movs r0, 0x6
|
|
ldrsb r0, [r2, r0]
|
|
ldr r6, =gUnknown_08597550
|
|
cmp r0, 0
|
|
bge _0811ABF8
|
|
ldrb r0, [r2, 0x1]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r6
|
|
ldrb r0, [r1, 0x2]
|
|
strb r0, [r2, 0x6]
|
|
_0811ABF8:
|
|
ldr r3, [r4]
|
|
movs r2, 0x6
|
|
ldrsb r2, [r3, r2]
|
|
adds r5, r6, 0
|
|
ldrb r1, [r3, 0x1]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
ldrb r0, [r0, 0x2]
|
|
cmp r2, r0
|
|
ble _0811AC14
|
|
movs r0, 0
|
|
strb r0, [r3, 0x6]
|
|
_0811AC14:
|
|
ldr r3, [r4]
|
|
movs r2, 0x6
|
|
ldrsb r2, [r3, r2]
|
|
ldrb r1, [r3, 0x1]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r1, r0, r5
|
|
ldrb r0, [r1, 0x2]
|
|
cmp r2, r0
|
|
bne _0811AC88
|
|
movs r0, 0x5
|
|
ldrsb r0, [r3, r0]
|
|
cmp r0, 0x2
|
|
ble _0811AC36
|
|
movs r0, 0x2
|
|
strb r0, [r3, 0x5]
|
|
_0811AC36:
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x3
|
|
b _0811ACCC
|
|
.pool
|
|
_0811AC48:
|
|
ldr r2, =0x0203a118
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, 0x5]
|
|
adds r0, 0x1
|
|
strb r0, [r1, 0x5]
|
|
b _0811ABDA
|
|
.pool
|
|
_0811AC58:
|
|
ldr r2, =0x0203a118
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, 0x6]
|
|
adds r0, 0x1
|
|
b _0811ABD8
|
|
.pool
|
|
_0811AC68:
|
|
ldr r2, =0x0203a118
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, 0x5]
|
|
subs r0, 0x1
|
|
strb r0, [r1, 0x5]
|
|
b _0811ABDA
|
|
.pool
|
|
_0811AC78:
|
|
bl sub_811B150
|
|
b _0811AC82
|
|
_0811AC7E:
|
|
bl sub_811B1B4
|
|
_0811AC82:
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
b _0811ACCC
|
|
_0811AC88:
|
|
movs r0, 0x5
|
|
ldrsb r0, [r3, r0]
|
|
cmp r0, 0
|
|
bge _0811AC96
|
|
ldrb r0, [r1, 0x1]
|
|
subs r0, 0x1
|
|
strb r0, [r3, 0x5]
|
|
_0811AC96:
|
|
ldr r3, [r4]
|
|
movs r2, 0x5
|
|
ldrsb r2, [r3, r2]
|
|
ldrb r1, [r3, 0x1]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r6
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r2, r0
|
|
blt _0811ACB0
|
|
movs r0, 0
|
|
strb r0, [r3, 0x5]
|
|
_0811ACB0:
|
|
bl sub_811AB44
|
|
cmp r0, 0
|
|
beq _0811ACCA
|
|
ldr r2, [r7]
|
|
ldr r0, [r2, 0x4]
|
|
ldr r1, =0x00ffff00
|
|
ands r0, r1
|
|
ldr r1, =0x00040100
|
|
cmp r0, r1
|
|
bne _0811ACCA
|
|
movs r0, 0
|
|
strb r0, [r2, 0x5]
|
|
_0811ACCA:
|
|
movs r0, 0x2
|
|
_0811ACCC:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811AB68
|
|
|
|
thumb_func_start sub_811ACDC
|
|
sub_811ACDC: @ 811ACDC
|
|
push {r4-r6,lr}
|
|
ldr r2, =0x030022c0
|
|
ldrh r1, [r2, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811AD4A
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x5]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0811AD3E
|
|
b _0811AD24
|
|
.pool
|
|
_0811AD04:
|
|
movs r0, 0x20
|
|
ands r0, r2
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0
|
|
bne _0811ADE0
|
|
movs r0, 0x80
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
bne _0811ADD0
|
|
movs r0, 0x10
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
bne _0811ADC0
|
|
movs r0, 0
|
|
b _0811AE32
|
|
_0811AD24:
|
|
cmp r0, 0x1
|
|
bgt _0811AD2E
|
|
cmp r0, 0
|
|
beq _0811AD38
|
|
b _0811AD4A
|
|
_0811AD2E:
|
|
cmp r0, 0x2
|
|
beq _0811ADF6
|
|
cmp r0, 0x3
|
|
beq _0811AD44
|
|
b _0811AD4A
|
|
_0811AD38:
|
|
bl sub_811B184
|
|
b _0811ADFA
|
|
_0811AD3E:
|
|
bl sub_811B150
|
|
b _0811ADFA
|
|
_0811AD44:
|
|
bl sub_811B264
|
|
b _0811ADFA
|
|
_0811AD4A:
|
|
ldrh r2, [r2, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
bne _0811ADF0
|
|
movs r0, 0x8
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
bne _0811ADF6
|
|
movs r0, 0x40
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _0811AD04
|
|
ldr r2, =0x0203a118
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, 0x6]
|
|
subs r0, 0x1
|
|
strb r0, [r1, 0x6]
|
|
_0811AD6E:
|
|
adds r6, r2, 0
|
|
_0811AD70:
|
|
adds r5, r6, 0
|
|
ldr r4, [r5]
|
|
movs r3, 0x6
|
|
ldrsb r3, [r4, r3]
|
|
ldr r2, =gUnknown_08597550
|
|
ldrb r1, [r4, 0x1]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r1, r0, r2
|
|
ldrb r0, [r1, 0x2]
|
|
cmp r3, r0
|
|
bne _0811AE00
|
|
bl sub_811BA3C
|
|
movs r2, 0x3
|
|
cmp r0, 0
|
|
beq _0811AD96
|
|
movs r2, 0x4
|
|
_0811AD96:
|
|
ldr r1, [r5]
|
|
movs r0, 0x5
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, 0
|
|
bge _0811ADA4
|
|
subs r0, r2, 0x1
|
|
strb r0, [r1, 0x5]
|
|
_0811ADA4:
|
|
ldr r1, [r5]
|
|
movs r0, 0x5
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, r2
|
|
blt _0811ADB2
|
|
movs r0, 0
|
|
strb r0, [r1, 0x5]
|
|
_0811ADB2:
|
|
movs r0, 0x3
|
|
b _0811AE32
|
|
.pool
|
|
_0811ADC0:
|
|
ldr r2, =0x0203a118
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, 0x5]
|
|
adds r0, 0x1
|
|
strb r0, [r1, 0x5]
|
|
b _0811AD6E
|
|
.pool
|
|
_0811ADD0:
|
|
ldr r1, =0x0203a118
|
|
ldr r0, [r1]
|
|
strb r3, [r0, 0x6]
|
|
adds r6, r1, 0
|
|
b _0811AD70
|
|
.pool
|
|
_0811ADE0:
|
|
ldr r2, =0x0203a118
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, 0x5]
|
|
subs r0, 0x1
|
|
strb r0, [r1, 0x5]
|
|
b _0811AD6E
|
|
.pool
|
|
_0811ADF0:
|
|
bl sub_811B150
|
|
b _0811ADFA
|
|
_0811ADF6:
|
|
bl sub_811B1B4
|
|
_0811ADFA:
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
b _0811AE32
|
|
_0811AE00:
|
|
movs r0, 0x5
|
|
ldrsb r0, [r4, r0]
|
|
ldrb r1, [r1, 0x1]
|
|
cmp r0, r1
|
|
blt _0811AE0E
|
|
subs r0, r1, 0x1
|
|
strb r0, [r4, 0x5]
|
|
_0811AE0E:
|
|
bl sub_811AB44
|
|
cmp r0, 0
|
|
beq _0811AE28
|
|
ldr r2, [r6]
|
|
ldr r0, [r2, 0x4]
|
|
ldr r1, =0x00ffff00
|
|
ands r0, r1
|
|
ldr r1, =0x00040100
|
|
cmp r0, r1
|
|
bne _0811AE28
|
|
movs r0, 0
|
|
strb r0, [r2, 0x5]
|
|
_0811AE28:
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
movs r0, 0
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x2
|
|
_0811AE32:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811ACDC
|
|
|
|
thumb_func_start sub_811AE44
|
|
sub_811AE44: @ 811AE44
|
|
push {lr}
|
|
ldr r1, =0x030022c0
|
|
ldrh r2, [r1, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r2
|
|
adds r3, r1, 0
|
|
cmp r0, 0
|
|
beq _0811AE60
|
|
bl sub_811B32C
|
|
b _0811AEF6
|
|
.pool
|
|
_0811AE60:
|
|
movs r0, 0x1
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _0811AEAE
|
|
ldr r0, =0x0203a118
|
|
ldr r2, [r0]
|
|
movs r1, 0xA
|
|
ldrsb r1, [r2, r1]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0811AE84
|
|
bl sub_811B2B0
|
|
b _0811AEF6
|
|
.pool
|
|
_0811AE84:
|
|
movs r0, 0xB
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, 0x1
|
|
beq _0811AEA2
|
|
cmp r0, 0x1
|
|
bgt _0811AE96
|
|
cmp r0, 0
|
|
beq _0811AE9C
|
|
b _0811AEAE
|
|
_0811AE96:
|
|
cmp r0, 0x2
|
|
beq _0811AEA8
|
|
b _0811AEAE
|
|
_0811AE9C:
|
|
bl sub_811B33C
|
|
b _0811AEF6
|
|
_0811AEA2:
|
|
bl sub_811B368
|
|
b _0811AEF6
|
|
_0811AEA8:
|
|
bl sub_811B32C
|
|
b _0811AEF6
|
|
_0811AEAE:
|
|
ldrh r1, [r3, 0x2E]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811AEBE
|
|
bl sub_811B33C
|
|
b _0811AEF6
|
|
_0811AEBE:
|
|
ldrh r1, [r3, 0x30]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811AECC
|
|
movs r0, 0x2
|
|
b _0811AEF2
|
|
_0811AECC:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811AED8
|
|
movs r0, 0x3
|
|
b _0811AEF2
|
|
_0811AED8:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811AEE4
|
|
movs r0, 0x1
|
|
b _0811AEF2
|
|
_0811AEE4:
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0811AEF0
|
|
movs r0, 0
|
|
b _0811AEFA
|
|
_0811AEF0:
|
|
movs r0, 0
|
|
_0811AEF2:
|
|
bl sub_811B528
|
|
_0811AEF6:
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
_0811AEFA:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811AE44
|
|
|
|
thumb_func_start sub_811AF00
|
|
sub_811AF00: @ 811AF00
|
|
push {lr}
|
|
ldr r2, =0x030022c0
|
|
ldrh r1, [r2, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811AF24
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
movs r0, 0x2
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0xE
|
|
b _0811AF86
|
|
.pool
|
|
_0811AF24:
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811AF32
|
|
bl sub_811B394
|
|
b _0811AF82
|
|
_0811AF32:
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811AF3E
|
|
movs r0, 0x4
|
|
b _0811AF7E
|
|
_0811AF3E:
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811AF4A
|
|
movs r0, 0x5
|
|
b _0811AF7E
|
|
_0811AF4A:
|
|
ldrh r1, [r2, 0x30]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811AF58
|
|
movs r0, 0x2
|
|
b _0811AF7E
|
|
_0811AF58:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811AF64
|
|
movs r0, 0x3
|
|
b _0811AF7E
|
|
_0811AF64:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811AF70
|
|
movs r0, 0x1
|
|
b _0811AF7E
|
|
_0811AF70:
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0811AF7C
|
|
movs r0, 0
|
|
b _0811AF86
|
|
_0811AF7C:
|
|
movs r0, 0
|
|
_0811AF7E:
|
|
bl sub_811B794
|
|
_0811AF82:
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
_0811AF86:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811AF00
|
|
|
|
thumb_func_start sub_811AF8C
|
|
sub_811AF8C: @ 811AF8C
|
|
push {lr}
|
|
bl sub_8198C58
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0811AFC0
|
|
cmp r1, 0
|
|
bgt _0811AFA8
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0811AFAC
|
|
b _0811AFE4
|
|
_0811AFA8:
|
|
cmp r1, 0x1
|
|
bne _0811AFE4
|
|
_0811AFAC:
|
|
bl sub_811B2A4
|
|
ldr r1, =0x0203a118
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x7
|
|
b _0811AFE6
|
|
.pool
|
|
_0811AFC0:
|
|
ldr r0, =0x020375f0
|
|
strh r1, [r0]
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
subs r0, 0x11
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bhi _0811AFD8
|
|
bl sub_811B3E4
|
|
_0811AFD8:
|
|
movs r0, 0x18
|
|
b _0811AFE6
|
|
.pool
|
|
_0811AFE4:
|
|
movs r0, 0
|
|
_0811AFE6:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811AF8C
|
|
|
|
thumb_func_start sub_811AFEC
|
|
sub_811AFEC: @ 811AFEC
|
|
push {r4,lr}
|
|
bl sub_8198C58
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0811B020
|
|
cmp r1, 0
|
|
bgt _0811B008
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0811B00C
|
|
b _0811B038
|
|
_0811B008:
|
|
cmp r1, 0x1
|
|
bne _0811B038
|
|
_0811B00C:
|
|
bl sub_811B2A4
|
|
ldr r1, =0x0203a118
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x7
|
|
b _0811B03A
|
|
.pool
|
|
_0811B020:
|
|
bl sub_811BE9C
|
|
ldr r4, =0x020375f0
|
|
bl sub_811B4EC
|
|
strh r0, [r4]
|
|
bl sub_811B3E4
|
|
movs r0, 0x18
|
|
b _0811B03A
|
|
.pool
|
|
_0811B038:
|
|
movs r0, 0
|
|
_0811B03A:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811AFEC
|
|
|
|
thumb_func_start sub_811B040
|
|
sub_811B040: @ 811B040
|
|
push {lr}
|
|
bl sub_8198C58
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0811B070
|
|
cmp r1, 0
|
|
bgt _0811B05C
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0811B060
|
|
b _0811B084
|
|
_0811B05C:
|
|
cmp r1, 0x1
|
|
bne _0811B084
|
|
_0811B060:
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x7
|
|
b _0811B086
|
|
.pool
|
|
_0811B070:
|
|
bl sub_811B418
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x8
|
|
b _0811B086
|
|
.pool
|
|
_0811B084:
|
|
movs r0, 0
|
|
_0811B086:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B040
|
|
|
|
thumb_func_start sub_811B08C
|
|
sub_811B08C: @ 811B08C
|
|
push {lr}
|
|
ldr r0, =0x030022c0
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811B0A4
|
|
movs r0, 0x1A
|
|
b _0811B0B8
|
|
.pool
|
|
_0811B0A4:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0811B0B0
|
|
movs r0, 0
|
|
b _0811B0B8
|
|
_0811B0B0:
|
|
bl sub_811B150
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
_0811B0B8:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B08C
|
|
|
|
thumb_func_start sub_811B0BC
|
|
sub_811B0BC: @ 811B0BC
|
|
push {lr}
|
|
ldr r0, =0x030022c0
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0811B0D4
|
|
movs r0, 0
|
|
b _0811B0E0
|
|
.pool
|
|
_0811B0D4:
|
|
bl sub_811B2A4
|
|
ldr r1, =0x0203a118
|
|
ldr r1, [r1]
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x7
|
|
_0811B0E0:
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811B0BC
|
|
|
|
thumb_func_start sub_811B0E8
|
|
sub_811B0E8: @ 811B0E8
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
movs r0, 0xA
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x6
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811B0E8
|
|
|
|
thumb_func_start sub_811B0F8
|
|
sub_811B0F8: @ 811B0F8
|
|
push {r4,lr}
|
|
bl sub_8198C58
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0811B134
|
|
cmp r1, 0
|
|
bgt _0811B114
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0811B118
|
|
b _0811B148
|
|
_0811B114:
|
|
cmp r1, 0x1
|
|
bne _0811B148
|
|
_0811B118:
|
|
bl sub_811B454
|
|
ldr r2, =0x0203a118
|
|
ldr r1, [r2]
|
|
movs r0, 0
|
|
strb r0, [r1, 0x8]
|
|
ldr r1, [r2]
|
|
movs r0, 0x8
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x1F
|
|
b _0811B14A
|
|
.pool
|
|
_0811B134:
|
|
ldr r4, =0x020375f0
|
|
bl sub_811B4EC
|
|
strh r0, [r4]
|
|
bl sub_811B3E4
|
|
movs r0, 0x18
|
|
b _0811B14A
|
|
.pool
|
|
_0811B148:
|
|
movs r0, 0
|
|
_0811B14A:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B0F8
|
|
|
|
thumb_func_start sub_811B150
|
|
sub_811B150: @ 811B150
|
|
push {lr}
|
|
ldr r1, =0x0203a118
|
|
ldr r2, [r1]
|
|
ldrb r0, [r2]
|
|
cmp r0, 0x13
|
|
beq _0811B160
|
|
cmp r0, 0xB
|
|
bne _0811B174
|
|
_0811B160:
|
|
ldrb r0, [r2, 0x4]
|
|
strb r0, [r2, 0x8]
|
|
ldr r1, [r1]
|
|
movs r0, 0x8
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x22
|
|
b _0811B180
|
|
.pool
|
|
_0811B174:
|
|
ldrb r0, [r2, 0x4]
|
|
strb r0, [r2, 0x8]
|
|
ldr r1, [r1]
|
|
movs r0, 0x4
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x5
|
|
_0811B180:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B150
|
|
|
|
thumb_func_start sub_811B184
|
|
sub_811B184: @ 811B184
|
|
push {lr}
|
|
ldr r2, =0x0203a118
|
|
ldr r0, [r2]
|
|
ldrb r1, [r0, 0x4]
|
|
strb r1, [r0, 0x8]
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x6
|
|
bne _0811B1A8
|
|
ldrb r0, [r1, 0x4]
|
|
strb r0, [r1, 0x8]
|
|
ldr r1, [r2]
|
|
movs r0, 0x8
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x20
|
|
b _0811B1AE
|
|
.pool
|
|
_0811B1A8:
|
|
movs r0, 0x5
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x4
|
|
_0811B1AE:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B184
|
|
|
|
thumb_func_start sub_811B1B4
|
|
sub_811B1B4: @ 811B1B4
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a118
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x4]
|
|
strb r0, [r1, 0x8]
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x11
|
|
bne _0811B1DC
|
|
bl sub_811BD64
|
|
cmp r0, 0
|
|
bne _0811B1FA
|
|
bl sub_811BDB0
|
|
cmp r0, 0
|
|
bne _0811B1E8
|
|
b _0811B256
|
|
.pool
|
|
_0811B1DC:
|
|
cmp r0, 0x12
|
|
bne _0811B204
|
|
bl sub_811BDB0
|
|
cmp r0, 0
|
|
beq _0811B1F2
|
|
_0811B1E8:
|
|
ldr r1, [r4]
|
|
movs r0, 0x8
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x1E
|
|
b _0811B25C
|
|
_0811B1F2:
|
|
bl sub_811BD64
|
|
cmp r0, 0
|
|
beq _0811B256
|
|
_0811B1FA:
|
|
ldr r1, [r4]
|
|
movs r0, 0x8
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x1D
|
|
b _0811B25C
|
|
_0811B204:
|
|
cmp r0, 0x9
|
|
beq _0811B20C
|
|
cmp r0, 0xD
|
|
bne _0811B21E
|
|
_0811B20C:
|
|
bl sub_811BD2C
|
|
cmp r0, 0
|
|
bne _0811B256
|
|
ldr r1, [r4]
|
|
movs r0, 0x8
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x21
|
|
b _0811B25C
|
|
_0811B21E:
|
|
cmp r0, 0x13
|
|
beq _0811B226
|
|
cmp r0, 0xB
|
|
bne _0811B238
|
|
_0811B226:
|
|
bl sub_811BCF4
|
|
cmp r0, 0
|
|
beq _0811B256
|
|
ldr r1, [r4]
|
|
movs r0, 0x8
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x22
|
|
b _0811B25C
|
|
_0811B238:
|
|
cmp r0, 0x14
|
|
beq _0811B258
|
|
bl sub_811BCF4
|
|
cmp r0, 0x1
|
|
beq _0811B24C
|
|
bl sub_811B4EC
|
|
cmp r0, 0
|
|
bne _0811B256
|
|
_0811B24C:
|
|
ldr r1, [r4]
|
|
movs r0, 0x4
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x5
|
|
b _0811B25C
|
|
_0811B256:
|
|
ldr r1, [r4]
|
|
_0811B258:
|
|
movs r0, 0x6
|
|
strb r0, [r1, 0x4]
|
|
_0811B25C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B1B4
|
|
|
|
thumb_func_start sub_811B264
|
|
sub_811B264: @ 811B264
|
|
push {lr}
|
|
ldr r2, =0x0203a118
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, 0x4]
|
|
strb r0, [r1, 0x8]
|
|
ldr r0, [r2]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x11
|
|
beq _0811B28E
|
|
cmp r0, 0x11
|
|
bgt _0811B284
|
|
cmp r0, 0xF
|
|
beq _0811B28A
|
|
b _0811B29E
|
|
.pool
|
|
_0811B284:
|
|
cmp r0, 0x12
|
|
beq _0811B296
|
|
b _0811B29E
|
|
_0811B28A:
|
|
movs r0, 0x19
|
|
b _0811B2A0
|
|
_0811B28E:
|
|
bl sub_811B3E4
|
|
movs r0, 0x1C
|
|
b _0811B2A0
|
|
_0811B296:
|
|
bl sub_811B3E4
|
|
movs r0, 0x1B
|
|
b _0811B2A0
|
|
_0811B29E:
|
|
movs r0, 0
|
|
_0811B2A0:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B264
|
|
|
|
thumb_func_start sub_811B2A4
|
|
sub_811B2A4: @ 811B2A4
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811B2A4
|
|
|
|
thumb_func_start sub_811B2B0
|
|
sub_811B2B0: @ 811B2B0
|
|
push {lr}
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x9]
|
|
cmp r0, 0
|
|
bne _0811B2DC
|
|
bl sub_811B8E8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_811F3B8
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r0, 0
|
|
bl sub_811F548
|
|
b _0811B2EC
|
|
.pool
|
|
_0811B2DC:
|
|
bl sub_811B908
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
movs r0, 0x1
|
|
bl sub_811F548
|
|
_0811B2EC:
|
|
bl sub_811F5B0
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0
|
|
beq _0811B324
|
|
ldr r2, =0x0203a118
|
|
ldr r3, [r2]
|
|
subs r0, 0x1
|
|
lsrs r1, r0, 31
|
|
adds r0, r1
|
|
asrs r0, 1
|
|
movs r1, 0
|
|
strb r0, [r3, 0xF]
|
|
ldr r0, [r2]
|
|
strb r1, [r0, 0xE]
|
|
ldr r0, [r2]
|
|
strb r1, [r0, 0x10]
|
|
ldr r0, [r2]
|
|
strb r1, [r0, 0x11]
|
|
ldr r1, [r2]
|
|
movs r0, 0x3
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0xB
|
|
b _0811B326
|
|
.pool
|
|
_0811B324:
|
|
movs r0, 0
|
|
_0811B326:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B2B0
|
|
|
|
thumb_func_start sub_811B32C
|
|
sub_811B32C: @ 811B32C
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
movs r0, 0
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0xA
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811B32C
|
|
|
|
thumb_func_start sub_811B33C
|
|
sub_811B33C: @ 811B33C
|
|
push {lr}
|
|
ldr r1, =0x0203a118
|
|
ldr r0, [r1]
|
|
movs r2, 0
|
|
strb r2, [r0, 0xA]
|
|
ldr r0, [r1]
|
|
strb r2, [r0, 0xB]
|
|
ldr r0, [r1]
|
|
strb r2, [r0, 0xC]
|
|
ldr r1, [r1]
|
|
ldrb r0, [r1, 0x9]
|
|
cmp r0, 0
|
|
bne _0811B360
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x9]
|
|
b _0811B362
|
|
.pool
|
|
_0811B360:
|
|
strb r2, [r1, 0x9]
|
|
_0811B362:
|
|
movs r0, 0x17
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B33C
|
|
|
|
thumb_func_start sub_811B368
|
|
sub_811B368: @ 811B368
|
|
push {lr}
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x6
|
|
beq _0811B388
|
|
ldr r0, =0x0000ffff
|
|
bl sub_811B488
|
|
movs r0, 0x1
|
|
b _0811B390
|
|
.pool
|
|
_0811B388:
|
|
movs r0, 0x20
|
|
bl audio_play
|
|
movs r0, 0
|
|
_0811B390:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B368
|
|
|
|
thumb_func_start sub_811B394
|
|
sub_811B394: @ 811B394
|
|
push {r4,r5,lr}
|
|
bl sub_811B940
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_811F578
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
adds r0, r4, 0
|
|
bl sub_811BF88
|
|
adds r5, r0, 0
|
|
cmp r5, 0
|
|
beq _0811B3BC
|
|
movs r0, 0x20
|
|
bl audio_play
|
|
movs r0, 0
|
|
b _0811B3DC
|
|
_0811B3BC:
|
|
adds r0, r4, 0
|
|
bl sub_811B488
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x6
|
|
bne _0811B3D8
|
|
movs r0, 0x9
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0xD
|
|
b _0811B3DC
|
|
.pool
|
|
_0811B3D8:
|
|
strb r5, [r1, 0x4]
|
|
movs r0, 0xC
|
|
_0811B3DC:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B394
|
|
|
|
thumb_func_start sub_811B3E4
|
|
sub_811B3E4: @ 811B3E4
|
|
push {r4,r5,lr}
|
|
movs r4, 0
|
|
ldr r3, =0x0203a118
|
|
ldr r0, [r3]
|
|
ldrb r0, [r0, 0x7]
|
|
cmp r4, r0
|
|
bge _0811B40E
|
|
adds r5, r3, 0
|
|
_0811B3F4:
|
|
ldr r3, [r5]
|
|
ldr r1, [r3, 0x38]
|
|
lsls r2, r4, 1
|
|
adds r1, r2, r1
|
|
adds r0, r3, 0
|
|
adds r0, 0x3C
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r4, 0x1
|
|
ldrb r3, [r3, 0x7]
|
|
cmp r4, r3
|
|
blt _0811B3F4
|
|
_0811B40E:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811B3E4
|
|
|
|
thumb_func_start sub_811B418
|
|
sub_811B418: @ 811B418
|
|
push {r4,r5,lr}
|
|
movs r3, 0
|
|
ldr r2, =0x0203a118
|
|
ldr r0, [r2]
|
|
ldrb r0, [r0, 0x7]
|
|
cmp r3, r0
|
|
bge _0811B444
|
|
adds r5, r2, 0
|
|
ldr r0, =0x0000ffff
|
|
adds r4, r0, 0
|
|
_0811B42C:
|
|
ldr r2, [r5]
|
|
lsls r0, r3, 1
|
|
adds r1, r2, 0
|
|
adds r1, 0x3C
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
orrs r0, r4
|
|
strh r0, [r1]
|
|
adds r3, 0x1
|
|
ldrb r2, [r2, 0x7]
|
|
cmp r3, r2
|
|
blt _0811B42C
|
|
_0811B444:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811B418
|
|
|
|
thumb_func_start sub_811B454
|
|
sub_811B454: @ 811B454
|
|
push {r4,r5,lr}
|
|
movs r4, 0
|
|
ldr r3, =0x0203a118
|
|
ldr r0, [r3]
|
|
ldrb r0, [r0, 0x7]
|
|
cmp r4, r0
|
|
bge _0811B47E
|
|
adds r5, r3, 0
|
|
_0811B464:
|
|
ldr r3, [r5]
|
|
lsls r1, r4, 1
|
|
adds r2, r3, 0
|
|
adds r2, 0x3C
|
|
adds r2, r1
|
|
ldr r0, [r3, 0x38]
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
strh r0, [r2]
|
|
adds r4, 0x1
|
|
ldrb r3, [r3, 0x7]
|
|
cmp r4, r3
|
|
blt _0811B464
|
|
_0811B47E:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811B454
|
|
|
|
thumb_func_start sub_811B488
|
|
sub_811B488: @ 811B488
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
bl sub_811B8C8
|
|
lsls r0, 16
|
|
ldr r1, =0x0203a118
|
|
ldr r1, [r1]
|
|
lsrs r0, 15
|
|
adds r1, 0x3C
|
|
adds r1, r0
|
|
strh r4, [r1]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811B488
|
|
|
|
thumb_func_start sub_811B4AC
|
|
sub_811B4AC: @ 811B4AC
|
|
push {r4,r5,lr}
|
|
movs r2, 0
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r1, [r0, 0x7]
|
|
cmp r2, r1
|
|
bcs _0811B4E2
|
|
adds r5, r1, 0
|
|
adds r4, r0, 0
|
|
adds r4, 0x3C
|
|
ldr r3, [r0, 0x38]
|
|
_0811B4C2:
|
|
lsls r0, r2, 1
|
|
adds r1, r4, r0
|
|
adds r0, r3
|
|
ldrh r1, [r1]
|
|
ldrh r0, [r0]
|
|
cmp r1, r0
|
|
beq _0811B4D8
|
|
movs r0, 0x1
|
|
b _0811B4E4
|
|
.pool
|
|
_0811B4D8:
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, r5
|
|
bcc _0811B4C2
|
|
_0811B4E2:
|
|
movs r0, 0
|
|
_0811B4E4:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B4AC
|
|
|
|
thumb_func_start sub_811B4EC
|
|
sub_811B4EC: @ 811B4EC
|
|
push {lr}
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
subs r0, 0x11
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bhi _0811B51C
|
|
bl sub_811BD64
|
|
cmp r0, 0
|
|
bne _0811B50E
|
|
bl sub_811BDB0
|
|
cmp r0, 0
|
|
beq _0811B518
|
|
_0811B50E:
|
|
movs r0, 0
|
|
b _0811B524
|
|
.pool
|
|
_0811B518:
|
|
movs r0, 0x1
|
|
b _0811B524
|
|
_0811B51C:
|
|
bl sub_811B4AC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
_0811B524:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B4EC
|
|
|
|
thumb_func_start sub_811B528
|
|
sub_811B528: @ 811B528
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldr r0, =0x0203a118
|
|
ldr r3, [r0]
|
|
movs r1, 0xA
|
|
ldrsb r1, [r3, r1]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0811B558
|
|
ldrb r0, [r3, 0x9]
|
|
cmp r0, 0
|
|
bne _0811B550
|
|
adds r0, r2, 0
|
|
bl sub_811B568
|
|
b _0811B55E
|
|
.pool
|
|
_0811B550:
|
|
adds r0, r2, 0
|
|
bl sub_811B634
|
|
b _0811B55E
|
|
_0811B558:
|
|
adds r0, r2, 0
|
|
bl sub_811B6C4
|
|
_0811B55E:
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B528
|
|
|
|
thumb_func_start sub_811B568
|
|
sub_811B568: @ 811B568
|
|
push {r4,lr}
|
|
cmp r0, 0x1
|
|
beq _0811B5DE
|
|
cmp r0, 0x1
|
|
bcc _0811B5FE
|
|
cmp r0, 0x2
|
|
beq _0811B57C
|
|
cmp r0, 0x3
|
|
beq _0811B5A4
|
|
b _0811B62A
|
|
_0811B57C:
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
movs r0, 0xB
|
|
ldrsb r0, [r1, r0]
|
|
ldrb r3, [r1, 0xC]
|
|
cmn r0, r3
|
|
beq _0811B62A
|
|
ldrb r2, [r1, 0xB]
|
|
cmp r0, 0
|
|
beq _0811B59C
|
|
subs r0, r2, 0x1
|
|
strb r0, [r1, 0xB]
|
|
_0811B594:
|
|
movs r0, 0xF
|
|
b _0811B62C
|
|
.pool
|
|
_0811B59C:
|
|
subs r0, r3, 0x1
|
|
strb r0, [r1, 0xC]
|
|
movs r0, 0x11
|
|
b _0811B62C
|
|
_0811B5A4:
|
|
ldr r0, =0x0203a118
|
|
ldr r2, [r0]
|
|
movs r1, 0xB
|
|
ldrsb r1, [r2, r1]
|
|
ldrb r3, [r2, 0xC]
|
|
adds r1, r3
|
|
ldrb r0, [r2, 0xD]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
bge _0811B62A
|
|
ldrb r1, [r2, 0xB]
|
|
movs r0, 0xB
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, 0x2
|
|
bgt _0811B5D0
|
|
adds r0, r1, 0x1
|
|
strb r0, [r2, 0xB]
|
|
movs r4, 0xF
|
|
b _0811B5D6
|
|
.pool
|
|
_0811B5D0:
|
|
adds r0, r3, 0x1
|
|
strb r0, [r2, 0xC]
|
|
movs r4, 0x10
|
|
_0811B5D6:
|
|
bl sub_811B978
|
|
adds r0, r4, 0
|
|
b _0811B62C
|
|
_0811B5DE:
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
ldrb r2, [r1, 0xA]
|
|
movs r0, 0xA
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, 0
|
|
beq _0811B5F8
|
|
subs r0, r2, 0x1
|
|
strb r0, [r1, 0xA]
|
|
b _0811B594
|
|
.pool
|
|
_0811B5F8:
|
|
bl sub_811B744
|
|
b _0811B594
|
|
_0811B5FE:
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
ldrb r2, [r1, 0xA]
|
|
movs r0, 0xA
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, 0
|
|
bgt _0811B624
|
|
adds r0, r2, 0x1
|
|
strb r0, [r1, 0xA]
|
|
bl sub_811B9C8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811B594
|
|
bl sub_811B744
|
|
b _0811B594
|
|
.pool
|
|
_0811B624:
|
|
bl sub_811B744
|
|
b _0811B594
|
|
_0811B62A:
|
|
movs r0, 0
|
|
_0811B62C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B568
|
|
|
|
thumb_func_start sub_811B634
|
|
sub_811B634: @ 811B634
|
|
push {lr}
|
|
cmp r0, 0x1
|
|
beq _0811B6A0
|
|
cmp r0, 0x1
|
|
bcc _0811B684
|
|
cmp r0, 0x2
|
|
beq _0811B64A
|
|
cmp r0, 0x3
|
|
beq _0811B66A
|
|
movs r0, 0
|
|
b _0811B6BC
|
|
_0811B64A:
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
ldrb r2, [r1, 0xB]
|
|
movs r0, 0xB
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, 0
|
|
ble _0811B660
|
|
subs r0, r2, 0x1
|
|
b _0811B662
|
|
.pool
|
|
_0811B660:
|
|
movs r0, 0x3
|
|
_0811B662:
|
|
strb r0, [r1, 0xB]
|
|
bl sub_811B978
|
|
b _0811B6BA
|
|
_0811B66A:
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
ldrb r2, [r1, 0xB]
|
|
movs r0, 0xB
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, 0x2
|
|
bgt _0811B680
|
|
adds r0, r2, 0x1
|
|
b _0811B662
|
|
.pool
|
|
_0811B680:
|
|
movs r0, 0
|
|
b _0811B662
|
|
_0811B684:
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0xA]
|
|
adds r0, 0x1
|
|
strb r0, [r1, 0xA]
|
|
bl sub_811B9C8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811B6BA
|
|
b _0811B6B6
|
|
.pool
|
|
_0811B6A0:
|
|
ldr r2, =0x0203a118
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, 0xA]
|
|
subs r0, 0x1
|
|
strb r0, [r1, 0xA]
|
|
ldr r0, [r2]
|
|
ldrb r0, [r0, 0xA]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
bge _0811B6BA
|
|
_0811B6B6:
|
|
bl sub_811B744
|
|
_0811B6BA:
|
|
movs r0, 0xF
|
|
_0811B6BC:
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811B634
|
|
|
|
thumb_func_start sub_811B6C4
|
|
sub_811B6C4: @ 811B6C4
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
cmp r2, 0x1
|
|
beq _0811B714
|
|
cmp r2, 0x1
|
|
bcc _0811B728
|
|
cmp r2, 0x2
|
|
beq _0811B6DC
|
|
cmp r2, 0x3
|
|
beq _0811B6F8
|
|
movs r0, 0
|
|
b _0811B73A
|
|
_0811B6DC:
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
ldrb r3, [r1, 0xB]
|
|
movs r0, 0xB
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, 0
|
|
beq _0811B6F4
|
|
subs r0, r3, 0x1
|
|
b _0811B736
|
|
.pool
|
|
_0811B6F4:
|
|
strb r2, [r1, 0xB]
|
|
b _0811B738
|
|
_0811B6F8:
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
ldrb r2, [r1, 0xB]
|
|
movs r0, 0xB
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, 0x1
|
|
bgt _0811B710
|
|
adds r0, r2, 0x1
|
|
b _0811B736
|
|
.pool
|
|
_0811B710:
|
|
movs r0, 0
|
|
b _0811B736
|
|
_0811B714:
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0xB]
|
|
adds r0, 0x1
|
|
strb r0, [r1, 0xB]
|
|
bl sub_811B768
|
|
b _0811B738
|
|
.pool
|
|
_0811B728:
|
|
ldr r2, =0x0203a118
|
|
ldr r1, [r2]
|
|
movs r0, 0
|
|
strb r0, [r1, 0xA]
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, 0xB]
|
|
adds r0, 0x1
|
|
_0811B736:
|
|
strb r0, [r1, 0xB]
|
|
_0811B738:
|
|
movs r0, 0xF
|
|
_0811B73A:
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811B6C4
|
|
|
|
thumb_func_start sub_811B744
|
|
sub_811B744: @ 811B744
|
|
push {lr}
|
|
ldr r2, =0x0203a118
|
|
ldr r1, [r2]
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0xA]
|
|
ldr r2, [r2]
|
|
ldrb r1, [r2, 0xB]
|
|
movs r0, 0xB
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, 0
|
|
beq _0811B75E
|
|
subs r0, r1, 0x1
|
|
strb r0, [r2, 0xB]
|
|
_0811B75E:
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811B744
|
|
|
|
thumb_func_start sub_811B768
|
|
sub_811B768: @ 811B768
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a118
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x9]
|
|
cmp r0, 0
|
|
bne _0811B784
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0xA]
|
|
bl sub_811B978
|
|
b _0811B78E
|
|
.pool
|
|
_0811B784:
|
|
ldrb r0, [r1, 0xB]
|
|
bl sub_811B960
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0xA]
|
|
_0811B78E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811B768
|
|
|
|
thumb_func_start sub_811B794
|
|
sub_811B794: @ 811B794
|
|
push {r4,lr}
|
|
cmp r0, 0x5
|
|
bls _0811B79C
|
|
b _0811B8C0
|
|
_0811B79C:
|
|
lsls r0, 2
|
|
ldr r1, =_0811B7AC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811B7AC:
|
|
.4byte _0811B848
|
|
.4byte _0811B826
|
|
.4byte _0811B7C4
|
|
.4byte _0811B7F0
|
|
.4byte _0811B870
|
|
.4byte _0811B890
|
|
_0811B7C4:
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
movs r0, 0x11
|
|
ldrsb r0, [r1, r0]
|
|
ldrb r3, [r1, 0xE]
|
|
adds r0, r3
|
|
cmp r0, 0
|
|
bgt _0811B7D6
|
|
b _0811B8C0
|
|
_0811B7D6:
|
|
ldrb r2, [r1, 0x11]
|
|
movs r0, 0x11
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, 0
|
|
ble _0811B7E8
|
|
subs r0, r2, 0x1
|
|
b _0811B80E
|
|
.pool
|
|
_0811B7E8:
|
|
subs r0, r3, 0x1
|
|
strb r0, [r1, 0xE]
|
|
movs r4, 0x13
|
|
b _0811B81E
|
|
_0811B7F0:
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
movs r0, 0x11
|
|
ldrsb r0, [r1, r0]
|
|
ldrb r3, [r1, 0xE]
|
|
adds r0, r3
|
|
ldrb r2, [r1, 0xF]
|
|
cmp r0, r2
|
|
bge _0811B8C0
|
|
ldrb r2, [r1, 0x11]
|
|
movs r0, 0x11
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, 0x2
|
|
bgt _0811B818
|
|
adds r0, r2, 0x1
|
|
_0811B80E:
|
|
strb r0, [r1, 0x11]
|
|
movs r4, 0x12
|
|
b _0811B81E
|
|
.pool
|
|
_0811B818:
|
|
adds r0, r3, 0x1
|
|
strb r0, [r1, 0xE]
|
|
movs r4, 0x14
|
|
_0811B81E:
|
|
bl sub_811B9A0
|
|
adds r0, r4, 0
|
|
b _0811B8C2
|
|
_0811B826:
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
ldrb r2, [r1, 0x10]
|
|
movs r0, 0x10
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, 0
|
|
ble _0811B83C
|
|
subs r0, r2, 0x1
|
|
b _0811B83E
|
|
.pool
|
|
_0811B83C:
|
|
movs r0, 0x1
|
|
_0811B83E:
|
|
strb r0, [r1, 0x10]
|
|
bl sub_811B9A0
|
|
_0811B844:
|
|
movs r0, 0x12
|
|
b _0811B8C2
|
|
_0811B848:
|
|
ldr r4, =0x0203a118
|
|
ldr r1, [r4]
|
|
ldrb r2, [r1, 0x10]
|
|
movs r0, 0x10
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, 0
|
|
bgt _0811B866
|
|
adds r0, r2, 0x1
|
|
strb r0, [r1, 0x10]
|
|
bl sub_811BA1C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811B844
|
|
ldr r1, [r4]
|
|
_0811B866:
|
|
movs r0, 0
|
|
strb r0, [r1, 0x10]
|
|
b _0811B844
|
|
.pool
|
|
_0811B870:
|
|
ldr r0, =0x0203a118
|
|
ldr r2, [r0]
|
|
ldrb r0, [r2, 0xE]
|
|
adds r1, r0, 0
|
|
cmp r1, 0
|
|
beq _0811B8C0
|
|
cmp r1, 0x3
|
|
bls _0811B888
|
|
subs r0, 0x4
|
|
b _0811B88A
|
|
.pool
|
|
_0811B888:
|
|
movs r0, 0
|
|
_0811B88A:
|
|
strb r0, [r2, 0xE]
|
|
movs r0, 0x15
|
|
b _0811B8C2
|
|
_0811B890:
|
|
ldr r3, =0x0203a118
|
|
ldr r1, [r3]
|
|
ldrb r2, [r1, 0xE]
|
|
ldrb r0, [r1, 0xF]
|
|
subs r0, 0x4
|
|
cmp r2, r0
|
|
bgt _0811B8C0
|
|
adds r0, r2, 0x4
|
|
strb r0, [r1, 0xE]
|
|
ldr r2, [r3]
|
|
ldrb r1, [r2, 0xE]
|
|
ldrb r3, [r2, 0xF]
|
|
subs r0, r3, 0x3
|
|
cmp r1, r0
|
|
ble _0811B8B4
|
|
adds r0, r3, 0
|
|
adds r0, 0xFD
|
|
strb r0, [r2, 0xE]
|
|
_0811B8B4:
|
|
bl sub_811B9A0
|
|
movs r0, 0x16
|
|
b _0811B8C2
|
|
.pool
|
|
_0811B8C0:
|
|
movs r0, 0
|
|
_0811B8C2:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B794
|
|
|
|
thumb_func_start sub_811B8C8
|
|
sub_811B8C8: @ 811B8C8
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
movs r2, 0x6
|
|
ldrsb r2, [r0, r2]
|
|
ldrb r1, [r0, 0x2]
|
|
muls r1, r2
|
|
ldrb r0, [r0, 0x5]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811B8C8
|
|
|
|
thumb_func_start sub_811B8E8
|
|
sub_811B8E8: @ 811B8E8
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
movs r1, 0xB
|
|
ldrsb r1, [r0, r1]
|
|
ldrb r2, [r0, 0xC]
|
|
adds r1, r2
|
|
lsls r1, 1
|
|
ldrb r0, [r0, 0xA]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811B8E8
|
|
|
|
thumb_func_start sub_811B908
|
|
sub_811B908: @ 811B908
|
|
push {lr}
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0xA]
|
|
movs r3, 0
|
|
cmp r0, 0x6
|
|
bhi _0811B91A
|
|
movs r3, 0xA
|
|
ldrsb r3, [r1, r3]
|
|
_0811B91A:
|
|
ldrb r0, [r1, 0xB]
|
|
movs r2, 0
|
|
cmp r0, 0x3
|
|
bhi _0811B926
|
|
movs r2, 0xB
|
|
ldrsb r2, [r1, r2]
|
|
_0811B926:
|
|
ldr r0, =gUnknown_08597748
|
|
lsls r1, r2, 3
|
|
subs r1, r2
|
|
adds r1, r3, r1
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811B908
|
|
|
|
thumb_func_start sub_811B940
|
|
sub_811B940: @ 811B940
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
movs r1, 0x11
|
|
ldrsb r1, [r0, r1]
|
|
ldrb r2, [r0, 0xE]
|
|
adds r1, r2
|
|
lsls r1, 1
|
|
ldrb r0, [r0, 0x10]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811B940
|
|
|
|
thumb_func_start sub_811B960
|
|
sub_811B960: @ 811B960
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
beq _0811B96E
|
|
cmp r0, 0x1
|
|
beq _0811B972
|
|
_0811B96E:
|
|
movs r0, 0x6
|
|
b _0811B974
|
|
_0811B972:
|
|
movs r0, 0x5
|
|
_0811B974:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B960
|
|
|
|
thumb_func_start sub_811B978
|
|
sub_811B978: @ 811B978
|
|
push {lr}
|
|
b _0811B98E
|
|
_0811B97C:
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
ldrb r2, [r1, 0xA]
|
|
movs r0, 0xA
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, 0
|
|
beq _0811B998
|
|
subs r0, r2, 0x1
|
|
strb r0, [r1, 0xA]
|
|
_0811B98E:
|
|
bl sub_811B9C8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811B97C
|
|
_0811B998:
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811B978
|
|
|
|
thumb_func_start sub_811B9A0
|
|
sub_811B9A0: @ 811B9A0
|
|
push {lr}
|
|
b _0811B9B6
|
|
_0811B9A4:
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
ldrb r2, [r1, 0x10]
|
|
movs r0, 0x10
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, 0
|
|
beq _0811B9C0
|
|
subs r0, r2, 0x1
|
|
strb r0, [r1, 0x10]
|
|
_0811B9B6:
|
|
bl sub_811BA1C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811B9A4
|
|
_0811B9C0:
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811B9A0
|
|
|
|
thumb_func_start sub_811B9C8
|
|
sub_811B9C8: @ 811B9C8
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a118
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x9]
|
|
cmp r0, 0
|
|
bne _0811B9F8
|
|
bl sub_811B8E8
|
|
adds r4, r0, 0
|
|
bl sub_811F3AC
|
|
movs r1, 0
|
|
lsls r0, 24
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
lsrs r0, 24
|
|
cmp r4, r0
|
|
bcc _0811B9EE
|
|
movs r1, 0x1
|
|
_0811B9EE:
|
|
adds r0, r1, 0
|
|
b _0811BA14
|
|
.pool
|
|
_0811B9F8:
|
|
ldrb r0, [r1, 0xB]
|
|
bl sub_811B960
|
|
movs r2, 0
|
|
ldr r1, [r4]
|
|
ldrb r1, [r1, 0xA]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r1, r0
|
|
ble _0811BA12
|
|
movs r2, 0x1
|
|
_0811BA12:
|
|
adds r0, r2, 0
|
|
_0811BA14:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B9C8
|
|
|
|
thumb_func_start sub_811BA1C
|
|
sub_811BA1C: @ 811BA1C
|
|
push {r4,lr}
|
|
bl sub_811B940
|
|
adds r4, r0, 0
|
|
bl sub_811F5B0
|
|
movs r1, 0
|
|
lsls r4, 16
|
|
lsls r0, 16
|
|
cmp r4, r0
|
|
bcc _0811BA34
|
|
movs r1, 0x1
|
|
_0811BA34:
|
|
adds r0, r1, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811BA1C
|
|
|
|
thumb_func_start sub_811BA3C
|
|
sub_811BA3C: @ 811BA3C
|
|
ldr r2, =gUnknown_08597550
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r1, [r0, 0x1]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldrb r0, [r0, 0x3]
|
|
lsrs r0, 7
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BA3C
|
|
|
|
thumb_func_start sub_811BA5C
|
|
sub_811BA5C: @ 811BA5C
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BA5C
|
|
|
|
thumb_func_start sub_811BA68
|
|
sub_811BA68: @ 811BA68
|
|
ldr r2, =gUnknown_08597550
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r1, [r0, 0x1]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldrb r0, [r0, 0x3]
|
|
lsls r0, 25
|
|
lsrs r0, 25
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BA68
|
|
|
|
thumb_func_start sub_811BA88
|
|
sub_811BA88: @ 811BA88
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x34]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BA88
|
|
|
|
thumb_func_start sub_811BA94
|
|
sub_811BA94: @ 811BA94
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
adds r0, 0x3C
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BA94
|
|
|
|
thumb_func_start sub_811BAA0
|
|
sub_811BAA0: @ 811BAA0
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x3]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BAA0
|
|
|
|
thumb_func_start sub_811BAAC
|
|
sub_811BAAC: @ 811BAAC
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x2]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BAAC
|
|
|
|
thumb_func_start sub_811BAB8
|
|
sub_811BAB8: @ 811BAB8
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x5]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BAB8
|
|
|
|
thumb_func_start sub_811BAC4
|
|
sub_811BAC4: @ 811BAC4
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x6]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BAC4
|
|
|
|
thumb_func_start sub_811BAD0
|
|
sub_811BAD0: @ 811BAD0
|
|
push {r4,r5,lr}
|
|
ldr r4, =gUnknown_08597550
|
|
ldr r2, =0x0203a118
|
|
ldr r5, [r2]
|
|
ldrb r3, [r5, 0x1]
|
|
lsls r2, r3, 1
|
|
adds r2, r3
|
|
lsls r2, 3
|
|
adds r3, r4, 0
|
|
adds r3, 0x8
|
|
adds r2, r3
|
|
ldr r2, [r2]
|
|
str r2, [r0]
|
|
ldrb r2, [r5, 0x1]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r4, 0xC
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811BAD0
|
|
|
|
thumb_func_start sub_811BB08
|
|
sub_811BB08: @ 811BB08
|
|
push {r4,r5,lr}
|
|
ldr r4, =gUnknown_08597550
|
|
ldr r2, =0x0203a118
|
|
ldr r5, [r2]
|
|
ldrb r3, [r5, 0x1]
|
|
lsls r2, r3, 1
|
|
adds r2, r3
|
|
lsls r2, 3
|
|
adds r3, r4, 0
|
|
adds r3, 0x10
|
|
adds r2, r3
|
|
ldr r2, [r2]
|
|
str r2, [r0]
|
|
ldrb r2, [r5, 0x1]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r4, 0x14
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811BB08
|
|
|
|
thumb_func_start sub_811BB40
|
|
sub_811BB40: @ 811BB40
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x4
|
|
bne _0811BB5C
|
|
ldr r0, =gUnknown_085EC3B4
|
|
b _0811BB7A
|
|
.pool
|
|
_0811BB5C:
|
|
cmp r0, 0x4
|
|
blt _0811BB78
|
|
cmp r0, 0x10
|
|
bgt _0811BB78
|
|
cmp r0, 0xF
|
|
blt _0811BB78
|
|
ldr r0, =gUnknown_085EC706
|
|
str r0, [r2]
|
|
ldr r0, =gUnknown_085EC727
|
|
b _0811BB7E
|
|
.pool
|
|
_0811BB78:
|
|
ldr r0, =gUnknown_085EC3A6
|
|
_0811BB7A:
|
|
str r0, [r2]
|
|
movs r0, 0
|
|
_0811BB7E:
|
|
str r0, [r1]
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811BB40
|
|
|
|
thumb_func_start sub_811BB88
|
|
sub_811BB88: @ 811BB88
|
|
ldr r2, =gUnknown_085EC410
|
|
str r2, [r0]
|
|
ldr r0, =gUnknown_085EC42F
|
|
str r0, [r1]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BB88
|
|
|
|
thumb_func_start sub_811BB9C
|
|
sub_811BB9C: @ 811BB9C
|
|
ldr r2, =0x0203a118
|
|
ldr r3, [r2]
|
|
ldrb r2, [r3, 0xA]
|
|
strb r2, [r0]
|
|
ldrb r0, [r3, 0xB]
|
|
strb r0, [r1]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BB9C
|
|
|
|
thumb_func_start sub_811BBB0
|
|
sub_811BBB0: @ 811BBB0
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x9]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BBB0
|
|
|
|
thumb_func_start sub_811BBBC
|
|
sub_811BBBC: @ 811BBBC
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0xC]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BBBC
|
|
|
|
thumb_func_start sub_811BBC8
|
|
sub_811BBC8: @ 811BBC8
|
|
ldr r2, =0x0203a118
|
|
ldr r3, [r2]
|
|
ldrb r2, [r3, 0x10]
|
|
strb r2, [r0]
|
|
ldrb r0, [r3, 0x11]
|
|
strb r0, [r1]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BBC8
|
|
|
|
thumb_func_start sub_811BBDC
|
|
sub_811BBDC: @ 811BBDC
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0xE]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BBDC
|
|
|
|
thumb_func_start sub_811BBE8
|
|
sub_811BBE8: @ 811BBE8
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0xF]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BBE8
|
|
|
|
thumb_func_start sub_811BBF4
|
|
sub_811BBF4: @ 811BBF4
|
|
movs r0, 0
|
|
bx lr
|
|
thumb_func_end sub_811BBF4
|
|
|
|
thumb_func_start sub_811BBF8
|
|
sub_811BBF8: @ 811BBF8
|
|
push {lr}
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0x4]
|
|
cmp r0, 0x2
|
|
beq _0811BC10
|
|
cmp r0, 0x3
|
|
beq _0811BC1A
|
|
b _0811BC24
|
|
.pool
|
|
_0811BC10:
|
|
ldrb r0, [r1, 0x9]
|
|
cmp r0, 0
|
|
bne _0811BC24
|
|
ldrb r0, [r1, 0xC]
|
|
b _0811BC1C
|
|
_0811BC1A:
|
|
ldrb r0, [r1, 0xE]
|
|
_0811BC1C:
|
|
cmp r0, 0
|
|
beq _0811BC24
|
|
movs r0, 0x1
|
|
b _0811BC26
|
|
_0811BC24:
|
|
movs r0, 0
|
|
_0811BC26:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811BBF8
|
|
|
|
thumb_func_start sub_811BC2C
|
|
sub_811BC2C: @ 811BC2C
|
|
push {lr}
|
|
ldr r0, =0x0203a118
|
|
ldr r2, [r0]
|
|
ldrb r0, [r2, 0x4]
|
|
cmp r0, 0x2
|
|
beq _0811BC44
|
|
cmp r0, 0x3
|
|
beq _0811BC5A
|
|
b _0811BC68
|
|
.pool
|
|
_0811BC44:
|
|
ldrb r0, [r2, 0x9]
|
|
cmp r0, 0
|
|
bne _0811BC68
|
|
ldrb r1, [r2, 0xC]
|
|
adds r1, 0x4
|
|
ldrb r0, [r2, 0xD]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
bgt _0811BC68
|
|
movs r0, 0x1
|
|
b _0811BC6A
|
|
_0811BC5A:
|
|
ldrb r0, [r2, 0xE]
|
|
adds r0, 0x4
|
|
ldrb r2, [r2, 0xF]
|
|
cmp r0, r2
|
|
bgt _0811BC68
|
|
movs r0, 0x1
|
|
b _0811BC6A
|
|
_0811BC68:
|
|
movs r0, 0
|
|
_0811BC6A:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811BC2C
|
|
|
|
thumb_func_start sub_811BC70
|
|
sub_811BC70: @ 811BC70
|
|
push {lr}
|
|
bl sub_811BA3C
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811BC70
|
|
|
|
thumb_func_start sub_811BC7C
|
|
sub_811BC7C: @ 811BC7C
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r1, 24
|
|
lsrs r3, r1, 24
|
|
movs r2, 0
|
|
cmp r2, r3
|
|
bcs _0811BCB2
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
adds r4, r0, 0
|
|
adds r4, 0x3C
|
|
_0811BC92:
|
|
lsls r0, r2, 1
|
|
adds r1, r0, r5
|
|
adds r0, r4, r0
|
|
ldrh r1, [r1]
|
|
ldrh r0, [r0]
|
|
cmp r1, r0
|
|
beq _0811BCA8
|
|
movs r0, 0x1
|
|
b _0811BCB4
|
|
.pool
|
|
_0811BCA8:
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, r3
|
|
bcc _0811BC92
|
|
_0811BCB2:
|
|
movs r0, 0
|
|
_0811BCB4:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811BC7C
|
|
|
|
thumb_func_start sub_811BCBC
|
|
sub_811BCBC: @ 811BCBC
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x12]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BCBC
|
|
|
|
thumb_func_start sub_811BCC8
|
|
sub_811BCC8: @ 811BCC8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
movs r1, 0
|
|
ldr r2, =gUnknown_08597550
|
|
_0811BCD2:
|
|
ldrb r0, [r2]
|
|
cmp r0, r3
|
|
bne _0811BCE4
|
|
lsls r0, r1, 24
|
|
lsrs r0, 24
|
|
b _0811BCEE
|
|
.pool
|
|
_0811BCE4:
|
|
adds r2, 0x18
|
|
adds r1, 0x1
|
|
cmp r1, 0x14
|
|
bls _0811BCD2
|
|
movs r0, 0
|
|
_0811BCEE:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811BCC8
|
|
|
|
thumb_func_start sub_811BCF4
|
|
sub_811BCF4: @ 811BCF4
|
|
push {r4,lr}
|
|
movs r2, 0
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r1, [r0, 0x7]
|
|
cmp r2, r1
|
|
bge _0811BD24
|
|
ldr r4, =0x0000ffff
|
|
adds r3, r1, 0
|
|
adds r1, r0, 0
|
|
adds r1, 0x3C
|
|
_0811BD0A:
|
|
ldrh r0, [r1]
|
|
cmp r0, r4
|
|
beq _0811BD1C
|
|
movs r0, 0
|
|
b _0811BD26
|
|
.pool
|
|
_0811BD1C:
|
|
adds r1, 0x2
|
|
adds r2, 0x1
|
|
cmp r2, r3
|
|
blt _0811BD0A
|
|
_0811BD24:
|
|
movs r0, 0x1
|
|
_0811BD26:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811BCF4
|
|
|
|
thumb_func_start sub_811BD2C
|
|
sub_811BD2C: @ 811BD2C
|
|
push {r4,lr}
|
|
movs r2, 0
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r1, [r0, 0x7]
|
|
cmp r2, r1
|
|
bge _0811BD5C
|
|
ldr r4, =0x0000ffff
|
|
adds r3, r1, 0
|
|
adds r1, r0, 0
|
|
adds r1, 0x3C
|
|
_0811BD42:
|
|
ldrh r0, [r1]
|
|
cmp r0, r4
|
|
bne _0811BD54
|
|
movs r0, 0
|
|
b _0811BD5E
|
|
.pool
|
|
_0811BD54:
|
|
adds r1, 0x2
|
|
adds r2, 0x1
|
|
cmp r2, r3
|
|
blt _0811BD42
|
|
_0811BD5C:
|
|
movs r0, 0x1
|
|
_0811BD5E:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811BD2C
|
|
|
|
thumb_func_start sub_811BD64
|
|
sub_811BD64: @ 811BD64
|
|
push {r4,lr}
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x11
|
|
bne _0811BD80
|
|
bl sub_811BCF4
|
|
b _0811BD9C
|
|
.pool
|
|
_0811BD7C:
|
|
movs r0, 0
|
|
b _0811BD9C
|
|
_0811BD80:
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
movs r2, 0
|
|
ldr r3, =0x0000ffff
|
|
ldr r4, =0x00003b5a
|
|
adds r1, r0, r4
|
|
_0811BD8C:
|
|
ldrh r0, [r1]
|
|
cmp r0, r3
|
|
bne _0811BD7C
|
|
adds r1, 0x2
|
|
adds r2, 0x1
|
|
cmp r2, 0x8
|
|
ble _0811BD8C
|
|
movs r0, 0x1
|
|
_0811BD9C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811BD64
|
|
|
|
thumb_func_start sub_811BDB0
|
|
sub_811BDB0: @ 811BDB0
|
|
push {lr}
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x12
|
|
bne _0811BDC8
|
|
bl sub_811BCF4
|
|
b _0811BDDE
|
|
.pool
|
|
_0811BDC8:
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00003b58
|
|
adds r0, r1
|
|
movs r2, 0
|
|
ldrh r1, [r0, 0x14]
|
|
ldr r0, =0x0000ffff
|
|
cmp r1, r0
|
|
bne _0811BDDC
|
|
movs r2, 0x1
|
|
_0811BDDC:
|
|
adds r0, r2, 0
|
|
_0811BDDE:
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811BDB0
|
|
|
|
thumb_func_start sub_811BDF0
|
|
sub_811BDF0: @ 811BDF0
|
|
push {r4-r6,lr}
|
|
sub sp, 0x20
|
|
adds r6, r0, 0
|
|
ldr r0, =0x03005d8c
|
|
ldr r4, [r0]
|
|
bl sub_81AFBF0
|
|
ldr r0, =0x00003b70
|
|
adds r5, r4, r0
|
|
adds r0, r5, 0
|
|
bl GetStringLength
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
beq _0811BE34
|
|
ldr r1, =0x00003b85
|
|
adds r0, r4, r1
|
|
ldrb r2, [r0]
|
|
mov r0, sp
|
|
adds r1, r5, 0
|
|
bl sub_81DB5E8
|
|
movs r0, 0
|
|
mov r1, sp
|
|
bl sub_81AFC0C
|
|
b _0811BE3C
|
|
.pool
|
|
_0811BE34:
|
|
ldr r1, =gUnknown_085EC6B2
|
|
movs r0, 0
|
|
bl sub_81AFC0C
|
|
_0811BE3C:
|
|
ldr r1, =gUnknown_085EC6A8
|
|
adds r0, r6, 0
|
|
bl sub_81AFC28
|
|
add sp, 0x20
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811BDF0
|
|
|
|
thumb_func_start sub_811BE54
|
|
sub_811BE54: @ 811BE54
|
|
push {r4,r5,lr}
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
adds r4, r0, 0
|
|
adds r4, 0x3C
|
|
ldr r2, =0x02021dc4
|
|
movs r5, 0
|
|
b _0811BE86
|
|
.pool
|
|
_0811BE6C:
|
|
ldrh r1, [r4]
|
|
adds r0, r2, 0
|
|
movs r2, 0
|
|
bl CopyEasyChatWordPadded
|
|
adds r2, r0, 0
|
|
movs r0, 0
|
|
strb r0, [r2]
|
|
adds r2, 0x1
|
|
adds r4, 0x2
|
|
adds r5, 0x1
|
|
ldr r0, =0x0203a118
|
|
ldr r0, [r0]
|
|
_0811BE86:
|
|
ldrb r0, [r0, 0x7]
|
|
cmp r5, r0
|
|
blt _0811BE6C
|
|
subs r2, 0x1
|
|
movs r0, 0xFF
|
|
strb r0, [r2]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811BE54
|
|
|
|
thumb_func_start sub_811BE9C
|
|
sub_811BE9C: @ 811BE9C
|
|
push {r4,r5,lr}
|
|
ldr r5, =0x0203a118
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x9
|
|
beq _0811BEF0
|
|
cmp r0, 0x9
|
|
bgt _0811BEB8
|
|
cmp r0, 0
|
|
beq _0811BEC2
|
|
b _0811BF14
|
|
.pool
|
|
_0811BEB8:
|
|
cmp r0, 0xD
|
|
beq _0811BF0C
|
|
cmp r0, 0x14
|
|
beq _0811BED0
|
|
b _0811BF14
|
|
_0811BEC2:
|
|
ldr r0, =0x00000865
|
|
bl FlagSet
|
|
b _0811BF14
|
|
.pool
|
|
_0811BED0:
|
|
bl sub_811BF20
|
|
adds r1, r0, 0
|
|
cmp r1, 0
|
|
beq _0811BEE4
|
|
ldr r1, =0x020375e0
|
|
movs r0, 0x2
|
|
b _0811BF12
|
|
.pool
|
|
_0811BEE4:
|
|
ldr r0, =0x020375e0
|
|
strh r1, [r0]
|
|
b _0811BF14
|
|
.pool
|
|
_0811BEF0:
|
|
bl sub_811BE54
|
|
ldr r4, =0x020375e0
|
|
ldr r0, [r5]
|
|
adds r0, 0x3C
|
|
bl sub_81226D8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r4]
|
|
b _0811BF14
|
|
.pool
|
|
_0811BF0C:
|
|
bl sub_811BF40
|
|
ldr r1, =0x020375e0
|
|
_0811BF12:
|
|
strh r0, [r1]
|
|
_0811BF14:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811BE9C
|
|
|
|
thumb_func_start sub_811BF20
|
|
sub_811BF20: @ 811BF20
|
|
push {lr}
|
|
ldr r0, =gUnknown_08597764
|
|
movs r1, 0x4
|
|
bl sub_811BC7C
|
|
movs r1, 0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811BF34
|
|
movs r1, 0x1
|
|
_0811BF34:
|
|
adds r0, r1, 0
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811BF20
|
|
|
|
thumb_func_start sub_811BF40
|
|
sub_811BF40: @ 811BF40
|
|
push {r4,r5,lr}
|
|
movs r4, 0
|
|
movs r5, 0x80
|
|
lsls r5, 9
|
|
_0811BF48:
|
|
lsls r0, r4, 2
|
|
ldr r1, =gUnknown_0859776C
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
bl sub_811BC7C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811BF64
|
|
lsrs r0, r5, 16
|
|
b _0811BF72
|
|
.pool
|
|
_0811BF64:
|
|
movs r0, 0x80
|
|
lsls r0, 9
|
|
adds r5, r0
|
|
adds r4, 0x1
|
|
cmp r4, 0x4
|
|
ble _0811BF48
|
|
movs r0, 0
|
|
_0811BF72:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811BF40
|
|
|
|
thumb_func_start sub_811BF78
|
|
sub_811BF78: @ 811BF78
|
|
ldr r0, =0x0203a118
|
|
ldr r1, [r0]
|
|
movs r0, 0
|
|
strb r0, [r1, 0x13]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811BF78
|
|
|
|
thumb_func_start sub_811BF88
|
|
sub_811BF88: @ 811BF88
|
|
movs r0, 0
|
|
bx lr
|
|
thumb_func_end sub_811BF88
|
|
|
|
thumb_func_start sub_811BF8C
|
|
sub_811BF8C: @ 811BF8C
|
|
push {lr}
|
|
bl sub_811CE94
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811BF9C
|
|
movs r0, 0x1
|
|
b _0811BF9E
|
|
_0811BF9C:
|
|
movs r0, 0
|
|
_0811BF9E:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811BF8C
|
|
|
|
thumb_func_start sub_811BFA4
|
|
sub_811BFA4: @ 811BFA4
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x5
|
|
bls _0811BFB4
|
|
b _0811C120
|
|
_0811BFB4:
|
|
lsls r0, 2
|
|
ldr r1, =_0811BFC8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811BFC8:
|
|
.4byte _0811BFE0
|
|
.4byte _0811C044
|
|
.4byte _0811C090
|
|
.4byte _0811C0AC
|
|
.4byte _0811C0BE
|
|
.4byte _0811C0D4
|
|
_0811BFE0:
|
|
movs r0, 0
|
|
bl ResetBgsAndClearDma3BusyFlags
|
|
ldr r1, =gUnknown_08597C54
|
|
movs r0, 0
|
|
movs r2, 0x4
|
|
bl InitBgsFromTemplates
|
|
ldr r4, =0x0203a11c
|
|
ldr r1, [r4]
|
|
movs r0, 0xB0
|
|
lsls r0, 4
|
|
adds r1, r0
|
|
movs r0, 0x3
|
|
bl SetBgTilemapBuffer
|
|
ldr r1, [r4]
|
|
movs r0, 0xC0
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
movs r0, 0x1
|
|
bl SetBgTilemapBuffer
|
|
ldr r0, =gUnknown_08597C64
|
|
bl InitWindows
|
|
bl DeactivateAllTextPrinters
|
|
bl sub_811CF64
|
|
bl sub_811CF04
|
|
movs r0, 0
|
|
str r0, [sp, 0x4]
|
|
movs r1, 0xE0
|
|
lsls r1, 19
|
|
ldr r2, =0x01000100
|
|
add r0, sp, 0x4
|
|
bl CpuFastSet
|
|
b _0811C124
|
|
.pool
|
|
_0811C044:
|
|
ldr r1, =gUnknown_08DCBDD0
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x3
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl copy_decompressed_tile_data_to_vram_autofree
|
|
ldr r1, =gUnknown_08DCBF10
|
|
movs r0, 0x3
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl CopyToBgTilemapBuffer
|
|
bl sub_811D60C
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
movs r1, 0xC0
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl sub_811D424
|
|
bl sub_811D230
|
|
bl sub_811E948
|
|
movs r0, 0x3
|
|
bl CopyBgTilemapBufferToVram
|
|
b _0811C124
|
|
.pool
|
|
_0811C090:
|
|
ldr r1, =gUnknown_08597B54
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl copy_decompressed_tile_data_to_vram_autofree
|
|
movs r0, 0x1
|
|
bl CopyBgTilemapBufferToVram
|
|
b _0811C124
|
|
.pool
|
|
_0811C0AC:
|
|
bl sub_811CFCC
|
|
bl sub_811D0BC
|
|
bl sub_811D2C8
|
|
bl sub_811D684
|
|
b _0811C124
|
|
_0811C0BE:
|
|
bl sub_811DE90
|
|
bl sub_811BA5C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x10
|
|
beq _0811C124
|
|
bl sub_811DEC4
|
|
b _0811C124
|
|
_0811C0D4:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C12E
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_811DE5C
|
|
movs r0, 0x48
|
|
movs r1, 0x3F
|
|
bl SetGpuReg
|
|
movs r0, 0x4A
|
|
movs r1, 0x3B
|
|
bl SetGpuReg
|
|
movs r0, 0x3
|
|
bl ShowBg
|
|
movs r0, 0x1
|
|
bl ShowBg
|
|
movs r0, 0x2
|
|
bl ShowBg
|
|
movs r0, 0
|
|
bl ShowBg
|
|
bl sub_811E5D4
|
|
bl sub_811E720
|
|
bl sub_811E828
|
|
b _0811C124
|
|
_0811C120:
|
|
movs r0, 0
|
|
b _0811C130
|
|
_0811C124:
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_0811C12E:
|
|
movs r0, 0x1
|
|
_0811C130:
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811BFA4
|
|
|
|
thumb_func_start sub_811C13C
|
|
sub_811C13C: @ 811C13C
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0811C14E
|
|
bl Free
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0811C14E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811C13C
|
|
|
|
thumb_func_start sub_811C158
|
|
sub_811C158: @ 811C158
|
|
push {lr}
|
|
ldr r1, =0x0203a11c
|
|
ldr r1, [r1]
|
|
movs r2, 0
|
|
strh r0, [r1, 0x4]
|
|
strh r2, [r1]
|
|
bl sub_811C170
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811C158
|
|
|
|
thumb_func_start sub_811C170
|
|
sub_811C170: @ 811C170
|
|
push {lr}
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0, 0x4]
|
|
cmp r0, 0x22
|
|
bls _0811C17E
|
|
b _0811C2CE
|
|
_0811C17E:
|
|
lsls r0, 2
|
|
ldr r1, =_0811C190
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811C190:
|
|
.4byte _0811C2CE
|
|
.4byte _0811C21C
|
|
.4byte _0811C222
|
|
.4byte _0811C228
|
|
.4byte _0811C22E
|
|
.4byte _0811C234
|
|
.4byte _0811C23A
|
|
.4byte _0811C240
|
|
.4byte _0811C246
|
|
.4byte _0811C24C
|
|
.4byte _0811C252
|
|
.4byte _0811C258
|
|
.4byte _0811C25E
|
|
.4byte _0811C264
|
|
.4byte _0811C26A
|
|
.4byte _0811C270
|
|
.4byte _0811C276
|
|
.4byte _0811C27C
|
|
.4byte _0811C282
|
|
.4byte _0811C288
|
|
.4byte _0811C28E
|
|
.4byte _0811C294
|
|
.4byte _0811C29A
|
|
.4byte _0811C2A0
|
|
.4byte _0811C2CE
|
|
.4byte _0811C2CE
|
|
.4byte _0811C2CE
|
|
.4byte _0811C2CE
|
|
.4byte _0811C2CE
|
|
.4byte _0811C2A6
|
|
.4byte _0811C2AC
|
|
.4byte _0811C2B2
|
|
.4byte _0811C2B8
|
|
.4byte _0811C2BE
|
|
.4byte _0811C2C4
|
|
_0811C21C:
|
|
bl sub_811C2D4
|
|
b _0811C2C8
|
|
_0811C222:
|
|
bl sub_811C30C
|
|
b _0811C2C8
|
|
_0811C228:
|
|
bl sub_811C3E4
|
|
b _0811C2C8
|
|
_0811C22E:
|
|
bl sub_811C48C
|
|
b _0811C2C8
|
|
_0811C234:
|
|
bl sub_811C404
|
|
b _0811C2C8
|
|
_0811C23A:
|
|
bl sub_811C448
|
|
b _0811C2C8
|
|
_0811C240:
|
|
bl sub_811C4D0
|
|
b _0811C2C8
|
|
_0811C246:
|
|
bl sub_811C518
|
|
b _0811C2C8
|
|
_0811C24C:
|
|
bl sub_811C554
|
|
b _0811C2C8
|
|
_0811C252:
|
|
bl sub_811C620
|
|
b _0811C2C8
|
|
_0811C258:
|
|
bl sub_811C830
|
|
b _0811C2C8
|
|
_0811C25E:
|
|
bl sub_811C8F0
|
|
b _0811C2C8
|
|
_0811C264:
|
|
bl sub_811C99C
|
|
b _0811C2C8
|
|
_0811C26A:
|
|
bl sub_811CA5C
|
|
b _0811C2C8
|
|
_0811C270:
|
|
bl sub_811C780
|
|
b _0811C2C8
|
|
_0811C276:
|
|
bl sub_811C78C
|
|
b _0811C2C8
|
|
_0811C27C:
|
|
bl sub_811C7D4
|
|
b _0811C2C8
|
|
_0811C282:
|
|
bl sub_811CB18
|
|
b _0811C2C8
|
|
_0811C288:
|
|
bl sub_811CB98
|
|
b _0811C2C8
|
|
_0811C28E:
|
|
bl sub_811CB24
|
|
b _0811C2C8
|
|
_0811C294:
|
|
bl sub_811CC90
|
|
b _0811C2C8
|
|
_0811C29A:
|
|
bl sub_811CC08
|
|
b _0811C2C8
|
|
_0811C2A0:
|
|
bl sub_811C6C0
|
|
b _0811C2C8
|
|
_0811C2A6:
|
|
bl sub_811CD14
|
|
b _0811C2C8
|
|
_0811C2AC:
|
|
bl sub_811CD54
|
|
b _0811C2C8
|
|
_0811C2B2:
|
|
bl sub_811CD94
|
|
b _0811C2C8
|
|
_0811C2B8:
|
|
bl sub_811CDD4
|
|
b _0811C2C8
|
|
_0811C2BE:
|
|
bl sub_811CE14
|
|
b _0811C2C8
|
|
_0811C2C4:
|
|
bl sub_811CE54
|
|
_0811C2C8:
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811C2D0
|
|
_0811C2CE:
|
|
movs r0, 0
|
|
_0811C2D0:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C170
|
|
|
|
thumb_func_start sub_811C2D4
|
|
sub_811C2D4: @ 811C2D4
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811C2EC
|
|
cmp r0, 0x1
|
|
beq _0811C2FA
|
|
b _0811C304
|
|
.pool
|
|
_0811C2EC:
|
|
bl sub_811D2C8
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811C304
|
|
_0811C2FA:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811C306
|
|
_0811C304:
|
|
movs r0, 0x1
|
|
_0811C306:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C2D4
|
|
|
|
thumb_func_start sub_811C30C
|
|
sub_811C30C: @ 811C30C
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x40
|
|
bl sub_811BA94
|
|
adds r4, r0, 0
|
|
bl sub_811BA68
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r10, r0
|
|
bl sub_811BAB8
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
bl sub_811BAC4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
bl sub_811BAAC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r1, r9
|
|
muls r1, r0
|
|
adds r0, r1, 0
|
|
lsls r0, 1
|
|
adds r4, r0
|
|
ldr r1, =gUnknown_08597C30
|
|
mov r2, r10
|
|
lsls r0, r2, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 27
|
|
lsrs r0, 8
|
|
movs r1, 0xD0
|
|
lsls r1, 12
|
|
adds r0, r1
|
|
lsrs r6, r0, 16
|
|
movs r5, 0
|
|
cmp r5, r7
|
|
bcs _0811C3AA
|
|
ldr r2, =0x0000ffff
|
|
mov r8, r2
|
|
_0811C36C:
|
|
ldrh r0, [r4]
|
|
cmp r0, r8
|
|
bne _0811C380
|
|
movs r0, 0x48
|
|
b _0811C392
|
|
.pool
|
|
_0811C380:
|
|
ldrh r1, [r4]
|
|
mov r0, sp
|
|
bl CopyEasyChatWord
|
|
movs r0, 0x1
|
|
mov r1, sp
|
|
movs r2, 0
|
|
bl GetStringWidth
|
|
_0811C392:
|
|
adds r0, 0x11
|
|
lsls r1, r6, 16
|
|
asrs r1, 16
|
|
adds r1, r0
|
|
lsls r1, 16
|
|
lsrs r6, r1, 16
|
|
adds r4, 0x2
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, r7
|
|
bcc _0811C36C
|
|
_0811C3AA:
|
|
ldr r1, =gUnknown_08597C30
|
|
mov r2, r10
|
|
lsls r0, r2, 2
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
lsrs r1, 5
|
|
mov r2, r9
|
|
lsls r0, r2, 1
|
|
adds r1, r0
|
|
lsls r1, 27
|
|
lsls r0, r6, 24
|
|
lsrs r0, 24
|
|
movs r2, 0x80
|
|
lsls r2, 20
|
|
adds r1, r2
|
|
lsrs r1, 24
|
|
bl sub_811DF60
|
|
movs r0, 0
|
|
add sp, 0x40
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811C30C
|
|
|
|
thumb_func_start sub_811C3E4
|
|
sub_811C3E4: @ 811C3E4
|
|
push {lr}
|
|
bl sub_811BAB8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_811E920
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x60
|
|
bl sub_811DF60
|
|
movs r0, 0
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C3E4
|
|
|
|
thumb_func_start sub_811C404
|
|
sub_811C404: @ 811C404
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811C41C
|
|
cmp r0, 0x1
|
|
beq _0811C436
|
|
b _0811C440
|
|
.pool
|
|
_0811C41C:
|
|
bl sub_811DF90
|
|
movs r0, 0x2
|
|
bl sub_811D104
|
|
movs r0, 0x1
|
|
bl sub_811D214
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811C440
|
|
_0811C436:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811C442
|
|
_0811C440:
|
|
movs r0, 0x1
|
|
_0811C442:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C404
|
|
|
|
thumb_func_start sub_811C448
|
|
sub_811C448: @ 811C448
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811C460
|
|
cmp r0, 0x1
|
|
beq _0811C47A
|
|
b _0811C484
|
|
.pool
|
|
_0811C460:
|
|
bl sub_811DF90
|
|
movs r0, 0x3
|
|
bl sub_811D104
|
|
movs r0, 0
|
|
bl sub_811D214
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811C484
|
|
_0811C47A:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811C486
|
|
_0811C484:
|
|
movs r0, 0x1
|
|
_0811C486:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C448
|
|
|
|
thumb_func_start sub_811C48C
|
|
sub_811C48C: @ 811C48C
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811C4A4
|
|
cmp r0, 0x1
|
|
beq _0811C4BE
|
|
b _0811C4C8
|
|
.pool
|
|
_0811C4A4:
|
|
bl sub_811DF90
|
|
movs r0, 0x1
|
|
bl sub_811D104
|
|
movs r0, 0x1
|
|
bl sub_811D214
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811C4C8
|
|
_0811C4BE:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811C4CA
|
|
_0811C4C8:
|
|
movs r0, 0x1
|
|
_0811C4CA:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C48C
|
|
|
|
thumb_func_start sub_811C4D0
|
|
sub_811C4D0: @ 811C4D0
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811C4E8
|
|
cmp r0, 0x1
|
|
beq _0811C506
|
|
b _0811C510
|
|
.pool
|
|
_0811C4E8:
|
|
bl sub_811DFB0
|
|
movs r0, 0
|
|
bl sub_811D104
|
|
bl sub_811D2C8
|
|
movs r0, 0
|
|
bl ShowBg
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811C510
|
|
_0811C506:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811C512
|
|
_0811C510:
|
|
movs r0, 0x1
|
|
_0811C512:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C4D0
|
|
|
|
thumb_func_start sub_811C518
|
|
sub_811C518: @ 811C518
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811C530
|
|
cmp r0, 0x1
|
|
beq _0811C546
|
|
movs r0, 0x1
|
|
b _0811C54E
|
|
.pool
|
|
_0811C530:
|
|
bl sub_811DFB0
|
|
movs r0, 0
|
|
bl sub_811D104
|
|
bl sub_811D2C8
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_0811C546:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
_0811C54E:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C518
|
|
|
|
thumb_func_start sub_811C554
|
|
sub_811C554: @ 811C554
|
|
push {lr}
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x4
|
|
bhi _0811C60E
|
|
lsls r0, 2
|
|
ldr r1, =_0811C574
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811C574:
|
|
.4byte _0811C588
|
|
.4byte _0811C5A4
|
|
.4byte _0811C5B6
|
|
.4byte _0811C5CC
|
|
.4byte _0811C5EC
|
|
_0811C588:
|
|
bl sub_811DF90
|
|
movs r0, 0
|
|
bl HideBg
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_811DE5C
|
|
bl sub_811D6D4
|
|
b _0811C5DA
|
|
_0811C5A4:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C618
|
|
movs r0, 0
|
|
bl sub_811D9CC
|
|
b _0811C5DA
|
|
_0811C5B6:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C618
|
|
bl sub_811DAA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C618
|
|
b _0811C5DA
|
|
_0811C5CC:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C618
|
|
bl sub_811E3AC
|
|
_0811C5DA:
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811C618
|
|
.pool
|
|
_0811C5EC:
|
|
bl sub_811E418
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C618
|
|
bl sub_811DFC8
|
|
movs r0, 0
|
|
bl sub_811E6E0
|
|
bl sub_811E64C
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_0811C60E:
|
|
movs r0, 0
|
|
b _0811C61A
|
|
.pool
|
|
_0811C618:
|
|
movs r0, 0x1
|
|
_0811C61A:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C554
|
|
|
|
thumb_func_start sub_811C620
|
|
sub_811C620: @ 811C620
|
|
push {lr}
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x4
|
|
bhi _0811C6B8
|
|
lsls r0, 2
|
|
ldr r1, =_0811C640
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811C640:
|
|
.4byte _0811C654
|
|
.4byte _0811C662
|
|
.4byte _0811C67E
|
|
.4byte _0811C690
|
|
.4byte _0811C6B4
|
|
_0811C654:
|
|
bl sub_811E050
|
|
bl sub_811E4AC
|
|
bl sub_811E6B0
|
|
b _0811C6A4
|
|
_0811C662:
|
|
bl sub_811E4D0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0811C6B8
|
|
movs r0, 0x1
|
|
bl sub_811D9CC
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_0811C67E:
|
|
bl sub_811DAA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C6B8
|
|
b _0811C6A4
|
|
.pool
|
|
_0811C690:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C6B8
|
|
bl sub_811DFB0
|
|
movs r0, 0
|
|
bl ShowBg
|
|
_0811C6A4:
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811C6B8
|
|
.pool
|
|
_0811C6B4:
|
|
movs r0, 0
|
|
b _0811C6BA
|
|
_0811C6B8:
|
|
movs r0, 0x1
|
|
_0811C6BA:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C620
|
|
|
|
thumb_func_start sub_811C6C0
|
|
sub_811C6C0: @ 811C6C0
|
|
push {lr}
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x4
|
|
bhi _0811C778
|
|
lsls r0, 2
|
|
ldr r1, =_0811C6E0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811C6E0:
|
|
.4byte _0811C6F4
|
|
.4byte _0811C708
|
|
.4byte _0811C722
|
|
.4byte _0811C748
|
|
.4byte _0811C76E
|
|
_0811C6F4:
|
|
bl sub_811E050
|
|
bl sub_811E6B0
|
|
bl sub_811E55C
|
|
movs r0, 0x5
|
|
bl sub_811D9CC
|
|
b _0811C736
|
|
_0811C708:
|
|
bl sub_811DAA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C778
|
|
bl sub_811E5B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C778
|
|
bl sub_811D6D4
|
|
b _0811C736
|
|
_0811C722:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C778
|
|
movs r0, 0x6
|
|
bl sub_811D9CC
|
|
bl sub_811E578
|
|
_0811C736:
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811C778
|
|
.pool
|
|
_0811C748:
|
|
bl sub_811DAA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C778
|
|
bl sub_811E5B8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C778
|
|
bl sub_811E64C
|
|
bl sub_811DFC8
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_0811C76E:
|
|
movs r0, 0
|
|
b _0811C77A
|
|
.pool
|
|
_0811C778:
|
|
movs r0, 0x1
|
|
_0811C77A:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C6C0
|
|
|
|
thumb_func_start sub_811C780
|
|
sub_811C780: @ 811C780
|
|
push {lr}
|
|
bl sub_811E088
|
|
movs r0, 0
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C780
|
|
|
|
thumb_func_start sub_811C78C
|
|
sub_811C78C: @ 811C78C
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811C7A4
|
|
cmp r0, 0x1
|
|
beq _0811C7B4
|
|
b _0811C7CA
|
|
.pool
|
|
_0811C7A4:
|
|
movs r0, 0x1
|
|
movs r1, 0x4
|
|
bl sub_811DDAC
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_0811C7B4:
|
|
bl sub_811DE10
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C7CA
|
|
bl sub_811E088
|
|
bl sub_811E64C
|
|
movs r0, 0
|
|
b _0811C7CC
|
|
_0811C7CA:
|
|
movs r0, 0x1
|
|
_0811C7CC:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C78C
|
|
|
|
thumb_func_start sub_811C7D4
|
|
sub_811C7D4: @ 811C7D4
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0811C808
|
|
cmp r0, 0x1
|
|
bgt _0811C7F0
|
|
cmp r0, 0
|
|
beq _0811C7F6
|
|
b _0811C828
|
|
.pool
|
|
_0811C7F0:
|
|
cmp r0, 0x2
|
|
beq _0811C820
|
|
b _0811C828
|
|
_0811C7F6:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0x4
|
|
bl sub_811DDAC
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_0811C808:
|
|
bl sub_811DE10
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C828
|
|
bl sub_811E64C
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_0811C820:
|
|
movs r0, 0
|
|
b _0811C82A
|
|
.pool
|
|
_0811C828:
|
|
movs r0, 0x1
|
|
_0811C82A:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C7D4
|
|
|
|
thumb_func_start sub_811C830
|
|
sub_811C830: @ 811C830
|
|
push {lr}
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x5
|
|
bhi _0811C8E8
|
|
lsls r0, 2
|
|
ldr r1, =_0811C850
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811C850:
|
|
.4byte _0811C868
|
|
.4byte _0811C876
|
|
.4byte _0811C886
|
|
.4byte _0811C898
|
|
.4byte _0811C8B8
|
|
.4byte _0811C8DE
|
|
_0811C868:
|
|
bl sub_811E050
|
|
bl sub_811E4AC
|
|
bl sub_811E6B0
|
|
b _0811C8A8
|
|
_0811C876:
|
|
bl sub_811E4D0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C8E8
|
|
bl sub_811D9B4
|
|
b _0811C8A8
|
|
_0811C886:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C8E8
|
|
movs r0, 0x2
|
|
bl sub_811D9CC
|
|
b _0811C8A8
|
|
_0811C898:
|
|
bl sub_811DAA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C8E8
|
|
movs r0, 0x2
|
|
bl sub_811D698
|
|
_0811C8A8:
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811C8E8
|
|
.pool
|
|
_0811C8B8:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C8E8
|
|
bl sub_811E288
|
|
movs r0, 0x1
|
|
bl sub_811E6E0
|
|
bl sub_811E64C
|
|
bl sub_811E794
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_0811C8DE:
|
|
movs r0, 0
|
|
b _0811C8EA
|
|
.pool
|
|
_0811C8E8:
|
|
movs r0, 0x1
|
|
_0811C8EA:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C830
|
|
|
|
thumb_func_start sub_811C8F0
|
|
sub_811C8F0: @ 811C8F0
|
|
push {lr}
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x5
|
|
bhi _0811C994
|
|
lsls r0, 2
|
|
ldr r1, =_0811C910
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811C910:
|
|
.4byte _0811C928
|
|
.4byte _0811C92E
|
|
.4byte _0811C940
|
|
.4byte _0811C952
|
|
.4byte _0811C974
|
|
.4byte _0811C98C
|
|
_0811C928:
|
|
bl sub_811D2C8
|
|
b _0811C962
|
|
_0811C92E:
|
|
bl sub_811E380
|
|
bl sub_811E6B0
|
|
bl sub_811E7F8
|
|
bl sub_811D9B4
|
|
b _0811C962
|
|
_0811C940:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C994
|
|
movs r0, 0x3
|
|
bl sub_811D9CC
|
|
b _0811C962
|
|
_0811C952:
|
|
bl sub_811DAA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C994
|
|
movs r0, 0
|
|
bl ShowBg
|
|
_0811C962:
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811C994
|
|
.pool
|
|
_0811C974:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C994
|
|
bl sub_811DFB0
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_0811C98C:
|
|
movs r0, 0
|
|
b _0811C996
|
|
.pool
|
|
_0811C994:
|
|
movs r0, 0x1
|
|
_0811C996:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C8F0
|
|
|
|
thumb_func_start sub_811C99C
|
|
sub_811C99C: @ 811C99C
|
|
push {lr}
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x6
|
|
bhi _0811CA54
|
|
lsls r0, 2
|
|
ldr r1, =_0811C9BC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811C9BC:
|
|
.4byte _0811C9D8
|
|
.4byte _0811C9DE
|
|
.4byte _0811C9F0
|
|
.4byte _0811CA02
|
|
.4byte _0811CA14
|
|
.4byte _0811CA34
|
|
.4byte _0811CA4C
|
|
_0811C9D8:
|
|
bl sub_811D2C8
|
|
b _0811CA24
|
|
_0811C9DE:
|
|
bl sub_811E380
|
|
bl sub_811E6B0
|
|
bl sub_811E7F8
|
|
bl sub_811D9B4
|
|
b _0811CA24
|
|
_0811C9F0:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811CA54
|
|
movs r0, 0x3
|
|
bl sub_811D9CC
|
|
b _0811CA24
|
|
_0811CA02:
|
|
bl sub_811DAA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811CA54
|
|
movs r0, 0x3
|
|
bl sub_811D104
|
|
b _0811CA24
|
|
_0811CA14:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811CA54
|
|
movs r0, 0
|
|
bl ShowBg
|
|
_0811CA24:
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811CA54
|
|
.pool
|
|
_0811CA34:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811CA54
|
|
bl sub_811DFB0
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_0811CA4C:
|
|
movs r0, 0
|
|
b _0811CA56
|
|
.pool
|
|
_0811CA54:
|
|
movs r0, 0x1
|
|
_0811CA56:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C99C
|
|
|
|
thumb_func_start sub_811CA5C
|
|
sub_811CA5C: @ 811CA5C
|
|
push {lr}
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x4
|
|
bhi _0811CB10
|
|
lsls r0, 2
|
|
ldr r1, =_0811CA7C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811CA7C:
|
|
.4byte _0811CA90
|
|
.4byte _0811CAA2
|
|
.4byte _0811CAB4
|
|
.4byte _0811CAC4
|
|
.4byte _0811CAE4
|
|
_0811CA90:
|
|
bl sub_811E380
|
|
bl sub_811E6B0
|
|
bl sub_811E7F8
|
|
bl sub_811D9B4
|
|
b _0811CAD2
|
|
_0811CAA2:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811CB10
|
|
movs r0, 0x4
|
|
bl sub_811D9CC
|
|
b _0811CAD2
|
|
_0811CAB4:
|
|
bl sub_811DAA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811CB10
|
|
bl sub_811D6D4
|
|
b _0811CAD2
|
|
_0811CAC4:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811CB10
|
|
bl sub_811E3AC
|
|
_0811CAD2:
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811CB10
|
|
.pool
|
|
_0811CAE4:
|
|
bl sub_811E418
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811CB10
|
|
bl sub_811DFC8
|
|
movs r0, 0
|
|
bl sub_811E6E0
|
|
bl sub_811E64C
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
movs r0, 0
|
|
b _0811CB12
|
|
.pool
|
|
_0811CB10:
|
|
movs r0, 0x1
|
|
_0811CB12:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811CA5C
|
|
|
|
thumb_func_start sub_811CB18
|
|
sub_811CB18: @ 811CB18
|
|
push {lr}
|
|
bl sub_811E30C
|
|
movs r0, 0
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811CB18
|
|
|
|
thumb_func_start sub_811CB24
|
|
sub_811CB24: @ 811CB24
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0811CB50
|
|
cmp r0, 0x1
|
|
bgt _0811CB40
|
|
cmp r0, 0
|
|
beq _0811CB4A
|
|
b _0811CB8E
|
|
.pool
|
|
_0811CB40:
|
|
cmp r0, 0x2
|
|
beq _0811CB6C
|
|
cmp r0, 0x3
|
|
beq _0811CB8A
|
|
b _0811CB8E
|
|
_0811CB4A:
|
|
bl sub_811D7A4
|
|
b _0811CB62
|
|
_0811CB50:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811CB8E
|
|
movs r0, 0x1
|
|
movs r1, 0x4
|
|
bl sub_811DDAC
|
|
_0811CB62:
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811CB8E
|
|
_0811CB6C:
|
|
bl sub_811DE10
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811CB8E
|
|
bl sub_811E30C
|
|
bl sub_811E64C
|
|
bl sub_811E794
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_0811CB8A:
|
|
movs r0, 0
|
|
b _0811CB90
|
|
_0811CB8E:
|
|
movs r0, 0x1
|
|
_0811CB90:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811CB24
|
|
|
|
thumb_func_start sub_811CB98
|
|
sub_811CB98: @ 811CB98
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0811CBC4
|
|
cmp r0, 0x1
|
|
bgt _0811CBB4
|
|
cmp r0, 0
|
|
beq _0811CBBE
|
|
b _0811CC00
|
|
.pool
|
|
_0811CBB4:
|
|
cmp r0, 0x2
|
|
beq _0811CBE2
|
|
cmp r0, 0x3
|
|
beq _0811CBFC
|
|
b _0811CC00
|
|
_0811CBBE:
|
|
bl sub_811D7C8
|
|
b _0811CBD8
|
|
_0811CBC4:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811CC00
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0x4
|
|
bl sub_811DDAC
|
|
_0811CBD8:
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811CC00
|
|
_0811CBE2:
|
|
bl sub_811DE10
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811CC00
|
|
bl sub_811E64C
|
|
bl sub_811E794
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_0811CBFC:
|
|
movs r0, 0
|
|
b _0811CC02
|
|
_0811CC00:
|
|
movs r0, 0x1
|
|
_0811CC02:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811CB98
|
|
|
|
thumb_func_start sub_811CC08
|
|
sub_811CC08: @ 811CC08
|
|
push {r4,r5,lr}
|
|
ldr r5, =0x0203a11c
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0811CC34
|
|
cmp r0, 0x1
|
|
bgt _0811CC24
|
|
cmp r0, 0
|
|
beq _0811CC2E
|
|
b _0811CC86
|
|
.pool
|
|
_0811CC24:
|
|
cmp r0, 0x2
|
|
beq _0811CC64
|
|
cmp r0, 0x3
|
|
beq _0811CC82
|
|
b _0811CC86
|
|
_0811CC2E:
|
|
bl sub_811D7EC
|
|
b _0811CC5A
|
|
_0811CC34:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811CC86
|
|
bl sub_811BBDC
|
|
adds r4, r0, 0
|
|
bl sub_811DE48
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
subs r4, r0
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl sub_811DDAC
|
|
_0811CC5A:
|
|
ldr r1, [r5]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811CC86
|
|
_0811CC64:
|
|
bl sub_811DE10
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811CC86
|
|
bl sub_811E30C
|
|
bl sub_811E64C
|
|
bl sub_811E794
|
|
ldr r1, [r5]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_0811CC82:
|
|
movs r0, 0
|
|
b _0811CC88
|
|
_0811CC86:
|
|
movs r0, 0x1
|
|
_0811CC88:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811CC08
|
|
|
|
thumb_func_start sub_811CC90
|
|
sub_811CC90: @ 811CC90
|
|
push {r4,r5,lr}
|
|
ldr r5, =0x0203a11c
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0811CCBC
|
|
cmp r0, 0x1
|
|
bgt _0811CCAC
|
|
cmp r0, 0
|
|
beq _0811CCB6
|
|
b _0811CD0A
|
|
.pool
|
|
_0811CCAC:
|
|
cmp r0, 0x2
|
|
beq _0811CCEC
|
|
cmp r0, 0x3
|
|
beq _0811CD06
|
|
b _0811CD0A
|
|
_0811CCB6:
|
|
bl sub_811D830
|
|
b _0811CCE2
|
|
_0811CCBC:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811CD0A
|
|
bl sub_811BBDC
|
|
adds r4, r0, 0
|
|
bl sub_811DE48
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
subs r4, r0
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl sub_811DDAC
|
|
_0811CCE2:
|
|
ldr r1, [r5]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811CD0A
|
|
_0811CCEC:
|
|
bl sub_811DE10
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811CD0A
|
|
bl sub_811E64C
|
|
bl sub_811E794
|
|
ldr r1, [r5]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_0811CD06:
|
|
movs r0, 0
|
|
b _0811CD0C
|
|
_0811CD0A:
|
|
movs r0, 0x1
|
|
_0811CD0C:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811CC90
|
|
|
|
thumb_func_start sub_811CD14
|
|
sub_811CD14: @ 811CD14
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811CD2C
|
|
cmp r0, 0x1
|
|
beq _0811CD40
|
|
b _0811CD4A
|
|
.pool
|
|
_0811CD2C:
|
|
bl sub_811DF90
|
|
movs r0, 0x4
|
|
bl sub_811D104
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811CD4A
|
|
_0811CD40:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811CD4C
|
|
_0811CD4A:
|
|
movs r0, 0x1
|
|
_0811CD4C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811CD14
|
|
|
|
thumb_func_start sub_811CD54
|
|
sub_811CD54: @ 811CD54
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811CD6C
|
|
cmp r0, 0x1
|
|
beq _0811CD80
|
|
b _0811CD8A
|
|
.pool
|
|
_0811CD6C:
|
|
bl sub_811DF90
|
|
movs r0, 0x5
|
|
bl sub_811D104
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811CD8A
|
|
_0811CD80:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811CD8C
|
|
_0811CD8A:
|
|
movs r0, 0x1
|
|
_0811CD8C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811CD54
|
|
|
|
thumb_func_start sub_811CD94
|
|
sub_811CD94: @ 811CD94
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811CDAC
|
|
cmp r0, 0x1
|
|
beq _0811CDC0
|
|
b _0811CDCA
|
|
.pool
|
|
_0811CDAC:
|
|
bl sub_811DF90
|
|
movs r0, 0x6
|
|
bl sub_811D104
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811CDCA
|
|
_0811CDC0:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811CDCC
|
|
_0811CDCA:
|
|
movs r0, 0x1
|
|
_0811CDCC:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811CD94
|
|
|
|
thumb_func_start sub_811CDD4
|
|
sub_811CDD4: @ 811CDD4
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811CDEC
|
|
cmp r0, 0x1
|
|
beq _0811CE00
|
|
b _0811CE0A
|
|
.pool
|
|
_0811CDEC:
|
|
bl sub_811DF90
|
|
movs r0, 0x7
|
|
bl sub_811D104
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811CE0A
|
|
_0811CE00:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811CE0C
|
|
_0811CE0A:
|
|
movs r0, 0x1
|
|
_0811CE0C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811CDD4
|
|
|
|
thumb_func_start sub_811CE14
|
|
sub_811CE14: @ 811CE14
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811CE2C
|
|
cmp r0, 0x1
|
|
beq _0811CE40
|
|
b _0811CE4A
|
|
.pool
|
|
_0811CE2C:
|
|
bl sub_811DF90
|
|
movs r0, 0x8
|
|
bl sub_811D104
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811CE4A
|
|
_0811CE40:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811CE4C
|
|
_0811CE4A:
|
|
movs r0, 0x1
|
|
_0811CE4C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811CE14
|
|
|
|
thumb_func_start sub_811CE54
|
|
sub_811CE54: @ 811CE54
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811CE6C
|
|
cmp r0, 0x1
|
|
beq _0811CE80
|
|
b _0811CE8A
|
|
.pool
|
|
_0811CE6C:
|
|
bl sub_811DF90
|
|
movs r0, 0x9
|
|
bl sub_811D104
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811CE8A
|
|
_0811CE80:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811CE8C
|
|
_0811CE8A:
|
|
movs r0, 0x1
|
|
_0811CE8C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811CE54
|
|
|
|
thumb_func_start sub_811CE94
|
|
sub_811CE94: @ 811CE94
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
movs r0, 0x98
|
|
lsls r0, 5
|
|
bl Alloc
|
|
adds r2, r0, 0
|
|
str r2, [r4]
|
|
cmp r2, 0
|
|
beq _0811CEFC
|
|
movs r1, 0
|
|
strh r1, [r2]
|
|
movs r3, 0xB6
|
|
lsls r3, 2
|
|
adds r0, r2, r3
|
|
str r1, [r0]
|
|
adds r3, 0x4
|
|
adds r0, r2, r3
|
|
str r1, [r0]
|
|
adds r3, 0x4
|
|
adds r0, r2, r3
|
|
str r1, [r0]
|
|
adds r3, 0x4
|
|
adds r0, r2, r3
|
|
str r1, [r0]
|
|
adds r3, 0x4
|
|
adds r0, r2, r3
|
|
str r1, [r0]
|
|
adds r3, 0x4
|
|
adds r0, r2, r3
|
|
str r1, [r0]
|
|
adds r3, 0x4
|
|
adds r0, r2, r3
|
|
str r1, [r0]
|
|
adds r3, 0x4
|
|
adds r0, r2, r3
|
|
str r1, [r0]
|
|
adds r3, 0x4
|
|
adds r0, r2, r3
|
|
str r1, [r0]
|
|
adds r3, 0x4
|
|
adds r0, r2, r3
|
|
str r1, [r0]
|
|
bl sub_811BC70
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0xA]
|
|
movs r0, 0x1
|
|
b _0811CEFE
|
|
.pool
|
|
_0811CEFC:
|
|
movs r0, 0
|
|
_0811CEFE:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811CE94
|
|
|
|
thumb_func_start sub_811CF04
|
|
sub_811CF04: @ 811CF04
|
|
push {lr}
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgX
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgY
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgX
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgY
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgX
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgY
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgX
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgY
|
|
movs r1, 0xC1
|
|
lsls r1, 6
|
|
movs r0, 0
|
|
bl SetGpuReg
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811CF04
|
|
|
|
thumb_func_start sub_811CF64
|
|
sub_811CF64: @ 811CF64
|
|
push {r4,lr}
|
|
bl sub_80A1A74
|
|
ldr r0, =gUnknown_08DCBDB0
|
|
movs r1, 0
|
|
movs r2, 0x20
|
|
bl gpu_pal_apply
|
|
ldr r0, =gUnknown_08597B14
|
|
movs r1, 0x10
|
|
movs r2, 0x20
|
|
bl gpu_pal_apply
|
|
ldr r0, =gUnknown_08597B34
|
|
movs r1, 0x40
|
|
movs r2, 0x20
|
|
bl gpu_pal_apply
|
|
ldr r0, =gUnknown_08597C1C
|
|
movs r1, 0xA0
|
|
movs r2, 0x8
|
|
bl gpu_pal_apply
|
|
ldr r4, =gUnknown_08597C24
|
|
adds r0, r4, 0
|
|
movs r1, 0xB0
|
|
movs r2, 0xC
|
|
bl gpu_pal_apply
|
|
adds r0, r4, 0
|
|
movs r1, 0xF0
|
|
movs r2, 0xC
|
|
bl gpu_pal_apply
|
|
adds r0, r4, 0
|
|
movs r1, 0x30
|
|
movs r2, 0xC
|
|
bl gpu_pal_apply
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811CF64
|
|
|
|
thumb_func_start sub_811CFCC
|
|
sub_811CFCC: @ 811CFCC
|
|
push {r4,r5,lr}
|
|
sub sp, 0x14
|
|
bl sub_811BA88
|
|
adds r5, r0, 0
|
|
cmp r5, 0
|
|
beq _0811D020
|
|
movs r0, 0x1
|
|
adds r1, r5, 0
|
|
movs r2, 0x90
|
|
bl GetStringCenterAlignXOffset
|
|
adds r4, r0, 0
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl FillWindowPixelBuffer
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
movs r0, 0xFF
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x2
|
|
str r0, [sp, 0xC]
|
|
movs r0, 0x3
|
|
str r0, [sp, 0x10]
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
adds r2, r5, 0
|
|
adds r3, r4, 0
|
|
bl sub_811D058
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
movs r1, 0x3
|
|
bl CopyWindowToVram
|
|
_0811D020:
|
|
add sp, 0x14
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811CFCC
|
|
|
|
thumb_func_start sub_811D028
|
|
sub_811D028: @ 811D028
|
|
push {r4-r6,lr}
|
|
sub sp, 0xC
|
|
ldr r4, [sp, 0x1C]
|
|
ldr r5, [sp, 0x20]
|
|
ldr r6, [sp, 0x24]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
str r4, [sp]
|
|
str r5, [sp, 0x4]
|
|
str r6, [sp, 0x8]
|
|
bl Print
|
|
add sp, 0xC
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811D028
|
|
|
|
thumb_func_start sub_811D058
|
|
sub_811D058: @ 811D058
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x10
|
|
mov r9, r3
|
|
ldr r3, [sp, 0x30]
|
|
ldr r4, [sp, 0x34]
|
|
mov r8, r4
|
|
ldr r7, [sp, 0x38]
|
|
mov r10, r7
|
|
ldr r5, [sp, 0x3C]
|
|
ldr r6, [sp, 0x40]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r4, r9
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
mov r9, r4
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
add r4, sp, 0xC
|
|
mov r7, r10
|
|
strb r7, [r4]
|
|
strb r5, [r4, 0x1]
|
|
strb r6, [r4, 0x2]
|
|
str r4, [sp]
|
|
mov r4, r8
|
|
lsls r4, 24
|
|
asrs r4, 24
|
|
str r4, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
mov r2, r9
|
|
bl box_print
|
|
add sp, 0x10
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811D058
|
|
|
|
thumb_func_start sub_811D0BC
|
|
sub_811D0BC: @ 811D0BC
|
|
push {lr}
|
|
sub sp, 0xC
|
|
movs r0, 0x20
|
|
str r0, [sp]
|
|
movs r0, 0x14
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x11
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl FillBgTilemapBufferRect
|
|
movs r0, 0x1
|
|
movs r1, 0x1
|
|
movs r2, 0xE0
|
|
bl sub_809882C
|
|
movs r0, 0x1
|
|
movs r1, 0x1
|
|
movs r2, 0xE
|
|
bl sub_8098858
|
|
movs r0, 0
|
|
bl sub_811D104
|
|
movs r0, 0x1
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811D0BC
|
|
|
|
thumb_func_start sub_811D104
|
|
sub_811D104: @ 811D104
|
|
push {lr}
|
|
sub sp, 0x14
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
movs r0, 0
|
|
str r0, [sp, 0x10]
|
|
str r0, [sp, 0xC]
|
|
cmp r1, 0x9
|
|
bhi _0811D1BC
|
|
lsls r0, r1, 2
|
|
ldr r1, =_0811D124
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811D124:
|
|
.4byte _0811D14C
|
|
.4byte _0811D16A
|
|
.4byte _0811D156
|
|
.4byte _0811D160
|
|
.4byte _0811D174
|
|
.4byte _0811D180
|
|
.4byte _0811D18C
|
|
.4byte _0811D19C
|
|
.4byte _0811D1A8
|
|
.4byte _0811D1B4
|
|
_0811D14C:
|
|
add r1, sp, 0x10
|
|
add r0, sp, 0xC
|
|
bl sub_811BAD0
|
|
b _0811D1BC
|
|
_0811D156:
|
|
add r1, sp, 0x10
|
|
add r0, sp, 0xC
|
|
bl sub_811BB40
|
|
b _0811D1BC
|
|
_0811D160:
|
|
add r1, sp, 0x10
|
|
add r0, sp, 0xC
|
|
bl sub_811BB08
|
|
b _0811D1BC
|
|
_0811D16A:
|
|
add r1, sp, 0x10
|
|
add r0, sp, 0xC
|
|
bl sub_811BB88
|
|
b _0811D1BC
|
|
_0811D174:
|
|
ldr r0, =gUnknown_085EC743
|
|
str r0, [sp, 0xC]
|
|
b _0811D1BC
|
|
.pool
|
|
_0811D180:
|
|
ldr r0, =gUnknown_085EC752
|
|
str r0, [sp, 0xC]
|
|
b _0811D1BC
|
|
.pool
|
|
_0811D18C:
|
|
ldr r0, =gUnknown_085EC4C9
|
|
str r0, [sp, 0xC]
|
|
ldr r0, =gUnknown_085EC4E9
|
|
b _0811D1BA
|
|
.pool
|
|
_0811D19C:
|
|
ldr r0, =gUnknown_085EC765
|
|
str r0, [sp, 0xC]
|
|
b _0811D1BC
|
|
.pool
|
|
_0811D1A8:
|
|
ldr r0, =gUnknown_085EC520
|
|
str r0, [sp, 0xC]
|
|
b _0811D1BC
|
|
.pool
|
|
_0811D1B4:
|
|
ldr r0, =gUnknown_085EC672
|
|
str r0, [sp, 0xC]
|
|
ldr r0, =gUnknown_085EC688
|
|
_0811D1BA:
|
|
str r0, [sp, 0x10]
|
|
_0811D1BC:
|
|
movs r0, 0x1
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
ldr r2, [sp, 0xC]
|
|
cmp r2, 0
|
|
beq _0811D1E0
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
movs r0, 0xFF
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x1
|
|
movs r1, 0x1
|
|
movs r3, 0
|
|
bl sub_811D028
|
|
_0811D1E0:
|
|
ldr r2, [sp, 0x10]
|
|
cmp r2, 0
|
|
beq _0811D1FC
|
|
movs r0, 0x11
|
|
str r0, [sp]
|
|
movs r0, 0xFF
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x1
|
|
movs r1, 0x1
|
|
movs r3, 0
|
|
bl sub_811D028
|
|
_0811D1FC:
|
|
movs r0, 0x1
|
|
movs r1, 0x3
|
|
bl CopyWindowToVram
|
|
add sp, 0x14
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811D104
|
|
|
|
thumb_func_start sub_811D214
|
|
sub_811D214: @ 811D214
|
|
push {lr}
|
|
adds r3, r0, 0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
ldr r0, =gUnknown_08597C84
|
|
movs r1, 0x1
|
|
movs r2, 0xE
|
|
bl CreateYesNoMenu
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811D214
|
|
|
|
thumb_func_start sub_811D230
|
|
sub_811D230: @ 811D230
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
bl sub_811BA68
|
|
lsls r0, 24
|
|
ldr r6, =0xffffff00
|
|
ldr r4, [sp]
|
|
ands r4, r6
|
|
movs r1, 0x3
|
|
orrs r4, r1
|
|
str r4, [sp]
|
|
ldr r1, =gUnknown_08597C30
|
|
lsrs r0, 22
|
|
adds r0, r1
|
|
ldrb r3, [r0]
|
|
lsls r1, r3, 27
|
|
lsrs r1, 19
|
|
ldr r5, =0xffff00ff
|
|
adds r2, r5, 0
|
|
ands r2, r4
|
|
orrs r2, r1
|
|
lsrs r3, 5
|
|
lsls r3, 16
|
|
ldr r1, =0xff00ffff
|
|
ands r2, r1
|
|
orrs r2, r3
|
|
str r2, [sp]
|
|
ldrb r3, [r0, 0x1]
|
|
lsls r3, 24
|
|
ldr r1, =0x00ffffff
|
|
ands r1, r2
|
|
orrs r1, r3
|
|
str r1, [sp]
|
|
ldrb r1, [r0, 0x2]
|
|
ldr r0, [sp, 0x4]
|
|
ands r0, r6
|
|
orrs r0, r1
|
|
ands r0, r5
|
|
movs r1, 0xB0
|
|
lsls r1, 4
|
|
orrs r0, r1
|
|
ldr r1, =0x0000ffff
|
|
ands r0, r1
|
|
movs r1, 0xD8
|
|
lsls r1, 15
|
|
orrs r0, r1
|
|
str r0, [sp, 0x4]
|
|
mov r0, sp
|
|
bl AddWindow
|
|
ldr r1, =0x0203a11c
|
|
ldr r1, [r1]
|
|
strh r0, [r1, 0x2]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl PutWindowTilemap
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811D230
|
|
|
|
thumb_func_start sub_811D2C8
|
|
sub_811D2C8: @ 811D2C8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x18
|
|
bl sub_811BA94
|
|
adds r4, r0, 0
|
|
bl sub_811BAAC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x10]
|
|
bl sub_811BAA0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x14]
|
|
bl sub_811BA68
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
movs r0, 0
|
|
mov r8, r0
|
|
cmp r6, 0x7
|
|
bne _0811D302
|
|
movs r1, 0x1
|
|
mov r8, r1
|
|
_0811D302:
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x2]
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
movs r7, 0
|
|
ldr r0, [sp, 0x14]
|
|
cmp r7, r0
|
|
bge _0811D402
|
|
_0811D316:
|
|
add r0, sp, 0xC
|
|
ldr r1, =gUnknown_08597C8C
|
|
movs r2, 0x4
|
|
bl memcpy
|
|
mov r1, r8
|
|
cmp r1, 0
|
|
beq _0811D32C
|
|
add r1, sp, 0xC
|
|
movs r0, 0x6
|
|
strb r0, [r1, 0x2]
|
|
_0811D32C:
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
adds r2, r1, 0
|
|
adds r2, 0xB
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0xB]
|
|
adds r0, r2, 0
|
|
add r1, sp, 0xC
|
|
bl AppendString
|
|
adds r2, r0, 0
|
|
movs r5, 0
|
|
lsls r0, r7, 4
|
|
mov r9, r0
|
|
adds r1, r7, 0x1
|
|
mov r10, r1
|
|
b _0811D3CE
|
|
.pool
|
|
_0811D358:
|
|
ldrh r0, [r4]
|
|
ldr r1, =0x0000ffff
|
|
cmp r0, r1
|
|
beq _0811D374
|
|
adds r1, r0, 0
|
|
adds r0, r2, 0
|
|
bl CopyEasyChatWord
|
|
adds r2, r0, 0
|
|
adds r4, 0x2
|
|
b _0811D3A2
|
|
.pool
|
|
_0811D374:
|
|
adds r4, 0x2
|
|
mov r0, r8
|
|
cmp r0, 0
|
|
bne _0811D3A8
|
|
adds r0, r2, 0
|
|
movs r1, 0
|
|
movs r2, 0x4
|
|
bl WriteColorChangeControlCode
|
|
adds r2, r0, 0
|
|
movs r1, 0xAE
|
|
movs r0, 0xB
|
|
_0811D38C:
|
|
strb r1, [r2]
|
|
adds r2, 0x1
|
|
subs r0, 0x1
|
|
cmp r0, 0
|
|
bge _0811D38C
|
|
adds r0, r2, 0
|
|
movs r1, 0
|
|
movs r2, 0x2
|
|
bl WriteColorChangeControlCode
|
|
adds r2, r0, 0
|
|
_0811D3A2:
|
|
mov r1, r8
|
|
cmp r1, 0
|
|
beq _0811D3AE
|
|
_0811D3A8:
|
|
add r1, sp, 0xC
|
|
movs r0, 0x3
|
|
strb r0, [r1, 0x2]
|
|
_0811D3AE:
|
|
adds r0, r2, 0
|
|
add r1, sp, 0xC
|
|
bl AppendString
|
|
adds r2, r0, 0
|
|
cmp r6, 0x2
|
|
beq _0811D3C4
|
|
cmp r6, 0x7
|
|
beq _0811D3C4
|
|
cmp r6, 0x8
|
|
bne _0811D3CC
|
|
_0811D3C4:
|
|
cmp r5, 0
|
|
bne _0811D3CC
|
|
cmp r7, 0x4
|
|
beq _0811D3D4
|
|
_0811D3CC:
|
|
adds r5, 0x1
|
|
_0811D3CE:
|
|
ldr r0, [sp, 0x10]
|
|
cmp r5, r0
|
|
blt _0811D358
|
|
_0811D3D4:
|
|
movs r0, 0xFF
|
|
strb r0, [r2]
|
|
ldr r0, =0x0203a11c
|
|
ldr r2, [r0]
|
|
ldrb r0, [r2, 0x2]
|
|
adds r2, 0xB
|
|
mov r1, r9
|
|
adds r1, 0x1
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
str r1, [sp]
|
|
movs r1, 0xFF
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0x1
|
|
movs r3, 0
|
|
bl sub_811D028
|
|
mov r7, r10
|
|
ldr r1, [sp, 0x14]
|
|
cmp r7, r1
|
|
blt _0811D316
|
|
_0811D402:
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x2]
|
|
movs r1, 0x3
|
|
bl CopyWindowToVram
|
|
add sp, 0x18
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811D2C8
|
|
|
|
thumb_func_start sub_811D424
|
|
sub_811D424: @ 811D424
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
mov r8, r0
|
|
bl sub_811BA68
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r2, =0x01000200
|
|
mov r0, sp
|
|
mov r1, r8
|
|
bl CpuFastSet
|
|
cmp r6, 0x2
|
|
beq _0811D450
|
|
cmp r6, 0x8
|
|
bne _0811D4D4
|
|
_0811D450:
|
|
ldr r0, =gUnknown_08597C30
|
|
lsls r2, r6, 2
|
|
adds r2, r0
|
|
ldrb r1, [r2]
|
|
lsls r3, r1, 27
|
|
lsrs r0, r3, 27
|
|
ldrb r4, [r2, 0x1]
|
|
adds r5, r0, r4
|
|
lsls r1, 24
|
|
lsrs r0, r1, 29
|
|
ldrb r2, [r2, 0x2]
|
|
adds r2, r0
|
|
mov r12, r2
|
|
adds r6, r0, 0
|
|
cmp r6, r12
|
|
blt _0811D472
|
|
b _0811D5D6
|
|
_0811D472:
|
|
mov r9, r3
|
|
_0811D474:
|
|
mov r0, r9
|
|
lsrs r3, r0, 27
|
|
subs r7, r3, 0x1
|
|
lsls r2, r6, 5
|
|
adds r0, r2, r7
|
|
lsls r0, 1
|
|
add r0, r8
|
|
ldr r4, =0x00001005
|
|
adds r1, r4, 0
|
|
strh r1, [r0]
|
|
adds r7, r3, 0
|
|
adds r3, r2, 0
|
|
adds r4, r6, 0x1
|
|
cmp r7, r5
|
|
bge _0811D4AE
|
|
movs r0, 0x80
|
|
lsls r0, 5
|
|
adds r2, r0, 0
|
|
lsls r1, r7, 1
|
|
lsls r0, r6, 6
|
|
add r0, r8
|
|
adds r0, r1, r0
|
|
subs r7, r5, r7
|
|
_0811D4A2:
|
|
strh r2, [r0]
|
|
adds r0, 0x2
|
|
subs r7, 0x1
|
|
cmp r7, 0
|
|
bne _0811D4A2
|
|
adds r7, r5, 0
|
|
_0811D4AE:
|
|
adds r0, r3, r7
|
|
lsls r0, 1
|
|
add r0, r8
|
|
ldr r2, =0x00001007
|
|
adds r1, r2, 0
|
|
strh r1, [r0]
|
|
adds r6, r4, 0
|
|
cmp r6, r12
|
|
blt _0811D474
|
|
b _0811D5D6
|
|
.pool
|
|
_0811D4D4:
|
|
ldr r4, =gUnknown_08597C30
|
|
mov r10, r4
|
|
lsls r6, 2
|
|
mov r9, r6
|
|
mov r3, r9
|
|
add r3, r10
|
|
ldrb r0, [r3]
|
|
lsls r2, r0, 24
|
|
lsrs r1, r2, 29
|
|
subs r6, r1, 0x1
|
|
lsls r0, 27
|
|
lsrs r4, r0, 27
|
|
subs r7, r4, 0x1
|
|
adds r0, r4, 0
|
|
ldrb r1, [r3, 0x1]
|
|
adds r5, r0, r1
|
|
lsrs r2, 29
|
|
ldrb r3, [r3, 0x2]
|
|
adds r3, r2
|
|
mov r12, r3
|
|
lsls r0, r6, 5
|
|
adds r0, r7
|
|
lsls r0, 1
|
|
add r0, r8
|
|
ldr r2, =0x00001001
|
|
adds r1, r2, 0
|
|
strh r1, [r0]
|
|
adds r7, r4, 0
|
|
cmp r7, r5
|
|
bge _0811D52A
|
|
ldr r4, =0x00001002
|
|
adds r2, r4, 0
|
|
lsls r1, r7, 1
|
|
lsls r0, r6, 6
|
|
add r0, r8
|
|
adds r1, r0
|
|
subs r7, r5, r7
|
|
_0811D51E:
|
|
strh r2, [r1]
|
|
adds r1, 0x2
|
|
subs r7, 0x1
|
|
cmp r7, 0
|
|
bne _0811D51E
|
|
adds r7, r5, 0
|
|
_0811D52A:
|
|
lsls r0, r6, 5
|
|
adds r0, r7
|
|
lsls r0, 1
|
|
add r0, r8
|
|
ldr r2, =0x00001003
|
|
adds r1, r2, 0
|
|
strh r1, [r0]
|
|
adds r6, 0x1
|
|
cmp r6, r12
|
|
bge _0811D590
|
|
ldr r0, =gUnknown_08597C30
|
|
add r0, r9
|
|
ldrb r0, [r0]
|
|
lsls r3, r0, 27
|
|
_0811D546:
|
|
lsrs r0, r3, 27
|
|
subs r7, r0, 0x1
|
|
lsls r1, r6, 5
|
|
adds r1, r7
|
|
lsls r1, 1
|
|
add r1, r8
|
|
ldr r4, =0x00001005
|
|
adds r2, r4, 0
|
|
strh r2, [r1]
|
|
adds r7, r0, 0
|
|
adds r4, r6, 0x1
|
|
cmp r7, r5
|
|
bge _0811D57C
|
|
movs r0, 0x80
|
|
lsls r0, 5
|
|
adds r2, r0, 0
|
|
lsls r1, r7, 1
|
|
lsls r0, r6, 6
|
|
add r0, r8
|
|
adds r1, r0
|
|
subs r7, r5, r7
|
|
_0811D570:
|
|
strh r2, [r1]
|
|
adds r1, 0x2
|
|
subs r7, 0x1
|
|
cmp r7, 0
|
|
bne _0811D570
|
|
adds r7, r5, 0
|
|
_0811D57C:
|
|
lsls r0, r6, 5
|
|
adds r0, r7
|
|
lsls r0, 1
|
|
add r0, r8
|
|
ldr r2, =0x00001007
|
|
adds r1, r2, 0
|
|
strh r1, [r0]
|
|
adds r6, r4, 0
|
|
cmp r6, r12
|
|
blt _0811D546
|
|
_0811D590:
|
|
mov r0, r9
|
|
add r0, r10
|
|
ldrb r2, [r0]
|
|
lsls r2, 27
|
|
lsrs r2, 27
|
|
subs r7, r2, 0x1
|
|
lsls r3, r6, 5
|
|
adds r0, r3, r7
|
|
lsls r0, 1
|
|
add r0, r8
|
|
ldr r4, =0x00001009
|
|
adds r1, r4, 0
|
|
strh r1, [r0]
|
|
adds r7, r2, 0
|
|
cmp r7, r5
|
|
bge _0811D5CA
|
|
ldr r0, =0x0000100a
|
|
adds r2, r0, 0
|
|
lsls r1, r7, 1
|
|
lsls r0, r6, 6
|
|
add r0, r8
|
|
adds r0, r1, r0
|
|
subs r7, r5, r7
|
|
_0811D5BE:
|
|
strh r2, [r0]
|
|
adds r0, 0x2
|
|
subs r7, 0x1
|
|
cmp r7, 0
|
|
bne _0811D5BE
|
|
adds r7, r5, 0
|
|
_0811D5CA:
|
|
adds r0, r3, r7
|
|
lsls r0, 1
|
|
add r0, r8
|
|
ldr r2, =0x0000100b
|
|
adds r1, r2, 0
|
|
strh r1, [r0]
|
|
_0811D5D6:
|
|
add sp, 0x4
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811D424
|
|
|
|
thumb_func_start sub_811D60C
|
|
sub_811D60C: @ 811D60C
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
movs r0, 0x3
|
|
bl GetBgTilemapBuffer
|
|
adds r4, r0, 0
|
|
bl sub_811BA68
|
|
lsls r0, 24
|
|
ldr r1, =gUnknown_08597C30
|
|
lsrs r0, 22
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x3]
|
|
cmp r1, 0x2
|
|
beq _0811D63E
|
|
cmp r1, 0x2
|
|
bgt _0811D638
|
|
cmp r1, 0x1
|
|
beq _0811D64C
|
|
b _0811D67C
|
|
.pool
|
|
_0811D638:
|
|
cmp r1, 0x3
|
|
beq _0811D668
|
|
b _0811D67C
|
|
_0811D63E:
|
|
movs r0, 0xA8
|
|
lsls r0, 3
|
|
adds r4, r0
|
|
movs r0, 0x20
|
|
str r0, [sp]
|
|
str r1, [sp, 0x4]
|
|
b _0811D65A
|
|
_0811D64C:
|
|
movs r0, 0xC0
|
|
lsls r0, 3
|
|
adds r4, r0
|
|
movs r0, 0x20
|
|
str r0, [sp]
|
|
movs r0, 0x2
|
|
str r0, [sp, 0x4]
|
|
_0811D65A:
|
|
movs r0, 0x3
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
movs r3, 0xB
|
|
bl CopyToBgTilemapBufferRect
|
|
b _0811D67C
|
|
_0811D668:
|
|
movs r0, 0x20
|
|
str r0, [sp]
|
|
movs r0, 0x4
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x3
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl CopyToBgTilemapBufferRect
|
|
_0811D67C:
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811D60C
|
|
|
|
thumb_func_start sub_811D684
|
|
sub_811D684: @ 811D684
|
|
push {lr}
|
|
movs r0, 0x2
|
|
bl PutWindowTilemap
|
|
movs r0, 0x2
|
|
bl CopyBgTilemapBufferToVram
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811D684
|
|
|
|
thumb_func_start sub_811D698
|
|
sub_811D698: @ 811D698
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
bl sub_811DD84
|
|
movs r0, 0x2
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
cmp r4, 0x1
|
|
beq _0811D6BC
|
|
cmp r4, 0x1
|
|
bcc _0811D6B6
|
|
cmp r4, 0x2
|
|
beq _0811D6C2
|
|
b _0811D6C6
|
|
_0811D6B6:
|
|
bl sub_811D6F4
|
|
b _0811D6C6
|
|
_0811D6BC:
|
|
bl sub_811D758
|
|
b _0811D6C6
|
|
_0811D6C2:
|
|
bl sub_811D794
|
|
_0811D6C6:
|
|
movs r0, 0x2
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811D698
|
|
|
|
thumb_func_start sub_811D6D4
|
|
sub_811D6D4: @ 811D6D4
|
|
push {lr}
|
|
bl sub_811BBB0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811D6E8
|
|
movs r0, 0
|
|
bl sub_811D698
|
|
b _0811D6EE
|
|
_0811D6E8:
|
|
movs r0, 0x1
|
|
bl sub_811D698
|
|
_0811D6EE:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811D6D4
|
|
|
|
thumb_func_start sub_811D6F4
|
|
sub_811D6F4: @ 811D6F4
|
|
push {r4-r7,lr}
|
|
sub sp, 0xC
|
|
movs r5, 0
|
|
movs r7, 0x61
|
|
_0811D6FC:
|
|
movs r4, 0
|
|
lsls r0, r7, 24
|
|
lsrs r6, r0, 24
|
|
_0811D702:
|
|
lsls r0, r5, 24
|
|
lsrs r0, 24
|
|
adds r5, 0x1
|
|
bl sub_811F3B8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x16
|
|
beq _0811D742
|
|
bl sub_811F424
|
|
adds r2, r0, 0
|
|
movs r0, 0x54
|
|
adds r3, r4, 0
|
|
muls r3, r0
|
|
adds r3, 0xA
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
str r6, [sp]
|
|
movs r0, 0xFF
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x2
|
|
movs r1, 0x1
|
|
bl sub_811D028
|
|
adds r4, 0x1
|
|
cmp r4, 0x1
|
|
ble _0811D702
|
|
adds r7, 0x10
|
|
b _0811D6FC
|
|
_0811D742:
|
|
bl sub_811BBBC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0
|
|
bl sub_811DDAC
|
|
add sp, 0xC
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811D6F4
|
|
|
|
thumb_func_start sub_811D758
|
|
sub_811D758: @ 811D758
|
|
push {r4-r6,lr}
|
|
sub sp, 0xC
|
|
movs r5, 0
|
|
movs r4, 0xC2
|
|
lsls r4, 23
|
|
ldr r6, =gUnknown_08597C90
|
|
_0811D764:
|
|
ldm r6!, {r2}
|
|
lsrs r0, r4, 24
|
|
str r0, [sp]
|
|
movs r0, 0xFF
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x2
|
|
movs r1, 0x1
|
|
movs r3, 0xA
|
|
bl sub_811D028
|
|
movs r0, 0x80
|
|
lsls r0, 21
|
|
adds r4, r0
|
|
adds r5, 0x1
|
|
cmp r5, 0x3
|
|
bls _0811D764
|
|
add sp, 0xC
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811D758
|
|
|
|
thumb_func_start sub_811D794
|
|
sub_811D794: @ 811D794
|
|
push {lr}
|
|
movs r0, 0
|
|
movs r1, 0x4
|
|
bl sub_811D864
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811D794
|
|
|
|
thumb_func_start sub_811D7A4
|
|
sub_811D7A4: @ 811D7A4
|
|
push {r4,lr}
|
|
bl sub_811BBDC
|
|
adds r4, r0, 0
|
|
adds r4, 0x3
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_811D950
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_811D864
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811D7A4
|
|
|
|
thumb_func_start sub_811D7C8
|
|
sub_811D7C8: @ 811D7C8
|
|
push {r4,lr}
|
|
bl sub_811BBDC
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_811D950
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_811D864
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811D7C8
|
|
|
|
thumb_func_start sub_811D7EC
|
|
sub_811D7EC: @ 811D7EC
|
|
push {r4,r5,lr}
|
|
bl sub_811BBDC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r5, r0, 0
|
|
adds r0, r5, 0x4
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_811BBE8
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r4, r0
|
|
bls _0811D80E
|
|
adds r4, r0, 0
|
|
_0811D80E:
|
|
cmp r5, r4
|
|
bcs _0811D828
|
|
subs r4, r5
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_811D950
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_811D864
|
|
_0811D828:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811D7EC
|
|
|
|
thumb_func_start sub_811D830
|
|
sub_811D830: @ 811D830
|
|
push {r4,r5,lr}
|
|
bl sub_811BBDC
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
bl sub_811DE48
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r5, r0
|
|
bcs _0811D85C
|
|
subs r4, r0, r5
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_811D950
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_811D864
|
|
_0811D85C:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811D830
|
|
|
|
thumb_func_start sub_811D864
|
|
sub_811D864: @ 811D864
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x18
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
str r1, [sp, 0x14]
|
|
lsls r1, r0, 1
|
|
mov r8, r1
|
|
lsls r0, 4
|
|
adds r1, r0, 0
|
|
adds r1, 0x60
|
|
movs r0, 0xFF
|
|
ands r1, r0
|
|
adds r1, 0x1
|
|
movs r0, 0
|
|
b _0811D930
|
|
_0811D88E:
|
|
movs r6, 0
|
|
movs r2, 0x10
|
|
adds r2, r1
|
|
mov r9, r2
|
|
adds r0, 0x1
|
|
mov r10, r0
|
|
lsls r0, r1, 24
|
|
lsrs r7, r0, 24
|
|
_0811D89E:
|
|
mov r1, r8
|
|
lsls r0, r1, 16
|
|
lsrs r0, 16
|
|
movs r2, 0x1
|
|
add r8, r2
|
|
bl sub_811F578
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
ldr r0, =0x0000ffff
|
|
cmp r4, r0
|
|
beq _0811D926
|
|
ldr r5, =0x0203a11c
|
|
ldr r0, [r5]
|
|
adds r0, 0xCC
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
bl CopyEasyChatWordPadded
|
|
adds r0, r4, 0
|
|
bl sub_811BF88
|
|
adds r1, r0, 0
|
|
cmp r1, 0
|
|
bne _0811D8FC
|
|
ldr r2, [r5]
|
|
adds r2, 0xCC
|
|
movs r0, 0xD
|
|
adds r3, r6, 0
|
|
muls r3, r0
|
|
adds r3, 0x3
|
|
lsls r3, 27
|
|
lsrs r3, 24
|
|
str r7, [sp]
|
|
movs r0, 0xFF
|
|
str r0, [sp, 0x4]
|
|
str r1, [sp, 0x8]
|
|
movs r0, 0x2
|
|
movs r1, 0x1
|
|
bl sub_811D028
|
|
b _0811D926
|
|
.pool
|
|
_0811D8FC:
|
|
ldr r2, [r5]
|
|
adds r2, 0xCC
|
|
movs r0, 0xD
|
|
adds r3, r6, 0
|
|
muls r3, r0
|
|
adds r3, 0x3
|
|
lsls r3, 27
|
|
lsrs r3, 24
|
|
str r7, [sp]
|
|
movs r0, 0xFF
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x5
|
|
str r0, [sp, 0xC]
|
|
movs r0, 0x3
|
|
str r0, [sp, 0x10]
|
|
movs r0, 0x2
|
|
movs r1, 0x1
|
|
bl sub_811D058
|
|
_0811D926:
|
|
adds r6, 0x1
|
|
cmp r6, 0x1
|
|
ble _0811D89E
|
|
mov r1, r9
|
|
mov r0, r10
|
|
_0811D930:
|
|
ldr r2, [sp, 0x14]
|
|
cmp r0, r2
|
|
blt _0811D88E
|
|
movs r0, 0x2
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
add sp, 0x18
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811D864
|
|
|
|
thumb_func_start sub_811D950
|
|
sub_811D950: @ 811D950
|
|
push {r4,r5,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsls r1, 24
|
|
lsrs r0, 20
|
|
adds r3, r0, 0
|
|
adds r3, 0x60
|
|
movs r0, 0xFF
|
|
ands r3, r0
|
|
lsrs r0, r1, 20
|
|
adds r1, r3, r0
|
|
cmp r1, 0xFF
|
|
ble _0811D97C
|
|
ldr r0, =0xffffff00
|
|
adds r4, r1, r0
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
subs r0, r3
|
|
b _0811D97E
|
|
.pool
|
|
_0811D97C:
|
|
movs r4, 0
|
|
_0811D97E:
|
|
movs r5, 0xE0
|
|
str r5, [sp]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x2
|
|
movs r1, 0x11
|
|
movs r2, 0
|
|
bl FillWindowPixelRect
|
|
cmp r4, 0
|
|
beq _0811D9AA
|
|
str r5, [sp]
|
|
lsls r0, r4, 16
|
|
lsrs r0, 16
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x2
|
|
movs r1, 0x11
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl FillWindowPixelRect
|
|
_0811D9AA:
|
|
add sp, 0x8
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811D950
|
|
|
|
thumb_func_start sub_811D9B4
|
|
sub_811D9B4: @ 811D9B4
|
|
push {lr}
|
|
movs r0, 0x2
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
movs r0, 0x2
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811D9B4
|
|
|
|
thumb_func_start sub_811D9CC
|
|
sub_811D9CC: @ 811D9CC
|
|
push {lr}
|
|
ldr r1, =0x0203a11c
|
|
cmp r0, 0x6
|
|
bhi _0811DA86
|
|
lsls r0, 2
|
|
ldr r1, =_0811D9E8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811D9E8:
|
|
.4byte _0811DA04
|
|
.4byte _0811DA18
|
|
.4byte _0811DA28
|
|
.4byte _0811DA3C
|
|
.4byte _0811DA50
|
|
.4byte _0811DA64
|
|
.4byte _0811DA78
|
|
_0811DA04:
|
|
ldr r1, =0x0203a11c
|
|
ldr r2, [r1]
|
|
movs r0, 0
|
|
strb r0, [r2, 0x6]
|
|
ldr r2, [r1]
|
|
movs r0, 0xA
|
|
b _0811DA84
|
|
.pool
|
|
_0811DA18:
|
|
ldr r1, =0x0203a11c
|
|
ldr r2, [r1]
|
|
movs r3, 0
|
|
movs r0, 0x9
|
|
b _0811DA44
|
|
.pool
|
|
_0811DA28:
|
|
ldr r1, =0x0203a11c
|
|
ldr r2, [r1]
|
|
movs r0, 0xB
|
|
strb r0, [r2, 0x6]
|
|
ldr r2, [r1]
|
|
movs r0, 0x11
|
|
b _0811DA84
|
|
.pool
|
|
_0811DA3C:
|
|
ldr r1, =0x0203a11c
|
|
ldr r2, [r1]
|
|
movs r3, 0
|
|
movs r0, 0x11
|
|
_0811DA44:
|
|
strb r0, [r2, 0x6]
|
|
ldr r0, [r1]
|
|
strb r3, [r0, 0x7]
|
|
b _0811DA86
|
|
.pool
|
|
_0811DA50:
|
|
ldr r1, =0x0203a11c
|
|
ldr r2, [r1]
|
|
movs r0, 0x11
|
|
strb r0, [r2, 0x6]
|
|
ldr r2, [r1]
|
|
movs r0, 0xA
|
|
b _0811DA84
|
|
.pool
|
|
_0811DA64:
|
|
ldr r1, =0x0203a11c
|
|
ldr r2, [r1]
|
|
movs r0, 0x12
|
|
strb r0, [r2, 0x6]
|
|
ldr r2, [r1]
|
|
movs r0, 0x16
|
|
b _0811DA84
|
|
.pool
|
|
_0811DA78:
|
|
ldr r1, =0x0203a11c
|
|
ldr r2, [r1]
|
|
movs r0, 0x16
|
|
strb r0, [r2, 0x6]
|
|
ldr r2, [r1]
|
|
movs r0, 0x12
|
|
_0811DA84:
|
|
strb r0, [r2, 0x7]
|
|
_0811DA86:
|
|
ldr r1, [r1]
|
|
ldrb r0, [r1, 0x6]
|
|
movs r3, 0x1
|
|
negs r3, r3
|
|
adds r2, r3, 0
|
|
ldrb r3, [r1, 0x7]
|
|
cmp r0, r3
|
|
bcs _0811DA98
|
|
movs r2, 0x1
|
|
_0811DA98:
|
|
strb r2, [r1, 0x8]
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811D9CC
|
|
|
|
thumb_func_start sub_811DAA4
|
|
sub_811DAA4: @ 811DAA4
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r1, [r4]
|
|
ldrb r2, [r1, 0x6]
|
|
ldrb r0, [r1, 0x7]
|
|
cmp r2, r0
|
|
beq _0811DAD4
|
|
ldrb r0, [r1, 0x8]
|
|
adds r0, r2, r0
|
|
strb r0, [r1, 0x6]
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x6]
|
|
bl sub_811DADC
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, 0x6]
|
|
ldrb r0, [r0, 0x7]
|
|
eors r1, r0
|
|
negs r0, r1
|
|
orrs r0, r1
|
|
lsrs r0, 31
|
|
b _0811DAD6
|
|
.pool
|
|
_0811DAD4:
|
|
movs r0, 0
|
|
_0811DAD6:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811DAA4
|
|
|
|
thumb_func_start sub_811DADC
|
|
sub_811DADC: @ 811DADC
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r0, 0x1E
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0xA
|
|
bl FillBgTilemapBufferRect_Palette0
|
|
cmp r4, 0x16
|
|
bls _0811DAFE
|
|
b _0811DC1A
|
|
_0811DAFE:
|
|
lsls r0, r4, 2
|
|
ldr r1, =_0811DB0C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811DB0C:
|
|
.4byte _0811DC1A
|
|
.4byte _0811DB68
|
|
.4byte _0811DB70
|
|
.4byte _0811DB78
|
|
.4byte _0811DB80
|
|
.4byte _0811DB88
|
|
.4byte _0811DB90
|
|
.4byte _0811DC00
|
|
.4byte _0811DBF2
|
|
.4byte _0811DBE4
|
|
.4byte _0811DBD6
|
|
.4byte _0811DB9E
|
|
.4byte _0811DBA6
|
|
.4byte _0811DBAE
|
|
.4byte _0811DBB6
|
|
.4byte _0811DBBE
|
|
.4byte _0811DBC6
|
|
.4byte _0811DBCE
|
|
.4byte _0811DBD6
|
|
.4byte _0811DBE4
|
|
.4byte _0811DBF2
|
|
.4byte _0811DC00
|
|
.4byte _0811DC0E
|
|
_0811DB68:
|
|
movs r0, 0xB
|
|
movs r1, 0xE
|
|
movs r2, 0x3
|
|
b _0811DB96
|
|
_0811DB70:
|
|
movs r0, 0x9
|
|
movs r1, 0xE
|
|
movs r2, 0x7
|
|
b _0811DB96
|
|
_0811DB78:
|
|
movs r0, 0x7
|
|
movs r1, 0xE
|
|
movs r2, 0xB
|
|
b _0811DB96
|
|
_0811DB80:
|
|
movs r0, 0x5
|
|
movs r1, 0xE
|
|
movs r2, 0xF
|
|
b _0811DB96
|
|
_0811DB88:
|
|
movs r0, 0x3
|
|
movs r1, 0xE
|
|
movs r2, 0x13
|
|
b _0811DB96
|
|
_0811DB90:
|
|
movs r0, 0x1
|
|
movs r1, 0xE
|
|
movs r2, 0x17
|
|
_0811DB96:
|
|
movs r3, 0x2
|
|
bl sub_811DC28
|
|
b _0811DC1A
|
|
_0811DB9E:
|
|
movs r0, 0x1
|
|
movs r1, 0xA
|
|
movs r2, 0x18
|
|
b _0811DBDC
|
|
_0811DBA6:
|
|
movs r0, 0x1
|
|
movs r1, 0xA
|
|
movs r2, 0x19
|
|
b _0811DBDC
|
|
_0811DBAE:
|
|
movs r0, 0x1
|
|
movs r1, 0xA
|
|
movs r2, 0x1A
|
|
b _0811DBDC
|
|
_0811DBB6:
|
|
movs r0, 0x1
|
|
movs r1, 0xA
|
|
movs r2, 0x1B
|
|
b _0811DBDC
|
|
_0811DBBE:
|
|
movs r0, 0x1
|
|
movs r1, 0xA
|
|
movs r2, 0x1C
|
|
b _0811DBDC
|
|
_0811DBC6:
|
|
movs r0, 0x1
|
|
movs r1, 0xA
|
|
movs r2, 0x1D
|
|
b _0811DBDC
|
|
_0811DBCE:
|
|
movs r0, 0
|
|
movs r1, 0xA
|
|
movs r2, 0x1E
|
|
b _0811DBDC
|
|
_0811DBD6:
|
|
movs r0, 0x1
|
|
movs r1, 0xA
|
|
movs r2, 0x17
|
|
_0811DBDC:
|
|
movs r3, 0xA
|
|
bl sub_811DC28
|
|
b _0811DC1A
|
|
_0811DBE4:
|
|
movs r0, 0x1
|
|
movs r1, 0xB
|
|
movs r2, 0x17
|
|
movs r3, 0x8
|
|
bl sub_811DC28
|
|
b _0811DC1A
|
|
_0811DBF2:
|
|
movs r0, 0x1
|
|
movs r1, 0xC
|
|
movs r2, 0x17
|
|
movs r3, 0x6
|
|
bl sub_811DC28
|
|
b _0811DC1A
|
|
_0811DC00:
|
|
movs r0, 0x1
|
|
movs r1, 0xD
|
|
movs r2, 0x17
|
|
movs r3, 0x4
|
|
bl sub_811DC28
|
|
b _0811DC1A
|
|
_0811DC0E:
|
|
movs r0, 0x1
|
|
movs r1, 0xE
|
|
movs r2, 0x17
|
|
movs r3, 0x2
|
|
bl sub_811DC28
|
|
_0811DC1A:
|
|
movs r0, 0x1
|
|
bl CopyBgTilemapBufferToVram
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811DADC
|
|
|
|
thumb_func_start sub_811DC28
|
|
sub_811DC28: @ 811DC28
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
mov r12, r0
|
|
adds r7, r1, 0
|
|
mov r9, r2
|
|
mov r10, r3
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
movs r1, 0xC0
|
|
lsls r1, 2
|
|
adds r6, r0, r1
|
|
mov r0, r12
|
|
add r0, r9
|
|
subs r5, r0, 0x1
|
|
adds r0, r7, r3
|
|
subs r0, 0x1
|
|
mov r8, r0
|
|
mov r2, r12
|
|
adds r3, r7, 0
|
|
lsls r0, r3, 5
|
|
adds r0, r2
|
|
lsls r0, 1
|
|
adds r0, r6
|
|
ldr r4, =0x00004001
|
|
adds r1, r4, 0
|
|
strh r1, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, r5
|
|
bge _0811DC84
|
|
ldr r0, =0x00004002
|
|
adds r4, r0, 0
|
|
lsls r1, r2, 1
|
|
lsls r0, r3, 6
|
|
adds r0, r6
|
|
adds r1, r0
|
|
subs r2, r5, r2
|
|
_0811DC78:
|
|
strh r4, [r1]
|
|
adds r1, 0x2
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bne _0811DC78
|
|
adds r2, r5, 0
|
|
_0811DC84:
|
|
lsls r0, r3, 5
|
|
adds r0, r2
|
|
lsls r0, 1
|
|
adds r0, r6
|
|
ldr r2, =0x00004003
|
|
adds r1, r2, 0
|
|
strh r1, [r0]
|
|
adds r3, 0x1
|
|
mov r4, r12
|
|
adds r4, 0x1
|
|
adds r0, r7, 0x1
|
|
str r0, [sp, 0x4]
|
|
mov r1, r9
|
|
subs r1, 0x2
|
|
str r1, [sp]
|
|
movs r2, 0x2
|
|
negs r2, r2
|
|
add r10, r2
|
|
cmp r3, r8
|
|
bge _0811DCF4
|
|
lsls r7, r4, 1
|
|
mov r9, r7
|
|
_0811DCB0:
|
|
lsls r0, r3, 5
|
|
add r0, r12
|
|
lsls r0, 1
|
|
adds r0, r6
|
|
ldr r2, =0x00004005
|
|
adds r1, r2, 0
|
|
strh r1, [r0]
|
|
adds r2, r4, 0
|
|
adds r7, r3, 0x1
|
|
cmp r4, r5
|
|
bge _0811DCE0
|
|
movs r0, 0x80
|
|
lsls r0, 7
|
|
adds r1, r0, 0
|
|
lsls r0, r3, 6
|
|
adds r0, r6
|
|
add r0, r9
|
|
subs r2, r5, r4
|
|
_0811DCD4:
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bne _0811DCD4
|
|
adds r2, r5, 0
|
|
_0811DCE0:
|
|
lsls r0, r3, 5
|
|
adds r0, r2
|
|
lsls r0, 1
|
|
adds r0, r6
|
|
ldr r2, =0x00004007
|
|
adds r1, r2, 0
|
|
strh r1, [r0]
|
|
adds r3, r7, 0
|
|
cmp r3, r8
|
|
blt _0811DCB0
|
|
_0811DCF4:
|
|
lsls r0, r3, 5
|
|
mov r7, r12
|
|
adds r1, r0, r7
|
|
lsls r1, 1
|
|
adds r1, r6
|
|
ldr r7, =0x00004009
|
|
adds r2, r7, 0
|
|
strh r2, [r1]
|
|
adds r2, r4, 0
|
|
mov r12, r0
|
|
cmp r4, r5
|
|
bge _0811DD26
|
|
ldr r0, =0x0000400a
|
|
adds r7, r0, 0
|
|
lsls r1, r4, 1
|
|
lsls r0, r3, 6
|
|
adds r0, r6
|
|
adds r0, r1, r0
|
|
subs r2, r5, r4
|
|
_0811DD1A:
|
|
strh r7, [r0]
|
|
adds r0, 0x2
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bne _0811DD1A
|
|
adds r2, r5, 0
|
|
_0811DD26:
|
|
mov r1, r12
|
|
adds r0, r1, r2
|
|
lsls r0, 1
|
|
adds r0, r6
|
|
ldr r2, =0x0000400b
|
|
adds r1, r2, 0
|
|
strh r1, [r0]
|
|
lsls r0, r4, 27
|
|
lsrs r0, 24
|
|
ldr r3, [sp, 0x4]
|
|
lsls r1, r3, 27
|
|
lsrs r1, 24
|
|
ldr r4, [sp]
|
|
lsls r2, r4, 27
|
|
lsrs r2, 24
|
|
mov r7, r10
|
|
lsls r3, r7, 27
|
|
lsrs r3, 24
|
|
bl sub_811DE5C
|
|
add sp, 0x8
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811DC28
|
|
|
|
thumb_func_start sub_811DD84
|
|
sub_811DD84: @ 811DD84
|
|
push {lr}
|
|
movs r1, 0x80
|
|
lsls r1, 4
|
|
movs r0, 0x2
|
|
movs r2, 0
|
|
bl ChangeBgY
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
ldr r1, =0x000002ce
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811DD84
|
|
|
|
thumb_func_start sub_811DDAC
|
|
sub_811DDAC: @ 811DDAC
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
movs r0, 0x2
|
|
bl GetBgY
|
|
adds r2, r0, 0
|
|
ldr r0, =0x0203a11c
|
|
ldr r3, [r0]
|
|
ldr r0, =0x000002ce
|
|
adds r1, r3, r0
|
|
ldrh r0, [r1]
|
|
adds r0, r4
|
|
strh r0, [r1]
|
|
lsls r4, 20
|
|
asrs r4, 16
|
|
lsls r0, r4, 8
|
|
adds r2, r0
|
|
cmp r5, 0
|
|
beq _0811DE00
|
|
movs r1, 0xB4
|
|
lsls r1, 2
|
|
adds r0, r3, r1
|
|
str r2, [r0]
|
|
movs r0, 0xB5
|
|
lsls r0, 2
|
|
adds r1, r3, r0
|
|
lsls r0, r5, 8
|
|
str r0, [r1]
|
|
cmp r4, 0
|
|
bge _0811DE0A
|
|
negs r0, r0
|
|
str r0, [r1]
|
|
b _0811DE0A
|
|
.pool
|
|
_0811DE00:
|
|
movs r0, 0x2
|
|
adds r1, r2, 0
|
|
movs r2, 0
|
|
bl ChangeBgY
|
|
_0811DE0A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811DDAC
|
|
|
|
thumb_func_start sub_811DE10
|
|
sub_811DE10: @ 811DE10
|
|
push {lr}
|
|
movs r0, 0x2
|
|
bl GetBgY
|
|
ldr r1, =0x0203a11c
|
|
ldr r2, [r1]
|
|
movs r3, 0xB4
|
|
lsls r3, 2
|
|
adds r1, r2, r3
|
|
ldr r1, [r1]
|
|
cmp r0, r1
|
|
beq _0811DE40
|
|
movs r1, 0xB5
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
ldr r1, [r0]
|
|
movs r0, 0x2
|
|
movs r2, 0x1
|
|
bl ChangeBgY
|
|
movs r0, 0x1
|
|
b _0811DE42
|
|
.pool
|
|
_0811DE40:
|
|
movs r0, 0
|
|
_0811DE42:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811DE10
|
|
|
|
thumb_func_start sub_811DE48
|
|
sub_811DE48: @ 811DE48
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
ldr r1, =0x000002ce
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811DE48
|
|
|
|
thumb_func_start sub_811DE5C
|
|
sub_811DE5C: @ 811DE5C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
lsls r4, r0, 8
|
|
adds r0, r2
|
|
orrs r4, r0
|
|
lsls r5, r1, 8
|
|
adds r1, r3
|
|
orrs r5, r1
|
|
movs r0, 0x40
|
|
adds r1, r4, 0
|
|
bl SetGpuReg
|
|
movs r0, 0x44
|
|
adds r1, r5, 0
|
|
bl SetGpuReg
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811DE5C
|
|
|
|
thumb_func_start sub_811DE90
|
|
sub_811DE90: @ 811DE90
|
|
push {r4,r5,lr}
|
|
ldr r0, =gUnknown_08597CA0
|
|
bl LoadObjectPics
|
|
ldr r0, =gUnknown_08597CC0
|
|
bl LoadTaggedObjectPalettes
|
|
movs r5, 0
|
|
ldr r4, =gUnknown_08597CE8
|
|
_0811DEA2:
|
|
adds r0, r4, 0
|
|
bl LoadCompressedObjectPic
|
|
adds r4, 0x8
|
|
adds r5, 0x1
|
|
cmp r5, 0x3
|
|
bls _0811DEA2
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811DE90
|
|
|
|
thumb_func_start sub_811DEC4
|
|
sub_811DEC4: @ 811DEC4
|
|
push {lr}
|
|
bl sub_811BA68
|
|
lsls r0, 24
|
|
ldr r1, =gUnknown_08597C30
|
|
lsrs r0, 22
|
|
adds r0, r1
|
|
ldrb r2, [r0]
|
|
lsls r1, r2, 27
|
|
lsrs r1, 8
|
|
lsrs r2, 5
|
|
lsls r2, 19
|
|
ldr r0, =gUnknown_08597D18
|
|
movs r3, 0xD0
|
|
lsls r3, 12
|
|
adds r1, r3
|
|
asrs r1, 16
|
|
movs r3, 0x80
|
|
lsls r3, 12
|
|
adds r2, r3
|
|
asrs r2, 16
|
|
movs r3, 0x2
|
|
bl AddObjectToFront
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, =0x0203a11c
|
|
ldr r2, [r1]
|
|
movs r1, 0xB6
|
|
lsls r1, 2
|
|
adds r2, r1
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
ldr r0, =0x02020630
|
|
adds r1, r0
|
|
str r1, [r2]
|
|
movs r0, 0x1
|
|
strh r0, [r1, 0x30]
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811DEC4
|
|
|
|
thumb_func_start sub_811DF28
|
|
sub_811DF28: @ 811DF28
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
movs r2, 0x30
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0
|
|
beq _0811DF56
|
|
ldrh r0, [r1, 0x2E]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x2E]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x2
|
|
ble _0811DF56
|
|
movs r0, 0
|
|
strh r0, [r1, 0x2E]
|
|
ldrh r0, [r1, 0x24]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x24]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
ble _0811DF56
|
|
ldr r0, =0x0000fffa
|
|
strh r0, [r1, 0x24]
|
|
_0811DF56:
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811DF28
|
|
|
|
thumb_func_start sub_811DF60
|
|
sub_811DF60: @ 811DF60
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r2, =0x0203a11c
|
|
ldr r2, [r2]
|
|
movs r3, 0xB6
|
|
lsls r3, 2
|
|
adds r2, r3
|
|
ldr r3, [r2]
|
|
movs r4, 0
|
|
strh r0, [r3, 0x20]
|
|
ldr r0, [r2]
|
|
strh r1, [r0, 0x22]
|
|
ldr r0, [r2]
|
|
strh r4, [r0, 0x24]
|
|
ldr r0, [r2]
|
|
strh r4, [r0, 0x2E]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811DF60
|
|
|
|
thumb_func_start sub_811DF90
|
|
sub_811DF90: @ 811DF90
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
movs r0, 0xB6
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
movs r2, 0
|
|
strh r2, [r0, 0x2E]
|
|
ldr r0, [r1]
|
|
strh r2, [r0, 0x30]
|
|
ldr r0, [r1]
|
|
strh r2, [r0, 0x24]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811DF90
|
|
|
|
thumb_func_start sub_811DFB0
|
|
sub_811DFB0: @ 811DFB0
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
movs r1, 0xB6
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strh r0, [r1, 0x30]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811DFB0
|
|
|
|
thumb_func_start sub_811DFC8
|
|
sub_811DFC8: @ 811DFC8
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
ldr r6, =gUnknown_08597D68
|
|
adds r0, r6, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
bl AddObjectToFront
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r5, =0x0203a11c
|
|
ldr r2, [r5]
|
|
movs r1, 0xB7
|
|
lsls r1, 2
|
|
mov r8, r1
|
|
add r2, r8
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
ldr r4, =0x02020630
|
|
adds r1, r4
|
|
str r1, [r2]
|
|
movs r0, 0x20
|
|
strh r0, [r1, 0x24]
|
|
adds r0, r6, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
bl AddObjectToFront
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, [r5]
|
|
movs r1, 0xB8
|
|
lsls r1, 2
|
|
adds r3, r2, r1
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
str r1, [r3]
|
|
ldr r0, =0x0000ffe0
|
|
strh r0, [r1, 0x24]
|
|
add r2, r8
|
|
ldr r1, [r2]
|
|
adds r1, 0x3F
|
|
ldrb r0, [r1]
|
|
movs r2, 0x1
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
bl sub_811E088
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811DFC8
|
|
|
|
thumb_func_start sub_811E050
|
|
sub_811E050: @ 811E050
|
|
push {r4-r6,lr}
|
|
ldr r5, =0x0203a11c
|
|
ldr r0, [r5]
|
|
movs r4, 0xB7
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
bl RemoveObjectAndFreeTiles
|
|
ldr r0, [r5]
|
|
adds r4, r0, r4
|
|
movs r6, 0
|
|
str r6, [r4]
|
|
movs r4, 0xB8
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
bl RemoveObjectAndFreeTiles
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
str r6, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E050
|
|
|
|
thumb_func_start sub_811E088
|
|
sub_811E088: @ 811E088
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
movs r2, 0xB7
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811E0E4
|
|
adds r2, 0x4
|
|
adds r0, r1, r2
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811E0E4
|
|
mov r4, sp
|
|
adds r4, 0x1
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
bl sub_811BB9C
|
|
bl sub_811BBB0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811E0D4
|
|
mov r0, sp
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
movs r1, 0
|
|
ldrsb r1, [r4, r1]
|
|
bl sub_811E0EC
|
|
b _0811E0E4
|
|
.pool
|
|
_0811E0D4:
|
|
mov r0, sp
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
movs r1, 0
|
|
ldrsb r1, [r4, r1]
|
|
bl sub_811E1A4
|
|
_0811E0E4:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811E088
|
|
|
|
thumb_func_start sub_811E0EC
|
|
sub_811E0EC: @ 811E0EC
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r1, 24
|
|
lsrs r7, r1, 24
|
|
lsls r0, 24
|
|
asrs r5, r0, 24
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r5, r0
|
|
beq _0811E150
|
|
ldr r0, =0x0203a11c
|
|
mov r8, r0
|
|
ldr r0, [r0]
|
|
movs r4, 0xB7
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
movs r1, 0
|
|
bl StartObjectImageAnim
|
|
mov r2, r8
|
|
ldr r1, [r2]
|
|
adds r4, r1, r4
|
|
ldr r2, [r4]
|
|
movs r0, 0x54
|
|
muls r5, r0
|
|
adds r5, 0x3A
|
|
strh r5, [r2, 0x20]
|
|
ldr r0, [r4]
|
|
lsls r4, r7, 24
|
|
asrs r4, 20
|
|
adds r4, 0x60
|
|
strh r4, [r0, 0x22]
|
|
movs r6, 0xB8
|
|
lsls r6, 2
|
|
adds r1, r6
|
|
ldr r0, [r1]
|
|
movs r1, 0
|
|
bl StartObjectImageAnim
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
adds r0, r6
|
|
ldr r1, [r0]
|
|
strh r5, [r1, 0x20]
|
|
b _0811E192
|
|
.pool
|
|
_0811E150:
|
|
ldr r6, =0x0203a11c
|
|
ldr r0, [r6]
|
|
movs r4, 0xB7
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
bl StartObjectImageAnim
|
|
ldr r1, [r6]
|
|
adds r4, r1, r4
|
|
ldr r0, [r4]
|
|
movs r2, 0xD8
|
|
mov r8, r2
|
|
mov r2, r8
|
|
strh r2, [r0, 0x20]
|
|
ldr r0, [r4]
|
|
lsls r4, r7, 24
|
|
asrs r4, 20
|
|
adds r4, 0x70
|
|
strh r4, [r0, 0x22]
|
|
movs r5, 0xB8
|
|
lsls r5, 2
|
|
adds r1, r5
|
|
ldr r0, [r1]
|
|
movs r1, 0x1
|
|
bl StartObjectImageAnim
|
|
ldr r0, [r6]
|
|
adds r0, r5
|
|
ldr r1, [r0]
|
|
mov r2, r8
|
|
strh r2, [r1, 0x20]
|
|
_0811E192:
|
|
ldr r0, [r0]
|
|
strh r4, [r0, 0x22]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E0EC
|
|
|
|
thumb_func_start sub_811E1A4
|
|
sub_811E1A4: @ 811E1A4
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
lsrs r4, r0, 24
|
|
asrs r2, r0, 24
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r2, r0
|
|
beq _0811E234
|
|
lsls r0, r5, 24
|
|
asrs r1, r0, 24
|
|
lsls r0, r1, 4
|
|
adds r0, 0x60
|
|
mov r8, r0
|
|
movs r7, 0x20
|
|
cmp r2, 0x6
|
|
bne _0811E1D6
|
|
cmp r1, 0
|
|
bne _0811E1D6
|
|
movs r7, 0x9E
|
|
movs r6, 0x2
|
|
b _0811E1EC
|
|
_0811E1D6:
|
|
ldr r3, =gUnknown_08597D08
|
|
lsls r1, r4, 24
|
|
lsrs r0, r1, 24
|
|
movs r2, 0
|
|
cmp r0, 0x6
|
|
bhi _0811E1E4
|
|
asrs r2, r1, 24
|
|
_0811E1E4:
|
|
adds r0, r2, r3
|
|
ldrb r0, [r0]
|
|
adds r7, r0
|
|
movs r6, 0x3
|
|
_0811E1EC:
|
|
ldr r5, =0x0203a11c
|
|
ldr r0, [r5]
|
|
movs r4, 0xB7
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
adds r1, r6, 0
|
|
bl StartObjectImageAnim
|
|
ldr r1, [r5]
|
|
adds r4, r1, r4
|
|
ldr r0, [r4]
|
|
strh r7, [r0, 0x20]
|
|
ldr r0, [r4]
|
|
mov r2, r8
|
|
strh r2, [r0, 0x22]
|
|
movs r4, 0xB8
|
|
lsls r4, 2
|
|
adds r1, r4
|
|
ldr r0, [r1]
|
|
adds r1, r6, 0
|
|
bl StartObjectImageAnim
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldr r1, [r0]
|
|
strh r7, [r1, 0x20]
|
|
ldr r0, [r0]
|
|
mov r1, r8
|
|
strh r1, [r0, 0x22]
|
|
b _0811E27A
|
|
.pool
|
|
_0811E234:
|
|
ldr r6, =0x0203a11c
|
|
ldr r0, [r6]
|
|
movs r4, 0xB7
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
bl StartObjectImageAnim
|
|
ldr r1, [r6]
|
|
adds r4, r1, r4
|
|
ldr r0, [r4]
|
|
movs r2, 0xD8
|
|
mov r8, r2
|
|
mov r2, r8
|
|
strh r2, [r0, 0x20]
|
|
ldr r0, [r4]
|
|
lsls r4, r5, 24
|
|
asrs r4, 20
|
|
adds r4, 0x70
|
|
strh r4, [r0, 0x22]
|
|
movs r5, 0xB8
|
|
lsls r5, 2
|
|
adds r1, r5
|
|
ldr r0, [r1]
|
|
movs r1, 0x1
|
|
bl StartObjectImageAnim
|
|
ldr r0, [r6]
|
|
adds r0, r5
|
|
ldr r1, [r0]
|
|
mov r2, r8
|
|
strh r2, [r1, 0x20]
|
|
ldr r0, [r0]
|
|
strh r4, [r0, 0x22]
|
|
_0811E27A:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E1A4
|
|
|
|
thumb_func_start sub_811E288
|
|
sub_811E288: @ 811E288
|
|
push {lr}
|
|
ldr r0, =gUnknown_08597D18
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x4
|
|
bl AddObjectToFront
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, =0x0203a11c
|
|
ldr r2, [r1]
|
|
movs r1, 0xB9
|
|
lsls r1, 2
|
|
adds r2, r1
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
ldr r0, =0x02020630
|
|
adds r1, r0
|
|
str r1, [r2]
|
|
ldr r0, =sub_811E2DC
|
|
str r0, [r1, 0x1C]
|
|
ldrb r2, [r1, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r2
|
|
movs r2, 0x8
|
|
orrs r0, r2
|
|
strb r0, [r1, 0x5]
|
|
bl sub_811E30C
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E288
|
|
|
|
thumb_func_start sub_811E2DC
|
|
sub_811E2DC: @ 811E2DC
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
ldrh r0, [r1, 0x2E]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x2E]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x2
|
|
ble _0811E302
|
|
movs r0, 0
|
|
strh r0, [r1, 0x2E]
|
|
ldrh r0, [r1, 0x24]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x24]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
ble _0811E302
|
|
ldr r0, =0x0000fffa
|
|
strh r0, [r1, 0x24]
|
|
_0811E302:
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E2DC
|
|
|
|
thumb_func_start sub_811E30C
|
|
sub_811E30C: @ 811E30C
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r4, sp
|
|
adds r4, 0x1
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
bl sub_811BBC8
|
|
mov r0, sp
|
|
movs r1, 0
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0xD
|
|
muls r0, r1
|
|
lsls r0, 27
|
|
movs r1, 0
|
|
ldrsb r1, [r4, r1]
|
|
lsls r1, 28
|
|
movs r2, 0xE0
|
|
lsls r2, 21
|
|
adds r0, r2
|
|
lsrs r0, 24
|
|
movs r2, 0xC0
|
|
lsls r2, 23
|
|
adds r1, r2
|
|
lsrs r1, 24
|
|
bl sub_811E34C
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811E30C
|
|
|
|
thumb_func_start sub_811E34C
|
|
sub_811E34C: @ 811E34C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
movs r1, 0xB9
|
|
lsls r1, 2
|
|
adds r2, r0, r1
|
|
ldr r0, [r2]
|
|
cmp r0, 0
|
|
beq _0811E376
|
|
movs r1, 0
|
|
strh r3, [r0, 0x20]
|
|
ldr r0, [r2]
|
|
strh r4, [r0, 0x22]
|
|
ldr r0, [r2]
|
|
strh r1, [r0, 0x24]
|
|
ldr r0, [r2]
|
|
strh r1, [r0, 0x2E]
|
|
_0811E376:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E34C
|
|
|
|
thumb_func_start sub_811E380
|
|
sub_811E380: @ 811E380
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r0, [r4]
|
|
movs r1, 0xB9
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811E3A2
|
|
bl RemoveObjectAndFreeTiles
|
|
ldr r0, [r4]
|
|
movs r1, 0xB9
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
_0811E3A2:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E380
|
|
|
|
thumb_func_start sub_811E3AC
|
|
sub_811E3AC: @ 811E3AC
|
|
push {r4-r6,lr}
|
|
ldr r0, =gUnknown_08597DF0
|
|
movs r1, 0xD0
|
|
movs r2, 0x80
|
|
movs r3, 0x6
|
|
bl AddObjectToFront
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r5, =0x0203a11c
|
|
ldr r2, [r5]
|
|
movs r1, 0xBA
|
|
lsls r1, 2
|
|
adds r2, r1
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
ldr r4, =0x02020630
|
|
adds r1, r4
|
|
str r1, [r2]
|
|
movs r6, 0
|
|
ldr r0, =0x0000ffc0
|
|
strh r0, [r1, 0x24]
|
|
ldr r0, =gUnknown_08597DD0
|
|
movs r1, 0xD0
|
|
movs r2, 0x50
|
|
movs r3, 0x5
|
|
bl AddObjectToFront
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, [r5]
|
|
movs r1, 0xBB
|
|
lsls r1, 2
|
|
adds r3, r2, r1
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
str r1, [r3]
|
|
strb r6, [r2, 0x9]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E3AC
|
|
|
|
thumb_func_start sub_811E418
|
|
sub_811E418: @ 811E418
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a11c
|
|
ldr r2, [r4]
|
|
ldrb r3, [r2, 0x9]
|
|
cmp r3, 0
|
|
beq _0811E430
|
|
cmp r3, 0x1
|
|
beq _0811E488
|
|
movs r0, 0
|
|
b _0811E4A6
|
|
.pool
|
|
_0811E430:
|
|
movs r0, 0xBA
|
|
lsls r0, 2
|
|
adds r2, r0
|
|
ldr r1, [r2]
|
|
ldrh r0, [r1, 0x24]
|
|
adds r0, 0x8
|
|
strh r0, [r1, 0x24]
|
|
ldr r2, [r2]
|
|
movs r1, 0x24
|
|
ldrsh r0, [r2, r1]
|
|
cmp r0, 0
|
|
blt _0811E4A4
|
|
strh r3, [r2, 0x24]
|
|
bl sub_811BBB0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811E466
|
|
ldr r0, [r4]
|
|
movs r1, 0xBB
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
bl StartObjectImageAnim
|
|
b _0811E476
|
|
_0811E466:
|
|
ldr r0, [r4]
|
|
movs r1, 0xBB
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x2
|
|
bl StartObjectImageAnim
|
|
_0811E476:
|
|
ldr r0, =0x0203a11c
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0x9]
|
|
adds r0, 0x1
|
|
strb r0, [r1, 0x9]
|
|
b _0811E4A4
|
|
.pool
|
|
_0811E488:
|
|
movs r1, 0xBB
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
ldr r0, [r0]
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811E4A4
|
|
movs r0, 0x2
|
|
strb r0, [r2, 0x9]
|
|
movs r0, 0
|
|
b _0811E4A6
|
|
_0811E4A4:
|
|
movs r0, 0x1
|
|
_0811E4A6:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811E418
|
|
|
|
thumb_func_start sub_811E4AC
|
|
sub_811E4AC: @ 811E4AC
|
|
push {lr}
|
|
ldr r2, =0x0203a11c
|
|
ldr r1, [r2]
|
|
movs r0, 0
|
|
strb r0, [r1, 0x9]
|
|
ldr r0, [r2]
|
|
movs r1, 0xBB
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x3
|
|
bl StartObjectImageAnim
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E4AC
|
|
|
|
thumb_func_start sub_811E4D0
|
|
sub_811E4D0: @ 811E4D0
|
|
push {r4-r6,lr}
|
|
ldr r5, =0x0203a11c
|
|
ldr r3, [r5]
|
|
ldrb r0, [r3, 0x9]
|
|
cmp r0, 0
|
|
beq _0811E4E8
|
|
cmp r0, 0x1
|
|
beq _0811E502
|
|
movs r0, 0
|
|
b _0811E554
|
|
.pool
|
|
_0811E4E8:
|
|
movs r1, 0xBB
|
|
lsls r1, 2
|
|
adds r0, r3, r1
|
|
ldr r0, [r0]
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811E552
|
|
movs r0, 0x1
|
|
strb r0, [r3, 0x9]
|
|
b _0811E552
|
|
_0811E502:
|
|
movs r0, 0xBA
|
|
lsls r0, 2
|
|
adds r2, r3, r0
|
|
ldr r1, [r2]
|
|
ldrh r0, [r1, 0x24]
|
|
subs r0, 0x8
|
|
movs r6, 0
|
|
strh r0, [r1, 0x24]
|
|
ldr r0, [r2]
|
|
movs r2, 0x24
|
|
ldrsh r1, [r0, r2]
|
|
movs r0, 0x40
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
bgt _0811E552
|
|
movs r4, 0xBB
|
|
lsls r4, 2
|
|
adds r0, r3, r4
|
|
ldr r0, [r0]
|
|
bl RemoveObjectAndFreeTiles
|
|
ldr r0, [r5]
|
|
movs r1, 0xBA
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl RemoveObjectAndFreeTiles
|
|
ldr r1, [r5]
|
|
adds r4, r1, r4
|
|
str r6, [r4]
|
|
movs r2, 0xBA
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
str r6, [r0]
|
|
ldrb r0, [r1, 0x9]
|
|
adds r0, 0x1
|
|
strb r0, [r1, 0x9]
|
|
movs r0, 0
|
|
b _0811E554
|
|
_0811E552:
|
|
movs r0, 0x1
|
|
_0811E554:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811E4D0
|
|
|
|
thumb_func_start sub_811E55C
|
|
sub_811E55C: @ 811E55C
|
|
push {lr}
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
movs r1, 0xBB
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x4
|
|
bl StartObjectImageAnim
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E55C
|
|
|
|
thumb_func_start sub_811E578
|
|
sub_811E578: @ 811E578
|
|
push {lr}
|
|
bl sub_811BBB0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811E59C
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
movs r1, 0xBB
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
bl StartObjectImageAnim
|
|
b _0811E5AE
|
|
.pool
|
|
_0811E59C:
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
movs r1, 0xBB
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x2
|
|
bl StartObjectImageAnim
|
|
_0811E5AE:
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E578
|
|
|
|
thumb_func_start sub_811E5B8
|
|
sub_811E5B8: @ 811E5B8
|
|
ldr r0, =0x0203a11c
|
|
ldr r0, [r0]
|
|
movs r1, 0xBB
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
lsrs r1, 4
|
|
movs r0, 0x1
|
|
bics r0, r1
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811E5B8
|
|
|
|
thumb_func_start sub_811E5D4
|
|
sub_811E5D4: @ 811E5D4
|
|
push {r4,lr}
|
|
ldr r4, =gUnknown_08597E48
|
|
adds r0, r4, 0
|
|
movs r1, 0x60
|
|
movs r2, 0x50
|
|
movs r3, 0
|
|
bl AddObjectToFront
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x40
|
|
beq _0811E602
|
|
ldr r0, =0x0203a11c
|
|
ldr r2, [r0]
|
|
movs r0, 0xBC
|
|
lsls r0, 2
|
|
adds r2, r0
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, =0x02020630
|
|
adds r0, r1
|
|
str r0, [r2]
|
|
_0811E602:
|
|
adds r0, r4, 0
|
|
movs r1, 0x60
|
|
movs r2, 0x9C
|
|
movs r3, 0
|
|
bl AddObjectToFront
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x40
|
|
beq _0811E636
|
|
ldr r0, =0x0203a11c
|
|
ldr r2, [r0]
|
|
movs r0, 0xBD
|
|
lsls r0, 2
|
|
adds r2, r0
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, =0x02020630
|
|
adds r0, r1
|
|
str r0, [r2]
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r2, 0x2
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
_0811E636:
|
|
bl sub_811E6B0
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E5D4
|
|
|
|
thumb_func_start sub_811E64C
|
|
sub_811E64C: @ 811E64C
|
|
push {r4-r6,lr}
|
|
bl sub_811BBF8
|
|
ldr r6, =0x0203a11c
|
|
ldr r1, [r6]
|
|
movs r2, 0xBC
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
movs r2, 0
|
|
cmp r0, 0
|
|
bne _0811E666
|
|
movs r2, 0x1
|
|
_0811E666:
|
|
adds r3, r1, 0
|
|
adds r3, 0x3E
|
|
movs r4, 0x1
|
|
lsls r2, 2
|
|
ldrb r1, [r3]
|
|
movs r5, 0x5
|
|
negs r5, r5
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r3]
|
|
bl sub_811BC2C
|
|
ldr r1, [r6]
|
|
movs r2, 0xBD
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
movs r2, 0
|
|
cmp r0, 0
|
|
bne _0811E692
|
|
movs r2, 0x1
|
|
_0811E692:
|
|
adds r3, r1, 0
|
|
adds r3, 0x3E
|
|
adds r1, r4, 0
|
|
ands r1, r2
|
|
lsls r1, 2
|
|
ldrb r2, [r3]
|
|
adds r0, r5, 0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E64C
|
|
|
|
thumb_func_start sub_811E6B0
|
|
sub_811E6B0: @ 811E6B0
|
|
ldr r3, =0x0203a11c
|
|
ldr r0, [r3]
|
|
movs r1, 0xBC
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r1, 0x3E
|
|
ldrb r0, [r1]
|
|
movs r2, 0x4
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
ldr r0, [r3]
|
|
movs r1, 0xBD
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r1, 0x3E
|
|
ldrb r0, [r1]
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811E6B0
|
|
|
|
thumb_func_start sub_811E6E0
|
|
sub_811E6E0: @ 811E6E0
|
|
push {lr}
|
|
cmp r0, 0
|
|
bne _0811E6FC
|
|
ldr r0, =0x0203a11c
|
|
ldr r2, [r0]
|
|
movs r1, 0xBC
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x60
|
|
b _0811E70A
|
|
.pool
|
|
_0811E6FC:
|
|
ldr r0, =0x0203a11c
|
|
ldr r2, [r0]
|
|
movs r1, 0xBC
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x78
|
|
_0811E70A:
|
|
strh r1, [r0, 0x20]
|
|
movs r3, 0xBD
|
|
lsls r3, 2
|
|
adds r0, r2, r3
|
|
ldr r0, [r0]
|
|
strh r1, [r0, 0x20]
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E6E0
|
|
|
|
thumb_func_start sub_811E720
|
|
sub_811E720: @ 811E720
|
|
push {r4,lr}
|
|
ldr r4, =gUnknown_08597E30
|
|
adds r0, r4, 0
|
|
movs r1, 0xDC
|
|
movs r2, 0x54
|
|
movs r3, 0x1
|
|
bl AddObjectToFront
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x40
|
|
beq _0811E74E
|
|
ldr r0, =0x0203a11c
|
|
ldr r2, [r0]
|
|
movs r0, 0xBE
|
|
lsls r0, 2
|
|
adds r2, r0
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, =0x02020630
|
|
adds r0, r1
|
|
str r0, [r2]
|
|
_0811E74E:
|
|
adds r0, r4, 0
|
|
movs r1, 0xDC
|
|
movs r2, 0x9C
|
|
movs r3, 0x1
|
|
bl AddObjectToFront
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x40
|
|
beq _0811E77E
|
|
ldr r0, =0x0203a11c
|
|
ldr r2, [r0]
|
|
movs r0, 0xBF
|
|
lsls r0, 2
|
|
adds r2, r0
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, =0x02020630
|
|
adds r0, r1
|
|
str r0, [r2]
|
|
movs r1, 0x1
|
|
bl StartObjectImageAnim
|
|
_0811E77E:
|
|
bl sub_811E7F8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E720
|
|
|
|
thumb_func_start sub_811E794
|
|
sub_811E794: @ 811E794
|
|
push {r4-r6,lr}
|
|
bl sub_811BBF8
|
|
ldr r6, =0x0203a11c
|
|
ldr r1, [r6]
|
|
movs r2, 0xBE
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
movs r2, 0
|
|
cmp r0, 0
|
|
bne _0811E7AE
|
|
movs r2, 0x1
|
|
_0811E7AE:
|
|
adds r3, r1, 0
|
|
adds r3, 0x3E
|
|
movs r4, 0x1
|
|
lsls r2, 2
|
|
ldrb r1, [r3]
|
|
movs r5, 0x5
|
|
negs r5, r5
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r3]
|
|
bl sub_811BC2C
|
|
ldr r1, [r6]
|
|
movs r2, 0xBF
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
movs r2, 0
|
|
cmp r0, 0
|
|
bne _0811E7DA
|
|
movs r2, 0x1
|
|
_0811E7DA:
|
|
adds r3, r1, 0
|
|
adds r3, 0x3E
|
|
adds r1, r4, 0
|
|
ands r1, r2
|
|
lsls r1, 2
|
|
ldrb r2, [r3]
|
|
adds r0, r5, 0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E794
|
|
|
|
thumb_func_start sub_811E7F8
|
|
sub_811E7F8: @ 811E7F8
|
|
ldr r3, =0x0203a11c
|
|
ldr r0, [r3]
|
|
movs r1, 0xBE
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r1, 0x3E
|
|
ldrb r0, [r1]
|
|
movs r2, 0x4
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
ldr r0, [r3]
|
|
movs r1, 0xBF
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r1, 0x3E
|
|
ldrb r0, [r1]
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811E7F8
|
|
|
|
thumb_func_start sub_811E828
|
|
sub_811E828: @ 811E828
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
bl sub_811BCBC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0811E84C
|
|
cmp r0, 0x1
|
|
bgt _0811E842
|
|
cmp r0, 0
|
|
beq _0811E848
|
|
b _0811E8D0
|
|
_0811E842:
|
|
cmp r0, 0x2
|
|
beq _0811E850
|
|
b _0811E8D0
|
|
_0811E848:
|
|
movs r4, 0x43
|
|
b _0811E852
|
|
_0811E84C:
|
|
movs r4, 0x44
|
|
b _0811E852
|
|
_0811E850:
|
|
movs r4, 0x7
|
|
_0811E852:
|
|
bl sub_811BA68
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x4
|
|
bne _0811E8D0
|
|
adds r0, r4, 0
|
|
ldr r5, =DummyObjectCallback
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
adds r1, r5, 0
|
|
movs r2, 0x4C
|
|
movs r3, 0x28
|
|
bl AddPseudoFieldObject
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0x40
|
|
beq _0811E892
|
|
ldr r1, =0x02020630
|
|
lsls r0, r2, 4
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldrb r2, [r0, 0x5]
|
|
movs r1, 0xD
|
|
negs r1, r1
|
|
ands r1, r2
|
|
strb r1, [r0, 0x5]
|
|
movs r1, 0x2
|
|
bl StartObjectImageAnim
|
|
_0811E892:
|
|
ldr r0, =0x03005d90
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
movs r1, 0x69
|
|
cmp r0, 0
|
|
bne _0811E8A0
|
|
movs r1, 0x64
|
|
_0811E8A0:
|
|
str r4, [sp]
|
|
adds r0, r1, 0
|
|
adds r1, r5, 0
|
|
movs r2, 0x34
|
|
movs r3, 0x28
|
|
bl AddPseudoFieldObject
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0x40
|
|
beq _0811E8D0
|
|
ldr r1, =0x02020630
|
|
lsls r0, r2, 4
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldrb r2, [r0, 0x5]
|
|
movs r1, 0xD
|
|
negs r1, r1
|
|
ands r1, r2
|
|
strb r1, [r0, 0x5]
|
|
movs r1, 0x3
|
|
bl StartObjectImageAnim
|
|
_0811E8D0:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E828
|
|
|
|
thumb_func_start sub_811E8E4
|
|
sub_811E8E4: @ 811E8E4
|
|
push {lr}
|
|
bl sub_811BA68
|
|
lsls r0, 24
|
|
ldr r1, =gUnknown_08597C30
|
|
lsrs r0, 22
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x3]
|
|
cmp r0, 0x1
|
|
beq _0811E90E
|
|
cmp r0, 0x1
|
|
bgt _0811E908
|
|
cmp r0, 0
|
|
beq _0811E916
|
|
b _0811E91A
|
|
.pool
|
|
_0811E908:
|
|
cmp r0, 0x2
|
|
beq _0811E912
|
|
b _0811E91A
|
|
_0811E90E:
|
|
movs r0, 0x1
|
|
b _0811E91C
|
|
_0811E912:
|
|
movs r0, 0x2
|
|
b _0811E91C
|
|
_0811E916:
|
|
movs r0, 0
|
|
b _0811E91C
|
|
_0811E91A:
|
|
movs r0, 0x3
|
|
_0811E91C:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811E8E4
|
|
|
|
thumb_func_start sub_811E920
|
|
sub_811E920: @ 811E920
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
bl sub_811E8E4
|
|
adds r1, r0, 0
|
|
cmp r1, 0x2
|
|
ble _0811E932
|
|
movs r0, 0
|
|
b _0811E93E
|
|
_0811E932:
|
|
ldr r0, =gUnknown_08597E60
|
|
lsls r1, 2
|
|
adds r1, r4, r1
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x4
|
|
_0811E93E:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811E920
|
|
|
|
thumb_func_start sub_811E948
|
|
sub_811E948: @ 811E948
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x14
|
|
bl sub_811E8E4
|
|
mov r8, r0
|
|
cmp r0, 0x3
|
|
beq _0811E9FA
|
|
ldr r3, =0xffffff00
|
|
ldr r0, [sp, 0xC]
|
|
ands r0, r3
|
|
movs r1, 0x3
|
|
orrs r0, r1
|
|
ldr r2, =0xffff00ff
|
|
ands r0, r2
|
|
adds r1, 0xFD
|
|
orrs r0, r1
|
|
ldr r1, =0xff00ffff
|
|
ands r0, r1
|
|
movs r1, 0xB0
|
|
lsls r1, 12
|
|
orrs r0, r1
|
|
ldr r1, =0x00ffffff
|
|
ands r0, r1
|
|
movs r1, 0xE0
|
|
lsls r1, 21
|
|
orrs r0, r1
|
|
str r0, [sp, 0xC]
|
|
ldr r0, [sp, 0x10]
|
|
ands r0, r3
|
|
movs r1, 0x2
|
|
orrs r0, r1
|
|
ands r0, r2
|
|
movs r1, 0xB0
|
|
lsls r1, 4
|
|
orrs r0, r1
|
|
ldr r1, =0x0000ffff
|
|
ands r0, r1
|
|
movs r1, 0xD0
|
|
lsls r1, 14
|
|
orrs r0, r1
|
|
str r0, [sp, 0x10]
|
|
add r0, sp, 0xC
|
|
bl AddWindow
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
lsls r4, r7, 24
|
|
lsrs r0, r4, 24
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
movs r6, 0
|
|
mov r0, r8
|
|
lsls r1, r0, 4
|
|
ldr r0, =gUnknown_08597E6C
|
|
adds r5, r1, r0
|
|
ldr r1, =gUnknown_08597E60
|
|
mov r10, r1
|
|
mov r9, r4
|
|
_0811E9C6:
|
|
ldr r2, [r5]
|
|
lsls r4, r7, 24
|
|
cmp r2, 0
|
|
beq _0811E9EC
|
|
mov r1, r8
|
|
lsls r0, r1, 2
|
|
adds r0, r6, r0
|
|
add r0, r10
|
|
ldrb r3, [r0]
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
str r0, [sp, 0x4]
|
|
str r0, [sp, 0x8]
|
|
mov r1, r9
|
|
lsrs r0, r1, 24
|
|
movs r1, 0x1
|
|
bl sub_811D028
|
|
_0811E9EC:
|
|
adds r5, 0x4
|
|
adds r6, 0x1
|
|
cmp r6, 0x3
|
|
ble _0811E9C6
|
|
lsrs r0, r4, 24
|
|
bl PutWindowTilemap
|
|
_0811E9FA:
|
|
add sp, 0x14
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811E948
|
|
|
|
thumb_func_start sub_811EA28
|
|
sub_811EA28: @ 811EA28
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r1, r0, 0
|
|
cmp r0, 0x14
|
|
beq _0811EA4E
|
|
cmp r0, 0x14
|
|
bgt _0811EA48
|
|
cmp r0, 0x11
|
|
blt _0811EA66
|
|
ldr r0, =0x00000864
|
|
bl FlagGet
|
|
b _0811EA60
|
|
.pool
|
|
_0811EA48:
|
|
cmp r1, 0x15
|
|
beq _0811EA5C
|
|
b _0811EA66
|
|
_0811EA4E:
|
|
ldr r0, =0x00000866
|
|
bl FlagGet
|
|
b _0811EA60
|
|
.pool
|
|
_0811EA5C:
|
|
bl sub_811F0F8
|
|
_0811EA60:
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811EA68
|
|
_0811EA66:
|
|
movs r0, 0x1
|
|
_0811EA68:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811EA28
|
|
|
|
thumb_func_start start_menu_is_selected_item_valid
|
|
start_menu_is_selected_item_valid: @ 811EA6C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r4, r0, 0
|
|
cmp r0, 0
|
|
bne _0811EA84
|
|
movs r0, 0
|
|
bl pokedex_count
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
b _0811EA9A
|
|
_0811EA84:
|
|
bl sub_811EA28
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811EA92
|
|
movs r0, 0
|
|
b _0811EA9A
|
|
_0811EA92:
|
|
ldr r0, =gEasyChatGroups
|
|
lsls r1, r4, 3
|
|
adds r1, r0
|
|
ldrh r0, [r1, 0x6]
|
|
_0811EA9A:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end start_menu_is_selected_item_valid
|
|
|
|
thumb_func_start sub_811EAA4
|
|
sub_811EAA4: @ 811EAA4
|
|
push {r4,r5,lr}
|
|
lsls r2, r0, 16
|
|
lsrs r1, r2, 16
|
|
ldr r0, =0x0000ffff
|
|
cmp r1, r0
|
|
beq _0811EB04
|
|
lsrs r3, r2, 25
|
|
ldr r5, =0x000001ff
|
|
ands r5, r1
|
|
cmp r3, 0x15
|
|
bhi _0811EB08
|
|
ldr r0, =gEasyChatGroups
|
|
lsls r2, r3, 3
|
|
adds r1, r2, r0
|
|
ldrh r4, [r1, 0x4]
|
|
cmp r3, 0x13
|
|
bgt _0811EADC
|
|
cmp r3, 0x12
|
|
bge _0811EAE0
|
|
cmp r3, 0
|
|
beq _0811EAE0
|
|
b _0811EB00
|
|
.pool
|
|
_0811EADC:
|
|
cmp r3, 0x15
|
|
bne _0811EB00
|
|
_0811EAE0:
|
|
adds r0, r2, r0
|
|
ldr r2, [r0]
|
|
movs r1, 0
|
|
cmp r1, r4
|
|
bcs _0811EB08
|
|
_0811EAEA:
|
|
lsls r0, r1, 1
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
cmp r5, r0
|
|
beq _0811EB04
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, r4
|
|
bcc _0811EAEA
|
|
b _0811EB08
|
|
_0811EB00:
|
|
cmp r5, r4
|
|
bcs _0811EB08
|
|
_0811EB04:
|
|
movs r0, 0
|
|
b _0811EB0A
|
|
_0811EB08:
|
|
movs r0, 0x1
|
|
_0811EB0A:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811EAA4
|
|
|
|
thumb_func_start sub_811EB10
|
|
sub_811EB10: @ 811EB10
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r2, r0, 25
|
|
lsls r0, 7
|
|
lsrs r3, r0, 23
|
|
cmp r2, 0x15
|
|
bhi _0811EB5C
|
|
cmp r2, 0x13
|
|
bgt _0811EB2C
|
|
cmp r2, 0x12
|
|
bge _0811EB3C
|
|
cmp r2, 0
|
|
beq _0811EB30
|
|
b _0811EB48
|
|
_0811EB2C:
|
|
cmp r2, 0x15
|
|
bne _0811EB48
|
|
_0811EB30:
|
|
ldr r0, =gUnknown_085F5490
|
|
ldrh r0, [r0]
|
|
b _0811EB50
|
|
.pool
|
|
_0811EB3C:
|
|
ldr r0, =gUnknown_085FA1D4
|
|
ldrh r0, [r0]
|
|
b _0811EB50
|
|
.pool
|
|
_0811EB48:
|
|
ldr r1, =gEasyChatGroups
|
|
lsls r0, r2, 3
|
|
adds r0, r1
|
|
ldrh r0, [r0, 0x4]
|
|
_0811EB50:
|
|
cmp r0, r3
|
|
bls _0811EB5C
|
|
movs r0, 0
|
|
b _0811EB5E
|
|
.pool
|
|
_0811EB5C:
|
|
movs r0, 0x1
|
|
_0811EB5E:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811EB10
|
|
|
|
thumb_func_start GetEasyChatWord
|
|
@ char *GetEasyChatWord(u8 groupId, u16 wordId)
|
|
GetEasyChatWord: @ 811EB64
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 16
|
|
lsrs r2, r1, 16
|
|
cmp r0, 0x13
|
|
bgt _0811EB7C
|
|
cmp r0, 0x12
|
|
bge _0811EB90
|
|
cmp r0, 0
|
|
beq _0811EB80
|
|
b _0811EBA0
|
|
_0811EB7C:
|
|
cmp r0, 0x15
|
|
bne _0811EBA0
|
|
_0811EB80:
|
|
movs r0, 0xB
|
|
muls r0, r2
|
|
ldr r1, =gSpeciesNames
|
|
adds r0, r1
|
|
b _0811EBB2
|
|
.pool
|
|
_0811EB90:
|
|
movs r0, 0xD
|
|
muls r0, r2
|
|
ldr r1, =gMoveNames
|
|
adds r0, r1
|
|
b _0811EBB2
|
|
.pool
|
|
_0811EBA0:
|
|
ldr r1, =gEasyChatGroups
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
_0811EBB2:
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end GetEasyChatWord
|
|
|
|
thumb_func_start CopyEasyChatWord
|
|
@ char *CopyEasyChatWord(char *dest, u16 groupIdWordIdPair)
|
|
CopyEasyChatWord: @ 811EBBC
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
lsls r6, r1, 16
|
|
lsrs r0, r6, 16
|
|
adds r4, r0, 0
|
|
bl sub_811EAA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811EBD8
|
|
ldr r1, =gUnknown_085EEA42
|
|
b _0811EBEA
|
|
.pool
|
|
_0811EBD8:
|
|
ldr r0, =0x0000ffff
|
|
cmp r4, r0
|
|
beq _0811EBFC
|
|
ldr r1, =0x000001ff
|
|
ands r1, r4
|
|
lsrs r0, r6, 25
|
|
bl GetEasyChatWord
|
|
adds r1, r0, 0
|
|
_0811EBEA:
|
|
adds r0, r5, 0
|
|
bl CopyString
|
|
b _0811EC02
|
|
.pool
|
|
_0811EBFC:
|
|
movs r0, 0xFF
|
|
strb r0, [r5]
|
|
adds r0, r5, 0
|
|
_0811EC02:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end CopyEasyChatWord
|
|
|
|
thumb_func_start ConvertEasyChatWordsToString
|
|
ConvertEasyChatWordsToString: @ 811EC08
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
lsls r2, 16
|
|
lsls r3, 16
|
|
lsrs r3, 16
|
|
mov r9, r3
|
|
ldr r0, =0xffff0000
|
|
adds r2, r0
|
|
lsrs r7, r2, 16
|
|
movs r0, 0
|
|
cmp r0, r9
|
|
bcs _0811EC78
|
|
_0811EC2A:
|
|
movs r6, 0
|
|
adds r0, 0x1
|
|
mov r8, r0
|
|
cmp r6, r7
|
|
bcs _0811EC5C
|
|
ldr r2, =0x0000ffff
|
|
_0811EC36:
|
|
ldrh r1, [r5]
|
|
adds r0, r4, 0
|
|
str r2, [sp]
|
|
bl CopyEasyChatWord
|
|
adds r4, r0, 0
|
|
ldrh r0, [r5]
|
|
ldr r2, [sp]
|
|
cmp r0, r2
|
|
beq _0811EC50
|
|
movs r0, 0
|
|
strb r0, [r4]
|
|
adds r4, 0x1
|
|
_0811EC50:
|
|
adds r5, 0x2
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, r7
|
|
bcc _0811EC36
|
|
_0811EC5C:
|
|
ldrh r1, [r5]
|
|
adds r5, 0x2
|
|
adds r0, r4, 0
|
|
bl CopyEasyChatWord
|
|
adds r4, r0, 0
|
|
movs r0, 0xFE
|
|
strb r0, [r4]
|
|
adds r4, 0x1
|
|
mov r1, r8
|
|
lsls r0, r1, 16
|
|
lsrs r0, 16
|
|
cmp r0, r9
|
|
bcc _0811EC2A
|
|
_0811EC78:
|
|
subs r4, 0x1
|
|
movs r0, 0xFF
|
|
strb r0, [r4]
|
|
adds r0, r4, 0
|
|
add sp, 0x4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end ConvertEasyChatWordsToString
|
|
|
|
thumb_func_start sub_811EC98
|
|
sub_811EC98: @ 811EC98
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0xC
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
mov r8, r2
|
|
lsls r3, 16
|
|
lsrs r3, 16
|
|
str r3, [sp]
|
|
mov r7, r8
|
|
movs r0, 0
|
|
str r0, [sp, 0x4]
|
|
subs r0, r7, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
movs r0, 0
|
|
cmp r0, r3
|
|
bcs _0811ED62
|
|
_0811ECC8:
|
|
adds r3, r5, 0
|
|
movs r2, 0
|
|
movs r1, 0
|
|
adds r0, 0x1
|
|
mov r10, r0
|
|
cmp r2, r7
|
|
bcs _0811ECEE
|
|
ldr r6, =0x0000ffff
|
|
_0811ECD8:
|
|
lsls r0, r1, 1
|
|
adds r0, r3
|
|
ldrh r0, [r0]
|
|
cmp r0, r6
|
|
beq _0811ECE4
|
|
movs r2, 0x1
|
|
_0811ECE4:
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, r7
|
|
bcc _0811ECD8
|
|
_0811ECEE:
|
|
cmp r2, 0
|
|
bne _0811ECFC
|
|
lsls r0, r7, 1
|
|
adds r5, r0
|
|
b _0811ED56
|
|
.pool
|
|
_0811ECFC:
|
|
movs r6, 0
|
|
ldr r1, [sp, 0x4]
|
|
adds r1, 0x1
|
|
mov r9, r1
|
|
cmp r6, r8
|
|
bcs _0811ED30
|
|
ldr r2, =0x0000ffff
|
|
_0811ED0A:
|
|
ldrh r1, [r5]
|
|
adds r0, r4, 0
|
|
str r2, [sp, 0x8]
|
|
bl CopyEasyChatWord
|
|
adds r4, r0, 0
|
|
ldrh r0, [r5]
|
|
ldr r2, [sp, 0x8]
|
|
cmp r0, r2
|
|
beq _0811ED24
|
|
movs r0, 0
|
|
strb r0, [r4]
|
|
adds r4, 0x1
|
|
_0811ED24:
|
|
adds r5, 0x2
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, r8
|
|
bcc _0811ED0A
|
|
_0811ED30:
|
|
ldrh r1, [r5]
|
|
adds r5, 0x2
|
|
adds r0, r4, 0
|
|
bl CopyEasyChatWord
|
|
adds r4, r0, 0
|
|
ldr r0, [sp, 0x4]
|
|
cmp r0, 0
|
|
bne _0811ED4C
|
|
movs r0, 0xFE
|
|
b _0811ED4E
|
|
.pool
|
|
_0811ED4C:
|
|
movs r0, 0xFA
|
|
_0811ED4E:
|
|
strb r0, [r4]
|
|
adds r4, 0x1
|
|
mov r1, r9
|
|
str r1, [sp, 0x4]
|
|
_0811ED56:
|
|
mov r1, r10
|
|
lsls r0, r1, 16
|
|
lsrs r0, 16
|
|
ldr r1, [sp]
|
|
cmp r0, r1
|
|
bcc _0811ECC8
|
|
_0811ED62:
|
|
subs r4, 0x1
|
|
movs r0, 0xFF
|
|
strb r0, [r4]
|
|
adds r0, r4, 0
|
|
add sp, 0xC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811EC98
|
|
|
|
thumb_func_start sub_811ED7C
|
|
sub_811ED7C: @ 811ED7C
|
|
push {r4,r5,lr}
|
|
lsls r5, r0, 16
|
|
lsrs r0, r5, 16
|
|
adds r4, r0, 0
|
|
ldr r0, =0x0000ffff
|
|
cmp r4, r0
|
|
bne _0811ED94
|
|
movs r0, 0
|
|
b _0811EDBA
|
|
.pool
|
|
_0811ED94:
|
|
adds r0, r4, 0
|
|
bl sub_811EAA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811EDB0
|
|
ldr r1, =0x000001ff
|
|
ands r1, r4
|
|
lsrs r0, r5, 25
|
|
bl GetEasyChatWord
|
|
b _0811EDB2
|
|
.pool
|
|
_0811EDB0:
|
|
ldr r0, =gUnknown_085EEA42
|
|
_0811EDB2:
|
|
bl GetStringLength
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
_0811EDBA:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811ED7C
|
|
|
|
thumb_func_start sub_811EDC4
|
|
sub_811EDC4: @ 811EDC4
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
adds r6, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
mov r8, r2
|
|
lsls r3, 16
|
|
lsrs r3, 16
|
|
mov r10, r3
|
|
movs r7, 0
|
|
cmp r7, r8
|
|
bcs _0811EE26
|
|
subs r0, r1, 0x1
|
|
lsls r0, 16
|
|
mov r9, r0
|
|
_0811EDEE:
|
|
mov r0, r9
|
|
lsrs r4, r0, 16
|
|
movs r5, 0
|
|
cmp r5, r1
|
|
bcs _0811EE14
|
|
_0811EDF8:
|
|
ldrh r0, [r6]
|
|
adds r6, 0x2
|
|
str r1, [sp]
|
|
bl sub_811ED7C
|
|
adds r0, r4, r0
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r1, [sp]
|
|
cmp r5, r1
|
|
bcc _0811EDF8
|
|
_0811EE14:
|
|
cmp r4, r10
|
|
bls _0811EE1C
|
|
movs r0, 0x1
|
|
b _0811EE28
|
|
_0811EE1C:
|
|
adds r0, r7, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
cmp r7, r8
|
|
bcc _0811EDEE
|
|
_0811EE26:
|
|
movs r0, 0
|
|
_0811EE28:
|
|
add sp, 0x4
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811EDC4
|
|
|
|
thumb_func_start sub_811EE38
|
|
sub_811EE38: @ 811EE38
|
|
push {r4,lr}
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
bl GenerateRandomNumber
|
|
ldr r2, =gEasyChatGroups
|
|
lsls r1, r4, 3
|
|
adds r1, r2
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldrh r1, [r1, 0x4]
|
|
bl __umodsi3
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r4, 0
|
|
beq _0811EE66
|
|
cmp r4, 0x15
|
|
beq _0811EE66
|
|
cmp r4, 0x12
|
|
beq _0811EE66
|
|
cmp r4, 0x13
|
|
bne _0811EE74
|
|
_0811EE66:
|
|
ldr r1, =gEasyChatGroups
|
|
lsls r0, r4, 3
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
lsls r0, r2, 1
|
|
adds r0, r1
|
|
ldrh r2, [r0]
|
|
_0811EE74:
|
|
movs r0, 0x7F
|
|
ands r0, r4
|
|
lsls r0, 9
|
|
ldr r1, =0x000001ff
|
|
ands r2, r1
|
|
orrs r0, r2
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811EE38
|
|
|
|
thumb_func_start sub_811EE90
|
|
sub_811EE90: @ 811EE90
|
|
push {r4,lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
adds r4, r0, 0
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_811EA28
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811EEB0
|
|
ldr r0, =0x0000ffff
|
|
b _0811EEC4
|
|
.pool
|
|
_0811EEB0:
|
|
cmp r4, 0
|
|
beq _0811EEBC
|
|
adds r0, r4, 0
|
|
bl sub_811EE38
|
|
b _0811EEC0
|
|
_0811EEBC:
|
|
bl sub_811F108
|
|
_0811EEC0:
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
_0811EEC4:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811EE90
|
|
|
|
thumb_func_start sub_811EECC
|
|
sub_811EECC: @ 811EECC
|
|
push {r4,r5,lr}
|
|
ldr r0, =0x020375e0
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0811EF04
|
|
cmp r0, 0x1
|
|
bgt _0811EEE4
|
|
cmp r0, 0
|
|
beq _0811EEEE
|
|
b _0811EF58
|
|
.pool
|
|
_0811EEE4:
|
|
cmp r0, 0x2
|
|
beq _0811EF2C
|
|
cmp r0, 0x3
|
|
beq _0811EF3C
|
|
b _0811EF58
|
|
_0811EEEE:
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00002bb0
|
|
adds r5, r0, r1
|
|
movs r2, 0x2
|
|
b _0811EF46
|
|
.pool
|
|
_0811EF04:
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00002bbc
|
|
adds r5, r0, r1
|
|
adds r0, r5, 0
|
|
movs r1, 0x3
|
|
movs r2, 0x2
|
|
movs r3, 0x12
|
|
bl sub_811EDC4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811EF44
|
|
movs r2, 0x2
|
|
movs r3, 0x3
|
|
b _0811EF48
|
|
.pool
|
|
_0811EF2C:
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00002bc8
|
|
b _0811EF42
|
|
.pool
|
|
_0811EF3C:
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00002bd4
|
|
_0811EF42:
|
|
adds r5, r0, r1
|
|
_0811EF44:
|
|
movs r2, 0x3
|
|
_0811EF46:
|
|
movs r3, 0x2
|
|
_0811EF48:
|
|
ldr r4, =0x02021fc4
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl ConvertEasyChatWordsToString
|
|
adds r0, r4, 0
|
|
bl box_related_two__3
|
|
_0811EF58:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811EECC
|
|
|
|
thumb_func_start sub_811EF6C
|
|
sub_811EF6C: @ 811EF6C
|
|
push {lr}
|
|
bl GenerateRandomNumber
|
|
movs r1, 0x1
|
|
ands r1, r0
|
|
movs r0, 0xC
|
|
cmp r1, 0
|
|
beq _0811EF7E
|
|
movs r0, 0xD
|
|
_0811EF7E:
|
|
bl sub_811EE90
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldr r0, =0x02021dc4
|
|
bl CopyEasyChatWord
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811EF6C
|
|
|
|
thumb_func_start sub_811EF98
|
|
sub_811EF98: @ 811EF98
|
|
lsls r0, 24
|
|
lsrs r2, r0, 27
|
|
movs r1, 0xE0
|
|
lsls r1, 19
|
|
ands r1, r0
|
|
lsrs r1, 24
|
|
ldr r0, =0x03005d8c
|
|
ldr r0, [r0]
|
|
ldr r3, =0x00002e20
|
|
adds r0, r3
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
asrs r0, r1
|
|
movs r1, 0x1
|
|
ands r0, r1
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811EF98
|
|
|
|
thumb_func_start sub_811EFC0
|
|
sub_811EFC0: @ 811EFC0
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x20
|
|
bhi _0811EFE4
|
|
lsrs r3, r0, 27
|
|
movs r2, 0x7
|
|
ands r2, r1
|
|
ldr r0, =0x03005d8c
|
|
ldr r1, [r0]
|
|
ldr r0, =0x00002e20
|
|
adds r1, r0
|
|
adds r1, r3
|
|
movs r0, 0x1
|
|
lsls r0, r2
|
|
ldrb r2, [r1]
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
_0811EFE4:
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811EFC0
|
|
|
|
thumb_func_start sub_811EFF0
|
|
sub_811EFF0: @ 811EFF0
|
|
push {r4,r5,lr}
|
|
movs r4, 0
|
|
movs r5, 0
|
|
_0811EFF6:
|
|
adds r0, r4, 0
|
|
bl sub_811EF98
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811F008
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
_0811F008:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x20
|
|
bls _0811EFF6
|
|
adds r0, r5, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811EFF0
|
|
|
|
thumb_func_start sub_811F01C
|
|
sub_811F01C: @ 811F01C
|
|
push {r4-r6,lr}
|
|
bl sub_811EFF0
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x21
|
|
bne _0811F048
|
|
b _0811F082
|
|
_0811F02C:
|
|
adds r0, r5, 0
|
|
bl sub_811EFC0
|
|
ldr r0, =0x000001ff
|
|
ands r4, r0
|
|
movs r1, 0xA0
|
|
lsls r1, 6
|
|
adds r0, r1, 0
|
|
orrs r4, r0
|
|
adds r0, r4, 0
|
|
b _0811F084
|
|
.pool
|
|
_0811F048:
|
|
bl GenerateRandomNumber
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x21
|
|
subs r1, r4
|
|
bl __modsi3
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
movs r4, 0
|
|
_0811F05E:
|
|
lsls r0, r4, 24
|
|
lsrs r5, r0, 24
|
|
adds r0, r5, 0
|
|
bl sub_811EF98
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811F078
|
|
cmp r6, 0
|
|
beq _0811F02C
|
|
subs r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
_0811F078:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x20
|
|
bls _0811F05E
|
|
_0811F082:
|
|
ldr r0, =0x0000ffff
|
|
_0811F084:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811F01C
|
|
|
|
thumb_func_start sub_811F090
|
|
sub_811F090: @ 811F090
|
|
push {r4,r5,lr}
|
|
bl sub_811EFF0
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0
|
|
bne _0811F0B4
|
|
b _0811F0EA
|
|
_0811F0A0:
|
|
ldr r0, =0x000001ff
|
|
ands r4, r0
|
|
movs r1, 0xA0
|
|
lsls r1, 6
|
|
adds r0, r1, 0
|
|
orrs r4, r0
|
|
adds r0, r4, 0
|
|
b _0811F0EC
|
|
.pool
|
|
_0811F0B4:
|
|
bl GenerateRandomNumber
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
adds r1, r5, 0
|
|
bl __umodsi3
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
movs r4, 0
|
|
_0811F0C8:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_811EF98
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811F0E0
|
|
cmp r5, 0
|
|
beq _0811F0A0
|
|
subs r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
_0811F0E0:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x20
|
|
bls _0811F0C8
|
|
_0811F0EA:
|
|
ldr r0, =0x0000ffff
|
|
_0811F0EC:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811F090
|
|
|
|
thumb_func_start sub_811F0F8
|
|
sub_811F0F8: @ 811F0F8
|
|
push {lr}
|
|
bl sub_809D42C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811F0F8
|
|
|
|
thumb_func_start sub_811F108
|
|
sub_811F108: @ 811F108
|
|
push {r4-r7,lr}
|
|
movs r0, 0
|
|
bl start_menu_is_selected_item_valid
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0
|
|
bne _0811F128
|
|
b _0811F172
|
|
_0811F11A:
|
|
ldrh r1, [r5]
|
|
ldr r0, =0x000001ff
|
|
ands r0, r1
|
|
b _0811F174
|
|
.pool
|
|
_0811F128:
|
|
bl GenerateRandomNumber
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
adds r1, r4, 0
|
|
bl __umodsi3
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
ldr r0, =gEasyChatGroups
|
|
ldr r5, [r0]
|
|
ldrh r7, [r0, 0x4]
|
|
movs r6, 0
|
|
cmp r6, r7
|
|
bcs _0811F172
|
|
_0811F146:
|
|
ldrh r0, [r5]
|
|
bl SpeciesToNationalPokedexNum
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0
|
|
bl pokedex_flag_operation
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811F166
|
|
cmp r4, 0
|
|
beq _0811F11A
|
|
subs r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
_0811F166:
|
|
adds r5, 0x2
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, r7
|
|
bcc _0811F146
|
|
_0811F172:
|
|
ldr r0, =0x0000ffff
|
|
_0811F174:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811F108
|
|
|
|
thumb_func_start sub_811F184
|
|
sub_811F184: @ 811F184
|
|
push {r4-r7,lr}
|
|
movs r2, 0
|
|
ldr r5, =0x03005d8c
|
|
ldr r4, =0x00002bb0
|
|
ldr r3, =gUnknown_0859E62C
|
|
_0811F18E:
|
|
ldr r1, [r5]
|
|
lsls r0, r2, 1
|
|
adds r1, r4
|
|
adds r1, r0
|
|
adds r0, r3
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x3
|
|
bls _0811F18E
|
|
movs r2, 0
|
|
ldr r5, =0x03005d8c
|
|
ldr r4, =0x00002bbc
|
|
ldr r3, =gUnknown_0859E634
|
|
_0811F1AE:
|
|
ldr r1, [r5]
|
|
lsls r0, r2, 1
|
|
adds r1, r4
|
|
adds r1, r0
|
|
adds r0, r3
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x5
|
|
bls _0811F1AE
|
|
movs r2, 0
|
|
ldr r5, =0x03005d8c
|
|
ldr r4, =0x00002bc8
|
|
ldr r3, =gUnknown_0859E640
|
|
_0811F1CE:
|
|
ldr r1, [r5]
|
|
lsls r0, r2, 1
|
|
adds r1, r4
|
|
adds r1, r0
|
|
adds r0, r3
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x5
|
|
bls _0811F1CE
|
|
movs r2, 0
|
|
ldr r5, =0x03005d8c
|
|
ldr r4, =0x00002bd4
|
|
ldr r3, =gUnknown_0859E64C
|
|
_0811F1EE:
|
|
ldr r1, [r5]
|
|
lsls r0, r2, 1
|
|
adds r1, r4
|
|
adds r1, r0
|
|
adds r0, r3
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x5
|
|
bls _0811F1EE
|
|
movs r2, 0
|
|
ldr r7, =0x03005d8c
|
|
ldr r6, =0x00002be0
|
|
ldr r0, =0x0000ffff
|
|
adds r5, r0, 0
|
|
_0811F210:
|
|
movs r3, 0
|
|
lsls r0, r2, 3
|
|
adds r0, r2
|
|
lsls r4, r0, 2
|
|
_0811F218:
|
|
ldr r1, [r7]
|
|
lsls r0, r3, 1
|
|
adds r0, r4
|
|
adds r1, r6
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
orrs r0, r5
|
|
strh r0, [r1]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0x8
|
|
bls _0811F218
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0xF
|
|
bls _0811F210
|
|
movs r2, 0
|
|
ldr r4, =0x03005d8c
|
|
ldr r3, =0x00002e20
|
|
movs r1, 0
|
|
_0811F244:
|
|
ldr r0, [r4]
|
|
adds r0, r3
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x3F
|
|
bls _0811F244
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811F184
|
|
|
|
thumb_func_start sub_811F28C
|
|
sub_811F28C: @ 811F28C
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a120
|
|
ldr r0, =0x00003ba4
|
|
bl Alloc
|
|
str r0, [r4]
|
|
cmp r0, 0
|
|
beq _0811F2B0
|
|
bl sub_811F2D4
|
|
bl sub_811F46C
|
|
movs r0, 0x1
|
|
b _0811F2B2
|
|
.pool
|
|
_0811F2B0:
|
|
movs r0, 0
|
|
_0811F2B2:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811F28C
|
|
|
|
thumb_func_start sub_811F2B8
|
|
sub_811F2B8: @ 811F2B8
|
|
push {r4,lr}
|
|
ldr r4, =0x0203a120
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _0811F2CA
|
|
bl Free
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0811F2CA:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811F2B8
|
|
|
|
thumb_func_start sub_811F2D4
|
|
sub_811F2D4: @ 811F2D4
|
|
push {r4,r5,lr}
|
|
ldr r4, =0x0203a120
|
|
ldr r0, [r4]
|
|
movs r5, 0
|
|
strh r5, [r0]
|
|
movs r0, 0
|
|
bl pokedex_count
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
beq _0811F2FC
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0]
|
|
adds r2, r1, 0x1
|
|
strh r2, [r0]
|
|
lsls r1, 16
|
|
lsrs r1, 15
|
|
adds r0, 0x2
|
|
adds r0, r1
|
|
strh r5, [r0]
|
|
_0811F2FC:
|
|
movs r3, 0x1
|
|
_0811F2FE:
|
|
ldr r0, [r4]
|
|
ldrh r2, [r0]
|
|
adds r1, r2, 0x1
|
|
strh r1, [r0]
|
|
lsls r2, 16
|
|
lsrs r2, 15
|
|
adds r0, 0x2
|
|
adds r0, r2
|
|
strh r3, [r0]
|
|
adds r3, 0x1
|
|
cmp r3, 0x10
|
|
ble _0811F2FE
|
|
ldr r0, =0x00000864
|
|
bl FlagGet
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811F358
|
|
ldr r0, =0x0203a120
|
|
ldr r2, [r0]
|
|
ldrh r0, [r2]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r2]
|
|
lsls r0, 16
|
|
lsrs r0, 15
|
|
adds r3, r2, 0x2
|
|
adds r0, r3, r0
|
|
movs r1, 0x11
|
|
strh r1, [r0]
|
|
ldrh r0, [r2]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r2]
|
|
lsls r0, 16
|
|
lsrs r0, 15
|
|
adds r0, r3, r0
|
|
movs r1, 0x12
|
|
strh r1, [r0]
|
|
ldrh r0, [r2]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r2]
|
|
lsls r0, 16
|
|
lsrs r0, 15
|
|
adds r3, r0
|
|
movs r0, 0x13
|
|
strh r0, [r3]
|
|
_0811F358:
|
|
ldr r0, =0x00000866
|
|
bl FlagGet
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811F37A
|
|
ldr r0, =0x0203a120
|
|
ldr r0, [r0]
|
|
ldrh r1, [r0]
|
|
adds r2, r1, 0x1
|
|
strh r2, [r0]
|
|
lsls r1, 16
|
|
lsrs r1, 15
|
|
adds r0, 0x2
|
|
adds r0, r1
|
|
movs r1, 0x14
|
|
strh r1, [r0]
|
|
_0811F37A:
|
|
bl sub_809D42C
|
|
cmp r0, 0
|
|
beq _0811F398
|
|
ldr r0, =0x0203a120
|
|
ldr r0, [r0]
|
|
ldrh r1, [r0]
|
|
adds r2, r1, 0x1
|
|
strh r2, [r0]
|
|
lsls r1, 16
|
|
lsrs r1, 15
|
|
adds r0, 0x2
|
|
adds r0, r1
|
|
movs r1, 0x15
|
|
strh r1, [r0]
|
|
_0811F398:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811F2D4
|
|
|
|
thumb_func_start sub_811F3AC
|
|
sub_811F3AC: @ 811F3AC
|
|
ldr r0, =0x0203a120
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811F3AC
|
|
|
|
thumb_func_start sub_811F3B8
|
|
sub_811F3B8: @ 811F3B8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, =0x0203a120
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1]
|
|
cmp r2, r0
|
|
bcs _0811F3D8
|
|
lsls r0, r2, 1
|
|
adds r1, 0x2
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
b _0811F3DA
|
|
.pool
|
|
_0811F3D8:
|
|
movs r0, 0x16
|
|
_0811F3DA:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811F3B8
|
|
|
|
thumb_func_start sub_811F3E0
|
|
sub_811F3E0: @ 811F3E0
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r1, 24
|
|
lsls r2, 16
|
|
lsrs r5, r2, 16
|
|
ldr r0, =gEasyChatGroupNamePointers
|
|
lsrs r1, 22
|
|
adds r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, 0
|
|
bl CopyString
|
|
adds r1, r0, 0
|
|
subs r4, r1, r4
|
|
lsls r4, 16
|
|
lsrs r0, r4, 16
|
|
cmp r0, r5
|
|
bcs _0811F414
|
|
movs r2, 0
|
|
_0811F406:
|
|
strb r2, [r1]
|
|
adds r1, 0x1
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, r5
|
|
bcc _0811F406
|
|
_0811F414:
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
adds r0, r1, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811F3E0
|
|
|
|
thumb_func_start sub_811F424
|
|
sub_811F424: @ 811F424
|
|
lsls r0, 24
|
|
ldr r1, =gEasyChatGroupNamePointers
|
|
lsrs r0, 22
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811F424
|
|
|
|
thumb_func_start CopyEasyChatWordPadded
|
|
@ char *CopyEasyChatWordPadded(char *dest, u16 groupIdWordIdPair, u16 minLength)
|
|
CopyEasyChatWordPadded: @ 811F434
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
lsls r2, 16
|
|
lsrs r5, r2, 16
|
|
bl CopyEasyChatWord
|
|
adds r1, r0, 0
|
|
subs r4, r1, r4
|
|
lsls r4, 16
|
|
lsrs r0, r4, 16
|
|
cmp r0, r5
|
|
bcs _0811F460
|
|
movs r2, 0
|
|
_0811F452:
|
|
strb r2, [r1]
|
|
adds r1, 0x1
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, r5
|
|
bcc _0811F452
|
|
_0811F460:
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
adds r0, r1, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end CopyEasyChatWordPadded
|
|
|
|
thumb_func_start sub_811F46C
|
|
sub_811F46C: @ 811F46C
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x10
|
|
movs r3, 0
|
|
_0811F47A:
|
|
ldr r2, =gEasyChatWordsByLetterPointers
|
|
lsls r1, r3, 3
|
|
adds r0, r2, 0x4
|
|
adds r0, r1, r0
|
|
ldr r0, [r0]
|
|
str r0, [sp]
|
|
adds r1, r2
|
|
ldr r7, [r1]
|
|
ldr r0, =0x0203a120
|
|
ldr r1, [r0]
|
|
lsls r2, r3, 1
|
|
adds r1, 0x2E
|
|
adds r1, r2
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
mov r10, r0
|
|
movs r1, 0
|
|
str r2, [sp, 0x4]
|
|
adds r0, r3, 0x1
|
|
str r0, [sp, 0x8]
|
|
ldr r2, [sp]
|
|
cmp r1, r2
|
|
bge _0811F530
|
|
_0811F4A8:
|
|
ldrh r0, [r7]
|
|
ldr r2, =0x0000ffff
|
|
cmp r0, r2
|
|
bne _0811F4FC
|
|
adds r7, 0x2
|
|
ldrh r4, [r7]
|
|
adds r7, 0x2
|
|
adds r0, r1, 0x1
|
|
adds r1, r0, r4
|
|
b _0811F4FE
|
|
.pool
|
|
_0811F4C8:
|
|
ldr r0, =0x0203a120
|
|
ldr r2, [r0]
|
|
mov r0, r10
|
|
lsls r1, r0, 1
|
|
lsls r0, r3, 4
|
|
adds r0, r3
|
|
lsls r0, 3
|
|
subs r0, r3
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
adds r0, r2, 0
|
|
adds r0, 0x64
|
|
adds r0, r1
|
|
ldrh r1, [r5]
|
|
strh r1, [r0]
|
|
movs r0, 0x1
|
|
add r10, r0
|
|
adds r2, 0x2E
|
|
ldr r0, [sp, 0x4]
|
|
adds r2, r0
|
|
ldrh r0, [r2]
|
|
adds r0, 0x1
|
|
strh r0, [r2]
|
|
b _0811F526
|
|
.pool
|
|
_0811F4FC:
|
|
movs r4, 0x1
|
|
_0811F4FE:
|
|
movs r6, 0
|
|
adds r1, 0x1
|
|
mov r9, r1
|
|
lsls r2, r4, 1
|
|
mov r8, r2
|
|
cmp r6, r4
|
|
bge _0811F526
|
|
adds r5, r7, 0
|
|
_0811F50E:
|
|
ldrh r0, [r5]
|
|
str r3, [sp, 0xC]
|
|
bl sub_811F860
|
|
lsls r0, 24
|
|
ldr r3, [sp, 0xC]
|
|
cmp r0, 0
|
|
bne _0811F4C8
|
|
adds r5, 0x2
|
|
adds r6, 0x1
|
|
cmp r6, r4
|
|
blt _0811F50E
|
|
_0811F526:
|
|
add r7, r8
|
|
mov r1, r9
|
|
ldr r0, [sp]
|
|
cmp r1, r0
|
|
blt _0811F4A8
|
|
_0811F530:
|
|
ldr r3, [sp, 0x8]
|
|
cmp r3, 0x1A
|
|
ble _0811F47A
|
|
add sp, 0x10
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811F46C
|
|
|
|
thumb_func_start sub_811F548
|
|
sub_811F548: @ 811F548
|
|
push {lr}
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
cmp r0, 0
|
|
bne _0811F55A
|
|
adds r0, r1, 0
|
|
bl sub_811F5C4
|
|
b _0811F560
|
|
_0811F55A:
|
|
adds r0, r1, 0
|
|
bl sub_811F6B8
|
|
_0811F560:
|
|
ldr r1, =0x0203a120
|
|
ldr r1, [r1]
|
|
ldr r2, =0x00003ba0
|
|
adds r1, r2
|
|
strh r0, [r1]
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811F548
|
|
|
|
thumb_func_start sub_811F578
|
|
sub_811F578: @ 811F578
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
ldr r0, =0x0203a120
|
|
ldr r1, [r0]
|
|
ldr r3, =0x00003ba0
|
|
adds r0, r1, r3
|
|
ldrh r0, [r0]
|
|
cmp r2, r0
|
|
bcs _0811F5A4
|
|
lsls r0, r2, 1
|
|
ldr r2, =0x00003984
|
|
adds r1, r2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
b _0811F5A6
|
|
.pool
|
|
_0811F5A4:
|
|
ldr r0, =0x0000ffff
|
|
_0811F5A6:
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811F578
|
|
|
|
thumb_func_start sub_811F5B0
|
|
sub_811F5B0: @ 811F5B0
|
|
ldr r0, =0x0203a120
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00003ba0
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_811F5B0
|
|
|
|
thumb_func_start sub_811F5C4
|
|
sub_811F5C4: @ 811F5C4
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
ldr r1, =gEasyChatGroups
|
|
lsls r0, r2, 3
|
|
adds r0, r1
|
|
ldrh r3, [r0, 0x4]
|
|
mov r8, r3
|
|
cmp r2, 0
|
|
beq _0811F5EC
|
|
cmp r2, 0x15
|
|
beq _0811F5EC
|
|
cmp r2, 0x12
|
|
beq _0811F5EC
|
|
cmp r2, 0x13
|
|
bne _0811F64C
|
|
_0811F5EC:
|
|
lsls r0, r2, 3
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
movs r7, 0
|
|
movs r5, 0
|
|
cmp r5, r8
|
|
bcs _0811F698
|
|
movs r0, 0x7F
|
|
ands r0, r2
|
|
lsls r0, 9
|
|
mov r9, r0
|
|
adds r4, r1, 0
|
|
lsls r6, r2, 24
|
|
_0811F606:
|
|
ldrh r0, [r4]
|
|
lsrs r1, r6, 24
|
|
bl sub_811F764
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811F630
|
|
ldr r0, =0x0203a120
|
|
ldr r2, [r0]
|
|
lsls r0, r5, 1
|
|
ldr r1, =0x00003984
|
|
adds r2, r1
|
|
adds r2, r0
|
|
ldrh r0, [r4]
|
|
ldr r3, =0x000001ff
|
|
adds r1, r3, 0
|
|
ands r0, r1
|
|
mov r1, r9
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
adds r5, 0x1
|
|
_0811F630:
|
|
adds r4, 0x2
|
|
adds r7, 0x1
|
|
cmp r7, r8
|
|
bcc _0811F606
|
|
b _0811F698
|
|
.pool
|
|
_0811F64C:
|
|
ldr r1, [r0]
|
|
movs r7, 0
|
|
movs r5, 0
|
|
cmp r5, r8
|
|
bcs _0811F698
|
|
movs r0, 0x7F
|
|
ands r0, r2
|
|
lsls r0, 9
|
|
mov r10, r0
|
|
adds r6, r1, 0
|
|
lsls r2, 24
|
|
mov r9, r2
|
|
_0811F664:
|
|
ldrh r4, [r6, 0x4]
|
|
adds r0, r4, 0
|
|
mov r2, r9
|
|
lsrs r1, r2, 24
|
|
bl sub_811F764
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811F690
|
|
ldr r0, =0x0203a120
|
|
ldr r1, [r0]
|
|
lsls r0, r5, 1
|
|
ldr r3, =0x00003984
|
|
adds r1, r3
|
|
adds r1, r0
|
|
ldr r2, =0x000001ff
|
|
adds r0, r2, 0
|
|
ands r4, r0
|
|
mov r3, r10
|
|
orrs r4, r3
|
|
strh r4, [r1]
|
|
adds r5, 0x1
|
|
_0811F690:
|
|
adds r6, 0xC
|
|
adds r7, 0x1
|
|
cmp r7, r8
|
|
bcc _0811F664
|
|
_0811F698:
|
|
lsls r0, r5, 16
|
|
lsrs r0, 16
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811F5C4
|
|
|
|
thumb_func_start sub_811F6B8
|
|
sub_811F6B8: @ 811F6B8
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
movs r4, 0
|
|
movs r6, 0
|
|
ldr r3, =0x0203a120
|
|
ldr r0, [r3]
|
|
lsls r5, r1, 1
|
|
adds r0, 0x2E
|
|
adds r0, r5
|
|
ldrh r0, [r0]
|
|
cmp r6, r0
|
|
bcs _0811F718
|
|
mov r8, r3
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
subs r0, r1
|
|
lsls r7, r0, 2
|
|
ldr r0, =0x00003984
|
|
mov r12, r0
|
|
_0811F6E6:
|
|
mov r0, r8
|
|
ldr r3, [r0]
|
|
adds r1, r6, 0
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
lsls r1, 1
|
|
mov r0, r12
|
|
adds r2, r3, r0
|
|
adds r2, r1
|
|
lsls r1, r4, 1
|
|
adds r1, r7
|
|
adds r0, r3, 0
|
|
adds r0, 0x64
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
strh r0, [r2]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
adds r3, 0x2E
|
|
adds r3, r5
|
|
ldrh r3, [r3]
|
|
cmp r4, r3
|
|
bcc _0811F6E6
|
|
_0811F718:
|
|
adds r0, r6, 0
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811F6B8
|
|
|
|
thumb_func_start sub_811F72C
|
|
sub_811F72C: @ 811F72C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
movs r2, 0
|
|
ldr r0, =0x0203a120
|
|
ldr r0, [r0]
|
|
ldrh r1, [r0]
|
|
cmp r2, r1
|
|
bge _0811F75C
|
|
adds r4, r3, 0
|
|
adds r3, r1, 0
|
|
adds r1, r0, 0x2
|
|
_0811F744:
|
|
ldrh r0, [r1]
|
|
cmp r0, r4
|
|
bne _0811F754
|
|
movs r0, 0x1
|
|
b _0811F75E
|
|
.pool
|
|
_0811F754:
|
|
adds r1, 0x2
|
|
adds r2, 0x1
|
|
cmp r2, r3
|
|
blt _0811F744
|
|
_0811F75C:
|
|
movs r0, 0
|
|
_0811F75E:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811F72C
|
|
|
|
thumb_func_start sub_811F764
|
|
sub_811F764: @ 811F764
|
|
push {r4,lr}
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
lsls r1, 24
|
|
lsrs r2, r1, 24
|
|
cmp r2, 0x15
|
|
bhi _0811F81A
|
|
lsls r0, r2, 2
|
|
ldr r1, =_0811F780
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0811F780:
|
|
.4byte _0811F7D8
|
|
.4byte _0811F81A
|
|
.4byte _0811F81A
|
|
.4byte _0811F81A
|
|
.4byte _0811F81A
|
|
.4byte _0811F81A
|
|
.4byte _0811F81A
|
|
.4byte _0811F81A
|
|
.4byte _0811F81A
|
|
.4byte _0811F81A
|
|
.4byte _0811F81A
|
|
.4byte _0811F81A
|
|
.4byte _0811F81A
|
|
.4byte _0811F81A
|
|
.4byte _0811F81A
|
|
.4byte _0811F81A
|
|
.4byte _0811F81A
|
|
.4byte _0811F81A
|
|
.4byte _0811F808
|
|
.4byte _0811F808
|
|
.4byte _0811F80C
|
|
.4byte _0811F7EE
|
|
_0811F7D8:
|
|
adds r0, r4, 0
|
|
bl SpeciesToNationalPokedexNum
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0
|
|
bl pokedex_flag_operation
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811F82C
|
|
_0811F7EE:
|
|
adds r0, r4, 0
|
|
bl sub_811F838
|
|
cmp r0, 0
|
|
beq _0811F808
|
|
adds r0, r4, 0
|
|
bl SpeciesToNationalPokedexNum
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0
|
|
bl pokedex_flag_operation
|
|
_0811F808:
|
|
movs r0, 0x1
|
|
b _0811F82C
|
|
_0811F80C:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_811EF98
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811F82C
|
|
_0811F81A:
|
|
ldr r1, =gEasyChatGroups
|
|
lsls r0, r2, 3
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
lsls r0, r4, 1
|
|
adds r0, r4
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x8]
|
|
_0811F82C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_811F764
|
|
|
|
thumb_func_start sub_811F838
|
|
sub_811F838: @ 811F838
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
movs r2, 0
|
|
ldr r1, =gUnknown_0859E658
|
|
_0811F842:
|
|
ldrh r0, [r1]
|
|
cmp r0, r3
|
|
bne _0811F850
|
|
movs r0, 0x1
|
|
b _0811F85A
|
|
.pool
|
|
_0811F850:
|
|
adds r1, 0x2
|
|
adds r2, 0x1
|
|
cmp r2, 0
|
|
beq _0811F842
|
|
movs r0, 0
|
|
_0811F85A:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811F838
|
|
|
|
thumb_func_start sub_811F860
|
|
sub_811F860: @ 811F860
|
|
push {r4,r5,lr}
|
|
lsls r0, 16
|
|
lsrs r5, r0, 25
|
|
lsls r0, 7
|
|
lsrs r4, r0, 23
|
|
adds r0, r5, 0
|
|
bl sub_811F72C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811F884
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_811F764
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811F886
|
|
_0811F884:
|
|
movs r0, 0
|
|
_0811F886:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811F860
|
|
|
|
thumb_func_start sub_811F88C
|
|
sub_811F88C: @ 811F88C
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
lsls r1, 16
|
|
ldr r0, =0xffff0000
|
|
adds r1, r0
|
|
lsrs r0, r1, 16
|
|
ldr r1, =0x0000ffff
|
|
cmp r0, r1
|
|
beq _0811F8AE
|
|
adds r3, r1, 0
|
|
_0811F8A0:
|
|
strh r3, [r2]
|
|
adds r2, 0x2
|
|
subs r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, r1
|
|
bne _0811F8A0
|
|
_0811F8AE:
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811F88C
|
|
|
|
thumb_func_start sub_811F8BC
|
|
sub_811F8BC: @ 811F8BC
|
|
push {lr}
|
|
bl sub_801B058
|
|
ldr r1, =0x0000ffff
|
|
adds r2, r1, 0
|
|
adds r1, r0, 0x6
|
|
_0811F8C8:
|
|
strh r2, [r1]
|
|
subs r1, 0x2
|
|
cmp r1, r0
|
|
bge _0811F8C8
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_811F8BC
|
|
|
|
thumb_func_start sub_811F8D8
|
|
sub_811F8D8: @ 811F8D8
|
|
push {r4,r5,lr}
|
|
asrs r4, r0, 9
|
|
movs r1, 0x7F
|
|
ldr r5, =0x000001ff
|
|
ands r5, r0
|
|
ands r4, r1
|
|
adds r0, r4, 0
|
|
bl sub_811EA28
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811F904
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_811F764
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811F906
|
|
.pool
|
|
_0811F904:
|
|
movs r0, 0
|
|
_0811F906:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811F8D8
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|