pokeruby/asm-de/easy_chat.s
2017-07-17 19:52:52 -04:00

10805 lines
179 KiB
ArmAsm

.include "constants/gba_constants.inc"
.include "constants/species_constants.inc"
.include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_80E60D8
sub_80E60D8: @ 80E60D8
push {r4-r7,lr}
movs r4, 0x3
ldr r0, _080E60F4 @ =gSpecialVar_0x8004
ldrh r1, [r0]
adds r7, r0, 0
cmp r1, 0xD
bls _080E60E8
b _080E6284
_080E60E8:
lsls r0, r1, 2
ldr r1, _080E60F8 @ =_080E60FC
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080E60F4: .4byte gSpecialVar_0x8004
_080E60F8: .4byte _080E60FC
.align 2, 0
_080E60FC:
.4byte _080E6134
.4byte _080E613C
.4byte _080E6144
.4byte _080E614C
.4byte _080E6154
.4byte _080E619C
.4byte _080E616C
.4byte _080E61BC
.4byte _080E61E0
.4byte _080E61FC
.4byte _080E6200
.4byte _080E6214
.4byte _080E623C
.4byte _080E6260
_080E6134:
ldr r1, _080E6138 @ =gSaveBlock1 + 0x2B1C
b _080E624C
.align 2, 0
_080E6138: .4byte gSaveBlock1 + 0x2B1C
_080E613C:
ldr r1, _080E6140 @ =gSaveBlock1 + 0x2B28
b _080E6276
.align 2, 0
_080E6140: .4byte gSaveBlock1 + 0x2B28
_080E6144:
ldr r1, _080E6148 @ =gSaveBlock1 + 0x2B34
b _080E624C
.align 2, 0
_080E6148: .4byte gSaveBlock1 + 0x2B34
_080E614C:
ldr r1, _080E6150 @ =gSaveBlock1 + 0x2B40
b _080E6276
.align 2, 0
_080E6150: .4byte gSaveBlock1 + 0x2B40
_080E6154:
ldr r0, _080E6164 @ =gSpecialVar_0x8005
ldrh r1, [r0]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
ldr r1, _080E6168 @ =gSaveBlock1 + 0x2B4C
adds r1, r0, r1
b _080E624C
.align 2, 0
_080E6164: .4byte gSpecialVar_0x8005
_080E6168: .4byte gSaveBlock1 + 0x2B4C
_080E616C:
ldr r0, _080E6194 @ =gSaveBlock1 + 0x2D94
movs r2, 0
ldr r1, _080E6198 @ =sub_80546B8
mov r12, r1
adds r3, r0, 0
adds r3, 0xE
adds r5, r0, 0x2
adds r6, r3, 0
_080E617C:
lsls r0, r2, 1
adds r1, r3, r0
adds r0, r5, r0
ldrh r0, [r0]
strh r0, [r1]
adds r0, r2, 0x1
lsls r0, 16
lsrs r2, r0, 16
cmp r2, 0x5
bls _080E617C
adds r1, r6, 0
b _080E627A
.align 2, 0
_080E6194: .4byte gSaveBlock1 + 0x2D94
_080E6198: .4byte sub_80546B8
_080E619C:
ldr r0, _080E61B0 @ =gSpecialVar_0x8005
ldrh r1, [r0]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
ldr r1, _080E61B4 @ =gSaveBlock1 + 0x273C
adds r1, r0, r1
ldr r0, _080E61B8 @ =gSpecialVar_0x8006
ldrb r4, [r0]
b _080E6276
.align 2, 0
_080E61B0: .4byte gSpecialVar_0x8005
_080E61B4: .4byte gSaveBlock1 + 0x273C
_080E61B8: .4byte gSpecialVar_0x8006
_080E61BC:
ldr r0, _080E61D4 @ =gSpecialVar_0x8005
ldrh r0, [r0]
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
ldr r0, _080E61D8 @ =gSaveBlock1 + 0x2754
adds r1, r0
ldr r0, _080E61DC @ =gSpecialVar_0x8006
ldrh r0, [r0]
lsls r0, 1
adds r1, r0
b _080E624A
.align 2, 0
_080E61D4: .4byte gSpecialVar_0x8005
_080E61D8: .4byte gSaveBlock1 + 0x2754
_080E61DC: .4byte gSpecialVar_0x8006
_080E61E0:
ldr r0, _080E61F4 @ =gSpecialVar_0x8005
ldrh r1, [r0]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
ldr r1, _080E61F8 @ =gSaveBlock1 + 0x273A
adds r1, r0, r1
movs r4, 0
b _080E6276
.align 2, 0
_080E61F4: .4byte gSpecialVar_0x8005
_080E61F8: .4byte gSaveBlock1 + 0x273A
_080E61FC:
movs r1, 0
b _080E624C
_080E6200:
ldr r1, _080E620C @ =gSaveBlock1 + 0x2B16
ldr r2, _080E6210 @ =0x0000ffff
adds r0, r2, 0
strh r0, [r1]
b _080E624A
.align 2, 0
_080E620C: .4byte gSaveBlock1 + 0x2B16
_080E6210: .4byte 0x0000ffff
_080E6214:
ldr r0, _080E6230 @ =gSpecialVar_0x8005
ldrh r0, [r0]
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
ldr r0, _080E6234 @ =gSaveBlock1 + 0x273C
adds r1, r0
ldr r0, _080E6238 @ =gSpecialVar_0x8006
ldrh r0, [r0]
lsls r0, 1
adds r1, r0
movs r4, 0
b _080E6276
.align 2, 0
_080E6230: .4byte gSpecialVar_0x8005
_080E6234: .4byte gSaveBlock1 + 0x273C
_080E6238: .4byte gSpecialVar_0x8006
_080E623C:
ldr r0, _080E6254 @ =gSpecialVar_0x8005
ldrh r1, [r0]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
ldr r1, _080E6258 @ =gSaveBlock1 + 0x2750
adds r1, r0, r1
_080E624A:
movs r4, 0x1
_080E624C:
ldr r0, _080E625C @ =sub_80546B8
mov r12, r0
b _080E627A
.align 2, 0
_080E6254: .4byte gSpecialVar_0x8005
_080E6258: .4byte gSaveBlock1 + 0x2750
_080E625C: .4byte sub_80546B8
_080E6260:
ldr r1, _080E628C @ =0x02001000
ldr r0, _080E6290 @ =0x00009fa8
adds r2, r1, r0
ldr r0, _080E6294 @ =0x0000ffff
strh r0, [r2]
ldr r0, _080E6298 @ =0x00009faa
adds r1, r0
movs r0, 0x1
negs r0, r0
strh r0, [r1]
adds r1, r2, 0
_080E6276:
ldr r2, _080E629C @ =sub_80546B8
mov r12, r2
_080E627A:
ldrb r0, [r7]
mov r2, r12
adds r3, r4, 0
bl sub_80E62A0
_080E6284:
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E628C: .4byte 0x02001000
_080E6290: .4byte 0x00009fa8
_080E6294: .4byte 0x0000ffff
_080E6298: .4byte 0x00009faa
_080E629C: .4byte sub_80546B8
thumb_func_end sub_80E60D8
thumb_func_start sub_80E62A0
sub_80E62A0: @ 80E62A0
push {r4,lr}
lsls r0, 24
lsrs r0, 24
ldr r4, _080E62DC @ =0x02001000
str r2, [r4]
str r1, [r4, 0x4]
strb r0, [r4, 0x8]
strb r3, [r4, 0xB]
cmp r0, 0x9
bne _080E62D0
ldr r0, _080E62E0 @ =0x00009fa8
adds r2, r4, r0
str r2, [r4, 0x4]
ldr r0, _080E62E4 @ =gSaveBlock1
ldr r3, _080E62E8 @ =0x00002dd8
adds r1, r0, r3
ldrh r1, [r1]
strh r1, [r2]
ldr r1, _080E62EC @ =0x00002dda
adds r0, r1
ldrh r1, [r0]
ldr r2, _080E62F0 @ =0x00009faa
adds r0, r4, r2
strh r1, [r0]
_080E62D0:
ldr r0, _080E62F4 @ =sub_80E62F8
bl SetMainCallback2
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E62DC: .4byte 0x02001000
_080E62E0: .4byte 0x00009fa8
_080E62E4: .4byte gSaveBlock1
_080E62E8: .4byte 0x00002dd8
_080E62EC: .4byte 0x00002dda
_080E62F0: .4byte 0x00009faa
_080E62F4: .4byte sub_80E62F8
thumb_func_end sub_80E62A0
thumb_func_start sub_80E62F8
sub_80E62F8: @ 80E62F8
push {lr}
sub sp, 0x4
ldr r0, _080E6314 @ =gMain
ldr r1, _080E6318 @ =0x0000043c
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x8
bhi _080E6344
lsls r0, 2
ldr r1, _080E631C @ =_080E6320
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080E6314: .4byte gMain
_080E6318: .4byte 0x0000043c
_080E631C: .4byte _080E6320
.align 2, 0
_080E6320:
.4byte _080E6344
.4byte _080E6380
.4byte _080E638C
.4byte _080E63A8
.4byte _080E63AE
.4byte _080E63B4
.4byte _080E63BE
.4byte _080E63D8
.4byte _080E63EA
_080E6344:
movs r1, 0x80
lsls r1, 19
movs r0, 0
strh r0, [r1]
movs r0, 0
bl SetVBlankCallback
bl ResetPaletteFade
bl ResetSpriteData
bl dp12_8087EA4
bl remove_some_task
bl sub_80EAD08
ldr r2, _080E637C @ =gUnknown_083DB698
ldr r0, [r2]
ldr r1, [r2, 0x4]
ldr r2, [r2, 0x8]
bl sub_80895F8
bl FreeSpriteTileRanges
bl FreeAllSpritePalettes
b _080E6402
.align 2, 0
_080E637C: .4byte gUnknown_083DB698
_080E6380:
ldr r0, _080E6388 @ =gWindowConfig_81E6DA8
bl SetUpWindowConfig
b _080E6402
.align 2, 0
_080E6388: .4byte gWindowConfig_81E6DA8
_080E638C:
ldr r0, _080E63A0 @ =gWindowConfig_81E6D54
bl InitMenuWindow
ldr r0, _080E63A4 @ =gWindowConfig_81E6DA8
bl InitMenuWindow
bl MenuZeroFillScreen
b _080E6402
.align 2, 0
_080E63A0: .4byte gWindowConfig_81E6D54
_080E63A4: .4byte gWindowConfig_81E6DA8
_080E63A8:
bl sub_80E6424
b _080E6402
_080E63AE:
bl sub_80E8DD8
b _080E6402
_080E63B4:
bl sub_80E8218
bl sub_80E8CEC
b _080E6402
_080E63BE:
bl sub_80E69F8
ldr r0, _080E63D0 @ =sub_80E6AA8
bl sub_80E682C
ldr r0, _080E63D4 @ =sub_80E6A6C
bl SetVBlankCallback
b _080E6402
.align 2, 0
_080E63D0: .4byte sub_80E6AA8
_080E63D4: .4byte sub_80E6A6C
_080E63D8:
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
b _080E6402
_080E63EA:
movs r1, 0x80
lsls r1, 19
movs r2, 0xFA
lsls r2, 5
adds r0, r2, 0
strh r0, [r1]
ldr r0, _080E6414 @ =sub_80E6A88
bl SetMainCallback2
ldr r0, _080E6418 @ =0x00000805
bl FlagSet
_080E6402:
ldr r1, _080E641C @ =gMain
ldr r0, _080E6420 @ =0x0000043c
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
add sp, 0x4
pop {r0}
bx r0
.align 2, 0
_080E6414: .4byte sub_80E6A88
_080E6418: .4byte 0x00000805
_080E641C: .4byte gMain
_080E6420: .4byte 0x0000043c
thumb_func_end sub_80E62F8
thumb_func_start sub_80E6424
sub_80E6424: @ 80E6424
push {lr}
ldr r2, _080E6444 @ =0x02001000
ldr r0, _080E6448 @ =gUnknown_083DB6A4
ldrb r1, [r2, 0x8]
adds r1, r0
ldrb r0, [r1]
strb r0, [r2, 0x9]
ldrb r0, [r2, 0x9]
adds r3, r2, 0
cmp r0, 0x5
bhi _080E6512
lsls r0, 2
ldr r1, _080E644C @ =_080E6450
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080E6444: .4byte 0x02001000
_080E6448: .4byte gUnknown_083DB6A4
_080E644C: .4byte _080E6450
.align 2, 0
_080E6450:
.4byte _080E64A0
.4byte _080E64B8
.4byte _080E64DA
.4byte _080E64F6
.4byte _080E6468
.4byte _080E6480
_080E6468:
movs r2, 0x4
strb r2, [r3, 0xA]
adds r0, r3, 0
adds r0, 0x83
movs r1, 0x2
strb r1, [r0]
adds r0, 0x1
strb r1, [r0]
adds r1, r3, 0
adds r1, 0x88
movs r0, 0x5
b _080E64D0
_080E6480:
movs r1, 0x4
strb r1, [r3, 0xA]
adds r2, r3, 0
adds r2, 0x83
movs r0, 0x1
strb r0, [r2]
adds r0, r3, 0
adds r0, 0x84
strb r1, [r0]
adds r1, r3, 0
adds r1, 0x88
movs r0, 0x10
strh r0, [r1]
adds r1, 0x2
movs r0, 0x2
b _080E6510
_080E64A0:
movs r0, 0x6
strb r0, [r3, 0xA]
adds r1, r3, 0
adds r1, 0x83
movs r0, 0x2
strb r0, [r1]
adds r0, r3, 0
adds r0, 0x84
movs r2, 0x3
strb r2, [r0]
adds r1, 0x5
b _080E64CE
_080E64B8:
movs r2, 0
movs r0, 0x9
strb r0, [r3, 0xA]
adds r1, r3, 0
adds r1, 0x83
movs r0, 0x2
strb r0, [r1]
adds r1, 0x1
movs r0, 0x5
strb r0, [r1]
adds r1, 0x4
_080E64CE:
movs r0, 0x4
_080E64D0:
strh r0, [r1]
adds r0, r3, 0
adds r0, 0x8A
strh r2, [r0]
b _080E6512
_080E64DA:
movs r1, 0x1
strb r1, [r3, 0xA]
adds r0, r3, 0
adds r0, 0x83
strb r1, [r0]
adds r0, 0x1
strb r1, [r0]
adds r1, r3, 0
adds r1, 0x88
movs r0, 0x10
strh r0, [r1]
adds r1, 0x2
movs r0, 0x4
b _080E6510
_080E64F6:
movs r0, 0x2
strb r0, [r3, 0xA]
adds r1, r3, 0
adds r1, 0x83
strb r0, [r1]
adds r1, 0x1
movs r0, 0x1
strb r0, [r1]
adds r1, 0x4
movs r0, 0x5
strh r0, [r1]
adds r1, 0x2
movs r0, 0x3
_080E6510:
strh r0, [r1]
_080E6512:
adds r1, r3, 0
adds r1, 0x86
movs r0, 0
strb r0, [r1]
subs r1, 0x1
strb r0, [r1]
adds r1, 0x2
strb r0, [r1]
subs r1, 0x61
strb r0, [r1]
movs r2, 0xDD
lsls r2, 1
adds r1, r3, r2
strh r0, [r1]
movs r0, 0xDF
lsls r0, 1
adds r1, r3, r0
movs r0, 0x2
strb r0, [r1]
bl sub_80E6554
bl sub_80EAECC
bl sub_80EB040
bl sub_80E7E50
bl sub_80E6630
bl sub_80E6690
pop {r0}
bx r0
thumb_func_end sub_80E6424
thumb_func_start sub_80E6554
sub_80E6554: @ 80E6554
push {r4-r7,lr}
sub sp, 0x4
movs r4, 0
movs r7, 0
ldr r0, _080E6564 @ =0x02001000
mov r12, r0
b _080E656E
.align 2, 0
_080E6564: .4byte 0x02001000
_080E6568:
adds r0, r7, 0x1
lsls r0, 16
lsrs r7, r0, 16
_080E656E:
movs r5, 0
lsls r3, r7, 1
mov r6, r12
adds r6, 0x2A
adds r2, r3, r6
adds r1, r4, 0
adds r0, r1, 0x1
lsls r0, 16
lsrs r4, r0, 16
strb r1, [r2]
cmp r4, 0x11
beq _080E65A6
_080E6586:
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
cmp r5, 0x1
bhi _080E65A2
adds r2, r5, r3
adds r2, r6
adds r1, r4, 0
adds r0, r1, 0x1
lsls r0, 16
lsrs r4, r0, 16
strb r1, [r2]
cmp r4, 0x11
bne _080E6586
_080E65A2:
cmp r4, 0x11
bne _080E6568
_080E65A6:
movs r0, 0x11
mov r1, r12
strh r0, [r1, 0x28]
cmp r4, 0x15
bhi _080E6612
mov r6, r12
adds r2, r6, 0
adds r2, 0x78
_080E65B6:
lsls r0, r4, 24
lsrs r0, 24
str r2, [sp]
bl sub_80EAD7C
lsls r0, 24
lsrs r1, r0, 24
ldr r2, [sp]
cmp r1, 0
beq _080E65FC
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
cmp r5, 0x1
bls _080E65DC
adds r0, r7, 0x1
lsls r0, 16
lsrs r7, r0, 16
movs r5, 0
_080E65DC:
lsls r0, r7, 1
adds r0, r5, r0
adds r1, r6, 0
adds r1, 0x2A
adds r0, r1
strb r4, [r0]
adds r0, r4, 0
subs r0, 0x11
adds r0, r2
movs r1, 0x1
strb r1, [r0]
ldrh r0, [r6, 0x28]
adds r0, 0x1
strh r0, [r6, 0x28]
mov r12, r6
b _080E6608
_080E65FC:
adds r0, r4, 0
subs r0, 0x11
adds r0, r2
strb r1, [r0]
ldr r0, _080E662C @ =0x02001000
mov r12, r0
_080E6608:
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0x15
bls _080E65B6
_080E6612:
mov r1, r12
ldrh r0, [r1, 0x28]
adds r0, 0x1
asrs r0, 1
movs r1, 0xDB
lsls r1, 1
add r1, r12
strb r0, [r1]
add sp, 0x4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E662C: .4byte 0x02001000
thumb_func_end sub_80E6554
thumb_func_start sub_80E6630
sub_80E6630: @ 80E6630
push {r4-r7,lr}
movs r1, 0
ldr r0, _080E6664 @ =gUnknown_083DB6B2
mov r12, r0
_080E6638:
lsls r0, r1, 4
mov r2, r12
adds r5, r0, r2
movs r3, 0
ldrb r0, [r5]
adds r7, r1, 0x1
cmp r0, 0xFF
beq _080E6680
lsls r0, r1, 3
subs r0, r1
lsls r4, r0, 1
ldr r6, _080E6668 @ =0x02001040
_080E6650:
adds r0, r5, r3
ldrb r1, [r0]
adds r2, r1, 0
cmp r2, 0
beq _080E666C
adds r0, r3, r4
adds r0, r6
adds r1, 0x46
strb r1, [r0]
b _080E6672
.align 2, 0
_080E6664: .4byte gUnknown_083DB6B2
_080E6668: .4byte 0x02001040
_080E666C:
adds r0, r3, r4
adds r0, r6
strb r2, [r0]
_080E6672:
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
adds r0, r5, r3
ldrb r0, [r0]
cmp r0, 0xFF
bne _080E6650
_080E6680:
lsls r0, r7, 24
lsrs r1, r0, 24
cmp r1, 0x3
bls _080E6638
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_80E6630
thumb_func_start sub_80E6690
sub_80E6690: @ 80E6690
push {r4-r6,lr}
sub sp, 0x10
mov r0, sp
ldr r1, _080E66E0 @ =gUnknown_083DB7DC
ldm r1!, {r2-r4}
stm r0!, {r2-r4}
ldr r1, [r1]
str r1, [r0]
movs r5, 0
ldr r6, _080E66E4 @ =gUnknown_083DB7C0
_080E66A4:
ldr r0, _080E66E8 @ =0x02001000
ldrb r0, [r0, 0x8]
lsls r0, 1
adds r0, r5, r0
adds r0, r6
ldrb r1, [r0]
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
ldr r1, _080E66EC @ =gUnknown_083DB6F4
adds r4, r0, r1
lsls r0, r5, 3
add r0, sp
ldr r0, [r0]
ldr r1, [r4]
bl StringCopy
adds r3, r0, 0
ldrb r0, [r4, 0x8]
cmp r0, 0
beq _080E66F0
lsls r0, r5, 1
adds r0, 0x1
lsls r0, 2
add r0, sp
ldr r0, [r0]
ldr r1, [r4, 0x4]
bl StringCopy
b _080E670A
.align 2, 0
_080E66E0: .4byte gUnknown_083DB7DC
_080E66E4: .4byte gUnknown_083DB7C0
_080E66E8: .4byte 0x02001000
_080E66EC: .4byte gUnknown_083DB6F4
_080E66F0:
strb r0, [r3]
adds r3, 0x1
ldr r1, [r4, 0x4]
adds r0, r3, 0
bl StringCopy
lsls r0, r5, 1
adds r0, 0x1
lsls r0, 2
add r0, sp
ldr r1, [r0]
movs r0, 0xFF
strb r0, [r1]
_080E670A:
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
cmp r5, 0x1
bls _080E66A4
movs r5, 0
ldr r3, _080E6758 @ =0x02001000
ldr r0, _080E675C @ =0x0000a0d0
adds r2, r3, r0
movs r1, 0
_080E671E:
adds r0, r5, r2
strb r1, [r0]
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
cmp r5, 0x23
bls _080E671E
ldr r1, _080E675C @ =0x0000a0d0
adds r0, r3, r1
adds r0, r5, r0
movs r4, 0x1
negs r4, r4
adds r2, r4, 0
movs r1, 0xFF
strb r1, [r0]
ldr r0, _080E6760 @ =0x0000a29a
adds r3, r0
movs r0, 0xFC
strb r0, [r3]
movs r0, 0x11
strb r0, [r3, 0x1]
movs r0, 0xE0
strb r0, [r3, 0x2]
strb r2, [r3, 0x3]
add sp, 0x10
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080E6758: .4byte 0x02001000
_080E675C: .4byte 0x0000a0d0
_080E6760: .4byte 0x0000a29a
thumb_func_end sub_80E6690
thumb_func_start InitEasyChatPhrases
InitEasyChatPhrases: @ 80E6764
push {r4-r6,lr}
movs r3, 0
ldr r4, _080E680C @ =gSaveBlock1 + 0x2B1C
ldr r2, _080E6810 @ =gUnknown_083DB7EC
_080E676C:
lsls r0, r3, 1
adds r1, r0, r4
adds r0, r2
ldrh r0, [r0]
strh r0, [r1]
adds r0, r3, 0x1
lsls r0, 16
lsrs r3, r0, 16
cmp r3, 0x3
bls _080E676C
movs r3, 0
ldr r4, _080E6814 @ =gSaveBlock1 + 0x2B28
ldr r2, _080E6818 @ =gUnknown_083DB7F4
_080E6786:
lsls r0, r3, 1
adds r1, r0, r4
adds r0, r2
ldrh r0, [r0]
strh r0, [r1]
adds r0, r3, 0x1
lsls r0, 16
lsrs r3, r0, 16
cmp r3, 0x5
bls _080E6786
movs r3, 0
ldr r5, _080E681C @ =gSaveBlock1 + 0x2B34
ldr r0, _080E6820 @ =0x0000ffff
adds r4, r0, 0
adds r6, r5, 0
adds r6, 0xC
_080E67A6:
lsls r1, r3, 1
adds r2, r1, r5
ldrh r0, [r2]
orrs r0, r4
strh r0, [r2]
adds r1, r6
ldrh r0, [r1]
orrs r0, r4
strh r0, [r1]
adds r0, r3, 0x1
lsls r0, 16
lsrs r3, r0, 16
cmp r3, 0x5
bls _080E67A6
movs r3, 0
ldr r6, _080E6824 @ =gSaveBlock1 + 0x2B4C
ldr r0, _080E6820 @ =0x0000ffff
adds r5, r0, 0
_080E67CA:
movs r2, 0
lsls r0, r3, 3
adds r0, r3
lsls r4, r0, 2
_080E67D2:
lsls r0, r2, 1
adds r0, r4
adds r0, r6
ldrh r1, [r0]
orrs r1, r5
strh r1, [r0]
adds r0, r2, 0x1
lsls r0, 16
lsrs r2, r0, 16
cmp r2, 0x8
bls _080E67D2
adds r0, r3, 0x1
lsls r0, 16
lsrs r3, r0, 16
cmp r3, 0xF
bls _080E67CA
movs r3, 0
ldr r2, _080E6828 @ =gSaveBlock1 + 0x2D8C
movs r1, 0
_080E67F8:
adds r0, r3, r2
strb r1, [r0]
adds r0, r3, 0x1
lsls r0, 16
lsrs r3, r0, 16
cmp r3, 0x3F
bls _080E67F8
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080E680C: .4byte gSaveBlock1 + 0x2B1C
_080E6810: .4byte gUnknown_083DB7EC
_080E6814: .4byte gSaveBlock1 + 0x2B28
_080E6818: .4byte gUnknown_083DB7F4
_080E681C: .4byte gSaveBlock1 + 0x2B34
_080E6820: .4byte 0x0000ffff
_080E6824: .4byte gSaveBlock1 + 0x2B4C
_080E6828: .4byte gSaveBlock1 + 0x2D8C
thumb_func_end InitEasyChatPhrases
thumb_func_start sub_80E682C
sub_80E682C: @ 80E682C
ldr r1, _080E6838 @ =0x02001000
str r0, [r1, 0x20]
movs r0, 0
strh r0, [r1, 0x24]
bx lr
.align 2, 0
_080E6838: .4byte 0x02001000
thumb_func_end sub_80E682C
thumb_func_start sub_80E683C
sub_80E683C: @ 80E683C
push {r4,r5,lr}
ldr r1, _080E6890 @ =0x02001000
adds r0, r1, 0
adds r0, 0x26
ldrb r0, [r0]
adds r2, r1, 0
cmp r0, 0
bne _080E6898
movs r1, 0
movs r0, 0xDB
lsls r0, 1
adds r3, r2, r0
movs r0, 0
ldrsb r0, [r3, r0]
cmp r1, r0
bge _080E6876
movs r0, 0xD5
lsls r0, 1
adds r5, r2, r0
movs r4, 0x2
_080E6864:
adds r0, r1, r5
strb r4, [r0]
adds r0, r1, 0x1
lsls r0, 16
lsrs r1, r0, 16
movs r0, 0
ldrsb r0, [r3, r0]
cmp r1, r0
blt _080E6864
_080E6876:
adds r0, r2, r1
ldr r1, _080E6894 @ =0x000001a9
adds r3, r0, r1
ldrh r0, [r2, 0x28]
movs r1, 0x1
ands r0, r1
strb r0, [r3]
cmp r0, 0
bne _080E68B8
movs r0, 0x2
strb r0, [r3]
b _080E68B8
.align 2, 0
_080E6890: .4byte 0x02001000
_080E6894: .4byte 0x000001a9
_080E6898:
movs r3, 0xD5
lsls r3, 1
adds r1, r2, r3
movs r0, 0x7
strb r0, [r1]
ldr r1, _080E68E0 @ =0x000001ab
adds r3, r2, r1
movs r1, 0x6
strb r1, [r3]
movs r3, 0xD6
lsls r3, 1
adds r1, r2, r3
strb r0, [r1]
adds r3, 0x1
adds r1, r2, r3
strb r0, [r1]
_080E68B8:
movs r0, 0xD4
lsls r0, 1
adds r1, r2, r0
movs r0, 0
strb r0, [r1]
ldr r3, _080E68E4 @ =0x000001a9
adds r1, r2, r3
strb r0, [r1]
adds r3, 0xC
adds r1, r2, r3
strb r0, [r1]
adds r3, 0x2
adds r1, r2, r3
strb r0, [r1]
bl sub_80E9A4C
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080E68E0: .4byte 0x000001ab
_080E68E4: .4byte 0x000001a9
thumb_func_end sub_80E683C
thumb_func_start sub_80E68E8
sub_80E68E8: @ 80E68E8
push {r4-r6,lr}
bl sub_80EB0B0
ldr r3, _080E694C @ =0x02001000
adds r0, r3, 0
adds r0, 0x26
ldrb r0, [r0]
cmp r0, 0
bne _080E695C
movs r1, 0xDC
lsls r1, 1
adds r0, r3, r1
ldrb r6, [r0]
lsls r0, r6, 1
ldr r2, _080E6950 @ =0x000044a2
adds r1, r3, r2
adds r0, r1
ldrh r0, [r0]
adds r0, 0x1
asrs r0, 1
ldr r1, _080E6954 @ =0x00009d54
adds r2, r3, r1
strb r0, [r2]
movs r1, 0
movs r0, 0
ldrsb r0, [r2, r0]
adds r5, r3, 0
cmp r1, r0
bge _080E693A
ldr r3, _080E6958 @ =0x00009cd2
adds r4, r5, r3
movs r3, 0x2
_080E6928:
adds r0, r1, r4
strb r3, [r0]
adds r0, r1, 0x1
lsls r0, 16
lsrs r1, r0, 16
movs r0, 0
ldrsb r0, [r2, r0]
cmp r1, r0
blt _080E6928
_080E693A:
subs r0, r1, 0x1
lsls r0, 16
lsrs r1, r0, 16
ldr r2, _080E6958 @ =0x00009cd2
adds r0, r5, r2
adds r2, r1, r0
lsls r0, r6, 1
ldr r3, _080E6950 @ =0x000044a2
b _080E69AC
.align 2, 0
_080E694C: .4byte 0x02001000
_080E6950: .4byte 0x000044a2
_080E6954: .4byte 0x00009d54
_080E6958: .4byte 0x00009cd2
_080E695C:
movs r1, 0xDC
lsls r1, 1
adds r0, r3, r1
ldrb r6, [r0]
lsls r0, r6, 1
ldr r2, _080E69E0 @ =0x0000446c
adds r1, r3, r2
adds r0, r1
ldrh r0, [r0]
adds r0, 0x1
asrs r0, 1
ldr r1, _080E69E4 @ =0x00009d54
adds r2, r3, r1
strb r0, [r2]
movs r1, 0
movs r0, 0
ldrsb r0, [r2, r0]
adds r5, r3, 0
cmp r1, r0
bge _080E699C
ldr r3, _080E69E8 @ =0x00009cd2
adds r4, r5, r3
movs r3, 0x2
_080E698A:
adds r0, r1, r4
strb r3, [r0]
adds r0, r1, 0x1
lsls r0, 16
lsrs r1, r0, 16
movs r0, 0
ldrsb r0, [r2, r0]
cmp r1, r0
blt _080E698A
_080E699C:
subs r0, r1, 0x1
lsls r0, 16
lsrs r1, r0, 16
ldr r2, _080E69E8 @ =0x00009cd2
adds r0, r5, r2
adds r2, r1, r0
lsls r0, r6, 1
ldr r3, _080E69E0 @ =0x0000446c
_080E69AC:
adds r1, r5, r3
adds r0, r1
ldrh r0, [r0]
movs r1, 0x1
ands r0, r1
strb r0, [r2]
cmp r0, 0
bne _080E69C0
movs r0, 0x2
strb r0, [r2]
_080E69C0:
ldr r1, _080E69EC @ =0x00009cd0
adds r0, r5, r1
movs r1, 0
strb r1, [r0]
ldr r2, _080E69F0 @ =0x00009cd1
adds r0, r5, r2
strb r1, [r0]
ldr r3, _080E69F4 @ =0x00009d55
adds r0, r5, r3
strb r1, [r0]
bl sub_80E9A4C
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080E69E0: .4byte 0x0000446c
_080E69E4: .4byte 0x00009d54
_080E69E8: .4byte 0x00009cd2
_080E69EC: .4byte 0x00009cd0
_080E69F0: .4byte 0x00009cd1
_080E69F4: .4byte 0x00009d55
thumb_func_end sub_80E68E8
thumb_func_start sub_80E69F8
sub_80E69F8: @ 80E69F8
push {r4,lr}
ldr r0, _080E6A10 @ =0x02001000
ldrb r1, [r0, 0x8]
adds r4, r0, 0
cmp r1, 0xD
bhi _080E6A50
lsls r0, r1, 2
ldr r1, _080E6A14 @ =_080E6A18
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080E6A10: .4byte 0x02001000
_080E6A14: .4byte _080E6A18
.align 2, 0
_080E6A18:
.4byte _080E6A50
.4byte _080E6A50
.4byte _080E6A50
.4byte _080E6A50
.4byte _080E6A50
.4byte _080E6A58
.4byte _080E6A50
.4byte _080E6A58
.4byte _080E6A58
.4byte _080E6A50
.4byte _080E6A58
.4byte _080E6A58
.4byte _080E6A58
.4byte _080E6A50
_080E6A50:
ldrb r0, [r4, 0x8]
bl sub_80E9368
b _080E6A66
_080E6A58:
ldrb r0, [r4, 0x8]
bl sub_80E9368
ldrb r0, [r4, 0xB]
ldrb r1, [r4, 0x9]
bl sub_80E8BF4
_080E6A66:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_80E69F8
thumb_func_start sub_80E6A6C
sub_80E6A6C: @ 80E6A6C
push {lr}
bl LoadOam
bl ProcessSpriteCopyRequests
bl sub_80EAC5C
bl TransferPlttBuffer
bl sub_8089668
pop {r0}
bx r0
thumb_func_end sub_80E6A6C
thumb_func_start sub_80E6A88
sub_80E6A88: @ 80E6A88
push {lr}
ldr r0, _080E6AA4 @ =0x02001000
ldr r0, [r0, 0x20]
bl _call_via_r0
bl AnimateSprites
bl BuildOamBuffer
bl sub_80EAD08
pop {r0}
bx r0
.align 2, 0
_080E6AA4: .4byte 0x02001000
thumb_func_end sub_80E6A88
thumb_func_start sub_80E6AA8
sub_80E6AA8: @ 80E6AA8
push {lr}
bl UpdatePaletteFade
lsls r0, 24
cmp r0, 0
bne _080E6ABA
ldr r0, _080E6AC0 @ =sub_80E6AC4
bl sub_80E682C
_080E6ABA:
pop {r0}
bx r0
.align 2, 0
_080E6AC0: .4byte sub_80E6AC4
thumb_func_end sub_80E6AA8
thumb_func_start sub_80E6AC4
sub_80E6AC4: @ 80E6AC4
push {lr}
bl sub_80E88F0
movs r0, 0
bl sub_80E8398
movs r0, 0
bl sub_80E91D4
ldr r0, _080E6AE0 @ =sub_80E6AE4
bl sub_80E682C
pop {r0}
bx r0
.align 2, 0
_080E6AE0: .4byte sub_80E6AE4
thumb_func_end sub_80E6AC4
thumb_func_start sub_80E6AE4
sub_80E6AE4: @ 80E6AE4
push {r4,r5,lr}
bl sub_80E75D8
ldr r4, _080E6B44 @ =0x02001000
adds r1, r4, 0
adds r1, 0x87
strb r0, [r1]
lsls r0, 24
cmp r0, 0
beq _080E6AFE
movs r0, 0x5
bl PlaySE
_080E6AFE:
ldr r2, _080E6B48 @ =gMain
ldrh r1, [r2, 0x2E]
movs r0, 0x1
ands r0, r1
adds r5, r2, 0
cmp r0, 0
beq _080E6BA4
movs r0, 0x5
bl PlaySE
adds r1, r4, 0
adds r1, 0x86
adds r0, r4, 0
adds r0, 0x84
ldrb r2, [r1]
ldrb r1, [r1]
lsls r1, 24
asrs r1, 24
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r1, r0
bne _080E6B78
adds r0, r4, 0
adds r0, 0x85
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0x1
beq _080E6B60
cmp r0, 0x1
bgt _080E6B4C
cmp r0, 0
beq _080E6B52
b _080E6BA4
.align 2, 0
_080E6B44: .4byte 0x02001000
_080E6B48: .4byte gMain
_080E6B4C:
cmp r0, 0x2
beq _080E6B6C
b _080E6BA4
_080E6B52:
ldr r0, _080E6B5C @ =sub_80E6BC0
bl sub_80E682C
b _080E6BB4
.align 2, 0
_080E6B5C: .4byte sub_80E6BC0
_080E6B60:
ldr r0, _080E6B68 @ =sub_80E6C84
bl sub_80E682C
b _080E6BB4
.align 2, 0
_080E6B68: .4byte sub_80E6C84
_080E6B6C:
ldr r0, _080E6B74 @ =sub_80E6D7C
bl sub_80E682C
b _080E6BB4
.align 2, 0
_080E6B74: .4byte sub_80E6D7C
_080E6B78:
adds r0, r4, 0
adds r0, 0x83
ldrb r0, [r0]
adds r1, r4, 0
adds r1, 0x85
adds r3, r0, 0
muls r3, r2
adds r0, r3, 0
ldrb r1, [r1]
adds r0, r1
adds r1, r4, 0
adds r1, 0x27
strb r0, [r1]
bl sub_80E7574
ldr r0, _080E6BA0 @ =sub_80E6F68
bl sub_80E682C
b _080E6BB4
.align 2, 0
_080E6BA0: .4byte sub_80E6F68
_080E6BA4:
ldrh r1, [r5, 0x2E]
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _080E6BB4
ldr r0, _080E6BBC @ =sub_80E6C84
bl sub_80E682C
_080E6BB4:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080E6BBC: .4byte sub_80E6C84
thumb_func_end sub_80E6AE4
thumb_func_start sub_80E6BC0
sub_80E6BC0: @ 80E6BC0
push {r4,lr}
ldr r4, _080E6BD4 @ =0x02001000
ldrh r0, [r4, 0x24]
cmp r0, 0x1
beq _080E6C12
cmp r0, 0x1
bgt _080E6BD8
cmp r0, 0
beq _080E6BE2
b _080E6C76
.align 2, 0
_080E6BD4: .4byte 0x02001000
_080E6BD8:
cmp r0, 0x2
beq _080E6C54
cmp r0, 0x64
beq _080E6C64
b _080E6C76
_080E6BE2:
movs r0, 0x2
bl sub_80E8398
ldrb r0, [r4, 0x8]
cmp r0, 0x6
bne _080E6BFA
movs r0, 0x6
bl sub_80E91D4
movs r0, 0x64
strh r0, [r4, 0x24]
b _080E6C76
_080E6BFA:
movs r0, 0x2
bl sub_80E91D4
movs r0, 0x17
movs r1, 0x8
movs r2, 0x1
bl DisplayYesNoMenu
movs r0, 0x1
bl MoveMenuCursor
b _080E6C3E
_080E6C12:
bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
beq _080E6C32
cmp r1, 0
bgt _080E6C2C
movs r0, 0x1
negs r0, r0
cmp r1, r0
beq _080E6C46
b _080E6C76
_080E6C2C:
cmp r1, 0x1
beq _080E6C46
b _080E6C76
_080E6C32:
bl sub_80E7D6C
bl sub_80E98C4
bl sub_80E95A4
_080E6C3E:
ldrh r0, [r4, 0x24]
adds r0, 0x1
strh r0, [r4, 0x24]
b _080E6C76
_080E6C46:
ldr r1, _080E6C50 @ =0x02001000
ldrh r0, [r1, 0x24]
adds r0, 0x1
strh r0, [r1, 0x24]
b _080E6C76
.align 2, 0
_080E6C50: .4byte 0x02001000
_080E6C54:
bl sub_80E81FC
ldr r0, _080E6C60 @ =sub_80E6AC4
bl sub_80E682C
b _080E6C76
.align 2, 0
_080E6C60: .4byte sub_80E6AC4
_080E6C64:
ldr r0, _080E6C7C @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x3
ands r0, r1
cmp r0, 0
beq _080E6C76
ldr r0, _080E6C80 @ =sub_80E6AC4
bl sub_80E682C
_080E6C76:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E6C7C: .4byte gMain
_080E6C80: .4byte sub_80E6AC4
thumb_func_end sub_80E6BC0
thumb_func_start sub_80E6C84
sub_80E6C84: @ 80E6C84
push {r4,lr}
ldr r4, _080E6C98 @ =0x02001000
ldrh r0, [r4, 0x24]
cmp r0, 0x1
beq _080E6CF4
cmp r0, 0x1
bgt _080E6C9C
cmp r0, 0
beq _080E6CA6
b _080E6D72
.align 2, 0
_080E6C98: .4byte 0x02001000
_080E6C9C:
cmp r0, 0x2
beq _080E6D24
cmp r0, 0xFF
beq _080E6D64
b _080E6D72
_080E6CA6:
movs r0, 0x2
bl sub_80E8398
movs r0, 0x3
bl sub_80E91D4
movs r0, 0x17
movs r1, 0x8
movs r2, 0
bl DisplayYesNoMenu
movs r0, 0x1
bl MoveMenuCursor
ldrb r0, [r4, 0x8]
cmp r0, 0x9
beq _080E6CE8
cmp r0, 0x4
beq _080E6CE8
cmp r0, 0x7
beq _080E6CE8
cmp r0, 0x8
beq _080E6CE8
cmp r0, 0xA
beq _080E6CE8
cmp r0, 0xB
beq _080E6CE8
cmp r0, 0xC
beq _080E6CE8
cmp r0, 0x5
beq _080E6CE8
cmp r0, 0xD
bne _080E6D1C
_080E6CE8:
ldr r1, _080E6CF0 @ =0x02001000
movs r0, 0x2
strh r0, [r1, 0x24]
b _080E6D72
.align 2, 0
_080E6CF0: .4byte 0x02001000
_080E6CF4:
bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
beq _080E6D06
cmp r1, 0
ble _080E6D34
b _080E6D3E
_080E6D06:
movs r0, 0x4
bl sub_80E91D4
movs r0, 0x17
movs r1, 0x8
movs r2, 0
bl DisplayYesNoMenu
movs r0, 0x1
bl MoveMenuCursor
_080E6D1C:
ldrh r0, [r4, 0x24]
adds r0, 0x1
strh r0, [r4, 0x24]
b _080E6D72
_080E6D24:
bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
beq _080E6D44
cmp r1, 0
bgt _080E6D3E
_080E6D34:
movs r0, 0x1
negs r0, r0
cmp r1, r0
beq _080E6D58
b _080E6D72
_080E6D3E:
cmp r1, 0x1
beq _080E6D58
b _080E6D72
_080E6D44:
ldr r0, _080E6D50 @ =gScriptResult
strh r1, [r0]
ldr r0, _080E6D54 @ =sub_80E752C
bl sub_80E682C
b _080E6D72
.align 2, 0
_080E6D50: .4byte gScriptResult
_080E6D54: .4byte sub_80E752C
_080E6D58:
ldr r1, _080E6D60 @ =0x02001000
movs r0, 0xFF
strh r0, [r1, 0x24]
b _080E6D72
.align 2, 0
_080E6D60: .4byte 0x02001000
_080E6D64:
bl HandleDestroyMenuCursors
bl sub_80E81FC
ldr r0, _080E6D78 @ =sub_80E6AC4
bl sub_80E682C
_080E6D72:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E6D78: .4byte sub_80E6AC4
thumb_func_end sub_80E6C84
thumb_func_start sub_80E6D7C
sub_80E6D7C: @ 80E6D7C
push {r4-r7,lr}
ldr r5, _080E6D98 @ =0x02001000
ldrh r0, [r5, 0x24]
cmp r0, 0xA
bne _080E6D88
b _080E6F06
_080E6D88:
cmp r0, 0xA
bgt _080E6D9C
cmp r0, 0
beq _080E6DB6
cmp r0, 0x1
beq _080E6E3C
b _080E6F5E
.align 2, 0
_080E6D98: .4byte 0x02001000
_080E6D9C:
cmp r0, 0x65
bne _080E6DA2
b _080E6F30
_080E6DA2:
cmp r0, 0x65
bgt _080E6DAE
cmp r0, 0x64
bne _080E6DAC
b _080E6F24
_080E6DAC:
b _080E6F5E
_080E6DAE:
cmp r0, 0x66
bne _080E6DB4
b _080E6F50
_080E6DB4:
b _080E6F5E
_080E6DB6:
movs r0, 0x2
bl sub_80E8398
bl sub_80E8054
lsls r0, 24
cmp r0, 0
beq _080E6DCA
movs r0, 0x5
b _080E6DEE
_080E6DCA:
ldrb r0, [r5, 0x8]
cmp r0, 0x9
bne _080E6DFC
bl sub_80E7FA8
lsls r0, 24
cmp r0, 0
bne _080E6DDE
movs r0, 0x8
b _080E6DEE
_080E6DDE:
ldrh r0, [r5, 0xC]
ldr r1, _080E6DF8 @ =0x0000ffff
cmp r0, r1
beq _080E6DEC
ldrh r0, [r5, 0xE]
cmp r0, r1
bne _080E6DFC
_080E6DEC:
movs r0, 0x9
_080E6DEE:
bl sub_80E91D4
movs r0, 0xA
strh r0, [r5, 0x24]
b _080E6F5E
.align 2, 0
_080E6DF8: .4byte 0x0000ffff
_080E6DFC:
ldr r0, _080E6E18 @ =0x02001000
ldrb r0, [r0, 0x8]
cmp r0, 0x4
bne _080E6E20
bl sub_80E7FA8
lsls r0, 24
cmp r0, 0
bne _080E6E20
ldr r0, _080E6E1C @ =sub_80E6C84
bl sub_80E682C
b _080E6F5E
.align 2, 0
_080E6E18: .4byte 0x02001000
_080E6E1C: .4byte sub_80E6C84
_080E6E20:
movs r0, 0x1
bl sub_80E91D4
bl sub_80E9744
movs r0, 0x17
movs r1, 0x8
movs r2, 0
bl DisplayYesNoMenu
movs r0, 0
bl MoveMenuCursor
b _080E6F3C
_080E6E3C:
bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r6, r0, 24
cmp r6, 0
beq _080E6E5C
cmp r6, 0
bgt _080E6E56
movs r0, 0x1
negs r0, r0
cmp r6, r0
beq _080E6EDC
b _080E6F5E
_080E6E56:
cmp r6, 0x1
beq _080E6EDC
b _080E6F5E
_080E6E5C:
ldr r7, _080E6EC8 @ =gScriptResult
bl sub_80E7FA8
lsls r0, 24
lsrs r0, 24
negs r0, r0
lsrs r0, 31
strh r0, [r7]
bl sub_80E7D9C
ldrb r0, [r5, 0x8]
cmp r0, 0
bne _080E6E82
ldr r4, _080E6ECC @ =gSpecialVar_0x8004
bl sub_80E8094
lsls r0, 24
lsrs r0, 24
strh r0, [r4]
_080E6E82:
ldrb r0, [r5, 0x8]
cmp r0, 0x9
bne _080E6E9C
bl sub_80E81C0
ldr r4, _080E6ECC @ =gSpecialVar_0x8004
ldr r1, _080E6ED0 @ =0x00009fa8
adds r0, r5, r1
bl sub_80FA364
lsls r0, 24
lsrs r0, 24
strh r0, [r4]
_080E6E9C:
ldrb r0, [r5, 0x8]
cmp r0, 0xD
bne _080E6EBE
ldrh r0, [r5, 0xC]
ldr r1, _080E6ED4 @ =0x0000ffff
cmp r0, r1
beq _080E6EB0
ldrh r0, [r5, 0xE]
cmp r0, r1
bne _080E6EB2
_080E6EB0:
strh r6, [r7]
_080E6EB2:
ldr r4, _080E6ECC @ =gSpecialVar_0x8004
bl sub_80E810C
lsls r0, 24
lsrs r0, 24
strh r0, [r4]
_080E6EBE:
ldr r0, _080E6ED8 @ =sub_80E752C
bl sub_80E682C
b _080E6F5E
.align 2, 0
_080E6EC8: .4byte gScriptResult
_080E6ECC: .4byte gSpecialVar_0x8004
_080E6ED0: .4byte 0x00009fa8
_080E6ED4: .4byte 0x0000ffff
_080E6ED8: .4byte sub_80E752C
_080E6EDC:
bl HandleDestroyMenuCursors
bl sub_80E81FC
ldr r4, _080E6EFC @ =0x02001000
ldrb r0, [r4, 0x8]
cmp r0, 0x6
bne _080E6F00
bl sub_80E7FA8
lsls r0, 24
cmp r0, 0
beq _080E6F00
movs r0, 0x64
strh r0, [r4, 0x24]
b _080E6F5E
.align 2, 0
_080E6EFC: .4byte 0x02001000
_080E6F00:
bl sub_80E95A4
b _080E6F12
_080E6F06:
ldr r0, _080E6F1C @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x3
ands r0, r1
cmp r0, 0
beq _080E6F5E
_080E6F12:
ldr r0, _080E6F20 @ =sub_80E6AC4
bl sub_80E682C
b _080E6F5E
.align 2, 0
_080E6F1C: .4byte gMain
_080E6F20: .4byte sub_80E6AC4
_080E6F24:
movs r0, 0x7
bl sub_80E91D4
ldrh r0, [r5, 0x24]
adds r0, 0x1
strh r0, [r5, 0x24]
_080E6F30:
ldr r0, _080E6F48 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _080E6F5E
_080E6F3C:
ldr r1, _080E6F4C @ =0x02001000
ldrh r0, [r1, 0x24]
adds r0, 0x1
strh r0, [r1, 0x24]
b _080E6F5E
.align 2, 0
_080E6F48: .4byte gMain
_080E6F4C: .4byte 0x02001000
_080E6F50:
bl sub_80E7E50
bl sub_80E95A4
ldr r0, _080E6F64 @ =sub_80E6AC4
bl sub_80E682C
_080E6F5E:
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E6F64: .4byte sub_80E6AC4
thumb_func_end sub_80E6D7C
thumb_func_start sub_80E6F68
sub_80E6F68: @ 80E6F68
push {r4,lr}
ldr r4, _080E6F78 @ =0x02001000
ldrh r0, [r4, 0x24]
cmp r0, 0
beq _080E6F7C
cmp r0, 0x1
beq _080E6F9C
b _080E6FBC
.align 2, 0
_080E6F78: .4byte 0x02001000
_080E6F7C:
movs r0, 0x1
bl sub_80E8398
movs r0, 0xA
bl sub_80E91D4
bl sub_80E683C
bl sub_80E9974
bl sub_80E9E98
ldrh r0, [r4, 0x24]
adds r0, 0x1
strh r0, [r4, 0x24]
b _080E6FBC
_080E6F9C:
bl sub_80E9EA8
lsls r0, 24
cmp r0, 0
beq _080E6FBC
movs r0, 0x1
bl sub_80E8D8C
bl sub_80E8420
movs r0, 0
bl sub_80E8958
ldr r0, _080E6FC4 @ =sub_80E6FC8
bl sub_80E682C
_080E6FBC:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E6FC4: .4byte sub_80E6FC8
thumb_func_end sub_80E6F68
thumb_func_start sub_80E6FC8
sub_80E6FC8: @ 80E6FC8
push {r4,lr}
bl sub_80E77C8
adds r1, r0, 0
ldr r4, _080E7000 @ =0x02001000
adds r0, r4, 0
adds r0, 0x96
strb r1, [r0]
movs r2, 0xE0
lsls r2, 1
adds r0, r4, r2
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
beq _080E700C
movs r0, 0x5
bl PlaySE
movs r1, 0xE2
lsls r1, 1
adds r0, r4, r1
ldr r1, _080E7004 @ =sub_80E6FC8
str r1, [r0]
ldr r0, _080E7008 @ =sub_80E7458
bl sub_80E682C
b _080E710A
.align 2, 0
_080E7000: .4byte 0x02001000
_080E7004: .4byte sub_80E6FC8
_080E7008: .4byte sub_80E7458
_080E700C:
lsls r0, r1, 24
cmp r0, 0
beq _080E7018
movs r0, 0x5
bl PlaySE
_080E7018:
ldr r0, _080E7054 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _080E70E8
ldr r2, _080E7058 @ =0x000001b7
adds r0, r4, r2
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
beq _080E7090
movs r0, 0x5
bl PlaySE
movs r1, 0xD4
lsls r1, 1
adds r0, r4, r1
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0x2
beq _080E7070
cmp r0, 0x2
bgt _080E705C
cmp r0, 0x1
beq _080E7062
b _080E710A
.align 2, 0
_080E7054: .4byte gMain
_080E7058: .4byte 0x000001b7
_080E705C:
cmp r0, 0x3
beq _080E70F0
b _080E710A
_080E7062:
ldr r0, _080E706C @ =sub_80E718C
bl sub_80E682C
b _080E710A
.align 2, 0
_080E706C: .4byte sub_80E718C
_080E7070:
ldrb r0, [r4, 0x8]
cmp r0, 0x6
beq _080E710A
adds r0, r4, 0
adds r0, 0x27
ldrb r0, [r0]
ldr r1, _080E708C @ =0x0000ffff
bl sub_80E7F00
bl sub_80E7574
bl sub_80E95A4
b _080E710A
.align 2, 0
_080E708C: .4byte 0x0000ffff
_080E7090:
adds r0, r4, 0
adds r0, 0x26
ldrb r0, [r0]
cmp r0, 0
beq _080E70CA
ldr r2, _080E70DC @ =0x000001a9
adds r0, r4, r2
movs r2, 0
ldrsb r2, [r0, r2]
movs r1, 0xD4
lsls r1, 1
adds r0, r4, r1
movs r1, 0
ldrsb r1, [r0, r1]
lsls r0, r1, 3
subs r0, r1
lsls r0, 1
adds r2, r0
adds r0, r4, 0
adds r0, 0x40
adds r2, r0
ldrb r0, [r2]
lsls r0, 1
ldr r2, _080E70E0 @ =0x0000446c
adds r1, r4, r2
adds r0, r1
ldrh r0, [r0]
cmp r0, 0
beq _080E710A
_080E70CA:
movs r0, 0x5
bl PlaySE
bl sub_80E7AD4
ldr r0, _080E70E4 @ =sub_80E7218
bl sub_80E682C
b _080E710A
.align 2, 0
_080E70DC: .4byte 0x000001a9
_080E70E0: .4byte 0x0000446c
_080E70E4: .4byte sub_80E7218
_080E70E8:
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _080E70FC
_080E70F0:
ldr r0, _080E70F8 @ =sub_80E7114
bl sub_80E682C
b _080E710A
.align 2, 0
_080E70F8: .4byte sub_80E7114
_080E70FC:
movs r0, 0x4
ands r0, r1
cmp r0, 0
beq _080E710A
ldr r0, _080E7110 @ =sub_80E718C
bl sub_80E682C
_080E710A:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E7110: .4byte sub_80E718C
thumb_func_end sub_80E6FC8
thumb_func_start sub_80E7114
sub_80E7114: @ 80E7114
push {lr}
ldr r0, _080E712C @ =0x02001000
ldrh r1, [r0, 0x24]
adds r2, r0, 0
cmp r1, 0x4
bhi _080E7182
lsls r0, r1, 2
ldr r1, _080E7130 @ =_080E7134
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080E712C: .4byte 0x02001000
_080E7130: .4byte _080E7134
.align 2, 0
_080E7134:
.4byte _080E7148
.4byte _080E715C
.4byte _080E715C
.4byte _080E7164
.4byte _080E717C
_080E7148:
bl sub_80E8504
bl sub_80E9E98
bl sub_80E88F0
movs r0, 0
bl sub_80E8D8C
b _080E716E
_080E715C:
ldrh r0, [r2, 0x24]
adds r0, 0x1
strh r0, [r2, 0x24]
b _080E7182
_080E7164:
bl sub_80E9F50
lsls r0, 24
cmp r0, 0
beq _080E7182
_080E716E:
ldr r1, _080E7178 @ =0x02001000
ldrh r0, [r1, 0x24]
adds r0, 0x1
strh r0, [r1, 0x24]
b _080E7182
.align 2, 0
_080E7178: .4byte 0x02001000
_080E717C:
ldr r0, _080E7188 @ =sub_80E6AC4
bl sub_80E682C
_080E7182:
pop {r0}
bx r0
.align 2, 0
_080E7188: .4byte sub_80E6AC4
thumb_func_end sub_80E7114
thumb_func_start sub_80E718C
sub_80E718C: @ 80E718C
push {r4,lr}
ldr r0, _080E71A4 @ =0x02001000
ldrh r1, [r0, 0x24]
adds r4, r0, 0
cmp r1, 0x1
beq _080E71C6
cmp r1, 0x1
bgt _080E71A8
cmp r1, 0
beq _080E71AE
b _080E71EC
.align 2, 0
_080E71A4: .4byte 0x02001000
_080E71A8:
cmp r1, 0x8
beq _080E71F4
b _080E71EC
_080E71AE:
bl sub_80E8504
bl sub_80E9E98
bl sub_80E88F0
ldrh r0, [r4, 0x24]
adds r0, 0x1
strh r0, [r4, 0x24]
bl sub_80E8D54
b _080E720E
_080E71C6:
bl sub_80E9FD4
lsls r0, 24
cmp r0, 0
beq _080E720E
movs r2, 0
adds r1, r4, 0
adds r1, 0x26
ldrb r0, [r1]
cmp r0, 0
bne _080E71DE
movs r2, 0x1
_080E71DE:
strb r2, [r1]
bl sub_80E683C
bl sub_80E9974
bl sub_80E9E98
_080E71EC:
ldrh r0, [r4, 0x24]
adds r0, 0x1
strh r0, [r4, 0x24]
b _080E720E
_080E71F4:
bl sub_80EA014
lsls r0, 24
cmp r0, 0
beq _080E720E
bl sub_80E8420
movs r0, 0
bl sub_80E8958
ldr r0, _080E7214 @ =sub_80E6FC8
bl sub_80E682C
_080E720E:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E7214: .4byte sub_80E6FC8
thumb_func_end sub_80E718C
thumb_func_start sub_80E7218
sub_80E7218: @ 80E7218
push {r4,lr}
ldr r4, _080E7230 @ =0x02001000
ldrh r0, [r4, 0x24]
adds r1, r4, 0
cmp r0, 0x9
beq _080E7260
cmp r0, 0x9
bgt _080E7234
cmp r0, 0x8
beq _080E7244
b _080E723C
.align 2, 0
_080E7230: .4byte 0x02001000
_080E7234:
cmp r0, 0xA
beq _080E7276
cmp r0, 0xB
beq _080E7288
_080E723C:
ldrh r0, [r1, 0x24]
adds r0, 0x1
strh r0, [r1, 0x24]
b _080E7288
_080E7244:
movs r0, 0
bl sub_80E8D8C
bl sub_80E8504
bl sub_80E9AD4
bl sub_80E68E8
bl sub_80E88F0
bl sub_80E9E98
b _080E726E
_080E7260:
bl sub_80EA050
lsls r0, 24
cmp r0, 0
beq _080E7288
bl sub_80E9C94
_080E726E:
ldrh r0, [r4, 0x24]
adds r0, 0x1
strh r0, [r4, 0x24]
b _080E7288
_080E7276:
movs r0, 0x1
bl sub_80E87CC
movs r0, 0x1
bl sub_80E8958
ldr r0, _080E7290 @ =sub_80E7294
bl sub_80E682C
_080E7288:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E7290: .4byte sub_80E7294
thumb_func_end sub_80E7218
thumb_func_start sub_80E7294
sub_80E7294: @ 80E7294
push {r4,lr}
bl sub_80E7B40
adds r1, r0, 0
ldr r4, _080E72CC @ =0x02001000
ldr r2, _080E72D0 @ =0x000001b9
adds r0, r4, r2
strb r1, [r0]
adds r2, 0x7
adds r0, r4, r2
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
beq _080E72DC
movs r0, 0x5
bl PlaySE
movs r1, 0xE2
lsls r1, 1
adds r0, r4, r1
ldr r1, _080E72D4 @ =sub_80E7294
str r1, [r0]
ldr r0, _080E72D8 @ =sub_80E7458
bl sub_80E682C
b _080E731A
.align 2, 0
_080E72CC: .4byte 0x02001000
_080E72D0: .4byte 0x000001b9
_080E72D4: .4byte sub_80E7294
_080E72D8: .4byte sub_80E7458
_080E72DC:
lsls r0, r1, 24
cmp r0, 0
beq _080E72E8
movs r0, 0x5
bl PlaySE
_080E72E8:
ldr r0, _080E7304 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _080E730C
movs r0, 0x5
bl PlaySE
ldr r0, _080E7308 @ =sub_80E7324
bl sub_80E682C
b _080E731A
.align 2, 0
_080E7304: .4byte gMain
_080E7308: .4byte sub_80E7324
_080E730C:
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _080E731A
ldr r0, _080E7320 @ =sub_80E73D0
bl sub_80E682C
_080E731A:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E7320: .4byte sub_80E73D0
thumb_func_end sub_80E7294
thumb_func_start sub_80E7324
sub_80E7324: @ 80E7324
push {lr}
ldr r0, _080E733C @ =0x02001000
ldrh r1, [r0, 0x24]
adds r2, r0, 0
cmp r1, 0x4
bhi _080E73C6
lsls r0, r1, 2
ldr r1, _080E7340 @ =_080E7344
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080E733C: .4byte 0x02001000
_080E7340: .4byte _080E7344
.align 2, 0
_080E7344:
.4byte _080E7358
.4byte _080E737C
.4byte _080E7384
.4byte _080E738A
.4byte _080E73A4
_080E7358:
bl sub_80E7DD0
lsls r0, 24
cmp r0, 0
bne _080E7370
ldr r0, _080E736C @ =sub_80E7294
bl sub_80E682C
b _080E73C6
.align 2, 0
_080E736C: .4byte sub_80E7294
_080E7370:
bl sub_80E88F0
movs r0, 0
bl sub_80E87CC
b _080E7394
_080E737C:
ldrh r0, [r2, 0x24]
adds r0, 0x1
strh r0, [r2, 0x24]
b _080E73C6
_080E7384:
bl sub_80E9E98
b _080E7394
_080E738A:
bl sub_80EA184
lsls r0, 24
cmp r0, 0
beq _080E73C6
_080E7394:
ldr r1, _080E73A0 @ =0x02001000
ldrh r0, [r1, 0x24]
adds r0, 0x1
strh r0, [r1, 0x24]
b _080E73C6
.align 2, 0
_080E73A0: .4byte 0x02001000
_080E73A4:
ldrb r0, [r2, 0x8]
cmp r0, 0x6
bne _080E73C0
bl sub_80E7FA8
lsls r0, 24
cmp r0, 0
beq _080E73C0
ldr r0, _080E73BC @ =sub_80E6D7C
bl sub_80E682C
b _080E73C6
.align 2, 0
_080E73BC: .4byte sub_80E6D7C
_080E73C0:
ldr r0, _080E73CC @ =sub_80E6AC4
bl sub_80E682C
_080E73C6:
pop {r0}
bx r0
.align 2, 0
_080E73CC: .4byte sub_80E6AC4
thumb_func_end sub_80E7324
thumb_func_start sub_80E73D0
sub_80E73D0: @ 80E73D0
push {lr}
ldr r0, _080E73E4 @ =0x02001000
ldrh r0, [r0, 0x24]
cmp r0, 0x4
bhi _080E744E
lsls r0, 2
ldr r1, _080E73E8 @ =_080E73EC
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080E73E4: .4byte 0x02001000
_080E73E8: .4byte _080E73EC
.align 2, 0
_080E73EC:
.4byte _080E7400
.4byte _080E740C
.4byte _080E7416
.4byte _080E742C
.4byte _080E7444
_080E7400:
movs r0, 0
bl sub_80E87CC
bl sub_80E88F0
b _080E7436
_080E740C:
bl sub_80E9AD4
bl sub_80E9E98
b _080E7436
_080E7416:
bl sub_80EA0E4
lsls r0, 24
cmp r0, 0
beq _080E744E
movs r0, 0x1
bl sub_80E8D8C
bl sub_80E9A14
b _080E7436
_080E742C:
bl sub_80E8420
movs r0, 0
bl sub_80E8958
_080E7436:
ldr r1, _080E7440 @ =0x02001000
ldrh r0, [r1, 0x24]
adds r0, 0x1
strh r0, [r1, 0x24]
b _080E744E
.align 2, 0
_080E7440: .4byte 0x02001000
_080E7444:
bl sub_80E9974
ldr r0, _080E7454 @ =sub_80E6FC8
bl sub_80E682C
_080E744E:
pop {r0}
bx r0
.align 2, 0
_080E7454: .4byte sub_80E6FC8
thumb_func_end sub_80E73D0
thumb_func_start sub_80E7458
sub_80E7458: @ 80E7458
push {r4,r5,lr}
ldr r4, _080E7468 @ =0x02001000
ldrh r5, [r4, 0x24]
cmp r5, 0
beq _080E746C
cmp r5, 0x1
beq _080E74A4
b _080E7518
.align 2, 0
_080E7468: .4byte 0x02001000
_080E746C:
movs r1, 0xE2
lsls r1, 1
adds r0, r4, r1
ldr r1, [r0]
ldr r0, _080E7480 @ =sub_80E6FC8
cmp r1, r0
bne _080E7484
bl sub_80E9D7C
b _080E7488
.align 2, 0
_080E7480: .4byte sub_80E6FC8
_080E7484:
bl sub_80E9D00
_080E7488:
ldr r4, _080E74A0 @ =0x02001000
movs r2, 0xDF
lsls r2, 1
adds r0, r4, r2
ldrb r0, [r0]
bl sub_80E9E08
ldrh r0, [r4, 0x24]
adds r0, 0x1
strh r0, [r4, 0x24]
b _080E7518
.align 2, 0
_080E74A0: .4byte 0x02001000
_080E74A4:
bl sub_80E9E54
lsls r0, 24
cmp r0, 0
beq _080E7518
movs r1, 0xE2
lsls r1, 1
adds r0, r4, r1
ldr r1, [r0]
ldr r0, _080E74DC @ =sub_80E6FC8
cmp r1, r0
bne _080E74E4
bl sub_80E9D7C
ldr r2, _080E74E0 @ =0x000001b5
adds r1, r4, r2
adds r2, 0xB
adds r0, r4, r2
ldrb r0, [r0]
ldrb r2, [r1]
adds r0, r2
strb r0, [r1]
bl sub_80E7A98
adds r0, r4, 0
adds r0, 0x96
b _080E74FE
.align 2, 0
_080E74DC: .4byte sub_80E6FC8
_080E74E0: .4byte 0x000001b5
_080E74E4:
ldr r0, _080E7520 @ =0x00009d55
adds r1, r4, r0
movs r2, 0xE0
lsls r2, 1
adds r0, r4, r2
ldrb r0, [r0]
ldrb r2, [r1]
adds r0, r2
strb r0, [r1]
bl sub_80E7D30
ldr r1, _080E7524 @ =0x000001b9
adds r0, r4, r1
_080E74FE:
strb r5, [r0]
ldr r1, _080E7528 @ =0x02001000
movs r0, 0xDF
lsls r0, 1
adds r2, r1, r0
movs r0, 0x2
strb r0, [r2]
movs r2, 0xE2
lsls r2, 1
adds r0, r1, r2
ldr r0, [r0]
bl sub_80E682C
_080E7518:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080E7520: .4byte 0x00009d55
_080E7524: .4byte 0x000001b9
_080E7528: .4byte 0x02001000
thumb_func_end sub_80E7458
thumb_func_start sub_80E752C
sub_80E752C: @ 80E752C
push {r4,lr}
sub sp, 0x4
ldr r4, _080E7540 @ =0x02001000
ldrh r1, [r4, 0x24]
cmp r1, 0
beq _080E7544
cmp r1, 0x1
beq _080E755C
b _080E756C
.align 2, 0
_080E7540: .4byte 0x02001000
_080E7544:
movs r0, 0x1
negs r0, r0
str r1, [sp]
movs r1, 0
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
ldrh r0, [r4, 0x24]
adds r0, 0x1
strh r0, [r4, 0x24]
b _080E756C
_080E755C:
bl UpdatePaletteFade
lsls r0, 24
cmp r0, 0
bne _080E756C
ldr r0, [r4]
bl SetMainCallback2
_080E756C:
add sp, 0x4
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_80E752C
thumb_func_start sub_80E7574
sub_80E7574: @ 80E7574
push {r4,r5,lr}
ldr r4, _080E75B8 @ =0x02001000
ldrb r5, [r4, 0x8]
cmp r5, 0x1
bne _080E75BC
adds r0, r4, 0
adds r0, 0x86
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
adds r1, r4, 0
adds r1, 0x7E
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x2
bne _080E75BC
adds r0, r4, 0
adds r0, 0x27
ldrb r0, [r0]
lsls r0, 1
subs r1, 0x72
adds r0, r1
ldrh r0, [r0]
bl sub_80EB2D4
lsls r0, 16
lsrs r0, 16
cmp r0, 0x7
beq _080E75BC
adds r0, r4, 0
adds r0, 0x7D
strb r5, [r0]
adds r1, r4, 0
b _080E75C6
.align 2, 0
_080E75B8: .4byte 0x02001000
_080E75BC:
ldr r1, _080E75D4 @ =0x02001000
adds r2, r1, 0
adds r2, 0x7D
movs r0, 0
strb r0, [r2]
_080E75C6:
adds r1, 0x7D
movs r0, 0
strb r0, [r1]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080E75D4: .4byte 0x02001000
thumb_func_end sub_80E7574
thumb_func_start sub_80E75D8
sub_80E75D8: @ 80E75D8
push {r4-r6,lr}
movs r4, 0
ldr r2, _080E75FC @ =gMain
ldrh r1, [r2, 0x2E]
movs r0, 0x8
ands r0, r1
cmp r0, 0
beq _080E7604
ldr r1, _080E7600 @ =0x02001000
adds r0, r1, 0
adds r0, 0x84
ldrb r0, [r0]
adds r2, r1, 0
adds r2, 0x86
strb r0, [r2]
adds r1, 0x85
movs r0, 0x2
b _080E768E
.align 2, 0
_080E75FC: .4byte gMain
_080E7600: .4byte 0x02001000
_080E7604:
ldrh r1, [r2, 0x30]
movs r0, 0x40
ands r0, r1
cmp r0, 0
beq _080E7630
ldr r2, _080E762C @ =0x02001000
adds r1, r2, 0
adds r1, 0x86
ldrb r0, [r1]
subs r0, 0x1
strb r0, [r1]
lsls r0, 24
cmp r0, 0
bge _080E765C
adds r0, r2, 0
adds r0, 0x84
ldrb r0, [r0]
strb r0, [r1]
b _080E765C
.align 2, 0
_080E762C: .4byte 0x02001000
_080E7630:
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _080E7658
ldr r0, _080E7684 @ =0x02001000
adds r3, r0, 0
adds r3, 0x86
ldrb r1, [r3]
adds r1, 0x1
strb r1, [r3]
adds r0, 0x84
lsls r1, 24
asrs r1, 24
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r1, r0
ble _080E7656
strb r4, [r3]
_080E7656:
movs r4, 0x1
_080E7658:
cmp r4, 0
beq _080E76EA
_080E765C:
ldr r2, _080E7684 @ =0x02001000
ldrb r3, [r2, 0x9]
cmp r3, 0x2
bne _080E7692
adds r1, r2, 0
adds r1, 0x86
adds r0, r2, 0
adds r0, 0x84
ldrb r1, [r1]
lsls r1, 24
asrs r1, 24
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r1, r0
bne _080E7688
adds r0, r2, 0
adds r0, 0x85
strb r3, [r0]
b _080E77BC
.align 2, 0
_080E7684: .4byte 0x02001000
_080E7688:
adds r1, r2, 0
adds r1, 0x85
movs r0, 0
_080E768E:
strb r0, [r1]
b _080E77BC
_080E7692:
movs r0, 0x85
adds r0, r2
mov r12, r0
adds r4, r2, 0
adds r4, 0x83
movs r1, 0
ldrsb r1, [r0, r1]
ldrb r3, [r4]
movs r0, 0
ldrsb r0, [r4, r0]
cmp r1, r0
blt _080E76B0
subs r0, r3, 0x1
mov r1, r12
strb r0, [r1]
_080E76B0:
adds r1, r2, 0
adds r1, 0x86
adds r0, r2, 0
adds r0, 0x84
ldrb r3, [r1]
ldrb r1, [r1]
lsls r1, 24
asrs r1, 24
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r1, r0
beq _080E77BC
ldrb r0, [r4]
adds r4, r0, 0
muls r4, r3
adds r0, r4, 0
mov r5, r12
ldrb r5, [r5]
adds r0, r5
lsls r0, 24
lsrs r0, 24
ldrb r1, [r2, 0xA]
cmp r0, r1
bcc _080E77BC
subs r0, r1
mov r6, r12
strb r0, [r6]
b _080E77BC
_080E76EA:
ldrh r2, [r2, 0x30]
movs r0, 0x20
ands r0, r2
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0
beq _080E7744
ldr r2, _080E7728 @ =0x02001000
adds r3, r2, 0
adds r3, 0x85
ldrb r0, [r3]
subs r0, 0x1
strb r0, [r3]
lsls r0, 24
cmp r0, 0
bge _080E77BC
adds r1, r2, 0
adds r1, 0x86
adds r0, r2, 0
adds r0, 0x84
ldrb r4, [r1]
ldrb r1, [r1]
lsls r1, 24
asrs r1, 24
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r1, r0
bne _080E772C
movs r0, 0x2
b _080E77BA
.align 2, 0
_080E7728: .4byte 0x02001000
_080E772C:
adds r0, r2, 0
adds r0, 0x83
ldrb r0, [r0]
subs r1, r0, 0x1
strb r1, [r3]
adds r5, r4, 0
muls r5, r0
adds r0, r5, 0
adds r1, r0
lsls r1, 24
lsrs r0, r1, 24
b _080E77B2
_080E7744:
movs r0, 0x10
ands r0, r2
cmp r0, 0
beq _080E77C0
ldr r2, _080E777C @ =0x02001000
adds r5, r2, 0
adds r5, 0x86
adds r0, r2, 0
adds r0, 0x84
movs r1, 0
ldrsb r1, [r5, r1]
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r1, r0
bne _080E7780
adds r1, r2, 0
adds r1, 0x85
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
lsls r0, 24
asrs r0, 24
cmp r0, 0x2
ble _080E77BC
strb r4, [r1]
b _080E77BC
.align 2, 0
_080E777C: .4byte 0x02001000
_080E7780:
adds r3, r2, 0
adds r3, 0x85
ldrb r0, [r3]
adds r0, 0x1
strb r0, [r3]
movs r6, 0x83
adds r6, r2
mov r12, r6
lsls r0, 24
asrs r0, 24
movs r1, 0
ldrsb r1, [r6, r1]
cmp r0, r1
blt _080E779E
strb r4, [r3]
_080E779E:
ldrb r1, [r5]
mov r4, r12
ldrb r0, [r4]
adds r5, r0, 0
muls r5, r1
adds r0, r5, 0
ldrb r6, [r3]
adds r0, r6
lsls r0, 24
lsrs r0, 24
_080E77B2:
ldrb r1, [r2, 0xA]
cmp r0, r1
bcc _080E77BC
subs r0, r1
_080E77BA:
strb r0, [r3]
_080E77BC:
movs r0, 0x1
b _080E77C2
_080E77C0:
movs r0, 0
_080E77C2:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_80E75D8
thumb_func_start sub_80E77C8
sub_80E77C8: @ 80E77C8
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
movs r7, 0
ldr r1, _080E780C @ =0x02001000
ldr r2, _080E7810 @ =0x000001b7
adds r0, r1, r2
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
adds r3, r1, 0
cmp r0, 0
beq _080E783E
ldr r1, _080E7814 @ =gMain
ldrh r2, [r1, 0x30]
movs r0, 0x40
ands r0, r2
adds r6, r1, 0
cmp r0, 0
beq _080E7818
movs r4, 0xD4
lsls r4, 1
adds r1, r3, r4
ldrb r0, [r1]
subs r0, 0x1
strb r0, [r1]
lsls r0, 24
cmp r0, 0
ble _080E7806
b _080E7948
_080E7806:
movs r0, 0x3
strb r0, [r1]
b _080E7948
.align 2, 0
_080E780C: .4byte 0x02001000
_080E7810: .4byte 0x000001b7
_080E7814: .4byte gMain
_080E7818:
movs r0, 0x80
ands r0, r2
cmp r0, 0
bne _080E7822
b _080E7950
_080E7822:
movs r5, 0xD4
lsls r5, 1
adds r1, r3, r5
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
lsls r0, 24
asrs r0, 24
cmp r0, 0x3
bgt _080E7838
b _080E7948
_080E7838:
movs r0, 0x1
strb r0, [r1]
b _080E7948
_080E783E:
adds r0, r3, 0
adds r0, 0x26
ldrb r0, [r0]
cmp r0, 0x1
bne _080E789A
movs r4, 0
ldr r1, _080E7870 @ =gMain
ldrh r2, [r1, 0x30]
movs r0, 0x40
ands r0, r2
adds r6, r1, 0
cmp r0, 0
beq _080E7874
movs r6, 0xD4
lsls r6, 1
adds r1, r3, r6
ldrb r0, [r1]
subs r0, 0x1
strb r0, [r1]
lsls r0, 24
cmp r0, 0
bge _080E7944
movs r0, 0x3
strb r0, [r1]
b _080E7944
.align 2, 0
_080E7870: .4byte gMain
_080E7874:
movs r0, 0x80
ands r0, r2
cmp r0, 0
beq _080E7894
movs r0, 0xD4
lsls r0, 1
adds r1, r3, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
lsls r0, 24
asrs r0, 24
cmp r0, 0x3
ble _080E7892
strb r7, [r1]
_080E7892:
movs r4, 0x1
_080E7894:
cmp r4, 0
beq _080E7950
b _080E7944
_080E789A:
movs r4, 0
movs r1, 0xE0
lsls r1, 1
adds r5, r3, r1
strb r7, [r5]
ldr r1, _080E78E0 @ =gMain
ldrh r2, [r1, 0x30]
movs r0, 0x40
ands r0, r2
adds r6, r1, 0
cmp r0, 0
beq _080E78E8
movs r2, 0xD4
lsls r2, 1
adds r1, r3, r2
ldrb r2, [r1]
movs r0, 0
ldrsb r0, [r1, r0]
cmp r0, 0
bne _080E78C4
b _080E7A88
_080E78C4:
subs r0, r2, 0x1
strb r0, [r1]
ldr r4, _080E78E4 @ =0x000001b5
adds r1, r3, r4
lsls r0, 24
asrs r0, 24
ldrb r1, [r1]
lsls r1, 24
asrs r1, 24
cmp r0, r1
bge _080E7932
movs r0, 0xFF
strb r0, [r5]
b _080E7932
.align 2, 0
_080E78E0: .4byte gMain
_080E78E4: .4byte 0x000001b5
_080E78E8:
movs r0, 0x80
ands r0, r2
cmp r0, 0
beq _080E792E
movs r0, 0xD4
lsls r0, 1
adds r2, r3, r0
movs r1, 0
ldrsb r1, [r2, r1]
movs r4, 0xDB
lsls r4, 1
adds r0, r3, r4
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
subs r0, 0x1
cmp r1, r0
blt _080E790E
b _080E7A88
_080E790E:
ldrb r0, [r2]
adds r0, 0x1
strb r0, [r2]
movs r1, 0
ldrsb r1, [r2, r1]
ldr r2, _080E794C @ =0x000001b5
adds r0, r3, r2
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
adds r0, 0x3
cmp r1, r0
ble _080E792C
movs r0, 0x1
strb r0, [r5]
_080E792C:
movs r4, 0x1
_080E792E:
cmp r4, 0
beq _080E7950
_080E7932:
movs r4, 0xE0
lsls r4, 1
adds r0, r3, r4
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
beq _080E7944
b _080E7A88
_080E7944:
bl sub_80E7A98
_080E7948:
movs r0, 0x1
b _080E7A8A
.align 2, 0
_080E794C: .4byte 0x000001b5
_080E7950:
ldrh r1, [r6, 0x30]
movs r0, 0x20
ands r0, r1
lsls r0, 16
lsrs r6, r0, 16
cmp r6, 0
beq _080E7992
ldr r5, _080E7974 @ =0x000001a9
adds r2, r3, r5
ldrb r1, [r2]
movs r0, 0
ldrsb r0, [r2, r0]
cmp r0, 0
beq _080E7978
subs r0, r1, 0x1
strb r0, [r2]
b _080E79E6
.align 2, 0
_080E7974: .4byte 0x000001a9
_080E7978:
movs r6, 0xD4
lsls r6, 1
adds r0, r3, r6
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
movs r4, 0xD5
lsls r4, 1
adds r1, r3, r4
adds r0, r1
ldrb r0, [r0]
strb r0, [r2]
b _080E79E6
_080E7992:
movs r0, 0x10
ands r0, r1
cmp r0, 0
beq _080E79E2
ldr r5, _080E79D4 @ =0x000001b7
adds r0, r3, r5
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
bne _080E79CC
ldr r0, _080E79D8 @ =0x000001a9
adds r4, r3, r0
movs r1, 0xD4
lsls r1, 1
adds r0, r3, r1
movs r1, 0
ldrsb r1, [r0, r1]
movs r2, 0xD5
lsls r2, 1
adds r0, r3, r2
adds r1, r0
ldrb r5, [r4]
movs r2, 0
ldrsb r2, [r4, r2]
movs r0, 0
ldrsb r0, [r1, r0]
cmp r2, r0
bne _080E79DC
_080E79CC:
ldr r4, _080E79D8 @ =0x000001a9
adds r0, r3, r4
strb r6, [r0]
b _080E79E0
.align 2, 0
_080E79D4: .4byte 0x000001b7
_080E79D8: .4byte 0x000001a9
_080E79DC:
adds r0, r5, 0x1
strb r0, [r4]
_080E79E0:
movs r7, 0x1
_080E79E2:
cmp r7, 0
beq _080E7A88
_080E79E6:
adds r2, r3, 0
ldr r5, _080E7A48 @ =0x000001b7
adds r7, r2, r5
ldrb r6, [r7]
mov r9, r6
movs r1, 0
ldr r0, _080E7A4C @ =0x000001a9
adds r0, r2
mov r12, r0
subs r5, 0xF
adds r4, r2, r5
movs r0, 0
ldrsb r0, [r4, r0]
movs r6, 0xD5
lsls r6, 1
adds r6, r2
mov r8, r6
add r0, r8
mov r6, r12
movs r5, 0
ldrsb r5, [r6, r5]
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r5, r0
bne _080E7A1C
movs r1, 0x1
_080E7A1C:
strb r1, [r7]
cmp r1, 0
beq _080E7A58
ldr r0, _080E7A50 @ =0x000001b5
adds r1, r2, r0
ldrb r0, [r4]
ldrb r1, [r1]
subs r0, r1
strb r0, [r4]
lsls r0, 24
cmp r0, 0
beq _080E7A36
b _080E7948
_080E7A36:
movs r0, 0x1
strb r0, [r4]
ldr r1, _080E7A54 @ =0x000001ab
adds r0, r2, r1
ldrb r0, [r0]
mov r2, r12
strb r0, [r2]
b _080E7948
.align 2, 0
_080E7A48: .4byte 0x000001b7
_080E7A4C: .4byte 0x000001a9
_080E7A50: .4byte 0x000001b5
_080E7A54: .4byte 0x000001ab
_080E7A58:
mov r6, r9
cmp r6, 0
bne _080E7A60
b _080E7948
_080E7A60:
ldr r1, _080E7A84 @ =0x000001b5
adds r0, r3, r1
ldrb r0, [r0]
ldrb r2, [r4]
adds r0, r2
strb r0, [r4]
cmp r5, 0
bne _080E7A72
b _080E7948
_080E7A72:
movs r0, 0
ldrsb r0, [r4, r0]
add r0, r8
ldrb r0, [r0]
subs r0, 0x1
mov r4, r12
strb r0, [r4]
b _080E7948
.align 2, 0
_080E7A84: .4byte 0x000001b5
_080E7A88:
movs r0, 0
_080E7A8A:
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_80E77C8
thumb_func_start sub_80E7A98
sub_80E7A98: @ 80E7A98
push {lr}
ldr r1, _080E7ACC @ =0x02001000
ldr r0, _080E7AD0 @ =0x000001a9
adds r3, r1, r0
movs r2, 0xD4
lsls r2, 1
adds r0, r1, r2
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
adds r2, 0x2
adds r1, r2
adds r0, r1
movs r1, 0
ldrsb r1, [r3, r1]
ldrb r2, [r0]
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r1, r0
blt _080E7AC6
subs r0, r2, 0x1
strb r0, [r3]
_080E7AC6:
pop {r0}
bx r0
.align 2, 0
_080E7ACC: .4byte 0x02001000
_080E7AD0: .4byte 0x000001a9
thumb_func_end sub_80E7A98
thumb_func_start sub_80E7AD4
sub_80E7AD4: @ 80E7AD4
push {lr}
ldr r3, _080E7B08 @ =0x02001000
adds r0, r3, 0
adds r0, 0x26
ldrb r0, [r0]
cmp r0, 0
bne _080E7B10
ldr r1, _080E7B0C @ =0x000001a9
adds r0, r3, r1
movs r1, 0
ldrsb r1, [r0, r1]
movs r2, 0xD4
lsls r2, 1
adds r0, r3, r2
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
lsls r0, 1
adds r1, r0
adds r0, r3, 0
adds r0, 0x2A
adds r1, r0
ldrb r1, [r1]
adds r2, 0x10
b _080E7B34
.align 2, 0
_080E7B08: .4byte 0x02001000
_080E7B0C: .4byte 0x000001a9
_080E7B10:
ldr r1, _080E7B3C @ =0x000001a9
adds r0, r3, r1
movs r2, 0
ldrsb r2, [r0, r2]
subs r1, 0x1
adds r0, r3, r1
movs r1, 0
ldrsb r1, [r0, r1]
lsls r0, r1, 3
subs r0, r1
lsls r0, 1
adds r2, r0
adds r0, r3, 0
adds r0, 0x40
adds r2, r0
ldrb r1, [r2]
movs r2, 0xDC
lsls r2, 1
_080E7B34:
adds r0, r3, r2
strb r1, [r0]
pop {r0}
bx r0
.align 2, 0
_080E7B3C: .4byte 0x000001a9
thumb_func_end sub_80E7AD4
thumb_func_start sub_80E7B40
sub_80E7B40: @ 80E7B40
push {r4-r7,lr}
movs r5, 0
ldr r2, _080E7B8C @ =0x02001000
movs r0, 0xE0
lsls r0, 1
adds r6, r2, r0
strb r5, [r6]
ldr r1, _080E7B90 @ =gMain
ldrh r4, [r1, 0x30]
movs r0, 0x40
ands r0, r4
adds r3, r2, 0
adds r7, r1, 0
cmp r0, 0
beq _080E7B9C
ldr r2, _080E7B94 @ =0x00009cd0
adds r1, r3, r2
ldrb r2, [r1]
movs r0, 0
ldrsb r0, [r1, r0]
cmp r0, 0
bne _080E7B6E
b _080E7D1A
_080E7B6E:
subs r0, r2, 0x1
strb r0, [r1]
ldr r4, _080E7B98 @ =0x00009d55
adds r1, r3, r4
lsls r0, 24
asrs r0, 24
ldrb r1, [r1]
lsls r1, 24
asrs r1, 24
cmp r0, r1
bge _080E7BF2
movs r0, 0xFF
strb r0, [r6]
b _080E7D1A
.align 2, 0
_080E7B8C: .4byte 0x02001000
_080E7B90: .4byte gMain
_080E7B94: .4byte 0x00009cd0
_080E7B98: .4byte 0x00009d55
_080E7B9C:
movs r0, 0x80
ands r0, r4
cmp r0, 0
beq _080E7BEE
ldr r0, _080E7BE0 @ =0x00009cd0
adds r2, r3, r0
movs r1, 0
ldrsb r1, [r2, r1]
ldr r4, _080E7BE4 @ =0x00009d54
adds r0, r3, r4
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
subs r0, 0x1
cmp r1, r0
blt _080E7BBE
b _080E7D1A
_080E7BBE:
ldrb r0, [r2]
adds r0, 0x1
strb r0, [r2]
movs r1, 0
ldrsb r1, [r2, r1]
ldr r2, _080E7BE8 @ =0x00009d55
adds r0, r3, r2
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
adds r0, 0x4
cmp r1, r0
blt _080E7BEC
movs r0, 0x1
strb r0, [r6]
b _080E7D1A
.align 2, 0
_080E7BE0: .4byte 0x00009cd0
_080E7BE4: .4byte 0x00009d54
_080E7BE8: .4byte 0x00009d55
_080E7BEC:
movs r5, 0x1
_080E7BEE:
cmp r5, 0
beq _080E7BFA
_080E7BF2:
bl sub_80E7D30
_080E7BF6:
movs r0, 0x1
b _080E7D1C
_080E7BFA:
ldrh r1, [r7, 0x30]
movs r0, 0x20
ands r0, r1
lsls r0, 16
lsrs r5, r0, 16
cmp r5, 0
beq _080E7C38
ldr r4, _080E7C30 @ =0x00009cd1
adds r2, r3, r4
ldrb r0, [r2]
subs r0, 0x1
strb r0, [r2]
lsls r0, 24
cmp r0, 0
bge _080E7BF6
ldr r6, _080E7C34 @ =0x00009cd0
adds r0, r3, r6
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
adds r4, 0x1
adds r1, r3, r4
adds r0, r1
ldrb r0, [r0]
subs r0, 0x1
strb r0, [r2]
b _080E7BF6
.align 2, 0
_080E7C30: .4byte 0x00009cd1
_080E7C34: .4byte 0x00009cd0
_080E7C38:
movs r0, 0x10
ands r0, r1
cmp r0, 0
beq _080E7C70
ldr r6, _080E7C68 @ =0x00009cd1
adds r4, r3, r6
ldrb r0, [r4]
adds r0, 0x1
strb r0, [r4]
ldr r2, _080E7C6C @ =0x00009cd0
adds r1, r3, r2
movs r2, 0
ldrsb r2, [r1, r2]
adds r6, 0x1
adds r1, r3, r6
adds r2, r1
lsls r0, 24
asrs r0, 24
movs r1, 0
ldrsb r1, [r2, r1]
cmp r0, r1
blt _080E7BF6
strb r5, [r4]
b _080E7BF6
.align 2, 0
_080E7C68: .4byte 0x00009cd1
_080E7C6C: .4byte 0x00009cd0
_080E7C70:
ldrh r1, [r7, 0x2E]
movs r0, 0x8
ands r0, r1
cmp r0, 0
beq _080E7CC4
ldr r1, _080E7CBC @ =0x00009d55
adds r0, r3, r1
ldrb r1, [r0]
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
beq _080E7CA2
negs r0, r1
movs r4, 0xE0
lsls r4, 1
adds r2, r3, r4
strb r0, [r2]
lsls r0, 24
asrs r0, 24
movs r1, 0x4
negs r1, r1
cmp r0, r1
bge _080E7CA2
strb r1, [r2]
_080E7CA2:
ldr r6, _080E7CC0 @ =0x00009cd0
adds r1, r3, r6
movs r2, 0xE0
lsls r2, 1
adds r0, r3, r2
ldrb r0, [r0]
ldrb r4, [r1]
adds r0, r4
strb r0, [r1]
movs r6, 0xDF
lsls r6, 1
adds r1, r3, r6
b _080E7D16
.align 2, 0
_080E7CBC: .4byte 0x00009d55
_080E7CC0: .4byte 0x00009cd0
_080E7CC4:
movs r0, 0x4
ands r0, r1
cmp r0, 0
beq _080E7D1A
ldr r0, _080E7D24 @ =0x00009d55
adds r4, r3, r0
movs r1, 0
ldrsb r1, [r4, r1]
ldr r6, _080E7D28 @ =0x00009d54
adds r2, r3, r6
movs r0, 0
ldrsb r0, [r2, r0]
subs r0, 0x4
cmp r1, r0
bge _080E7CFE
ldrb r1, [r4]
adds r1, 0x4
ldrb r0, [r2]
subs r0, r1
movs r2, 0xE0
lsls r2, 1
adds r1, r3, r2
strb r0, [r1]
lsls r0, 24
asrs r0, 24
cmp r0, 0x4
ble _080E7CFE
movs r0, 0x4
strb r0, [r1]
_080E7CFE:
ldr r4, _080E7D2C @ =0x00009cd0
adds r1, r3, r4
movs r6, 0xE0
lsls r6, 1
adds r0, r3, r6
ldrb r0, [r0]
ldrb r2, [r1]
adds r0, r2
strb r0, [r1]
movs r4, 0xDF
lsls r4, 1
adds r1, r3, r4
_080E7D16:
movs r0, 0x4
strb r0, [r1]
_080E7D1A:
movs r0, 0
_080E7D1C:
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_080E7D24: .4byte 0x00009d55
_080E7D28: .4byte 0x00009d54
_080E7D2C: .4byte 0x00009cd0
thumb_func_end sub_80E7B40
thumb_func_start sub_80E7D30
sub_80E7D30: @ 80E7D30
push {r4,lr}
ldr r0, _080E7D60 @ =0x02001000
ldr r1, _080E7D64 @ =0x00009cd1
adds r4, r0, r1
ldr r2, _080E7D68 @ =0x00009cd0
adds r1, r0, r2
ldrb r1, [r1]
lsls r1, 24
asrs r1, 24
adds r2, 0x2
adds r0, r2
adds r1, r0
movs r2, 0
ldrsb r2, [r4, r2]
ldrb r3, [r1]
movs r0, 0
ldrsb r0, [r1, r0]
cmp r2, r0
blt _080E7D5A
subs r0, r3, 0x1
strb r0, [r4]
_080E7D5A:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E7D60: .4byte 0x02001000
_080E7D64: .4byte 0x00009cd1
_080E7D68: .4byte 0x00009cd0
thumb_func_end sub_80E7D30
thumb_func_start sub_80E7D6C
sub_80E7D6C: @ 80E7D6C
push {r4,r5,lr}
movs r4, 0
ldr r0, _080E7D94 @ =0x02001000
ldrb r1, [r0, 0xA]
cmp r4, r1
bcs _080E7D8E
adds r5, r0, 0
_080E7D7A:
adds r0, r4, 0
ldr r1, _080E7D98 @ =0x0000ffff
bl sub_80E7F00
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
ldrb r0, [r5, 0xA]
cmp r4, r0
bcc _080E7D7A
_080E7D8E:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080E7D94: .4byte 0x02001000
_080E7D98: .4byte 0x0000ffff
thumb_func_end sub_80E7D6C
thumb_func_start sub_80E7D9C
sub_80E7D9C: @ 80E7D9C
push {r4,r5,lr}
movs r2, 0
ldr r0, _080E7DCC @ =0x02001000
ldrb r1, [r0, 0xA]
cmp r2, r1
bcs _080E7DC6
adds r3, r0, 0
ldr r4, [r3, 0x4]
adds r5, r3, 0
adds r5, 0xC
_080E7DB0:
lsls r0, r2, 1
adds r1, r0, r4
adds r0, r5
ldrh r0, [r0]
strh r0, [r1]
adds r0, r2, 0x1
lsls r0, 16
lsrs r2, r0, 16
ldrb r0, [r3, 0xA]
cmp r2, r0
bcc _080E7DB0
_080E7DC6:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080E7DCC: .4byte 0x02001000
thumb_func_end sub_80E7D9C
thumb_func_start sub_80E7DD0
sub_80E7DD0: @ 80E7DD0
push {r4,lr}
ldr r2, _080E7E28 @ =0x02001000
ldr r1, _080E7E2C @ =0x00009cd1
adds r0, r2, r1
movs r1, 0
ldrsb r1, [r0, r1]
lsls r1, 1
ldr r3, _080E7E30 @ =0x00009cd0
adds r0, r2, r3
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
lsls r0, 2
adds r1, r0
adds r3, 0x86
adds r0, r2, r3
adds r1, r0
ldrh r4, [r1]
adds r0, r2, 0
adds r0, 0x7D
ldrb r0, [r0]
cmp r0, 0
beq _080E7E34
adds r0, r2, 0
adds r0, 0x86
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
adds r1, r2, 0
adds r1, 0x7E
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x1
bls _080E7E34
adds r0, r4, 0
bl sub_80EB2D4
lsls r0, 16
lsrs r0, 16
cmp r0, 0x7
bne _080E7E34
movs r0, 0
b _080E7E46
.align 2, 0
_080E7E28: .4byte 0x02001000
_080E7E2C: .4byte 0x00009cd1
_080E7E30: .4byte 0x00009cd0
_080E7E34:
ldr r0, _080E7E4C @ =0x02001000
adds r0, 0x27
ldrb r0, [r0]
adds r1, r4, 0
bl sub_80E7F00
bl sub_80E95A4
movs r0, 0x1
_080E7E46:
pop {r4}
pop {r1}
bx r1
.align 2, 0
_080E7E4C: .4byte 0x02001000
thumb_func_end sub_80E7DD0
thumb_func_start sub_80E7E50
sub_80E7E50: @ 80E7E50
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x8
movs r5, 0
movs r2, 0
ldr r1, _080E7EF0 @ =0x02001000
adds r3, r1, 0
adds r3, 0x84
movs r0, 0
ldrsb r0, [r3, r0]
cmp r2, r0
bge _080E7EDE
mov r8, r1
adds r0, r1, 0
str r0, [sp]
_080E7E74:
mov r0, r8
adds r0, 0x7E
adds r0, r2, r0
movs r1, 0
strb r1, [r0]
movs r3, 0
ldr r6, _080E7EF4 @ =0x02001083
movs r0, 0
ldrsb r0, [r6, r0]
adds r1, r2, 0x1
str r1, [sp, 0x4]
cmp r3, r0
bge _080E7ECE
ldr r6, [sp]
mov r12, r6
movs r0, 0
mov r10, r0
ldr r1, _080E7EF4 @ =0x02001083
mov r9, r1
ldr r7, _080E7EF8 @ =0x0200100c
lsls r4, r2, 1
_080E7E9E:
lsls r1, r5, 1
adds r2, r1, r7
mov r6, r12
ldr r0, [r6, 0x4]
adds r1, r0
ldrh r0, [r1]
strh r0, [r2]
adds r0, r3, r4
mov r1, r12
adds r1, 0x8C
adds r0, r1
mov r1, r10
strb r1, [r0]
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
adds r0, r3, 0x1
lsls r0, 16
lsrs r3, r0, 16
mov r6, r9
movs r0, 0
ldrsb r0, [r6, r0]
cmp r3, r0
blt _080E7E9E
_080E7ECE:
ldr r1, [sp, 0x4]
lsls r0, r1, 16
lsrs r2, r0, 16
ldr r6, _080E7EFC @ =0x02001084
movs r0, 0
ldrsb r0, [r6, r0]
cmp r2, r0
blt _080E7E74
_080E7EDE:
add sp, 0x8
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E7EF0: .4byte 0x02001000
_080E7EF4: .4byte 0x02001083
_080E7EF8: .4byte 0x0200100c
_080E7EFC: .4byte 0x02001084
thumb_func_end sub_80E7E50
thumb_func_start sub_80E7F00
sub_80E7F00: @ 80E7F00
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
lsls r0, 16
lsrs r6, r0, 16
lsls r1, 16
lsrs r1, 16
mov r9, r1
ldr r7, _080E7F68 @ =0x02001000
adds r0, r7, 0
adds r0, 0x83
movs r4, 0
ldrsb r4, [r0, r4]
adds r0, r6, 0
adds r1, r4, 0
bl __divsi3
lsls r0, 16
lsrs r5, r0, 16
adds r0, r6, 0
adds r1, r4, 0
bl __modsi3
lsls r0, 16
lsrs r0, 16
mov r8, r0
lsls r0, r6, 1
adds r1, r7, 0
adds r1, 0xC
adds r0, r1
ldrh r0, [r0]
bl sub_80EB2D4
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
mov r0, r9
bl sub_80EB2D4
lsls r0, 16
lsrs r3, r0, 16
cmp r4, 0x7
bne _080E7F6C
cmp r3, 0x7
beq _080E7F7C
adds r1, r7, 0
adds r1, 0x7E
adds r1, r5, r1
ldrb r0, [r1]
subs r0, 0x1
b _080E7F7A
.align 2, 0
_080E7F68: .4byte 0x02001000
_080E7F6C:
cmp r3, 0x7
bne _080E7F7C
adds r1, r7, 0
adds r1, 0x7E
adds r1, r5, r1
ldrb r0, [r1]
adds r0, 0x1
_080E7F7A:
strb r0, [r1]
_080E7F7C:
movs r3, 0
ldr r2, _080E7FA4 @ =0x02001000
lsls r0, r5, 1
add r0, r8
adds r1, r2, 0
adds r1, 0x8C
adds r0, r1
strb r3, [r0]
lsls r0, r6, 1
adds r2, 0xC
adds r0, r2
mov r1, r9
strh r1, [r0]
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E7FA4: .4byte 0x02001000
thumb_func_end sub_80E7F00
thumb_func_start sub_80E7FA8
sub_80E7FA8: @ 80E7FA8
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
movs r0, 0
mov r8, r0
movs r5, 0
ldr r0, _080E8040 @ =0x02001000
ldrb r1, [r0, 0xA]
cmp r8, r1
bcs _080E802E
ldr r3, _080E8044 @ =0x0000a140
adds r6, r0, r3
ldr r1, _080E8048 @ =0x0000a16d
adds r1, r0
mov r9, r1
_080E7FC8:
ldr r3, _080E804C @ =0xffff5ec0
adds r7, r6, r3
ldr r0, [r7, 0x4]
lsls r4, r5, 1
adds r0, r4, r0
ldrh r1, [r0]
adds r0, r6, 0
movs r2, 0
bl sub_80EB218
ldr r1, _080E8050 @ =0xffff5ecc
adds r0, r6, r1
adds r0, r4
ldrh r1, [r0]
mov r0, r9
movs r2, 0
bl sub_80EB218
adds r1, r6, 0
mov r2, r9
ldrb r0, [r1]
adds r4, r5, 0x1
ldrb r3, [r2]
cmp r0, r3
bne _080E8018
adds r3, r7, 0
cmp r0, 0xFF
beq _080E8010
_080E8000:
adds r1, 0x1
adds r2, 0x1
ldrb r0, [r1]
ldrb r5, [r2]
cmp r0, r5
bne _080E8018
cmp r0, 0xFF
bne _080E8000
_080E8010:
ldrb r0, [r1]
ldrb r2, [r2]
cmp r0, r2
beq _080E8024
_080E8018:
mov r0, r8
adds r0, 0x1
lsls r0, 16
lsrs r0, 16
mov r8, r0
ldr r3, _080E8040 @ =0x02001000
_080E8024:
lsls r0, r4, 16
lsrs r5, r0, 16
ldrb r3, [r3, 0xA]
cmp r5, r3
bcc _080E7FC8
_080E802E:
mov r1, r8
lsls r0, r1, 24
lsrs r0, 24
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_080E8040: .4byte 0x02001000
_080E8044: .4byte 0x0000a140
_080E8048: .4byte 0x0000a16d
_080E804C: .4byte 0xffff5ec0
_080E8050: .4byte 0xffff5ecc
thumb_func_end sub_80E7FA8
thumb_func_start sub_80E8054
sub_80E8054: @ 80E8054
push {r4,lr}
movs r1, 0
ldr r2, _080E8078 @ =0x02001000
ldrb r0, [r2, 0xA]
cmp r1, r0
bcs _080E808A
adds r4, r2, 0
adds r4, 0xC
ldr r3, _080E807C @ =0x0000ffff
adds r2, r0, 0
_080E8068:
lsls r0, r1, 1
adds r0, r4
ldrh r0, [r0]
cmp r0, r3
beq _080E8080
movs r0, 0
b _080E808C
.align 2, 0
_080E8078: .4byte 0x02001000
_080E807C: .4byte 0x0000ffff
_080E8080:
adds r0, r1, 0x1
lsls r0, 16
lsrs r1, r0, 16
cmp r1, r2
bcc _080E8068
_080E808A:
movs r0, 0x1
_080E808C:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_80E8054
thumb_func_start sub_80E8094
sub_80E8094: @ 80E8094
push {r4-r7,lr}
movs r5, 0
ldr r6, _080E80C4 @ =0x0200b140
adds r7, r6, 0
adds r7, 0x2D
_080E809E:
lsls r4, r5, 1
ldr r1, _080E80C8 @ =0xffff5ecc
adds r0, r6, r1
adds r0, r4
ldrh r1, [r0]
adds r0, r6, 0
movs r2, 0
bl sub_80EB218
ldr r0, _080E80CC @ =gMysteryEventPhrase
adds r4, r0
ldrh r1, [r4]
adds r0, r7, 0
movs r2, 0
bl sub_80EB218
adds r3, r6, 0
adds r4, r7, 0
b _080E80D8
.align 2, 0
_080E80C4: .4byte 0x0200b140
_080E80C8: .4byte 0xffff5ecc
_080E80CC: .4byte gMysteryEventPhrase
_080E80D0:
adds r4, 0x1
adds r3, 0x1
cmp r2, r1
bne _080E80F4
_080E80D8:
ldrb r2, [r3]
adds r0, r2, 0
cmp r0, 0xFF
beq _080E80EE
ldrb r1, [r4]
adds r0, r1, 0
cmp r0, 0xFF
bne _080E80D0
ldrb r0, [r3]
cmp r0, 0xFF
bne _080E80F4
_080E80EE:
ldrb r0, [r4]
cmp r0, 0xFF
beq _080E80F8
_080E80F4:
movs r0, 0
b _080E8104
_080E80F8:
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
cmp r5, 0x3
bls _080E809E
movs r0, 0x1
_080E8104:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_80E8094
thumb_func_start sub_80E810C
sub_80E810C: @ 80E810C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
movs r5, 0
ldr r6, _080E8198 @ =0x0200b19a
ldr r0, _080E819C @ =0xffff5e66
adds r0, r6
mov r9, r0
movs r1, 0
mov r8, r1
adds r7, r6, 0
adds r7, 0x80
ldr r2, _080E81A0 @ =gBerryMasterWifePhrases
mov r10, r2
_080E812C:
mov r0, r9
ldrh r1, [r0, 0xC]
adds r0, r6, 0
movs r2, 0
bl sub_80EB218
mov r1, r8
strb r1, [r0]
adds r0, 0x1
mov r2, r9
ldrh r1, [r2, 0xE]
movs r2, 0
bl sub_80EB218
lsls r4, r5, 2
mov r1, r10
adds r0, r4, r1
ldrh r1, [r0]
adds r0, r7, 0
movs r2, 0
bl sub_80EB218
mov r2, r8
strb r2, [r0]
adds r0, 0x1
ldr r1, _080E81A4 @ =gBerryMasterWifePhrases + 0x2
adds r4, r1
ldrh r1, [r4]
movs r2, 0
bl sub_80EB218
adds r0, r6, 0
adds r3, r7, 0
adds r4, r5, 0x1
_080E8170:
ldrb r2, [r0]
cmp r2, 0xFF
beq _080E818A
ldrb r1, [r3]
cmp r1, 0xFF
beq _080E8184
adds r3, 0x1
adds r0, 0x1
cmp r2, r1
beq _080E8170
_080E8184:
ldrb r0, [r0]
cmp r0, 0xFF
bne _080E81A8
_080E818A:
ldrb r0, [r3]
cmp r0, 0xFF
bne _080E81A8
lsls r0, r4, 24
lsrs r0, 24
b _080E81B2
.align 2, 0
_080E8198: .4byte 0x0200b19a
_080E819C: .4byte 0xffff5e66
_080E81A0: .4byte gBerryMasterWifePhrases
_080E81A4: .4byte gBerryMasterWifePhrases + 0x2
_080E81A8:
lsls r0, r4, 16
lsrs r5, r0, 16
cmp r5, 0x4
bls _080E812C
movs r0, 0
_080E81B2:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_80E810C
thumb_func_start sub_80E81C0
sub_80E81C0: @ 80E81C0
push {r4,lr}
ldr r0, _080E81EC @ =gStringVar2
ldr r4, _080E81F0 @ =0x02001000
ldr r2, _080E81F4 @ =0x00009fa8
adds r1, r4, r2
ldrh r1, [r1]
movs r2, 0
bl sub_80EB218
movs r1, 0
strb r1, [r0]
adds r0, 0x1
ldr r1, _080E81F8 @ =0x00009faa
adds r4, r1
ldrh r1, [r4]
movs r2, 0
bl sub_80EB218
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E81EC: .4byte gStringVar2
_080E81F0: .4byte 0x02001000
_080E81F4: .4byte 0x00009fa8
_080E81F8: .4byte 0x00009faa
thumb_func_end sub_80E81C0
thumb_func_start sub_80E81FC
sub_80E81FC: @ 80E81FC
push {lr}
movs r0, 0x5
bl PlaySE
bl sub_80E95A4
movs r0, 0
movs r1, 0
movs r2, 0x1D
movs r3, 0xD
bl MenuZeroFillWindowRect
pop {r0}
bx r0
thumb_func_end sub_80E81FC
thumb_func_start sub_80E8218
sub_80E8218: @ 80E8218
push {r4,r5,lr}
sub sp, 0x40
mov r1, sp
ldr r0, _080E8260 @ =gSpriteSheets_Interview
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
ldm r0!, {r2,r3,r5}
stm r1!, {r2,r3,r5}
ldm r0!, {r2,r4,r5}
stm r1!, {r2,r4,r5}
ldr r0, [r0]
str r0, [r1]
add r4, sp, 0x28
adds r1, r4, 0
ldr r0, _080E8264 @ =gSpritePalettes_Interview
ldm r0!, {r2,r3,r5}
stm r1!, {r2,r3,r5}
ldm r0!, {r2,r3,r5}
stm r1!, {r2,r3,r5}
mov r0, sp
bl LoadSpriteSheets
adds r0, r4, 0
bl LoadSpritePalettes
bl sub_80E8268
bl sub_80E8818
bl sub_80E8A7C
add sp, 0x40
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080E8260: .4byte gSpriteSheets_Interview
_080E8264: .4byte gSpritePalettes_Interview
thumb_func_end sub_80E8218
thumb_func_start sub_80E8268
sub_80E8268: @ 80E8268
push {lr}
ldr r0, _080E82B0 @ =gSpriteTemplate_83DBBFC
movs r1, 0
movs r2, 0
movs r3, 0
bl CreateSprite
lsls r0, 24
lsrs r0, 24
ldr r2, _080E82B4 @ =gSprites
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r2
ldr r0, _080E82B8 @ =gUnknown_083DB694
ldr r3, [r0]
adds r0, r3, 0
adds r0, 0x8A
ldrh r0, [r0]
lsls r0, 3
adds r0, 0x8
movs r2, 0
strh r0, [r1, 0x22]
adds r0, r3, 0
adds r0, 0x88
ldrh r0, [r0]
lsls r0, 3
adds r0, 0x4
strh r0, [r1, 0x20]
strh r2, [r1, 0x2E]
strh r2, [r1, 0x30]
adds r0, r3, 0
adds r0, 0x98
str r1, [r0]
pop {r0}
bx r0
.align 2, 0
_080E82B0: .4byte gSpriteTemplate_83DBBFC
_080E82B4: .4byte gSprites
_080E82B8: .4byte gUnknown_083DB694
thumb_func_end sub_80E8268
thumb_func_start sub_80E82BC
sub_80E82BC: @ 80E82BC
push {r4-r7,lr}
adds r3, r0, 0
movs r1, 0x30
ldrsh r0, [r3, r1]
cmp r0, 0
bne _080E838C
ldr r0, _080E8334 @ =gUnknown_083DB694
ldr r2, [r0]
adds r1, r2, 0
adds r1, 0x87
ldrb r1, [r1]
mov r12, r0
cmp r1, 0
beq _080E836C
adds r0, r2, 0
adds r0, 0x86
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
lsls r0, 16
lsrs r5, r0, 16
adds r0, r2, 0
adds r0, 0x85
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
lsls r0, 16
lsrs r4, r0, 16
movs r7, 0
movs r1, 0
cmp r7, r4
bcs _080E8316
lsls r6, r5, 1
adds r2, 0x8C
_080E8300:
adds r0, r1, r6
adds r0, r2, r0
ldrb r0, [r0]
adds r0, r7, r0
lsls r0, 16
lsrs r7, r0, 16
adds r0, r1, 0x1
lsls r0, 16
lsrs r1, r0, 16
cmp r1, r4
bcc _080E8300
_080E8316:
mov r0, r12
ldr r2, [r0]
adds r0, r2, 0
adds r0, 0x84
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r5, r0
bne _080E8338
movs r0, 0x60
strh r0, [r3, 0x22]
lsls r0, r4, 3
subs r0, r4
adds r0, 0x3
b _080E8356
.align 2, 0
_080E8334: .4byte gUnknown_083DB694
_080E8338:
adds r1, r2, 0
adds r1, 0x8A
lsls r0, r5, 1
ldrh r1, [r1]
adds r0, r1
lsls r0, 3
adds r0, 0x8
strh r0, [r3, 0x22]
adds r0, r2, 0
adds r0, 0x88
ldrh r0, [r0]
adds r0, r7
movs r1, 0xB
muls r1, r4
adds r0, r1
_080E8356:
lsls r0, 3
adds r0, 0x4
strh r0, [r3, 0x20]
movs r1, 0
ldr r0, _080E8368 @ =0x0000fffa
strh r0, [r3, 0x24]
strh r1, [r3, 0x2E]
b _080E838C
.align 2, 0
_080E8368: .4byte 0x0000fffa
_080E836C:
ldrh r0, [r3, 0x2E]
adds r0, 0x1
strh r0, [r3, 0x2E]
lsls r0, 16
asrs r0, 16
cmp r0, 0x2
ble _080E838C
strh r1, [r3, 0x2E]
ldrh r0, [r3, 0x24]
adds r0, 0x1
strh r0, [r3, 0x24]
lsls r0, 16
cmp r0, 0
ble _080E838C
ldr r0, _080E8394 @ =0x0000fffa
strh r0, [r3, 0x24]
_080E838C:
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E8394: .4byte 0x0000fffa
thumb_func_end sub_80E82BC
thumb_func_start sub_80E8398
sub_80E8398: @ 80E8398
push {lr}
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0x1
beq _080E83D4
cmp r3, 0x1
bgt _080E83AC
cmp r3, 0
beq _080E83B2
b _080E8416
_080E83AC:
cmp r3, 0x2
beq _080E83F8
b _080E8416
_080E83B2:
ldr r0, _080E83D0 @ =gUnknown_083DB694
ldr r0, [r0]
adds r0, 0x98
ldr r1, [r0]
strh r3, [r1, 0x30]
ldr r1, [r0]
strh r3, [r1, 0x24]
ldr r1, [r0]
adds r1, 0x3E
ldrb r2, [r1]
movs r0, 0x5
negs r0, r0
ands r0, r2
b _080E8414
.align 2, 0
_080E83D0: .4byte gUnknown_083DB694
_080E83D4:
ldr r0, _080E83F4 @ =gUnknown_083DB694
ldr r1, [r0]
adds r1, 0x98
ldr r0, [r1]
movs r2, 0
strh r3, [r0, 0x30]
ldr r0, [r1]
strh r2, [r0, 0x24]
ldr r1, [r1]
adds r1, 0x3E
ldrb r2, [r1]
movs r0, 0x5
negs r0, r0
ands r0, r2
b _080E8414
.align 2, 0
_080E83F4: .4byte gUnknown_083DB694
_080E83F8:
ldr r0, _080E841C @ =gUnknown_083DB694
ldr r1, [r0]
adds r1, 0x98
ldr r2, [r1]
movs r3, 0
movs r0, 0x1
strh r0, [r2, 0x30]
ldr r0, [r1]
strh r3, [r0, 0x24]
ldr r1, [r1]
adds r1, 0x3E
ldrb r0, [r1]
movs r2, 0x4
orrs r0, r2
_080E8414:
strb r0, [r1]
_080E8416:
pop {r0}
bx r0
.align 2, 0
_080E841C: .4byte gUnknown_083DB694
thumb_func_end sub_80E8398
thumb_func_start sub_80E8420
sub_80E8420: @ 80E8420
push {r4-r7,lr}
sub sp, 0x18
mov r1, sp
ldr r0, _080E84E0 @ =gSpriteTemplate_83DBCAC
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
mov r0, sp
movs r1, 0
movs r2, 0
movs r3, 0x3
bl CreateSprite
lsls r0, 24
lsrs r0, 24
ldr r1, _080E84E4 @ =gUnknown_083DB694
ldr r7, [r1]
adds r5, r7, 0
adds r5, 0x9C
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
ldr r4, _080E84E8 @ =gSprites
adds r1, r4
str r1, [r5]
ldr r0, _080E84EC @ =gSpriteAnimTable_83DBC8C
str r0, [sp, 0x8]
ldr r0, _080E84F0 @ =sub_80E872C
str r0, [sp, 0x14]
mov r0, sp
movs r1, 0
movs r2, 0
movs r3, 0x4
bl CreateSprite
lsls r0, 24
lsrs r0, 24
adds r6, r7, 0
adds r6, 0xA0
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r4
str r1, [r6]
ldr r0, _080E84F4 @ =gSpriteAnimTable_83DBC9C
str r0, [sp, 0x8]
ldr r0, _080E84F8 @ =sub_80E8760
str r0, [sp, 0x14]
mov r0, sp
movs r1, 0
movs r2, 0
movs r3, 0x5
bl CreateSprite
lsls r0, 24
lsrs r0, 24
adds r2, r7, 0
adds r2, 0xA4
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r4
str r1, [r2]
ldr r0, [r5]
movs r1, 0
strh r1, [r0, 0x2E]
ldr r0, [r6]
strh r1, [r0, 0x2E]
ldr r0, [r2]
strh r1, [r0, 0x2E]
movs r0, 0x1
bl IndexOfSpritePaletteTag
ldr r1, [r5]
lsls r0, 24
lsrs r0, 20
ldr r2, _080E84FC @ =0x00000101
adds r0, r2
strh r0, [r1, 0x34]
bl sub_80E8534
adds r1, r7, 0
adds r1, 0x96
movs r0, 0x1
strb r0, [r1]
ldr r1, _080E8500 @ =REG_BLDCNT
movs r3, 0xFD
lsls r3, 6
adds r0, r3, 0
strh r0, [r1]
add sp, 0x18
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E84E0: .4byte gSpriteTemplate_83DBCAC
_080E84E4: .4byte gUnknown_083DB694
_080E84E8: .4byte gSprites
_080E84EC: .4byte gSpriteAnimTable_83DBC8C
_080E84F0: .4byte sub_80E872C
_080E84F4: .4byte gSpriteAnimTable_83DBC9C
_080E84F8: .4byte sub_80E8760
_080E84FC: .4byte 0x00000101
_080E8500: .4byte REG_BLDCNT
thumb_func_end sub_80E8420
thumb_func_start sub_80E8504
sub_80E8504: @ 80E8504
push {r4,lr}
ldr r0, _080E8530 @ =gUnknown_083DB694
ldr r4, [r0]
adds r0, r4, 0
adds r0, 0x9C
ldr r0, [r0]
bl DestroySprite
adds r0, r4, 0
adds r0, 0xA0
ldr r0, [r0]
bl DestroySprite
adds r0, r4, 0
adds r0, 0xA4
ldr r0, [r0]
bl DestroySprite
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E8530: .4byte gUnknown_083DB694
thumb_func_end sub_80E8504
thumb_func_start sub_80E8534
sub_80E8534: @ 80E8534
push {r4-r7,lr}
mov r7, r8
push {r7}
ldr r1, _080E8554 @ =gUnknown_083DB694
ldr r3, [r1]
ldr r2, _080E8558 @ =0x000001b7
adds r0, r3, r2
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
adds r4, r1, 0
cmp r0, 0
beq _080E8560
ldr r1, _080E855C @ =gUnknown_020388AC
movs r0, 0x1
b _080E8598
.align 2, 0
_080E8554: .4byte gUnknown_083DB694
_080E8558: .4byte 0x000001b7
_080E855C: .4byte gUnknown_020388AC
_080E8560:
adds r0, r3, 0
adds r0, 0x26
ldrb r2, [r0]
cmp r2, 0
bne _080E8578
ldr r0, _080E8574 @ =gUnknown_020388AC
strb r2, [r0]
adds r7, r0, 0
b _080E859C
.align 2, 0
_080E8574: .4byte gUnknown_020388AC
_080E8578:
movs r1, 0xD4
lsls r1, 1
adds r0, r3, r1
ldrh r1, [r0]
movs r0, 0xC0
lsls r0, 3
cmp r1, r0
bne _080E8594
ldr r1, _080E8590 @ =gUnknown_020388AC
movs r0, 0x2
b _080E8598
.align 2, 0
_080E8590: .4byte gUnknown_020388AC
_080E8594:
ldr r1, _080E85F4 @ =gUnknown_020388AC
movs r0, 0x3
_080E8598:
strb r0, [r1]
adds r7, r1, 0
_080E859C:
ldr r2, [r4]
adds r4, r2, 0
adds r4, 0x9C
ldr r1, [r4]
ldrb r0, [r7]
movs r3, 0
mov r8, r3
strh r0, [r1, 0x32]
adds r5, r2, 0
adds r5, 0xA0
ldr r1, [r5]
ldrb r0, [r7]
strh r0, [r1, 0x32]
adds r6, r2, 0
adds r6, 0xA4
ldr r1, [r6]
ldrb r0, [r7]
strh r0, [r1, 0x32]
ldr r0, [r4]
ldrb r1, [r7]
bl StartSpriteAnim
ldr r0, [r5]
ldrb r1, [r7]
bl StartSpriteAnim
ldr r0, [r6]
ldrb r1, [r7]
bl StartSpriteAnim
ldr r0, [r4]
movs r1, 0x8
strh r1, [r0, 0x38]
ldr r0, [r4]
strh r1, [r0, 0x3A]
ldr r0, [r4]
mov r1, r8
strh r1, [r0, 0x30]
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E85F4: .4byte gUnknown_020388AC
thumb_func_end sub_80E8534
thumb_func_start sub_80E85F8
sub_80E85F8: @ 80E85F8
push {r4-r6,lr}
adds r5, r0, 0
ldrh r0, [r5, 0x2E]
adds r0, 0x1
strh r0, [r5, 0x2E]
movs r1, 0x1
ands r0, r1
cmp r0, 0
beq _080E8624
ldr r1, _080E8620 @ =gSineTable
movs r2, 0x30
ldrsh r0, [r5, r2]
lsls r0, 1
adds r0, r1
ldrh r0, [r0]
lsls r0, 16
asrs r0, 21
adds r0, 0x8
strh r0, [r5, 0x38]
b _080E863A
.align 2, 0
_080E8620: .4byte gSineTable
_080E8624:
ldr r1, _080E8688 @ =gSineTable
movs r2, 0x30
ldrsh r0, [r5, r2]
lsls r0, 1
adds r0, r1
ldrh r1, [r0]
lsls r1, 16
asrs r1, 21
movs r0, 0x8
subs r0, r1
strh r0, [r5, 0x3A]
_080E863A:
ldrh r0, [r5, 0x30]
adds r0, 0x5
movs r1, 0xFF
ands r0, r1
strh r0, [r5, 0x30]
ldr r2, _080E868C @ =REG_BLDALPHA
ldrh r0, [r5, 0x3A]
lsls r0, 8
ldrh r1, [r5, 0x38]
orrs r0, r1
strh r0, [r2]
ldr r0, _080E8690 @ =gUnknown_083DB694
ldr r6, [r0]
adds r0, r6, 0
adds r0, 0x96
ldrb r0, [r0]
cmp r0, 0
beq _080E871A
bl sub_80E8534
adds r1, r6, 0
adds r1, 0x9C
ldr r0, [r1]
movs r2, 0x8
strh r2, [r0, 0x38]
ldr r0, [r1]
strh r2, [r0, 0x3A]
ldr r1, [r1]
movs r0, 0
strh r0, [r1, 0x30]
movs r1, 0x32
ldrsh r0, [r5, r1]
cmp r0, 0x1
beq _080E86C4
cmp r0, 0x1
bgt _080E8694
cmp r0, 0
beq _080E869E
b _080E871A
.align 2, 0
_080E8688: .4byte gSineTable
_080E868C: .4byte REG_BLDALPHA
_080E8690: .4byte gUnknown_083DB694
_080E8694:
cmp r0, 0x2
beq _080E86D6
cmp r0, 0x3
beq _080E86DE
b _080E871A
_080E869E:
ldr r2, _080E86C0 @ =0x000001a9
adds r0, r6, r2
movs r1, 0
ldrsb r1, [r0, r1]
movs r0, 0x58
muls r0, r1
adds r0, 0x20
strh r0, [r5, 0x20]
movs r1, 0xD4
lsls r1, 1
adds r0, r6, r1
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
adds r2, 0xC
b _080E870A
.align 2, 0
_080E86C0: .4byte 0x000001a9
_080E86C4:
movs r0, 0xD6
strh r0, [r5, 0x20]
movs r1, 0xD4
lsls r1, 1
adds r0, r6, r1
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
b _080E8714
_080E86D6:
movs r0, 0x97
strh r0, [r5, 0x20]
movs r0, 0x60
b _080E8718
_080E86DE:
ldr r4, _080E8720 @ =gUnknown_083DBCC4
ldr r2, _080E8724 @ =0x000001a9
adds r0, r6, r2
movs r1, 0
ldrsb r1, [r0, r1]
movs r0, 0xD4
lsls r0, 1
adds r3, r6, r0
movs r2, 0
ldrsb r2, [r3, r2]
lsls r0, r2, 3
subs r0, r2
adds r1, r0
adds r1, r4
movs r0, 0
ldrsb r0, [r1, r0]
lsls r0, 3
adds r0, 0x1F
strh r0, [r5, 0x20]
movs r0, 0
ldrsb r0, [r3, r0]
ldr r2, _080E8728 @ =0x000001b5
_080E870A:
adds r1, r6, r2
ldrb r1, [r1]
lsls r1, 24
asrs r1, 24
subs r0, r1
_080E8714:
lsls r0, 4
adds r0, 0x60
_080E8718:
strh r0, [r5, 0x22]
_080E871A:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080E8720: .4byte gUnknown_083DBCC4
_080E8724: .4byte 0x000001a9
_080E8728: .4byte 0x000001b5
thumb_func_end sub_80E85F8
thumb_func_start sub_80E872C
sub_80E872C: @ 80E872C
push {lr}
adds r2, r0, 0
ldr r0, _080E875C @ =gUnknown_083DB694
ldr r1, [r0]
adds r0, r1, 0
adds r0, 0x96
ldrb r0, [r0]
cmp r0, 0
beq _080E8756
movs r3, 0x32
ldrsh r0, [r2, r3]
cmp r0, 0
bne _080E8756
adds r1, 0x9C
ldr r0, [r1]
ldrh r0, [r0, 0x20]
adds r0, 0x20
strh r0, [r2, 0x20]
ldr r0, [r1]
ldrh r0, [r0, 0x22]
strh r0, [r2, 0x22]
_080E8756:
pop {r0}
bx r0
.align 2, 0
_080E875C: .4byte gUnknown_083DB694
thumb_func_end sub_80E872C
thumb_func_start sub_80E8760
sub_80E8760: @ 80E8760
push {lr}
adds r2, r0, 0
ldr r0, _080E8784 @ =gUnknown_083DB694
ldr r1, [r0]
adds r0, r1, 0
adds r0, 0x96
ldrb r0, [r0]
cmp r0, 0
beq _080E87B2
movs r3, 0x32
ldrsh r0, [r2, r3]
cmp r0, 0x1
beq _080E8798
cmp r0, 0x1
bgt _080E8788
cmp r0, 0
beq _080E878E
b _080E87B2
.align 2, 0
_080E8784: .4byte gUnknown_083DB694
_080E8788:
cmp r0, 0x2
beq _080E87A2
b _080E87B2
_080E878E:
adds r1, 0x9C
ldr r0, [r1]
ldrh r0, [r0, 0x20]
adds r0, 0x40
b _080E87AA
_080E8798:
adds r1, 0x9C
ldr r0, [r1]
ldrh r0, [r0, 0x20]
adds r0, 0x1C
b _080E87AA
_080E87A2:
adds r1, 0x9C
ldr r0, [r1]
ldrh r0, [r0, 0x20]
adds r0, 0x15
_080E87AA:
strh r0, [r2, 0x20]
ldr r0, [r1]
ldrh r0, [r0, 0x22]
strh r0, [r2, 0x22]
_080E87B2:
pop {r0}
bx r0
thumb_func_end sub_80E8760
thumb_func_start sub_80E87A4
sub_80E87A4: @ 80E87A4
push {r4,lr}
lsls r0, 24
ldr r1, _080E87C8 @ =gUnknown_083DB694
ldr r1, [r1]
adds r2, r1, 0
adds r2, 0xA8
ldr r3, [r2]
movs r4, 0
cmp r0, 0
bne _080E87BA
movs r4, 0x1
_080E87BA:
movs r1, 0
strh r4, [r3, 0x30]
ldr r0, [r2]
strh r1, [r0, 0x24]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E87C8: .4byte gUnknown_083DB694
thumb_func_end sub_80E87A4
thumb_func_start sub_80E87CC
sub_80E87CC: @ 80E87CC
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
adds r4, r0, 0
ldr r0, _080E8810 @ =gUnknown_083DB694
ldr r5, [r0]
adds r0, r5, 0
adds r0, 0xA8
ldr r0, [r0]
movs r3, 0
cmp r4, 0
bne _080E87E6
movs r3, 0x1
_080E87E6:
adds r2, r0, 0
adds r2, 0x3E
lsls r3, 2
ldrb r1, [r2]
movs r0, 0x5
negs r0, r0
ands r0, r1
orrs r0, r3
strb r0, [r2]
adds r0, r4, 0
bl sub_80E87A4
cmp r4, 0
beq _080E880A
ldr r0, _080E8814 @ =0x000001b9
adds r1, r5, r0
movs r0, 0x1
strb r0, [r1]
_080E880A:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080E8810: .4byte gUnknown_083DB694
_080E8814: .4byte 0x000001b9
thumb_func_end sub_80E87CC
thumb_func_start sub_80E8818
sub_80E8818: @ 80E8818
push {lr}
ldr r0, _080E8850 @ =gSpriteTemplate_83DBBFC
movs r1, 0
movs r2, 0
movs r3, 0
bl CreateSprite
lsls r0, 24
lsrs r0, 24
ldr r2, _080E8854 @ =gSprites
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r2
movs r0, 0
strh r0, [r1, 0x2E]
strh r0, [r1, 0x30]
ldr r0, _080E8858 @ =gUnknown_083DB694
ldr r0, [r0]
adds r0, 0xA8
str r1, [r0]
ldr r0, _080E885C @ =sub_80E8860
str r0, [r1, 0x1C]
movs r0, 0
bl sub_80E87CC
pop {r0}
bx r0
.align 2, 0
_080E8850: .4byte gSpriteTemplate_83DBBFC
_080E8854: .4byte gSprites
_080E8858: .4byte gUnknown_083DB694
_080E885C: .4byte sub_80E8860
thumb_func_end sub_80E8818
thumb_func_start sub_80E8860
sub_80E8860: @ 80E8860
push {r4,r5,lr}
adds r2, r0, 0
movs r0, 0x30
ldrsh r4, [r2, r0]
cmp r4, 0
bne _080E88E4
ldr r0, _080E88B0 @ =gUnknown_083DB694
ldr r3, [r0]
ldr r1, _080E88B4 @ =0x000001b9
adds r0, r3, r1
ldrb r1, [r0]
cmp r1, 0
beq _080E88C4
ldr r5, _080E88B8 @ =0x00009cd1
adds r0, r3, r5
movs r1, 0
ldrsb r1, [r0, r1]
movs r0, 0x58
muls r0, r1
adds r0, 0x2C
strh r0, [r2, 0x20]
ldr r1, _080E88BC @ =0x00009cd0
adds r0, r3, r1
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
adds r5, 0x84
adds r1, r3, r5
ldrb r1, [r1]
lsls r1, 24
asrs r1, 24
subs r0, r1
lsls r0, 4
adds r0, 0x60
strh r0, [r2, 0x22]
ldr r0, _080E88C0 @ =0x0000fffa
strh r0, [r2, 0x24]
strh r4, [r2, 0x2E]
b _080E88E4
.align 2, 0
_080E88B0: .4byte gUnknown_083DB694
_080E88B4: .4byte 0x000001b9
_080E88B8: .4byte 0x00009cd1
_080E88BC: .4byte 0x00009cd0
_080E88C0: .4byte 0x0000fffa
_080E88C4:
ldrh r0, [r2, 0x2E]
adds r0, 0x1
strh r0, [r2, 0x2E]
lsls r0, 16
asrs r0, 16
cmp r0, 0x2
ble _080E88E4
strh r1, [r2, 0x2E]
ldrh r0, [r2, 0x24]
adds r0, 0x1
strh r0, [r2, 0x24]
lsls r0, 16
cmp r0, 0
ble _080E88E4
ldr r0, _080E88EC @ =0x0000fffa
strh r0, [r2, 0x24]
_080E88E4:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080E88EC: .4byte 0x0000fffa
thumb_func_end sub_80E8860
thumb_func_start sub_80E88F0
sub_80E88F0: @ 80E88F0
push {r4-r7,lr}
mov r7, r8
push {r7}
movs r4, 0
ldr r0, _080E8950 @ =gUnknown_083DB694
mov r8, r0
ldr r0, [r0]
movs r6, 0x4
movs r5, 0
movs r1, 0xB4
adds r1, r0
mov r12, r1
adds r7, r0, 0
adds r7, 0xAC
_080E890C:
lsls r2, r4, 2
adds r3, r7, r2
ldr r1, [r3]
adds r1, 0x3E
ldrb r0, [r1]
orrs r0, r6
strb r0, [r1]
ldr r0, [r3]
strh r5, [r0, 0x30]
add r2, r12
ldr r1, [r2]
adds r1, 0x3E
ldrb r0, [r1]
orrs r0, r6
strb r0, [r1]
ldr r0, [r2]
strh r5, [r0, 0x30]
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0x1
bls _080E890C
mov r1, r8
ldr r0, [r1]
ldr r1, _080E8954 @ =0x00009f9c
adds r0, r1
movs r1, 0
strb r1, [r0]
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E8950: .4byte gUnknown_083DB694
_080E8954: .4byte 0x00009f9c
thumb_func_end sub_80E88F0
thumb_func_start sub_80E8958
sub_80E8958: @ 80E8958
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
lsls r0, 24
lsrs r7, r0, 24
cmp r7, 0
bne _080E89B4
movs r0, 0x64
mov r9, r0
ldr r0, _080E8998 @ =gUnknown_083DB694
ldr r2, [r0]
ldr r3, _080E899C @ =0x00009f98
adds r1, r2, r3
ldr r3, _080E89A0 @ =0x000001b5
adds r0, r2, r3
str r0, [r1]
adds r0, r2, 0
adds r0, 0x26
ldrb r0, [r0]
cmp r0, 0
bne _080E89A8
movs r1, 0xDB
lsls r1, 1
adds r0, r2, r1
ldrb r0, [r0]
subs r0, 0x4
ldr r3, _080E89A4 @ =0x00009f9d
adds r1, r2, r3
strb r0, [r1]
b _080E8A00
.align 2, 0
_080E8998: .4byte gUnknown_083DB694
_080E899C: .4byte 0x00009f98
_080E89A0: .4byte 0x000001b5
_080E89A4: .4byte 0x00009f9d
_080E89A8:
ldr r1, _080E89B0 @ =0x00009f9d
adds r0, r2, r1
strb r7, [r0]
b _080E8A00
.align 2, 0
_080E89B0: .4byte 0x00009f9d
_080E89B4:
movs r3, 0x78
mov r9, r3
ldr r0, _080E8A64 @ =gUnknown_083DB694
ldr r2, [r0]
ldr r0, _080E8A68 @ =0x00009f98
adds r1, r2, r0
ldr r3, _080E8A6C @ =0x00009d55
adds r0, r2, r3
str r0, [r1]
ldr r1, _080E8A70 @ =0x00009d54
adds r0, r2, r1
ldrb r0, [r0]
subs r0, 0x4
ldr r3, _080E8A74 @ =0x00009f9d
adds r1, r2, r3
strb r0, [r1]
movs r4, 0
adds r5, r2, 0
adds r5, 0xB4
movs r0, 0x5
negs r0, r0
mov r12, r0
movs r6, 0x1
_080E89E2:
lsls r3, r4, 2
adds r3, r5, r3
ldr r1, [r3]
adds r1, 0x3E
ldrb r2, [r1]
mov r0, r12
ands r0, r2
strb r0, [r1]
ldr r0, [r3]
strh r6, [r0, 0x30]
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0x1
bls _080E89E2
_080E8A00:
ldr r0, _080E8A64 @ =gUnknown_083DB694
ldr r2, [r0]
ldr r3, _080E8A74 @ =0x00009f9d
adds r1, r2, r3
movs r0, 0
ldrsb r0, [r1, r0]
cmp r0, 0
bge _080E8A14
movs r0, 0
strb r0, [r1]
_080E8A14:
movs r4, 0
adds r6, r2, 0
adds r6, 0xAC
movs r0, 0x5
negs r0, r0
mov r8, r0
_080E8A20:
lsls r2, r4, 2
adds r2, r6, r2
ldr r0, [r2]
mov r1, r9
strh r1, [r0, 0x20]
ldr r1, [r2]
adds r1, 0x3E
ldrb r0, [r1]
mov r3, r8
ands r0, r3
strb r0, [r1]
ldr r0, [r2]
movs r5, 0x1
strh r5, [r0, 0x30]
ldr r0, [r2]
adds r1, r7, 0
bl StartSpriteAnim
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0x1
bls _080E8A20
ldr r0, _080E8A64 @ =gUnknown_083DB694
ldr r0, [r0]
ldr r1, _080E8A78 @ =0x00009f9c
adds r0, r1
strb r5, [r0]
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E8A64: .4byte gUnknown_083DB694
_080E8A68: .4byte 0x00009f98
_080E8A6C: .4byte 0x00009d55
_080E8A70: .4byte 0x00009d54
_080E8A74: .4byte 0x00009f9d
_080E8A78: .4byte 0x00009f9c
thumb_func_end sub_80E8958
thumb_func_start sub_80E8A7C
sub_80E8A7C: @ 80E8A7C
push {r4-r7,lr}
sub sp, 0x18
mov r1, sp
ldr r0, _080E8B68 @ =gSpriteTemplate_83DBD18
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
movs r5, 0
_080E8A8E:
lsls r2, r5, 3
adds r2, r5
lsls r2, 19
movs r0, 0xA8
lsls r0, 15
adds r2, r0
asrs r2, 16
mov r0, sp
movs r1, 0
movs r3, 0
bl CreateSprite
lsls r0, 24
lsrs r1, r0, 24
ldr r0, _080E8B6C @ =gUnknown_083DB694
ldr r2, [r0]
lsls r0, r5, 2
adds r2, 0xAC
adds r2, r0
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r1, _080E8B70 @ =gSprites
adds r0, r1
str r0, [r2]
strh r5, [r0, 0x2E]
ldr r3, [r2]
adds r3, 0x3F
movs r0, 0x1
adds r2, r5, 0
ands r2, r0
lsls r2, 1
ldrb r0, [r3]
movs r4, 0x3
negs r4, r4
adds r1, r4, 0
ands r0, r1
orrs r0, r2
strb r0, [r3]
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
cmp r5, 0x1
bls _080E8A8E
mov r0, sp
movs r1, 0x3
strh r1, [r0]
ldr r0, _080E8B74 @ =gSpriteAnimTable_83DBD10
str r0, [sp, 0x8]
movs r5, 0
movs r7, 0x3F
movs r6, 0x40
_080E8AF6:
lsls r4, r5, 2
adds r1, r4, r5
lsls r1, 19
movs r0, 0x8E
lsls r0, 16
adds r1, r0
asrs r1, 16
mov r0, sp
movs r2, 0x58
movs r3, 0
bl CreateSprite
lsls r0, 24
lsrs r1, r0, 24
ldr r0, _080E8B6C @ =gUnknown_083DB694
ldr r2, [r0]
adds r2, 0xB4
adds r2, r4
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r1, _080E8B70 @ =gSprites
adds r0, r1
str r0, [r2]
strh r5, [r0, 0x2E]
ldr r3, [r2]
ldrb r1, [r3, 0x1]
adds r0, r7, 0
ands r0, r1
orrs r0, r6
strb r0, [r3, 0x1]
ldr r3, [r2]
ldrb r1, [r3, 0x3]
adds r0, r7, 0
ands r0, r1
orrs r0, r6
strb r0, [r3, 0x3]
ldr r0, [r2]
lsls r1, r5, 24
lsrs r1, 24
bl StartSpriteAnim
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
cmp r5, 0x1
bls _080E8AF6
movs r0, 0
bl sub_80E8958
bl sub_80E88F0
add sp, 0x18
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E8B68: .4byte gSpriteTemplate_83DBD18
_080E8B6C: .4byte gUnknown_083DB694
_080E8B70: .4byte gSprites
_080E8B74: .4byte gSpriteAnimTable_83DBD10
thumb_func_end sub_80E8A7C
thumb_func_start sub_80E8B78
sub_80E8B78: @ 80E8B78
push {r4,lr}
adds r3, r0, 0
ldr r0, _080E8BB0 @ =gUnknown_083DB694
ldr r1, [r0]
ldr r2, _080E8BB4 @ =0x00009f9c
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
beq _080E8BE8
movs r2, 0x30
ldrsh r0, [r3, r2]
cmp r0, 0
beq _080E8BE8
movs r2, 0x2E
ldrsh r0, [r3, r2]
cmp r0, 0
bne _080E8BBC
movs r4, 0
ldr r2, _080E8BB8 @ =0x00009f98
adds r0, r1, r2
ldr r0, [r0]
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
bne _080E8BD6
b _080E8BD4
.align 2, 0
_080E8BB0: .4byte gUnknown_083DB694
_080E8BB4: .4byte 0x00009f9c
_080E8BB8: .4byte 0x00009f98
_080E8BBC:
movs r4, 0
ldr r2, _080E8BF0 @ =0x00009f98
adds r0, r1, r2
ldr r0, [r0]
adds r2, 0x5
adds r1, r2
movs r2, 0
ldrsb r2, [r0, r2]
movs r0, 0
ldrsb r0, [r1, r0]
cmp r2, r0
bne _080E8BD6
_080E8BD4:
movs r4, 0x1
_080E8BD6:
adds r2, r3, 0
adds r2, 0x3E
lsls r3, r4, 2
ldrb r1, [r2]
movs r0, 0x5
negs r0, r0
ands r0, r1
orrs r0, r3
strb r0, [r2]
_080E8BE8:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E8BF0: .4byte 0x00009f98
thumb_func_end sub_80E8B78
thumb_func_start sub_80E8BF4
sub_80E8BF4: @ 80E8BF4
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x14
lsls r0, 24
lsrs r3, r0, 24
lsls r1, 24
lsrs r2, r1, 24
ldr r0, _080E8C28 @ =gUnknown_083DBD30
ldr r1, [r0, 0x4]
ldr r0, [r0]
str r0, [sp, 0x4]
str r1, [sp, 0x8]
ldr r0, _080E8C2C @ =gUnknown_083DBD38
ldr r1, [r0, 0x4]
ldr r0, [r0]
str r0, [sp, 0xC]
str r1, [sp, 0x10]
cmp r2, 0x2
beq _080E8C20
cmp r2, 0x5
beq _080E8C30
_080E8C20:
movs r4, 0x40
movs r5, 0x28
b _080E8C34
.align 2, 0
_080E8C28: .4byte gUnknown_083DBD30
_080E8C2C: .4byte gUnknown_083DBD38
_080E8C30:
movs r4, 0x24
movs r5, 0x30
_080E8C34:
cmp r3, 0
beq _080E8C3C
cmp r3, 0x1
beq _080E8C40
_080E8C3C:
movs r0, 0x43
b _080E8C42
_080E8C40:
movs r0, 0x44
_080E8C42:
mov r8, r0
add r0, sp, 0x4
bl LoadCompressedObjectPic
add r0, sp, 0xC
bl LoadSpritePalette
ldr r0, _080E8CDC @ =gSpriteTemplate_83DBD48
adds r1, r4, 0
adds r2, r5, 0
movs r3, 0x1
bl CreateSprite
ldr r0, _080E8CE0 @ =gSaveBlock2
ldrb r0, [r0, 0x8]
movs r1, 0x69
cmp r0, 0
bne _080E8C68
movs r1, 0x64
_080E8C68:
ldr r7, _080E8CE4 @ =SpriteCallbackDummy
adds r2, r4, 0
subs r2, 0xC
movs r6, 0
str r6, [sp]
adds r0, r1, 0
adds r1, r7, 0
adds r3, r5, 0
bl AddPseudoFieldObject
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x40
beq _080E8C9E
ldr r1, _080E8CE8 @ =gSprites
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 StartSpriteAnim
_080E8C9E:
adds r2, r4, 0
adds r2, 0xC
str r6, [sp]
mov r0, r8
adds r1, r7, 0
adds r3, r5, 0
bl AddPseudoFieldObject
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x40
beq _080E8CD0
ldr r1, _080E8CE8 @ =gSprites
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 StartSpriteAnim
_080E8CD0:
add sp, 0x14
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E8CDC: .4byte gSpriteTemplate_83DBD48
_080E8CE0: .4byte gSaveBlock2
_080E8CE4: .4byte SpriteCallbackDummy
_080E8CE8: .4byte gSprites
thumb_func_end sub_80E8BF4
thumb_func_start sub_80E8CEC
sub_80E8CEC: @ 80E8CEC
push {lr}
ldr r0, _080E8D24 @ =gUnknown_083DBD60
bl LoadCompressedObjectPic
ldr r0, _080E8D28 @ =gUnknown_083DBD68
bl LoadSpritePalette
ldr r0, _080E8D2C @ =gSpriteTemplate_83DBDE4
movs r1, 0xE0
movs r2, 0x58
movs r3, 0
bl CreateSprite
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0x40
beq _080E8D3C
ldr r0, _080E8D30 @ =gUnknown_083DB694
ldr r2, [r0]
ldr r0, _080E8D34 @ =0x00009fa0
adds r2, r0
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r1, _080E8D38 @ =gSprites
adds r0, r1
str r0, [r2]
b _080E8D48
.align 2, 0
_080E8D24: .4byte gUnknown_083DBD60
_080E8D28: .4byte gUnknown_083DBD68
_080E8D2C: .4byte gSpriteTemplate_83DBDE4
_080E8D30: .4byte gUnknown_083DB694
_080E8D34: .4byte 0x00009fa0
_080E8D38: .4byte gSprites
_080E8D3C:
ldr r0, _080E8D4C @ =gUnknown_083DB694
ldr r0, [r0]
ldr r1, _080E8D50 @ =0x00009fa0
adds r0, r1
movs r1, 0
str r1, [r0]
_080E8D48:
pop {r0}
bx r0
.align 2, 0
_080E8D4C: .4byte gUnknown_083DB694
_080E8D50: .4byte 0x00009fa0
thumb_func_end sub_80E8CEC
thumb_func_start sub_80E8D54
sub_80E8D54: @ 80E8D54
push {lr}
ldr r0, _080E8D78 @ =gUnknown_083DB694
ldr r2, [r0]
ldr r1, _080E8D7C @ =0x00009fa0
adds r0, r2, r1
ldr r1, [r0]
cmp r1, 0
beq _080E8D88
adds r0, r2, 0
adds r0, 0x26
ldrb r0, [r0]
cmp r0, 0
bne _080E8D80
adds r0, r1, 0
movs r1, 0x1
bl StartSpriteAnim
b _080E8D88
.align 2, 0
_080E8D78: .4byte gUnknown_083DB694
_080E8D7C: .4byte 0x00009fa0
_080E8D80:
adds r0, r1, 0
movs r1, 0x2
bl StartSpriteAnim
_080E8D88:
pop {r0}
bx r0
thumb_func_end sub_80E8D54
thumb_func_start sub_80E8D8C
sub_80E8D8C: @ 80E8D8C
push {lr}
lsls r0, 24
lsrs r3, r0, 24
ldr r0, _080E8DB8 @ =gUnknown_083DB694
ldr r2, [r0]
ldr r1, _080E8DBC @ =0x00009fa0
adds r0, r2, r1
ldr r1, [r0]
cmp r1, 0
beq _080E8DD2
cmp r3, 0
beq _080E8DCA
adds r0, r2, 0
adds r0, 0x26
ldrb r0, [r0]
cmp r0, 0
bne _080E8DC0
adds r0, r1, 0
movs r1, 0x3
bl StartSpriteAnim
b _080E8DD2
.align 2, 0
_080E8DB8: .4byte gUnknown_083DB694
_080E8DBC: .4byte 0x00009fa0
_080E8DC0:
adds r0, r1, 0
movs r1, 0x4
bl StartSpriteAnim
b _080E8DD2
_080E8DCA:
adds r0, r1, 0
movs r1, 0x5
bl StartSpriteAnim
_080E8DD2:
pop {r0}
bx r0
thumb_func_end sub_80E8D8C
thumb_func_start sub_80E8DD8
sub_80E8DD8: @ 80E8DD8
push {r4-r6,lr}
mov r6, r9
mov r5, r8
push {r5,r6}
sub sp, 0x8
ldr r0, _080E8F2C @ =REG_BG0HOFS
movs r6, 0
strh r6, [r0]
adds r0, 0x2
strh r6, [r0]
adds r0, 0x2
strh r6, [r0]
adds r0, 0x2
strh r6, [r0]
adds r0, 0x4
strh r6, [r0]
subs r0, 0x2
strh r6, [r0]
adds r0, 0x4
strh r6, [r0]
adds r0, 0x2
strh r6, [r0]
ldr r1, _080E8F30 @ =REG_BG0CNT
movs r2, 0x8B
lsls r2, 8
adds r0, r2, 0
strh r0, [r1]
adds r1, 0x2
ldr r2, _080E8F34 @ =0x00000d09
adds r0, r2, 0
strh r0, [r1]
ldr r0, _080E8F38 @ =gUnknown_08E945D0
ldr r1, _080E8F3C @ =gUnknown_083DB694
ldr r1, [r1]
mov r8, r1
movs r4, 0xE4
lsls r4, 1
add r4, r8
movs r5, 0xA0
lsls r5, 2
adds r1, r4, 0
adds r2, r5, 0
bl CpuSet
ldr r0, _080E8F40 @ =gUnknown_08E953D0
movs r1, 0xD9
lsls r1, 3
add r1, r8
bl LZ77UnCompWram
ldr r0, _080E8F44 @ =gMenuWordGroupFrame_Gfx
ldr r1, _080E8F48 @ =0x06008000
bl LZ77UnCompVram
ldr r1, _080E8F4C @ =0x06006800
adds r0, r4, 0
adds r2, r5, 0
bl CpuSet
ldr r0, _080E8F50 @ =gMenuWordGroupFrame1_Pal
movs r1, 0x40
movs r2, 0x40
bl LoadPalette
ldr r1, _080E8F54 @ =REG_BG2CNT
ldr r2, _080E8F58 @ =0x00000e02
adds r0, r2, 0
strh r0, [r1]
ldr r1, _080E8F5C @ =0x06007000
movs r5, 0x80
lsls r5, 4
mov r0, sp
strh r6, [r0]
ldr r4, _080E8F60 @ =0x040000d4
str r0, [r4]
str r1, [r4, 0x4]
lsrs r0, r5, 1
movs r2, 0x81
lsls r2, 24
orrs r0, r2
str r0, [r4, 0x8]
ldr r0, [r4, 0x8]
ldr r0, _080E8F64 @ =gUnknown_08E9AB00
ldr r2, _080E8F68 @ =0x06006000
str r0, [r4]
str r2, [r4, 0x4]
ldr r0, _080E8F6C @ =0x80000020
str r0, [r4, 0x8]
ldr r0, [r4, 0x8]
ldr r0, _080E8F70 @ =gUnknown_08E9AB60
bl LZ77UnCompVram
ldr r0, _080E8F74 @ =gUnknown_08E9AB40
movs r1, 0
movs r2, 0x20
bl LoadPalette
ldr r0, _080E8F78 @ =gUnknown_083DBDFC
movs r1, 0x10
movs r2, 0x20
bl LoadPalette
ldr r1, _080E8F7C @ =REG_BG3CNT
ldr r2, _080E8F80 @ =0x00000f0f
adds r0, r2, 0
strh r0, [r1]
ldr r1, _080E8F84 @ =0x06007800
movs r0, 0
mov r9, r0
str r0, [sp, 0x4]
add r0, sp, 0x4
str r0, [r4]
str r1, [r4, 0x4]
lsrs r5, 2
movs r0, 0x85
lsls r0, 24
orrs r5, r0
str r5, [r4, 0x8]
ldr r0, [r4, 0x8]
ldr r0, _080E8F88 @ =gUnknown_083DBE40
movs r1, 0x20
movs r2, 0x20
bl LoadPalette
ldr r0, _080E8F8C @ =gPlttBufferUnfaded
adds r1, r0, 0
adds r1, 0x7E
ldr r3, _080E8F90 @ =0x00007fff
strh r3, [r1]
subs r1, 0x1C
ldr r2, _080E8F94 @ =0x00006f5b
strh r2, [r1]
adds r0, 0x70
ldr r1, _080E8F98 @ =0x0000739c
strh r1, [r0]
ldr r0, _080E8F9C @ =gPlttBufferFaded
adds r4, r0, 0
adds r4, 0x7E
strh r3, [r4]
adds r3, r0, 0
adds r3, 0x62
strh r2, [r3]
adds r0, 0x70
strh r1, [r0]
movs r1, 0xBC
add r8, r1
mov r2, r8
strb r6, [r2]
bl sub_80E8FA4
bl sub_80E948C
movs r0, 0xA
bl sub_80E9198
movs r0, 0
bl sub_80E91D4
bl sub_80E95A4
ldr r0, _080E8FA0 @ =REG_BLDCNT
mov r1, r9
strh r1, [r0]
add sp, 0x8
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080E8F2C: .4byte REG_BG0HOFS
_080E8F30: .4byte REG_BG0CNT
_080E8F34: .4byte 0x00000d09
_080E8F38: .4byte gUnknown_08E945D0
_080E8F3C: .4byte gUnknown_083DB694
_080E8F40: .4byte gUnknown_08E953D0
_080E8F44: .4byte gMenuWordGroupFrame_Gfx
_080E8F48: .4byte 0x06008000
_080E8F4C: .4byte 0x06006800
_080E8F50: .4byte gMenuWordGroupFrame1_Pal
_080E8F54: .4byte REG_BG2CNT
_080E8F58: .4byte 0x00000e02
_080E8F5C: .4byte 0x06007000
_080E8F60: .4byte 0x040000d4
_080E8F64: .4byte gUnknown_08E9AB00
_080E8F68: .4byte 0x06006000
_080E8F6C: .4byte 0x80000020
_080E8F70: .4byte gUnknown_08E9AB60
_080E8F74: .4byte gUnknown_08E9AB40
_080E8F78: .4byte gUnknown_083DBDFC
_080E8F7C: .4byte REG_BG3CNT
_080E8F80: .4byte 0x00000f0f
_080E8F84: .4byte 0x06007800
_080E8F88: .4byte gUnknown_083DBE40
_080E8F8C: .4byte gPlttBufferUnfaded
_080E8F90: .4byte 0x00007fff
_080E8F94: .4byte 0x00006f5b
_080E8F98: .4byte 0x0000739c
_080E8F9C: .4byte gPlttBufferFaded
_080E8FA0: .4byte REG_BLDCNT
thumb_func_end sub_80E8DD8
thumb_func_start sub_80E8FA4
sub_80E8FA4: @ 80E8FA4
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x2C
movs r0, 0
mov r9, r0
mov r1, sp
adds r1, 0x18
str r1, [sp, 0x24]
add r2, sp, 0xC
mov r12, r2
_080E8FBE:
mov r3, r9
lsls r1, r3, 1
ldr r4, _080E90F4 @ =0x08e8f136
adds r0, r1, r4
ldrh r2, [r0]
movs r0, 0x1F
ands r0, r2
lsls r0, 8
str r0, [sp]
ldr r5, _080E90F8 @ =0x08e8f13c
adds r1, r5
ldrh r1, [r1]
movs r0, 0x1F
ands r0, r1
lsls r0, 8
str r0, [sp, 0xC]
lsls r2, 16
lsrs r0, r2, 21
movs r3, 0x1F
ands r0, r3
lsls r0, 8
str r0, [sp, 0x4]
lsls r1, 16
lsrs r0, r1, 21
ands r0, r3
lsls r0, 8
mov r4, r12
str r0, [r4, 0x4]
lsrs r2, 26
ands r2, r3
lsls r2, 8
str r2, [sp, 0x8]
lsrs r1, 26
ands r1, r3
lsls r1, 8
str r1, [r4, 0x8]
movs r3, 0
mov r5, r9
lsls r5, 3
mov r10, r5
mov r0, r9
adds r0, 0x1
str r0, [sp, 0x28]
ldr r4, [sp, 0x24]
_080E9016:
lsls r0, r3, 2
adds r2, r4, r0
mov r5, r12
adds r1, r5, r0
add r0, sp
ldr r1, [r1]
ldr r0, [r0]
subs r0, r1, r0
cmp r0, 0
bge _080E902C
adds r0, 0x7
_080E902C:
asrs r0, 3
str r0, [r2]
adds r0, r3, 0x1
lsls r0, 16
lsrs r3, r0, 16
cmp r3, 0x2
bls _080E9016
movs r4, 0
ldr r0, _080E90FC @ =gUnknown_083DB694
ldr r1, [r0]
mov r0, r10
add r0, r9
lsls r0, 1
mov r8, r0
movs r5, 0x1F
ldr r6, [sp, 0x24]
ldr r0, _080E9100 @ =0x00009f60
adds r7, r1, r0
_080E9050:
lsls r2, r4, 1
add r2, r8
adds r2, r7, r2
ldr r1, [sp, 0x8]
asrs r1, 8
ands r1, r5
lsls r1, 10
ldr r0, [sp, 0x4]
asrs r0, 8
ands r0, r5
lsls r0, 5
orrs r1, r0
ldr r0, [sp]
asrs r0, 8
ands r0, r5
orrs r1, r0
strh r1, [r2]
movs r3, 0
adds r4, 0x1
_080E9076:
lsls r0, r3, 2
mov r1, sp
adds r2, r1, r0
adds r0, r6, r0
ldr r1, [r2]
ldr r0, [r0]
adds r1, r0
str r1, [r2]
adds r0, r3, 0x1
lsls r0, 16
lsrs r3, r0, 16
cmp r3, 0x2
bls _080E9076
lsls r0, r4, 16
lsrs r4, r0, 16
cmp r4, 0x7
bls _080E9050
ldr r2, _080E90FC @ =gUnknown_083DB694
ldr r3, [r2]
mov r0, r10
add r0, r9
adds r0, r4
lsls r0, 1
ldr r4, _080E9100 @ =0x00009f60
adds r2, r3, r4
adds r2, r0
mov r5, r12
ldr r1, [r5, 0x8]
asrs r1, 8
movs r0, 0x1F
ands r1, r0
lsls r1, 10
ldr r0, [r5, 0x4]
asrs r0, 8
movs r4, 0x1F
ands r0, r4
lsls r0, 5
orrs r1, r0
ldr r0, [sp, 0xC]
asrs r0, 8
ands r0, r4
orrs r1, r0
strh r1, [r2]
ldr r5, [sp, 0x28]
lsls r0, r5, 16
lsrs r0, 16
mov r9, r0
cmp r0, 0x2
bhi _080E90DA
b _080E8FBE
_080E90DA:
ldr r0, _080E9104 @ =0x00009f5e
adds r1, r3, r0
movs r0, 0
strb r0, [r1]
add sp, 0x2C
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E90F4: .4byte 0x08e8f136
_080E90F8: .4byte 0x08e8f13c
_080E90FC: .4byte gUnknown_083DB694
_080E9100: .4byte 0x00009f60
_080E9104: .4byte 0x00009f5e
thumb_func_end sub_80E8FA4
thumb_func_start sub_80E9108
sub_80E9108: @ 80E9108
push {r4-r7,lr}
lsls r0, 24
ldr r1, _080E9164 @ =gUnknown_083DB694
ldr r2, [r1]
ldr r3, _080E9168 @ =0x00009f5e
adds r1, r2, r3
lsrs r0, 24
ldrb r3, [r1]
adds r0, r3
strb r0, [r1]
movs r4, 0
ldr r0, _080E916C @ =gPlttBufferUnfaded
mov r12, r0
adds r6, r1, 0
ldr r3, _080E9170 @ =0x00009f60
adds r5, r2, r3
ldr r7, _080E9174 @ =gPlttBufferFaded
_080E912A:
adds r2, r4, 0
adds r2, 0x51
lsls r2, 1
mov r0, r12
adds r3, r2, r0
ldrb r0, [r6]
lsls r0, 1
lsls r1, r4, 3
adds r1, r4
lsls r1, 1
adds r0, r1
adds r0, r5, r0
ldrh r0, [r0]
strh r0, [r3]
adds r2, r7
ldrb r0, [r6]
lsls r0, 1
adds r0, r1
adds r0, r5, r0
ldrh r0, [r0]
strh r0, [r2]
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0x2
bls _080E912A
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E9164: .4byte gUnknown_083DB694
_080E9168: .4byte 0x00009f5e
_080E916C: .4byte gPlttBufferUnfaded
_080E9170: .4byte 0x00009f60
_080E9174: .4byte gPlttBufferFaded
thumb_func_end sub_80E9108
thumb_func_start sub_80E9178
sub_80E9178: @ 80E9178
push {lr}
ldr r0, _080E9190 @ =gUnknown_083DB694
ldr r0, [r0]
ldr r1, _080E9194 @ =0x00009f5e
adds r0, r1
movs r1, 0
strb r1, [r0]
movs r0, 0
bl sub_80E9108
pop {r0}
bx r0
.align 2, 0
_080E9190: .4byte gUnknown_083DB694
_080E9194: .4byte 0x00009f5e
thumb_func_end sub_80E9178
thumb_func_start sub_80E9198
sub_80E9198: @ 80E9198
ldr r1, _080E91A0 @ =gUnknown_03000740
strb r0, [r1]
bx lr
.align 2, 0
_080E91A0: .4byte gUnknown_03000740
thumb_func_end sub_80E9198
thumb_func_start sub_80E91A4
sub_80E91A4: @ 80E91A4
ldr r0, _080E91AC @ =gUnknown_03000740
ldrb r0, [r0]
bx lr
.align 2, 0
_080E91AC: .4byte gUnknown_03000740
thumb_func_end sub_80E91A4
thumb_func_start sub_80E91B0
sub_80E91B0: @ 80E91B0
push {lr}
sub sp, 0x8
lsls r2, 24
lsls r1, 27
lsrs r1, 24
lsrs r2, 21
lsls r3, 27
lsrs r3, 24
str r3, [sp]
movs r3, 0x1
str r3, [sp, 0x4]
movs r3, 0xB0
bl sub_8072AB0
add sp, 0x8
pop {r0}
bx r0
thumb_func_end sub_80E91B0
thumb_func_start sub_80E91D4
sub_80E91D4: @ 80E91D4
push {r4,lr}
lsls r0, 24
lsrs r0, 24
adds r4, r0, 0
ldr r0, _080E91FC @ =gWindowConfig_81E6DA8
bl BasicInitMenuWindow
cmp r4, 0xA
bne _080E9200
movs r0, 0x3
movs r1, 0xE
movs r2, 0x1A
movs r3, 0x13
bl MenuZeroFillWindowRect
movs r0, 0xA
bl sub_80E9198
b _080E935C
.align 2, 0
_080E91FC: .4byte gWindowConfig_81E6DA8
_080E9200:
bl sub_80E91A4
lsls r0, 24
lsrs r0, 24
cmp r0, 0xA
bne _080E9218
movs r0, 0x3
movs r1, 0xE
movs r2, 0x1A
movs r3, 0x13
bl MenuDrawTextWindow
_080E9218:
adds r0, r4, 0
bl sub_80E9198
cmp r4, 0x9
bls _080E9224
b _080E935C
_080E9224:
lsls r0, r4, 2
ldr r1, _080E9230 @ =_080E9234
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080E9230: .4byte _080E9234
.align 2, 0
_080E9234:
.4byte _080E925C
.4byte _080E9284
.4byte _080E92AC
.4byte _080E92C4
.4byte _080E92F0
.4byte _080E9308
.4byte _080E9310
.4byte _080E9318
.4byte _080E933C
.4byte _080E9350
_080E925C:
ldr r0, _080E9278 @ =gUnknown_083DB694
ldr r4, [r0]
ldr r1, _080E927C @ =0x00009fac
adds r0, r4, r1
movs r1, 0x4
movs r2, 0xF
movs r3, 0x2
bl sub_80E91B0
ldr r0, _080E9280 @ =0x00009ff5
adds r4, r0
adds r0, r4, 0
b _080E9326
.align 2, 0
_080E9278: .4byte gUnknown_083DB694
_080E927C: .4byte 0x00009fac
_080E9280: .4byte 0x00009ff5
_080E9284:
ldr r0, _080E92A0 @ =gUnknown_083DB694
ldr r4, [r0]
ldr r1, _080E92A4 @ =0x0000a03e
adds r0, r4, r1
movs r1, 0x4
movs r2, 0xF
movs r3, 0x2
bl sub_80E91B0
ldr r0, _080E92A8 @ =0x0000a087
adds r4, r0
adds r0, r4, 0
b _080E9326
.align 2, 0
_080E92A0: .4byte gUnknown_083DB694
_080E92A4: .4byte 0x0000a03e
_080E92A8: .4byte 0x0000a087
_080E92AC:
ldr r0, _080E92BC @ =gOtherText_TextDeletedConfirmPage1
movs r1, 0x4
movs r2, 0xF
movs r3, 0x2
bl sub_80E91B0
ldr r0, _080E92C0 @ =gOtherText_TextDeletedConfirmPage2
b _080E9326
.align 2, 0
_080E92BC: .4byte gOtherText_TextDeletedConfirmPage1
_080E92C0: .4byte gOtherText_TextDeletedConfirmPage2
_080E92C4:
ldr r0, _080E92D8 @ =gUnknown_083DB694
ldr r0, [r0]
ldrb r0, [r0, 0x8]
cmp r0, 0x4
beq _080E92E0
cmp r0, 0x9
bne _080E92E8
ldr r0, _080E92DC @ =gOtherText_QuitGivingInfo
b _080E933E
.align 2, 0
_080E92D8: .4byte gUnknown_083DB694
_080E92DC: .4byte gOtherText_QuitGivingInfo
_080E92E0:
ldr r0, _080E92E4 @ =gOtherText_StopGivingMail
b _080E933E
.align 2, 0
_080E92E4: .4byte gOtherText_StopGivingMail
_080E92E8:
ldr r0, _080E92EC @ =gOtherText_QuitEditing
b _080E933E
.align 2, 0
_080E92EC: .4byte gOtherText_QuitEditing
_080E92F0:
ldr r0, _080E9300 @ =gOtherText_EditedTextNoSavePage1
movs r1, 0x4
movs r2, 0xF
movs r3, 0x2
bl sub_80E91B0
ldr r0, _080E9304 @ =gOtherText_EditedTextNoSavePage2
b _080E9326
.align 2, 0
_080E9300: .4byte gOtherText_EditedTextNoSavePage1
_080E9304: .4byte gOtherText_EditedTextNoSavePage2
_080E9308:
ldr r0, _080E930C @ =gOtherText_EnterAPhraseOrWord
b _080E933E
.align 2, 0
_080E930C: .4byte gOtherText_EnterAPhraseOrWord
_080E9310:
ldr r0, _080E9314 @ =gOtherText_TextNoDelete
b _080E933E
.align 2, 0
_080E9314: .4byte gOtherText_TextNoDelete
_080E9318:
ldr r0, _080E9334 @ =gOtherText_OnlyOnePhrase
movs r1, 0x4
movs r2, 0xF
movs r3, 0x2
bl sub_80E91B0
ldr r0, _080E9338 @ =gOtherText_OriginalSongRestored
_080E9326:
movs r1, 0x4
movs r2, 0x11
movs r3, 0x2
bl sub_80E91B0
b _080E935C
.align 2, 0
_080E9334: .4byte gOtherText_OnlyOnePhrase
_080E9338: .4byte gOtherText_OriginalSongRestored
_080E933C:
ldr r0, _080E934C @ =gOtherText_TrendyAlready
_080E933E:
movs r1, 0x4
movs r2, 0xF
movs r3, 0x4
bl sub_80E91B0
b _080E935C
.align 2, 0
_080E934C: .4byte gOtherText_TrendyAlready
_080E9350:
ldr r0, _080E9364 @ =gOtherText_CombineTwoPhrases
movs r1, 0x4
movs r2, 0xF
movs r3, 0x4
bl sub_80E91B0
_080E935C:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E9364: .4byte gOtherText_CombineTwoPhrases
thumb_func_end sub_80E91D4
thumb_func_start sub_80E9368
sub_80E9368: @ 80E9368
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
cmp r0, 0xD
bhi _080E93F8
lsls r0, 2
ldr r1, _080E937C @ =_080E9380
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080E937C: .4byte _080E9380
.align 2, 0
_080E9380:
.4byte _080E93B8
.4byte _080E93C0
.4byte _080E93C8
.4byte _080E93D0
.4byte _080E93F8
.4byte _080E93E8
.4byte _080E93D8
.4byte _080E93E8
.4byte _080E93E8
.4byte _080E93E0
.4byte _080E93E8
.4byte _080E93E8
.4byte _080E93E8
.4byte _080E93F0
_080E93B8:
ldr r4, _080E93BC @ =gOtherText_Profile
b _080E93FA
.align 2, 0
_080E93BC: .4byte gOtherText_Profile
_080E93C0:
ldr r4, _080E93C4 @ =gOtherText_AtBattleStart
b _080E93FA
.align 2, 0
_080E93C4: .4byte gOtherText_AtBattleStart
_080E93C8:
ldr r4, _080E93CC @ =gOtherText_UponWinningBattle
b _080E93FA
.align 2, 0
_080E93CC: .4byte gOtherText_UponWinningBattle
_080E93D0:
ldr r4, _080E93D4 @ =gOtherText_UponLosingBattle
b _080E93FA
.align 2, 0
_080E93D4: .4byte gOtherText_UponLosingBattle
_080E93D8:
ldr r4, _080E93DC @ =gOtherText_TheBardsSong
b _080E93FA
.align 2, 0
_080E93DC: .4byte gOtherText_TheBardsSong
_080E93E0:
ldr r4, _080E93E4 @ =gOtherText_WhatsHipHappening
b _080E93FA
.align 2, 0
_080E93E4: .4byte gOtherText_WhatsHipHappening
_080E93E8:
ldr r4, _080E93EC @ =gOtherText_Interview
b _080E93FA
.align 2, 0
_080E93EC: .4byte gOtherText_Interview
_080E93F0:
ldr r4, _080E93F4 @ =gOtherText_GoodSaying
b _080E93FA
.align 2, 0
_080E93F4: .4byte gOtherText_GoodSaying
_080E93F8:
movs r4, 0
_080E93FA:
ldr r0, _080E943C @ =gWindowConfig_81E6D8C
bl BasicInitMenuWindow
ldr r0, _080E9440 @ =gUnknown_083DB694
ldr r2, [r0]
ldr r0, _080E9444 @ =0x0000a2ba
adds r5, r2, r0
movs r3, 0xFC
strb r3, [r5]
adds r0, 0x1
adds r1, r2, r0
movs r0, 0x5
strb r0, [r1]
ldr r0, _080E9448 @ =0x0000a2bc
adds r1, r2, r0
movs r0, 0x1
strb r0, [r1]
cmp r4, 0
beq _080E9450
ldr r1, _080E944C @ =0x0000a2bd
adds r0, r2, r1
adds r1, r4, 0
movs r2, 0xF0
movs r3, 0x2
bl sub_8072C74
adds r0, r5, 0
movs r1, 0
movs r2, 0
bl MenuPrint
b _080E9476
.align 2, 0
_080E943C: .4byte gWindowConfig_81E6D8C
_080E9440: .4byte gUnknown_083DB694
_080E9444: .4byte 0x0000a2ba
_080E9448: .4byte 0x0000a2bc
_080E944C: .4byte 0x0000a2bd
_080E9450:
ldr r0, _080E9484 @ =0x0000a2bd
adds r1, r2, r0
strb r3, [r1]
movs r0, 0x11
strb r0, [r1, 0x1]
movs r0, 0x10
strb r0, [r1, 0x2]
movs r0, 0xFF
strb r0, [r1, 0x3]
adds r0, r5, 0
movs r1, 0
movs r2, 0
bl MenuPrint
adds r0, r5, 0
movs r1, 0x1C
movs r2, 0
bl MenuPrint
_080E9476:
ldr r0, _080E9488 @ =gWindowConfig_81E6DA8
bl BasicInitMenuWindow
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080E9484: .4byte 0x0000a2bd
_080E9488: .4byte gWindowConfig_81E6DA8
thumb_func_end sub_80E9368
thumb_func_start sub_80E948C
sub_80E948C: @ 80E948C
push {lr}
sub sp, 0x10
ldr r0, _080E94A8 @ =gUnknown_083DB694
ldr r0, [r0]
ldrb r0, [r0, 0x9]
cmp r0, 0x5
bls _080E949C
b _080E9594
_080E949C:
lsls r0, 2
ldr r1, _080E94AC @ =_080E94B0
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080E94A8: .4byte gUnknown_083DB694
_080E94AC: .4byte _080E94B0
.align 2, 0
_080E94B0:
.4byte _080E9508
.4byte _080E9530
.4byte _080E9554
.4byte _080E9578
.4byte _080E94C8
.4byte _080E94E8
_080E94C8:
ldr r0, _080E94E0 @ =0x06006800
ldr r3, _080E94E4 @ =gUnknown_08E94AD0
movs r1, 0
str r1, [sp]
movs r1, 0x1A
str r1, [sp, 0x4]
movs r1, 0x18
str r1, [sp, 0x8]
movs r1, 0x6
str r1, [sp, 0xC]
movs r1, 0x3
b _080E9568
.align 2, 0
_080E94E0: .4byte 0x06006800
_080E94E4: .4byte gUnknown_08E94AD0
_080E94E8:
ldr r0, _080E9500 @ =0x06006800
ldr r3, _080E9504 @ =gUnknown_08E94AD0
movs r1, 0
str r1, [sp]
movs r1, 0x12
str r1, [sp, 0x4]
movs r1, 0xD
str r1, [sp, 0x8]
movs r1, 0x8
str r1, [sp, 0xC]
movs r1, 0xE
b _080E951E
.align 2, 0
_080E9500: .4byte 0x06006800
_080E9504: .4byte gUnknown_08E94AD0
_080E9508:
ldr r0, _080E9528 @ =0x06006800
ldr r3, _080E952C @ =gUnknown_08E94AD0
movs r1, 0
str r1, [sp]
movs r1, 0xA
str r1, [sp, 0x4]
movs r1, 0x1A
str r1, [sp, 0x8]
movs r1, 0x8
str r1, [sp, 0xC]
movs r1, 0x2
_080E951E:
movs r2, 0x2
bl sub_809D104
b _080E9594
.align 2, 0
_080E9528: .4byte 0x06006800
_080E952C: .4byte gUnknown_08E94AD0
_080E9530:
ldr r0, _080E954C @ =0x06006800
ldr r3, _080E9550 @ =gUnknown_08E94AD0
movs r1, 0
str r1, [sp]
str r1, [sp, 0x4]
movs r1, 0x1A
str r1, [sp, 0x8]
movs r1, 0xA
str r1, [sp, 0xC]
movs r1, 0x2
movs r2, 0
bl sub_809D104
b _080E9594
.align 2, 0
_080E954C: .4byte 0x06006800
_080E9550: .4byte gUnknown_08E94AD0
_080E9554:
ldr r0, _080E9570 @ =0x06006800
ldr r3, _080E9574 @ =gUnknown_08E94AD0
movs r2, 0xD
str r2, [sp]
movs r1, 0x12
str r1, [sp, 0x4]
str r2, [sp, 0x8]
movs r1, 0x4
str r1, [sp, 0xC]
movs r1, 0xE
_080E9568:
movs r2, 0x3
bl sub_809D104
b _080E9594
.align 2, 0
_080E9570: .4byte 0x06006800
_080E9574: .4byte gUnknown_08E94AD0
_080E9578:
ldr r0, _080E959C @ =0x06006800
ldr r3, _080E95A0 @ =gUnknown_08E94AD0
movs r1, 0
str r1, [sp]
movs r1, 0x20
str r1, [sp, 0x4]
movs r1, 0x18
str r1, [sp, 0x8]
movs r1, 0x4
str r1, [sp, 0xC]
movs r1, 0x3
movs r2, 0x2
bl sub_809D104
_080E9594:
add sp, 0x10
pop {r0}
bx r0
.align 2, 0
_080E959C: .4byte 0x06006800
_080E95A0: .4byte gUnknown_08E94AD0
thumb_func_end sub_80E948C
thumb_func_start sub_80E95A4
sub_80E95A4: @ 80E95A4
push {lr}
ldr r0, _080E95C0 @ =gWindowConfig_81E6D8C
bl BasicInitMenuWindow
ldr r0, _080E95C4 @ =gUnknown_083DB694
ldr r0, [r0]
ldrb r0, [r0, 0x9]
cmp r0, 0x5
bhi _080E9612
lsls r0, 2
ldr r1, _080E95C8 @ =_080E95CC
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080E95C0: .4byte gWindowConfig_81E6D8C
_080E95C4: .4byte gUnknown_083DB694
_080E95C8: .4byte _080E95CC
.align 2, 0
_080E95CC:
.4byte _080E95F2
.4byte _080E95F6
.4byte _080E9600
.4byte _080E960A
.4byte _080E95E4
.4byte _080E95EE
_080E95E4:
movs r0, 0x4
movs r1, 0x6
bl sub_80E9620
b _080E9612
_080E95EE:
movs r0, 0x2
b _080E9602
_080E95F2:
movs r0, 0x3
b _080E95F8
_080E95F6:
movs r0, 0
_080E95F8:
movs r1, 0x5
bl sub_80E9620
b _080E9612
_080E9600:
movs r0, 0x4
_080E9602:
movs r1, 0x11
bl sub_80E9620
b _080E9612
_080E960A:
movs r0, 0x3
movs r1, 0x6
bl sub_80E9620
_080E9612:
ldr r0, _080E961C @ =gWindowConfig_81E6DA8
bl BasicInitMenuWindow
pop {r0}
bx r0
.align 2, 0
_080E961C: .4byte gWindowConfig_81E6DA8
thumb_func_end sub_80E95A4
thumb_func_start sub_80E9620
sub_80E9620: @ 80E9620
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x20
lsls r0, 16
lsls r1, 16
lsrs r1, 16
str r1, [sp, 0x14]
movs r1, 0
mov r10, r1
lsrs r7, r0, 16
mov r9, r1
ldr r0, _080E9644 @ =gUnknown_083DB694
ldr r0, [r0]
b _080E971A
.align 2, 0
_080E9644: .4byte gUnknown_083DB694
_080E9648:
ldr r6, [sp, 0x14]
movs r2, 0
mov r8, r2
adds r0, r7, 0x2
str r0, [sp, 0x1C]
mov r1, r9
adds r1, 0x1
str r1, [sp, 0x18]
b _080E96E4
_080E965A:
mov r2, r10
lsls r0, r2, 1
adds r1, r5, 0
adds r1, 0xC
adds r1, r0
ldrh r0, [r1]
ldr r2, _080E9690 @ =0x0000ffff
cmp r0, r2
bne _080E969C
movs r0, 0
str r0, [sp]
str r0, [sp, 0x4]
movs r1, 0x9
str r1, [sp, 0x8]
movs r0, 0x2
str r0, [sp, 0xC]
str r1, [sp, 0x10]
ldr r0, _080E9694 @ =0x06007000
adds r1, r6, 0
adds r2, r7, 0
ldr r3, _080E9698 @ =gUnknown_083DBE1C
bl sub_8095C8C
adds r0, r6, 0
adds r0, 0xB
b _080E96CC
.align 2, 0
_080E9690: .4byte 0x0000ffff
_080E9694: .4byte 0x06007000
_080E9698: .4byte gUnknown_083DBE1C
_080E969C:
ldr r0, _080E9738 @ =0x0000a140
adds r4, r5, r0
ldrh r1, [r1]
adds r0, r4, 0
movs r2, 0xB
bl sub_80EB218
lsls r1, r6, 24
lsrs r1, 24
lsls r2, r7, 24
lsrs r2, 24
adds r0, r4, 0
bl MenuPrint
mov r1, r9
lsls r0, r1, 1
add r0, r8
adds r1, r5, 0
adds r1, 0x8C
adds r1, r0
adds r0, r6, 0
adds r0, 0xB
ldrb r1, [r1]
adds r0, r1
_080E96CC:
lsls r0, 16
lsrs r6, r0, 16
mov r0, r10
adds r0, 0x1
lsls r0, 16
lsrs r0, 16
mov r10, r0
mov r0, r8
adds r0, 0x1
lsls r0, 16
lsrs r0, 16
mov r8, r0
_080E96E4:
ldr r0, _080E973C @ =gUnknown_083DB694
ldr r5, [r0]
adds r0, r5, 0
adds r0, 0x83
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r8, r0
bge _080E970A
ldrb r2, [r5, 0xA]
cmp r10, r2
bcc _080E965A
lsls r1, r6, 24
lsrs r1, 24
lsls r2, r7, 24
lsrs r2, 24
ldr r0, _080E9740 @ =gUnknown_083DBEA8
bl MenuPrint
_080E970A:
ldr r1, [sp, 0x1C]
lsls r0, r1, 16
lsrs r7, r0, 16
ldr r2, [sp, 0x18]
lsls r0, r2, 16
lsrs r0, 16
mov r9, r0
adds r0, r5, 0
_080E971A:
adds r0, 0x84
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r9, r0
blt _080E9648
add sp, 0x20
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E9738: .4byte 0x0000a140
_080E973C: .4byte gUnknown_083DB694
_080E9740: .4byte gUnknown_083DBEA8
thumb_func_end sub_80E9620
thumb_func_start sub_80E9744
sub_80E9744: @ 80E9744
push {lr}
ldr r0, _080E9760 @ =gWindowConfig_81E6D8C
bl BasicInitMenuWindow
ldr r0, _080E9764 @ =gUnknown_083DB694
ldr r0, [r0]
ldrb r0, [r0, 0x9]
cmp r0, 0x5
bhi _080E97B2
lsls r0, 2
ldr r1, _080E9768 @ =_080E976C
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080E9760: .4byte gWindowConfig_81E6D8C
_080E9764: .4byte gUnknown_083DB694
_080E9768: .4byte _080E976C
.align 2, 0
_080E976C:
.4byte _080E9792
.4byte _080E9796
.4byte _080E97A0
.4byte _080E97AA
.4byte _080E9784
.4byte _080E978E
_080E9784:
movs r0, 0x4
movs r1, 0x6
bl sub_80E97C0
b _080E97B2
_080E978E:
movs r0, 0x2
b _080E97A2
_080E9792:
movs r0, 0x3
b _080E9798
_080E9796:
movs r0, 0
_080E9798:
movs r1, 0x5
bl sub_80E97C0
b _080E97B2
_080E97A0:
movs r0, 0x4
_080E97A2:
movs r1, 0x11
bl sub_80E97C0
b _080E97B2
_080E97AA:
movs r0, 0x3
movs r1, 0x6
bl sub_80E97C0
_080E97B2:
ldr r0, _080E97BC @ =gWindowConfig_81E6DA8
bl BasicInitMenuWindow
pop {r0}
bx r0
.align 2, 0
_080E97BC: .4byte gWindowConfig_81E6DA8
thumb_func_end sub_80E9744
thumb_func_start sub_80E97C0
sub_80E97C0: @ 80E97C0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x8
lsls r0, 16
lsrs r5, r0, 16
lsls r1, 16
lsrs r1, 16
str r1, [sp]
movs r7, 0
movs r3, 0
ldr r1, _080E98B8 @ =gUnknown_083DB694
ldr r0, [r1]
adds r0, 0x84
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r3, r0
bge _080E98A6
_080E97EA:
ldr r1, [r1]
ldr r0, _080E98BC @ =0x0000a19a
adds r2, r1, r0
movs r6, 0
adds r0, r1, 0
adds r0, 0x83
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
ldr r4, [sp]
lsls r4, 24
mov r8, r4
lsls r4, r5, 24
mov r9, r4
adds r5, 0x2
mov r10, r5
adds r3, 0x1
str r3, [sp, 0x4]
cmp r6, r0
bge _080E985E
ldrb r1, [r1, 0xA]
cmp r7, r1
bcs _080E985E
ldr r0, _080E98B8 @ =gUnknown_083DB694
ldr r4, [r0]
ldr r5, _080E98C0 @ =0x0000ffff
_080E981E:
lsls r0, r7, 1
adds r1, r4, 0
adds r1, 0xC
adds r1, r0
ldrh r0, [r1]
cmp r0, r5
beq _080E983E
adds r1, r0, 0
adds r0, r2, 0
movs r2, 0
bl sub_80EB218
adds r2, r0, 0
movs r0, 0
strb r0, [r2]
adds r2, 0x1
_080E983E:
adds r0, r7, 0x1
lsls r0, 24
lsrs r7, r0, 24
adds r0, r6, 0x1
lsls r0, 24
lsrs r6, r0, 24
adds r0, r4, 0
adds r0, 0x83
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r6, r0
bge _080E985E
ldrb r0, [r4, 0xA]
cmp r7, r0
bcc _080E981E
_080E985E:
ldr r1, _080E98B8 @ =gUnknown_083DB694
ldr r4, [r1]
adds r0, r4, 0
adds r0, 0x83
movs r1, 0
ldrsb r1, [r0, r1]
movs r0, 0xB
muls r1, r0
movs r0, 0xFC
strb r0, [r2]
movs r0, 0x13
strb r0, [r2, 0x1]
lsls r1, 3
strb r1, [r2, 0x2]
movs r0, 0xFF
strb r0, [r2, 0x3]
ldr r2, _080E98BC @ =0x0000a19a
adds r0, r4, r2
mov r3, r8
lsrs r1, r3, 24
mov r3, r9
lsrs r2, r3, 24
bl MenuPrint
mov r1, r10
lsls r0, r1, 16
lsrs r5, r0, 16
ldr r2, [sp, 0x4]
lsls r0, r2, 24
lsrs r3, r0, 24
ldr r1, _080E98B8 @ =gUnknown_083DB694
adds r4, 0x84
movs r0, 0
ldrsb r0, [r4, r0]
cmp r3, r0
blt _080E97EA
_080E98A6:
add sp, 0x8
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E98B8: .4byte gUnknown_083DB694
_080E98BC: .4byte 0x0000a19a
_080E98C0: .4byte 0x0000ffff
thumb_func_end sub_80E97C0
thumb_func_start sub_80E98C4
sub_80E98C4: @ 80E98C4
push {lr}
ldr r0, _080E98E0 @ =gWindowConfig_81E6D8C
bl BasicInitMenuWindow
ldr r0, _080E98E4 @ =gUnknown_083DB694
ldr r0, [r0]
ldrb r0, [r0, 0x9]
cmp r0, 0x5
bhi _080E9936
lsls r0, 2
ldr r1, _080E98E8 @ =_080E98EC
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080E98E0: .4byte gWindowConfig_81E6D8C
_080E98E4: .4byte gUnknown_083DB694
_080E98E8: .4byte _080E98EC
.align 2, 0
_080E98EC:
.4byte _080E990A
.4byte _080E9910
.4byte _080E9916
.4byte _080E991A
.4byte _080E9904
.4byte _080E990A
_080E9904:
movs r1, 0x4
movs r3, 0x2
b _080E991E
_080E990A:
movs r1, 0x3
movs r3, 0x2
b _080E991E
_080E9910:
movs r1, 0x1
movs r3, 0x3
b _080E991E
_080E9916:
movs r1, 0x4
b _080E991C
_080E991A:
movs r1, 0x3
_080E991C:
movs r3, 0x1
_080E991E:
lsls r3, 1
adds r3, r1, r3
subs r3, 0x1
lsls r3, 24
lsrs r3, 24
movs r0, 0x2
movs r2, 0x1B
bl MenuFillWindowRectWithBlankTile
ldr r0, _080E993C @ =gWindowConfig_81E6DA8
bl BasicInitMenuWindow
_080E9936:
pop {r0}
bx r0
.align 2, 0
_080E993C: .4byte gWindowConfig_81E6DA8
thumb_func_end sub_80E98C4
thumb_func_start sub_80E9940
sub_80E9940: @ 80E9940
push {r4-r6,lr}
adds r6, r0, 0
lsls r5, r1, 24
lsrs r5, 24
movs r4, 0x7
ands r4, r5
lsls r3, r4, 1
adds r1, r3, 0
adds r3, 0x1
movs r0, 0x2
movs r2, 0x1F
bl MenuFillWindowRectWithBlankTile
adds r0, r6, 0
adds r1, r5, 0
bl sub_80E9A7C
lsls r4, 1
adds r0, r6, 0
movs r1, 0x2
adds r2, r4, 0
bl sub_80E9A60
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_80E9940
thumb_func_start sub_80E9974
sub_80E9974: @ 80E9974
push {r4-r6,lr}
ldr r0, _080E99C4 @ =gWindowConfig_81E6D54
bl BasicInitMenuWindow
ldr r0, _080E99C8 @ =gUnknown_083DB694
ldr r2, [r0]
adds r0, r2, 0
adds r0, 0x26
ldrb r0, [r0]
cmp r0, 0
bne _080E99D4
ldr r1, _080E99CC @ =0x000001b5
adds r0, r2, r1
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
lsls r1, r0, 16
lsrs r4, r1, 16
adds r0, 0x4
cmp r4, r0
bge _080E9A02
adds r5, r2, 0
ldr r2, _080E99CC @ =0x000001b5
adds r6, r5, r2
_080E99A4:
lsls r1, r4, 24
lsrs r1, 24
ldr r2, _080E99D0 @ =0x0000a0f5
adds r0, r5, r2
bl sub_80E9940
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
movs r0, 0
ldrsb r0, [r6, r0]
adds r0, 0x4
cmp r4, r0
blt _080E99A4
b _080E9A02
.align 2, 0
_080E99C4: .4byte gWindowConfig_81E6D54
_080E99C8: .4byte gUnknown_083DB694
_080E99CC: .4byte 0x000001b5
_080E99D0: .4byte 0x0000a0f5
_080E99D4:
bl sub_80E9AD4
ldr r4, _080E9A08 @ =gUnknown_083DBEAC
ldr r0, [r4]
movs r1, 0x2
movs r2, 0
bl sub_80E9A60
ldr r0, [r4, 0x4]
movs r1, 0x2
movs r2, 0x2
bl sub_80E9A60
ldr r0, [r4, 0x8]
movs r1, 0x2
movs r2, 0x4
bl sub_80E9A60
ldr r0, [r4, 0xC]
movs r1, 0x2
movs r2, 0x6
bl sub_80E9A60
_080E9A02:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080E9A08: .4byte gUnknown_083DBEAC
thumb_func_end sub_80E9974
thumb_func_start sub_80E9A14
sub_80E9A14: @ 80E9A14
push {lr}
bl sub_80E9A4C
ldr r0, _080E9A44 @ =gUnknown_083DB694
ldr r1, [r0]
adds r0, r1, 0
adds r0, 0x26
ldrb r0, [r0]
cmp r0, 0
bne _080E9A40
movs r0, 0xDD
lsls r0, 1
adds r2, r1, r0
ldr r3, _080E9A48 @ =0x000001b5
adds r0, r1, r3
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
lsls r0, 4
ldrh r1, [r2]
adds r0, r1
strh r0, [r2]
_080E9A40:
pop {r0}
bx r0
.align 2, 0
_080E9A44: .4byte gUnknown_083DB694
_080E9A48: .4byte 0x000001b5
thumb_func_end sub_80E9A14
thumb_func_start sub_80E9A4C
sub_80E9A4C: @ 80E9A4C
ldr r0, _080E9A5C @ =gUnknown_083DB694
ldr r0, [r0]
movs r2, 0xDD
lsls r2, 1
adds r1, r0, r2
movs r0, 0
strh r0, [r1]
bx lr
.align 2, 0
_080E9A5C: .4byte gUnknown_083DB694
thumb_func_end sub_80E9A4C
thumb_func_start sub_80E9A60
sub_80E9A60: @ 80E9A60
push {lr}
lsls r2, 16
movs r3, 0xF0
lsls r3, 12
ands r3, r2
lsls r1, 24
lsrs r1, 24
lsrs r3, 16
adds r2, r3, 0
bl MenuPrint
pop {r0}
bx r0
thumb_func_end sub_80E9A60
thumb_func_start sub_80E9A7C
sub_80E9A7C: @ 80E9A7C
push {r4-r7,lr}
adds r2, r0, 0
lsls r1, 16
lsrs r7, r1, 16
lsls r0, r7, 17
lsrs r5, r0, 16
movs r4, 0
ldr r0, _080E9AD0 @ =gUnknown_083DB694
ldr r6, [r0]
_080E9A8E:
movs r0, 0xFC
strb r0, [r2]
movs r0, 0x12
strb r0, [r2, 0x1]
movs r0, 0x58
muls r0, r4
strb r0, [r2, 0x2]
adds r2, 0x3
lsls r1, r7, 1
adds r1, r4, r1
adds r0, r6, 0
adds r0, 0x2A
adds r0, r1
ldrb r1, [r0]
adds r0, r2, 0
movs r2, 0xB
bl sub_80EAD64
adds r2, r0, 0
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
ldrh r0, [r6, 0x28]
cmp r5, r0
bcs _080E9ACA
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0x1
bls _080E9A8E
_080E9ACA:
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E9AD0: .4byte gUnknown_083DB694
thumb_func_end sub_80E9A7C
thumb_func_start sub_80E9AD4
sub_80E9AD4: @ 80E9AD4
push {r4,lr}
ldr r0, _080E9AF4 @ =gWindowConfig_81E6D54
bl BasicInitMenuWindow
movs r4, 0
_080E9ADE:
adds r0, r4, 0
bl sub_80E9C74
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0xF
bls _080E9ADE
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080E9AF4: .4byte gWindowConfig_81E6D54
thumb_func_end sub_80E9AD4
thumb_func_start sub_80E9AF8
sub_80E9AF8: @ 80E9AF8
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x4
lsls r0, 16
lsrs r7, r0, 16
adds r0, r7, 0
bl sub_80E9C74
ldr r4, _080E9B7C @ =gUnknown_083DB694
ldr r5, [r4]
ldr r0, _080E9B80 @ =0x0000a140
adds r0, r5
mov r8, r0
movs r0, 0xFC
mov r1, r8
strb r0, [r1]
movs r0, 0x11
strb r0, [r1, 0x1]
movs r0, 0x10
strb r0, [r1, 0x2]
ldr r2, _080E9B84 @ =0x0000a143
adds r2, r5
mov r8, r2
adds r0, r5, 0
adds r0, 0x7D
ldrb r0, [r0]
cmp r0, 0
beq _080E9BF4
movs r6, 0
ldr r3, _080E9B88 @ =0x00009cd2
adds r0, r5, r3
adds r0, r7
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r6, r0
blt _080E9B4A
b _080E9C52
_080E9B4A:
lsls r0, r7, 2
mov r9, r0
ldr r1, _080E9B8C @ =0x00009d56
adds r1, r5, r1
str r1, [sp]
lsls r2, r7, 17
mov r10, r2
_080E9B58:
lsls r4, r6, 1
mov r3, r9
adds r0, r4, r3
ldr r1, [sp]
adds r0, r1, r0
ldrh r0, [r0]
bl sub_80EB2D4
lsls r0, 16
lsrs r0, 16
adds r5, r4, 0
cmp r0, 0x7
bne _080E9B94
ldr r0, _080E9B90 @ =gWindowConfig_81E6D70
bl BasicInitMenuWindow
b _080E9B9A
.align 2, 0
_080E9B7C: .4byte gUnknown_083DB694
_080E9B80: .4byte 0x0000a140
_080E9B84: .4byte 0x0000a143
_080E9B88: .4byte 0x00009cd2
_080E9B8C: .4byte 0x00009d56
_080E9B90: .4byte gWindowConfig_81E6D70
_080E9B94:
ldr r0, _080E9BE0 @ =gWindowConfig_81E6D54
bl BasicInitMenuWindow
_080E9B9A:
ldr r2, _080E9BE4 @ =gUnknown_083DB694
ldr r4, [r2]
mov r3, r9
adds r1, r5, r3
ldr r2, _080E9BE8 @ =0x00009d56
adds r0, r4, r2
adds r0, r1
ldrh r1, [r0]
mov r0, r8
movs r2, 0x9
bl sub_80EB218
ldr r3, _080E9BEC @ =0x0000a140
adds r0, r4, r3
movs r1, 0xB
muls r1, r6
adds r1, 0x4
lsls r1, 16
lsrs r1, 16
mov r3, r10
lsrs r2, r3, 16
bl sub_80E9A60
adds r0, r6, 0x1
lsls r0, 16
lsrs r6, r0, 16
ldr r0, _080E9BF0 @ =0x00009cd2
adds r4, r0
adds r4, r7
movs r0, 0
ldrsb r0, [r4, r0]
cmp r6, r0
blt _080E9B58
b _080E9C52
.align 2, 0
_080E9BE0: .4byte gWindowConfig_81E6D54
_080E9BE4: .4byte gUnknown_083DB694
_080E9BE8: .4byte 0x00009d56
_080E9BEC: .4byte 0x0000a140
_080E9BF0: .4byte 0x00009cd2
_080E9BF4:
ldr r0, _080E9C64 @ =gWindowConfig_81E6D54
bl BasicInitMenuWindow
movs r6, 0
ldr r1, _080E9C68 @ =0x00009cd2
adds r0, r5, r1
adds r0, r7
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r6, r0
bge _080E9C52
adds r4, r5, 0
adds r0, r4, r1
adds r0, r7
mov r9, r0
lsls r5, r7, 17
_080E9C16:
lsls r1, r6, 1
lsls r0, r7, 2
adds r1, r0
ldr r2, _080E9C6C @ =0x00009d56
adds r0, r4, r2
adds r0, r1
ldrh r1, [r0]
mov r0, r8
movs r2, 0x9
bl sub_80EB218
movs r0, 0xB
adds r1, r6, 0
muls r1, r0
adds r1, 0x4
lsls r1, 16
lsrs r1, 16
ldr r3, _080E9C70 @ =0x0000a140
adds r0, r4, r3
lsrs r2, r5, 16
bl sub_80E9A60
adds r0, r6, 0x1
lsls r0, 16
lsrs r6, r0, 16
mov r1, r9
movs r0, 0
ldrsb r0, [r1, r0]
cmp r6, r0
blt _080E9C16
_080E9C52:
add sp, 0x4
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E9C64: .4byte gWindowConfig_81E6D54
_080E9C68: .4byte 0x00009cd2
_080E9C6C: .4byte 0x00009d56
_080E9C70: .4byte 0x0000a140
thumb_func_end sub_80E9AF8
thumb_func_start sub_80E9C74
sub_80E9C74: @ 80E9C74
push {lr}
lsls r0, 16
movs r1, 0xE0
lsls r1, 11
ands r1, r0
lsrs r1, 16
lsls r3, r1, 1
adds r1, r3, 0
adds r3, 0x1
movs r0, 0
movs r2, 0x1D
bl MenuFillWindowRectWithBlankTile
pop {r0}
bx r0
thumb_func_end sub_80E9C74
thumb_func_start sub_80E9C94
sub_80E9C94: @ 80E9C94
push {r4-r6,lr}
ldr r0, _080E9CAC @ =gUnknown_083DB694
ldr r0, [r0]
ldr r2, _080E9CB0 @ =0x00009d54
adds r1, r0, r2
movs r0, 0
ldrsb r0, [r1, r0]
cmp r0, 0x3
bgt _080E9CB4
lsls r0, 16
lsrs r0, 16
b _080E9CB6
.align 2, 0
_080E9CAC: .4byte gUnknown_083DB694
_080E9CB0: .4byte 0x00009d54
_080E9CB4:
movs r0, 0x4
_080E9CB6:
adds r5, r0, 0
movs r4, 0
cmp r4, r5
bcs _080E9CF4
ldr r0, _080E9CE0 @ =gUnknown_083DB694
ldr r0, [r0]
ldr r1, _080E9CE4 @ =0x00009d55
adds r6, r0, r1
_080E9CC6:
movs r0, 0
ldrsb r0, [r6, r0]
adds r0, r4, r0
lsls r0, 16
lsrs r0, 16
bl sub_80E9AF8
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
cmp r4, r5
bcc _080E9CC6
b _080E9CF4
.align 2, 0
_080E9CE0: .4byte gUnknown_083DB694
_080E9CE4: .4byte 0x00009d55
_080E9CE8:
adds r0, r4, 0
adds r1, r0, 0x1
lsls r1, 16
lsrs r4, r1, 16
bl sub_80E9C74
_080E9CF4:
cmp r4, 0x3
bls _080E9CE8
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_80E9C94
thumb_func_start sub_80E9D00
sub_80E9D00: @ 80E9D00
push {r4-r6,lr}
ldr r0, _080E9D28 @ =gUnknown_083DB694
ldr r2, [r0]
movs r0, 0xE0
lsls r0, 1
adds r1, r2, r0
movs r0, 0
ldrsb r0, [r1, r0]
cmp r0, 0
ble _080E9D30
lsls r0, 16
lsrs r4, r0, 16
ldr r1, _080E9D2C @ =0x00009d55
adds r0, r2, r1
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
adds r0, 0x4
b _080E9D46
.align 2, 0
_080E9D28: .4byte gUnknown_083DB694
_080E9D2C: .4byte 0x00009d55
_080E9D30:
movs r0, 0
ldrsb r0, [r1, r0]
negs r0, r0
lsls r0, 16
lsrs r4, r0, 16
ldr r1, _080E9D74 @ =0x00009d55
adds r0, r2, r1
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
subs r0, r4
_080E9D46:
lsls r0, 16
lsrs r5, r0, 16
subs r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
ldr r0, _080E9D78 @ =0x0000ffff
cmp r4, r0
beq _080E9D6E
adds r6, r0, 0
_080E9D58:
adds r0, r5, 0
adds r1, r0, 0x1
lsls r1, 16
lsrs r5, r1, 16
bl sub_80E9AF8
subs r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
cmp r4, r6
bne _080E9D58
_080E9D6E:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080E9D74: .4byte 0x00009d55
_080E9D78: .4byte 0x0000ffff
thumb_func_end sub_80E9D00
thumb_func_start sub_80E9D7C
sub_80E9D7C: @ 80E9D7C
push {r4-r7,lr}
ldr r0, _080E9DAC @ =gWindowConfig_81E6D54
bl BasicInitMenuWindow
ldr r0, _080E9DB0 @ =gUnknown_083DB694
ldr r2, [r0]
movs r0, 0xE0
lsls r0, 1
adds r1, r2, r0
movs r0, 0
ldrsb r0, [r1, r0]
cmp r0, 0
bge _080E9DB8
negs r0, r0
lsls r0, 16
lsrs r6, r0, 16
ldr r1, _080E9DB4 @ =0x000001b5
adds r0, r2, r1
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
subs r0, r6
b _080E9DCC
.align 2, 0
_080E9DAC: .4byte gWindowConfig_81E6D54
_080E9DB0: .4byte gUnknown_083DB694
_080E9DB4: .4byte 0x000001b5
_080E9DB8:
movs r0, 0
ldrsb r0, [r1, r0]
lsls r0, 16
lsrs r6, r0, 16
ldr r1, _080E9DFC @ =0x000001b5
adds r0, r2, r1
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
adds r0, 0x4
_080E9DCC:
lsls r0, 16
lsrs r4, r0, 16
movs r5, 0
cmp r5, r6
bcs _080E9DF6
ldr r0, _080E9E00 @ =gUnknown_083DB694
ldr r7, [r0]
_080E9DDA:
lsls r1, r4, 24
lsrs r1, 24
ldr r2, _080E9E04 @ =0x0000a0f5
adds r0, r7, r2
bl sub_80E9940
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
cmp r5, r6
bcc _080E9DDA
_080E9DF6:
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080E9DFC: .4byte 0x000001b5
_080E9E00: .4byte gUnknown_083DB694
_080E9E04: .4byte 0x0000a0f5
thumb_func_end sub_80E9D7C
thumb_func_start sub_80E9E08
sub_80E9E08: @ 80E9E08
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
ldr r0, _080E9E4C @ =gUnknown_083DB694
ldr r3, [r0]
movs r0, 0xDD
lsls r0, 1
adds r1, r3, r0
movs r5, 0xE0
lsls r5, 1
adds r2, r3, r5
movs r0, 0
ldrsb r0, [r2, r0]
lsls r0, 4
ldrh r1, [r1]
adds r0, r1
movs r1, 0x7F
ands r0, r1
subs r5, 0x4
adds r1, r3, r5
strh r0, [r1]
adds r1, r4, 0
movs r0, 0
ldrsb r0, [r2, r0]
cmp r0, 0
bge _080E9E3E
negs r1, r4
_080E9E3E:
ldr r2, _080E9E50 @ =0x000001bf
adds r0, r3, r2
strb r1, [r0]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080E9E4C: .4byte gUnknown_083DB694
_080E9E50: .4byte 0x000001bf
thumb_func_end sub_80E9E08
thumb_func_start sub_80E9E54
sub_80E9E54: @ 80E9E54
push {r4,lr}
ldr r0, _080E9E8C @ =gUnknown_083DB694
ldr r2, [r0]
movs r0, 0xDD
lsls r0, 1
adds r3, r2, r0
ldr r1, _080E9E90 @ =0x000001bf
adds r0, r2, r1
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
ldrh r4, [r3]
adds r0, r4
movs r1, 0x7F
ands r0, r1
strh r0, [r3]
movs r3, 0
movs r4, 0xDE
lsls r4, 1
adds r1, r2, r4
ldrh r1, [r1]
cmp r0, r1
bne _080E9E84
movs r3, 0x1
_080E9E84:
adds r0, r3, 0
pop {r4}
pop {r1}
bx r1
.align 2, 0
_080E9E8C: .4byte gUnknown_083DB694
_080E9E90: .4byte 0x000001bf
thumb_func_end sub_80E9E54
thumb_func_start nullsub_23
nullsub_23: @ 80E9E94
bx lr
thumb_func_end nullsub_23
thumb_func_start sub_80E9E98
sub_80E9E98: @ 80E9E98
ldr r0, _080E9EA4 @ =gUnknown_083DB694
ldr r0, [r0]
adds r0, 0xBE
movs r1, 0
strh r1, [r0]
bx lr
.align 2, 0
_080E9EA4: .4byte gUnknown_083DB694
thumb_func_end sub_80E9E98
thumb_func_start sub_80E9EA8
sub_80E9EA8: @ 80E9EA8
push {lr}
ldr r1, _080E9EC4 @ =gUnknown_083DB694
ldr r0, [r1]
adds r0, 0xBE
ldrh r0, [r0]
adds r2, r1, 0
cmp r0, 0x5
bhi _080E9F48
lsls r0, 2
ldr r1, _080E9EC8 @ =_080E9ECC
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080E9EC4: .4byte gUnknown_083DB694
_080E9EC8: .4byte _080E9ECC
.align 2, 0
_080E9ECC:
.4byte _080E9EE4
.4byte _080E9EF4
.4byte _080E9F0C
.4byte _080E9F24
.4byte _080E9F38
.4byte _080E9F44
_080E9EE4:
bl sub_80EA24C
ldr r0, _080E9F08 @ =gUnknown_083DB694
ldr r1, [r0]
adds r1, 0xBE
ldrh r0, [r1]
adds r0, 0x1
strh r0, [r1]
_080E9EF4:
bl sub_80EA1E0
lsls r0, 24
cmp r0, 0
beq _080E9F48
bl sub_80EA4A4
ldr r0, _080E9F08 @ =gUnknown_083DB694
ldr r1, [r0]
b _080E9F3A
.align 2, 0
_080E9F08: .4byte gUnknown_083DB694
_080E9F0C:
bl sub_80EA1E0
lsls r0, 24
cmp r0, 0
beq _080E9F48
bl sub_80EA704
ldr r0, _080E9F20 @ =gUnknown_083DB694
ldr r1, [r0]
b _080E9F3A
.align 2, 0
_080E9F20: .4byte gUnknown_083DB694
_080E9F24:
bl sub_80EA1E0
lsls r0, 24
cmp r0, 0
beq _080E9F48
ldr r0, _080E9F34 @ =gUnknown_083DB694
ldr r1, [r0]
b _080E9F3A
.align 2, 0
_080E9F34: .4byte gUnknown_083DB694
_080E9F38:
ldr r1, [r2]
_080E9F3A:
adds r1, 0xBE
ldrh r0, [r1]
adds r0, 0x1
strh r0, [r1]
b _080E9F48
_080E9F44:
movs r0, 0x1
b _080E9F4A
_080E9F48:
movs r0, 0
_080E9F4A:
pop {r1}
bx r1
thumb_func_end sub_80E9EA8
thumb_func_start sub_80E9F50
sub_80E9F50: @ 80E9F50
push {lr}
ldr r0, _080E9F68 @ =gUnknown_083DB694
ldr r0, [r0]
adds r0, 0xBE
ldrh r0, [r0]
cmp r0, 0x6
bhi _080E9FCC
lsls r0, 2
ldr r1, _080E9F6C @ =_080E9F70
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080E9F68: .4byte gUnknown_083DB694
_080E9F6C: .4byte _080E9F70
.align 2, 0
_080E9F70:
.4byte _080E9F8C
.4byte _080E9FAC
.4byte _080E9F96
.4byte _080E9FAC
.4byte _080E9F9C
.4byte _080E9FAC
.4byte _080E9FC8
_080E9F8C:
bl nullsub_23
bl sub_80EA764
b _080E9FA0
_080E9F96:
bl sub_80EA5A0
b _080E9FA0
_080E9F9C:
bl sub_80EA348
_080E9FA0:
ldr r0, _080E9FC4 @ =gUnknown_083DB694
ldr r1, [r0]
adds r1, 0xBE
ldrh r0, [r1]
adds r0, 0x1
strh r0, [r1]
_080E9FAC:
bl sub_80EA1E0
lsls r0, 24
cmp r0, 0
beq _080E9FCC
ldr r0, _080E9FC4 @ =gUnknown_083DB694
ldr r1, [r0]
adds r1, 0xBE
ldrh r0, [r1]
adds r0, 0x1
strh r0, [r1]
b _080E9FCC
.align 2, 0
_080E9FC4: .4byte gUnknown_083DB694
_080E9FC8:
movs r0, 0x1
b _080E9FCE
_080E9FCC:
movs r0, 0
_080E9FCE:
pop {r1}
bx r1
thumb_func_end sub_80E9F50
thumb_func_start sub_80E9FD4
sub_80E9FD4: @ 80E9FD4
push {r4,lr}
ldr r0, _080E9FEC @ =gUnknown_083DB694
ldr r0, [r0]
adds r4, r0, 0
adds r4, 0xBE
ldrh r0, [r4]
cmp r0, 0
beq _080E9FF0
cmp r0, 0x1
beq _080E9FFE
b _080EA00C
.align 2, 0
_080E9FEC: .4byte gUnknown_083DB694
_080E9FF0:
bl nullsub_23
bl sub_80EA5A0
ldrh r0, [r4]
adds r0, 0x1
strh r0, [r4]
_080E9FFE:
bl sub_80EA1E0
lsls r0, 24
cmp r0, 0
beq _080EA00C
movs r0, 0x1
b _080EA00E
_080EA00C:
movs r0, 0
_080EA00E:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_80E9FD4
thumb_func_start sub_80EA014
sub_80EA014: @ 80EA014
push {r4,lr}
ldr r0, _080EA02C @ =gUnknown_083DB694
ldr r0, [r0]
adds r4, r0, 0
adds r4, 0xBE
ldrh r0, [r4]
cmp r0, 0
beq _080EA030
cmp r0, 0x1
beq _080EA03A
b _080EA048
.align 2, 0
_080EA02C: .4byte gUnknown_083DB694
_080EA030:
bl sub_80EA4A4
ldrh r0, [r4]
adds r0, 0x1
strh r0, [r4]
_080EA03A:
bl sub_80EA1E0
lsls r0, 24
cmp r0, 0
beq _080EA048
movs r0, 0x1
b _080EA04A
_080EA048:
movs r0, 0
_080EA04A:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_80EA014
thumb_func_start sub_80EA050
sub_80EA050: @ 80EA050
push {lr}
ldr r0, _080EA068 @ =gUnknown_083DB694
ldr r0, [r0]
adds r0, 0xBE
ldrh r0, [r0]
cmp r0, 0x4
bhi _080EA0DC
lsls r0, 2
ldr r1, _080EA06C @ =_080EA070
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080EA068: .4byte gUnknown_083DB694
_080EA06C: .4byte _080EA070
.align 2, 0
_080EA070:
.4byte _080EA084
.4byte _080EA08E
.4byte _080EA09E
.4byte _080EA0B4
.4byte _080EA0D8
_080EA084:
bl nullsub_23
bl sub_80EA764
b _080EA0C4
_080EA08E:
bl sub_80EA1E0
lsls r0, 24
cmp r0, 0
beq _080EA0DC
bl sub_80EA7F4
b _080EA0C4
_080EA09E:
movs r0, 0x1
bl sub_80E9108
bl sub_80EA1E0
lsls r0, 24
cmp r0, 0
beq _080EA0DC
bl sub_80EA8BC
b _080EA0C4
_080EA0B4:
movs r0, 0x1
bl sub_80E9108
bl sub_80EA1E0
lsls r0, 24
cmp r0, 0
beq _080EA0DC
_080EA0C4:
ldr r0, _080EA0D4 @ =gUnknown_083DB694
ldr r1, [r0]
adds r1, 0xBE
ldrh r0, [r1]
adds r0, 0x1
strh r0, [r1]
b _080EA0DC
.align 2, 0
_080EA0D4: .4byte gUnknown_083DB694
_080EA0D8:
movs r0, 0x1
b _080EA0DE
_080EA0DC:
movs r0, 0
_080EA0DE:
pop {r1}
bx r1
thumb_func_end sub_80EA050
thumb_func_start sub_80EA0E4
sub_80EA0E4: @ 80EA0E4
push {lr}
ldr r0, _080EA0FC @ =gUnknown_083DB694
ldr r0, [r0]
adds r0, 0xBE
ldrh r0, [r0]
cmp r0, 0x4
bhi _080EA17C
lsls r0, 2
ldr r1, _080EA100 @ =_080EA104
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080EA0FC: .4byte gUnknown_083DB694
_080EA100: .4byte _080EA104
.align 2, 0
_080EA104:
.4byte _080EA118
.4byte _080EA128
.4byte _080EA144
.4byte _080EA15C
.4byte _080EA178
_080EA118:
bl sub_80EA948
ldr r0, _080EA140 @ =gUnknown_083DB694
ldr r1, [r0]
adds r1, 0xBE
ldrh r0, [r1]
adds r0, 0x1
strh r0, [r1]
_080EA128:
movs r0, 0x1
negs r0, r0
bl sub_80E9108
bl sub_80EA1E0
lsls r0, 24
cmp r0, 0
beq _080EA17C
bl sub_80EAA44
b _080EA166
.align 2, 0
_080EA140: .4byte gUnknown_083DB694
_080EA144:
movs r0, 0x1
negs r0, r0
bl sub_80E9108
bl sub_80EA1E0
lsls r0, 24
cmp r0, 0
beq _080EA17C
bl sub_80EA704
b _080EA166
_080EA15C:
bl sub_80EA1E0
lsls r0, 24
cmp r0, 0
beq _080EA17C
_080EA166:
ldr r0, _080EA174 @ =gUnknown_083DB694
ldr r1, [r0]
adds r1, 0xBE
ldrh r0, [r1]
adds r0, 0x1
strh r0, [r1]
b _080EA17C
.align 2, 0
_080EA174: .4byte gUnknown_083DB694
_080EA178:
movs r0, 0x1
b _080EA17E
_080EA17C:
movs r0, 0
_080EA17E:
pop {r1}
bx r1
thumb_func_end sub_80EA0E4
thumb_func_start sub_80EA184
sub_80EA184: @ 80EA184
push {r4,lr}
ldr r0, _080EA1A0 @ =gUnknown_083DB694
ldr r0, [r0]
adds r4, r0, 0
adds r4, 0xBE
ldrh r0, [r4]
cmp r0, 0x1
beq _080EA1B4
cmp r0, 0x1
bgt _080EA1A4
cmp r0, 0
beq _080EA1AA
b _080EA1D8
.align 2, 0
_080EA1A0: .4byte gUnknown_083DB694
_080EA1A4:
cmp r0, 0x2
beq _080EA1D0
b _080EA1D8
_080EA1AA:
bl sub_80EAAD4
ldrh r0, [r4]
adds r0, 0x1
strh r0, [r4]
_080EA1B4:
bl sub_80EA1E0
lsls r0, 24
cmp r0, 0
beq _080EA1D8
ldr r0, _080EA1CC @ =gUnknown_083DB694
ldr r1, [r0]
adds r1, 0xBE
ldrh r0, [r1]
adds r0, 0x1
strh r0, [r1]
b _080EA1D8
.align 2, 0
_080EA1CC: .4byte gUnknown_083DB694
_080EA1D0:
bl sub_80E9178
movs r0, 0x1
b _080EA1DA
_080EA1D8:
movs r0, 0
_080EA1DA:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_80EA184
thumb_func_start sub_80EA1E0
sub_80EA1E0: @ 80EA1E0
push {r4-r6,lr}
ldr r0, _080EA240 @ =gUnknown_083DB694
ldr r1, [r0]
adds r0, r1, 0
adds r0, 0xC4
ldrh r0, [r0]
cmp r0, 0
beq _080EA244
movs r4, 0
adds r0, r1, 0
adds r0, 0xC2
ldrh r2, [r0]
cmp r4, r2
bcs _080EA228
adds r5, r1, 0
adds r6, r0, 0
_080EA200:
lsls r0, r4, 4
adds r0, 0xC8
adds r0, r5, r0
bl sub_80EAC0C
lsls r0, r4, 1
adds r0, r4
lsls r0, 2
movs r1, 0xA4
lsls r1, 1
adds r0, r1
adds r0, r5, r0
bl sub_80EAC48
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
ldrh r2, [r6]
cmp r4, r2
bcc _080EA200
_080EA228:
ldr r0, _080EA240 @ =gUnknown_083DB694
ldr r1, [r0]
adds r2, r1, 0
adds r2, 0xBC
movs r0, 0x1
strb r0, [r2]
adds r1, 0xC4
ldrh r0, [r1]
subs r0, 0x1
strh r0, [r1]
movs r0, 0
b _080EA246
.align 2, 0
_080EA240: .4byte gUnknown_083DB694
_080EA244:
movs r0, 0x1
_080EA246:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_80EA1E0
thumb_func_start sub_80EA24C
sub_80EA24C: @ 80EA24C
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x14
ldr r0, _080EA340 @ =gUnknown_083DB694
ldr r7, [r0]
adds r0, r7, 0
adds r0, 0xC8
movs r6, 0xF
str r6, [sp]
ldr r1, _080EA344 @ =0x0000fffe
mov r8, r1
str r1, [sp, 0x4]
movs r4, 0
str r4, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0xD
movs r2, 0xE
movs r3, 0xD
bl sub_80EABD4
movs r1, 0xA4
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
movs r1, 0xD9
lsls r1, 3
adds r5, r7, r1
str r5, [sp, 0x4]
movs r1, 0
movs r2, 0
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xD8
str r6, [sp]
str r4, [sp, 0x4]
str r4, [sp, 0x8]
movs r1, 0x2
mov r9, r1
str r1, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0xC
movs r2, 0xE
movs r3, 0xC
bl sub_80EABD4
movs r1, 0xAA
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
str r5, [sp, 0x4]
movs r1, 0x1E
movs r2, 0
mov r3, r8
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xE8
movs r6, 0x10
str r6, [sp]
mov r1, r8
str r1, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0xD
movs r2, 0xF
movs r3, 0xD
bl sub_80EABD4
movs r1, 0xB0
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
str r5, [sp, 0x4]
movs r1, 0
movs r2, 0x9
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xF8
str r6, [sp]
str r4, [sp, 0x4]
str r4, [sp, 0x8]
mov r1, r9
str r1, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0xC
movs r2, 0xF
movs r3, 0xC
bl sub_80EABD4
movs r1, 0xB6
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
str r5, [sp, 0x4]
movs r1, 0x1E
movs r2, 0x9
mov r3, r8
bl sub_80EAC30
adds r1, r7, 0
adds r1, 0xC2
movs r0, 0x4
strh r0, [r1]
adds r1, 0x2
movs r0, 0x6
strh r0, [r1]
add sp, 0x14
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080EA340: .4byte gUnknown_083DB694
_080EA344: .4byte 0x0000fffe
thumb_func_end sub_80EA24C
thumb_func_start sub_80EA348
sub_80EA348: @ 80EA348
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x14
ldr r0, _080EA49C @ =gUnknown_083DB694
ldr r7, [r0]
adds r0, r7, 0
adds r0, 0xC8
movs r5, 0xF
str r5, [sp]
movs r1, 0x2
mov r9, r1
str r1, [sp, 0x4]
movs r4, 0
str r4, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x1
movs r2, 0xE
movs r3, 0xD
bl sub_80EABD4
movs r1, 0xA4
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
movs r1, 0xD9
lsls r1, 3
adds r6, r7, r1
str r6, [sp, 0x4]
movs r1, 0
movs r2, 0
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xD8
str r5, [sp]
str r4, [sp, 0x4]
str r4, [sp, 0x8]
ldr r1, _080EA4A0 @ =0x0000fffe
mov r8, r1
str r1, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0xC
movs r2, 0xE
movs r3, 0x18
bl sub_80EABD4
movs r1, 0xAA
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
str r6, [sp, 0x4]
movs r1, 0x12
movs r2, 0
movs r3, 0x2
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xE8
movs r5, 0x10
str r5, [sp]
mov r1, r9
str r1, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x1
movs r2, 0xF
movs r3, 0xD
bl sub_80EABD4
movs r1, 0xB0
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
str r6, [sp, 0x4]
movs r1, 0
movs r2, 0x9
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xF8
str r5, [sp]
str r4, [sp, 0x4]
str r4, [sp, 0x8]
mov r1, r8
str r1, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0xC
movs r2, 0xF
movs r3, 0x18
bl sub_80EABD4
movs r1, 0xB6
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
str r6, [sp, 0x4]
movs r1, 0x12
movs r2, 0x9
movs r3, 0x2
bl sub_80EAC30
movs r1, 0x84
lsls r1, 1
adds r0, r7, r1
str r5, [sp]
str r4, [sp, 0x4]
str r4, [sp, 0x8]
mov r1, r9
str r1, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x1
movs r2, 0xE
movs r3, 0x1
bl sub_80EABD4
movs r1, 0xBC
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
adds r1, 0x50
adds r6, r7, r1
str r6, [sp, 0x4]
movs r1, 0x1
movs r2, 0xE
movs r3, 0
bl sub_80EAC30
movs r1, 0x8C
lsls r1, 1
adds r0, r7, r1
str r5, [sp]
mov r1, r8
str r1, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x18
movs r2, 0xE
movs r3, 0x18
bl sub_80EABD4
movs r1, 0xC2
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
str r6, [sp, 0x4]
movs r1, 0x18
movs r2, 0xE
mov r3, r8
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xC2
movs r1, 0x6
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
add sp, 0x14
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080EA49C: .4byte gUnknown_083DB694
_080EA4A0: .4byte 0x0000fffe
thumb_func_end sub_80EA348
thumb_func_start sub_80EA4A4
sub_80EA4A4: @ 80EA4A4
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x14
ldr r0, _080EA598 @ =gUnknown_083DB694
ldr r7, [r0]
adds r0, r7, 0
adds r0, 0xC8
movs r6, 0xF
str r6, [sp]
movs r4, 0
str r4, [sp, 0x4]
ldr r1, _080EA59C @ =0x0000ffff
mov r8, r1
str r1, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x1
movs r2, 0xE
movs r3, 0xD
bl sub_80EABD4
movs r1, 0xA4
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
movs r1, 0xD9
lsls r1, 3
adds r5, r7, r1
str r5, [sp, 0x4]
movs r1, 0
movs r2, 0
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xD8
str r6, [sp]
str r4, [sp, 0x4]
mov r1, r8
str r1, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0xC
movs r2, 0xE
movs r3, 0x18
bl sub_80EABD4
movs r1, 0xAA
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
str r5, [sp, 0x4]
movs r1, 0x12
movs r2, 0
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xE8
movs r1, 0x10
mov r9, r1
str r1, [sp]
str r4, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
movs r6, 0x1
str r6, [sp, 0x10]
movs r1, 0x1
movs r2, 0xF
movs r3, 0xD
bl sub_80EABD4
movs r1, 0xB0
lsls r1, 1
adds r0, r7, r1
mov r1, r8
str r1, [sp]
str r5, [sp, 0x4]
movs r1, 0
movs r2, 0x9
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xF8
mov r1, r9
str r1, [sp]
str r4, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
str r6, [sp, 0x10]
movs r1, 0xC
movs r2, 0xF
movs r3, 0x18
bl sub_80EABD4
movs r1, 0xB6
lsls r1, 1
adds r0, r7, r1
mov r1, r8
str r1, [sp]
str r5, [sp, 0x4]
movs r1, 0x12
movs r2, 0x9
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xC2
movs r1, 0x4
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
add sp, 0x14
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080EA598: .4byte gUnknown_083DB694
_080EA59C: .4byte 0x0000ffff
thumb_func_end sub_80EA4A4
thumb_func_start sub_80EA5A0
sub_80EA5A0: @ 80EA5A0
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x14
ldr r0, _080EA6FC @ =gUnknown_083DB694
ldr r7, [r0]
adds r0, r7, 0
adds r0, 0xC8
movs r6, 0xF
str r6, [sp]
movs r4, 0
str r4, [sp, 0x4]
movs r1, 0x1
mov r8, r1
str r1, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r2, 0xA
movs r3, 0xD
bl sub_80EABD4
movs r1, 0xA4
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
movs r1, 0xD9
lsls r1, 3
adds r5, r7, r1
str r5, [sp, 0x4]
movs r1, 0
movs r2, 0
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xD8
str r6, [sp]
str r4, [sp, 0x4]
mov r1, r8
str r1, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0xC
movs r2, 0xA
movs r3, 0x18
bl sub_80EABD4
movs r1, 0xAA
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
str r5, [sp, 0x4]
movs r1, 0x12
movs r2, 0
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xE8
movs r1, 0x14
mov r9, r1
str r1, [sp]
str r4, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
ldr r6, _080EA700 @ =0x0000ffff
str r6, [sp, 0x10]
movs r1, 0x1
movs r2, 0xF
movs r3, 0xD
bl sub_80EABD4
movs r1, 0xB0
lsls r1, 1
adds r0, r7, r1
mov r1, r8
str r1, [sp]
str r5, [sp, 0x4]
movs r1, 0
movs r2, 0x5
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xF8
mov r1, r9
str r1, [sp]
str r4, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
str r6, [sp, 0x10]
movs r1, 0xC
movs r2, 0xF
movs r3, 0x18
bl sub_80EABD4
movs r1, 0xB6
lsls r1, 1
adds r0, r7, r1
mov r1, r8
str r1, [sp]
str r5, [sp, 0x4]
movs r1, 0x12
movs r2, 0x5
movs r3, 0
bl sub_80EAC30
movs r1, 0x84
lsls r1, 1
adds r0, r7, r1
movs r1, 0xA
str r1, [sp]
str r4, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
mov r1, r8
str r1, [sp, 0x10]
movs r1, 0x1
movs r2, 0xA
movs r3, 0x18
bl sub_80EABD4
movs r1, 0xBC
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
adds r1, 0x50
adds r5, r7, r1
str r5, [sp, 0x4]
movs r1, 0x1
movs r2, 0xA
movs r3, 0
bl sub_80EAC30
movs r1, 0x8C
lsls r1, 1
adds r0, r7, r1
mov r1, r9
str r1, [sp]
str r4, [sp, 0x4]
str r6, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x1
movs r2, 0x14
movs r3, 0x18
bl sub_80EABD4
movs r1, 0xC2
lsls r1, 1
adds r0, r7, r1
str r6, [sp]
str r5, [sp, 0x4]
movs r1, 0x1
movs r2, 0x14
movs r3, 0
bl sub_80EAC30
adds r1, r7, 0
adds r1, 0xC2
movs r0, 0x6
strh r0, [r1]
adds r1, 0x2
movs r0, 0x4
strh r0, [r1]
add sp, 0x14
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080EA6FC: .4byte gUnknown_083DB694
_080EA700: .4byte 0x0000ffff
thumb_func_end sub_80EA5A0
thumb_func_start sub_80EA704
sub_80EA704: @ 80EA704
push {r4-r6,lr}
sub sp, 0x14
ldr r0, _080EA75C @ =gUnknown_083DB694
ldr r6, [r0]
adds r0, r6, 0
adds r0, 0xC8
movs r1, 0x14
str r1, [sp]
movs r4, 0
str r4, [sp, 0x4]
str r4, [sp, 0x8]
movs r5, 0x1
str r5, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x18
movs r2, 0xC
movs r3, 0x19
bl sub_80EABD4
movs r1, 0xA4
lsls r1, 1
adds r0, r6, r1
ldr r3, _080EA760 @ =0x0000ffff
str r4, [sp]
movs r2, 0xD9
lsls r2, 3
adds r1, r6, r2
str r1, [sp, 0x4]
movs r1, 0x5
movs r2, 0xA
bl sub_80EAC30
adds r0, r6, 0
adds r0, 0xC2
strh r5, [r0]
adds r1, r6, 0
adds r1, 0xC4
movs r0, 0x5
strh r0, [r1]
add sp, 0x14
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080EA75C: .4byte gUnknown_083DB694
_080EA760: .4byte 0x0000ffff
thumb_func_end sub_80EA704
thumb_func_start sub_80EA764
sub_80EA764: @ 80EA764
push {r4-r7,lr}
sub sp, 0x14
ldr r0, _080EA7EC @ =gUnknown_083DB694
ldr r7, [r0]
adds r0, r7, 0
adds r0, 0xC8
movs r6, 0x14
str r6, [sp]
movs r4, 0
str r4, [sp, 0x4]
str r4, [sp, 0x8]
ldr r5, _080EA7F0 @ =0x0000ffff
str r5, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x18
movs r2, 0xC
movs r3, 0x1E
bl sub_80EABD4
movs r1, 0xA4
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
movs r2, 0xD9
lsls r2, 3
adds r1, r7, r2
str r1, [sp, 0x4]
movs r1, 0
movs r2, 0xA
movs r3, 0x1
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xD8
str r6, [sp]
str r5, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x1E
movs r2, 0xC
movs r3, 0x1F
bl sub_80EABD4
movs r1, 0xAA
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
movs r2, 0xE4
lsls r2, 1
adds r1, r7, r2
str r1, [sp, 0x4]
movs r1, 0x1E
movs r2, 0xC
adds r3, r5, 0
bl sub_80EAC30
adds r1, r7, 0
adds r1, 0xC2
movs r0, 0x2
strh r0, [r1]
adds r1, 0x2
movs r0, 0x6
strh r0, [r1]
add sp, 0x14
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080EA7EC: .4byte gUnknown_083DB694
_080EA7F0: .4byte 0x0000ffff
thumb_func_end sub_80EA764
thumb_func_start sub_80EA7F4
sub_80EA7F4: @ 80EA7F4
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x14
ldr r0, _080EA8B4 @ =gUnknown_083DB694
ldr r7, [r0]
adds r0, r7, 0
adds r0, 0xC8
movs r6, 0x14
str r6, [sp]
movs r4, 0
str r4, [sp, 0x4]
str r4, [sp, 0x8]
movs r5, 0x1
str r5, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x14
movs r2, 0xA
movs r3, 0x19
bl sub_80EABD4
movs r1, 0xA4
lsls r1, 1
adds r0, r7, r1
ldr r3, _080EA8B8 @ =0x0000ffff
str r4, [sp]
movs r2, 0xD9
lsls r2, 3
adds r2, r7
mov r8, r2
str r2, [sp, 0x4]
movs r1, 0x19
movs r2, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xD8
str r6, [sp]
str r4, [sp, 0x4]
str r4, [sp, 0x8]
str r5, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0
movs r2, 0xA
movs r3, 0x1
bl sub_80EABD4
movs r1, 0xAA
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
movs r2, 0xE4
lsls r2, 1
adds r1, r7, r2
str r1, [sp, 0x4]
movs r1, 0
movs r2, 0xA
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xE8
str r6, [sp]
str r5, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x1
movs r2, 0xA
movs r3, 0x4
bl sub_80EABD4
movs r1, 0xB0
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
mov r2, r8
str r2, [sp, 0x4]
movs r1, 0
movs r2, 0
movs r3, 0
bl sub_80EAC30
adds r1, r7, 0
adds r1, 0xC2
movs r0, 0x3
strh r0, [r1]
adds r1, 0x2
movs r0, 0x2
strh r0, [r1]
add sp, 0x14
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080EA8B4: .4byte gUnknown_083DB694
_080EA8B8: .4byte 0x0000ffff
thumb_func_end sub_80EA7F4
thumb_func_start sub_80EA8BC
sub_80EA8BC: @ 80EA8BC
push {r4-r6,lr}
sub sp, 0x14
ldr r0, _080EA944 @ =gUnknown_083DB694
ldr r6, [r0]
adds r0, r6, 0
adds r0, 0xC8
movs r5, 0x14
str r5, [sp]
movs r4, 0
str r4, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x3
movs r2, 0xA
movs r3, 0x4
bl sub_80EABD4
movs r1, 0xA4
lsls r1, 1
adds r0, r6, r1
str r4, [sp]
movs r2, 0xD9
lsls r2, 3
adds r1, r6, r2
str r1, [sp, 0x4]
movs r1, 0
movs r2, 0
movs r3, 0
bl sub_80EAC30
adds r0, r6, 0
adds r0, 0xD8
str r5, [sp]
str r4, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0
movs r2, 0xA
movs r3, 0x2
bl sub_80EABD4
movs r1, 0xAA
lsls r1, 1
adds r0, r6, r1
str r4, [sp]
movs r2, 0xE4
lsls r2, 1
adds r1, r6, r2
str r1, [sp, 0x4]
movs r1, 0
movs r2, 0xA
movs r3, 0
bl sub_80EAC30
adds r1, r6, 0
adds r1, 0xC2
movs r0, 0x2
strh r0, [r1]
adds r1, 0x2
movs r0, 0x1
strh r0, [r1]
add sp, 0x14
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080EA944: .4byte gUnknown_083DB694
thumb_func_end sub_80EA8BC
thumb_func_start sub_80EA948
sub_80EA948: @ 80EA948
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x14
ldr r0, _080EAA3C @ =gUnknown_083DB694
ldr r7, [r0]
adds r0, r7, 0
adds r0, 0xC8
movs r6, 0x14
str r6, [sp]
movs r4, 0
str r4, [sp, 0x4]
str r4, [sp, 0x8]
ldr r5, _080EAA40 @ =0x0000ffff
str r5, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0
movs r2, 0xA
movs r3, 0x2
bl sub_80EABD4
movs r1, 0xA4
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
adds r1, 0x80
adds r1, r7
mov r9, r1
str r1, [sp, 0x4]
movs r1, 0
movs r2, 0xA
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xD8
str r6, [sp]
str r5, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x3
movs r2, 0xA
movs r3, 0x5
bl sub_80EABD4
movs r1, 0xAA
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
movs r1, 0xD9
lsls r1, 3
adds r1, r7
mov r8, r1
str r1, [sp, 0x4]
movs r1, 0
movs r2, 0
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xE8
str r6, [sp]
str r5, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x1A
movs r2, 0xA
movs r3, 0x1E
bl sub_80EABD4
movs r1, 0xB0
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
mov r1, r9
str r1, [sp, 0x4]
movs r1, 0x1A
movs r2, 0xA
adds r3, r5, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xF8
str r6, [sp]
str r5, [sp, 0x4]
str r4, [sp, 0x8]
str r5, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x19
movs r2, 0xA
movs r3, 0x1A
bl sub_80EABD4
movs r1, 0xB6
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
mov r1, r8
str r1, [sp, 0x4]
movs r1, 0x1D
movs r2, 0
movs r3, 0
bl sub_80EAC30
adds r1, r7, 0
adds r1, 0xC2
movs r0, 0x4
strh r0, [r1]
adds r1, 0x2
movs r0, 0x2
strh r0, [r1]
add sp, 0x14
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080EAA3C: .4byte gUnknown_083DB694
_080EAA40: .4byte 0x0000ffff
thumb_func_end sub_80EA948
thumb_func_start sub_80EAA44
sub_80EAA44: @ 80EAA44
push {r4-r6,lr}
sub sp, 0x14
ldr r0, _080EAACC @ =gUnknown_083DB694
ldr r6, [r0]
adds r0, r6, 0
adds r0, 0xC8
movs r5, 0x14
str r5, [sp]
movs r4, 0
str r4, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x18
movs r2, 0xA
movs r3, 0x1E
bl sub_80EABD4
movs r1, 0xA4
lsls r1, 1
adds r0, r6, r1
str r4, [sp]
movs r2, 0xE4
lsls r2, 1
adds r1, r6, r2
str r1, [sp, 0x4]
movs r1, 0x18
movs r2, 0xA
movs r3, 0
bl sub_80EAC30
adds r0, r6, 0
adds r0, 0xD8
str r5, [sp]
str r4, [sp, 0x4]
str r4, [sp, 0x8]
ldr r1, _080EAAD0 @ =0x0000ffff
str r1, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x17
movs r2, 0xA
movs r3, 0x18
bl sub_80EABD4
movs r1, 0xAA
lsls r1, 1
adds r0, r6, r1
str r4, [sp]
movs r2, 0xD9
lsls r2, 3
adds r1, r6, r2
str r1, [sp, 0x4]
movs r1, 0x1D
movs r2, 0
movs r3, 0
bl sub_80EAC30
adds r1, r6, 0
adds r1, 0xC2
movs r0, 0x2
strh r0, [r1]
adds r1, 0x2
movs r0, 0x1
strh r0, [r1]
add sp, 0x14
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080EAACC: .4byte gUnknown_083DB694
_080EAAD0: .4byte 0x0000ffff
thumb_func_end sub_80EAA44
thumb_func_start sub_80EAAD4
sub_80EAAD4: @ 80EAAD4
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x14
ldr r0, _080EABCC @ =gUnknown_083DB694
ldr r7, [r0]
adds r0, r7, 0
adds r0, 0xC8
movs r1, 0xF
str r1, [sp]
movs r4, 0
str r4, [sp, 0x4]
movs r5, 0x1
str r5, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0
movs r2, 0xA
movs r3, 0x1E
bl sub_80EABD4
movs r1, 0xA4
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
movs r1, 0xD9
lsls r1, 3
adds r1, r7
mov r8, r1
str r1, [sp, 0x4]
movs r1, 0
movs r2, 0
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xD8
movs r1, 0x14
mov r9, r1
str r1, [sp]
str r4, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
ldr r6, _080EABD0 @ =0x0000ffff
str r6, [sp, 0x10]
movs r1, 0
movs r2, 0xF
movs r3, 0x1E
bl sub_80EABD4
movs r1, 0xAA
lsls r1, 1
adds r0, r7, r1
str r5, [sp]
mov r1, r8
str r1, [sp, 0x4]
movs r1, 0
movs r2, 0x5
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xE8
movs r1, 0xA
str r1, [sp]
str r4, [sp, 0x4]
str r4, [sp, 0x8]
str r4, [sp, 0xC]
str r5, [sp, 0x10]
movs r1, 0
movs r2, 0xA
movs r3, 0x1E
bl sub_80EABD4
movs r1, 0xB0
lsls r1, 1
adds r0, r7, r1
str r4, [sp]
adds r1, 0x68
adds r5, r7, r1
str r5, [sp, 0x4]
movs r1, 0
movs r2, 0xA
movs r3, 0
bl sub_80EAC30
adds r0, r7, 0
adds r0, 0xF8
mov r1, r9
str r1, [sp]
str r4, [sp, 0x4]
str r6, [sp, 0x8]
str r4, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0
movs r2, 0x14
movs r3, 0x1E
bl sub_80EABD4
movs r1, 0xB6
lsls r1, 1
adds r0, r7, r1
str r6, [sp]
str r5, [sp, 0x4]
movs r1, 0
movs r2, 0x14
movs r3, 0
bl sub_80EAC30
adds r1, r7, 0
adds r1, 0xC2
movs r0, 0x4
strh r0, [r1]
adds r1, 0x2
movs r0, 0x5
strh r0, [r1]
add sp, 0x14
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080EABCC: .4byte gUnknown_083DB694
_080EABD0: .4byte 0x0000ffff
thumb_func_end sub_80EAAD4
thumb_func_start sub_80EABD4
sub_80EABD4: @ 80EABD4
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
ldr r5, [sp, 0x1C]
ldr r6, [sp, 0x20]
ldr r4, [sp, 0x24]
mov r9, r4
ldr r4, [sp, 0x28]
ldr r7, [sp, 0x2C]
mov r8, r7
strh r1, [r0]
strh r3, [r0, 0x2]
strh r2, [r0, 0x4]
strh r5, [r0, 0x6]
strh r6, [r0, 0x8]
strh r4, [r0, 0xA]
mov r1, r9
strh r1, [r0, 0xC]
mov r4, r8
strh r4, [r0, 0xE]
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_80EABD4
thumb_func_start sub_80EAC0C
sub_80EAC0C: @ 80EAC0C
ldrh r1, [r0, 0x8]
ldrh r2, [r0]
adds r1, r2
strh r1, [r0]
ldrh r1, [r0, 0xA]
ldrh r2, [r0, 0x2]
adds r1, r2
strh r1, [r0, 0x2]
ldrh r1, [r0, 0xC]
ldrh r2, [r0, 0x4]
adds r1, r2
strh r1, [r0, 0x4]
ldrh r1, [r0, 0xE]
ldrh r2, [r0, 0x6]
adds r1, r2
strh r1, [r0, 0x6]
bx lr
thumb_func_end sub_80EAC0C
thumb_func_start sub_80EAC30
sub_80EAC30: @ 80EAC30
push {r4,r5,lr}
ldr r4, [sp, 0xC]
ldr r5, [sp, 0x10]
strh r1, [r0]
strh r2, [r0, 0x2]
strh r3, [r0, 0x4]
strh r4, [r0, 0x6]
str r5, [r0, 0x8]
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80EAC30
thumb_func_start sub_80EAC48
sub_80EAC48: @ 80EAC48
ldrh r1, [r0, 0x4]
ldrh r2, [r0]
adds r1, r2
strh r1, [r0]
ldrh r1, [r0, 0x6]
ldrh r2, [r0, 0x2]
adds r1, r2
strh r1, [r0, 0x2]
bx lr
thumb_func_end sub_80EAC48
thumb_func_start sub_80EAC5C
sub_80EAC5C: @ 80EAC5C
push {r4-r6,lr}
ldr r0, _080EACB4 @ =gUnknown_083DB694
ldr r1, [r0]
adds r0, r1, 0
adds r0, 0xBC
ldrb r0, [r0]
cmp r0, 0
beq _080EACAC
movs r4, 0
adds r0, r1, 0
adds r0, 0xC2
ldrh r2, [r0]
cmp r4, r2
bcs _080EACA2
adds r5, r1, 0
adds r6, r0, 0
_080EAC7C:
lsls r1, r4, 4
adds r1, 0xC8
adds r1, r5, r1
lsls r2, r4, 1
adds r2, r4
lsls r2, 2
movs r0, 0xA4
lsls r0, 1
adds r2, r0
adds r2, r5, r2
ldr r0, _080EACB8 @ =0x06006800
bl sub_80EACBC
adds r0, r4, 0x1
lsls r0, 16
lsrs r4, r0, 16
ldrh r2, [r6]
cmp r4, r2
bcc _080EAC7C
_080EACA2:
ldr r0, _080EACB4 @ =gUnknown_083DB694
ldr r0, [r0]
adds r0, 0xBC
movs r1, 0
strb r1, [r0]
_080EACAC:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080EACB4: .4byte gUnknown_083DB694
_080EACB8: .4byte 0x06006800
thumb_func_end sub_80EAC5C
thumb_func_start sub_80EACBC
sub_80EACBC: @ 80EACBC
push {r4-r7,lr}
sub sp, 0x10
adds r7, r0, 0
adds r3, r1, 0
adds r4, r2, 0
ldrh r2, [r3, 0x2]
ldrh r0, [r3]
subs r2, r0
ldrh r0, [r3, 0x6]
ldrh r1, [r3, 0x4]
subs r0, r1
lsls r0, 16
lsrs r0, 16
lsls r6, r2, 16
cmp r6, 0
ble _080EACFE
lsls r5, r0, 16
cmp r5, 0
ble _080EACFE
ldrh r1, [r3]
ldrh r2, [r3, 0x4]
ldr r3, [r4, 0x8]
ldrh r0, [r4]
str r0, [sp]
ldrh r0, [r4, 0x2]
str r0, [sp, 0x4]
lsrs r0, r6, 16
str r0, [sp, 0x8]
lsrs r0, r5, 16
str r0, [sp, 0xC]
adds r0, r7, 0
bl sub_809D104
_080EACFE:
add sp, 0x10
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_80EACBC
thumb_func_start sub_80EAD08
sub_80EAD08: @ 80EAD08
push {r4,r5,lr}
ldr r0, _080EAD58 @ =gUnknown_03004DC0
ldrb r1, [r0, 0x14]
lsls r0, r1, 4
subs r0, r1
lsls r0, 7
ldr r1, _080EAD5C @ =gUnknown_03004DE0
adds r4, r0, r1
adds r4, 0xB0
ldr r0, _080EAD60 @ =gUnknown_083DB694
ldr r1, [r0]
movs r0, 0xDD
lsls r0, 1
adds r1, r0
ldrh r0, [r1]
adds r2, r0, 0
subs r2, 0x58
movs r0, 0xFF
ands r2, r0
movs r3, 0
movs r5, 0xFF
_080EAD32:
ldrh r0, [r1]
adds r0, r3
cmp r0, 0x80
bne _080EAD42
negs r0, r3
adds r2, r0, 0
subs r2, 0x58
ands r2, r5
_080EAD42:
strh r2, [r4]
adds r4, 0x2
adds r0, r3, 0x1
lsls r0, 16
lsrs r3, r0, 16
cmp r3, 0x3F
bls _080EAD32
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080EAD58: .4byte gUnknown_03004DC0
_080EAD5C: .4byte gUnknown_03004DE0
_080EAD60: .4byte gUnknown_083DB694
thumb_func_end sub_80EAD08
thumb_func_start sub_80EAD64
sub_80EAD64: @ 80EAD64
push {lr}
lsls r1, 24
ldr r2, _080EAD78 @ =gEasyChatGroupNames
lsrs r1, 22
adds r1, r2
ldr r1, [r1]
bl StringCopy
pop {r1}
bx r1
.align 2, 0
_080EAD78: .4byte gEasyChatGroupNames
thumb_func_end sub_80EAD64
thumb_func_start sub_80EAD7C
sub_80EAD7C: @ 80EAD7C
push {lr}
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
cmp r0, 0x14
beq _080EADA2
cmp r0, 0x14
bgt _080EAD9C
cmp r0, 0x11
blt _080EADBA
ldr r0, _080EAD98 @ =0x00000804
bl FlagGet
b _080EADB4
.align 2, 0
_080EAD98: .4byte 0x00000804
_080EAD9C:
cmp r1, 0x15
beq _080EADB0
b _080EADBA
_080EADA2:
ldr r0, _080EADAC @ =0x00000806
bl FlagGet
b _080EADB4
.align 2, 0
_080EADAC: .4byte 0x00000806
_080EADB0:
bl sub_80EB9C8
_080EADB4:
lsls r0, 24
lsrs r0, 24
b _080EADBC
_080EADBA:
movs r0, 0x1
_080EADBC:
pop {r1}
bx r1
thumb_func_end sub_80EAD7C
thumb_func_start sub_80EADC0
sub_80EADC0: @ 80EADC0
push {lr}
lsls r0, 24
lsrs r2, r0, 24
lsls r1, 16
lsrs r3, r1, 16
cmp r2, 0x15
bhi _080EAE82
lsls r0, r2, 2
ldr r1, _080EADD8 @ =_080EADDC
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080EADD8: .4byte _080EADDC
.align 2, 0
_080EADDC:
.4byte _080EAE50
.4byte _080EAE82
.4byte _080EAE82
.4byte _080EAE82
.4byte _080EAE82
.4byte _080EAE82
.4byte _080EAE82
.4byte _080EAE82
.4byte _080EAE82
.4byte _080EAE82
.4byte _080EAE82
.4byte _080EAE82
.4byte _080EAE82
.4byte _080EAE82
.4byte _080EAE82
.4byte _080EAE82
.4byte _080EAE82
.4byte _080EAE62
.4byte _080EAE62
.4byte _080EAE62
.4byte _080EAE34
.4byte _080EAE78
_080EAE34:
ldr r0, _080EAE4C @ =gUnknown_083DB694
ldr r0, [r0]
adds r0, r2
adds r0, 0x67
ldrb r0, [r0]
cmp r0, 0
beq _080EAE70
lsls r0, r3, 24
lsrs r0, 24
bl sub_80EB868
b _080EAE7C
.align 2, 0
_080EAE4C: .4byte gUnknown_083DB694
_080EAE50:
adds r0, r3, 0
bl SpeciesToNationalPokedexNum
lsls r0, 16
lsrs r0, 16
movs r1, 0
bl GetNationalPokedexFlag
b _080EAE7C
_080EAE62:
ldr r0, _080EAE74 @ =gUnknown_083DB694
ldr r0, [r0]
adds r0, r2
adds r0, 0x67
ldrb r0, [r0]
cmp r0, 0
bne _080EAE82
_080EAE70:
movs r0, 0
b _080EAE84
.align 2, 0
_080EAE74: .4byte gUnknown_083DB694
_080EAE78:
bl sub_80EB9C8
_080EAE7C:
lsls r0, 24
lsrs r0, 24
b _080EAE84
_080EAE82:
movs r0, 0x1
_080EAE84:
pop {r1}
bx r1
thumb_func_end sub_80EADC0
thumb_func_start sub_80EAE88
sub_80EAE88: @ 80EAE88
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
beq _080EAEA6
cmp r4, 0x14
beq _080EAEB2
adds r0, r4, 0
bl sub_80EAD7C
lsls r0, 24
cmp r0, 0
bne _080EAEBC
movs r0, 0
b _080EAEC2
_080EAEA6:
movs r0, 0
bl GetHoennPokedexCount
lsls r0, 16
lsrs r0, 16
b _080EAEC2
_080EAEB2:
bl sub_80EB8C0
lsls r0, 24
lsrs r0, 24
b _080EAEC2
_080EAEBC:
ldr r0, _080EAEC8 @ =gEasyChatGroupSizes
adds r0, r4, r0
ldrb r0, [r0]
_080EAEC2:
pop {r4}
pop {r1}
bx r1
.align 2, 0
_080EAEC8: .4byte gEasyChatGroupSizes
thumb_func_end sub_80EAE88
thumb_func_start sub_80EAECC
sub_80EAECC: @ 80EAECC
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x10
movs r7, 0
ldr r1, _080EAF08 @ =gUnknown_083DB694
ldr r0, [r1]
ldr r3, _080EAF0C @ =0x0000446c
adds r3, r0, r3
str r3, [sp, 0x4]
_080EAEE4:
ldr r1, _080EAF10 @ =gEasyChatWordsByLetter
lsls r2, r7, 1
adds r0, r2, r1
ldrh r4, [r0]
adds r3, r7, 0x1
lsls r0, r3, 1
adds r0, r1
ldrh r0, [r0]
str r0, [sp]
ldr r0, [sp, 0x4]
adds r1, r0, r2
movs r0, 0
strh r0, [r1]
mov r9, r0
adds r6, r4, 0
mov r10, r2
str r3, [sp, 0x8]
b _080EB00C
.align 2, 0
_080EAF08: .4byte gUnknown_083DB694
_080EAF0C: .4byte 0x0000446c
_080EAF10: .4byte gEasyChatWordsByLetter
_080EAF14:
ldr r2, _080EAFAC @ =gEasyChatWordsAlphabetized
adds r0, r6, 0
adds r1, r0, 0x1
lsls r1, 16
lsrs r6, r1, 16
lsls r0, 1
adds r0, r2
ldrh r1, [r0]
adds r4, r1, 0
ldr r0, _080EAFB0 @ =0x0000feff
cmp r1, r0
bls _080EAFC8
movs r0, 0xFF
ands r1, r0
movs r3, 0
subs r0, r1, 0x1
lsls r0, 16
lsrs r5, r0, 16
ldr r0, _080EAFB4 @ =0x0000ffff
cmp r5, r0
beq _080EB00C
lsls r0, r7, 4
adds r0, r7
lsls r0, 3
subs r0, r7
lsls r0, 2
mov r8, r0
_080EAF4A:
adds r1, r6, 0
adds r0, r1, 0x1
lsls r0, 16
lsrs r6, r0, 16
lsls r1, 1
ldr r0, _080EAFAC @ =gEasyChatWordsAlphabetized
adds r1, r0
ldrh r4, [r1]
lsrs r0, r4, 9
ldr r1, _080EAFB8 @ =0x000001ff
adds r2, r1, 0
adds r1, r4, 0
ands r1, r2
str r3, [sp, 0xC]
bl sub_80EADC0
lsls r0, 24
ldr r3, [sp, 0xC]
cmp r0, 0
beq _080EAF9E
cmp r3, 0
bne _080EAF9E
ldr r3, _080EAFBC @ =gUnknown_083DB694
ldr r2, [r3]
mov r1, r9
adds r0, r1, 0x1
lsls r0, 16
lsrs r0, 16
mov r9, r0
lsls r1, 1
add r1, r8
ldr r3, _080EAFC0 @ =0x00000b78
adds r0, r2, r3
adds r0, r1
strh r4, [r0]
ldr r0, _080EAFC4 @ =0x0000446c
adds r2, r0
add r2, r10
ldrh r0, [r2]
adds r0, 0x1
strh r0, [r2]
movs r3, 0x1
_080EAF9E:
subs r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
ldr r1, _080EAFB4 @ =0x0000ffff
cmp r5, r1
bne _080EAF4A
b _080EB00C
.align 2, 0
_080EAFAC: .4byte gEasyChatWordsAlphabetized
_080EAFB0: .4byte 0x0000feff
_080EAFB4: .4byte 0x0000ffff
_080EAFB8: .4byte 0x000001ff
_080EAFBC: .4byte gUnknown_083DB694
_080EAFC0: .4byte 0x00000b78
_080EAFC4: .4byte 0x0000446c
_080EAFC8:
lsrs r0, r4, 9
ldr r3, _080EB030 @ =0x000001ff
adds r2, r3, 0
adds r1, r4, 0
ands r1, r2
bl sub_80EADC0
lsls r0, 24
cmp r0, 0
beq _080EB00C
ldr r0, _080EB034 @ =gUnknown_083DB694
ldr r2, [r0]
mov r1, r9
adds r0, r1, 0x1
lsls r0, 16
lsrs r0, 16
mov r9, r0
lsls r1, 1
lsls r0, r7, 4
adds r0, r7
lsls r0, 3
subs r0, r7
lsls r0, 2
adds r1, r0
ldr r3, _080EB038 @ =0x00000b78
adds r0, r2, r3
adds r0, r1
strh r4, [r0]
ldr r0, _080EB03C @ =0x0000446c
adds r2, r0
add r2, r10
ldrh r0, [r2]
adds r0, 0x1
strh r0, [r2]
_080EB00C:
ldr r1, [sp]
cmp r6, r1
bcs _080EB014
b _080EAF14
_080EB014:
ldr r3, [sp, 0x8]
lsls r0, r3, 16
lsrs r7, r0, 16
cmp r7, 0x1A
bhi _080EB020
b _080EAEE4
_080EB020:
add sp, 0x10
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080EB030: .4byte 0x000001ff
_080EB034: .4byte gUnknown_083DB694
_080EB038: .4byte 0x00000b78
_080EB03C: .4byte 0x0000446c
thumb_func_end sub_80EAECC
thumb_func_start sub_80EB040
sub_80EB040: @ 80EB040
push {r4-r6,lr}
movs r3, 0
_080EB044:
adds r6, r3, 0x1
cmp r3, 0
beq _080EB094
cmp r3, 0x15
beq _080EB094
cmp r3, 0x12
beq _080EB094
cmp r3, 0x13
beq _080EB094
ldr r0, _080EB0A4 @ =gEasyChatGroupWords
lsls r1, r3, 2
adds r1, r0
ldr r2, [r1]
movs r4, 0
ldrb r0, [r2]
cmp r0, 0xFF
beq _080EB094
ldr r0, _080EB0A8 @ =gUnknown_083DB694
ldr r0, [r0]
ldr r1, _080EB0AC @ =0x000044d0
adds r5, r0, r1
_080EB06E:
lsls r0, r4, 2
lsls r1, r3, 10
adds r0, r1
adds r0, r5, r0
str r2, [r0]
ldrb r0, [r2]
adds r1, r4, 0x1
cmp r0, 0xFF
beq _080EB088
_080EB080:
adds r2, 0x1
ldrb r0, [r2]
cmp r0, 0xFF
bne _080EB080
_080EB088:
adds r2, 0x1
lsls r0, r1, 16
lsrs r4, r0, 16
ldrb r0, [r2]
cmp r0, 0xFF
bne _080EB06E
_080EB094:
lsls r0, r6, 16
lsrs r3, r0, 16
cmp r3, 0x15
bls _080EB044
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080EB0A4: .4byte gEasyChatGroupWords
_080EB0A8: .4byte gUnknown_083DB694
_080EB0AC: .4byte 0x000044d0
thumb_func_end sub_80EB040
thumb_func_start sub_80EB0B0
sub_80EB0B0: @ 80EB0B0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x8
ldr r3, _080EB184 @ =gUnknown_083DB694
ldr r4, [r3]
adds r0, r4, 0
adds r0, 0x26
ldrb r5, [r0]
cmp r5, 0
bne _080EB19C
movs r0, 0xDC
lsls r0, 1
adds r2, r4, r0
ldrb r6, [r2]
lsls r1, r6, 1
ldr r7, _080EB188 @ =0x000044a2
adds r0, r4, r7
adds r0, r1
strh r5, [r0]
movs r7, 0
movs r0, 0
mov r9, r0
ldr r1, _080EB18C @ =gEasyChatGroupOrders
lsls r0, r6, 2
adds r0, r1
ldr r0, [r0]
str r0, [sp]
movs r1, 0
mov r8, r1
ldr r1, _080EB190 @ =gEasyChatGroupSizes
ldrb r0, [r2]
adds r0, r1
ldrb r0, [r0]
cmp r8, r0
bcc _080EB0FE
b _080EB1FE
_080EB0FE:
movs r2, 0xDC
lsls r2, 1
adds r2, r4, r2
str r2, [sp, 0x4]
lsls r5, r6, 24
mov r10, r5
_080EB10A:
mov r1, r8
lsls r0, r1, 1
ldr r2, [sp]
adds r5, r0, r2
ldrh r1, [r5]
mov r2, r10
lsrs r0, r2, 24
bl sub_80EADC0
lsls r0, 24
cmp r0, 0
beq _080EB16A
ldr r0, _080EB184 @ =gUnknown_083DB694
ldr r3, [r0]
lsls r1, r7, 1
mov r2, r9
lsls r0, r2, 2
adds r1, r0
ldr r0, _080EB194 @ =0x00009d56
adds r4, r3, r0
adds r4, r1
movs r0, 0x7F
ands r0, r6
lsls r0, 9
ldrh r1, [r5]
ldr r5, _080EB198 @ =0x000001ff
adds r2, r5, 0
ands r1, r2
orrs r0, r1
strh r0, [r4]
lsls r0, r6, 1
ldr r1, _080EB188 @ =0x000044a2
adds r3, r1
adds r3, r0
ldrh r0, [r3]
adds r0, 0x1
strh r0, [r3]
adds r0, r7, 0x1
lsls r0, 16
lsrs r7, r0, 16
cmp r7, 0x1
bls _080EB16A
movs r7, 0
mov r0, r9
adds r0, 0x1
lsls r0, 16
lsrs r0, 16
mov r9, r0
_080EB16A:
mov r0, r8
adds r0, 0x1
lsls r0, 16
lsrs r0, 16
mov r8, r0
ldr r1, _080EB190 @ =gEasyChatGroupSizes
ldr r2, [sp, 0x4]
ldrb r0, [r2]
adds r0, r1
ldrb r0, [r0]
cmp r8, r0
bcc _080EB10A
b _080EB1FE
.align 2, 0
_080EB184: .4byte gUnknown_083DB694
_080EB188: .4byte 0x000044a2
_080EB18C: .4byte gEasyChatGroupOrders
_080EB190: .4byte gEasyChatGroupSizes
_080EB194: .4byte 0x00009d56
_080EB198: .4byte 0x000001ff
_080EB19C:
movs r5, 0xDC
lsls r5, 1
adds r0, r4, r5
ldrb r2, [r0]
movs r3, 0
movs r6, 0
movs r5, 0
lsls r1, r2, 1
ldr r7, _080EB210 @ =0x0000446c
adds r0, r4, r7
adds r1, r0, r1
ldrh r0, [r1]
cmp r5, r0
bcs _080EB1FE
ldr r7, _080EB214 @ =0x00009d56
adds r7, r4
mov r8, r7
lsls r0, r2, 4
adds r0, r2
lsls r0, 3
subs r0, r2
lsls r7, r0, 2
ldr r0, _080EB218 @ =0x00000b78
adds r2, r4, r0
adds r4, r1, 0
_080EB1CE:
lsls r1, r3, 1
lsls r0, r6, 2
adds r1, r0
add r1, r8
lsls r0, r5, 1
adds r0, r7
adds r0, r2, r0
ldrh r0, [r0]
strh r0, [r1]
adds r0, r3, 0x1
lsls r0, 16
lsrs r3, r0, 16
cmp r3, 0x1
bls _080EB1F2
movs r3, 0
adds r0, r6, 0x1
lsls r0, 16
lsrs r6, r0, 16
_080EB1F2:
adds r0, r5, 0x1
lsls r0, 16
lsrs r5, r0, 16
ldrh r1, [r4]
cmp r5, r1
bcc _080EB1CE
_080EB1FE:
add sp, 0x8
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080EB210: .4byte 0x0000446c
_080EB214: .4byte 0x00009d56
_080EB218: .4byte 0x00000b78
thumb_func_end sub_80EB0B0
thumb_func_start sub_80EB218
sub_80EB218: @ 80EB218
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r5, r0, 0
lsls r6, r1, 16
lsrs r4, r6, 16
adds r7, r4, 0
lsls r2, 16
lsrs r2, 16
mov r8, r2
adds r0, r4, 0
bl sub_80EB37C
lsls r0, 24
cmp r0, 0
beq _080EB240
ldr r1, _080EB23C @ =gOtherText_ThreeQuestions
b _080EB2A2
.align 2, 0
_080EB23C: .4byte gOtherText_ThreeQuestions
_080EB240:
ldr r0, _080EB250 @ =0x0000ffff
cmp r4, r0
bne _080EB254
adds r1, r5, 0
movs r0, 0xFF
strb r0, [r1]
b _080EB2AA
.align 2, 0
_080EB250: .4byte 0x0000ffff
_080EB254:
lsrs r2, r6, 25
ldr r1, _080EB268 @ =0x000001ff
ands r1, r7
cmp r2, 0x13
bgt _080EB26C
cmp r2, 0x12
bge _080EB280
cmp r2, 0
beq _080EB270
b _080EB290
.align 2, 0
_080EB268: .4byte 0x000001ff
_080EB26C:
cmp r2, 0x15
bne _080EB290
_080EB270:
movs r0, 0xB
muls r1, r0
ldr r0, _080EB27C @ =gSpeciesNames
adds r1, r0
b _080EB2A2
.align 2, 0
_080EB27C: .4byte gSpeciesNames
_080EB280:
movs r0, 0xD
muls r1, r0
ldr r0, _080EB28C @ =gMoveNames
adds r1, r0
b _080EB2A2
.align 2, 0
_080EB28C: .4byte gMoveNames
_080EB290:
ldr r0, _080EB2CC @ =gUnknown_083DB694
ldr r0, [r0]
lsls r1, 2
lsls r2, 10
adds r1, r2
ldr r2, _080EB2D0 @ =0x000044d0
adds r0, r2
adds r0, r1
ldr r1, [r0]
_080EB2A2:
adds r0, r5, 0
bl StringCopy
adds r1, r0, 0
_080EB2AA:
movs r0, 0xFC
strb r0, [r1]
movs r0, 0x13
strb r0, [r1, 0x1]
mov r2, r8
lsls r0, r2, 3
strb r0, [r1, 0x2]
adds r1, 0x3
movs r0, 0xFF
strb r0, [r1]
adds r0, r1, 0
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_080EB2CC: .4byte gUnknown_083DB694
_080EB2D0: .4byte 0x000044d0
thumb_func_end sub_80EB218
thumb_func_start sub_80EB2D4
sub_80EB2D4: @ 80EB2D4
push {r4-r6,lr}
lsls r5, r0, 16
lsrs r4, r5, 16
adds r6, r4, 0
adds r0, r4, 0
bl sub_80EB37C
lsls r0, 24
cmp r0, 0
beq _080EB2F8
ldr r0, _080EB2F4 @ =gOtherText_ThreeQuestions
bl StringLength
lsls r0, 16
lsrs r0, 16
b _080EB374
.align 2, 0
_080EB2F4: .4byte gOtherText_ThreeQuestions
_080EB2F8:
ldr r0, _080EB304 @ =0x0000ffff
cmp r4, r0
bne _080EB308
movs r0, 0
b _080EB374
.align 2, 0
_080EB304: .4byte 0x0000ffff
_080EB308:
lsrs r2, r5, 25
ldr r1, _080EB31C @ =0x000001ff
ands r1, r6
cmp r2, 0x13
bgt _080EB320
cmp r2, 0x12
bge _080EB334
cmp r2, 0
beq _080EB324
b _080EB344
.align 2, 0
_080EB31C: .4byte 0x000001ff
_080EB320:
cmp r2, 0x15
bne _080EB344
_080EB324:
movs r0, 0xB
muls r1, r0
ldr r0, _080EB330 @ =gSpeciesNames
adds r1, r0
b _080EB356
.align 2, 0
_080EB330: .4byte gSpeciesNames
_080EB334:
movs r0, 0xD
muls r1, r0
ldr r0, _080EB340 @ =gMoveNames
adds r1, r0
b _080EB356
.align 2, 0
_080EB340: .4byte gMoveNames
_080EB344:
ldr r0, _080EB35C @ =gUnknown_083DB694
ldr r0, [r0]
lsls r1, 2
lsls r2, 10
adds r1, r2
ldr r2, _080EB360 @ =0x000044d0
adds r0, r2
adds r0, r1
ldr r1, [r0]
_080EB356:
movs r2, 0
b _080EB36C
.align 2, 0
_080EB35C: .4byte gUnknown_083DB694
_080EB360: .4byte 0x000044d0
_080EB364:
adds r1, 0x1
adds r0, r2, 0x1
lsls r0, 16
lsrs r2, r0, 16
_080EB36C:
ldrb r0, [r1]
cmp r0, 0xFF
bne _080EB364
adds r0, r2, 0
_080EB374:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_80EB2D4
thumb_func_start sub_80EB37C
sub_80EB37C: @ 80EB37C
push {r4,r5,lr}
lsls r1, r0, 16
lsrs r3, r1, 16
ldr r0, _080EB3A0 @ =0x0000ffff
cmp r3, r0
beq _080EB3EA
lsrs r2, r1, 25
ldr r5, _080EB3A4 @ =0x000001ff
ands r5, r3
cmp r2, 0x15
bhi _080EB3F4
cmp r2, 0x13
bgt _080EB3A8
cmp r2, 0x12
bge _080EB3AC
cmp r2, 0
beq _080EB3AC
b _080EB3E0
.align 2, 0
_080EB3A0: .4byte 0x0000ffff
_080EB3A4: .4byte 0x000001ff
_080EB3A8:
cmp r2, 0x15
bne _080EB3E0
_080EB3AC:
ldr r0, _080EB3D8 @ =gEasyChatGroupWords
lsls r1, r2, 2
adds r1, r0
ldr r4, [r1]
movs r3, 0
ldr r0, _080EB3DC @ =gEasyChatGroupSizes
adds r0, r2, r0
ldrb r0, [r0]
cmp r3, r0
bcs _080EB3F4
adds r1, r0, 0
_080EB3C2:
lsls r0, r3, 1
adds r0, r4
ldrh r0, [r0]
cmp r5, r0
beq _080EB3EA
adds r0, r3, 0x1
lsls r0, 16
lsrs r3, r0, 16
cmp r3, r1
bcc _080EB3C2
b _080EB3F4
.align 2, 0
_080EB3D8: .4byte gEasyChatGroupWords
_080EB3DC: .4byte gEasyChatGroupSizes
_080EB3E0:
ldr r0, _080EB3F0 @ =gEasyChatGroupSizes
adds r0, r2, r0
ldrb r0, [r0]
cmp r5, r0
bcs _080EB3F4
_080EB3EA:
movs r0, 0
b _080EB3F6
.align 2, 0
_080EB3F0: .4byte gEasyChatGroupSizes
_080EB3F4:
movs r0, 0x1
_080EB3F6:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_80EB37C
thumb_func_start de_sub_80EB748
de_sub_80EB748: @ 80EB3FC
push {r4-r7,lr}
adds r3, r0, 0
adds r5, r1, 0
movs r7, 0
cmp r3, 0x13
bgt _080EB412
cmp r3, 0x12
bge _080EB416
cmp r3, 0
beq _080EB416
b _080EB458
_080EB412:
cmp r3, 0x15
bne _080EB458
_080EB416:
ldr r1, _080EB438 @ =gEasyChatGroupWords
lsls r0, r3, 2
adds r0, r1
ldr r4, [r0]
movs r2, 0
ldr r0, _080EB43C @ =gEasyChatGroupSizes
adds r1, r3, r0
adds r6, r0, 0
ldrb r1, [r1]
cmp r2, r1
bge _080EB45A
ldrh r0, [r4]
cmp r5, r0
bne _080EB440
movs r7, 0
b _080EB45A
.align 2, 0
_080EB438: .4byte gEasyChatGroupWords
_080EB43C: .4byte gEasyChatGroupSizes
_080EB440:
adds r2, 0x1
adds r0, r3, r6
ldrb r0, [r0]
cmp r2, r0
bge _080EB45A
lsls r0, r2, 1
adds r0, r4
ldrh r0, [r0]
cmp r5, r0
bne _080EB440
adds r7, r2, 0
b _080EB45A
_080EB458:
adds r7, r5, 0
_080EB45A:
adds r0, r7, 0
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end de_sub_80EB748
.align 2, 0 @ Don't pad with nop.