summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2020-10-17 00:51:33 -0500
committerSeth Barberee <seth.barberee@gmail.com>2020-10-17 00:51:33 -0500
commit3106e3010202441e6cb6672c95a7a113abcf1eac (patch)
tree3e790d86e8b0dee413340629a65697d14483718e
parentad82979bfc9cf787a39fa58911fdfdcbbd476e11 (diff)
some more splitting and decomping
-rw-r--r--asm/code_8012A18.s20770
-rw-r--r--asm/code_801D760.s20719
-rw-r--r--asm/code_8098468.s8934
-rw-r--r--asm/code_8098BDC.s8809
-rwxr-xr-xld_script.txt4
-rw-r--r--src/code_801D760.c60
-rw-r--r--src/code_8098BDC.c166
7 files changed, 29758 insertions, 29704 deletions
diff --git a/asm/code_8012A18.s b/asm/code_8012A18.s
index d2e8663..675e92d 100644
--- a/asm/code_8012A18.s
+++ b/asm/code_8012A18.s
@@ -21925,20774 +21925,4 @@ _0801D756:
bx r0
thumb_func_end sub_801D680
- thumb_func_start sub_801D760
-sub_801D760:
- push {lr}
- bl sub_8022860
- cmp r0, 0x1
- bls _0801D778
- cmp r0, 0x3
- bhi _0801D778
- bl sub_8022908
- movs r0, 0x1
- bl sub_801D208
-_0801D778:
- pop {r0}
- bx r0
- thumb_func_end sub_801D760
-
- thumb_func_start sub_801D77C
-sub_801D77C:
- push {lr}
- bl sub_80270A4
- cmp r0, 0x1
- bls _0801D794
- cmp r0, 0x3
- bhi _0801D794
- bl sub_8027168
- movs r0, 0x1
- bl sub_801D208
-_0801D794:
- pop {r0}
- bx r0
- thumb_func_end sub_801D77C
-
- thumb_func_start sub_801D798
-sub_801D798:
- push {lr}
- bl sub_8025F68
- cmp r0, 0x1
- bls _0801D7C2
- cmp r0, 0x3
- bhi _0801D7C2
- bl sub_802604C
- lsls r0, 24
- cmp r0, 0
- beq _0801D7B8
- ldr r0, _0801D7C8
- ldr r1, [r0]
- ldrb r0, [r1, 0x6]
- strb r0, [r1, 0x7]
-_0801D7B8:
- bl sub_8026058
- movs r0, 0x2
- bl sub_801D208
-_0801D7C2:
- pop {r0}
- bx r0
- .align 2, 0
-_0801D7C8: .4byte gUnknown_203B250
- thumb_func_end sub_801D798
-
- thumb_func_start sub_801D7CC
-sub_801D7CC:
- push {r4,lr}
- bl sub_8025354
- cmp r0, 0x1
- bls _0801D802
- cmp r0, 0x3
- bhi _0801D802
- bl sub_802540C
- ldr r4, _0801D7F8
- ldr r1, [r4]
- strb r0, [r1, 0x7]
- bl sub_8025418
- ldr r0, [r4]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0801D7FC
- movs r0, 0x2
- bl sub_801D208
- b _0801D802
- .align 2, 0
-_0801D7F8: .4byte gUnknown_203B250
-_0801D7FC:
- movs r0, 0x1
- bl sub_801D208
-_0801D802:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801D7CC
-
- thumb_func_start sub_801D808
-sub_801D808:
- push {lr}
- bl sub_80244E4
- cmp r0, 0x1
- bls _0801D820
- cmp r0, 0x3
- bhi _0801D820
- bl sub_802453C
- movs r0, 0x1
- bl sub_801D208
-_0801D820:
- pop {r0}
- bx r0
- thumb_func_end sub_801D808
-
- thumb_func_start sub_801D824
-sub_801D824:
- push {lr}
- bl sub_801BF48
- cmp r0, 0x1
- bls _0801D83C
- cmp r0, 0x3
- bhi _0801D83C
- bl sub_801BF98
- movs r0, 0x1
- bl sub_801D208
-_0801D83C:
- pop {r0}
- bx r0
- thumb_func_end sub_801D824
-
- thumb_func_start sub_801D840
-sub_801D840:
- push {lr}
- bl sub_80217EC
- cmp r0, 0x1
- bls _0801D858
- cmp r0, 0x3
- bhi _0801D858
- bl sub_8021830
- movs r0, 0x1
- bl sub_801D208
-_0801D858:
- pop {r0}
- bx r0
- thumb_func_end sub_801D840
-
- thumb_func_start sub_801D85C
-sub_801D85C:
- push {lr}
- bl sub_802C898
- cmp r0, 0x1
- bls _0801D874
- cmp r0, 0x3
- bhi _0801D874
- bl sub_802C8F4
- movs r0, 0x1
- bl sub_801D208
-_0801D874:
- pop {r0}
- bx r0
- thumb_func_end sub_801D85C
-
- thumb_func_start sub_801D878
-sub_801D878:
- push {lr}
- bl sub_801DCE8
- cmp r0, 0x1
- bls _0801D890
- cmp r0, 0x3
- bhi _0801D890
- bl sub_801DD50
- movs r0, 0x1
- bl sub_801D208
-_0801D890:
- pop {r0}
- bx r0
- thumb_func_end sub_801D878
-
- thumb_func_start sub_801D894
-sub_801D894:
- push {r4-r6,lr}
- sub sp, 0x68
- ldr r0, _0801D8A8
- ldr r1, [r0]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _0801D8AC
- bl sub_8098FB4
- b _0801D8B2
- .align 2, 0
-_0801D8A8: .4byte gUnknown_203B250
-_0801D8AC:
- ldrb r0, [r1, 0x6]
- bl sub_8092524
-_0801D8B2:
- add r2, sp, 0x68
- add r1, sp, 0x4
- movs r3, 0
- bl xxx_format_string
- add r0, sp, 0x4
- bl sub_8008ED0
- movs r4, 0x80
- subs r4, r0
- lsrs r0, r4, 31
- adds r4, r0
- asrs r4, 1
- movs r0, 0x1
- bl sub_8008C54
- movs r0, 0x1
- bl sub_80073B8
- movs r6, 0
- str r6, [sp]
- adds r0, r4, 0
- movs r1, 0x4
- add r2, sp, 0x4
- movs r3, 0x1
- bl xxx_call_draw_string
- movs r0, 0x1
- bl sub_80073E0
- movs r0, 0x2
- bl sub_8008C54
- movs r0, 0x2
- bl sub_80073B8
- movs r0, 0x2
- movs r1, 0x8
- movs r2, 0x6
- bl sub_801D970
- ldr r5, _0801D964
- bl sub_8092178
- lsls r0, 24
- lsrs r0, 24
- bl sub_80921A8
- adds r4, r0, 0
- bl sub_8092110
- adds r3, r0, 0
- add r0, sp, 0x4
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_800D158
- str r6, [sp]
- movs r0, 0x20
- movs r1, 0x4
- add r2, sp, 0x4
- movs r3, 0x2
- bl xxx_call_draw_string
- ldr r1, _0801D968
- ldr r0, _0801D96C
- ldr r0, [r0]
- movs r2, 0x98
- lsls r2, 2
- adds r0, r2
- ldr r2, [r0]
- add r0, sp, 0x4
- bl sub_800D158
- str r6, [sp]
- movs r0, 0x20
- movs r1, 0x12
- add r2, sp, 0x4
- movs r3, 0x2
- bl xxx_call_draw_string
- movs r0, 0x2
- bl sub_80073E0
- add sp, 0x68
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801D964: .4byte gUnknown_80DBF3C
-_0801D968: .4byte gUnknown_80DBF4C
-_0801D96C: .4byte gUnknown_203B460
- thumb_func_end sub_801D894
-
- thumb_func_start sub_801D970
-sub_801D970:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r8, r0
- mov r9, r1
- mov r10, r2
- ldr r0, _0801D9DC
- ldr r1, _0801D9E0
- bl OpenFileAndGetFileDataPtr
- adds r7, r0, 0
- ldr r0, [r7, 0x4]
- ldr r6, [r0]
- ldr r5, [r0, 0x4]
- movs r4, 0
-_0801D994:
- adds r0, r4, 0
- adds r0, 0xE0
- adds r1, r5, 0
- bl SetBGPaletteBufferColorArray
- adds r5, 0x4
- adds r4, 0x1
- cmp r4, 0xF
- ble _0801D994
- bl sub_8092178
- lsls r0, 24
- lsrs r0, 17
- adds r6, r0
- movs r0, 0x10
- str r0, [sp]
- str r6, [sp, 0x4]
- movs r0, 0xE
- str r0, [sp, 0x8]
- mov r0, r8
- mov r1, r9
- mov r2, r10
- movs r3, 0x10
- bl sub_8007E20
- adds r0, r7, 0
- bl CloseFile
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801D9DC: .4byte gUnknown_80DBF60
-_0801D9E0: .4byte gUnknown_8380000
- thumb_func_end sub_801D970
-
- thumb_func_start sub_801D9E4
-sub_801D9E4:
- push {r4,r5,lr}
- ldr r4, _0801DA50
- movs r0, 0xA0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0x3
- str r1, [r0, 0x34]
- adds r1, r0, 0
- adds r1, 0x84
- str r1, [r0, 0x38]
- adds r0, 0x3C
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _0801DA54
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r4]
- ldr r1, [r0, 0x38]
- adds r0, 0x9C
- str r0, [r1, 0x14]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- ldr r3, [r0, 0x34]
- movs r1, 0xE5
- movs r2, 0xA
- bl sub_8013818
- bl sub_801DB54
- bl sub_801DBD4
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801DA50: .4byte gUnknown_203B258
-_0801DA54: .4byte gUnknown_80DBF88
- thumb_func_end sub_801D9E4
-
- thumb_func_start sub_801DA58
-sub_801DA58:
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- ldr r0, _0801DA74
- ldr r0, [r0]
- bl sub_8013878
- bl sub_801DB54
- bl sub_801DBD4
- pop {r0}
- bx r0
- .align 2, 0
-_0801DA74: .4byte gUnknown_203B258
- thumb_func_end sub_801DA58
-
- thumb_func_start sub_801DA78
-sub_801DA78:
- push {r4,lr}
- ldr r4, _0801DA94
- ldr r0, [r4]
- bl GetKeyPress
- cmp r0, 0x1
- beq _0801DA98
- cmp r0, 0x2
- bne _0801DA9C
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0801DAB8
- .align 2, 0
-_0801DA94: .4byte gUnknown_203B258
-_0801DA98:
- movs r0, 0x3
- b _0801DAB8
-_0801DA9C:
- ldr r0, [r4]
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801DAAE
- movs r0, 0
- b _0801DAB8
-_0801DAAE:
- bl sub_801DB54
- bl sub_801DBD4
- movs r0, 0x1
-_0801DAB8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801DA78
-
- thumb_func_start sub_801DAC0
-sub_801DAC0:
- ldr r0, _0801DAD8
- ldr r1, [r0]
- ldrh r2, [r1, 0x1E]
- ldrh r0, [r1, 0x1C]
- adds r3, r0, 0
- muls r3, r2
- adds r0, r3, 0
- ldrh r1, [r1, 0x18]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- bx lr
- .align 2, 0
-_0801DAD8: .4byte gUnknown_203B258
- thumb_func_end sub_801DAC0
-
- thumb_func_start sub_801DADC
-sub_801DADC:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _0801DB08
- ldr r0, [r5]
- movs r1, 0xE5
- strh r1, [r0, 0x22]
- bl sub_8013984
- bl sub_801DB54
- bl sub_801DBD4
- cmp r4, 0
- beq _0801DB02
- ldr r0, [r5]
- bl AddMenuCursorSprite
-_0801DB02:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DB08: .4byte gUnknown_203B258
- thumb_func_end sub_801DADC
-
- thumb_func_start sub_801DB0C
-sub_801DB0C:
- push {r4,r5,lr}
- ldr r4, _0801DB4C
- ldr r2, [r4]
- cmp r2, 0
- beq _0801DB46
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0801DB50
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801DB46:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DB4C: .4byte gUnknown_203B258
-_0801DB50: .4byte gUnknown_80DBF70
- thumb_func_end sub_801DB0C
-
- thumb_func_start sub_801DB54
-sub_801DB54:
- push {r4,lr}
- ldr r4, _0801DBD0
- ldr r0, [r4]
- adds r0, 0x9C
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9D
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0x9E
- movs r1, 0x8
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9F
- strb r2, [r0]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x34]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x4A
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x34]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x4C
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DBD0: .4byte gUnknown_203B258
- thumb_func_end sub_801DB54
-
- thumb_func_start sub_801DBD4
-sub_801DBD4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r5, _0801DCB4
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- bl sub_8008C54
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r2, _0801DCB8
- ldr r0, [r5]
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x9E
- ldrb r4, [r0]
- lsls r4, 3
- subs r4, 0x2
- movs r0, 0x1E
- ldrsh r2, [r1, r0]
- adds r2, 0x1
- movs r0, 0x7
- str r0, [sp]
- ldr r0, [r1, 0x34]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
- movs r6, 0
- ldr r0, [r5]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r6, r0
- bge _0801DC9C
- adds r7, r5, 0
- mov r8, r6
-_0801DC34:
- ldr r0, [r7]
- ldrh r2, [r0, 0x1E]
- ldrh r1, [r0, 0x1C]
- adds r3, r2, 0
- muls r3, r1
- adds r1, r3, 0
- adds r1, r6
- lsls r1, 16
- asrs r1, 16
- lsls r5, r1, 1
- adds r5, r1
- lsls r5, 2
- ldr r1, _0801DCBC
- adds r5, r1
- movs r2, 0x4
- ldrsh r1, [r5, r2]
- lsls r4, r1, 3
- subs r4, r1
- lsls r4, 2
- ldr r1, _0801DCC0
- adds r4, r1
- adds r1, r6, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, [r4]
- ldr r0, [r7]
- ldr r3, [r0, 0x34]
- mov r0, r8
- str r0, [sp]
- movs r0, 0x8
- bl xxx_call_draw_string
- ldr r0, [r7]
- adds r1, r6, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, [r5, 0x8]
- ldr r0, [r7]
- ldr r3, [r0, 0x34]
- mov r0, r8
- str r0, [sp]
- movs r0, 0x3E
- bl xxx_call_draw_string
- adds r6, 0x1
- ldr r0, [r7]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r6, r0
- blt _0801DC34
-_0801DC9C:
- ldr r0, _0801DCB4
- ldr r0, [r0]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DCB4: .4byte gUnknown_203B258
-_0801DCB8: .4byte gUnknown_80DBFA0
-_0801DCBC: .4byte gUnknown_811BAF4
-_0801DCC0: .4byte gUnknown_81188F0
- thumb_func_end sub_801DBD4
-
- thumb_func_start sub_801DCC4
-sub_801DCC4:
- push {r4,lr}
- ldr r4, _0801DCE4
- movs r0, 0x8E
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r0, 0
- bl sub_801DD6C
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0801DCE4: .4byte gUnknown_203B25C
- thumb_func_end sub_801DCC4
-
- thumb_func_start sub_801DCE8
-sub_801DCE8:
- push {lr}
- ldr r0, _0801DD00
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x7
- bhi _0801DD48
- lsls r0, 2
- ldr r1, _0801DD04
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801DD00: .4byte gUnknown_203B25C
-_0801DD04: .4byte _0801DD08
- .align 2, 0
-_0801DD08:
- .4byte _0801DD2C
- .4byte _0801DD2C
- .4byte _0801DD28
- .4byte _0801DD32
- .4byte _0801DD32
- .4byte _0801DD38
- .4byte _0801DD3E
- .4byte _0801DD44
-_0801DD28:
- movs r0, 0x3
- b _0801DD4A
-_0801DD2C:
- bl sub_801E028
- b _0801DD48
-_0801DD32:
- bl sub_801E088
- b _0801DD48
-_0801DD38:
- bl sub_801E0E0
- b _0801DD48
-_0801DD3E:
- bl sub_801E0FC
- b _0801DD48
-_0801DD44:
- bl sub_801E138
-_0801DD48:
- movs r0, 0
-_0801DD4A:
- pop {r1}
- bx r1
- thumb_func_end sub_801DCE8
-
- thumb_func_start sub_801DD50
-sub_801DD50:
- push {r4,lr}
- ldr r4, _0801DD68
- ldr r0, [r4]
- cmp r0, 0
- beq _0801DD62
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801DD62:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DD68: .4byte gUnknown_203B25C
- thumb_func_end sub_801DD50
-
- thumb_func_start sub_801DD6C
-sub_801DD6C:
- push {lr}
- ldr r1, _0801DD80
- ldr r1, [r1]
- str r0, [r1]
- bl sub_801DD84
- bl sub_801DED0
- pop {r0}
- bx r0
- .align 2, 0
-_0801DD80: .4byte gUnknown_203B25C
- thumb_func_end sub_801DD6C
-
- thumb_func_start sub_801DD84
-sub_801DD84:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, _0801DDAC
- ldr r0, [r4]
- adds r0, 0xBC
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _0801DDB4
- cmp r0, 0x1
- beq _0801DE38
- movs r3, 0
- adds r7, r4, 0
- ldr r2, _0801DDB0
- b _0801DE90
- .align 2, 0
-_0801DDAC: .4byte gUnknown_203B25C
-_0801DDB0: .4byte gUnknown_80DBFB0
-_0801DDB4:
- bl sub_801DFA4
- movs r3, 0
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xAC
- ldrh r0, [r0]
- cmp r0, 0
- bne _0801DDCE
- ldr r0, [r1, 0x70]
- str r0, [r1, 0x18]
- adds r7, r4, 0
- b _0801DDF2
-_0801DDCE:
- adds r3, 0x1
- ldr r7, _0801DE2C
- cmp r3, 0x7
- bgt _0801DDF2
- ldr r2, [r7]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0xAC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0801DDCE
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x70
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x18]
-_0801DDF2:
- ldr r0, _0801DE30
- mov r9, r0
- ldr r2, _0801DE2C
- mov r12, r2
- ldr r3, _0801DE34
- mov r8, r3
- movs r2, 0
- movs r3, 0x3
-_0801DE02:
- mov r4, r12
- ldr r1, [r4]
- adds r1, r2
- adds r1, 0xBC
- mov r0, r8
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- adds r2, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _0801DE02
- ldr r1, [r7]
- adds r1, 0xBC
- mov r0, r9
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- b _0801DE70
- .align 2, 0
-_0801DE2C: .4byte gUnknown_203B25C
-_0801DE30: .4byte gUnknown_80DBFCC
-_0801DE34: .4byte gUnknown_80DBFB0
-_0801DE38:
- bl sub_801DFA4
- mov r8, r4
- ldr r6, _0801DE88
- mov r12, r6
- mov r7, r8
- movs r2, 0
- movs r3, 0x3
-_0801DE48:
- mov r0, r8
- ldr r1, [r0]
- adds r1, r2
- adds r1, 0xBC
- mov r0, r12
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- adds r2, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _0801DE48
- ldr r1, [r7]
- adds r1, 0xBC
- ldr r0, _0801DE8C
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
-_0801DE70:
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0xBC
- adds r1, 0x6C
- bl sub_8012CAC
- ldr r0, [r7]
- adds r0, 0xC8
- movs r1, 0xA
- strh r1, [r0]
- b _0801DEAC
- .align 2, 0
-_0801DE88: .4byte gUnknown_80DBFB0
-_0801DE8C: .4byte gUnknown_80DBFCC
-_0801DE90:
- ldr r0, [r7]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r0, r1
- adds r0, 0xBC
- adds r1, r2, 0
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- adds r3, 0x1
- cmp r3, 0x3
- ble _0801DE90
-_0801DEAC:
- bl sub_8004914
- ldr r0, _0801DECC
- ldr r0, [r0]
- adds r0, 0xBC
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DECC: .4byte gUnknown_203B25C
- thumb_func_end sub_801DD84
-
- thumb_func_start sub_801DED0
-sub_801DED0:
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _0801DEEC
- ldr r0, [r1]
- ldr r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x7
- bhi _0801DF94
- lsls r0, 2
- ldr r1, _0801DEF0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801DEEC: .4byte gUnknown_203B25C
-_0801DEF0: .4byte _0801DEF4
- .align 2, 0
-_0801DEF4:
- .4byte _0801DF14
- .4byte _0801DF14
- .4byte _0801DF94
- .4byte _0801DF38
- .4byte _0801DF40
- .4byte _0801DF48
- .4byte _0801DF52
- .4byte _0801DF70
-_0801DF14:
- ldr r2, [r3]
- ldr r0, _0801DF34
- str r0, [r2, 0x1C]
- adds r0, r2, 0
- adds r0, 0x1C
- adds r1, r2, 0
- adds r1, 0x6C
- adds r3, r2, 0
- adds r3, 0xAC
- ldr r2, [r2, 0x18]
- str r2, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- bl sub_8012D60
- b _0801DF94
- .align 2, 0
-_0801DF34: .4byte gUnknown_80DBFE4
-_0801DF38:
- movs r0, 0
- bl sub_801E3F0
- b _0801DF94
-_0801DF40:
- movs r0, 0x1
- bl sub_801E510
- b _0801DF94
-_0801DF48:
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- bl sub_801E658
- b _0801DF94
-_0801DF52:
- ldr r1, [r3]
- ldr r0, _0801DF6C
- adds r1, 0x8
- ldr r0, [r0]
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, [r3]
- adds r0, 0x8
- bl sub_801E198
- b _0801DF94
- .align 2, 0
-_0801DF6C: .4byte gUnknown_203B46C
-_0801DF70:
- bl sub_801DFE4
- ldr r0, _0801DF9C
- ldr r1, _0801DFA0
- ldr r3, [r1]
- adds r3, 0x6C
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r1, 0x20
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x4
- bl sub_8014248
-_0801DF94:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DF9C: .4byte gUnknown_80DBFEC
-_0801DFA0: .4byte gUnknown_203B25C
- thumb_func_end sub_801DED0
-
- thumb_func_start sub_801DFA4
-sub_801DFA4:
- push {r4,lr}
- ldr r4, _0801DFD8
- ldr r0, [r4]
- adds r0, 0xAC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r0, [r4]
- movs r3, 0
- ldr r1, _0801DFDC
- str r1, [r0, 0x6C]
- movs r1, 0x3
- str r1, [r0, 0x70]
- movs r2, 0x1
- ldr r1, _0801DFE0
- str r1, [r0, 0x74]
- movs r1, 0x2
- str r1, [r0, 0x78]
- str r3, [r0, 0x7C]
- adds r0, 0x80
- str r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DFD8: .4byte gUnknown_203B25C
-_0801DFDC: .4byte gUnknown_80DC000
-_0801DFE0: .4byte gUnknown_80DC010
- thumb_func_end sub_801DFA4
-
- thumb_func_start sub_801DFE4
-sub_801DFE4:
- push {r4,lr}
- ldr r4, _0801E01C
- ldr r0, [r4]
- adds r0, 0xAC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- movs r3, 0
- ldr r0, _0801E020
- ldr r0, [r0]
- str r0, [r1, 0x6C]
- movs r0, 0x4
- str r0, [r1, 0x70]
- movs r2, 0x1
- ldr r0, _0801E024
- ldr r0, [r0]
- str r0, [r1, 0x74]
- movs r0, 0x5
- str r0, [r1, 0x78]
- str r3, [r1, 0x7C]
- adds r1, 0x80
- str r2, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E01C: .4byte gUnknown_203B25C
-_0801E020: .4byte gUnknown_80D4920
-_0801E024: .4byte gUnknown_80D4928
- thumb_func_end sub_801DFE4
-
- thumb_func_start sub_801E028
-sub_801E028:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r4, _0801E060
- ldr r0, [r4]
- adds r0, 0x1C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0801E050
- ldr r0, [r4]
- adds r0, 0x1C
- mov r1, sp
- bl sub_8013114
- ldr r1, [r4]
- ldr r0, [sp]
- str r0, [r1, 0x18]
-_0801E050:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801E06A
- cmp r0, 0x2
- bgt _0801E064
- cmp r0, 0x1
- beq _0801E07A
- b _0801E080
- .align 2, 0
-_0801E060: .4byte gUnknown_203B25C
-_0801E064:
- cmp r0, 0x3
- beq _0801E072
- b _0801E080
-_0801E06A:
- movs r0, 0x3
- bl sub_801DD6C
- b _0801E080
-_0801E072:
- movs r0, 0x6
- bl sub_801DD6C
- b _0801E080
-_0801E07A:
- movs r0, 0x2
- bl sub_801DD6C
-_0801E080:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801E028
-
- thumb_func_start sub_801E088
-sub_801E088:
- push {lr}
- movs r0, 0x1
- bl sub_801E474
- cmp r0, 0x4
- bhi _0801E0DA
- lsls r0, 2
- ldr r1, _0801E0A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801E0A0: .4byte _0801E0A4
- .align 2, 0
-_0801E0A4:
- .4byte _0801E0DA
- .4byte _0801E0DA
- .4byte _0801E0D0
- .4byte _0801E0B8
- .4byte _0801E0B8
-_0801E0B8:
- bl sub_801E4F4
- ldr r1, _0801E0CC
- ldr r1, [r1]
- str r0, [r1, 0x4]
- movs r0, 0x5
- bl sub_801DD6C
- b _0801E0DA
- .align 2, 0
-_0801E0CC: .4byte gUnknown_203B25C
-_0801E0D0:
- bl sub_801E54C
- movs r0, 0x1
- bl sub_801DD6C
-_0801E0DA:
- pop {r0}
- bx r0
- thumb_func_end sub_801E088
-
- thumb_func_start sub_801E0E0
-sub_801E0E0:
- push {lr}
- bl sub_801E6CC
- cmp r0, 0x1
- bls _0801E0F8
- cmp r0, 0x3
- bhi _0801E0F8
- bl sub_801E724
- movs r0, 0x4
- bl sub_801DD6C
-_0801E0F8:
- pop {r0}
- bx r0
- thumb_func_end sub_801E0E0
-
- thumb_func_start sub_801E0FC
-sub_801E0FC:
- push {lr}
- bl sub_801E218
- cmp r0, 0x1
- bls _0801E132
- cmp r0, 0x3
- bhi _0801E132
- bl sub_801E2C4
- ldr r0, _0801E128
- ldr r0, [r0]
- adds r0, 0x8
- bl sub_80949DC
- lsls r0, 24
- cmp r0, 0
- beq _0801E12C
- movs r0, 0x1
- bl sub_801DD6C
- b _0801E132
- .align 2, 0
-_0801E128: .4byte gUnknown_203B25C
-_0801E12C:
- movs r0, 0x7
- bl sub_801DD6C
-_0801E132:
- pop {r0}
- bx r0
- thumb_func_end sub_801E0FC
-
- thumb_func_start sub_801E138
-sub_801E138:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801E18E
- ldr r0, [sp]
- cmp r0, 0x4
- beq _0801E15C
- cmp r0, 0x4
- bgt _0801E156
- cmp r0, 0x1
- beq _0801E188
- b _0801E18E
-_0801E156:
- cmp r0, 0x5
- beq _0801E188
- b _0801E18E
-_0801E15C:
- ldr r1, _0801E180
- ldr r0, _0801E184
- ldr r0, [r0]
- ldr r1, [r1]
- adds r0, 0x8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- bl sub_8094C14
- movs r0, 0
- bl sub_8099690
- movs r0, 0x1
- bl sub_801DD6C
- b _0801E18E
- .align 2, 0
-_0801E180: .4byte gUnknown_203B46C
-_0801E184: .4byte gUnknown_203B25C
-_0801E188:
- movs r0, 0x1
- bl sub_801DD6C
-_0801E18E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801E138
-
- thumb_func_start sub_801E198
-sub_801E198:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _0801E210
- movs r0, 0xAC
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- stm r0!, {r5}
- bl sub_801317C
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0x44]
- adds r0, r1, 0
- adds r0, 0x4C
- str r0, [r1, 0x48]
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x44]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x4C
- ldr r0, _0801E214
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r4]
- ldr r0, [r0, 0x48]
- movs r1, 0x1
- bl sub_8012D08
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x10
- ldr r3, [r1, 0x44]
- movs r1, 0x1
- movs r2, 0x1
- bl sub_8013818
- bl nullsub_38
- bl sub_801E310
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801E210: .4byte gUnknown_203B260
-_0801E214: .4byte gUnknown_80DC03C
- thumb_func_end sub_801E198
-
- thumb_func_start sub_801E218
-sub_801E218:
- push {r4,lr}
- movs r4, 0
- bl sub_8012AE8
- cmp r0, 0x2
- beq _0801E238
- cmp r0, 0x2
- bgt _0801E22E
- cmp r0, 0x1
- beq _0801E242
- b _0801E294
-_0801E22E:
- cmp r0, 0x9
- beq _0801E24C
- cmp r0, 0xA
- beq _0801E26C
- b _0801E294
-_0801E238:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0801E2BE
-_0801E242:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0801E2BE
-_0801E24C:
- ldr r0, _0801E264
- ldr r1, [r0]
- movs r2, 0x28
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0801E294
- ldr r1, [r1]
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- bne _0801E268
- movs r0, 0x2
- b _0801E28A
- .align 2, 0
-_0801E264: .4byte gUnknown_203B260
-_0801E268:
- subs r0, 0x1
- b _0801E28A
-_0801E26C:
- ldr r0, _0801E284
- ldr r1, [r0]
- movs r2, 0x28
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0801E294
- ldr r1, [r1]
- ldrb r0, [r1, 0x8]
- cmp r0, 0x1
- bls _0801E288
- strb r4, [r1, 0x8]
- b _0801E28C
- .align 2, 0
-_0801E284: .4byte gUnknown_203B260
-_0801E288:
- adds r0, 0x1
-_0801E28A:
- strb r0, [r1, 0x8]
-_0801E28C:
- movs r0, 0x3
- bl sub_80119D4
- movs r4, 0x1
-_0801E294:
- ldr r0, _0801E2B8
- ldr r0, [r0]
- adds r0, 0x10
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801E2AA
- cmp r4, 0x1
- bne _0801E2BC
-_0801E2AA:
- bl nullsub_38
- bl sub_801E310
- movs r0, 0x1
- b _0801E2BE
- .align 2, 0
-_0801E2B8: .4byte gUnknown_203B260
-_0801E2BC:
- movs r0, 0
-_0801E2BE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801E218
-
- thumb_func_start sub_801E2C4
-sub_801E2C4:
- push {r4,r5,lr}
- ldr r4, _0801E304
- ldr r2, [r4]
- cmp r2, 0
- beq _0801E2FE
- ldr r0, [r2, 0x44]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x4C
- ldr r0, _0801E308
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801E2FE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E304: .4byte gUnknown_203B260
-_0801E308: .4byte gUnknown_80DC020
- thumb_func_end sub_801E2C4
-
- thumb_func_start nullsub_38
-nullsub_38:
- bx lr
- thumb_func_end nullsub_38
-
- thumb_func_start sub_801E310
-sub_801E310:
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r5, _0801E368
- ldr r0, [r5]
- ldr r0, [r0, 0x44]
- bl sub_8008C54
- ldr r0, [r5]
- ldr r0, [r0, 0x44]
- bl sub_80073B8
- ldr r2, _0801E36C
- ldr r0, [r5]
- ldr r3, [r0, 0x44]
- movs r4, 0
- str r4, [sp]
- movs r0, 0x10
- movs r1, 0
- bl xxx_call_draw_string
- ldr r0, [r5]
- adds r0, 0x10
- movs r1, 0
- bl sub_8013800
- adds r6, r0, 0
- ldr r2, _0801E370
- ldr r0, [r5]
- ldr r3, [r0, 0x44]
- str r4, [sp]
- movs r0, 0x8
- adds r1, r6, 0
- bl xxx_call_draw_string
- ldr r0, [r5]
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1
- beq _0801E384
- cmp r0, 0x1
- bgt _0801E374
- cmp r0, 0
- beq _0801E37A
- b _0801E3D6
- .align 2, 0
-_0801E368: .4byte gUnknown_203B260
-_0801E36C: .4byte gUnknown_80DC054
-_0801E370: .4byte gUnknown_80DC064
-_0801E374:
- cmp r0, 0x2
- beq _0801E3B0
- b _0801E3D6
-_0801E37A:
- ldr r0, _0801E380
- b _0801E386
- .align 2, 0
-_0801E380: .4byte gUnknown_80DC084
-_0801E384:
- ldr r0, _0801E3AC
-_0801E386:
- bl sub_8008ED0
- adds r4, r0, 0
- ldr r1, [r5]
- ldr r0, [r1, 0x44]
- ldr r1, [r1]
- ldrb r2, [r1, 0x8]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, 0x50
- adds r2, r6, 0
- adds r2, 0xA
- movs r3, 0x7
- str r3, [sp]
- adds r3, r4, 0
- bl sub_80078A4
- b _0801E3D6
- .align 2, 0
-_0801E3AC: .4byte gUnknown_80DC08C
-_0801E3B0:
- ldr r0, _0801E3E8
- bl sub_8008ED0
- adds r4, r0, 0
- ldr r1, [r5]
- ldr r0, [r1, 0x44]
- ldr r1, [r1]
- ldrb r2, [r1, 0x8]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, 0x50
- adds r2, r6, 0
- adds r2, 0xA
- movs r3, 0x7
- str r3, [sp]
- adds r3, r4, 0
- bl sub_80078A4
-_0801E3D6:
- ldr r0, _0801E3EC
- ldr r0, [r0]
- ldr r0, [r0, 0x44]
- bl sub_80073E0
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E3E8: .4byte gUnknown_80DC090
-_0801E3EC: .4byte gUnknown_203B260
- thumb_func_end sub_801E310
-
- thumb_func_start sub_801E3F0
-sub_801E3F0:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _0801E46C
- ldr r0, [r4]
- cmp r0, 0
- bne _0801E406
- movs r0, 0x9C
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
-_0801E406:
- ldr r0, [r4]
- str r5, [r0, 0x34]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0x3C
- adds r1, r0, r1
- str r1, [r0, 0x38]
- adds r0, 0x3C
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _0801E470
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r4]
- ldr r0, [r0, 0x38]
- movs r1, 0xA
- bl sub_8012D08
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x5
- movs r2, 0xA
- adds r3, r5, 0
- bl sub_8013818
- bl sub_801E594
- bl sub_801E5E8
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801E46C: .4byte gUnknown_203B264
-_0801E470: .4byte gUnknown_80DC0BC
- thumb_func_end sub_801E3F0
-
- thumb_func_start sub_801E474
-sub_801E474:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0801E48C
- ldr r0, _0801E488
- ldr r0, [r0]
- bl sub_8013660
- movs r0, 0
- b _0801E4EE
- .align 2, 0
-_0801E488: .4byte gUnknown_203B264
-_0801E48C:
- ldr r0, _0801E4A4
- ldr r0, [r0]
- bl GetKeyPress
- cmp r0, 0x2
- beq _0801E4AE
- cmp r0, 0x2
- bgt _0801E4A8
- cmp r0, 0x1
- beq _0801E4B8
- b _0801E4CC
- .align 2, 0
-_0801E4A4: .4byte gUnknown_203B264
-_0801E4A8:
- cmp r0, 0x4
- beq _0801E4C2
- b _0801E4CC
-_0801E4AE:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0801E4EE
-_0801E4B8:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0801E4EE
-_0801E4C2:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _0801E4EE
-_0801E4CC:
- ldr r0, _0801E4E0
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801E4E4
- movs r0, 0
- b _0801E4EE
- .align 2, 0
-_0801E4E0: .4byte gUnknown_203B264
-_0801E4E4:
- bl sub_801E594
- bl sub_801E5E8
- movs r0, 0x1
-_0801E4EE:
- pop {r1}
- bx r1
- thumb_func_end sub_801E474
-
- thumb_func_start sub_801E4F4
-sub_801E4F4:
- ldr r0, _0801E50C
- ldr r1, [r0]
- movs r0, 0x1E
- ldrsh r2, [r1, r0]
- movs r3, 0x1C
- ldrsh r0, [r1, r3]
- muls r0, r2
- movs r2, 0x18
- ldrsh r1, [r1, r2]
- adds r0, r1
- bx lr
- .align 2, 0
-_0801E50C: .4byte gUnknown_203B264
- thumb_func_end sub_801E4F4
-
- thumb_func_start sub_801E510
-sub_801E510:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0801E548
- ldr r0, [r5]
- adds r0, 0x3C
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- ldr r0, [r5]
- bl sub_8013984
- bl sub_801E594
- bl sub_801E5E8
- cmp r4, 0
- beq _0801E542
- ldr r0, [r5]
- bl AddMenuCursorSprite
-_0801E542:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E548: .4byte gUnknown_203B264
- thumb_func_end sub_801E510
-
- thumb_func_start sub_801E54C
-sub_801E54C:
- push {r4,r5,lr}
- ldr r4, _0801E58C
- ldr r2, [r4]
- cmp r2, 0
- beq _0801E586
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0801E590
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801E586:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E58C: .4byte gUnknown_203B264
-_0801E590: .4byte gUnknown_80DC0A0
- thumb_func_end sub_801E54C
-
- thumb_func_start sub_801E594
-sub_801E594:
- push {r4,lr}
- ldr r4, _0801E5E4
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x34]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x4A
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x34]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x4C
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E5E4: .4byte gUnknown_203B264
- thumb_func_end sub_801E594
-
- thumb_func_start sub_801E5E8
-sub_801E5E8:
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r4, _0801E64C
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r2, _0801E650
- ldr r0, [r4]
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0
- bl xxx_call_draw_string
- movs r5, 0
- adds r6, r4, 0
- ldr r4, _0801E654
-_0801E616:
- ldr r0, [r6]
- adds r1, r5, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, [r4]
- ldr r0, [r6]
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- bl xxx_call_draw_string
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x4
- ble _0801E616
- ldr r0, _0801E64C
- ldr r0, [r0]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E64C: .4byte gUnknown_203B264
-_0801E650: .4byte gUnknown_80DC0D4
-_0801E654: .4byte gUnknown_80DAA98
- thumb_func_end sub_801E5E8
-
- thumb_func_start sub_801E658
-sub_801E658:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _0801E6C4
- movs r0, 0xA0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0
- str r1, [r0, 0x34]
- adds r1, r0, 0
- adds r1, 0x3C
- str r1, [r0, 0x38]
- adds r0, r1, 0
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _0801E6C8
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r4]
- ldr r1, [r0, 0x38]
- adds r0, 0x9C
- str r0, [r1, 0x14]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- ldr r3, [r0, 0x34]
- movs r1, 0x5
- movs r2, 0x1
- bl sub_8013818
- ldr r0, [r4]
- strh r5, [r0, 0x1E]
- bl sub_801E714
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801E6C4: .4byte gUnknown_203B268
-_0801E6C8: .4byte gUnknown_80DC0FC
- thumb_func_end sub_801E658
-
- thumb_func_start sub_801E6CC
-sub_801E6CC:
- push {r4,lr}
- ldr r4, _0801E6E8
- ldr r0, [r4]
- bl GetKeyPress
- cmp r0, 0x1
- beq _0801E6EC
- cmp r0, 0x2
- bne _0801E6F6
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0801E70C
- .align 2, 0
-_0801E6E8: .4byte gUnknown_203B268
-_0801E6EC:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0801E70C
-_0801E6F6:
- ldr r0, [r4]
- bl sub_8013938
- lsls r0, 24
- cmp r0, 0
- bne _0801E706
- movs r0, 0
- b _0801E70C
-_0801E706:
- bl sub_801E714
- movs r0, 0x1
-_0801E70C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801E6CC
-
- thumb_func_start sub_801E714
-sub_801E714:
- push {lr}
- bl sub_801E76C
- bl sub_801E7AC
- pop {r0}
- bx r0
- thumb_func_end sub_801E714
-
- thumb_func_start sub_801E724
-sub_801E724:
- push {r4,r5,lr}
- ldr r4, _0801E764
- ldr r2, [r4]
- cmp r2, 0
- beq _0801E75E
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0801E768
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801E75E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E764: .4byte gUnknown_203B268
-_0801E768: .4byte gUnknown_80DC0E4
- thumb_func_end sub_801E724
-
- thumb_func_start sub_801E76C
-sub_801E76C:
- push {r4,lr}
- ldr r4, _0801E7A8
- ldr r0, [r4]
- ldrh r1, [r0, 0x20]
- adds r0, 0x9C
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldrh r1, [r0, 0x1E]
- adds r0, 0x9D
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9E
- movs r1, 0xF
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9F
- strb r2, [r0]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E7A8: .4byte gUnknown_203B268
- thumb_func_end sub_801E76C
-
- thumb_func_start sub_801E7AC
-sub_801E7AC:
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r5, _0801E804
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r3, [r5]
- movs r0, 0x1E
- ldrsh r1, [r3, r0]
- lsls r1, 3
- adds r0, r1, 0
- adds r0, 0x10
- ldr r4, _0801E808
- adds r1, r4
- ldr r2, [r1]
- ldr r3, [r3, 0x34]
- movs r6, 0
- str r6, [sp]
- movs r1, 0
- bl xxx_call_draw_string
- ldr r1, [r5]
- movs r2, 0x1E
- ldrsh r0, [r1, r2]
- lsls r0, 3
- adds r4, 0x4
- adds r0, r4
- ldr r2, [r0]
- ldr r3, [r1, 0x34]
- str r6, [sp]
- movs r0, 0xA
- movs r1, 0x14
- bl xxx_call_draw_string
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E804: .4byte gUnknown_203B268
-_0801E808: .4byte gUnknown_80DAA98
- thumb_func_end sub_801E7AC
-
- thumb_func_start sub_801E80C
-sub_801E80C:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r4, r1, 0
- adds r6, r2, 0
- lsls r4, 16
- asrs r4, 16
- ldr r5, _0801E84C
- movs r0, 0xC6
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- adds r2, r0, 0
- str r2, [r5]
- mov r0, r8
- str r0, [r2]
- strh r4, [r2, 0xC]
- str r6, [r2, 0x10]
- ldrh r0, [r6, 0x22]
- strh r0, [r2, 0x1C]
- mov r1, r8
- cmp r1, 0
- bne _0801E850
- movs r3, 0x94
- lsls r3, 1
- adds r1, r2, r3
- movs r4, 0x8C
- lsls r4, 1
- adds r0, r2, r4
- b _0801E858
- .align 2, 0
-_0801E84C: .4byte gUnknown_203B26C
-_0801E850:
- movs r0, 0x94
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
-_0801E858:
- str r0, [r1]
- ldr r0, _0801E8B4
- bl sub_808DDD0
- ldr r2, _0801E8B8
- ldr r3, [r2]
- movs r4, 0x8C
- lsls r4, 1
- adds r1, r3, r4
- str r0, [r1]
- adds r4, 0x4
- adds r1, r3, r4
- ldr r0, [r0, 0x4]
- str r0, [r1]
- movs r1, 0x92
- lsls r1, 1
- adds r0, r3, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, _0801E8BC
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- adds r4, 0xA
- adds r0, r4
- strb r1, [r0]
- ldr r2, [r2]
- movs r0, 0x90
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x2
- strh r0, [r1]
- subs r3, 0x3
- adds r1, r2, r3
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_801E968
- movs r0, 0x1
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801E8B4: .4byte 0x00000155
-_0801E8B8: .4byte gUnknown_203B26C
-_0801E8BC: .4byte 0x00000125
- thumb_func_end sub_801E80C
-
- thumb_func_start sub_801E8C0
-sub_801E8C0:
- push {lr}
- ldr r0, _0801E8D8
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0x6
- bhi _0801E928
- lsls r0, 2
- ldr r1, _0801E8DC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801E8D8: .4byte gUnknown_203B26C
-_0801E8DC: .4byte _0801E8E0
- .align 2, 0
-_0801E8E0:
- .4byte _0801E8FC
- .4byte _0801E8FC
- .4byte _0801E902
- .4byte _0801E908
- .4byte _0801E90E
- .4byte _0801E91C
- .4byte _0801E924
-_0801E8FC:
- bl sub_801ECBC
- b _0801E928
-_0801E902:
- bl sub_801ED28
- b _0801E928
-_0801E908:
- bl sub_801EDA4
- b _0801E928
-_0801E90E:
- bl sub_801EDC0
- ldr r0, _0801E920
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0x5
- bne _0801E928
-_0801E91C:
- movs r0, 0x3
- b _0801E92A
- .align 2, 0
-_0801E920: .4byte gUnknown_203B26C
-_0801E924:
- movs r0, 0x2
- b _0801E92A
-_0801E928:
- movs r0, 0
-_0801E92A:
- pop {r1}
- bx r1
- thumb_func_end sub_801E8C0
-
- thumb_func_start sub_801E930
-sub_801E930:
- ldr r0, _0801E938
- ldr r0, [r0]
- ldrb r0, [r0, 0xE]
- bx lr
- .align 2, 0
-_0801E938: .4byte gUnknown_203B26C
- thumb_func_end sub_801E930
-
- thumb_func_start sub_801E93C
-sub_801E93C:
- push {r4,lr}
- ldr r4, _0801E964
- ldr r0, [r4]
- cmp r0, 0
- beq _0801E95C
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801E95C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E964: .4byte gUnknown_203B26C
- thumb_func_end sub_801E93C
-
- thumb_func_start sub_801E968
-sub_801E968:
- push {lr}
- ldr r1, _0801E97C
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_801E980
- bl sub_801EA28
- pop {r0}
- bx r0
- .align 2, 0
-_0801E97C: .4byte gUnknown_203B26C
- thumb_func_end sub_801E968
-
- thumb_func_start sub_801E980
-sub_801E980:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0801E9D0
- ldr r0, [r4]
- movs r5, 0x96
- lsls r5, 1
- adds r0, r5
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- cmp r0, 0x2
- bne _0801E9DC
- bl sub_801EBC4
- ldr r1, [r4]
- movs r0, 0xA2
- lsls r0, 1
- adds r1, r0
- ldr r0, _0801E9D4
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldr r2, [r4]
- movs r0, 0xAE
- lsls r0, 1
- adds r2, r0
- ldr r1, _0801E9D8
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0x28
- bl sub_8012CAC
- b _0801EA00
- .align 2, 0
-_0801E9D0: .4byte gUnknown_203B26C
-_0801E9D4: .4byte gUnknown_80DC11C
-_0801E9D8: .4byte gUnknown_80DC134
-_0801E9DC:
- mov r12, r4
- mov r8, r5
- ldr r4, _0801EA20
- movs r2, 0
- movs r3, 0x3
-_0801E9E6:
- mov r6, r12
- ldr r1, [r6]
- adds r1, r2
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r2, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _0801E9E6
-_0801EA00:
- bl sub_8004914
- ldr r0, _0801EA24
- ldr r0, [r0]
- movs r7, 0x96
- lsls r7, 1
- adds r0, r7
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801EA20: .4byte gUnknown_80DC11C
-_0801EA24: .4byte gUnknown_203B26C
- thumb_func_end sub_801E980
-
- thumb_func_start sub_801EA28
-sub_801EA28:
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _0801EA44
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r4, r1, 0
- cmp r0, 0x4
- bls _0801EA3A
- b _0801EBB8
-_0801EA3A:
- lsls r0, 2
- ldr r1, _0801EA48
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801EA44: .4byte gUnknown_203B26C
-_0801EA48: .4byte _0801EA4C
- .align 2, 0
-_0801EA4C:
- .4byte _0801EA60
- .4byte _0801EA80
- .4byte _0801EA8A
- .4byte _0801EAB4
- .4byte _0801EACA
-_0801EA60:
- ldr r0, [r4]
- movs r2, 0xC
- ldrsh r1, [r0, r2]
- ldr r2, [r0, 0x10]
- ldr r0, _0801EA7C
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r3, 0
- bl sub_801EE10
- b _0801EBB8
- .align 2, 0
-_0801EA7C: .4byte gUnknown_80DC164
-_0801EA80:
- movs r0, 0x1
- movs r1, 0
- bl sub_801F1B0
- b _0801EBB8
-_0801EA8A:
- movs r0, 0
- bl sub_801F280
- ldr r0, _0801EAB0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x78
- adds r1, r2, 0
- adds r1, 0x28
- adds r3, r2, 0
- adds r3, 0x68
- ldr r2, [r2, 0x24]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _0801EBB8
- .align 2, 0
-_0801EAB0: .4byte gUnknown_203B26C
-_0801EAB4:
- ldr r2, [r4]
- ldr r0, [r2, 0x20]
- ldr r1, [r2, 0x10]
- adds r2, 0x14
- bl sub_8093560
- ldr r0, [r4]
- adds r0, 0x14
- bl sub_801F808
- b _0801EBB8
-_0801EACA:
- bl sub_801EC7C
- ldr r4, _0801EAF8
- ldr r5, _0801EAFC
- ldr r0, [r5]
- ldrh r1, [r0, 0x1C]
- adds r0, r4, 0
- bl sub_8092C84
- adds r4, 0x50
- ldr r0, [r5]
- ldrh r1, [r0, 0x1E]
- adds r0, r4, 0
- bl sub_8092C84
- ldr r2, [r5]
- ldr r3, [r2]
- cmp r3, 0x1
- bls _0801EB00
- cmp r3, 0x2
- beq _0801EB68
- b _0801EBB8
- .align 2, 0
-_0801EAF8: .4byte gUnknown_202DF98
-_0801EAFC: .4byte gUnknown_203B26C
-_0801EB00:
- ldrb r4, [r2, 0xE]
- cmp r4, 0
- beq _0801EB38
- ldr r1, _0801EB34
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x30
- adds r0, r1
- ldr r0, [r0]
- adds r3, r2, 0
- adds r3, 0x28
- adds r1, r2, 0
- adds r1, 0x68
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r4, 0x94
- lsls r4, 1
- adds r1, r2, r4
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- b _0801EB86
- .align 2, 0
-_0801EB34: .4byte gUnknown_80D8888
-_0801EB38:
- ldr r1, _0801EB64
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x2C
- adds r0, r1
- ldr r0, [r0]
- adds r3, r2, 0
- adds r3, 0x28
- adds r1, r2, 0
- adds r1, 0x68
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r4, 0x94
- lsls r4, 1
- adds r1, r2, r4
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- b _0801EB86
- .align 2, 0
-_0801EB64: .4byte gUnknown_80D8888
-_0801EB68:
- ldrb r4, [r2, 0xE]
- cmp r4, 0
- beq _0801EB98
- ldr r0, _0801EB94
- adds r3, r2, 0
- adds r3, 0x28
- adds r1, r2, 0
- adds r1, 0x68
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- str r1, [sp, 0xC]
- movs r1, 0x20
-_0801EB86:
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8014248
- b _0801EBB8
- .align 2, 0
-_0801EB94: .4byte gUnknown_80DC1A0
-_0801EB98:
- ldr r0, _0801EBC0
- adds r3, r2, 0
- adds r3, 0x28
- adds r1, r2, 0
- adds r1, 0x68
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r1, 0x20
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8014248
-_0801EBB8:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801EBC0: .4byte gUnknown_80DC1FC
- thumb_func_end sub_801EA28
-
- thumb_func_start sub_801EBC4
-sub_801EBC4:
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, _0801EC48
- ldr r0, [r4]
- adds r0, 0x68
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- ldr r0, _0801EC4C
- str r0, [r1, 0x28]
- movs r0, 0x2
- str r0, [r1, 0x2C]
- ldrh r0, [r1, 0x1E]
- ldr r1, [r1, 0x10]
- bl sub_80933A0
- lsls r0, 24
- cmp r0, 0
- beq _0801EBF6
- ldr r0, [r4]
- ldr r0, [r0, 0x20]
- cmp r0, 0x3
- ble _0801EBFE
-_0801EBF6:
- ldr r0, [r4]
- adds r0, 0x68
- movs r1, 0x1
- strh r1, [r0]
-_0801EBFE:
- adds r5, 0x1
- ldr r4, _0801EC48
- ldr r0, [r4]
- mov r12, r0
- lsls r1, r5, 3
- mov r3, r12
- adds r3, 0x28
- adds r2, r3, r1
- ldr r0, _0801EC50
- ldr r0, [r0]
- str r0, [r2]
- mov r2, r12
- adds r2, 0x2C
- adds r1, r2, r1
- movs r0, 0x3
- str r0, [r1]
- adds r5, 0x1
- lsls r1, r5, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r2, r1
- movs r0, 0x1
- str r0, [r2]
- movs r3, 0
- cmp r3, r5
- bge _0801EC76
- mov r0, r12
- adds r0, 0x68
- ldrh r0, [r0]
- cmp r0, 0
- bne _0801EC54
- mov r1, r12
- ldr r0, [r1, 0x2C]
- str r0, [r1, 0x24]
- b _0801EC76
- .align 2, 0
-_0801EC48: .4byte gUnknown_203B26C
-_0801EC4C: .4byte gUnknown_80DC230
-_0801EC50: .4byte gUnknown_80D4970
-_0801EC54:
- adds r3, 0x1
- cmp r3, r5
- bge _0801EC76
- ldr r2, [r4]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0x68
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0801EC54
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x2C
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x24]
-_0801EC76:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801EBC4
-
- thumb_func_start sub_801EC7C
-sub_801EC7C:
- push {r4,lr}
- ldr r4, _0801ECB0
- ldr r0, [r4]
- adds r0, 0x68
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- movs r3, 0
- ldr r0, _0801ECB4
- ldr r0, [r0]
- str r0, [r1, 0x28]
- movs r0, 0x4
- str r0, [r1, 0x2C]
- movs r2, 0x1
- ldr r0, _0801ECB8
- ldr r0, [r0]
- str r0, [r1, 0x30]
- movs r0, 0x5
- str r0, [r1, 0x34]
- str r3, [r1, 0x38]
- str r2, [r1, 0x3C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801ECB0: .4byte gUnknown_203B26C
-_0801ECB4: .4byte gUnknown_80D4920
-_0801ECB8: .4byte gUnknown_80D4928
- thumb_func_end sub_801EC7C
-
- thumb_func_start sub_801ECBC
-sub_801ECBC:
- push {lr}
- movs r0, 0x1
- bl sub_801EF38
- cmp r0, 0x3
- beq _0801ECD8
- cmp r0, 0x3
- bhi _0801ECD2
- cmp r0, 0x2
- beq _0801ED18
- b _0801ED22
-_0801ECD2:
- cmp r0, 0x4
- beq _0801ECF8
- b _0801ED22
-_0801ECD8:
- bl sub_801F194
- ldr r1, _0801ECF4
- ldr r2, [r1]
- str r0, [r2, 0x20]
- ldr r1, [r2, 0x10]
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1, 0x2]
- strh r0, [r2, 0x1E]
- movs r0, 0x2
- bl sub_801E968
- b _0801ED22
- .align 2, 0
-_0801ECF4: .4byte gUnknown_203B26C
-_0801ECF8:
- bl sub_801F194
- ldr r1, _0801ED14
- ldr r2, [r1]
- str r0, [r2, 0x20]
- ldr r1, [r2, 0x10]
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1, 0x2]
- strh r0, [r2, 0x1E]
- movs r0, 0x3
- bl sub_801E968
- b _0801ED22
- .align 2, 0
-_0801ED14: .4byte gUnknown_203B26C
-_0801ED18:
- bl sub_801F214
- movs r0, 0x6
- bl sub_801E968
-_0801ED22:
- pop {r0}
- bx r0
- thumb_func_end sub_801ECBC
-
- thumb_func_start sub_801ED28
-sub_801ED28:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801EF38
- ldr r4, _0801ED60
- ldr r0, [r4]
- adds r0, 0x78
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0801ED4E
- ldr r0, [r4]
- adds r0, 0x78
- mov r1, sp
- bl sub_8013114
-_0801ED4E:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801ED74
- cmp r0, 0x2
- bgt _0801ED64
- cmp r0, 0x1
- beq _0801ED6C
- b _0801ED9A
- .align 2, 0
-_0801ED60: .4byte gUnknown_203B26C
-_0801ED64:
- cmp r0, 0x3
- beq _0801ED94
- cmp r0, 0x5
- bne _0801ED9A
-_0801ED6C:
- movs r0, 0x1
- bl sub_801E968
- b _0801ED9A
-_0801ED74:
- ldr r0, _0801ED90
- bl sub_8011988
- ldr r1, [r4]
- ldr r0, [r1, 0x20]
- ldr r1, [r1, 0x10]
- bl sub_80934B0
- ldr r1, [r4]
- strb r0, [r1, 0xE]
- movs r0, 0x4
- bl sub_801E968
- b _0801ED9A
- .align 2, 0
-_0801ED90: .4byte 0x00000133
-_0801ED94:
- movs r0, 0x3
- bl sub_801E968
-_0801ED9A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801ED28
-
- thumb_func_start sub_801EDA4
-sub_801EDA4:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _0801EDBC
- cmp r0, 0x3
- bhi _0801EDBC
- bl sub_801F8D0
- movs r0, 0x1
- bl sub_801E968
-_0801EDBC:
- pop {r0}
- bx r0
- thumb_func_end sub_801EDA4
-
- thumb_func_start sub_801EDC0
-sub_801EDC0:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801EE06
- ldr r0, [sp]
- cmp r0, 0x4
- beq _0801EDE4
- cmp r0, 0x4
- bgt _0801EDDE
- cmp r0, 0x1
- beq _0801EE00
- b _0801EE06
-_0801EDDE:
- cmp r0, 0x5
- beq _0801EE00
- b _0801EE06
-_0801EDE4:
- bl sub_801F214
- ldr r4, _0801EDFC
- ldr r1, [r4]
- ldr r0, [r1, 0x10]
- ldr r1, [r1, 0x20]
- bl sub_8093CF8
- ldr r1, [r4]
- movs r0, 0x5
- str r0, [r1, 0x4]
- b _0801EE06
- .align 2, 0
-_0801EDFC: .4byte gUnknown_203B26C
-_0801EE00:
- movs r0, 0x1
- bl sub_801E968
-_0801EE06:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801EDC0
-
- thumb_func_start sub_801EE10
-sub_801EE10:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- mov r9, r2
- adds r4, r3, 0
- ldr r0, [sp, 0x20]
- mov r8, r0
- lsls r1, 16
- asrs r7, r1, 16
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _0801EF28
- movs r0, 0xBC
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r2, 0
- strb r4, [r0, 0x4]
- ldr r0, [r5]
- movs r1, 0x1
- strb r1, [r0, 0x5]
- ldr r0, [r5]
- strb r1, [r0, 0x6]
- ldr r0, [r5]
- strb r1, [r0, 0x7]
- ldr r0, [r5]
- str r6, [r0]
- cmp r6, 0x1
- bls _0801EE5E
- cmp r6, 0x3
- bhi _0801EE5E
- strb r2, [r0, 0x5]
- ldr r0, [r5]
- strb r2, [r0, 0x6]
- ldr r0, [r5]
- strb r2, [r0, 0x7]
-_0801EE5E:
- ldr r4, _0801EF28
- ldr r3, [r4]
- ldr r2, _0801EF2C
- movs r0, 0x58
- adds r1, r7, 0
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- str r0, [r3, 0x8]
- ldrb r0, [r0, 0x2]
- strb r0, [r3, 0xC]
- ldr r0, [r4]
- mov r1, r9
- str r1, [r0, 0x10]
- adds r0, 0xB8
- ldr r1, [sp, 0x1C]
- str r1, [r0]
- bl sub_801F3F8
- adds r5, r0, 0
- adds r6, r5, 0
- cmp r5, 0x4
- bge _0801EE8E
- movs r6, 0x4
-_0801EE8E:
- ldr r0, [r4]
- adds r0, 0x58
- bl sub_8006518
- ldr r1, [r4]
- mov r2, r8
- str r2, [r1, 0x50]
- lsls r0, r2, 1
- add r0, r8
- lsls r0, 3
- adds r1, r0
- adds r1, 0x58
- ldr r0, _0801EF30
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldr r0, [r4]
- adds r0, 0xB8
- ldr r0, [r0]
- cmp r0, 0
- beq _0801EED8
- mov r0, r8
- bl sub_8006544
- ldr r1, [r4]
- str r0, [r1, 0x54]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 3
- adds r1, r2
- adds r1, 0x58
- ldr r0, _0801EF34
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
-_0801EED8:
- ldr r0, [r4]
- ldr r2, [r0, 0x50]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, 0x58
- adds r0, r1
- adds r1, r6, 0
- bl sub_8012D08
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x58
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, 0x1C
- adds r1, r5, 0
- adds r2, r5, 0
- mov r3, r8
- bl sub_8013818
- ldr r0, [r4]
- adds r0, 0x1C
- movs r1, 0
- bl sub_8013780
- movs r0, 0x1
- bl sub_801F280
- movs r0, 0x1
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801EF28: .4byte gUnknown_203B270
-_0801EF2C: .4byte gUnknown_203B45C
-_0801EF30: .4byte gUnknown_80DC25C
-_0801EF34: .4byte gUnknown_80DC274
- thumb_func_end sub_801EE10
-
- thumb_func_start sub_801EF38
-sub_801EF38:
- push {r4-r7,lr}
- lsls r0, 24
- movs r7, 0
- cmp r0, 0
- bne _0801EF54
- ldr r0, _0801EF50
- ldr r0, [r0]
- adds r0, 0x1C
- bl sub_8013660
- b _0801F18C
- .align 2, 0
-_0801EF50: .4byte gUnknown_203B270
-_0801EF54:
- ldr r0, _0801EF70
- ldr r0, [r0]
- adds r0, 0x1C
- bl GetKeyPress
- subs r0, 0x1
- cmp r0, 0xC
- bls _0801EF66
- b _0801F12E
-_0801EF66:
- lsls r0, 2
- ldr r1, _0801EF74
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801EF70: .4byte gUnknown_203B270
-_0801EF74: .4byte _0801EF78
- .align 2, 0
-_0801EF78:
- .4byte _0801EFB6
- .4byte _0801EFAC
- .4byte _0801F0E4
- .4byte _0801EFC0
- .4byte _0801F12E
- .4byte _0801F12E
- .4byte _0801EFE4
- .4byte _0801EFCA
- .4byte _0801F12E
- .4byte _0801F12E
- .4byte _0801F074
- .4byte _0801F04C
- .4byte _0801F018
-_0801EFAC:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0801F18E
-_0801EFB6:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0801F18E
-_0801EFC0:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _0801F18E
-_0801EFCA:
- ldr r5, _0801EFE0
- ldr r0, [r5]
- movs r1, 0x34
- ldrsh r6, [r0, r1]
- adds r4, r0, 0
- adds r4, 0x1C
- ldr r0, [r0, 0x10]
- adds r1, r6, 0
- bl sub_8092E54
- b _0801EFF8
- .align 2, 0
-_0801EFE0: .4byte gUnknown_203B270
-_0801EFE4:
- ldr r5, _0801F014
- ldr r0, [r5]
- movs r1, 0x34
- ldrsh r6, [r0, r1]
- adds r4, r0, 0
- adds r4, 0x1C
- ldr r0, [r0, 0x10]
- adds r1, r6, 0
- bl sub_8092EEC
-_0801EFF8:
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_8013780
- ldr r0, [r5]
- movs r2, 0x34
- ldrsh r0, [r0, r2]
- cmp r6, r0
- bne _0801F00C
- b _0801F12E
-_0801F00C:
- movs r0, 0x3
- bl sub_80119D4
- b _0801F12E
- .align 2, 0
-_0801F014: .4byte gUnknown_203B270
-_0801F018:
- ldr r0, _0801F048
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- adds r5, r0, 0
- cmp r1, 0
- bne _0801F026
- b _0801F12E
-_0801F026:
- movs r0, 0x34
- ldrsh r4, [r2, r0]
- ldr r0, [r2, 0x10]
- adds r1, r4, 0
- bl sub_809309C
-_0801F032:
- ldr r1, [r5]
- strh r0, [r1, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r4, r0
- beq _0801F06C
- movs r0, 0x3
- bl sub_80119D4
- b _0801F182
- .align 2, 0
-_0801F048: .4byte gUnknown_203B270
-_0801F04C:
- ldr r0, _0801F068
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- adds r5, r0, 0
- cmp r1, 0
- beq _0801F12E
- movs r1, 0x34
- ldrsh r4, [r2, r1]
- ldr r0, [r2, 0x10]
- adds r1, r4, 0
- bl sub_809324C
- b _0801F032
- .align 2, 0
-_0801F068: .4byte gUnknown_203B270
-_0801F06C:
- movs r0, 0x2
- bl sub_80119D4
- b _0801F182
-_0801F074:
- ldr r0, _0801F0C8
- ldr r2, [r0]
- ldrb r1, [r2, 0x6]
- adds r5, r0, 0
- cmp r1, 0
- beq _0801F12E
- ldr r0, _0801F0CC
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x95
- ble _0801F0D0
- movs r1, 0x34
- ldrsh r0, [r2, r1]
- ldr r1, [r2, 0x10]
- bl sub_8093318
- lsls r0, 24
- cmp r0, 0
- beq _0801F0D0
- ldr r1, [r5]
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- ldr r1, [r1, 0x10]
- bl sub_8093400
- movs r0, 0x6
- bl sub_80119D4
- movs r7, 0x1
- ldr r1, [r5]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _0801F12E
- strb r7, [r1, 0x4]
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8011988
- b _0801F12E
- .align 2, 0
-_0801F0C8: .4byte gUnknown_203B270
-_0801F0CC: .4byte gUnknown_203B460
-_0801F0D0:
- ldr r0, _0801F0E0
- ldr r1, [r0]
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- ldr r1, [r1, 0x10]
- bl sub_8093468
- b _0801F0FE
- .align 2, 0
-_0801F0E0: .4byte gUnknown_203B270
-_0801F0E4:
- ldr r0, _0801F10C
- ldr r1, [r0]
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _0801F12E
- ldrb r0, [r1, 0xC]
- cmp r0, 0
- beq _0801F110
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- ldr r1, [r1, 0x10]
- bl sub_80934DC
-_0801F0FE:
- lsls r0, 24
- cmp r0, 0
- bne _0801F120
- movs r0, 0x2
- bl sub_80119D4
- b _0801F12E
- .align 2, 0
-_0801F10C: .4byte gUnknown_203B270
-_0801F110:
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- ldr r1, [r1, 0x10]
- bl sub_8093544
- lsls r0, 24
- cmp r0, 0
- beq _0801F128
-_0801F120:
- movs r0, 0x6
- bl sub_80119D4
- b _0801F182
-_0801F128:
- movs r0, 0x2
- bl sub_80119D4
-_0801F12E:
- cmp r7, 0
- bne _0801F182
- movs r3, 0
- ldr r5, _0801F160
- movs r4, 0x1
-_0801F138:
- ldr r2, [r5]
- lsls r0, r3, 3
- ldr r1, [r2, 0x10]
- adds r1, r0
- ldrb r1, [r1]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0801F16C
- movs r0, 0x2
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0801F164
- adds r0, r2, 0
- adds r0, 0x14
- adds r0, r3
- strb r4, [r0]
- b _0801F16C
- .align 2, 0
-_0801F160: .4byte gUnknown_203B270
-_0801F164:
- adds r0, r2, 0
- adds r0, 0x14
- adds r0, r3
- strb r1, [r0]
-_0801F16C:
- adds r3, 0x1
- cmp r3, 0x7
- ble _0801F138
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x1C
- adds r1, 0x14
- bl AddMenuCursorSprite_
- cmp r7, 0
- beq _0801F18C
-_0801F182:
- movs r0, 0x1
- bl sub_801F280
- movs r0, 0x1
- b _0801F18E
-_0801F18C:
- movs r0, 0
-_0801F18E:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_801EF38
-
- thumb_func_start sub_801F194
-sub_801F194:
- ldr r0, _0801F1A0
- ldr r0, [r0]
- movs r1, 0x34
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0801F1A0: .4byte gUnknown_203B270
- thumb_func_end sub_801F194
-
- thumb_func_start sub_801F1A4
-sub_801F1A4:
- ldr r0, _0801F1AC
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- bx lr
- .align 2, 0
-_0801F1AC: .4byte gUnknown_203B270
- thumb_func_end sub_801F1A4
-
- thumb_func_start sub_801F1B0
-sub_801F1B0:
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r4, _0801F210
- ldr r2, [r4]
- ldrb r0, [r2, 0x4]
- cmp r0, 0
- bne _0801F1C6
- strb r1, [r2, 0x4]
-_0801F1C6:
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x58
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_801F3F8
- adds r1, r0, 0
- ldr r0, [r4]
- strh r1, [r0, 0x3E]
- adds r0, 0x1C
- bl sub_8013984
- ldr r1, [r4]
- ldr r0, [r1, 0x10]
- movs r2, 0x34
- ldrsh r1, [r1, r2]
- bl sub_8092F4C
- ldr r1, [r4]
- strh r0, [r1, 0x34]
- movs r0, 0x1
- bl sub_801F280
- cmp r5, 0
- beq _0801F208
- ldr r0, [r4]
- adds r0, 0x1C
- bl AddMenuCursorSprite
-_0801F208:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F210: .4byte gUnknown_203B270
- thumb_func_end sub_801F1B0
-
- thumb_func_start sub_801F214
-sub_801F214:
- push {r4-r6,lr}
- ldr r4, _0801F278
- ldr r2, [r4]
- cmp r2, 0
- beq _0801F272
- ldr r0, [r2, 0x50]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- ldr r3, _0801F27C
- adds r1, 0x58
- adds r0, r3, 0
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0xB8
- ldr r0, [r0]
- cmp r0, 0
- beq _0801F258
- ldr r0, [r2, 0x54]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x58
- adds r0, r3, 0
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
-_0801F258:
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x58
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801F272:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F278: .4byte gUnknown_203B270
-_0801F27C: .4byte gUnknown_80DC240
- thumb_func_end sub_801F214
-
- thumb_func_start sub_801F280
-sub_801F280:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r4, _0801F30C
- ldr r0, [r4]
- ldr r0, [r0, 0x50]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x50]
- bl sub_80073B8
- ldr r0, [r4]
- ldr r1, [r0, 0x8]
- adds r1, 0x4C
- add r0, sp, 0x4
- movs r2, 0xA
- bl sub_80922B4
- ldr r0, _0801F310
- add r1, sp, 0x4
- bl strcpy
- ldr r2, _0801F314
- ldr r0, [r4]
- ldr r3, [r0, 0x50]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- movs r1, 0
- bl sub_8014FF0
- movs r7, 0
- ldr r0, [r4]
- movs r1, 0x36
- ldrsh r0, [r0, r1]
- cmp r7, r0
- bge _0801F394
- add r5, sp, 0x18
- mov r8, r4
- movs r0, 0x1
- mov r9, r0
-_0801F2E0:
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0xC
- bl memset
- movs r0, 0x6A
- str r0, [r5, 0x4]
- mov r1, r8
- ldr r2, [r1]
- lsls r1, r7, 3
- ldr r0, [r2, 0x10]
- adds r4, r0, r1
- ldrb r1, [r4]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _0801F386
- ldrb r0, [r2, 0xC]
- cmp r0, 0
- beq _0801F318
- movs r0, 0x2
- b _0801F31A
- .align 2, 0
-_0801F30C: .4byte gUnknown_203B270
-_0801F310: .4byte gUnknown_202DF98
-_0801F314: .4byte gUnknown_80DC28C
-_0801F318:
- movs r0, 0x4
-_0801F31A:
- str r0, [sp, 0x18]
- mov r1, r8
- ldr r0, [r1]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _0801F328
- mov r0, r9
-_0801F328:
- strb r0, [r5, 0x9]
- cmp r7, 0x3
- ble _0801F332
- mov r1, r9
- strb r1, [r5, 0x8]
-_0801F332:
- ldr r0, _0801F3EC
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80928A0
- ldr r2, _0801F3F0
- ldr r0, [r2]
- adds r0, 0x1C
- adds r1, r7, 0
- str r2, [sp, 0x24]
- bl sub_8013800
- adds r6, r0, 0
- ldrb r1, [r4]
- movs r0, 0x2
- ands r0, r1
- movs r4, 0xD
- ldr r2, [sp, 0x24]
- cmp r0, 0
- bne _0801F372
- movs r4, 0x8
- cmp r7, 0
- beq _0801F372
- ldr r0, [r2]
- ldr r0, [r0, 0x50]
- subs r2, r6, 0x2
- movs r1, 0x7
- str r1, [sp]
- movs r1, 0xC
- movs r3, 0x78
- bl sub_800792C
-_0801F372:
- mov r1, r8
- ldr r0, [r1]
- ldr r3, [r0, 0x50]
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r6, 0
- ldr r2, _0801F3F4
- bl sub_8014FF0
-_0801F386:
- adds r7, 0x1
- mov r1, r8
- ldr r0, [r1]
- movs r1, 0x36
- ldrsh r0, [r0, r1]
- cmp r7, r0
- blt _0801F2E0
-_0801F394:
- ldr r4, _0801F3F0
- ldr r0, [r4]
- ldr r0, [r0, 0x50]
- bl sub_80073E0
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xB8
- ldr r0, [r0]
- cmp r0, 0
- beq _0801F3DC
- mov r0, r10
- cmp r0, 0
- beq _0801F3DC
- ldr r0, [r1, 0x54]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x54]
- bl sub_80073B8
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xB8
- ldr r2, [r0]
- ldr r3, [r1, 0x54]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0
- bl sub_8014FF0
- ldr r0, [r4]
- ldr r0, [r0, 0x54]
- bl sub_80073E0
-_0801F3DC:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F3EC: .4byte gUnknown_202DE58
-_0801F3F0: .4byte gUnknown_203B270
-_0801F3F4: .4byte gUnknown_80DC2A0
- thumb_func_end sub_801F280
-
- thumb_func_start sub_801F3F8
-sub_801F3F8:
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, _0801F424
- ldr r0, [r0]
- movs r5, 0x1
- ldr r2, [r0, 0x10]
- movs r3, 0x7
-_0801F406:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0801F412
- adds r4, 0x1
-_0801F412:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _0801F406
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801F424: .4byte gUnknown_203B270
- thumb_func_end sub_801F3F8
-
- thumb_func_start sub_801F428
-sub_801F428:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r4, r0, 0
- mov r9, r1
- lsls r4, 16
- asrs r4, 16
- ldr r5, _0801F50C
- movs r0, 0xFA
- lsls r0, 2
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- ldr r3, _0801F510
- movs r1, 0x58
- adds r2, r4, 0
- muls r2, r1
- ldr r1, [r3]
- adds r1, r2
- str r1, [r0]
- adds r1, r0, 0
- adds r1, 0x8
- str r1, [r0, 0x4]
- movs r4, 0xDF
- lsls r4, 2
- adds r1, r0, r4
- mov r2, r9
- str r2, [r1]
- movs r6, 0xE0
- lsls r6, 2
- adds r2, r0, r6
- mov r3, r9
- lsls r1, r3, 1
- add r1, r9
- lsls r1, 3
- movs r3, 0xE1
- lsls r3, 2
- mov r8, r3
- add r1, r8
- adds r1, r0, r1
- str r1, [r2]
- add r0, r8
- bl sub_8006518
- ldr r1, [r5]
- adds r4, r1, r4
- ldr r2, [r4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- add r1, r8
- ldr r0, _0801F514
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r1, [r5]
- adds r6, r1, r6
- ldr r0, [r6]
- movs r4, 0xF9
- lsls r4, 2
- adds r1, r4
- str r1, [r0, 0x14]
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r5]
- ldr r1, _0801F518
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r5]
- ldr r3, _0801F51C
- adds r0, r3
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r5]
- adds r4, 0x3
- adds r0, r4
- strb r2, [r0]
- bl sub_8004914
- ldr r0, [r5]
- add r0, r8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- movs r0, 0xD2
- lsls r0, 2
- adds r4, r0
- bl sub_801F7E4
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x4
- mov r3, r9
- bl sub_8013818
- bl sub_801F690
- bl sub_801F700
- movs r0, 0x1
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801F50C: .4byte gUnknown_203B274
-_0801F510: .4byte gUnknown_203B45C
-_0801F514: .4byte gUnknown_80DC2C4
-_0801F518: .4byte 0x000003e5
-_0801F51C: .4byte 0x000003e6
- thumb_func_end sub_801F428
-
- thumb_func_start sub_801F520
-sub_801F520:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0801F540
- ldr r0, _0801F53C
- ldr r0, [r0]
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r1
- bl sub_8013660
- movs r0, 0
- b _0801F5AE
- .align 2, 0
-_0801F53C: .4byte gUnknown_203B274
-_0801F540:
- ldr r0, _0801F55C
- ldr r0, [r0]
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r1
- bl GetKeyPress
- cmp r0, 0x2
- beq _0801F566
- cmp r0, 0x2
- bgt _0801F560
- cmp r0, 0x1
- beq _0801F570
- b _0801F584
- .align 2, 0
-_0801F55C: .4byte gUnknown_203B274
-_0801F560:
- cmp r0, 0x4
- beq _0801F57A
- b _0801F584
-_0801F566:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0801F5AE
-_0801F570:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0801F5AE
-_0801F57A:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _0801F5AE
-_0801F584:
- ldr r0, _0801F5A0
- ldr r0, [r0]
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801F5A4
- movs r0, 0
- b _0801F5AE
- .align 2, 0
-_0801F5A0: .4byte gUnknown_203B274
-_0801F5A4:
- bl sub_801F690
- bl sub_801F700
- movs r0, 0x1
-_0801F5AE:
- pop {r1}
- bx r1
- thumb_func_end sub_801F520
-
- thumb_func_start sub_801F5B4
-sub_801F5B4:
- push {r4,lr}
- ldr r0, _0801F5E8
- ldr r1, [r0]
- ldr r2, [r1, 0x4]
- ldr r3, _0801F5EC
- adds r0, r1, r3
- movs r4, 0
- ldrsh r3, [r0, r4]
- movs r4, 0xD9
- lsls r4, 2
- adds r0, r1, r4
- movs r4, 0
- ldrsh r0, [r0, r4]
- muls r0, r3
- movs r3, 0xD8
- lsls r3, 2
- adds r1, r3
- movs r4, 0
- ldrsh r1, [r1, r4]
- adds r0, r1
- lsls r0, 1
- adds r2, r0
- ldrh r0, [r2]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0801F5E8: .4byte gUnknown_203B274
-_0801F5EC: .4byte 0x00000366
- thumb_func_end sub_801F5B4
-
- thumb_func_start sub_801F5F0
-sub_801F5F0:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0801F638
- ldr r0, [r5]
- movs r1, 0xE1
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- ldr r0, [r5]
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r1
- bl sub_8013984
- bl sub_801F690
- bl sub_801F700
- cmp r4, 0
- beq _0801F632
- ldr r0, [r5]
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r1
- bl AddMenuCursorSprite
-_0801F632:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F638: .4byte gUnknown_203B274
- thumb_func_end sub_801F5F0
-
- thumb_func_start sub_801F63C
-sub_801F63C:
- push {r4-r6,lr}
- ldr r5, _0801F688
- ldr r2, [r5]
- cmp r2, 0
- beq _0801F680
- movs r1, 0xDF
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- movs r4, 0xE1
- lsls r4, 2
- adds r1, r4
- ldr r0, _0801F68C
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- bl sub_8004914
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r5]
- bl MemoryFree
- movs r0, 0
- str r0, [r5]
-_0801F680:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F688: .4byte gUnknown_203B274
-_0801F68C: .4byte gUnknown_80DC2AC
- thumb_func_end sub_801F63C
-
- thumb_func_start sub_801F690
-sub_801F690:
- push {r4,r5,lr}
- ldr r5, _0801F6F4
- ldr r0, [r5]
- ldr r1, _0801F6F8
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r3, [r5]
- movs r1, 0xDF
- lsls r1, 2
- adds r4, r3, r1
- ldr r2, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, r3, r1
- ldr r2, _0801F6FC
- adds r1, r2
- asrs r2, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r3, r0
- adds r2, 0x2
- movs r0, 0xE5
- lsls r0, 2
- adds r3, r0
- strh r2, [r3]
- bl sub_8004914
- ldr r0, [r5]
- movs r1, 0xE1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F6F4: .4byte gUnknown_203B274
-_0801F6F8: .4byte 0x00000362
-_0801F6FC: .4byte 0x00000392
- thumb_func_end sub_801F690
-
- thumb_func_start sub_801F700
-sub_801F700:
- push {r4-r7,lr}
- sub sp, 0xB4
- ldr r6, _0801F7D4
- ldr r0, [r6]
- movs r4, 0xDF
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r6]
- adds r0, r4
- ldr r0, [r0]
- bl sub_80073B8
- add r5, sp, 0x34
- ldr r1, _0801F7D8
- ldr r0, [r6]
- ldr r3, _0801F7DC
- adds r2, r0, r3
- movs r7, 0
- ldrsh r2, [r2, r7]
- adds r2, 0x1
- adds r3, 0x2
- adds r0, r3
- movs r7, 0
- ldrsh r3, [r0, r7]
- adds r0, r5, 0
- bl sub_800D158
- ldr r0, [r6]
- adds r0, r4
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0
- adds r2, r5, 0
- bl xxx_call_draw_string
- movs r4, 0
- ldr r0, [r6]
- ldr r1, _0801F7E0
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r4, r0
- bge _0801F7BC
- adds r5, r6, 0
-_0801F762:
- ldr r1, [r5]
- ldr r2, [r1, 0x4]
- ldr r3, _0801F7DC
- adds r0, r1, r3
- movs r6, 0
- ldrsh r3, [r0, r6]
- movs r7, 0xD9
- lsls r7, 2
- adds r1, r7
- movs r6, 0
- ldrsh r0, [r1, r6]
- muls r0, r3
- adds r0, r4
- lsls r0, 1
- adds r2, r0
- ldrh r1, [r2]
- add r0, sp, 0x4
- bl sub_8092C84
- ldr r0, [r5]
- subs r7, 0x1C
- adds r0, r7
- adds r1, r4, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r5]
- movs r2, 0xDF
- lsls r2, 2
- adds r0, r2
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- add r2, sp, 0x4
- bl xxx_call_draw_string
- adds r4, 0x1
- ldr r0, [r5]
- ldr r3, _0801F7E0
- adds r0, r3
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r4, r0
- blt _0801F762
-_0801F7BC:
- ldr r0, _0801F7D4
- ldr r0, [r0]
- movs r7, 0xDF
- lsls r7, 2
- adds r0, r7
- ldr r0, [r0]
- bl sub_80073E0
- add sp, 0xB4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F7D4: .4byte gUnknown_203B274
-_0801F7D8: .4byte gUnknown_80DC2DC
-_0801F7DC: .4byte 0x00000366
-_0801F7E0: .4byte 0x00000362
- thumb_func_end sub_801F700
-
- thumb_func_start sub_801F7E4
-sub_801F7E4:
- push {r4,lr}
- ldr r4, _0801F804
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- ldr r1, [r1]
- bl sub_808E218
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- movs r1, 0xCF
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0801F804: .4byte gUnknown_203B274
- thumb_func_end sub_801F7E4
-
- thumb_func_start sub_801F808
-sub_801F808:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x1
- bl ResetSprites
- ldr r5, _0801F88C
- movs r0, 0xD4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- str r1, [r0, 0x5C]
- adds r1, r0, 0
- adds r1, 0x64
- str r1, [r0, 0x60]
- adds r0, r1, 0
- bl sub_80140B4
- bl sub_8004914
- ldr r0, [r5]
- adds r0, 0x64
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r5]
- str r4, [r0, 0x4]
- movs r2, 0x4
- ldrh r0, [r4, 0x6]
- cmp r0, 0
- bne _0801F862
- adds r3, r5, 0
-_0801F84C:
- subs r2, 0x1
- cmp r2, 0x1
- ble _0801F862
- ldr r0, [r3]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r1
- subs r0, 0x2
- ldrh r0, [r0]
- cmp r0, 0
- beq _0801F84C
-_0801F862:
- ldr r4, _0801F88C
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x28
- ldr r3, [r1, 0x5C]
- adds r1, r2, 0
- movs r2, 0x1
- bl sub_8013818
- ldr r0, [r4]
- adds r0, 0xC8
- bl sub_801317C
- movs r0, 0
- bl sub_801F918
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801F88C: .4byte gUnknown_203B278
- thumb_func_end sub_801F808
-
- thumb_func_start sub_801F890
-sub_801F890:
- push {lr}
- ldr r0, _0801F8A8
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0801F8BC
- cmp r0, 0x1
- bgt _0801F8AC
- cmp r0, 0
- beq _0801F8B6
- b _0801F8C6
- .align 2, 0
-_0801F8A8: .4byte gUnknown_203B278
-_0801F8AC:
- cmp r0, 0x2
- beq _0801F8C6
- cmp r0, 0x3
- beq _0801F8C2
- b _0801F8C6
-_0801F8B6:
- bl sub_801FA58
- b _0801F8CA
-_0801F8BC:
- bl sub_801FAD4
- b _0801F8CA
-_0801F8C2:
- movs r0, 0x3
- b _0801F8CC
-_0801F8C6:
- movs r0, 0x2
- b _0801F8CC
-_0801F8CA:
- movs r0, 0
-_0801F8CC:
- pop {r1}
- bx r1
- thumb_func_end sub_801F890
-
- thumb_func_start sub_801F8D0
-sub_801F8D0:
- push {r4,r5,lr}
- ldr r4, _0801F910
- ldr r2, [r4]
- cmp r2, 0
- beq _0801F90A
- ldr r0, [r2, 0x5C]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x64
- ldr r0, _0801F914
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x64
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801F90A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F910: .4byte gUnknown_203B278
-_0801F914: .4byte gUnknown_80DC2F8
- thumb_func_end sub_801F8D0
-
- thumb_func_start sub_801F918
-sub_801F918:
- push {lr}
- ldr r1, _0801F92C
- ldr r1, [r1]
- str r0, [r1]
- bl sub_801F930
- bl sub_801F9A4
- pop {r0}
- bx r0
- .align 2, 0
-_0801F92C: .4byte gUnknown_203B278
- thumb_func_end sub_801F918
-
- thumb_func_start sub_801F930
-sub_801F930:
- push {r4,lr}
- ldr r4, _0801F94C
- ldr r0, [r4]
- adds r0, 0x64
- bl sub_80140B4
- ldr r2, [r4]
- ldr r3, [r2]
- cmp r3, 0
- beq _0801F950
- cmp r3, 0x1
- beq _0801F98C
- b _0801F99C
- .align 2, 0
-_0801F94C: .4byte gUnknown_203B278
-_0801F950:
- ldr r0, [r2, 0x60]
- adds r1, r2, 0
- adds r1, 0xC4
- str r1, [r0, 0x14]
- adds r0, r2, 0
- adds r0, 0x48
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x46
- ldrh r1, [r1]
- adds r0, 0xC5
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC6
- movs r1, 0x10
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC7
- strb r3, [r0]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x64
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- b _0801F99C
-_0801F98C:
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x64
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0801F99C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801F930
-
- thumb_func_start sub_801F9A4
-sub_801F9A4:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0801F9EC
- ldr r0, [r5]
- ldr r4, [r0]
- cmp r4, 0x1
- beq _0801F9F0
- cmp r4, 0x1
- bgt _0801FA48
- cmp r4, 0
- bne _0801FA48
- ldr r0, [r0, 0x5C]
- bl sub_8008C54
- ldr r3, [r5]
- adds r2, r3, 0
- adds r2, 0x46
- movs r1, 0
- ldrsh r0, [r2, r1]
- ldr r1, [r3, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3, 0x8]
- movs r1, 0
- ldrsh r0, [r2, r1]
- ldrh r1, [r3, 0x8]
- ldr r2, [r3, 0x5C]
- adds r3, 0x14
- bl sub_8093D9C
- ldr r1, [r5]
- str r0, [r1, 0x10]
- str r4, [r1, 0x24]
- b _0801FA48
- .align 2, 0
-_0801F9EC: .4byte gUnknown_203B278
-_0801F9F0:
- ldr r0, [r0, 0x5C]
- bl sub_8008C54
- ldr r0, [r5]
- ldr r0, [r0, 0x5C]
- bl sub_80073B8
- ldr r0, [r5]
- ldr r1, [r0, 0xC]
- lsls r1, 2
- adds r0, 0x14
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _0801FA50
- ldr r1, [r1]
- bl strcpy
- ldr r2, _0801FA54
- ldr r0, [r5]
- ldr r3, [r0, 0x5C]
- movs r4, 0
- str r4, [sp]
- movs r0, 0x10
- movs r1, 0
- bl sub_8014FF0
- ldr r3, [r5]
- ldr r1, [r3, 0xC]
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x14
- adds r0, r1
- ldr r0, [r0]
- ldr r2, [r0, 0x4]
- ldr r3, [r3, 0x5C]
- str r4, [sp]
- movs r0, 0x4
- movs r1, 0x10
- bl sub_8014FF0
- ldr r0, [r5]
- ldr r0, [r0, 0x5C]
- bl sub_80073E0
-_0801FA48:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801FA50: .4byte gUnknown_202DF98
-_0801FA54: .4byte gUnknown_80DC310
- thumb_func_end sub_801F9A4
-
- thumb_func_start sub_801FA58
-sub_801FA58:
- push {r4,lr}
- ldr r0, _0801FAA4
- ldr r2, [r0]
- ldr r1, [r2, 0x10]
- adds r4, r0, 0
- cmp r1, 0
- beq _0801FA7C
- ldr r0, [r2, 0x24]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801FA74
- bl sub_8013F84
-_0801FA74:
- ldr r1, [r4]
- ldr r0, [r1, 0x24]
- adds r0, 0x1
- str r0, [r1, 0x24]
-_0801FA7C:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC8
- ldr r1, [r1, 0x5C]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0801FAA8
- cmp r0, 0x2
- beq _0801FAC2
- ldr r0, [r4]
- adds r0, 0x28
- bl sub_8013938
- lsls r0, 24
- cmp r0, 0
- beq _0801FACE
- movs r0, 0
- b _0801FACA
- .align 2, 0
-_0801FAA4: .4byte gUnknown_203B278
-_0801FAA8:
- movs r0, 0
- bl sub_80119D4
- ldr r1, [r4]
- ldr r0, [r1, 0x10]
- cmp r0, 0
- beq _0801FABE
- movs r0, 0
- str r0, [r1, 0xC]
- movs r0, 0x1
- b _0801FACA
-_0801FABE:
- movs r0, 0x3
- b _0801FACA
-_0801FAC2:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
-_0801FACA:
- bl sub_801F918
-_0801FACE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801FA58
-
- thumb_func_start sub_801FAD4
-sub_801FAD4:
- push {r4,lr}
- ldr r0, _0801FB14
- ldr r3, [r0]
- ldr r1, [r3, 0x10]
- subs r1, 0x1
- ldr r2, [r3, 0xC]
- adds r4, r0, 0
- cmp r2, r1
- bge _0801FAFC
- ldr r0, [r3, 0x24]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801FAF4
- bl sub_8013F84
-_0801FAF4:
- ldr r1, [r4]
- ldr r0, [r1, 0x24]
- adds r0, 0x1
- str r0, [r1, 0x24]
-_0801FAFC:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC8
- ldr r1, [r1, 0x5C]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0801FB18
- cmp r0, 0x2
- beq _0801FB3C
- b _0801FB48
- .align 2, 0
-_0801FB14: .4byte gUnknown_203B278
-_0801FB18:
- movs r0, 0
- bl sub_80119D4
- ldr r0, [r4]
- ldr r1, [r0, 0xC]
- adds r1, 0x1
- str r1, [r0, 0xC]
- ldr r0, [r0, 0x10]
- cmp r1, r0
- bge _0801FB34
- movs r0, 0x1
- bl sub_801F918
- b _0801FB48
-_0801FB34:
- movs r0, 0
- bl sub_801F918
- b _0801FB48
-_0801FB3C:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- bl sub_801F918
-_0801FB48:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801FAD4
-
- thumb_func_start sub_801FB50
-sub_801FB50:
- push {r4-r7,lr}
- adds r4, r0, 0
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r6, _0801FBC0
- movs r0, 0xF0
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- movs r7, 0
- str r7, [r0, 0x70]
- str r7, [r0, 0x74]
- str r7, [r0, 0x78]
- str r4, [r0]
- strb r7, [r0, 0x15]
- ldr r0, _0801FBC4
- ldr r4, _0801FBC8
- adds r1, r4, 0
- bl sub_808D8E0
- ldr r5, _0801FBCC
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_808D8E0
- adds r0, r4, 0
- bl sub_808D994
- adds r1, r0, 0
- adds r0, r5, 0
- subs r0, 0x50
- bl strcpy
- subs r5, 0xF0
- bl sub_808D33C
- adds r1, r0, 0
- adds r0, r5, 0
- bl sub_808DA34
- ldr r2, [r6]
- ldr r0, [r2]
- cmp r0, 0x1
- bne _0801FBD0
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r2, r1
- str r7, [r0]
- b _0801FBDE
- .align 2, 0
-_0801FBC0: .4byte gUnknown_203B27C
-_0801FBC4: .4byte gUnknown_202E5D8
-_0801FBC8: .4byte 0x00000155
-_0801FBCC: .4byte gUnknown_202E1C8
-_0801FBD0:
- movs r3, 0xBE
- lsls r3, 1
- adds r1, r2, r3
- movs r4, 0xB6
- lsls r4, 1
- adds r0, r2, r4
- str r0, [r1]
-_0801FBDE:
- ldr r0, _0801FC34
- bl sub_808DDD0
- ldr r2, _0801FC38
- ldr r3, [r2]
- movs r4, 0xB6
- lsls r4, 1
- adds r1, r3, r4
- str r0, [r1]
- adds r4, 0x4
- adds r1, r3, r4
- ldr r0, [r0, 0x4]
- str r0, [r1]
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r3, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, _0801FC3C
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- adds r4, 0xA
- adds r0, r4
- strb r1, [r0]
- ldr r2, [r2]
- movs r0, 0xBA
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x2
- strh r0, [r1]
- subs r3, 0x3
- adds r1, r2, r3
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_801FDA8
- movs r0, 0x1
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801FC34: .4byte 0x00000155
-_0801FC38: .4byte gUnknown_203B27C
-_0801FC3C: .4byte 0x00000179
- thumb_func_end sub_801FB50
-
- thumb_func_start sub_801FC40
-sub_801FC40:
- push {lr}
- ldr r1, _0801FC5C
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r2, r1, 0
- cmp r0, 0x22
- bls _0801FC50
- b _0801FD70
-_0801FC50:
- lsls r0, 2
- ldr r1, _0801FC60
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801FC5C: .4byte gUnknown_203B27C
-_0801FC60: .4byte _0801FC64
- .align 2, 0
-_0801FC64:
- .4byte _0801FCF0
- .4byte _0801FCF0
- .4byte _0801FCF6
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FCFC
- .4byte _0801FD02
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD50
- .4byte _0801FD70
- .4byte _0801FD08
- .4byte _0801FD08
- .4byte _0801FD0E
- .4byte _0801FD14
- .4byte _0801FD1A
- .4byte _0801FD70
- .4byte _0801FD20
- .4byte _0801FD20
- .4byte _0801FD26
- .4byte _0801FD2C
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD32
- .4byte _0801FD38
- .4byte _0801FD38
- .4byte _0801FD3E
- .4byte _0801FD44
- .4byte _0801FD4A
-_0801FCF0:
- bl sub_8021154
- b _0801FD74
-_0801FCF6:
- bl sub_80209AC
- b _0801FD74
-_0801FCFC:
- bl sub_80209FC
- b _0801FD74
-_0801FD02:
- bl sub_8020A34
- b _0801FD74
-_0801FD08:
- bl sub_8020A80
- b _0801FD74
-_0801FD0E:
- bl sub_8020B38
- b _0801FD74
-_0801FD14:
- bl sub_8020C2C
- b _0801FD74
-_0801FD1A:
- bl sub_8020C48
- b _0801FD74
-_0801FD20:
- bl sub_8020C64
- b _0801FD74
-_0801FD26:
- bl sub_8020CC0
- b _0801FD74
-_0801FD2C:
- bl sub_8020D74
- b _0801FD74
-_0801FD32:
- bl sub_8020D90
- b _0801FD74
-_0801FD38:
- bl sub_8020DCC
- b _0801FD74
-_0801FD3E:
- bl sub_8020EB4
- b _0801FD74
-_0801FD44:
- bl sub_80210C8
- b _0801FD74
-_0801FD4A:
- bl sub_80210E4
- b _0801FD74
-_0801FD50:
- ldr r0, [r2]
- ldrb r0, [r0, 0x15]
- cmp r0, 0x1
- bne _0801FD68
- ldr r0, _0801FD6C
- ldr r1, [r0]
- movs r0, 0x98
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- subs r0, 0x96
- str r0, [r1]
-_0801FD68:
- movs r0, 0x3
- b _0801FD76
- .align 2, 0
-_0801FD6C: .4byte gUnknown_203B460
-_0801FD70:
- bl sub_8021130
-_0801FD74:
- movs r0, 0
-_0801FD76:
- pop {r1}
- bx r1
- thumb_func_end sub_801FC40
-
- thumb_func_start sub_801FD7C
-sub_801FD7C:
- push {r4,lr}
- ldr r4, _0801FDA4
- ldr r0, [r4]
- cmp r0, 0
- beq _0801FD9C
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801FD9C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801FDA4: .4byte gUnknown_203B27C
- thumb_func_end sub_801FD7C
-
- thumb_func_start sub_801FDA8
-sub_801FDA8:
- push {lr}
- ldr r1, _0801FDBC
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_801FDC0
- bl sub_801FF28
- pop {r0}
- bx r0
- .align 2, 0
-_0801FDBC: .4byte gUnknown_203B27C
- thumb_func_end sub_801FDA8
-
- thumb_func_start sub_801FDC0
-sub_801FDC0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0801FDE8
- ldr r0, [r4]
- movs r5, 0xC0
- lsls r5, 1
- adds r0, r5
- bl sub_8006518
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- cmp r1, 0x11
- beq _0801FE38
- cmp r1, 0x11
- bgt _0801FDEC
- cmp r1, 0x2
- beq _0801FDF6
- b _0801FED4
- .align 2, 0
-_0801FDE8: .4byte gUnknown_203B27C
-_0801FDEC:
- cmp r1, 0x17
- beq _0801FE6C
- cmp r1, 0x20
- beq _0801FE88
- b _0801FED4
-_0801FDF6:
- adds r0, r5
- movs r1, 0x80
- strb r1, [r0]
- ldr r0, [r4]
- movs r2, 0xCC
- lsls r2, 1
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- movs r3, 0xD8
- lsls r3, 1
- adds r0, r3
- strb r1, [r0]
- ldr r1, [r4]
- movs r6, 0xE4
- lsls r6, 1
- adds r1, r6
- ldr r0, _0801FE34
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0x1
- movs r2, 0
- bl sub_800641C
- b _0801FF14
- .align 2, 0
-_0801FE34: .4byte gUnknown_80DC37C
-_0801FE38:
- bl sub_80205D0
- ldr r2, [r4]
- movs r0, 0xD8
- lsls r0, 1
- adds r2, r0
- ldr r1, _0801FE68
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0x7C
- bl sub_8012CAC
- bl sub_8004914
- ldr r0, [r4]
- movs r6, 0xC0
- lsls r6, 1
- adds r0, r6
- b _0801FEC2
- .align 2, 0
-_0801FE68: .4byte gUnknown_80DC334
-_0801FE6C:
- bl sub_802069C
- ldr r2, [r4]
- movs r0, 0xD8
- lsls r0, 1
- adds r2, r0
- ldr r1, _0801FE84
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- b _0801FEB0
- .align 2, 0
-_0801FE84: .4byte gUnknown_80DC334
-_0801FE88:
- bl sub_802074C
- ldr r1, [r4]
- movs r7, 0xCC
- lsls r7, 1
- adds r1, r7
- ldr r0, _0801FECC
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldr r2, [r4]
- movs r0, 0xD8
- lsls r0, 1
- adds r2, r0
- ldr r1, _0801FED0
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
-_0801FEB0:
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0x7C
- bl sub_8012CAC
- bl sub_8004914
- ldr r0, [r4]
- adds r0, r5
-_0801FEC2:
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- b _0801FF14
- .align 2, 0
-_0801FECC: .4byte gUnknown_80DC31C
-_0801FED0: .4byte gUnknown_80DC34C
-_0801FED4:
- ldr r5, _0801FF20
- mov r12, r5
- movs r6, 0xC0
- lsls r6, 1
- mov r8, r6
- ldr r4, _0801FF24
- movs r3, 0
- movs r2, 0x3
-_0801FEE4:
- mov r7, r12
- ldr r1, [r7]
- adds r1, r3
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0801FEE4
- bl sub_8004914
- ldr r0, _0801FF20
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0801FF14:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801FF20: .4byte gUnknown_203B27C
-_0801FF24: .4byte gUnknown_80DC31C
- thumb_func_end sub_801FDC0
-
- thumb_func_start sub_801FF28
-sub_801FF28:
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _0801FF44
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r5, r1, 0
- cmp r0, 0x23
- bls _0801FF3A
- b _08020562
-_0801FF3A:
- lsls r0, 2
- ldr r1, _0801FF48
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801FF44: .4byte gUnknown_203B27C
-_0801FF48: .4byte _0801FF4C
- .align 2, 0
-_0801FF4C:
- .4byte _0801FFDC
- .4byte _08020018
- .4byte _08020064
- .4byte _0802006C
- .4byte _08020090
- .4byte _080200B4
- .4byte _080200D8
- .4byte _080200FC
- .4byte _08020144
- .4byte _0802018C
- .4byte _080201B0
- .4byte _080201D4
- .4byte _080201F8
- .4byte _08020562
- .4byte _0802021C
- .4byte _08020240
- .4byte _0802024E
- .4byte _08020256
- .4byte _08020274
- .4byte _08020282
- .4byte _0802028E
- .4byte _080202B0
- .4byte _080202BE
- .4byte _080202C6
- .4byte _080202E4
- .4byte _08020304
- .4byte _08020344
- .4byte _080203B0
- .4byte _080203D4
- .4byte _0802038C
- .4byte _080203F8
- .4byte _08020428
- .4byte _08020434
- .4byte _08020460
- .4byte _08020478
- .4byte _08020500
-_0801FFDC:
- ldr r0, [r5]
- movs r4, 0x2
- str r4, [r0, 0x6C]
- bl sub_8020574
- ldr r5, [r5]
- str r4, [r5, 0x8]
- ldr r2, _08020014
- ldr r1, [r5]
- movs r0, 0x64
- muls r0, r1
- adds r0, r2
- ldr r0, [r0]
- ldr r2, [r5, 0x6C]
- adds r3, r5, 0
- adds r3, 0x7C
- adds r1, r5, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r4, 0xBE
- lsls r4, 1
- adds r1, r5, r4
- b _0802004C
- .align 2, 0
-_08020014: .4byte gUnknown_80D8888
-_08020018:
- bl sub_8020574
- ldr r0, _0802005C
- ldr r4, [r0]
- movs r0, 0x2
- str r0, [r4, 0x8]
- ldr r1, _08020060
- ldr r2, [r4]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- ldr r2, [r4, 0x6C]
- adds r3, r4, 0
- adds r3, 0x7C
- adds r1, r4, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r5, 0xBE
- lsls r5, 1
- adds r1, r4, r5
-_0802004C:
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _08020562
- .align 2, 0
-_0802005C: .4byte gUnknown_203B27C
-_08020060: .4byte gUnknown_80D8888
-_08020064:
- movs r0, 0x3
- bl sub_8016C40
- b _08020562
-_0802006C:
- ldr r2, [r5]
- movs r0, 0x1F
- str r0, [r2, 0x8]
- ldr r1, _0802008C
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x8
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_0802008C: .4byte gUnknown_80D8888
-_08020090:
- ldr r2, [r5]
- movs r0, 0x1F
- str r0, [r2, 0x8]
- ldr r1, _080200B0
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0xC
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r2, r4
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080200B0: .4byte gUnknown_80D8888
-_080200B4:
- ldr r2, [r5]
- movs r0, 0x1F
- str r0, [r2, 0x8]
- ldr r1, _080200D4
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x10
- adds r0, r1
- ldr r0, [r0]
- movs r5, 0xBE
- lsls r5, 1
- adds r2, r5
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080200D4: .4byte gUnknown_80D8888
-_080200D8:
- ldr r2, [r5]
- movs r0, 0x1F
- str r0, [r2, 0x8]
- ldr r1, _080200F8
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x14
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080200F8: .4byte gUnknown_80D8888
-_080200FC:
- bl sub_8020900
- ldr r1, _0802013C
- ldr r0, _08020140
- ldr r4, [r0]
- ldr r2, [r4]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x18
- adds r0, r1
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x7C
- adds r1, r4, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r4, r2
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x10
- bl sub_8014248
- b _08020562
- .align 2, 0
-_0802013C: .4byte gUnknown_80D8888
-_08020140: .4byte gUnknown_203B27C
-_08020144:
- bl sub_8020950
- ldr r1, _08020184
- ldr r0, _08020188
- ldr r4, [r0]
- ldr r2, [r4]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x54
- adds r0, r1
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x7C
- adds r1, r4, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r5, 0xBE
- lsls r5, 1
- adds r1, r4, r5
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0xD
- bl sub_8014248
- b _08020562
- .align 2, 0
-_08020184: .4byte gUnknown_80D8888
-_08020188: .4byte gUnknown_203B27C
-_0802018C:
- ldr r2, [r5]
- movs r0, 0x1
- str r0, [r2, 0x8]
- ldr r1, _080201AC
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x58
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080201AC: .4byte gUnknown_80D8888
-_080201B0:
- ldr r2, [r5]
- movs r0, 0x1
- str r0, [r2, 0x8]
- ldr r1, _080201D0
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x5C
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r2, r4
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080201D0: .4byte gUnknown_80D8888
-_080201D4:
- ldr r2, [r5]
- movs r0, 0x1
- str r0, [r2, 0x8]
- ldr r1, _080201F4
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x60
- adds r0, r1
- ldr r0, [r0]
- movs r5, 0xBE
- lsls r5, 1
- adds r2, r5
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080201F4: .4byte gUnknown_80D8888
-_080201F8:
- ldr r2, [r5]
- movs r0, 0xD
- str r0, [r2, 0x8]
- ldr r1, _08020218
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x1C
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_08020218: .4byte gUnknown_80D8888
-_0802021C:
- ldr r2, [r5]
- movs r0, 0xF
- str r0, [r2, 0x8]
- ldr r1, _0802023C
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x20
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r2, r4
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_0802023C: .4byte gUnknown_80D8888
-_08020240:
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_8023868
- b _08020562
-_0802024E:
- movs r0, 0x1
- bl sub_8023B7C
- b _08020562
-_08020256:
- bl sub_8023DA4
- ldr r0, _08020270
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xCC
- adds r1, r2, 0
- adds r1, 0x7C
- adds r3, r2, 0
- adds r3, 0xBC
- ldr r2, [r2, 0x70]
- b _0802044C
- .align 2, 0
-_08020270: .4byte gUnknown_203B27C
-_08020274:
- ldr r0, [r5]
- movs r5, 0xC
- ldrsh r0, [r0, r5]
- movs r1, 0x2
- bl sub_8024458
- b _08020562
-_08020282:
- ldr r0, [r5]
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- bl sub_801BEEC
- b _08020562
-_0802028E:
- ldr r2, [r5]
- movs r0, 0x15
- str r0, [r2, 0x8]
- ldr r1, _080202AC
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x24
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r2, r4
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080202AC: .4byte gUnknown_80D8888
-_080202B0:
- ldr r0, [r5]
- movs r5, 0xC
- ldrsh r0, [r0, r5]
- movs r1, 0
- bl sub_801F428
- b _08020562
-_080202BE:
- movs r0, 0x1
- bl sub_801F5F0
- b _08020562
-_080202C6:
- bl sub_801F700
- ldr r0, _080202E0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xCC
- adds r1, r2, 0
- adds r1, 0x7C
- adds r3, r2, 0
- adds r3, 0xBC
- ldr r2, [r2, 0x74]
- b _0802044C
- .align 2, 0
-_080202E0: .4byte gUnknown_203B27C
-_080202E4:
- ldr r0, [r5]
- ldrh r1, [r0, 0x1C]
- adds r0, 0x64
- strh r1, [r0]
- movs r2, 0x1
- adds r4, r5, 0
- movs r3, 0
-_080202F2:
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r0, 0x64
- adds r0, r1
- strh r3, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _080202F2
- b _0802046E
-_08020304:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x10]
- adds r1, 0x2C
- bl sub_8094060
- ldr r1, [r5]
- movs r0, 0x10
- str r0, [r1, 0x8]
- ldr r0, _0802033C
- ldrh r1, [r1, 0x1E]
- bl sub_8092C84
- ldr r1, _08020340
- ldr r2, [r5]
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x28
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_0802033C: .4byte gUnknown_202DF98
-_08020340: .4byte gUnknown_80D8888
-_08020344:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x10]
- adds r1, 0x2C
- bl sub_8094060
- ldr r3, [r5]
- movs r0, 0x10
- str r0, [r3, 0x8]
- ldrb r0, [r3, 0x14]
- cmp r0, 0
- beq _08020370
- ldr r1, _0802036C
- ldr r2, [r3]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x38
- b _08020520
- .align 2, 0
-_0802036C: .4byte gUnknown_80D8888
-_08020370:
- ldr r1, _08020388
- ldr r2, [r3]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x34
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r1, r3, r4
- b _0802052A
- .align 2, 0
-_08020388: .4byte gUnknown_80D8888
-_0802038C:
- ldr r2, [r5]
- ldr r0, [r2]
- cmp r0, 0
- bne _080203A2
- movs r5, 0xC
- ldrsh r1, [r2, r5]
- adds r2, 0x24
- movs r0, 0
- bl sub_801E80C
- b _08020562
-_080203A2:
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- adds r2, 0x24
- movs r0, 0x1
- bl sub_801E80C
- b _08020562
-_080203B0:
- ldr r2, [r5]
- movs r0, 0x10
- str r0, [r2, 0x8]
- ldr r1, _080203D0
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x3C
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080203D0: .4byte gUnknown_80D8888
-_080203D4:
- ldr r2, [r5]
- movs r0, 0x10
- str r0, [r2, 0x8]
- ldr r1, _080203F4
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x40
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r2, r4
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080203F4: .4byte gUnknown_80D8888
-_080203F8:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x10]
- adds r1, 0x2C
- bl sub_809401C
- ldr r0, [r5]
- movs r5, 0xC
- ldrsh r1, [r0, r5]
- adds r2, r0, 0
- adds r2, 0x24
- ldrb r3, [r0, 0x15]
- ldr r0, _08020424
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r0, 0x1
- bl sub_801EE10
- b _08020562
- .align 2, 0
-_08020424: .4byte gUnknown_80DC394
-_08020428:
- ldr r0, [r5]
- ldrb r1, [r0, 0x15]
- movs r0, 0x1
- bl sub_801F1B0
- b _08020562
-_08020434:
- movs r0, 0
- bl sub_801F280
- ldr r0, _0802045C
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xCC
- adds r1, r2, 0
- adds r1, 0x7C
- adds r3, r2, 0
- adds r3, 0xBC
- ldr r2, [r2, 0x78]
-_0802044C:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _08020562
- .align 2, 0
-_0802045C: .4byte gUnknown_203B27C
-_08020460:
- ldr r2, [r5]
- ldr r0, [r2, 0x18]
- adds r1, r2, 0
- adds r1, 0x24
- adds r2, 0x64
- bl sub_8093560
-_0802046E:
- ldr r0, [r5]
- adds r0, 0x64
- bl sub_801F808
- b _08020562
-_08020478:
- bl sub_80208B0
- ldr r0, _080204B8
- ldr r4, _080204BC
- ldr r1, [r4]
- ldrh r1, [r1, 0x20]
- bl sub_8092C84
- ldr r4, [r4]
- ldrb r5, [r4, 0x14]
- cmp r5, 0
- beq _080204C4
- ldr r1, _080204C0
- ldr r2, [r4]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x48
- adds r0, r1
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x7C
- adds r1, r4, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r4, r2
- b _080204E8
- .align 2, 0
-_080204B8: .4byte gUnknown_202DFE8
-_080204BC: .4byte gUnknown_203B27C
-_080204C0: .4byte gUnknown_80D8888
-_080204C4:
- ldr r1, _080204FC
- ldr r2, [r4]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x44
- adds r0, r1
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x7C
- adds r1, r4, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r5, 0xBE
- lsls r5, 1
- adds r1, r4, r5
-_080204E8:
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x11
- bl sub_8014248
- b _08020562
- .align 2, 0
-_080204FC: .4byte gUnknown_80D8888
-_08020500:
- ldr r1, [r5]
- movs r0, 0x1F
- str r0, [r1, 0x8]
- ldr r0, _08020538
- ldrh r1, [r1, 0x20]
- bl sub_8092C84
- ldr r3, [r5]
- ldrb r0, [r3, 0x14]
- cmp r0, 0
- beq _08020544
- ldr r1, _0802053C
- ldr r2, [r3]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x50
-_08020520:
- adds r0, r1
- ldr r0, [r0]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r3, r2
-_0802052A:
- ldr r2, [r1]
-_0802052C:
- ldr r3, _08020540
- movs r1, 0
- bl sub_80141B4
- b _08020562
- .align 2, 0
-_08020538: .4byte gUnknown_202DFE8
-_0802053C: .4byte gUnknown_80D8888
-_08020540: .4byte 0x0000010d
-_08020544:
- ldr r1, _0802056C
- ldr r2, [r3]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r1, r3, r4
- ldr r2, [r1]
- ldr r3, _08020570
- movs r1, 0
- bl sub_80141B4
-_08020562:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802056C: .4byte gUnknown_80D8888
-_08020570: .4byte 0x0000010d
- thumb_func_end sub_801FF28
-
- thumb_func_start sub_8020574
-sub_8020574:
- push {r4,lr}
- ldr r4, _080205C0
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r4, [r4]
- movs r3, 0
- ldr r0, _080205C4
- str r0, [r4, 0x7C]
- adds r1, r4, 0
- adds r1, 0x80
- movs r0, 0x2
- str r0, [r1]
- movs r2, 0x1
- adds r1, 0x4
- ldr r0, _080205C8
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xB
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _080205CC
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r4, 0
- adds r0, 0x90
- str r2, [r0]
- adds r0, 0x4
- str r3, [r0]
- adds r0, 0x4
- str r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080205C0: .4byte gUnknown_203B27C
-_080205C4: .4byte gUnknown_80DC3C4
-_080205C8: .4byte gUnknown_80DC3CC
-_080205CC: .4byte gUnknown_80D4934
- thumb_func_end sub_8020574
-
- thumb_func_start sub_80205D0
-sub_80205D0:
- push {r4-r7,lr}
- ldr r4, _08020660
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r0, [r4]
- mov r12, r0
- movs r5, 0
- ldr r0, _08020664
- mov r1, r12
- str r0, [r1, 0x7C]
- mov r2, r12
- adds r2, 0x80
- movs r0, 0x4
- str r0, [r2]
- movs r3, 0x1
- adds r1, 0x84
- ldr r0, _08020668
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xB
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _0802066C
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xC
- str r0, [r1]
- movs r6, 0x3
- adds r1, 0x4
- ldr r0, _08020670
- str r0, [r1]
- mov r0, r12
- adds r0, 0x98
- str r6, [r0]
- movs r6, 0x4
- adds r0, 0x4
- str r5, [r0]
- adds r0, 0x4
- str r3, [r0]
- mov r3, r12
- adds r3, 0xBC
-_0802062A:
- ldrh r0, [r3]
- cmp r0, 0
- bne _0802063A
- ldr r1, [r2]
- mov r7, r12
- ldr r0, [r7, 0x70]
- cmp r1, r0
- beq _08020696
-_0802063A:
- adds r2, 0x8
- adds r3, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _0802062A
- movs r5, 0
- cmp r5, r6
- bge _08020696
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xBC
- ldrh r0, [r0]
- cmp r0, 0
- bne _08020674
- adds r0, r1, 0
- adds r0, 0x80
- ldr r0, [r0]
- str r0, [r1, 0x70]
- b _08020696
- .align 2, 0
-_08020660: .4byte gUnknown_203B27C
-_08020664: .4byte gUnknown_80DC3D8
-_08020668: .4byte gUnknown_80DC3E0
-_0802066C: .4byte gUnknown_80DC3E8
-_08020670: .4byte gUnknown_80DC3F4
-_08020674:
- adds r5, 0x1
- cmp r5, r6
- bge _08020696
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0xBC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08020674
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x80
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x70]
-_08020696:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80205D0
-
- thumb_func_start sub_802069C
-sub_802069C:
- push {r4-r7,lr}
- ldr r4, _08020718
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r0, [r4]
- mov r12, r0
- movs r5, 0
- ldr r0, _0802071C
- mov r1, r12
- str r0, [r1, 0x7C]
- mov r3, r12
- adds r3, 0x80
- movs r0, 0x3
- str r0, [r3]
- movs r2, 0x1
- adds r1, 0x84
- ldr r0, _08020720
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xB
- str r0, [r1]
- movs r6, 0x2
- mov r0, r12
- adds r0, 0x8C
- str r5, [r0]
- adds r0, 0x4
- str r2, [r0]
- mov r2, r12
- adds r2, 0xBC
-_080206E0:
- ldrh r0, [r2]
- cmp r0, 0
- bne _080206F0
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x74]
- cmp r1, r0
- beq _08020746
-_080206F0:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _080206E0
- movs r5, 0
- cmp r5, r6
- bge _08020746
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xBC
- ldrh r0, [r0]
- cmp r0, 0
- bne _08020724
- adds r0, r1, 0
- adds r0, 0x80
- ldr r0, [r0]
- str r0, [r1, 0x74]
- b _08020746
- .align 2, 0
-_08020718: .4byte gUnknown_203B27C
-_0802071C: .4byte gUnknown_80DC3F4
-_08020720: .4byte gUnknown_80D4970
-_08020724:
- adds r5, 0x1
- cmp r5, r6
- bge _08020746
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0xBC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08020724
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x80
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x74]
-_08020746:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802069C
-
- thumb_func_start sub_802074C
-sub_802074C:
- push {r4-r7,lr}
- movs r7, 0
- ldr r4, _08020780
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- ldrb r0, [r1, 0x16]
- cmp r0, 0
- beq _0802079C
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_80932E0
- lsls r0, 24
- cmp r0, 0
- beq _08020788
- ldr r0, [r4]
- ldr r1, _08020784
- str r1, [r0, 0x7C]
- adds r0, 0x80
- movs r1, 0x6
- b _08020792
- .align 2, 0
-_08020780: .4byte gUnknown_203B27C
-_08020784: .4byte gUnknown_80DC400
-_08020788:
- ldr r0, [r4]
- ldr r1, _08020798
- str r1, [r0, 0x7C]
- adds r0, 0x80
- movs r1, 0x5
-_08020792:
- str r1, [r0]
- mov r12, r4
- b _080207CA
- .align 2, 0
-_08020798: .4byte gUnknown_80DC40C
-_0802079C:
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_80932FC
- lsls r0, 24
- cmp r0, 0
- beq _080207B4
- ldr r1, [r4]
- ldr r0, _080207B0
- b _080207B8
- .align 2, 0
-_080207B0: .4byte gUnknown_80DC400
-_080207B4:
- ldr r1, [r4]
- ldr r0, _0802086C
-_080207B8:
- str r0, [r1, 0x7C]
- ldr r2, _08020870
- ldr r0, [r2]
- lsls r1, r7, 3
- adds r0, 0x80
- adds r0, r1
- movs r1, 0x7
- str r1, [r0]
- mov r12, r2
-_080207CA:
- adds r7, 0x1
- mov r0, r12
- ldr r4, [r0]
- lsls r1, r7, 3
- adds r3, r4, 0
- adds r3, 0x7C
- adds r2, r3, r1
- ldr r0, _08020874
- str r0, [r2]
- adds r6, r4, 0
- adds r6, 0x80
- adds r1, r6, r1
- movs r0, 0x8
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r2, r3, r1
- ldr r0, _08020878
- str r0, [r2]
- adds r1, r6, r1
- movs r0, 0x9
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r2, r3, r1
- ldr r0, _0802087C
- str r0, [r2]
- adds r1, r6, r1
- movs r0, 0xA
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r2, r3, r1
- ldr r0, _08020880
- ldr r0, [r0]
- str r0, [r2]
- adds r1, r6, r1
- movs r0, 0xB
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r1, r6, r1
- movs r0, 0x1
- str r0, [r1]
- movs r3, 0
- cmp r3, r7
- bge _0802084C
- adds r5, r4, 0
- adds r4, 0xBC
- adds r2, r6, 0
-_08020834:
- ldrh r0, [r4]
- cmp r0, 0
- bne _08020842
- ldr r1, [r2]
- ldr r0, [r5, 0x78]
- cmp r1, r0
- beq _080208A8
-_08020842:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r7
- blt _08020834
-_0802084C:
- movs r3, 0
- cmp r3, r7
- bge _080208A8
- mov r0, r12
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xBC
- ldrh r0, [r0]
- cmp r0, 0
- bne _08020884
- adds r0, r1, 0
- adds r0, 0x80
- ldr r0, [r0]
- str r0, [r1, 0x78]
- b _080208A8
- .align 2, 0
-_0802086C: .4byte gUnknown_80DC40C
-_08020870: .4byte gUnknown_203B27C
-_08020874: .4byte gUnknown_80DC410
-_08020878: .4byte gUnknown_80DC418
-_0802087C: .4byte gUnknown_80DC420
-_08020880: .4byte gUnknown_80D4970
-_08020884:
- adds r3, 0x1
- cmp r3, r7
- bge _080208A8
- mov r0, r12
- ldr r2, [r0]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0xBC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08020884
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x80
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x78]
-_080208A8:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802074C
-
- thumb_func_start sub_80208B0
-sub_80208B0:
- push {r4,lr}
- ldr r4, _080208F4
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r4, [r4]
- movs r3, 0
- ldr r0, _080208F8
- ldr r0, [r0]
- str r0, [r4, 0x7C]
- adds r1, r4, 0
- adds r1, 0x80
- movs r0, 0x10
- str r0, [r1]
- movs r2, 0x1
- adds r1, 0x4
- ldr r0, _080208FC
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x11
- str r0, [r1]
- adds r0, r4, 0
- adds r0, 0x8C
- str r3, [r0]
- adds r0, 0x4
- str r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080208F4: .4byte gUnknown_203B27C
-_080208F8: .4byte gUnknown_80D4920
-_080208FC: .4byte gUnknown_80D4928
- thumb_func_end sub_80208B0
-
- thumb_func_start sub_8020900
-sub_8020900:
- push {r4,lr}
- ldr r4, _08020944
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08020948
- ldr r0, [r0]
- str r0, [r3, 0x7C]
- adds r1, r3, 0
- adds r1, 0x80
- movs r0, 0x10
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _0802094C
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x11
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0x8C
- str r2, [r0]
- adds r1, 0x8
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08020944: .4byte gUnknown_203B27C
-_08020948: .4byte gUnknown_80D4920
-_0802094C: .4byte gUnknown_80D4928
- thumb_func_end sub_8020900
-
- thumb_func_start sub_8020950
-sub_8020950:
- push {r4,lr}
- ldr r4, _0802099C
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r4, [r4]
- movs r3, 0
- ldr r0, _080209A0
- str r0, [r4, 0x7C]
- adds r1, r4, 0
- adds r1, 0x80
- movs r0, 0xD
- str r0, [r1]
- movs r2, 0x1
- adds r1, 0x4
- ldr r0, _080209A4
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xE
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _080209A8
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xF
- str r0, [r1]
- adds r0, r4, 0
- adds r0, 0x94
- str r3, [r0]
- adds r0, 0x4
- str r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802099C: .4byte gUnknown_203B27C
-_080209A0: .4byte gUnknown_80DC428
-_080209A4: .4byte gUnknown_80DC438
-_080209A8: .4byte gUnknown_80DC448
- thumb_func_end sub_8020950
-
- thumb_func_start sub_80209AC
-sub_80209AC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080209F4
- ldr r0, _080209D4
- ldr r1, [r0]
- ldr r0, [sp]
- str r0, [r1, 0x6C]
- ldr r0, [sp]
- cmp r0, 0x2
- beq _080209DE
- cmp r0, 0x2
- bgt _080209D8
- cmp r0, 0x1
- beq _080209EE
- b _080209F4
- .align 2, 0
-_080209D4: .4byte gUnknown_203B27C
-_080209D8:
- cmp r0, 0xB
- beq _080209E6
- b _080209F4
-_080209DE:
- movs r0, 0xE
- bl sub_801FDA8
- b _080209F4
-_080209E6:
- movs r0, 0x8
- bl sub_801FDA8
- b _080209F4
-_080209EE:
- movs r0, 0xC
- bl sub_801FDA8
-_080209F4:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80209AC
-
- thumb_func_start sub_80209FC
-sub_80209FC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08020A2E
- ldr r0, [sp]
- cmp r0, 0x10
- beq _08020A20
- cmp r0, 0x10
- bgt _08020A1A
- cmp r0, 0x1
- beq _08020A28
- b _08020A2E
-_08020A1A:
- cmp r0, 0x11
- beq _08020A28
- b _08020A2E
-_08020A20:
- movs r0, 0xE
- bl sub_801FDA8
- b _08020A2E
-_08020A28:
- movs r0, 0xC
- bl sub_801FDA8
-_08020A2E:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80209FC
-
- thumb_func_start sub_8020A34
-sub_8020A34:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08020A7A
- ldr r0, [sp]
- cmp r0, 0xD
- beq _08020A5C
- cmp r0, 0xD
- bgt _08020A52
- cmp r0, 0x1
- beq _08020A74
- b _08020A7A
-_08020A52:
- cmp r0, 0xE
- beq _08020A64
- cmp r0, 0xF
- beq _08020A6C
- b _08020A7A
-_08020A5C:
- movs r0, 0x9
- bl sub_801FDA8
- b _08020A7A
-_08020A64:
- movs r0, 0xA
- bl sub_801FDA8
- b _08020A7A
-_08020A6C:
- movs r0, 0xB
- bl sub_801FDA8
- b _08020A7A
-_08020A74:
- movs r0, 0x1
- bl sub_801FDA8
-_08020A7A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8020A34
-
- thumb_func_start sub_8020A80
-sub_8020A80:
- push {r4,lr}
- movs r0, 0x1
- bl sub_8023A94
- cmp r0, 0x4
- bhi _08020B32
- lsls r0, 2
- ldr r1, _08020A98
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08020A98: .4byte _08020A9C
- .align 2, 0
-_08020A9C:
- .4byte _08020B32
- .4byte _08020B32
- .4byte _08020B28
- .4byte _08020AB0
- .4byte _08020AEC
-_08020AB0:
- bl sub_8023B44
- ldr r4, _08020AE0
- ldr r1, [r4]
- strh r0, [r1, 0xC]
- ldr r3, _08020AE4
- movs r0, 0xC
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x10]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x16]
- ldr r0, _08020AE8
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- bl sub_808DA34
- movs r0, 0x11
- bl sub_801FDA8
- b _08020B32
- .align 2, 0
-_08020AE0: .4byte gUnknown_203B27C
-_08020AE4: .4byte gUnknown_203B45C
-_08020AE8: .4byte gUnknown_202E128
-_08020AEC:
- bl sub_8023B44
- ldr r4, _08020B1C
- ldr r1, [r4]
- strh r0, [r1, 0xC]
- ldr r3, _08020B20
- movs r0, 0xC
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x10]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x16]
- ldr r0, _08020B24
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- bl sub_808DA34
- movs r0, 0x12
- bl sub_801FDA8
- b _08020B32
- .align 2, 0
-_08020B1C: .4byte gUnknown_203B27C
-_08020B20: .4byte gUnknown_203B45C
-_08020B24: .4byte gUnknown_202E128
-_08020B28:
- bl sub_8023C60
- movs r0, 0x7
- bl sub_801FDA8
-_08020B32:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8020A80
-
- thumb_func_start sub_8020B38
-sub_8020B38:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8023A94
- ldr r4, _08020B7C
- ldr r0, [r4]
- adds r0, 0xCC
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08020B68
- ldr r0, [r4]
- adds r0, 0xCC
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08020B68
- ldr r0, [r4]
- str r1, [r0, 0x70]
-_08020B68:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0x10
- bhi _08020C24
- lsls r0, 2
- ldr r1, _08020B80
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08020B7C: .4byte gUnknown_203B27C
-_08020B80: .4byte _08020B84
- .align 2, 0
-_08020B84:
- .4byte _08020BC8
- .4byte _08020C24
- .4byte _08020BD0
- .4byte _08020C0E
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C16
- .4byte _08020C1E
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020BC8
-_08020BC8:
- movs r0, 0x10
- bl sub_801FDA8
- b _08020C24
-_08020BD0:
- ldr r0, _08020BF0
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl sub_808E858
- lsls r0, 16
- movs r1, 0xCF
- lsls r1, 17
- cmp r0, r1
- bne _08020BF4
- movs r0, 0x1C
- bl sub_801FDA8
- b _08020C24
- .align 2, 0
-_08020BF0: .4byte gUnknown_203B27C
-_08020BF4:
- bl sub_8021178
- lsls r0, 24
- cmp r0, 0
- beq _08020C06
- movs r0, 0x1B
- bl sub_801FDA8
- b _08020C24
-_08020C06:
- movs r0, 0x14
- bl sub_801FDA8
- b _08020C24
-_08020C0E:
- movs r0, 0x1E
- bl sub_801FDA8
- b _08020C24
-_08020C16:
- movs r0, 0x12
- bl sub_801FDA8
- b _08020C24
-_08020C1E:
- movs r0, 0x13
- bl sub_801FDA8
-_08020C24:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8020B38
-
- thumb_func_start sub_8020C2C
-sub_8020C2C:
- push {lr}
- bl sub_80244E4
- cmp r0, 0x1
- bls _08020C44
- cmp r0, 0x3
- bhi _08020C44
- bl sub_802453C
- movs r0, 0x10
- bl sub_801FDA8
-_08020C44:
- pop {r0}
- bx r0
- thumb_func_end sub_8020C2C
-
- thumb_func_start sub_8020C48
-sub_8020C48:
- push {lr}
- bl sub_801BF48
- cmp r0, 0x1
- bls _08020C60
- cmp r0, 0x3
- bhi _08020C60
- bl sub_801BF98
- movs r0, 0x10
- bl sub_801FDA8
-_08020C60:
- pop {r0}
- bx r0
- thumb_func_end sub_8020C48
-
- thumb_func_start sub_8020C64
-sub_8020C64:
- push {lr}
- movs r0, 0x1
- bl sub_801F520
- cmp r0, 0x3
- beq _08020C80
- cmp r0, 0x3
- bhi _08020C7A
- cmp r0, 0x2
- beq _08020CB0
- b _08020CBA
-_08020C7A:
- cmp r0, 0x4
- beq _08020C98
- b _08020CBA
-_08020C80:
- bl sub_801F5B4
- ldr r1, _08020C94
- ldr r1, [r1]
- strh r0, [r1, 0x1C]
- strh r0, [r1, 0x1E]
- movs r0, 0x17
- bl sub_801FDA8
- b _08020CBA
- .align 2, 0
-_08020C94: .4byte gUnknown_203B27C
-_08020C98:
- bl sub_801F5B4
- ldr r1, _08020CAC
- ldr r1, [r1]
- strh r0, [r1, 0x1C]
- strh r0, [r1, 0x1E]
- movs r0, 0x18
- bl sub_801FDA8
- b _08020CBA
- .align 2, 0
-_08020CAC: .4byte gUnknown_203B27C
-_08020CB0:
- bl sub_801F63C
- movs r0, 0x10
- bl sub_801FDA8
-_08020CBA:
- pop {r0}
- bx r0
- thumb_func_end sub_8020C64
-
- thumb_func_start sub_8020CC0
-sub_8020CC0:
- push {r4-r6,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801F520
- ldr r4, _08020D00
- ldr r0, [r4]
- adds r0, 0xCC
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08020CF0
- ldr r0, [r4]
- adds r0, 0xCC
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08020CF0
- ldr r0, [r4]
- str r1, [r0, 0x74]
-_08020CF0:
- ldr r0, [sp]
- cmp r0, 0x3
- beq _08020D14
- cmp r0, 0x3
- bgt _08020D04
- cmp r0, 0x1
- beq _08020D0C
- b _08020D6C
- .align 2, 0
-_08020D00: .4byte gUnknown_203B27C
-_08020D04:
- cmp r0, 0xB
- beq _08020D66
- cmp r0, 0x11
- bne _08020D6C
-_08020D0C:
- movs r0, 0x16
- bl sub_801FDA8
- b _08020D6C
-_08020D14:
- bl sub_801F63C
- ldr r4, _08020D30
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x10]
- adds r1, 0x2C
- bl sub_809401C
- movs r5, 0
- adds r6, r4, 0
- movs r4, 0x24
- b _08020D38
- .align 2, 0
-_08020D30: .4byte gUnknown_203B27C
-_08020D34:
- adds r4, 0x8
- adds r5, 0x1
-_08020D38:
- cmp r5, 0x7
- bgt _08020D52
- ldr r3, [r6]
- adds r2, r3, r4
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08020D34
- ldrh r1, [r3, 0x1E]
- adds r0, r2, 0
- bl sub_8092AD4
-_08020D52:
- cmp r5, 0x3
- ble _08020D5E
- movs r0, 0x1D
- bl sub_801FDA8
- b _08020D6C
-_08020D5E:
- movs r0, 0x19
- bl sub_801FDA8
- b _08020D6C
-_08020D66:
- movs r0, 0x18
- bl sub_801FDA8
-_08020D6C:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8020CC0
-
- thumb_func_start sub_8020D74
-sub_8020D74:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _08020D8C
- cmp r0, 0x3
- bhi _08020D8C
- bl sub_801F8D0
- movs r0, 0x16
- bl sub_801FDA8
-_08020D8C:
- pop {r0}
- bx r0
- thumb_func_end sub_8020D74
-
- thumb_func_start sub_8020D90
-sub_8020D90:
- push {lr}
- bl sub_801E8C0
- cmp r0, 0x2
- beq _08020DBC
- cmp r0, 0x2
- bcc _08020DC6
- cmp r0, 0x3
- bne _08020DC6
- bl sub_801E930
- ldr r1, _08020DB8
- ldr r1, [r1]
- strb r0, [r1, 0x14]
- bl sub_801E93C
- movs r0, 0x1A
- bl sub_801FDA8
- b _08020DC6
- .align 2, 0
-_08020DB8: .4byte gUnknown_203B27C
-_08020DBC:
- bl sub_801E93C
- movs r0, 0x10
- bl sub_801FDA8
-_08020DC6:
- pop {r0}
- bx r0
- thumb_func_end sub_8020D90
-
- thumb_func_start sub_8020DCC
-sub_8020DCC:
- push {lr}
- movs r0, 0x1
- bl sub_801EF38
- cmp r0, 0x4
- bhi _08020EAA
- lsls r0, 2
- ldr r1, _08020DE4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08020DE4: .4byte _08020DE8
- .align 2, 0
-_08020DE8:
- .4byte _08020EAA
- .4byte _08020E98
- .4byte _08020E64
- .4byte _08020DFC
- .4byte _08020E30
-_08020DFC:
- bl sub_801F1A4
- lsls r0, 24
- cmp r0, 0
- beq _08020E0E
- ldr r0, _08020E2C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x15]
-_08020E0E:
- bl sub_801F194
- ldr r1, _08020E2C
- ldr r2, [r1]
- str r0, [r2, 0x18]
- lsls r0, 3
- adds r0, r2, r0
- ldrh r1, [r0, 0x26]
- strh r1, [r2, 0x1C]
- ldrh r0, [r0, 0x26]
- strh r0, [r2, 0x20]
- movs r0, 0x20
- bl sub_801FDA8
- b _08020EAA
- .align 2, 0
-_08020E2C: .4byte gUnknown_203B27C
-_08020E30:
- bl sub_801F1A4
- lsls r0, 24
- cmp r0, 0
- beq _08020E42
- ldr r0, _08020E60
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x15]
-_08020E42:
- bl sub_801F194
- ldr r1, _08020E60
- ldr r2, [r1]
- str r0, [r2, 0x18]
- lsls r0, 3
- adds r0, r2, r0
- ldrh r1, [r0, 0x26]
- strh r1, [r2, 0x1C]
- ldrh r0, [r0, 0x26]
- strh r0, [r2, 0x20]
- movs r0, 0x21
- bl sub_801FDA8
- b _08020EAA
- .align 2, 0
-_08020E60: .4byte gUnknown_203B27C
-_08020E64:
- bl sub_801F1A4
- lsls r0, 24
- cmp r0, 0
- beq _08020E76
- ldr r0, _08020E94
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x15]
-_08020E76:
- bl sub_801F214
- ldr r0, _08020E94
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x10]
- adds r1, 0x2C
- bl sub_8094060
- movs r0, 0x10
- bl sub_801FDA8
- b _08020EAA
- .align 2, 0
-_08020E94: .4byte gUnknown_203B27C
-_08020E98:
- bl sub_801F1A4
- lsls r0, 24
- cmp r0, 0
- beq _08020EAA
- ldr r0, _08020EB0
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x15]
-_08020EAA:
- pop {r0}
- bx r0
- .align 2, 0
-_08020EB0: .4byte gUnknown_203B27C
- thumb_func_end sub_8020DCC
-
- thumb_func_start sub_8020EB4
-sub_8020EB4:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801EF38
- ldr r4, _08020EF8
- ldr r0, [r4]
- adds r0, 0xCC
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08020EE4
- ldr r0, [r4]
- adds r0, 0xCC
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08020EE4
- ldr r0, [r4]
- str r1, [r0, 0x78]
-_08020EE4:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0x10
- bls _08020EEE
- b _080210BE
-_08020EEE:
- lsls r0, 2
- ldr r1, _08020EFC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08020EF8: .4byte gUnknown_203B27C
-_08020EFC: .4byte _08020F00
- .align 2, 0
-_08020F00:
- .4byte _08021068
- .4byte _080210BE
- .4byte _080210BE
- .4byte _080210BE
- .4byte _08020F44
- .4byte _08020F70
- .4byte _08020F8C
- .4byte _08020FB8
- .4byte _08021034
- .4byte _08021074
- .4byte _080210B8
- .4byte _080210BE
- .4byte _080210BE
- .4byte _080210BE
- .4byte _080210BE
- .4byte _080210BE
- .4byte _08021068
-_08020F44:
- ldr r0, _08020F60
- ldr r1, [r0]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_80934DC
- lsls r0, 24
- cmp r0, 0
- beq _08020F68
- ldr r0, _08020F64
- bl sub_8011988
- b _08021068
- .align 2, 0
-_08020F60: .4byte gUnknown_203B27C
-_08020F64: .4byte 0x00000133
-_08020F68:
- movs r0, 0x2
- bl sub_80119D4
- b _08021068
-_08020F70:
- ldr r0, _08020F84
- bl sub_8011988
- ldr r0, _08020F88
- ldr r1, [r0]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_809352C
- b _08021068
- .align 2, 0
-_08020F84: .4byte 0x00000133
-_08020F88: .4byte gUnknown_203B27C
-_08020F8C:
- ldr r0, _08020FA8
- ldr r1, [r0]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_8093544
- lsls r0, 24
- cmp r0, 0
- beq _08020FB0
- ldr r0, _08020FAC
- bl sub_8011988
- b _08021068
- .align 2, 0
-_08020FA8: .4byte gUnknown_203B27C
-_08020FAC: .4byte 0x00000133
-_08020FB0:
- movs r0, 0x2
- bl sub_80119D4
- b _08021068
-_08020FB8:
- ldr r0, _08020FD8
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x95
- bgt _08020FDC
- movs r0, 0x2
- bl sub_80119D4
- movs r0, 0x3
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_08020FD8: .4byte gUnknown_203B460
-_08020FDC:
- ldr r4, _08020FFC
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_8093318
- lsls r0, 24
- cmp r0, 0
- bne _08021000
- movs r0, 0x2
- bl sub_80119D4
- movs r0, 0x4
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_08020FFC: .4byte gUnknown_203B27C
-_08021000:
- ldr r1, [r4]
- ldrb r0, [r1, 0x15]
- cmp r0, 0
- bne _08021016
- movs r0, 0x1
- strb r0, [r1, 0x15]
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8011988
- b _0802101C
-_08021016:
- ldr r0, _0802102C
- bl sub_8011988
-_0802101C:
- ldr r0, _08021030
- ldr r1, [r0]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_8093400
- b _08021068
- .align 2, 0
-_0802102C: .4byte 0x00000133
-_08021030: .4byte gUnknown_203B27C
-_08021034:
- ldr r4, _08021054
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_809333C
- lsls r0, 24
- cmp r0, 0
- bne _08021058
- movs r0, 0x2
- bl sub_80119D4
- movs r0, 0x5
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_08021054: .4byte gUnknown_203B27C
-_08021058:
- ldr r0, _08021070
- bl sub_8011988
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_8093468
-_08021068:
- movs r0, 0x1F
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_08021070: .4byte 0x00000133
-_08021074:
- ldr r4, _08021094
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_80933A0
- lsls r0, 24
- cmp r0, 0
- bne _08021098
- movs r0, 0x2
- bl sub_80119D4
- movs r0, 0x6
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_08021094: .4byte gUnknown_203B27C
-_08021098:
- ldr r0, _080210B4
- bl sub_8011988
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_80934B0
- ldr r1, [r4]
- strb r0, [r1, 0x14]
- movs r0, 0x22
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_080210B4: .4byte 0x00000133
-_080210B8:
- movs r0, 0x21
- bl sub_801FDA8
-_080210BE:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8020EB4
-
- thumb_func_start sub_80210C8
-sub_80210C8:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _080210E0
- cmp r0, 0x3
- bhi _080210E0
- bl sub_801F8D0
- movs r0, 0x1F
- bl sub_801FDA8
-_080210E0:
- pop {r0}
- bx r0
- thumb_func_end sub_80210C8
-
- thumb_func_start sub_80210E4
-sub_80210E4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802112A
- ldr r0, [sp]
- cmp r0, 0x10
- beq _08021108
- cmp r0, 0x10
- bgt _08021102
- cmp r0, 0x1
- beq _08021124
- b _0802112A
-_08021102:
- cmp r0, 0x11
- beq _08021124
- b _0802112A
-_08021108:
- ldr r0, _08021120
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x18]
- bl sub_8093CF8
- movs r0, 0x23
- bl sub_801FDA8
- b _0802112A
- .align 2, 0
-_08021120: .4byte gUnknown_203B27C
-_08021124:
- movs r0, 0x1F
- bl sub_801FDA8
-_0802112A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80210E4
-
- thumb_func_start sub_8021130
-sub_8021130:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08021148
- ldr r0, _08021150
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_801FDA8
-_08021148:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08021150: .4byte gUnknown_203B27C
- thumb_func_end sub_8021130
-
- thumb_func_start sub_8021154
-sub_8021154:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0x4
- bne _0802116C
- ldr r0, _08021174
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_801FDA8
-_0802116C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08021174: .4byte gUnknown_203B27C
- thumb_func_end sub_8021154
-
- thumb_func_start sub_8021178
-sub_8021178:
- push {lr}
- mov r12, r4
- ldr r4, _08021198
- add sp, r4
- mov r4, r12
- ldr r0, _0802119C
- ldr r0, [r0]
- ldr r1, [r0, 0x10]
- mov r0, sp
- bl sub_808E218
- cmp r0, 0
- beq _080211A0
- movs r0, 0
- b _080211A2
- .align 2, 0
-_08021198: .4byte 0xfffffcc0
-_0802119C: .4byte gUnknown_203B27C
-_080211A0:
- movs r0, 0x1
-_080211A2:
- movs r3, 0xD0
- lsls r3, 2
- add sp, r3
- pop {r1}
- bx r1
- thumb_func_end sub_8021178
-
- thumb_func_start sub_80211AC
-sub_80211AC:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- bl sub_8021700
- lsls r0, 24
- cmp r0, 0
- beq _080211C0
- movs r0, 0
- b _08021258
-_080211C0:
- ldr r5, _08021260
- movs r0, 0xE0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- str r4, [r0, 0x3C]
- str r6, [r0, 0x74]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- adds r1, 0x7C
- adds r1, r0, r1
- str r1, [r0, 0x78]
- adds r0, 0x7C
- bl sub_8006518
- ldr r1, [r5]
- ldr r2, [r1, 0x74]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x7C
- ldr r0, _08021264
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r5]
- ldr r1, [r0, 0x78]
- adds r0, 0xDC
- str r0, [r1, 0x14]
- bl sub_8004914
- ldr r0, [r5]
- adds r0, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- adds r4, 0x40
- bl sub_8021664
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_8013818
- ldr r0, _08021268
- ldr r2, [r5]
- ldr r1, [r0]
- ldr r0, [r2, 0x3C]
- cmp r1, r0
- bne _0802124E
- ldr r0, _0802126C
- ldrh r1, [r0]
- adds r0, r2, 0
- adds r0, 0x58
- strh r1, [r0]
- ldr r0, _08021270
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0x5E
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x40
- bl sub_8013984
-_0802124E:
- bl sub_8021410
- bl sub_8021494
- movs r0, 0x1
-_08021258:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08021260: .4byte gUnknown_203B280
-_08021264: .4byte gUnknown_80DC47C
-_08021268: .4byte gUnknown_203B284
-_0802126C: .4byte gUnknown_203B288
-_08021270: .4byte gUnknown_203B28A
- thumb_func_end sub_80211AC
-
- thumb_func_start sub_8021274
-sub_8021274:
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- bne _08021290
- ldr r0, _0802128C
- ldr r0, [r0]
- adds r0, 0x40
- bl sub_8013660
- movs r0, 0
- b _08021326
- .align 2, 0
-_0802128C: .4byte gUnknown_203B280
-_08021290:
- ldr r4, _080212A8
- ldr r0, [r4]
- adds r0, 0x40
- bl GetKeyPress
- cmp r0, 0x2
- beq _080212B2
- cmp r0, 0x2
- bgt _080212AC
- cmp r0, 0x1
- beq _080212BC
- b _08021300
- .align 2, 0
-_080212A8: .4byte gUnknown_203B280
-_080212AC:
- cmp r0, 0x4
- beq _080212F6
- b _08021300
-_080212B2:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _08021326
-_080212BC:
- ldr r0, [r4]
- ldr r0, [r0, 0x3C]
- cmp r0, 0x2
- bne _080212EC
- bl sub_802132C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092544
- ldr r1, _080212E8
- ldr r1, [r1]
- movs r2, 0x98
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- cmp r0, r1
- ble _080212EC
- movs r0, 0x2
- bl sub_80119D4
- b _080212F2
- .align 2, 0
-_080212E8: .4byte gUnknown_203B460
-_080212EC:
- movs r0, 0
- bl sub_80119D4
-_080212F2:
- movs r0, 0x3
- b _08021326
-_080212F6:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _08021326
-_08021300:
- ldr r0, _08021318
- ldr r0, [r0]
- adds r0, 0x40
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0802131C
- movs r0, 0
- b _08021326
- .align 2, 0
-_08021318: .4byte gUnknown_203B280
-_0802131C:
- bl sub_8021410
- bl sub_8021494
- movs r0, 0x1
-_08021326:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8021274
-
- thumb_func_start sub_802132C
-sub_802132C:
- ldr r0, _08021350
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x5E
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- adds r1, r2, 0
- adds r1, 0x58
- movs r3, 0
- ldrsh r1, [r1, r3]
- adds r0, r1
- adds r0, r2, r0
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08021350: .4byte gUnknown_203B280
- thumb_func_end sub_802132C
-
- thumb_func_start sub_8021354
-sub_8021354:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0802139C
- ldr r0, [r5]
- adds r0, 0x7C
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_8021664
- adds r1, r0, 0
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0x62
- strh r1, [r2]
- adds r0, 0x40
- bl sub_8013984
- bl sub_8021410
- bl sub_8021494
- cmp r4, 0
- beq _08021396
- ldr r0, [r5]
- adds r0, 0x40
- bl AddMenuCursorSprite
-_08021396:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802139C: .4byte gUnknown_203B280
- thumb_func_end sub_8021354
-
- thumb_func_start sub_80213A0
-sub_80213A0:
- push {r4,r5,lr}
- ldr r4, _080213FC
- ldr r2, [r4]
- cmp r2, 0
- beq _080213F4
- ldr r1, _08021400
- ldr r0, [r2, 0x3C]
- str r0, [r1]
- ldr r1, _08021404
- adds r0, r2, 0
- adds r0, 0x58
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, _08021408
- adds r0, r2, 0
- adds r0, 0x5E
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r0, [r2, 0x74]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x7C
- ldr r0, _0802140C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080213F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080213FC: .4byte gUnknown_203B280
-_08021400: .4byte gUnknown_203B284
-_08021404: .4byte gUnknown_203B288
-_08021408: .4byte gUnknown_203B28A
-_0802140C: .4byte gUnknown_80DC464
- thumb_func_end sub_80213A0
-
- thumb_func_start sub_8021410
-sub_8021410:
- push {r4,lr}
- ldr r4, _08021490
- ldr r0, [r4]
- adds r0, 0xDC
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xDD
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0xDE
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xDF
- strb r2, [r0]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, 0x5A
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x74]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x8A
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x74]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x8C
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08021490: .4byte gUnknown_203B280
- thumb_func_end sub_8021410
-
- thumb_func_start sub_8021494
-sub_8021494:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xA8
- ldr r4, _08021568
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- bl sub_80073B8
- ldr r2, _0802156C
- ldr r0, [r4]
- ldr r3, [r0, 0x74]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r3, [r4]
- adds r0, r3, 0
- adds r0, 0xDE
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- adds r1, r3, 0
- adds r1, 0x5E
- movs r5, 0
- ldrsh r2, [r1, r5]
- adds r2, 0x1
- movs r1, 0x7
- str r1, [sp]
- ldr r1, [r3, 0x74]
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x1
- bl sub_8012BC4
- movs r0, 0
- mov r9, r0
- ldr r0, [r4]
- adds r0, 0x5A
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r9, r0
- blt _080214FC
- b _08021646
-_080214FC:
- mov r8, r4
- add r2, sp, 0x58
- mov r10, r2
-_08021502:
- mov r3, r8
- ldr r2, [r3]
- adds r0, r2, 0
- adds r0, 0x5E
- movs r5, 0
- ldrsh r1, [r0, r5]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- add r0, r9
- adds r0, r2, r0
- ldrb r5, [r0]
- adds r7, r5, 0
- ldr r6, [r2, 0x3C]
- cmp r6, 0x2
- bne _0802159C
- add r0, sp, 0x8
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8092578
- adds r0, r5, 0
- bl sub_8092544
- ldr r1, _08021570
- ldr r1, [r1]
- movs r5, 0x98
- lsls r5, 2
- adds r1, r5
- ldr r1, [r1]
- cmp r0, r1
- bgt _08021574
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x40
- mov r1, r9
- bl sub_8013800
- adds r1, r0, 0
- mov r2, r8
- ldr r0, [r2]
- ldr r3, [r0, 0x74]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- add r2, sp, 0x8
- bl xxx_call_draw_string
- b _08021632
- .align 2, 0
-_08021568: .4byte gUnknown_203B280
-_0802156C: .4byte gUnknown_80DC494
-_08021570: .4byte gUnknown_203B460
-_08021574:
- mov r0, r10
- ldr r1, _08021598
- add r2, sp, 0x8
- bl sub_800D158
- mov r3, r8
- ldr r0, [r3]
- adds r0, 0x40
- mov r1, r9
- bl sub_8013800
- adds r1, r0, 0
- mov r5, r8
- ldr r0, [r5]
- ldr r3, [r0, 0x74]
- movs r0, 0
- str r0, [sp]
- b _080215FE
- .align 2, 0
-_08021598: .4byte gUnknown_80DC4A4
-_0802159C:
- cmp r6, 0
- bne _0802160C
- ldr r0, _080215D4
- ldr r0, [r0]
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080215D8
- adds r0, r2, 0
- adds r0, 0x40
- mov r1, r9
- bl sub_8013800
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_8092524
- adds r2, r0, 0
- mov r1, r8
- ldr r0, [r1]
- ldr r3, [r0, 0x74]
- str r6, [sp]
- movs r0, 0x8
- adds r1, r4, 0
- bl xxx_call_draw_string
- b _08021632
- .align 2, 0
-_080215D4: .4byte gUnknown_203B468
-_080215D8:
- adds r0, r5, 0
- bl sub_8092524
- adds r2, r0, 0
- mov r0, r10
- ldr r1, _08021608
- bl sub_800D158
- mov r2, r8
- ldr r0, [r2]
- adds r0, 0x40
- mov r1, r9
- bl sub_8013800
- adds r1, r0, 0
- mov r3, r8
- ldr r0, [r3]
- ldr r3, [r0, 0x74]
- str r6, [sp]
-_080215FE:
- movs r0, 0x8
- mov r2, r10
- bl xxx_call_draw_string
- b _08021632
- .align 2, 0
-_08021608: .4byte gUnknown_80DC4AC
-_0802160C:
- adds r0, r2, 0
- adds r0, 0x40
- mov r1, r9
- bl sub_8013800
- adds r4, r0, 0
- adds r0, r7, 0
- bl sub_8092524
- adds r2, r0, 0
- mov r5, r8
- ldr r0, [r5]
- ldr r3, [r0, 0x74]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- adds r1, r4, 0
- bl xxx_call_draw_string
-_08021632:
- movs r0, 0x1
- add r9, r0
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x5A
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r9, r0
- bge _08021646
- b _08021502
-_08021646:
- ldr r0, _08021660
- ldr r0, [r0]
- ldr r0, [r0, 0x74]
- bl sub_80073E0
- add sp, 0xA8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08021660: .4byte gUnknown_203B280
- thumb_func_end sub_8021494
-
- thumb_func_start sub_8021664
-sub_8021664:
- push {r4-r6,lr}
- movs r5, 0
- ldr r1, _0802167C
- ldr r0, [r1]
- ldr r0, [r0, 0x3C]
- cmp r0, 0x1
- beq _08021692
- cmp r0, 0x1
- bcc _08021680
- cmp r0, 0x2
- beq _080216B4
- b _080216F2
- .align 2, 0
-_0802167C: .4byte gUnknown_203B280
-_08021680:
- movs r4, 0x1
-_08021682:
- ldr r0, [r1]
- adds r0, r5
- strb r4, [r0]
- adds r5, 0x1
- adds r4, 0x1
- cmp r4, 0x39
- ble _08021682
- b _080216F2
-_08021692:
- movs r4, 0x1
- ldr r2, _080216B0
-_08021696:
- ldr r0, [r2]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080216A8
- ldr r0, [r1]
- adds r0, r5
- strb r4, [r0]
- adds r5, 0x1
-_080216A8:
- adds r4, 0x1
- cmp r4, 0x39
- ble _08021696
- b _080216F2
- .align 2, 0
-_080216B0: .4byte gUnknown_203B468
-_080216B4:
- movs r4, 0x1
- adds r6, r1, 0
-_080216B8:
- ldr r0, _080216FC
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080216EC
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8092534
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080216E4
- cmp r0, 0x1
- bne _080216EC
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080216EC
-_080216E4:
- ldr r0, [r6]
- adds r0, r5
- strb r4, [r0]
- adds r5, 0x1
-_080216EC:
- adds r4, 0x1
- cmp r4, 0x39
- ble _080216B8
-_080216F2:
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080216FC: .4byte gUnknown_203B468
- thumb_func_end sub_8021664
-
- thumb_func_start sub_8021700
-sub_8021700:
- push {r4,lr}
- cmp r0, 0x1
- beq _08021710
- cmp r0, 0x1
- bcc _08021754
- cmp r0, 0x2
- beq _0802172C
- b _0802176A
-_08021710:
- movs r4, 0x1
- ldr r0, _08021728
- ldr r1, [r0]
-_08021716:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08021754
- adds r4, 0x1
- cmp r4, 0x39
- ble _08021716
- b _0802176A
- .align 2, 0
-_08021728: .4byte gUnknown_203B468
-_0802172C:
- movs r4, 0x1
-_0802172E:
- ldr r0, _08021750
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08021764
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8092534
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08021754
- cmp r0, 0x1
- beq _08021758
- b _08021764
- .align 2, 0
-_08021750: .4byte gUnknown_203B468
-_08021754:
- movs r0, 0
- b _0802176C
-_08021758:
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08021754
-_08021764:
- adds r4, 0x1
- cmp r4, 0x39
- ble _0802172E
-_0802176A:
- movs r0, 0x1
-_0802176C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8021700
-
- thumb_func_start sub_8021774
-sub_8021774:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r5, r1, 0
- mov r8, r2
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _080217E4
- movs r0, 0xE0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- strb r4, [r0, 0xC]
- ldr r0, [r6]
- strb r5, [r0, 0xD]
- ldr r0, [r6]
- bl sub_801317C
- bl sub_8021A60
- ldr r0, [r6]
- mov r1, r8
- str r1, [r0, 0x74]
- lsls r1, 1
- add r1, r8
- lsls r1, 3
- adds r1, 0x7C
- adds r1, r0, r1
- str r1, [r0, 0x78]
- adds r0, 0x7C
- bl sub_8006518
- ldr r1, [r6]
- ldr r2, [r1, 0x74]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x7C
- ldr r0, _080217E8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- bl sub_8021820
- movs r0, 0x1
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080217E4: .4byte gUnknown_203B28C
-_080217E8: .4byte gUnknown_80DC4D8
- thumb_func_end sub_8021774
-
- thumb_func_start sub_80217EC
-sub_80217EC:
- push {lr}
- ldr r0, _0802180C
- ldr r0, [r0]
- ldr r1, [r0, 0x74]
- bl sub_8012A64
- cmp r0, 0x1
- beq _08021810
- cmp r0, 0x2
- bne _0802181A
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0802181C
- .align 2, 0
-_0802180C: .4byte gUnknown_203B28C
-_08021810:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0802181C
-_0802181A:
- movs r0, 0
-_0802181C:
- pop {r1}
- bx r1
- thumb_func_end sub_80217EC
-
- thumb_func_start sub_8021820
-sub_8021820:
- push {lr}
- bl sub_8021878
- bl sub_8021894
- pop {r0}
- bx r0
- thumb_func_end sub_8021820
-
- thumb_func_start sub_8021830
-sub_8021830:
- push {r4,r5,lr}
- ldr r4, _08021870
- ldr r2, [r4]
- cmp r2, 0
- beq _0802186A
- ldr r0, [r2, 0x74]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x7C
- ldr r0, _08021874
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802186A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08021870: .4byte gUnknown_203B28C
-_08021874: .4byte gUnknown_80DC4BC
- thumb_func_end sub_8021830
-
- thumb_func_start sub_8021878
-sub_8021878:
- push {lr}
- bl sub_8004914
- ldr r0, _08021890
- ldr r0, [r0]
- adds r0, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r0}
- bx r0
- .align 2, 0
-_08021890: .4byte gUnknown_203B28C
- thumb_func_end sub_8021878
-
- thumb_func_start sub_8021894
-sub_8021894:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x168
- ldr r4, _080218F8
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- bl sub_80073B8
- ldr r0, [r4]
- ldrb r1, [r0, 0xC]
- add r0, sp, 0x4
- movs r2, 0
- bl sub_8092578
- ldr r0, [r4]
- ldr r3, [r0, 0x74]
- movs r5, 0
- str r5, [sp]
- movs r0, 0x14
- movs r1, 0
- add r2, sp, 0x4
- bl xxx_call_draw_string
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- bl sub_80925DC
- adds r2, r0, 0
- ldr r0, [r4]
- ldr r3, [r0, 0x74]
- str r5, [sp]
- movs r0, 0xA
- movs r1, 0x14
- bl xxx_call_draw_string
- ldr r4, [r4]
- ldrb r0, [r4, 0xD]
- cmp r0, 0
- beq _08021900
- ldr r2, _080218FC
- ldr r3, [r4, 0x74]
- str r5, [sp]
- movs r0, 0x20
- movs r1, 0x3C
- bl xxx_call_draw_string
- b _0802190E
- .align 2, 0
-_080218F8: .4byte gUnknown_203B28C
-_080218FC: .4byte gUnknown_80DC4F0
-_08021900:
- ldr r2, _0802193C
- ldr r3, [r4, 0x74]
- str r0, [sp]
- movs r0, 0x20
- movs r1, 0x3C
- bl xxx_call_draw_string
-_0802190E:
- ldr r4, _08021940
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- movs r5, 0x4
- str r5, [sp]
- movs r1, 0x4
- movs r2, 0x40
- movs r3, 0x14
- bl sub_800792C
- ldr r4, [r4]
- ldrb r0, [r4, 0xD]
- cmp r0, 0
- beq _08021944
- ldr r0, [r4, 0x74]
- str r5, [sp]
- movs r1, 0xB8
- movs r2, 0x40
- movs r3, 0x14
- bl sub_800792C
- b _08021952
- .align 2, 0
-_0802193C: .4byte gUnknown_80DC518
-_08021940: .4byte gUnknown_203B28C
-_08021944:
- ldr r0, [r4, 0x74]
- str r5, [sp]
- movs r1, 0x5E
- movs r2, 0x40
- movs r3, 0x6E
- bl sub_800792C
-_08021952:
- ldr r5, _080219E8
- ldr r0, [r5]
- ldr r0, [r0, 0x74]
- movs r4, 0x4
- str r4, [sp]
- movs r1, 0x4
- movs r2, 0x82
- movs r3, 0xC8
- bl sub_800792C
- ldr r0, [r5]
- ldr r0, [r0, 0x74]
- str r4, [sp]
- movs r1, 0x3
- movs r2, 0x40
- movs r3, 0x43
- bl sub_8007A78
- ldr r0, [r5]
- ldr r0, [r0, 0x74]
- str r4, [sp]
- movs r1, 0xCC
- movs r2, 0x40
- movs r3, 0x43
- bl sub_8007A78
- movs r6, 0
- ldr r0, [r5]
- ldr r0, [r0, 0x70]
- cmp r6, r0
- bge _08021A40
- add r7, sp, 0x104
- mov r8, r5
- mov r9, r6
-_08021996:
- adds r0, r6, 0
- movs r1, 0x3
- bl __modsi3
- lsls r1, r0, 6
- subs r1, r0
- adds r5, r1, 0x7
- adds r0, r6, 0
- movs r1, 0x3
- bl __divsi3
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r4, r1, 0
- adds r4, 0x47
- mov r1, r8
- ldr r0, [r1]
- lsls r1, r6, 1
- adds r0, 0xE
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r7, 0
- bl sub_808D930
- mov r0, r8
- ldr r3, [r0]
- lsls r1, r6, 2
- adds r0, r3, 0
- adds r0, 0x30
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- beq _08021A04
- cmp r0, 0x1
- bcc _080219EC
- cmp r0, 0x2
- beq _08021A16
- b _08021A34
- .align 2, 0
-_080219E8: .4byte gUnknown_203B28C
-_080219EC:
- ldr r0, _08021A00
- ldr r2, [r0]
- ldr r3, [r3, 0x74]
- mov r1, r9
- str r1, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- bl xxx_call_draw_string
- b _08021A34
- .align 2, 0
-_08021A00: .4byte gUnknown_80D49BC
-_08021A04:
- ldr r3, [r3, 0x74]
- mov r2, r9
- str r2, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r7, 0
- bl xxx_call_draw_string
- b _08021A34
-_08021A16:
- add r0, sp, 0x4
- ldr r1, _08021A58
- adds r2, r7, 0
- bl sub_800D158
- mov r1, r8
- ldr r0, [r1]
- ldr r3, [r0, 0x74]
- mov r2, r9
- str r2, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- add r2, sp, 0x4
- bl xxx_call_draw_string
-_08021A34:
- adds r6, 0x1
- mov r1, r8
- ldr r0, [r1]
- ldr r0, [r0, 0x70]
- cmp r6, r0
- blt _08021996
-_08021A40:
- ldr r0, _08021A5C
- ldr r0, [r0]
- ldr r0, [r0, 0x74]
- bl sub_80073E0
- add sp, 0x168
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08021A58: .4byte gUnknown_80DC524
-_08021A5C: .4byte gUnknown_203B28C
- thumb_func_end sub_8021894
-
- thumb_func_start sub_8021A60
-sub_8021A60:
- push {r4-r7,lr}
- ldr r2, _08021B4C
- ldr r1, [r2]
- movs r0, 0
- str r0, [r1, 0x70]
- movs r6, 0
- adds r4, r2, 0
- movs r3, 0
-_08021A70:
- ldr r1, [r4]
- lsls r2, r6, 1
- adds r0, r1, 0
- adds r0, 0xE
- adds r0, r2
- strh r3, [r0]
- lsls r0, r6, 2
- adds r1, 0x30
- adds r1, r0
- str r3, [r1]
- adds r6, 0x1
- cmp r6, 0xF
- ble _08021A70
- movs r6, 0
- ldr r7, _08021B4C
-_08021A8E:
- lsls r0, r6, 16
- asrs r5, r0, 16
- ldr r4, [r7]
- adds r0, r5, 0
- bl GetFriendArea
- ldrb r1, [r4, 0xC]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _08021AC4
- adds r0, r5, 0
- bl sub_808E858
- lsls r0, 16
- asrs r0, 16
- cmp r5, r0
- bne _08021AC4
- ldr r3, [r7]
- ldr r1, [r3, 0x70]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0xE
- adds r0, r2
- strh r5, [r0]
- adds r1, 0x1
- str r1, [r3, 0x70]
-_08021AC4:
- adds r6, 0x1
- ldr r0, _08021B50
- cmp r6, r0
- ble _08021A8E
- movs r6, 0
-_08021ACE:
- lsls r0, r6, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_8098134
- lsls r0, 24
- cmp r0, 0
- beq _08021AFC
- adds r0, r4, 0
- bl sub_8021B58
- adds r2, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _08021AFC
- ldr r0, _08021B4C
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r1, 0x30
- adds r1, r0
- movs r0, 0x1
- str r0, [r1]
-_08021AFC:
- adds r6, 0x1
- ldr r0, _08021B50
- cmp r6, r0
- ble _08021ACE
- movs r6, 0
- ldr r4, _08021B54
-_08021B08:
- movs r0, 0x58
- adds r1, r6, 0
- muls r1, r0
- ldr r0, [r4]
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08021B3C
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- bl sub_8021B58
- adds r2, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _08021B3C
- ldr r0, _08021B4C
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r1, 0x30
- adds r1, r0
- movs r0, 0x2
- str r0, [r1]
-_08021B3C:
- adds r6, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r6, r0
- ble _08021B08
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08021B4C: .4byte gUnknown_203B28C
-_08021B50: .4byte 0x000001a7
-_08021B54: .4byte gUnknown_203B45C
- thumb_func_end sub_8021A60
-
- thumb_func_start sub_8021B58
-sub_8021B58:
- push {r4,r5,lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_808E858
- lsls r0, 16
- asrs r4, r0, 16
- movs r2, 0
- ldr r0, _08021B84
- ldr r0, [r0]
- ldr r1, [r0, 0x70]
- cmp r2, r1
- bge _08021B90
- adds r3, r1, 0
- adds r1, r0, 0
- adds r1, 0xE
-_08021B78:
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r4, r0
- bne _08021B88
- adds r0, r2, 0
- b _08021B94
- .align 2, 0
-_08021B84: .4byte gUnknown_203B28C
-_08021B88:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r3
- blt _08021B78
-_08021B90:
- movs r0, 0x1
- negs r0, r0
-_08021B94:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8021B58
-
- thumb_func_start sub_8021B9C
-sub_8021B9C:
- push {r4-r6,lr}
- adds r4, r0, 0
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _08021BF8
- movs r0, 0x9C
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r6, 0
- str r6, [r0, 0x14]
- str r6, [r0, 0x18]
- str r4, [r0]
- ldr r0, _08021BFC
- movs r1, 0x28
- bl sub_808D8E0
- ldr r4, _08021C00
- adds r0, r4, 0
- movs r1, 0x28
- bl sub_808D8E0
- movs r0, 0x28
- bl sub_808D994
- adds r1, r0, 0
- subs r4, 0x50
- adds r0, r4, 0
- bl strcpy
- ldr r5, [r5]
- ldr r0, [r5]
- cmp r0, 0x1
- bne _08021C04
- adds r0, r5, 0
- adds r0, 0xCC
- str r6, [r0]
- b _08021C0E
- .align 2, 0
-_08021BF8: .4byte gUnknown_203B290
-_08021BFC: .4byte gUnknown_202E5D8
-_08021C00: .4byte gUnknown_202E1C8
-_08021C04:
- adds r1, r5, 0
- adds r1, 0xCC
- adds r0, r5, 0
- adds r0, 0xBC
- str r0, [r1]
-_08021C0E:
- movs r0, 0x28
- bl sub_808DDD0
- ldr r2, _08021C58
- ldr r3, [r2]
- adds r1, r3, 0
- adds r1, 0xBC
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r0, 0x4]
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0xC8
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xC9
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xCA
- strb r1, [r0]
- ldr r1, [r2]
- adds r2, r1, 0
- adds r2, 0xC4
- movs r0, 0x2
- strh r0, [r2]
- adds r1, 0xC6
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_8021D44
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08021C58: .4byte gUnknown_203B290
- thumb_func_end sub_8021B9C
-
- thumb_func_start sub_8021C5C
-sub_8021C5C:
- push {lr}
- ldr r0, _08021C74
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0x17
- bhi _08021D10
- lsls r0, 2
- ldr r1, _08021C78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08021C74: .4byte gUnknown_203B290
-_08021C78: .4byte _08021C7C
- .align 2, 0
-_08021C7C:
- .4byte _08021CDC
- .4byte _08021CDC
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D0C
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021CE2
- .4byte _08021CE2
- .4byte _08021CE8
- .4byte _08021D10
- .4byte _08021CF4
- .4byte _08021CFA
- .4byte _08021D10
- .4byte _08021D00
- .4byte _08021CEE
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D06
- .4byte _08021D06
-_08021CDC:
- bl sub_8022460
- b _08021D14
-_08021CE2:
- bl sub_8022538
- b _08021D14
-_08021CE8:
- bl sub_80225C8
- b _08021D14
-_08021CEE:
- bl sub_80224D4
- b _08021D14
-_08021CF4:
- bl sub_80226F0
- b _08021D14
-_08021CFA:
- bl sub_8022790
- b _08021D14
-_08021D00:
- bl sub_8022668
- b _08021D14
-_08021D06:
- bl sub_8022684
- b _08021D14
-_08021D0C:
- movs r0, 0x3
- b _08021D16
-_08021D10:
- bl sub_80226CC
-_08021D14:
- movs r0, 0
-_08021D16:
- pop {r1}
- bx r1
- thumb_func_end sub_8021C5C
-
- thumb_func_start sub_8021D1C
-sub_8021D1C:
- push {r4,lr}
- ldr r4, _08021D40
- ldr r0, [r4]
- cmp r0, 0
- beq _08021D38
- adds r0, 0xBC
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08021D38:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08021D40: .4byte gUnknown_203B290
- thumb_func_end sub_8021D1C
-
- thumb_func_start sub_8021D44
-sub_8021D44:
- push {lr}
- ldr r1, _08021D58
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_8021D5C
- bl sub_8021E0C
- pop {r0}
- bx r0
- .align 2, 0
-_08021D58: .4byte gUnknown_203B290
- thumb_func_end sub_8021D44
-
- thumb_func_start sub_8021D5C
-sub_8021D5C:
- push {r4-r7,lr}
- ldr r4, _08021D7C
- ldr r0, [r4]
- adds r0, 0xD0
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- cmp r0, 0x9
- blt _08021DC8
- cmp r0, 0xA
- ble _08021D80
- cmp r0, 0xB
- beq _08021DB0
- b _08021DC8
- .align 2, 0
-_08021D7C: .4byte gUnknown_203B290
-_08021D80:
- ldr r2, _08021DA8
- adds r1, 0xD0
- adds r0, r2, 0
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r7}
- stm r1!, {r3,r5,r7}
- ldr r0, [r4]
- movs r6, 0x80
- lsls r6, 1
- adds r0, r6
- ldm r2!, {r1,r3,r7}
- stm r0!, {r1,r3,r7}
- ldm r2!, {r5-r7}
- stm r0!, {r5-r7}
- ldr r1, [r4]
- adds r1, 0xE8
- ldr r0, _08021DAC
- b _08021DB8
- .align 2, 0
-_08021DA8: .4byte gUnknown_80DC534
-_08021DAC: .4byte gUnknown_80DC564
-_08021DB0:
- movs r0, 0x80
- lsls r0, 1
- adds r1, r0
- ldr r0, _08021DC4
-_08021DB8:
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _08021DEC
- .align 2, 0
-_08021DC4: .4byte gUnknown_80DC54C
-_08021DC8:
- ldr r0, _08021E04
- mov r12, r0
- ldr r4, _08021E08
- movs r3, 0
- movs r2, 0x3
-_08021DD2:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- adds r1, 0xD0
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _08021DD2
-_08021DEC:
- bl sub_8004914
- ldr r0, _08021E04
- ldr r0, [r0]
- adds r0, 0xD0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08021E04: .4byte gUnknown_203B290
-_08021E08: .4byte gUnknown_80DC534
- thumb_func_end sub_8021D5C
-
- thumb_func_start sub_8021E0C
-sub_8021E0C:
- push {r4,lr}
- sub sp, 0x20
- ldr r1, _08021E28
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r4, r1, 0
- cmp r0, 0x1C
- bls _08021E1E
- b _080222B6
-_08021E1E:
- lsls r0, 2
- ldr r1, _08021E2C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08021E28: .4byte gUnknown_203B290
-_08021E2C: .4byte _08021E30
- .align 2, 0
-_08021E30:
- .4byte _08021EA4
- .4byte _08021EC0
- .4byte _08021F38
- .4byte _08021F50
- .4byte _080222B6
- .4byte _08021F78
- .4byte _08021F90
- .4byte _08021F08
- .4byte _08021F20
- .4byte _08021FD8
- .4byte _08021FE2
- .4byte _08021FF0
- .4byte _0802208E
- .4byte _080220B8
- .4byte _080220D8
- .4byte _080220EA
- .4byte _08022080
- .4byte _08022024
- .4byte _08021FA8
- .4byte _08021FC0
- .4byte _08022138
- .4byte _08022150
- .4byte _08022168
- .4byte _08022176
- .4byte _0802217E
- .4byte _08022238
- .4byte _08022250
- .4byte _08022268
- .4byte _08022294
-_08021EA4:
- bl sub_80222C8
- ldr r2, _08021EB8
- ldr r0, _08021EBC
- ldr r4, [r0]
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- b _08021ED4
- .align 2, 0
-_08021EB8: .4byte gUnknown_80D79A4
-_08021EBC: .4byte gUnknown_203B290
-_08021EC0:
- bl sub_80222C8
- ldr r2, _08021F00
- ldr r0, _08021F04
- ldr r4, [r0]
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x4
-_08021ED4:
- adds r0, r2
- ldr r0, [r0]
- ldr r2, [r4, 0x14]
- adds r3, r4, 0
- adds r3, 0x1C
- adds r1, r4, 0
- adds r1, 0x5C
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- adds r1, r4, 0
- adds r1, 0xCC
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _080222B6
- .align 2, 0
-_08021F00: .4byte gUnknown_80D79A4
-_08021F04: .4byte gUnknown_203B290
-_08021F08:
- ldr r3, [r4]
- movs r0, 0x9
- str r0, [r3, 0x8]
- ldr r2, _08021F1C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0xC
- b _0802227A
- .align 2, 0
-_08021F1C: .4byte gUnknown_80D79A4
-_08021F20:
- ldr r3, [r4]
- movs r0, 0xA
- str r0, [r3, 0x8]
- ldr r2, _08021F34
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x10
- b _0802227A
- .align 2, 0
-_08021F34: .4byte gUnknown_80D79A4
-_08021F38:
- ldr r3, [r4]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r2, _08021F4C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x4C
- b _0802227A
- .align 2, 0
-_08021F4C: .4byte gUnknown_80D79A4
-_08021F50:
- ldr r3, [r4]
- movs r0, 0x4
- str r0, [r3, 0x8]
- ldr r2, _08021F70
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x8
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xCC
- ldr r2, [r3]
- ldr r3, _08021F74
- b _08022284
- .align 2, 0
-_08021F70: .4byte gUnknown_80D79A4
-_08021F74: .4byte 0x0000030d
-_08021F78:
- ldr r3, [r4]
- movs r0, 0x3
- str r0, [r3, 0x8]
- ldr r2, _08021F8C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x20
- b _0802227A
- .align 2, 0
-_08021F8C: .4byte gUnknown_80D79A4
-_08021F90:
- ldr r3, [r4]
- movs r0, 0xA
- str r0, [r3, 0x8]
- ldr r2, _08021FA4
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x24
- b _0802227A
- .align 2, 0
-_08021FA4: .4byte gUnknown_80D79A4
-_08021FA8:
- ldr r3, [r4]
- movs r0, 0x3
- str r0, [r3, 0x8]
- ldr r2, _08021FBC
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x28
- b _0802227A
- .align 2, 0
-_08021FBC: .4byte gUnknown_80D79A4
-_08021FC0:
- ldr r3, [r4]
- movs r0, 0xA
- str r0, [r3, 0x8]
- ldr r2, _08021FD4
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x2C
- b _0802227A
- .align 2, 0
-_08021FD4: .4byte gUnknown_80D79A4
-_08021FD8:
- movs r0, 0x2
- movs r1, 0x3
- bl sub_80211AC
- b _08021FE8
-_08021FE2:
- movs r0, 0x1
- bl sub_8021354
-_08021FE8:
- movs r0, 0x1
- bl sub_8016C40
- b _080222B6
-_08021FF0:
- bl sub_8021494
- movs r0, 0x1
- bl sub_8016C40
- bl sub_8022380
- ldr r0, _08022020
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x6C
- adds r1, r2, 0
- adds r1, 0x1C
- adds r3, r2, 0
- adds r3, 0x5C
- ldr r2, [r2, 0x18]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _080222B6
- .align 2, 0
-_08022020: .4byte gUnknown_203B290
-_08022024:
- bl sub_8022420
- ldr r0, _08022070
- ldr r4, _08022074
- ldr r1, [r4]
- ldrb r1, [r1, 0x10]
- movs r2, 0
- bl sub_8092578
- ldr r1, _08022078
- ldr r4, [r4]
- ldr r0, [r4, 0xC]
- str r0, [r1]
- ldr r2, _0802207C
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x14
- adds r0, r2
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x1C
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- adds r4, 0xCC
- ldr r1, [r4]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8014248
- b _080222B6
- .align 2, 0
-_08022070: .4byte gUnknown_202E628
-_08022074: .4byte gUnknown_203B290
-_08022078: .4byte gUnknown_202DE30
-_0802207C: .4byte gUnknown_80D79A4
-_08022080:
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- movs r1, 0
- movs r2, 0x2
- bl sub_8021774
- b _080222B6
-_0802208E:
- ldr r1, [r4]
- movs r0, 0xD
- str r0, [r1, 0x8]
- ldr r0, _080220B0
- ldrb r1, [r1, 0x10]
- movs r2, 0
- bl sub_8092578
- ldr r2, _080220B4
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x18
- b _0802227A
- .align 2, 0
-_080220B0: .4byte gUnknown_202E628
-_080220B4: .4byte gUnknown_80D79A4
-_080220B8:
- ldr r1, [r4]
- movs r0, 0xE
- str r0, [r1, 0x8]
- ldr r0, _080220D4
- bl sub_8011988
- ldr r0, [r4]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
- b _080222B6
- .align 2, 0
-_080220D4: .4byte 0x0000025b
-_080220D8:
- ldr r0, [r4]
- movs r1, 0xF
- str r1, [r0, 0x8]
- movs r1, 0x9A
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1E
- str r1, [r0]
- b _080222B6
-_080220EA:
- movs r0, 0x2
- bl sub_8021700
- lsls r0, 24
- cmp r0, 0
- beq _08022108
- bl sub_80213A0
- ldr r0, _08022104
- ldr r1, [r0]
- movs r0, 0x12
- b _0802210E
- .align 2, 0
-_08022104: .4byte gUnknown_203B290
-_08022108:
- ldr r0, _08022130
- ldr r1, [r0]
- movs r0, 0x8
-_0802210E:
- str r0, [r1, 0x8]
- movs r0, 0xCE
- bl sub_8011988
- ldr r3, _08022134
- ldr r0, _08022130
- ldr r2, [r0]
- ldr r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r3, 0x1C
- adds r0, r3
- ldr r0, [r0]
- adds r2, 0xCC
- ldr r2, [r2]
- b _08022282
- .align 2, 0
-_08022130: .4byte gUnknown_203B290
-_08022134: .4byte gUnknown_80D79A4
-_08022138:
- ldr r3, [r4]
- movs r0, 0x16
- str r0, [r3, 0x8]
- ldr r2, _0802214C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x30
- b _0802227A
- .align 2, 0
-_0802214C: .4byte gUnknown_80D79A4
-_08022150:
- ldr r3, [r4]
- movs r0, 0x17
- str r0, [r3, 0x8]
- ldr r2, _08022164
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x34
- b _0802227A
- .align 2, 0
-_08022164: .4byte gUnknown_80D79A4
-_08022168:
- movs r0, 0
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_8023144
- b _080222B6
-_08022176:
- movs r0, 0x1
- bl sub_8023354
- b _080222B6
-_0802217E:
- ldr r4, _080221A0
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- add r1, sp, 0x14
- movs r2, 0
- movs r3, 0
- bl sub_8092638
- add r0, sp, 0x14
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080221A4
- ldr r1, [r4]
- movs r0, 0x19
- str r0, [r1, 0x8]
- b _080221FA
- .align 2, 0
-_080221A0: .4byte gUnknown_203B290
-_080221A4:
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- bl sub_8092534
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080221E0
- cmp r0, 0x2
- bgt _080221BE
- cmp r0, 0x1
- beq _080221C4
- b _080221F0
-_080221BE:
- cmp r0, 0x3
- beq _080221E8
- b _080221F0
-_080221C4:
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080221D8
- ldr r1, [r4]
- movs r0, 0x15
- str r0, [r1, 0x8]
- b _080221FA
-_080221D8:
- ldr r1, [r4]
- movs r0, 0x1A
- str r0, [r1, 0x8]
- b _080221FA
-_080221E0:
- ldr r1, [r4]
- movs r0, 0x1B
- str r0, [r1, 0x8]
- b _080221FA
-_080221E8:
- ldr r1, [r4]
- movs r0, 0x1C
- str r0, [r1, 0x8]
- b _080221FA
-_080221F0:
- ldr r2, _08022228
- ldr r1, [r2]
- movs r0, 0x15
- str r0, [r1, 0x8]
- adds r4, r2, 0
-_080221FA:
- ldr r0, [r4]
- movs r1, 0x12
- ldrsh r0, [r0, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _0802222C
- bl strcpy
- ldr r0, _08022230
- ldr r1, [r4]
- ldrb r1, [r1, 0x10]
- movs r2, 0
- bl sub_8092578
- ldr r2, _08022234
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x38
- b _0802227A
- .align 2, 0
-_08022228: .4byte gUnknown_203B290
-_0802222C: .4byte gUnknown_202DF98
-_08022230: .4byte gUnknown_202E628
-_08022234: .4byte gUnknown_80D79A4
-_08022238:
- ldr r3, [r4]
- movs r0, 0x15
- str r0, [r3, 0x8]
- ldr r2, _0802224C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x3C
- b _0802227A
- .align 2, 0
-_0802224C: .4byte gUnknown_80D79A4
-_08022250:
- ldr r3, [r4]
- movs r0, 0x15
- str r0, [r3, 0x8]
- ldr r2, _08022264
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x40
- b _0802227A
- .align 2, 0
-_08022264: .4byte gUnknown_80D79A4
-_08022268:
- ldr r3, [r4]
- movs r0, 0x15
- str r0, [r3, 0x8]
- ldr r2, _0802228C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x44
-_0802227A:
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xCC
- ldr r2, [r3]
-_08022282:
- ldr r3, _08022290
-_08022284:
- movs r1, 0
- bl sub_80141B4
- b _080222B6
- .align 2, 0
-_0802228C: .4byte gUnknown_80D79A4
-_08022290: .4byte 0x0000010d
-_08022294:
- ldr r3, [r4]
- movs r0, 0x15
- str r0, [r3, 0x8]
- ldr r2, _080222C0
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x48
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xCC
- ldr r2, [r3]
- ldr r3, _080222C4
- movs r1, 0
- bl sub_80141B4
-_080222B6:
- add sp, 0x20
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080222C0: .4byte gUnknown_80D79A4
-_080222C4: .4byte 0x0000010d
- thumb_func_end sub_8021E0C
-
- thumb_func_start sub_80222C8
-sub_80222C8:
- push {r4-r7,lr}
- ldr r4, _08022344
- ldr r0, [r4]
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- movs r5, 0
- ldr r0, _08022348
- ldr r0, [r0]
- str r0, [r1, 0x1C]
- adds r3, r1, 0
- adds r3, 0x20
- movs r0, 0x2
- str r0, [r1, 0x20]
- movs r2, 0x1
- ldr r0, _0802234C
- ldr r0, [r0]
- str r0, [r1, 0x24]
- movs r0, 0x3
- str r0, [r1, 0x28]
- ldr r0, _08022350
- ldr r0, [r0]
- str r0, [r1, 0x2C]
- movs r0, 0x4
- str r0, [r1, 0x30]
- ldr r0, _08022354
- ldr r0, [r0]
- str r0, [r1, 0x34]
- str r2, [r1, 0x38]
- movs r7, 0x4
- str r5, [r1, 0x3C]
- str r2, [r3, 0x20]
- adds r6, r1, 0
- adds r2, r6, 0
- adds r2, 0x5C
-_08022314:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08022322
- ldr r1, [r3]
- ldr r0, [r6, 0x14]
- cmp r1, r0
- beq _0802237A
-_08022322:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r7
- blt _08022314
- movs r5, 0
- cmp r5, r7
- bge _0802237A
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x5C
- ldrh r0, [r0]
- cmp r0, 0
- bne _08022358
- ldr r0, [r1, 0x20]
- str r0, [r1, 0x14]
- b _0802237A
- .align 2, 0
-_08022344: .4byte gUnknown_203B290
-_08022348: .4byte gUnknown_80D4978
-_0802234C: .4byte gUnknown_80D499C
-_08022350: .4byte gUnknown_80D4970
-_08022354: .4byte gUnknown_80D4934
-_08022358:
- adds r5, 0x1
- cmp r5, r7
- bge _0802237A
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x5C
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08022358
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x20
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x14]
-_0802237A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80222C8
-
- thumb_func_start sub_8022380
-sub_8022380:
- push {r4-r7,lr}
- ldr r4, _080223EC
- ldr r0, [r4]
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _080223F0
- ldr r0, [r0]
- str r0, [r3, 0x1C]
- movs r0, 0x2
- str r0, [r3, 0x20]
- movs r1, 0x1
- ldr r0, _080223F4
- ldr r0, [r0]
- str r0, [r3, 0x24]
- movs r0, 0x4
- str r0, [r3, 0x28]
- movs r6, 0x2
- str r2, [r3, 0x2C]
- str r1, [r3, 0x30]
- movs r5, 0
- mov r12, r3
- adds r3, 0x20
- mov r2, r12
- adds r2, 0x5C
-_080223BA:
- ldrh r0, [r2]
- cmp r0, 0
- bne _080223CA
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x18]
- cmp r1, r0
- beq _0802241A
-_080223CA:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _080223BA
- movs r5, 0
- cmp r5, r6
- bge _0802241A
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x5C
- ldrh r0, [r0]
- cmp r0, 0
- bne _080223F8
- ldr r0, [r1, 0x20]
- str r0, [r1, 0x18]
- b _0802241A
- .align 2, 0
-_080223EC: .4byte gUnknown_203B290
-_080223F0: .4byte gUnknown_80D4978
-_080223F4: .4byte gUnknown_80D4970
-_080223F8:
- adds r5, 0x1
- cmp r5, r6
- bge _0802241A
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x5C
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080223F8
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x20
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x18]
-_0802241A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8022380
-
- thumb_func_start sub_8022420
-sub_8022420:
- push {r4,lr}
- ldr r4, _08022454
- ldr r0, [r4]
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- movs r3, 0
- ldr r0, _08022458
- ldr r0, [r0]
- str r0, [r1, 0x1C]
- movs r0, 0x5
- str r0, [r1, 0x20]
- movs r2, 0x1
- ldr r0, _0802245C
- ldr r0, [r0]
- str r0, [r1, 0x24]
- movs r0, 0x6
- str r0, [r1, 0x28]
- str r3, [r1, 0x2C]
- str r2, [r1, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08022454: .4byte gUnknown_203B290
-_08022458: .4byte gUnknown_80D4920
-_0802245C: .4byte gUnknown_80D4928
- thumb_func_end sub_8022420
-
- thumb_func_start sub_8022460
-sub_8022460:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080224CC
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802247A
- ldr r0, _0802248C
- ldr r0, [r0]
- str r1, [r0, 0x14]
-_0802247A:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0802249A
- cmp r0, 0x2
- bgt _08022490
- cmp r0, 0x1
- beq _080224C6
- b _080224CC
- .align 2, 0
-_0802248C: .4byte gUnknown_203B290
-_08022490:
- cmp r0, 0x3
- beq _080224B6
- cmp r0, 0x4
- beq _080224BE
- b _080224CC
-_0802249A:
- movs r0, 0x2
- bl sub_8021700
- lsls r0, 24
- cmp r0, 0
- beq _080224AE
- movs r0, 0x5
- bl sub_8021D44
- b _080224CC
-_080224AE:
- movs r0, 0x7
- bl sub_8021D44
- b _080224CC
-_080224B6:
- movs r0, 0x14
- bl sub_8021D44
- b _080224CC
-_080224BE:
- movs r0, 0x2
- bl sub_8021D44
- b _080224CC
-_080224C6:
- movs r0, 0x3
- bl sub_8021D44
-_080224CC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8022460
-
- thumb_func_start sub_80224D4
-sub_80224D4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08022532
- ldr r0, [sp]
- cmp r0, 0x5
- beq _080224F8
- cmp r0, 0x5
- bgt _080224F2
- cmp r0, 0x1
- beq _0802252C
- b _08022532
-_080224F2:
- cmp r0, 0x6
- beq _0802252C
- b _08022532
-_080224F8:
- ldr r0, _08022524
- ldr r2, [r0]
- movs r0, 0x98
- lsls r0, 2
- adds r2, r0
- ldr r0, _08022528
- ldr r3, [r0]
- ldr r0, [r2]
- ldr r1, [r3, 0xC]
- subs r0, r1
- str r0, [r2]
- ldrb r0, [r3, 0x10]
- bl sub_80925EC
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8011988
- movs r0, 0xC
- bl sub_8021D44
- b _08022532
- .align 2, 0
-_08022524: .4byte gUnknown_203B460
-_08022528: .4byte gUnknown_203B290
-_0802252C:
- movs r0, 0xA
- bl sub_8021D44
-_08022532:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80224D4
-
- thumb_func_start sub_8022538
-sub_8022538:
- push {r4,lr}
- movs r0, 0x1
- bl sub_8021274
- cmp r0, 0x4
- bhi _080225BC
- lsls r0, 2
- ldr r1, _08022550
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022550: .4byte _08022554
- .align 2, 0
-_08022554:
- .4byte _080225C2
- .4byte _080225BC
- .4byte _080225B0
- .4byte _08022568
- .4byte _0802258C
-_08022568:
- bl sub_802132C
- ldr r4, _08022588
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- bl sub_8092544
- ldr r1, [r4]
- str r0, [r1, 0xC]
- movs r0, 0xB
- bl sub_8021D44
- b _080225C2
- .align 2, 0
-_08022588: .4byte gUnknown_203B290
-_0802258C:
- bl sub_802132C
- ldr r4, _080225AC
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- bl sub_8092544
- ldr r1, [r4]
- str r0, [r1, 0xC]
- movs r0, 0x10
- bl sub_8021D44
- b _080225C2
- .align 2, 0
-_080225AC: .4byte gUnknown_203B290
-_080225B0:
- bl sub_80213A0
- movs r0, 0x1
- bl sub_8021D44
- b _080225C2
-_080225BC:
- movs r0, 0x1
- bl sub_8016C40
-_080225C2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8022538
-
- thumb_func_start sub_80225C8
-sub_80225C8:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8021274
- ldr r4, _08022608
- ldr r0, [r4]
- adds r0, 0x6C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080225F8
- ldr r0, [r4]
- adds r0, 0x6C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _080225F8
- ldr r0, [r4]
- str r1, [r0, 0x18]
-_080225F8:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08022612
- cmp r0, 0x2
- bgt _0802260C
- cmp r0, 0x1
- beq _08022658
- b _0802265E
- .align 2, 0
-_08022608: .4byte gUnknown_203B290
-_0802260C:
- cmp r0, 0x4
- beq _08022650
- b _0802265E
-_08022612:
- ldr r0, _0802262C
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- cmp r1, 0
- bne _08022630
- movs r0, 0x6
- bl sub_8021D44
- b _0802265E
- .align 2, 0
-_0802262C: .4byte gUnknown_203B460
-_08022630:
- ldr r0, _08022644
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- cmp r0, r1
- ble _08022648
- movs r0, 0x13
- bl sub_8021D44
- b _0802265E
- .align 2, 0
-_08022644: .4byte gUnknown_203B290
-_08022648:
- movs r0, 0x11
- bl sub_8021D44
- b _0802265E
-_08022650:
- movs r0, 0x10
- bl sub_8021D44
- b _0802265E
-_08022658:
- movs r0, 0xA
- bl sub_8021D44
-_0802265E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80225C8
-
- thumb_func_start sub_8022668
-sub_8022668:
- push {lr}
- bl sub_80217EC
- cmp r0, 0x1
- bls _08022680
- cmp r0, 0x3
- bhi _08022680
- bl sub_8021830
- movs r0, 0xA
- bl sub_8021D44
-_08022680:
- pop {r0}
- bx r0
- thumb_func_end sub_8022668
-
- thumb_func_start sub_8022684
-sub_8022684:
- push {r4,lr}
- movs r0, 0x1
- bl sub_8023278
- cmp r0, 0x2
- beq _080226BC
- cmp r0, 0x2
- bcc _080226C6
- cmp r0, 0x3
- bne _080226C6
- bl sub_802331C
- ldr r4, _080226B8
- ldr r1, [r4]
- strh r0, [r1, 0x12]
- movs r2, 0x12
- ldrsh r0, [r1, r2]
- bl GetFriendArea
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- movs r0, 0x18
- bl sub_8021D44
- b _080226C6
- .align 2, 0
-_080226B8: .4byte gUnknown_203B290
-_080226BC:
- bl sub_80233A0
- movs r0, 0x1
- bl sub_8021D44
-_080226C6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8022684
-
- thumb_func_start sub_80226CC
-sub_80226CC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080226E4
- ldr r0, _080226EC
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_8021D44
-_080226E4:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080226EC: .4byte gUnknown_203B290
- thumb_func_end sub_80226CC
-
- thumb_func_start sub_80226F0
-sub_80226F0:
- push {r4,lr}
- sub sp, 0x4
- mov r1, sp
- movs r2, 0
- movs r0, 0x80
- strb r0, [r1]
- strb r0, [r1, 0x1]
- movs r0, 0x10
- strb r0, [r1, 0x2]
- strb r2, [r1, 0x3]
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- bne _08022782
- ldr r0, _08022728
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x4
- bhi _0802275C
- lsls r0, 2
- ldr r1, _0802272C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022728: .4byte gUnknown_203B290
-_0802272C: .4byte _08022730
- .align 2, 0
-_08022730:
- .4byte _0802275C
- .4byte _08022744
- .4byte _08022750
- .4byte _08022744
- .4byte _08022750
-_08022744:
- movs r0, 0x5
- movs r1, 0x2
- ldr r2, [sp]
- bl sub_8099AFC
- b _08022772
-_08022750:
- movs r0, 0x5
- movs r1, 0x2
- ldr r2, [sp]
- bl sub_8099A5C
- b _08022772
-_0802275C:
- ldr r4, _0802278C
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- bl sub_8021D44
- ldr r0, [r4]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_08022772:
- ldr r0, _0802278C
- ldr r1, [r0]
- movs r0, 0x98
- lsls r0, 1
- adds r1, r0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_08022782:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802278C: .4byte gUnknown_203B290
- thumb_func_end sub_80226F0
-
- thumb_func_start sub_8022790
-sub_8022790:
- push {lr}
- ldr r0, _080227A8
- ldr r2, [r0]
- movs r0, 0x9A
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, [r1]
- cmp r0, 0
- beq _080227AC
- subs r0, 0x1
- str r0, [r1]
- b _080227B2
- .align 2, 0
-_080227A8: .4byte gUnknown_203B290
-_080227AC:
- ldr r0, [r2, 0x8]
- bl sub_8021D44
-_080227B2:
- pop {r0}
- bx r0
- thumb_func_end sub_8022790
-
- thumb_func_start sub_80227B8
-sub_80227B8:
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _08022810
- movs r0, 0xD4
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- adds r2, r0, 0
- adds r2, 0xF4
- movs r1, 0
- str r1, [r2]
- str r5, [r0, 0x48]
- cmp r5, 0
- beq _08022820
- ldr r4, _08022814
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl sub_808D9AC
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x6
- bl sub_808D9AC
- bl sub_809177C
- lsls r0, 24
- cmp r0, 0
- beq _08022818
- movs r0, 0
- bl sub_8022924
- b _08022856
- .align 2, 0
-_08022810: .4byte gUnknown_203B294
-_08022814: .4byte gUnknown_202DF98
-_08022818:
- movs r0, 0x11
- bl sub_8022924
- b _08022856
-_08022820:
- ldr r4, _08022848
- ldr r5, _0802284C
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- bl sub_8090A34
- cmp r0, 0
- bne _08022850
- movs r0, 0x12
- bl sub_8022924
- b _08022856
- .align 2, 0
-_08022848: .4byte gUnknown_202DF98
-_0802284C: .4byte gUnknown_80DC5EC
-_08022850:
- movs r0, 0
- bl sub_8022924
-_08022856:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80227B8
-
- thumb_func_start sub_8022860
-sub_8022860:
- push {lr}
- ldr r0, _08022878
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x16
- bhi _080228FE
- lsls r0, 2
- ldr r1, _0802287C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022878: .4byte gUnknown_203B294
-_0802287C: .4byte _08022880
- .align 2, 0
-_08022880:
- .4byte _080228DC
- .4byte _080228DC
- .4byte _080228E2
- .4byte _080228E8
- .4byte _080228EE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228F4
- .4byte _080228FA
-_080228DC:
- bl sub_8022E78
- b _08022902
-_080228E2:
- bl sub_8022EF4
- b _08022902
-_080228E8:
- bl sub_8023068
- b _08022902
-_080228EE:
- bl sub_80230E8
- b _08022902
-_080228F4:
- bl sub_8023104
- b _08022902
-_080228FA:
- movs r0, 0x3
- b _08022904
-_080228FE:
- bl sub_8023120
-_08022902:
- movs r0, 0
-_08022904:
- pop {r1}
- bx r1
- thumb_func_end sub_8022860
-
- thumb_func_start sub_8022908
-sub_8022908:
- push {r4,lr}
- ldr r4, _08022920
- ldr r0, [r4]
- cmp r0, 0
- beq _0802291A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802291A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08022920: .4byte gUnknown_203B294
- thumb_func_end sub_8022908
-
- thumb_func_start sub_8022924
-sub_8022924:
- push {lr}
- ldr r1, _08022938
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802293C
- bl sub_8022A10
- pop {r0}
- bx r0
- .align 2, 0
-_08022938: .4byte gUnknown_203B294
- thumb_func_end sub_8022924
-
- thumb_func_start sub_802293C
-sub_802293C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _08022964
- ldr r0, [r4]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x3
- beq _080229A4
- cmp r0, 0x3
- bgt _08022968
- cmp r0, 0x2
- beq _08022972
- b _080229BC
- .align 2, 0
-_08022964: .4byte gUnknown_203B294
-_08022968:
- cmp r0, 0x10
- bgt _080229BC
- cmp r0, 0xA
- blt _080229BC
- b _080229E6
-_08022972:
- bl sub_8022D2C
- ldr r2, [r4]
- movs r0, 0xBC
- lsls r0, 1
- adds r2, r0
- ldr r1, _080229A0
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0xF8
- bl sub_8012CAC
- ldr r0, [r4]
- movs r6, 0xC2
- lsls r6, 1
- adds r0, r6
- movs r1, 0x6
- strh r1, [r0]
- b _080229E6
- .align 2, 0
-_080229A0: .4byte gUnknown_80DC5BC
-_080229A4:
- movs r7, 0xB0
- lsls r7, 1
- adds r1, r7
- ldr r0, _080229B8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _080229E6
- .align 2, 0
-_080229B8: .4byte gUnknown_80DC5D4
-_080229BC:
- ldr r0, _08022A08
- mov r12, r0
- movs r1, 0xA4
- lsls r1, 1
- mov r8, r1
- ldr r4, _08022A0C
- movs r3, 0
- movs r2, 0x3
-_080229CC:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _080229CC
-_080229E6:
- bl sub_8004914
- ldr r0, _08022A08
- ldr r0, [r0]
- movs r6, 0xA4
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08022A08: .4byte gUnknown_203B294
-_08022A0C: .4byte gUnknown_80DC5A4
- thumb_func_end sub_802293C
-
- thumb_func_start sub_8022A10
-sub_8022A10:
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r1, _08022A2C
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x16
- bls _08022A22
- b _08022D1E
-_08022A22:
- lsls r0, 2
- ldr r1, _08022A30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022A2C: .4byte gUnknown_203B294
-_08022A30: .4byte _08022A34
- .align 2, 0
-_08022A34:
- .4byte _08022A90
- .4byte _08022AAA
- .4byte _08022AB2
- .4byte _08022AE0
- .4byte _08022B10
- .4byte _08022B1A
- .4byte _08022B24
- .4byte _08022B34
- .4byte _08022B44
- .4byte _08022B54
- .4byte _08022B64
- .4byte _08022C28
- .4byte _08022CA0
- .4byte _08022CA8
- .4byte _08022CB0
- .4byte _08022CB8
- .4byte _08022CC0
- .4byte _08022CC8
- .4byte _08022CD8
- .4byte _08022CE8
- .4byte _08022CF8
- .4byte _08022D14
- .4byte _08022D1E
-_08022A90:
- ldr r0, [r4]
- ldr r0, [r0, 0x48]
- cmp r0, 0
- beq _08022A9C
- movs r0, 0x5
- b _08022A9E
-_08022A9C:
- movs r0, 0x1
-_08022A9E:
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08022D22
-_08022AAA:
- movs r0, 0x1
- bl sub_801A8D0
- b _08022D22
-_08022AB2:
- bl sub_801A9E0
- ldr r0, _08022ADC
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x54
- adds r1, r2, 0
- adds r1, 0xF8
- movs r4, 0x9C
- lsls r4, 1
- adds r3, r2, r4
- adds r2, 0xF4
- ldr r2, [r2]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _08022D22
- .align 2, 0
-_08022ADC: .4byte gUnknown_203B294
-_08022AE0:
- bl sub_801A9E0
- ldr r4, _08022B08
- ldr r0, [r4]
- adds r0, 0x54
- movs r1, 0
- bl sub_8012EA4
- ldr r0, [r4]
- adds r0, 0xA4
- ldr r1, _08022B0C
- movs r2, 0x3
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _08022D22
- .align 2, 0
-_08022B08: .4byte gUnknown_203B294
-_08022B0C: .4byte gUnknown_80DC584
-_08022B10:
- ldr r0, [r4]
- adds r0, 0x50
- bl sub_801B3C0
- b _08022D22
-_08022B1A:
- ldr r0, _08022B20
- b _08022D00
- .align 2, 0
-_08022B20: .4byte gUnknown_80DC5F4
-_08022B24:
- ldr r0, _08022B2C
- ldr r3, _08022B30
- b _08022D02
- .align 2, 0
-_08022B2C: .4byte gUnknown_80DC618
-_08022B30: .4byte 0x00000101
-_08022B34:
- ldr r0, _08022B3C
- ldr r3, _08022B40
- b _08022D02
- .align 2, 0
-_08022B3C: .4byte gUnknown_80DC674
-_08022B40: .4byte 0x00000101
-_08022B44:
- ldr r0, _08022B4C
- ldr r3, _08022B50
- b _08022D02
- .align 2, 0
-_08022B4C: .4byte gUnknown_80DC6CC
-_08022B50: .4byte 0x00000101
-_08022B54:
- ldr r0, _08022B5C
- ldr r3, _08022B60
- b _08022D02
- .align 2, 0
-_08022B5C: .4byte gUnknown_80DC728
-_08022B60: .4byte 0x00000101
-_08022B64:
- ldr r7, _08022B68
- b _08022B78
- .align 2, 0
-_08022B68: .4byte gUnknown_203B294
-_08022B6C:
- ldr r1, [r4]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- cmp r0, 0x17
- bgt _08022C10
-_08022B78:
- movs r5, 0
- movs r6, 0
- movs r3, 0
- ldr r2, [r4]
- ldr r0, [r2, 0x38]
- cmp r5, r0
- bge _08022BA4
- ldrb r1, [r2, 0x8]
- b _08022B9C
-_08022B8A:
- adds r3, 0x1
- ldr r2, [r4]
- ldr r0, [r2, 0x38]
- cmp r3, r0
- bge _08022BA4
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r3
- ldrb r1, [r0]
-_08022B9C:
- ldr r0, [r2, 0x40]
- cmp r1, r0
- bne _08022B8A
- movs r5, 0x1
-_08022BA4:
- movs r3, 0
- ldr r2, [r4]
- ldr r0, [r2, 0x3C]
- cmp r3, r0
- bge _08022BCE
- adds r0, r2, 0
- adds r0, 0x20
- b _08022BC4
-_08022BB4:
- adds r3, 0x1
- ldr r2, [r4]
- ldr r0, [r2, 0x3C]
- cmp r3, r0
- bge _08022BCE
- adds r0, r2, 0
- adds r0, 0x20
- adds r0, r3
-_08022BC4:
- ldrb r1, [r0]
- ldr r0, [r2, 0x40]
- cmp r1, r0
- bne _08022BB4
- movs r6, 0x1
-_08022BCE:
- cmp r5, r6
- beq _08022B6C
- ldr r1, [r7]
- movs r0, 0xA
- str r0, [r1, 0x4]
- ldr r0, [r1, 0x40]
- lsls r0, 24
- lsrs r0, 24
- bl sub_808EAB0
- adds r1, r0, 0
- ldr r0, _08022C18
- bl strcpy
- movs r0, 0xCB
- bl sub_8011988
- ldr r0, _08022C1C
- movs r1, 0
- movs r2, 0
- ldr r3, _08022C20
- bl sub_80141B4
- ldr r1, [r7]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- ldr r0, _08022C24
- ldr r0, [r0]
- ldr r0, [r0, 0x40]
- cmp r0, 0x17
- bgt _08022C10
- b _08022D22
-_08022C10:
- movs r0, 0xB
- bl sub_8022924
- b _08022D22
- .align 2, 0
-_08022C18: .4byte gUnknown_202DEA8
-_08022C1C: .4byte gUnknown_80DC788
-_08022C20: .4byte 0x00000101
-_08022C24: .4byte gUnknown_203B294
-_08022C28:
- ldr r1, [r4]
- movs r0, 0x16
- str r0, [r1, 0x4]
- bl nullsub_104
- ldr r0, [r4]
- adds r0, 0x46
- ldrh r0, [r0]
- cmp r0, 0x8
- bhi _08022C98
- lsls r0, 2
- ldr r1, _08022C48
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022C48: .4byte _08022C4C
- .align 2, 0
-_08022C4C:
- .4byte _08022C70
- .4byte _08022C78
- .4byte _08022C80
- .4byte _08022C98
- .4byte _08022C88
- .4byte _08022C98
- .4byte _08022C98
- .4byte _08022C98
- .4byte _08022C90
-_08022C70:
- movs r0, 0x16
- bl sub_8022924
- b _08022D22
-_08022C78:
- movs r0, 0xD
- bl sub_8022924
- b _08022D22
-_08022C80:
- movs r0, 0xE
- bl sub_8022924
- b _08022D22
-_08022C88:
- movs r0, 0xF
- bl sub_8022924
- b _08022D22
-_08022C90:
- movs r0, 0x10
- bl sub_8022924
- b _08022D22
-_08022C98:
- movs r0, 0xC
- bl sub_8022924
- b _08022D22
-_08022CA0:
- ldr r0, _08022CA4
- b _08022D00
- .align 2, 0
-_08022CA4: .4byte gUnknown_80DC7B4
-_08022CA8:
- ldr r0, _08022CAC
- b _08022D00
- .align 2, 0
-_08022CAC: .4byte gUnknown_80DC7FC
-_08022CB0:
- ldr r0, _08022CB4
- b _08022D00
- .align 2, 0
-_08022CB4: .4byte gUnknown_80DC81C
-_08022CB8:
- ldr r0, _08022CBC
- b _08022D00
- .align 2, 0
-_08022CBC: .4byte gUnknown_80DC844
-_08022CC0:
- ldr r0, _08022CC4
- b _08022D00
- .align 2, 0
-_08022CC4: .4byte gUnknown_80DC864
-_08022CC8:
- ldr r1, [r4]
- movs r0, 0x16
- str r0, [r1, 0x4]
- ldr r0, _08022CD4
- b _08022D00
- .align 2, 0
-_08022CD4: .4byte gUnknown_80DC88C
-_08022CD8:
- ldr r1, [r4]
- movs r0, 0x16
- str r0, [r1, 0x4]
- ldr r0, _08022CE4
- b _08022D00
- .align 2, 0
-_08022CE4: .4byte gUnknown_80DC8AC
-_08022CE8:
- ldr r1, [r4]
- movs r0, 0x16
- str r0, [r1, 0x4]
- ldr r0, _08022CF4
- b _08022D00
- .align 2, 0
-_08022CF4: .4byte gUnknown_80DC8C8
-_08022CF8:
- ldr r1, [r4]
- movs r0, 0x16
- str r0, [r1, 0x4]
- ldr r0, _08022D0C
-_08022D00:
- ldr r3, _08022D10
-_08022D02:
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _08022D22
- .align 2, 0
-_08022D0C: .4byte gUnknown_80DC8DC
-_08022D10: .4byte 0x00000301
-_08022D14:
- ldr r0, [r4]
- ldr r0, [r0, 0x4C]
- bl sub_801AFA4
- b _08022D22
-_08022D1E:
- bl sub_801A928
-_08022D22:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8022A10
-
- thumb_func_start sub_8022D2C
-sub_8022D2C:
- push {r4-r7,lr}
- movs r6, 0
- ldr r4, _08022D78
- ldr r0, [r4]
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r2, [r4]
- ldr r0, [r2, 0x48]
- cmp r0, 0
- beq _08022D80
- adds r1, r2, 0
- adds r1, 0xF8
- ldr r0, _08022D7C
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x5
- str r0, [r1]
- adds r0, r2, 0
- adds r0, 0x52
- ldrb r0, [r0]
- bl sub_8091764
- lsls r0, 24
- cmp r0, 0
- bne _08022D74
- ldr r0, [r4]
- movs r2, 0x9C
- lsls r2, 1
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0]
-_08022D74:
- movs r6, 0x1
- b _08022DBE
- .align 2, 0
-_08022D78: .4byte gUnknown_203B294
-_08022D7C: .4byte gUnknown_80DC8F0
-_08022D80:
- adds r0, r2, 0
- adds r0, 0x52
- ldrb r0, [r0]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _08022DA4
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0xF8
- ldr r0, _08022E38
- str r0, [r2]
- adds r1, 0xFC
- movs r0, 0x6
- str r0, [r1]
- movs r6, 0x1
-_08022DA4:
- ldr r2, [r4]
- lsls r3, r6, 3
- adds r0, r2, 0
- adds r0, 0xF8
- adds r0, r3
- ldr r1, _08022E3C
- ldr r1, [r1]
- str r1, [r0]
- adds r2, 0xFC
- adds r2, r3
- movs r0, 0x4
- str r0, [r2]
- adds r6, 0x1
-_08022DBE:
- ldr r4, _08022E40
- ldr r0, [r4]
- mov r12, r0
- lsls r1, r6, 3
- mov r2, r12
- adds r2, 0xF8
- adds r3, r2, r1
- ldr r0, _08022E44
- ldr r0, [r0]
- str r0, [r3]
- mov r3, r12
- adds r3, 0xFC
- adds r1, r3, r1
- movs r0, 0x7
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r2, r1
- movs r0, 0
- str r0, [r2]
- adds r1, r3, r1
- movs r0, 0x1
- str r0, [r1]
- movs r5, 0
- adds r7, r4, 0
- cmp r5, r6
- bge _08022E16
- mov r4, r12
- adds r4, 0xF4
- movs r2, 0x9C
- lsls r2, 1
- add r2, r12
-_08022DFE:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08022E0C
- ldr r1, [r3]
- ldr r0, [r4]
- cmp r1, r0
- beq _08022E70
-_08022E0C:
- adds r2, 0x2
- adds r3, 0x8
- adds r5, 0x1
- cmp r5, r6
- blt _08022DFE
-_08022E16:
- movs r5, 0
- cmp r5, r6
- bge _08022E70
- ldr r1, [r7]
- movs r2, 0x9C
- lsls r2, 1
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _08022E48
- adds r0, r1, 0
- adds r0, 0xF4
- adds r1, 0xFC
- ldr r1, [r1]
- str r1, [r0]
- b _08022E70
- .align 2, 0
-_08022E38: .4byte gUnknown_80DC8F8
-_08022E3C: .4byte gUnknown_80D4940
-_08022E40: .4byte gUnknown_203B294
-_08022E44: .4byte gUnknown_80D4970
-_08022E48:
- adds r5, 0x1
- cmp r5, r6
- bge _08022E70
- ldr r3, [r7]
- lsls r0, r5, 1
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r3, r2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08022E48
- adds r2, r3, 0
- adds r2, 0xF4
- lsls r1, r5, 3
- adds r0, r3, 0
- adds r0, 0xFC
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
-_08022E70:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8022D2C
-
- thumb_func_start sub_8022E78
-sub_8022E78:
- push {lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x3
- beq _08022E94
- cmp r0, 0x3
- bhi _08022E8E
- cmp r0, 0x2
- beq _08022EE8
- b _08022EEE
-_08022E8E:
- cmp r0, 0x4
- beq _08022EBC
- b _08022EEE
-_08022E94:
- bl sub_801A8AC
- ldr r1, _08022EB4
- ldr r2, [r1]
- str r0, [r2, 0x4C]
- ldr r1, _08022EB8
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x50]
- movs r0, 0x2
- bl sub_8022924
- b _08022EEE
- .align 2, 0
-_08022EB4: .4byte gUnknown_203B294
-_08022EB8: .4byte gUnknown_203B460
-_08022EBC:
- bl sub_801A8AC
- ldr r1, _08022EE0
- ldr r2, [r1]
- str r0, [r2, 0x4C]
- ldr r1, _08022EE4
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x50]
- movs r0, 0
- bl sub_8099690
- movs r0, 0x4
- bl sub_8022924
- b _08022EEE
- .align 2, 0
-_08022EE0: .4byte gUnknown_203B294
-_08022EE4: .4byte gUnknown_203B460
-_08022EE8:
- movs r0, 0x16
- bl sub_8022924
-_08022EEE:
- pop {r0}
- bx r0
- thumb_func_end sub_8022E78
-
- thumb_func_start sub_8022EF4
-sub_8022EF4:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _08022F3C
- ldr r0, [r4]
- adds r0, 0x54
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08022F26
- ldr r0, [r4]
- adds r0, 0x54
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08022F26
- ldr r0, [r4]
- adds r0, 0xF4
- str r1, [r0]
-_08022F26:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0x6
- bls _08022F30
- b _08023060
-_08022F30:
- lsls r0, 2
- ldr r1, _08022F40
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022F3C: .4byte gUnknown_203B294
-_08022F40: .4byte _08022F44
- .align 2, 0
-_08022F44:
- .4byte _08022F60
- .4byte _08023060
- .4byte _08023060
- .4byte _0802304C
- .4byte _08022F68
- .4byte _08023044
- .4byte _08023054
-_08022F60:
- movs r0, 0x1
- bl sub_8022924
- b _08023060
-_08022F68:
- ldr r4, _08022FEC
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- ldr r1, [r1, 0x48]
- movs r2, 0x14
- ldrsh r1, [r1, r2]
- bl sub_808EBA8
- ldr r3, [r4]
- str r0, [r3, 0x38]
- ldr r0, [r3, 0x48]
- adds r1, r3, 0
- adds r1, 0x52
- ldrb r1, [r1]
- adds r3, 0x44
- movs r2, 0
- bl sub_80915F4
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x20
- ldr r1, [r1, 0x48]
- movs r2, 0x14
- ldrsh r1, [r1, r2]
- bl sub_808EBA8
- ldr r1, [r4]
- str r0, [r1, 0x3C]
- movs r0, 0x1
- str r0, [r1, 0x40]
- adds r0, r1, 0
- adds r0, 0x44
- movs r2, 0
- ldrsh r5, [r0, r2]
- ldr r0, _08022FF0
- ldr r3, _08022FF4
- ldr r2, [r1, 0x4C]
- lsls r2, 2
- ldr r1, [r3]
- adds r1, r2
- movs r2, 0
- bl sub_8090E14
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _08022FD0
- ldr r0, [r4]
- ldr r0, [r0, 0x4C]
- bl sub_80911F8
-_08022FD0:
- movs r0, 0
- bl sub_8099690
- ldr r1, [r4]
- movs r0, 0xA
- str r0, [r1, 0x4]
- adds r0, r5, 0x1
- cmp r0, 0x4
- bhi _08023030
- lsls r0, 2
- ldr r1, _08022FF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022FEC: .4byte gUnknown_203B294
-_08022FF0: .4byte gUnknown_202DE58
-_08022FF4: .4byte gUnknown_203B460
-_08022FF8: .4byte _08022FFC
- .align 2, 0
-_08022FFC:
- .4byte _08023030
- .4byte _08023010
- .4byte _08023018
- .4byte _08023020
- .4byte _08023028
-_08023010:
- movs r0, 0x6
- bl sub_8022924
- b _08023060
-_08023018:
- movs r0, 0x7
- bl sub_8022924
- b _08023060
-_08023020:
- movs r0, 0x8
- bl sub_8022924
- b _08023060
-_08023028:
- movs r0, 0x9
- bl sub_8022924
- b _08023060
-_08023030:
- ldr r0, _08023040
- ldr r1, [r0]
- movs r0, 0x16
- str r0, [r1, 0x4]
- movs r0, 0x5
- bl sub_8022924
- b _08023060
- .align 2, 0
-_08023040: .4byte gUnknown_203B294
-_08023044:
- movs r0, 0x15
- bl sub_8022924
- b _08023060
-_0802304C:
- movs r0, 0x3
- bl sub_8022924
- b _08023060
-_08023054:
- movs r0, 0
- bl sub_8099690
- movs r0, 0x4
- bl sub_8022924
-_08023060:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8022EF4
-
- thumb_func_start sub_8023068
-sub_8023068:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _080230A8
- ldr r0, [r4]
- adds r0, 0x54
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0xA4
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08023096
- ldr r0, [r4]
- adds r0, 0xA4
- mov r1, sp
- bl sub_8013114
-_08023096:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _080230B8
- cmp r0, 0x2
- bgt _080230AC
- cmp r0, 0x1
- beq _080230B0
- b _080230E0
- .align 2, 0
-_080230A8: .4byte gUnknown_203B294
-_080230AC:
- cmp r0, 0x3
- bne _080230E0
-_080230B0:
- movs r0, 0x1
- bl sub_8022924
- b _080230E0
-_080230B8:
- ldr r0, [r4]
- ldr r0, [r0, 0x4C]
- bl sub_80911F8
- bl sub_8090A34
- cmp r0, 0
- bne _080230DA
- movs r0, 0
- bl sub_8099690
- bl sub_801A928
- movs r0, 0x14
- bl sub_8022924
- b _080230E0
-_080230DA:
- movs r0, 0x1
- bl sub_8022924
-_080230E0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8023068
-
- thumb_func_start sub_80230E8
-sub_80230E8:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08023100
- cmp r0, 0x3
- bhi _08023100
- bl sub_801B450
- movs r0, 0x1
- bl sub_8022924
-_08023100:
- pop {r0}
- bx r0
- thumb_func_end sub_80230E8
-
- thumb_func_start sub_8023104
-sub_8023104:
- push {lr}
- bl sub_801B00C
- cmp r0, 0x1
- bls _0802311C
- cmp r0, 0x3
- bhi _0802311C
- bl sub_801B048
- movs r0, 0x1
- bl sub_8022924
-_0802311C:
- pop {r0}
- bx r0
- thumb_func_end sub_8023104
-
- thumb_func_start sub_8023120
-sub_8023120:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08023138
- ldr r0, _08023140
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_8022924
-_08023138:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08023140: .4byte gUnknown_203B294
- thumb_func_end sub_8023120
-
- thumb_func_start sub_8023144
-sub_8023144:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r1, 0
- mov r9, r2
- mov r10, r3
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl sub_8023704
- lsls r0, 24
- cmp r0, 0
- beq _08023168
- movs r0, 0
- b _08023252
-_08023168:
- ldr r6, _08023260
- ldr r0, [r6]
- cmp r0, 0
- bne _0802317C
- movs r0, 0xFF
- lsls r0, 2
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
-_0802317C:
- ldr r0, [r6]
- strb r4, [r0]
- ldr r0, [r6]
- ldr r1, _08023264
- ldr r1, [r1]
- str r1, [r0, 0x4]
- movs r4, 0xE4
- lsls r4, 2
- adds r1, r0, r4
- str r7, [r1]
- movs r1, 0xE5
- lsls r1, 2
- mov r8, r1
- adds r2, r0, r1
- lsls r1, r7, 1
- adds r1, r7
- lsls r1, 3
- movs r5, 0xE6
- lsls r5, 2
- adds r1, r5
- adds r1, r0, r1
- str r1, [r2]
- adds r0, r5
- bl sub_8006518
- ldr r1, [r6]
- adds r4, r1, r4
- ldr r2, [r4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r5
- ldr r0, _08023268
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r6]
- mov r1, r8
- adds r0, r2, r1
- ldr r1, [r0]
- movs r3, 0xFE
- lsls r3, 2
- adds r0, r2, r3
- str r0, [r1, 0x14]
- mov r4, r9
- cmp r4, 0
- beq _080231F6
- movs r1, 0xE4
- lsls r1, 2
- adds r0, r2, r1
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- subs r3, 0x58
- adds r1, r2, r3
- adds r1, r0
- ldr r0, [r4]
- str r0, [r1]
-_080231F6:
- ldr r0, [r6]
- add r0, r8
- ldr r0, [r0]
- mov r1, r10
- bl sub_8012D08
- bl sub_8004914
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r6]
- movs r5, 0xD7
- lsls r5, 2
- adds r4, r5
- bl sub_80236A4
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r10
- adds r3, r7, 0
- bl sub_8013818
- ldr r0, [r6]
- ldr r1, _0802326C
- ldrh r2, [r1]
- movs r4, 0xDD
- lsls r4, 2
- adds r1, r0, r4
- strh r2, [r1]
- ldr r1, _08023270
- ldrh r2, [r1]
- ldr r3, _08023274
- adds r1, r0, r3
- strh r2, [r1]
- adds r0, r5
- bl sub_8013984
- bl sub_8023420
- bl sub_80234BC
- movs r0, 0x1
-_08023252:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08023260: .4byte gUnknown_3001B5C
-_08023264: .4byte gUnknown_203B298
-_08023268: .4byte gUnknown_80DC91C
-_0802326C: .4byte gUnknown_203B29C
-_08023270: .4byte gUnknown_203B29E
-_08023274: .4byte 0x0000037a
- thumb_func_end sub_8023144
-
- thumb_func_start sub_8023278
-sub_8023278:
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- bne _08023298
- ldr r0, _08023294
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- bl sub_8013660
- movs r0, 0
- b _08023316
- .align 2, 0
-_08023294: .4byte gUnknown_3001B5C
-_08023298:
- ldr r4, _080232B4
- ldr r0, [r4]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- bl GetKeyPress
- cmp r0, 0x2
- beq _080232BE
- cmp r0, 0x2
- bgt _080232B8
- cmp r0, 0x1
- beq _080232C8
- b _080232EC
- .align 2, 0
-_080232B4: .4byte gUnknown_3001B5C
-_080232B8:
- cmp r0, 0x3
- beq _080232D2
- b _080232EC
-_080232BE:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _08023316
-_080232C8:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _08023316
-_080232D2:
- movs r0, 0x5
- bl sub_80119D4
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- movs r2, 0x1
- cmp r1, 0x1
- bhi _080232E4
- adds r2, r1, 0x1
-_080232E4:
- str r2, [r0, 0x4]
- bl sub_80236A4
- b _0802330C
-_080232EC:
- ldr r0, _08023308
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0802330C
- movs r0, 0
- b _08023316
- .align 2, 0
-_08023308: .4byte gUnknown_3001B5C
-_0802330C:
- bl sub_8023420
- bl sub_80234BC
- movs r0, 0x1
-_08023316:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8023278
-
- thumb_func_start sub_802331C
-sub_802331C:
- ldr r0, _0802334C
- ldr r0, [r0]
- ldr r2, _08023350
- adds r1, r0, r2
- movs r3, 0
- ldrsh r2, [r1, r3]
- movs r3, 0xDE
- lsls r3, 2
- adds r1, r0, r3
- movs r3, 0
- ldrsh r1, [r1, r3]
- muls r1, r2
- movs r3, 0xDD
- lsls r3, 2
- adds r2, r0, r3
- movs r3, 0
- ldrsh r2, [r2, r3]
- adds r1, r2
- lsls r1, 1
- adds r0, 0xC
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0802334C: .4byte gUnknown_3001B5C
-_08023350: .4byte 0x0000037a
- thumb_func_end sub_802331C
-
- thumb_func_start sub_8023354
-sub_8023354:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0802339C
- ldr r0, [r5]
- movs r1, 0xE6
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- ldr r0, [r5]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- bl sub_8013984
- bl sub_8023420
- bl sub_80234BC
- cmp r4, 0
- beq _08023396
- ldr r0, [r5]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- bl AddMenuCursorSprite
-_08023396:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802339C: .4byte gUnknown_3001B5C
- thumb_func_end sub_8023354
-
- thumb_func_start sub_80233A0
-sub_80233A0:
- push {r4-r6,lr}
- ldr r5, _08023408
- ldr r2, [r5]
- cmp r2, 0
- beq _08023400
- ldr r1, _0802340C
- ldr r0, [r2, 0x4]
- str r0, [r1]
- ldr r1, _08023410
- movs r3, 0xDD
- lsls r3, 2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, _08023414
- ldr r6, _08023418
- adds r0, r2, r6
- ldrh r0, [r0]
- strh r0, [r1]
- movs r1, 0xE4
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- movs r4, 0xE6
- lsls r4, 2
- adds r1, r4
- ldr r0, _0802341C
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- bl sub_8004914
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r5]
- bl MemoryFree
- movs r0, 0
- str r0, [r5]
-_08023400:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08023408: .4byte gUnknown_3001B5C
-_0802340C: .4byte gUnknown_203B298
-_08023410: .4byte gUnknown_203B29C
-_08023414: .4byte gUnknown_203B29E
-_08023418: .4byte 0x0000037a
-_0802341C: .4byte gUnknown_80DC904
- thumb_func_end sub_80233A0
-
- thumb_func_start sub_8023420
-sub_8023420:
- push {r4,r5,lr}
- ldr r4, _080234A8
- ldr r0, [r4]
- movs r1, 0xFE
- lsls r1, 2
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _080234AC
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- adds r1, 0x1
- adds r0, r1
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _080234B0
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- ldr r2, _080234B4
- adds r0, r2
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- ldr r3, [r4]
- movs r2, 0xE4
- lsls r2, 2
- adds r5, r3, r2
- ldr r2, [r5]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, r3, r1
- ldr r2, _080234B8
- adds r1, r2
- lsls r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r2, [r5]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r3, r1
- movs r1, 0xEA
- lsls r1, 2
- adds r3, r1
- strh r0, [r3]
- bl sub_8004914
- ldr r0, [r4]
- movs r2, 0xE6
- lsls r2, 2
- adds r0, r2
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080234A8: .4byte gUnknown_3001B5C
-_080234AC: .4byte 0x000003f9
-_080234B0: .4byte 0x000003fb
-_080234B4: .4byte 0x00000376
-_080234B8: .4byte 0x000003a6
- thumb_func_end sub_8023420
-
- thumb_func_start sub_80234BC
-sub_80234BC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x178
- ldr r5, _0802368C
- ldr r0, [r5]
- movs r4, 0xE4
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r5]
- adds r0, r4
- ldr r0, [r0]
- bl sub_80073B8
- ldr r2, _08023690
- ldr r0, [r5]
- adds r0, r4
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r3, [r5]
- ldr r1, _08023694
- adds r0, r3, r1
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- ldr r2, _08023698
- adds r1, r3, r2
- movs r6, 0
- ldrsh r2, [r1, r6]
- adds r2, 0x1
- movs r1, 0x7
- str r1, [sp]
- adds r3, r4
- ldr r1, [r3]
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
- movs r0, 0
- mov r10, r0
- ldr r0, [r5]
- ldr r1, _0802369C
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r10, r0
- blt _08023532
- b _0802366C
-_08023532:
- ldr r3, _0802368C
- ldr r0, [r3]
- movs r6, 0xD7
- lsls r6, 2
- adds r0, r6
- mov r1, r10
- bl sub_8013800
- mov r8, r0
- ldr r0, _0802368C
- ldr r1, [r0]
- ldr r2, _08023698
- adds r0, r1, r2
- movs r3, 0
- ldrsh r2, [r0, r3]
- adds r6, 0x1C
- adds r0, r1, r6
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r2
- add r0, r10
- lsls r0, 1
- adds r1, 0xC
- adds r1, r0
- movs r6, 0
- ldrsh r5, [r1, r6]
- adds r0, r5, 0
- bl GetFriendArea
- lsls r0, 24
- lsrs r0, 24
- add r4, sp, 0x16C
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_8092638
- movs r7, 0x7
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _08023594
- adds r0, r5, 0
- bl sub_808E734
- lsls r0, 24
- movs r7, 0x4
- cmp r0, 0
- beq _08023594
- movs r7, 0x5
-_08023594:
- adds r0, r5, 0
- movs r1, 0
- bl sub_808DCA0
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl __modsi3
- adds r2, r0, 0
- adds r2, 0x30
- lsls r2, 24
- lsrs r2, 24
- ldr r6, _0802368C
- ldr r0, [r6]
- movs r1, 0xE4
- lsls r1, 2
- mov r9, r1
- add r0, r9
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0x14
- mov r1, r8
- adds r3, r7, 0
- bl sub_8012C60
- cmp r4, 0x9
- ble _08023628
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- adds r4, r0, 0
- movs r1, 0xA
- bl __modsi3
- adds r2, r0, 0
- adds r2, 0x30
- lsls r2, 24
- lsrs r2, 24
- ldr r0, [r6]
- movs r3, 0xE4
- lsls r3, 2
- adds r0, r3
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0xD
- mov r1, r8
- adds r3, r7, 0
- bl sub_8012C60
- cmp r4, 0x9
- ble _08023628
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- movs r1, 0xA
- bl __modsi3
- adds r2, r0, 0
- adds r2, 0x30
- lsls r2, 24
- lsrs r2, 24
- ldr r0, [r6]
- add r0, r9
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0x6
- mov r1, r8
- adds r3, r7, 0
- bl sub_8012C60
-_08023628:
- add r4, sp, 0x108
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808D930
- add r0, sp, 0x8
- ldr r1, _080236A0
- adds r2, r7, 0
- adds r3, r4, 0
- bl sub_800D158
- ldr r6, _0802368C
- ldr r0, [r6]
- movs r1, 0xE4
- lsls r1, 2
- adds r0, r1
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x24
- mov r1, r8
- add r2, sp, 0x8
- bl xxx_call_draw_string
- movs r2, 0x1
- add r10, r2
- ldr r0, [r6]
- ldr r3, _0802369C
- adds r0, r3
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r10, r0
- bge _0802366C
- b _08023532
-_0802366C:
- ldr r0, _0802368C
- ldr r0, [r0]
- movs r1, 0xE4
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- bl sub_80073E0
- add sp, 0x178
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802368C: .4byte gUnknown_3001B5C
-_08023690: .4byte gUnknown_80DC934
-_08023694: .4byte 0x000003fa
-_08023698: .4byte 0x0000037a
-_0802369C: .4byte 0x00000376
-_080236A0: .4byte gUnknown_80DC93C
- thumb_func_end sub_80234BC
-
- thumb_func_start sub_80236A4
-sub_80236A4:
- push {r4,r5,lr}
- ldr r0, _080236FC
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1, 0x8]
- movs r5, 0
-_080236B0:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_8098134
- lsls r0, 24
- cmp r0, 0
- beq _080236E2
- adds r0, r4, 0
- bl sub_808E858
- lsls r0, 16
- asrs r0, 16
- cmp r4, r0
- bne _080236E2
- ldr r0, _080236FC
- ldr r3, [r0]
- ldr r1, [r3, 0x8]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0xC
- adds r0, r2
- strh r5, [r0]
- adds r1, 0x1
- str r1, [r3, 0x8]
-_080236E2:
- adds r5, 0x1
- ldr r0, _08023700
- cmp r5, r0
- ble _080236B0
- bl sub_8023730
- ldr r0, _080236FC
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080236FC: .4byte gUnknown_3001B5C
-_08023700: .4byte 0x000001a7
- thumb_func_end sub_80236A4
-
- thumb_func_start sub_8023704
-sub_8023704:
- push {r4,lr}
- movs r4, 0
-_08023708:
- lsls r0, r4, 16
- asrs r0, 16
- bl sub_8098134
- lsls r0, 24
- cmp r0, 0
- beq _0802371A
- movs r0, 0
- b _08023724
-_0802371A:
- adds r4, 0x1
- ldr r0, _0802372C
- cmp r4, r0
- ble _08023708
- movs r0, 0x1
-_08023724:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0802372C: .4byte 0x000001a7
- thumb_func_end sub_8023704
-
- thumb_func_start sub_8023730
-sub_8023730:
- push {lr}
- ldr r0, _08023744
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0x1
- beq _08023748
- cmp r0, 0x2
- beq _0802374E
- b _08023752
- .align 2, 0
-_08023744: .4byte gUnknown_3001B5C
-_08023748:
- bl sub_8023758
- b _08023752
-_0802374E:
- bl sub_80237E0
-_08023752:
- pop {r0}
- bx r0
- thumb_func_end sub_8023730
-
- thumb_func_start sub_8023758
-sub_8023758:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r3, _080237DC
- ldr r2, [r3]
- ldr r1, [r2, 0x8]
- lsls r0, r1, 1
- adds r0, 0xA
- adds r2, r0
- mov r9, r2
- movs r2, 0
- subs r1, 0x1
- cmp r2, r1
- bge _080237CC
-_08023778:
- mov r5, r9
- ldr r0, [r3]
- ldr r0, [r0, 0x8]
- subs r7, r0, 0x1
- adds r0, r2, 0x1
- mov r8, r0
- cmp r7, r2
- ble _080237BE
-_08023788:
- subs r6, r5, 0x2
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r1, 0x1
- str r2, [sp]
- bl sub_808DCDC
- adds r4, r0, 0
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r1, 0x1
- bl sub_808DCDC
- lsls r4, 16
- lsls r0, 16
- ldr r2, [sp]
- cmp r4, r0
- ble _080237B6
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldrh r0, [r6]
- strh r0, [r5]
- strh r1, [r6]
-_080237B6:
- adds r5, r6, 0
- subs r7, 0x1
- cmp r7, r2
- bgt _08023788
-_080237BE:
- mov r2, r8
- ldr r3, _080237DC
- ldr r0, [r3]
- ldr r0, [r0, 0x8]
- subs r0, 0x1
- cmp r2, r0
- blt _08023778
-_080237CC:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080237DC: .4byte gUnknown_3001B5C
- thumb_func_end sub_8023758
-
- thumb_func_start sub_80237E0
-sub_80237E0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r3, _08023864
- ldr r2, [r3]
- ldr r1, [r2, 0x8]
- lsls r0, r1, 1
- adds r0, 0xA
- adds r2, r0
- mov r9, r2
- movs r2, 0
- subs r1, 0x1
- cmp r2, r1
- bge _08023854
-_08023800:
- mov r5, r9
- ldr r0, [r3]
- ldr r0, [r0, 0x8]
- subs r7, r0, 0x1
- adds r0, r2, 0x1
- mov r8, r0
- cmp r7, r2
- ble _08023846
-_08023810:
- subs r6, r5, 0x2
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r1, 0
- str r2, [sp]
- bl sub_808DCDC
- adds r4, r0, 0
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r1, 0
- bl sub_808DCDC
- lsls r4, 16
- lsls r0, 16
- ldr r2, [sp]
- cmp r4, r0
- ble _0802383E
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldrh r0, [r6]
- strh r0, [r5]
- strh r1, [r6]
-_0802383E:
- adds r5, r6, 0
- subs r7, 0x1
- cmp r7, r2
- bgt _08023810
-_08023846:
- mov r2, r8
- ldr r3, _08023864
- ldr r0, [r3]
- ldr r0, [r0, 0x8]
- subs r0, 0x1
- cmp r2, r0
- blt _08023800
-_08023854:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08023864: .4byte gUnknown_3001B5C
- thumb_func_end sub_80237E0
-
- thumb_func_start sub_8023868
-sub_8023868:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- mov r8, r1
- mov r9, r2
- mov r10, r3
- bl sub_8024108
- lsls r0, 24
- cmp r0, 0
- beq _08023888
- movs r0, 0
- b _08023A6E
-_08023888:
- ldr r4, _080238AC
- ldr r0, [r4]
- cmp r0, 0
- bne _0802389C
- movs r0, 0xFE
- lsls r0, 2
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
-_0802389C:
- ldr r1, [r4]
- str r5, [r1]
- ldr r0, _080238B0
- ldr r0, [r0]
- cmp r0, r5
- beq _080238B4
- movs r0, 0x1
- b _080238B8
- .align 2, 0
-_080238AC: .4byte gUnknown_3001B60
-_080238B0: .4byte gUnknown_203B2A0
-_080238B4:
- ldr r0, _080238E4
- ldr r0, [r0]
-_080238B8:
- str r0, [r1, 0x4]
- ldr r2, _080238E8
- ldr r0, [r2]
- movs r1, 0
- strb r1, [r0, 0x14]
- ldr r0, [r2]
- strb r1, [r0, 0x15]
- ldr r0, [r2]
- strb r1, [r0, 0x16]
- ldr r0, [r2]
- strb r1, [r0, 0x17]
- ldr r0, [r2]
- strb r1, [r0, 0x18]
- ldr r0, [r2]
- ldr r0, [r0]
- cmp r0, 0x4
- bhi _08023980
- lsls r0, 2
- ldr r1, _080238EC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080238E4: .4byte gUnknown_203B2A4
-_080238E8: .4byte gUnknown_3001B60
-_080238EC: .4byte _080238F0
- .align 2, 0
-_080238F0:
- .4byte _08023958
- .4byte _08023904
- .4byte _08023914
- .4byte _08023924
- .4byte _0802393C
-_08023904:
- ldr r0, _08023910
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x18]
- b _08023958
- .align 2, 0
-_08023910: .4byte gUnknown_3001B60
-_08023914:
- ldr r0, _08023920
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x14]
- b _08023958
- .align 2, 0
-_08023920: .4byte gUnknown_3001B60
-_08023924:
- ldr r2, _08023938
- ldr r0, [r2]
- movs r1, 0x1
- strb r1, [r0, 0x17]
- ldr r0, [r2]
- strb r1, [r0, 0x15]
- ldr r0, [r2]
- strb r1, [r0, 0x16]
- b _08023958
- .align 2, 0
-_08023938: .4byte gUnknown_3001B60
-_0802393C:
- ldr r5, _0802397C
- ldr r0, [r5]
- movs r4, 0x1
- strb r4, [r0, 0x18]
- ldr r0, [r5]
- strb r4, [r0, 0x15]
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08023958
- ldr r0, [r5]
- strb r4, [r0, 0x16]
-_08023958:
- ldr r4, _0802397C
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x4
- bne _08023980
- bl sub_80A5728
- lsls r0, 16
- asrs r0, 16
- bl sub_8002658
- ldr r1, [r4]
- movs r2, 0xD5
- lsls r2, 2
- adds r1, r2
- strb r0, [r1]
- b _0802398E
- .align 2, 0
-_0802397C: .4byte gUnknown_3001B60
-_08023980:
- ldr r0, _08023A7C
- ldr r0, [r0]
- movs r3, 0xD5
- lsls r3, 2
- adds r0, r3
- movs r1, 0
- strb r1, [r0]
-_0802398E:
- ldr r5, _08023A7C
- ldr r0, [r5]
- movs r4, 0xE3
- lsls r4, 2
- adds r1, r0, r4
- mov r2, r8
- str r2, [r1]
- movs r7, 0xE4
- lsls r7, 2
- adds r2, r0, r7
- mov r3, r8
- lsls r1, r3, 1
- add r1, r8
- lsls r1, 3
- movs r6, 0xE5
- lsls r6, 2
- adds r1, r6
- adds r1, r0, r1
- str r1, [r2]
- adds r0, r6
- bl sub_8006518
- ldr r1, [r5]
- adds r4, r1, r4
- ldr r2, [r4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r6
- ldr r0, _08023A80
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r5]
- adds r0, r2, r7
- ldr r1, [r0]
- movs r4, 0xFD
- lsls r4, 2
- adds r0, r2, r4
- str r0, [r1, 0x14]
- mov r0, r9
- cmp r0, 0
- beq _08023A04
- movs r1, 0xE3
- lsls r1, 2
- adds r0, r2, r1
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- movs r3, 0xE7
- lsls r3, 2
- adds r1, r2, r3
- adds r1, r0
- mov r4, r9
- ldr r0, [r4]
- str r0, [r1]
-_08023A04:
- ldr r0, [r5]
- adds r0, r7
- ldr r0, [r0]
- mov r1, r10
- bl sub_8012D08
- bl sub_8004914
- ldr r0, [r5]
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- movs r0, 0xD6
- lsls r0, 2
- adds r4, r0
- bl sub_8023F8C
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r10
- mov r3, r8
- bl sub_8013818
- ldr r0, _08023A84
- ldr r4, [r5]
- ldr r1, [r0]
- ldr r0, [r4]
- cmp r1, r0
- bne _08023A64
- ldr r0, _08023A88
- ldrh r1, [r0]
- movs r2, 0xDC
- lsls r2, 2
- adds r0, r4, r2
- strh r1, [r0]
- ldr r0, _08023A8C
- ldrh r1, [r0]
- ldr r3, _08023A90
- adds r0, r4, r3
- strh r1, [r0]
- movs r1, 0xD6
- lsls r1, 2
- adds r0, r4, r1
- bl sub_8013984
-_08023A64:
- bl sub_8023CF4
- bl sub_8023DA4
- movs r0, 0x1
-_08023A6E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08023A7C: .4byte gUnknown_3001B60
-_08023A80: .4byte gUnknown_80DC968
-_08023A84: .4byte gUnknown_203B2A0
-_08023A88: .4byte gUnknown_203B2A8
-_08023A8C: .4byte gUnknown_203B2AA
-_08023A90: .4byte 0x00000376
- thumb_func_end sub_8023868
-
- thumb_func_start sub_8023A94
-sub_8023A94:
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- bne _08023AB4
- ldr r0, _08023AB0
- ldr r0, [r0]
- movs r1, 0xD6
- lsls r1, 2
- adds r0, r1
- bl sub_8013660
- movs r0, 0
- b _08023B3E
- .align 2, 0
-_08023AB0: .4byte gUnknown_3001B60
-_08023AB4:
- ldr r4, _08023AD0
- ldr r0, [r4]
- movs r1, 0xD6
- lsls r1, 2
- adds r0, r1
- bl GetKeyPress
- cmp r0, 0x2
- beq _08023ADE
- cmp r0, 0x2
- bgt _08023AD4
- cmp r0, 0x1
- beq _08023AF2
- b _08023B16
- .align 2, 0
-_08023AD0: .4byte gUnknown_3001B60
-_08023AD4:
- cmp r0, 0x3
- beq _08023AFC
- cmp r0, 0x4
- beq _08023AE8
- b _08023B16
-_08023ADE:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _08023B3E
-_08023AE8:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _08023B3E
-_08023AF2:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _08023B3E
-_08023AFC:
- movs r0, 0x5
- bl sub_80119D4
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- movs r2, 0x1
- cmp r1, 0x2
- bhi _08023B0E
- adds r2, r1, 0x1
-_08023B0E:
- str r2, [r0, 0x4]
- bl sub_8023F8C
- b _08023B34
-_08023B16:
- ldr r0, _08023B30
- ldr r0, [r0]
- movs r1, 0xD6
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _08023B34
- movs r0, 0
- b _08023B3E
- .align 2, 0
-_08023B30: .4byte gUnknown_3001B60
-_08023B34:
- bl sub_8023CF4
- bl sub_8023DA4
- movs r0, 0x1
-_08023B3E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8023A94
-
- thumb_func_start sub_8023B44
-sub_8023B44:
- ldr r0, _08023B74
- ldr r0, [r0]
- ldr r2, _08023B78
- adds r1, r0, r2
- movs r3, 0
- ldrsh r2, [r1, r3]
- movs r3, 0xDD
- lsls r3, 2
- adds r1, r0, r3
- movs r3, 0
- ldrsh r1, [r1, r3]
- muls r1, r2
- movs r3, 0xDC
- lsls r3, 2
- adds r2, r0, r3
- movs r3, 0
- ldrsh r2, [r2, r3]
- adds r1, r2
- lsls r1, 1
- adds r0, 0x1A
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08023B74: .4byte gUnknown_3001B60
-_08023B78: .4byte 0x00000376
- thumb_func_end sub_8023B44
-
- thumb_func_start sub_8023B7C
-sub_8023B7C:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _08023BD0
- ldr r0, [r5]
- movs r1, 0xE5
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_8023BD8
- adds r2, r0, 0
- ldr r0, [r5]
- ldr r3, _08023BD4
- adds r1, r0, r3
- strh r2, [r1]
- movs r1, 0xD6
- lsls r1, 2
- adds r0, r1
- bl sub_8013984
- bl sub_8023CF4
- bl sub_8023DA4
- cmp r4, 0
- beq _08023BCA
- ldr r0, [r5]
- movs r3, 0xD6
- lsls r3, 2
- adds r0, r3
- bl AddMenuCursorSprite
-_08023BCA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08023BD0: .4byte gUnknown_3001B60
-_08023BD4: .4byte 0x0000037a
- thumb_func_end sub_8023B7C
-
- thumb_func_start sub_8023BD8
-sub_8023BD8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r3, 0
- ldr r1, _08023C58
- ldr r0, [r1]
- ldr r0, [r0, 0x8]
- adds r7, r1, 0
- cmp r3, r0
- bge _08023C4A
- ldr r0, _08023C5C
- mov r8, r0
- mov r12, r7
-_08023BF2:
- ldr r2, [r1]
- lsls r4, r3, 1
- adds r0, r2, 0
- adds r0, 0x1A
- adds r0, r4
- movs r5, 0
- ldrsh r1, [r0, r5]
- movs r0, 0x58
- muls r0, r1
- mov r5, r8
- ldr r1, [r5]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- adds r6, r3, 0x1
- cmp r0, 0
- bne _08023C3E
- ldr r0, [r2, 0x8]
- subs r0, 0x1
- str r0, [r2, 0x8]
- cmp r3, r0
- bge _08023C3E
- mov r5, r12
- adds r4, 0x2
-_08023C24:
- ldr r2, [r5]
- lsls r1, r3, 1
- adds r0, r2, 0
- adds r0, 0x1A
- adds r1, r0, r1
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r4, 0x2
- adds r3, 0x1
- ldr r0, [r2, 0x8]
- cmp r3, r0
- blt _08023C24
-_08023C3E:
- adds r3, r6, 0
- adds r1, r7, 0
- ldr r0, [r7]
- ldr r0, [r0, 0x8]
- cmp r3, r0
- blt _08023BF2
-_08023C4A:
- ldr r0, [r7]
- ldr r0, [r0, 0x8]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08023C58: .4byte gUnknown_3001B60
-_08023C5C: .4byte gUnknown_203B45C
- thumb_func_end sub_8023BD8
-
- thumb_func_start sub_8023C60
-sub_8023C60:
- push {r4-r6,lr}
- ldr r5, _08023CCC
- ldr r2, [r5]
- cmp r2, 0
- beq _08023CC6
- ldr r1, _08023CD0
- ldr r0, [r2]
- str r0, [r1]
- ldr r1, _08023CD4
- ldr r0, [r2, 0x4]
- str r0, [r1]
- ldr r1, _08023CD8
- movs r3, 0xDC
- lsls r3, 2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, _08023CDC
- ldr r6, _08023CE0
- adds r0, r2, r6
- ldrh r0, [r0]
- strh r0, [r1]
- movs r1, 0xE3
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- movs r4, 0xE5
- lsls r4, 2
- adds r1, r4
- ldr r0, _08023CE4
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- bl sub_8004914
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r5]
- bl MemoryFree
- movs r0, 0
- str r0, [r5]
-_08023CC6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08023CCC: .4byte gUnknown_3001B60
-_08023CD0: .4byte gUnknown_203B2A0
-_08023CD4: .4byte gUnknown_203B2A4
-_08023CD8: .4byte gUnknown_203B2A8
-_08023CDC: .4byte gUnknown_203B2AA
-_08023CE0: .4byte 0x00000376
-_08023CE4: .4byte gUnknown_80DC950
- thumb_func_end sub_8023C60
-
- thumb_func_start sub_8023CE8
-sub_8023CE8:
- ldr r0, _08023CF0
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08023CF0: .4byte gUnknown_3001B60
- thumb_func_end sub_8023CE8
-
- thumb_func_start sub_8023CF4
-sub_8023CF4:
- push {r4,r5,lr}
- ldr r2, _08023D28
- ldr r0, [r2]
- movs r1, 0xFD
- lsls r1, 2
- adds r0, r1
- movs r3, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _08023D2C
- adds r0, r1
- strb r3, [r0]
- ldr r0, [r2]
- adds r1, 0x2
- adds r0, r1
- strb r3, [r0]
- ldr r1, [r2]
- ldr r0, [r1]
- adds r5, r2, 0
- cmp r0, 0x2
- bne _08023D34
- ldr r0, _08023D30
- adds r1, r0
- b _08023D38
- .align 2, 0
-_08023D28: .4byte gUnknown_3001B60
-_08023D2C: .4byte 0x000003f5
-_08023D30: .4byte 0x000003f6
-_08023D34:
- ldr r2, _08023D98
- adds r1, r2
-_08023D38:
- movs r0, 0xC
- strb r0, [r1]
- ldr r0, [r5]
- ldr r1, _08023D9C
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- ldr r3, [r5]
- movs r1, 0xE3
- lsls r1, 2
- adds r4, r3, r1
- ldr r2, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, r3, r1
- ldr r2, _08023DA0
- adds r1, r2
- lsls r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r2, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r3, r1
- movs r1, 0xE9
- lsls r1, 2
- adds r3, r1
- strh r0, [r3]
- bl sub_8004914
- ldr r0, [r5]
- movs r2, 0xE5
- lsls r2, 2
- adds r0, r2
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08023D98: .4byte 0x000003f6
-_08023D9C: .4byte 0x00000372
-_08023DA0: .4byte 0x000003a2
- thumb_func_end sub_8023CF4
-
- thumb_func_start sub_8023DA4
-sub_8023DA4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x58
- ldr r4, _08023DD8
- ldr r0, [r4]
- movs r5, 0xE3
- lsls r5, 2
- adds r0, r5
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r4]
- adds r0, r5
- ldr r0, [r0]
- bl sub_80073B8
- ldr r0, [r4]
- ldr r1, [r0]
- cmp r1, 0x2
- beq _08023DE0
- cmp r1, 0x4
- beq _08023E00
- ldr r2, _08023DDC
- b _08023E02
- .align 2, 0
-_08023DD8: .4byte gUnknown_3001B60
-_08023DDC: .4byte gUnknown_80DC988
-_08023DE0:
- add r0, sp, 0x8
- bl sub_80920D8
- ldr r0, [r4]
- movs r1, 0xE3
- lsls r1, 2
- adds r0, r1
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- add r2, sp, 0x8
- bl xxx_call_draw_string
- b _08023E3C
-_08023E00:
- ldr r2, _08023EBC
-_08023E02:
- adds r0, r5
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r1, [r4]
- ldr r2, _08023EC0
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r3, r0, 0x4
- ldr r4, _08023EC4
- adds r0, r1, r4
- movs r4, 0
- ldrsh r2, [r0, r4]
- adds r2, 0x1
- movs r0, 0x7
- str r0, [sp]
- adds r1, r5
- ldr r0, [r1]
- str r0, [sp, 0x4]
- adds r0, r3, 0
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
-_08023E3C:
- movs r7, 0
- ldr r1, _08023EC8
- ldr r0, [r1]
- ldr r2, _08023ECC
- adds r0, r2
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r7, r0
- blt _08023E50
- b _08023F62
-_08023E50:
- mov r8, r1
- add r0, sp, 0x30
- mov r9, r0
-_08023E56:
- ldr r3, [r1]
- ldr r1, _08023EC4
- adds r0, r3, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r4, 0xDD
- lsls r4, 2
- adds r0, r3, r4
- movs r2, 0
- ldrsh r0, [r0, r2]
- muls r1, r0
- adds r1, r7
- lsls r1, 1
- adds r0, r3, 0
- adds r0, 0x1A
- adds r0, r1
- movs r4, 0
- ldrsh r5, [r0, r4]
- ldr r2, _08023ED0
- movs r0, 0x58
- adds r1, r5, 0
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- movs r6, 0x7
- ldrh r0, [r4]
- lsrs r0, 1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08023ED4
- movs r0, 0
- ldrb r1, [r4, 0x4]
- cmp r1, 0x41
- bne _08023E9E
- movs r0, 0x1
-_08023E9E:
- cmp r0, 0
- beq _08023EA4
- movs r6, 0x6
-_08023EA4:
- movs r0, 0
- cmp r1, 0x40
- bne _08023EAC
- movs r0, 0x1
-_08023EAC:
- cmp r0, 0
- beq _08023EB2
- movs r6, 0x6
-_08023EB2:
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _08023EEA
- movs r6, 0x5
- b _08023EEA
- .align 2, 0
-_08023EBC: .4byte gUnknown_80DC980
-_08023EC0: .4byte 0x000003f6
-_08023EC4: .4byte 0x00000376
-_08023EC8: .4byte gUnknown_3001B60
-_08023ECC: .4byte 0x00000372
-_08023ED0: .4byte gUnknown_203B45C
-_08023ED4:
- ldrb r0, [r3, 0x18]
- cmp r0, 0
- beq _08023EEA
- adds r0, r5, 0
- bl sub_808D750
- lsls r0, 24
- movs r6, 0x2
- cmp r0, 0
- beq _08023EEA
- movs r6, 0x4
-_08023EEA:
- mov r0, r8
- ldr r1, [r0]
- ldr r0, [r1]
- cmp r0, 0x4
- bne _08023F02
- movs r2, 0xD5
- lsls r2, 2
- adds r0, r1, r2
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_8024184
-_08023F02:
- adds r1, r4, 0
- adds r1, 0x4C
- mov r0, r9
- movs r2, 0xA
- bl sub_80922B4
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- add r0, sp, 0x44
- bl sub_808D930
- add r0, sp, 0x8
- ldr r1, _08023F80
- adds r2, r6, 0
- mov r3, r9
- bl sub_800D158
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0xD6
- lsls r2, 2
- adds r0, r2
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- mov r4, r8
- ldr r0, [r4]
- movs r2, 0xE3
- lsls r2, 2
- adds r0, r2
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- add r2, sp, 0x8
- bl xxx_call_draw_string
- adds r7, 0x1
- mov r1, r8
- ldr r0, [r4]
- ldr r4, _08023F84
- adds r0, r4
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r7, r0
- bge _08023F62
- b _08023E56
-_08023F62:
- ldr r0, _08023F88
- ldr r0, [r0]
- movs r4, 0xE3
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl sub_80073E0
- add sp, 0x58
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08023F80: .4byte gUnknown_80DC998
-_08023F84: .4byte 0x00000372
-_08023F88: .4byte gUnknown_3001B60
- thumb_func_end sub_8023DA4
-
- thumb_func_start sub_8023F8C
-sub_8023F8C:
- push {r4-r7,lr}
- ldr r2, _08023FD0
- ldr r1, [r2]
- movs r0, 0
- str r0, [r1, 0x8]
- ldrb r0, [r1, 0x15]
- adds r6, r2, 0
- cmp r0, 0
- bne _08023FE2
- movs r4, 0
- ldr r2, _08023FD4
-_08023FA2:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- ldr r0, [r2]
- adds r1, r0, r1
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _08023FD8
- ldrb r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08023FD8
- ldr r3, [r6]
- ldr r1, [r3, 0x8]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0x1A
- adds r0, r2
- strh r4, [r0]
- adds r1, 0x1
- str r1, [r3, 0x8]
- b _08023FE2
- .align 2, 0
-_08023FD0: .4byte gUnknown_3001B60
-_08023FD4: .4byte gUnknown_203B45C
-_08023FD8:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _08023FA2
-_08023FE2:
- ldr r0, [r6]
- ldrb r0, [r0, 0x16]
- cmp r0, 0
- bne _08024042
- movs r4, 0
- ldr r3, _08024034
-_08023FEE:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- ldr r0, [r3]
- adds r1, r0, r1
- movs r2, 0
- ldrb r0, [r1, 0x4]
- cmp r0, 0x41
- bne _08024002
- movs r2, 0x1
-_08024002:
- cmp r2, 0
- beq _08024038
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _08024038
- ldrh r1, [r1]
- lsrs r0, r1, 1
- movs r2, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08024038
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08024038
- ldr r3, [r6]
- ldr r1, [r3, 0x8]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0x1A
- adds r0, r2
- strh r4, [r0]
- adds r1, 0x1
- str r1, [r3, 0x8]
- b _08024042
- .align 2, 0
-_08024034: .4byte gUnknown_203B45C
-_08024038:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _08023FEE
-_08024042:
- ldr r0, [r6]
- ldr r1, [r0, 0x8]
- str r1, [r0, 0xC]
- ldrb r0, [r0, 0x17]
- cmp r0, 0
- bne _080240A4
- movs r4, 0
- ldr r7, _08024100
- movs r5, 0x1
-_08024054:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- ldr r0, [r7]
- adds r1, r0, r1
- ldrh r2, [r1]
- lsrs r0, r2, 1
- ands r0, r5
- cmp r0, 0
- beq _0802409A
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _0802409A
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _0802409A
- movs r2, 0
- ldrb r0, [r1, 0x4]
- cmp r0, 0x41
- bne _08024080
- movs r2, 0x1
-_08024080:
- cmp r2, 0
- bne _0802409A
- ldr r3, [r6]
- ldr r1, [r3, 0x8]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0x1A
- adds r0, r2
- strh r4, [r0]
- adds r1, 0x1
- str r1, [r3, 0x8]
- cmp r1, 0x3
- bgt _080240A4
-_0802409A:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _08024054
-_080240A4:
- ldr r0, [r6]
- ldr r1, [r0, 0x8]
- str r1, [r0, 0x10]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _080240EE
- movs r4, 0
- ldr r7, _08024100
- movs r5, 0x1
-_080240B6:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- ldr r0, [r7]
- adds r1, r0, r1
- ldrh r1, [r1]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080240E4
- lsrs r0, r1, 1
- ands r0, r5
- cmp r0, 0
- bne _080240E4
- ldr r3, [r6]
- ldr r1, [r3, 0x8]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0x1A
- adds r0, r2
- strh r4, [r0]
- adds r1, 0x1
- str r1, [r3, 0x8]
-_080240E4:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _080240B6
-_080240EE:
- bl sub_80241A8
- ldr r0, _08024104
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08024100: .4byte gUnknown_203B45C
-_08024104: .4byte gUnknown_3001B60
- thumb_func_end sub_8023F8C
-
- thumb_func_start sub_8024108
-sub_8024108:
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r7, 0
- movs r6, 0x1
-_08024110:
- ldr r2, _08024134
- movs r0, 0x58
- adds r1, r7, 0
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- ldrh r1, [r4]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08024172
- cmp r5, 0x2
- bne _08024138
- lsrs r0, r1, 1
- ands r0, r6
- cmp r0, 0
- beq _08024172
- b _0802416E
- .align 2, 0
-_08024134: .4byte gUnknown_203B45C
-_08024138:
- cmp r5, 0x3
- bne _08024140
- lsrs r0, r1, 1
- b _08024168
-_08024140:
- cmp r5, 0x4
- bne _0802416E
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _08024172
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _0802416E
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _08024160
- movs r1, 0x1
-_08024160:
- cmp r1, 0
- beq _0802416E
- ldrh r0, [r4]
- lsrs r0, 1
-_08024168:
- ands r0, r6
- cmp r0, 0
- bne _08024172
-_0802416E:
- movs r0, 0
- b _0802417E
-_08024172:
- adds r7, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r7, r0
- ble _08024110
- movs r0, 0x1
-_0802417E:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8024108
-
- thumb_func_start sub_8024184
-sub_8024184:
- push {r4,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl GetFriendArea
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- beq _0802419E
- movs r0, 0
- b _080241A0
-_0802419E:
- movs r0, 0x1
-_080241A0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8024184
-
- thumb_func_start sub_80241A8
-sub_80241A8:
- push {r4,lr}
- ldr r4, _080241C0
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- cmp r0, 0x2
- beq _080241CA
- cmp r0, 0x2
- bhi _080241C4
- cmp r0, 0x1
- beq _08024206
- b _08024222
- .align 2, 0
-_080241C0: .4byte gUnknown_3001B60
-_080241C4:
- cmp r0, 0x3
- beq _080241E8
- b _08024222
-_080241CA:
- ldr r0, [r1, 0xC]
- ldr r1, [r1, 0x10]
- cmp r0, r1
- beq _080241D6
- bl sub_80242D0
-_080241D6:
- ldr r0, [r4]
- ldr r2, [r0, 0x10]
- ldr r1, [r0, 0x8]
- cmp r2, r1
- beq _08024222
- adds r0, r2, 0
- bl sub_80242D0
- b _08024222
-_080241E8:
- ldr r0, [r1, 0xC]
- ldr r1, [r1, 0x10]
- cmp r0, r1
- beq _080241F4
- bl sub_802437C
-_080241F4:
- ldr r0, [r4]
- ldr r2, [r0, 0x10]
- ldr r1, [r0, 0x8]
- cmp r2, r1
- beq _08024222
- adds r0, r2, 0
- bl sub_802437C
- b _08024222
-_08024206:
- ldr r0, [r1, 0xC]
- ldr r1, [r1, 0x10]
- cmp r0, r1
- beq _08024212
- bl sub_8024228
-_08024212:
- ldr r0, [r4]
- ldr r2, [r0, 0x10]
- ldr r1, [r0, 0x8]
- cmp r2, r1
- beq _08024222
- adds r0, r2, 0
- bl sub_8024228
-_08024222:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80241A8
-
- thumb_func_start sub_8024228
-sub_8024228:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r3, _080242C8
- lsls r2, r1, 1
- adds r2, 0x18
- ldr r3, [r3]
- adds r3, r2
- str r3, [sp]
- adds r2, r0, 0
- subs r1, 0x1
- cmp r2, r1
- bge _080242B8
- str r1, [sp, 0x4]
-_0802424A:
- ldr r5, [sp]
- adds r7, r1, 0
- adds r0, r2, 0x1
- mov r10, r0
- cmp r7, r2
- ble _080242B0
- ldr r3, _080242CC
- mov r9, r3
- movs r0, 0x58
- mov r8, r0
-_0802425E:
- mov r3, r9
- ldr r1, [r3]
- subs r6, r5, 0x2
- movs r3, 0
- ldrsh r0, [r6, r3]
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- adds r1, r0
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- str r2, [sp, 0x8]
- bl sub_808DCFC
- adds r4, r0, 0
- mov r0, r9
- ldr r1, [r0]
- movs r3, 0
- ldrsh r0, [r5, r3]
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- adds r1, r0
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- bl sub_808DCFC
- lsls r4, 16
- lsls r0, 16
- ldr r2, [sp, 0x8]
- cmp r4, r0
- ble _080242A8
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldrh r0, [r6]
- strh r0, [r5]
- strh r1, [r6]
-_080242A8:
- adds r5, r6, 0
- subs r7, 0x1
- cmp r7, r2
- bgt _0802425E
-_080242B0:
- mov r2, r10
- ldr r1, [sp, 0x4]
- cmp r2, r1
- blt _0802424A
-_080242B8:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080242C8: .4byte gUnknown_3001B60
-_080242CC: .4byte gUnknown_203B45C
- thumb_func_end sub_8024228
-
- thumb_func_start sub_80242D0
-sub_80242D0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r3, _08024374
- lsls r2, r1, 1
- adds r2, 0x18
- ldr r3, [r3]
- adds r3, r2
- str r3, [sp]
- adds r2, r0, 0
- subs r1, 0x1
- cmp r2, r1
- bge _08024364
- str r1, [sp, 0x4]
-_080242F2:
- ldr r5, [sp]
- adds r7, r1, 0
- adds r0, r2, 0x1
- mov r10, r0
- cmp r7, r2
- ble _0802435C
- ldr r3, _08024378
- mov r9, r3
- movs r0, 0x58
- mov r8, r0
-_08024306:
- mov r3, r9
- ldr r1, [r3]
- subs r6, r5, 0x2
- movs r3, 0
- ldrsh r0, [r6, r3]
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- adds r1, r0
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- movs r1, 0
- str r2, [sp, 0x8]
- bl sub_808DCDC
- adds r4, r0, 0
- mov r0, r9
- ldr r1, [r0]
- movs r3, 0
- ldrsh r0, [r5, r3]
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- adds r1, r0
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- movs r1, 0
- bl sub_808DCDC
- lsls r4, 16
- lsls r0, 16
- ldr r2, [sp, 0x8]
- cmp r4, r0
- ble _08024354
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldrh r0, [r6]
- strh r0, [r5]
- strh r1, [r6]
-_08024354:
- adds r5, r6, 0
- subs r7, 0x1
- cmp r7, r2
- bgt _08024306
-_0802435C:
- mov r2, r10
- ldr r1, [sp, 0x4]
- cmp r2, r1
- blt _080242F2
-_08024364:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08024374: .4byte gUnknown_3001B60
-_08024378: .4byte gUnknown_203B45C
- thumb_func_end sub_80242D0
-
- thumb_func_start sub_802437C
-sub_802437C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r3, _080243E4
- lsls r2, r1, 1
- adds r2, 0x18
- ldr r3, [r3]
- adds r3, r2
- mov r10, r3
- adds r7, r0, 0
- subs r1, 0x1
- cmp r7, r1
- bge _080243D6
- mov r9, r1
-_0802439C:
- mov r4, r10
- adds r6, r1, 0
- adds r0, r7, 0x1
- mov r8, r0
- cmp r6, r7
- ble _080243CE
-_080243A8:
- subs r5, r4, 0x2
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl sub_808D864
- lsls r0, 24
- cmp r0, 0
- beq _080243C6
- movs r0, 0
- ldrsh r1, [r4, r0]
- ldrh r0, [r5]
- strh r0, [r4]
- strh r1, [r5]
-_080243C6:
- adds r4, r5, 0
- subs r6, 0x1
- cmp r6, r7
- bgt _080243A8
-_080243CE:
- mov r7, r8
- mov r1, r9
- cmp r7, r1
- blt _0802439C
-_080243D6:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080243E4: .4byte gUnknown_3001B60
- thumb_func_end sub_802437C
-
- thumb_func_start sub_80243E8
-sub_80243E8:
- push {r4,r5,lr}
- sub sp, 0x3C
- ldr r3, _08024448
- ldr r0, _0802444C
- ldr r0, [r0]
- ldr r2, _08024450
- adds r1, r0, r2
- movs r4, 0
- ldrsh r2, [r1, r4]
- movs r4, 0xDD
- lsls r4, 2
- adds r1, r0, r4
- movs r4, 0
- ldrsh r1, [r1, r4]
- muls r1, r2
- movs r4, 0xDC
- lsls r4, 2
- adds r2, r0, r4
- movs r4, 0
- ldrsh r2, [r2, r4]
- adds r1, r2
- lsls r1, 1
- adds r0, 0x1A
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x58
- muls r0, r1
- ldr r4, [r3]
- adds r4, r0
- add r5, sp, 0x28
- adds r1, r4, 0
- adds r1, 0x4C
- adds r0, r5, 0
- movs r2, 0xA
- bl sub_80922B4
- ldr r1, _08024454
- mov r0, sp
- adds r2, r5, 0
- bl sub_800D158
- adds r0, r4, 0
- add sp, 0x3C
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08024448: .4byte gUnknown_203B45C
-_0802444C: .4byte gUnknown_3001B60
-_08024450: .4byte 0x00000376
-_08024454: .4byte gUnknown_80DC9A4
- thumb_func_end sub_80243E8
-
- thumb_func_start sub_8024458
-sub_8024458:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- asrs r4, 16
- ldr r6, _080244DC
- movs r0, 0xA6
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- adds r1, r0, 0
- adds r1, 0x48
- strh r4, [r1]
- adds r1, 0x98
- str r5, [r1]
- adds r2, r0, 0
- adds r2, 0xE4
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0xE8
- adds r1, r0, r1
- str r1, [r2]
- adds r0, 0xE8
- bl sub_8006518
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xE0
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0xE8
- ldr r0, _080244E0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0xE4
- ldr r1, [r0]
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r2, r3
- str r0, [r1, 0x14]
- movs r4, 0xA5
- lsls r4, 1
- adds r1, r2, r4
- movs r0, 0xA
- strb r0, [r1]
- bl sub_8024604
- bl sub_802452C
- ldr r0, [r6]
- bl sub_8013984
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080244DC: .4byte gUnknown_203B2AC
-_080244E0: .4byte gUnknown_80DC9C8
- thumb_func_end sub_8024458
-
- thumb_func_start sub_80244E4
-sub_80244E4:
- push {r4,lr}
- ldr r4, _08024500
- ldr r0, [r4]
- bl GetKeyPress
- cmp r0, 0x1
- beq _08024504
- cmp r0, 0x2
- bne _0802450E
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _08024524
- .align 2, 0
-_08024500: .4byte gUnknown_203B2AC
-_08024504:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _08024524
-_0802450E:
- ldr r0, [r4]
- bl sub_8013938
- lsls r0, 24
- cmp r0, 0
- bne _0802451E
- movs r0, 0
- b _08024524
-_0802451E:
- bl sub_802452C
- movs r0, 0x1
-_08024524:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80244E4
-
- thumb_func_start sub_802452C
-sub_802452C:
- push {lr}
- bl sub_8024588
- bl sub_80245D0
- pop {r0}
- bx r0
- thumb_func_end sub_802452C
-
- thumb_func_start sub_802453C
-sub_802453C:
- push {r4,r5,lr}
- ldr r4, _08024580
- ldr r2, [r4]
- cmp r2, 0
- beq _0802457A
- adds r0, r2, 0
- adds r0, 0xE0
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0xE8
- ldr r0, _08024584
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0xE8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802457A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08024580: .4byte gUnknown_203B2AC
-_08024584: .4byte gUnknown_80DC9B0
- thumb_func_end sub_802453C
-
- thumb_func_start sub_8024588
-sub_8024588:
- push {r4,lr}
- ldr r4, _080245C4
- ldr r0, [r4]
- ldrh r1, [r0, 0x20]
- movs r2, 0xA4
- lsls r2, 1
- adds r0, r2
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldrh r1, [r0, 0x1E]
- ldr r3, _080245C8
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _080245CC
- adds r0, r1
- strb r2, [r0]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0xE8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080245C4: .4byte gUnknown_203B2AC
-_080245C8: .4byte 0x00000149
-_080245CC: .4byte 0x0000014b
- thumb_func_end sub_8024588
-
- thumb_func_start sub_80245D0
-sub_80245D0:
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _08024600
- ldr r4, [r0]
- movs r0, 0x1E
- ldrsh r1, [r4, r0]
- lsls r2, r1, 2
- adds r0, r4, 0
- adds r0, 0x34
- adds r0, r2
- ldr r0, [r0]
- adds r2, r4, 0
- adds r2, 0x4C
- adds r3, r4, 0
- adds r3, 0xB0
- adds r4, 0xE0
- ldr r4, [r4]
- str r4, [sp]
- bl sub_808F844
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08024600: .4byte gUnknown_203B2AC
- thumb_func_end sub_80245D0
-
- thumb_func_start sub_8024604
-sub_8024604:
- push {r4,r5,lr}
- ldr r4, _08024654
- ldr r0, [r4]
- movs r1, 0x2
- str r1, [r0, 0x34]
- movs r1, 0x3
- str r1, [r0, 0x38]
- movs r1, 0x5
- str r1, [r0, 0x3C]
- adds r1, r0, 0
- adds r1, 0xE0
- ldr r3, [r1]
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8013818
- ldr r0, [r4]
- adds r5, r0, 0
- adds r5, 0x4C
- ldr r2, _08024658
- adds r0, 0x48
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r0, 0x58
- muls r0, r1
- ldr r4, [r2]
- adds r4, r0
- movs r0, 0x7
- bl sub_80023E4
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_808FF20
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08024654: .4byte gUnknown_203B2AC
-_08024658: .4byte gUnknown_203B45C
- thumb_func_end sub_8024604
-
- thumb_func_start sub_802465C
-sub_802465C:
- push {r4,r5,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _080246E8
- movs r0, 0xBA
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r4, 0
- str r4, [r0, 0x28]
- str r4, [r0, 0x2C]
- str r4, [r0, 0x30]
- bl sub_808D33C
- ldr r1, [r5]
- str r0, [r1, 0xC]
- bl sub_808D824
- ldr r1, [r5]
- strb r0, [r1, 0x10]
- ldr r0, [r5]
- strb r4, [r0]
- ldr r0, _080246EC
- bl sub_808DDD0
- ldr r2, [r5]
- movs r3, 0x82
- lsls r3, 1
- adds r1, r2, r3
- str r0, [r1]
- adds r3, 0x4
- adds r1, r2, r3
- ldr r0, [r0, 0x4]
- str r0, [r1]
- movs r1, 0x88
- lsls r1, 1
- adds r0, r2, r1
- strb r4, [r0]
- ldr r0, [r5]
- adds r3, 0x9
- adds r0, r3
- strb r4, [r0]
- ldr r0, [r5]
- adds r1, 0x2
- adds r0, r1
- strb r4, [r0]
- ldr r2, [r5]
- subs r3, 0x5
- adds r1, r2, r3
- movs r0, 0x2
- strh r0, [r1]
- movs r0, 0x87
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_80247EC
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080246E8: .4byte gUnknown_203B2B0
-_080246EC: .4byte 0x00000155
- thumb_func_end sub_802465C
-
- thumb_func_start sub_80246F0
-sub_80246F0:
- push {lr}
- ldr r0, _08024708
- ldr r0, [r0]
- ldr r0, [r0, 0x20]
- cmp r0, 0x15
- bhi _080247A8
- lsls r0, 2
- ldr r1, _0802470C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08024708: .4byte gUnknown_203B2B0
-_0802470C: .4byte _08024710
- .align 2, 0
-_08024710:
- .4byte _08024768
- .4byte _08024768
- .4byte _080247A8
- .4byte _080247A8
- .4byte _080247A4
- .4byte _0802476E
- .4byte _08024774
- .4byte _08024774
- .4byte _0802477A
- .4byte _08024780
- .4byte _08024786
- .4byte _0802478C
- .4byte _0802478C
- .4byte _08024792
- .4byte _08024798
- .4byte _080247A8
- .4byte _080247A8
- .4byte _080247A8
- .4byte _080247A8
- .4byte _080247A8
- .4byte _080247A8
- .4byte _0802479E
-_08024768:
- bl sub_8024E9C
- b _080247AC
-_0802476E:
- bl sub_8024F00
- b _080247AC
-_08024774:
- bl sub_8024FD4
- b _080247AC
-_0802477A:
- bl sub_80250EC
- b _080247AC
-_08024780:
- bl sub_80251CC
- b _080247AC
-_08024786:
- bl sub_8024F70
- b _080247AC
-_0802478C:
- bl sub_8025058
- b _080247AC
-_08024792:
- bl sub_802515C
- b _080247AC
-_08024798:
- bl sub_80251E8
- b _080247AC
-_0802479E:
- bl sub_8025204
- b _080247AC
-_080247A4:
- movs r0, 0x3
- b _080247AE
-_080247A8:
- bl sub_8025230
-_080247AC:
- movs r0, 0
-_080247AE:
- pop {r1}
- bx r1
- thumb_func_end sub_80246F0
-
- thumb_func_start sub_80247B4
-sub_80247B4:
- ldr r0, _080247BC
- ldr r0, [r0]
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080247BC: .4byte gUnknown_203B2B0
- thumb_func_end sub_80247B4
-
- thumb_func_start sub_80247C0
-sub_80247C0:
- push {r4,lr}
- ldr r4, _080247E8
- ldr r0, [r4]
- cmp r0, 0
- beq _080247E0
- movs r1, 0x82
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080247E0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080247E8: .4byte gUnknown_203B2B0
- thumb_func_end sub_80247C0
-
- thumb_func_start sub_80247EC
-sub_80247EC:
- push {lr}
- ldr r1, _08024800
- ldr r1, [r1]
- str r0, [r1, 0x20]
- bl sub_8024804
- bl sub_80248FC
- pop {r0}
- bx r0
- .align 2, 0
-_08024800: .4byte gUnknown_203B2B0
- thumb_func_end sub_80247EC
-
- thumb_func_start sub_8024804
-sub_8024804:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0802482C
- ldr r0, [r4]
- movs r1, 0x8A
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0, 0x20]
- subs r0, 0x8
- cmp r0, 0x14
- bhi _080248A8
- lsls r0, 2
- ldr r1, _08024830
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802482C: .4byte gUnknown_203B2B0
-_08024830: .4byte _08024834
- .align 2, 0
-_08024834:
- .4byte _08024888
- .4byte _080248A8
- .4byte _080248A8
- .4byte _080248A8
- .4byte _080248A8
- .4byte _08024888
- .4byte _080248A8
- .4byte _080248A8
- .4byte _080248A8
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248A8
- .4byte _080248A8
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
-_08024888:
- ldr r0, _080248A0
- ldr r1, [r0]
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r2
- ldr r0, _080248A4
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- b _080248D2
- .align 2, 0
-_080248A0: .4byte gUnknown_203B2B0
-_080248A4: .4byte gUnknown_80DCA00
-_080248A8:
- ldr r3, _080248F4
- mov r12, r3
- movs r4, 0x8A
- lsls r4, 1
- mov r8, r4
- ldr r4, _080248F8
- movs r3, 0
- movs r2, 0x3
-_080248B8:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _080248B8
-_080248D2:
- bl sub_8004914
- ldr r0, _080248F4
- ldr r0, [r0]
- movs r6, 0x8A
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080248F4: .4byte gUnknown_203B2B0
-_080248F8: .4byte gUnknown_80DC9E8
- thumb_func_end sub_8024804
-
- thumb_func_start sub_80248FC
-sub_80248FC:
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _08024918
- ldr r0, [r1]
- ldr r0, [r0, 0x20]
- adds r5, r1, 0
- cmp r0, 0x1D
- bls _0802490E
- b _08024CF4
-_0802490E:
- lsls r0, 2
- ldr r1, _0802491C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08024918: .4byte gUnknown_203B2B0
-_0802491C: .4byte _08024920
- .align 2, 0
-_08024920:
- .4byte _08024998
- .4byte _080249D0
- .4byte _080249E8
- .4byte _080249F8
- .4byte _08024CF4
- .4byte _08024A14
- .4byte _08024A20
- .4byte _08024A2E
- .4byte _08024A94
- .4byte _08024AC0
- .4byte _08024A36
- .4byte _08024A68
- .4byte _08024A76
- .4byte _08024A94
- .4byte _08024AC0
- .4byte _08024ACA
- .4byte _08024AD8
- .4byte _08024AE8
- .4byte _08024B4C
- .4byte _08024B74
- .4byte _08024C9C
- .4byte _08024CC8
- .4byte _08024C1C
- .4byte _08024C2C
- .4byte _08024C3C
- .4byte _08024C4C
- .4byte _08024C5C
- .4byte _08024C6C
- .4byte _08024C7C
- .4byte _08024C8C
-_08024998:
- bl sub_80252B8
- lsls r0, 24
- cmp r0, 0
- beq _080249B0
- ldr r0, _080249AC
- ldr r1, [r0]
- movs r0, 0x3
- b _080249B6
- .align 2, 0
-_080249AC: .4byte gUnknown_203B2B0
-_080249B0:
- ldr r0, _080249C8
- ldr r1, [r0]
- movs r0, 0x1
-_080249B6:
- str r0, [r1, 0x28]
- bl sub_8024CFC
- ldr r0, _080249CC
- ldr r1, _080249C8
- ldr r1, [r1]
- ldr r2, [r1, 0x28]
- b _08024A42
- .align 2, 0
-_080249C8: .4byte gUnknown_203B2B0
-_080249CC: .4byte gUnknown_80DCA34
-_080249D0:
- bl sub_8024CFC
- ldr r0, _080249E0
- ldr r1, _080249E4
- ldr r1, [r1]
- ldr r2, [r1, 0x28]
- b _08024A42
- .align 2, 0
-_080249E0: .4byte gUnknown_80DCAB8
-_080249E4: .4byte gUnknown_203B2B0
-_080249E8:
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1, 0x24]
- ldr r0, _080249F4
- b _08024CAE
- .align 2, 0
-_080249F4: .4byte gUnknown_80DCAD0
-_080249F8:
- ldr r1, [r5]
- movs r0, 0x4
- str r0, [r1, 0x24]
- movs r0, 0x8
- movs r1, 0x3C
- bl sub_8011900
- ldr r0, _08024A0C
- ldr r3, _08024A10
- b _08024CB0
- .align 2, 0
-_08024A0C: .4byte gUnknown_80DCD5C
-_08024A10: .4byte 0x00000305
-_08024A14:
- bl sub_8024D48
- ldr r0, _08024A1C
- b _08024A3C
- .align 2, 0
-_08024A1C: .4byte gUnknown_80DCD90
-_08024A20:
- movs r0, 0x2
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08024CF4
-_08024A2E:
- movs r0, 0x1
- bl sub_801A8D0
- b _08024CF4
-_08024A36:
- bl sub_8024DBC
- ldr r0, _08024A60
-_08024A3C:
- ldr r1, _08024A64
- ldr r1, [r1]
- ldr r2, [r1, 0x2C]
-_08024A42:
- adds r3, r1, 0
- adds r3, 0x34
- adds r1, 0x74
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- str r1, [sp, 0xC]
- movs r1, 0x5
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _08024CF4
- .align 2, 0
-_08024A60: .4byte gUnknown_80DCDB8
-_08024A64: .4byte gUnknown_203B2B0
-_08024A68:
- movs r0, 0x2
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08024A7C
-_08024A76:
- movs r0, 0x1
- bl sub_801A8D0
-_08024A7C:
- ldr r0, _08024A90
- ldr r0, [r0]
- ldr r0, [r0, 0x14]
- movs r1, 0x1
- bl sub_801AEE4
- bl sub_801A9E0
- b _08024CF4
- .align 2, 0
-_08024A90: .4byte gUnknown_203B2B0
-_08024A94:
- bl sub_801A9E0
- bl sub_8024E30
- ldr r0, _08024ABC
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x84
- adds r1, r2, 0
- adds r1, 0x34
- adds r3, r2, 0
- adds r3, 0x74
- ldr r2, [r2, 0x30]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _08024CF4
- .align 2, 0
-_08024ABC: .4byte gUnknown_203B2B0
-_08024AC0:
- ldr r0, [r5]
- adds r0, 0x1C
- bl sub_801B3C0
- b _08024CF4
-_08024ACA:
- ldr r1, [r5]
- movs r0, 0x5
- str r0, [r1, 0x24]
- ldr r0, _08024AD4
- b _08024CAE
- .align 2, 0
-_08024AD4: .4byte gUnknown_80DCDDC
-_08024AD8:
- ldr r1, [r5]
- movs r0, 0xA
- str r0, [r1, 0x24]
- ldr r0, _08024AE4
- b _08024CAE
- .align 2, 0
-_08024AE4: .4byte gUnknown_80DCE18
-_08024AE8:
- bl sub_8025254
- ldr r0, _08024B00
- ldr r1, [r0]
- ldrh r2, [r1, 0x8]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08024B04
- movs r0, 0x12
- b _08024B3A
- .align 2, 0
-_08024B00: .4byte gUnknown_203B2B0
-_08024B04:
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r0, 0x4
- bne _08024B10
- movs r0, 0x18
- b _08024B3A
-_08024B10:
- cmp r0, 0x2
- bne _08024B18
- movs r0, 0x17
- b _08024B3A
-_08024B18:
- cmp r0, 0x10
- bne _08024B20
- movs r0, 0x1B
- b _08024B3A
-_08024B20:
- cmp r0, 0x20
- bne _08024B28
- movs r0, 0x19
- b _08024B3A
-_08024B28:
- cmp r0, 0x40
- bne _08024B30
- movs r0, 0x1A
- b _08024B3A
-_08024B30:
- cmp r0, 0x8
- bne _08024B38
- movs r0, 0x1C
- b _08024B3A
-_08024B38:
- movs r0, 0x1D
-_08024B3A:
- str r0, [r1, 0x24]
- movs r0, 0x3C
- bl sub_8011930
- ldr r0, _08024B48
- b _08024CAE
- .align 2, 0
-_08024B48: .4byte gUnknown_80DCE38
-_08024B4C:
- ldr r0, _08024B68
- ldr r1, [r5]
- ldr r1, [r1, 0xC]
- movs r2, 0x5
- bl sub_808D9AC
- ldr r0, _08024B6C
- bl sub_8011988
- ldr r1, [r5]
- movs r0, 0x13
- str r0, [r1, 0x24]
- ldr r0, _08024B70
- b _08024CAE
- .align 2, 0
-_08024B68: .4byte gPlayerName
-_08024B6C: .4byte 0x000001ff
-_08024B70: .4byte gUnknown_80DCE68
-_08024B74:
- ldr r0, [r5]
- ldr r0, [r0, 0xC]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r4, _08024C10
- adds r0, r4, 0
- bl strcpy
- ldr r0, [r5]
- movs r2, 0xA
- ldrsh r0, [r0, r2]
- bl sub_808D994
- adds r1, r0, 0
- adds r4, 0x50
- adds r0, r4, 0
- bl strcpy
- ldr r1, [r5]
- movs r0, 0x1
- strb r0, [r1]
- bl sub_80977D0
- ldr r1, [r5]
- ldr r0, [r1, 0xC]
- movs r2, 0xA
- ldrsh r1, [r1, r2]
- bl sub_808F734
- bl nullsub_104
- bl sub_808D33C
- ldr r1, [r5]
- str r0, [r1, 0xC]
- ldr r0, [r1, 0x14]
- cmp r0, 0x14
- beq _08024BCA
- bl sub_8091234
-_08024BCA:
- ldr r0, [r5]
- ldr r0, [r0, 0x18]
- cmp r0, 0x14
- beq _08024BD6
- bl sub_8091234
-_08024BD6:
- bl sub_80910B4
- ldr r0, _08024C14
- bl sub_801199C
- movs r0, 0xD2
- bl sub_8011988
- ldr r1, [r5]
- ldrb r0, [r1, 0x10]
- cmp r0, 0
- beq _08024C06
- ldr r0, [r1, 0xC]
- adds r4, r0, 0
- adds r4, 0x4C
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl sub_808D994
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_8092310
-_08024C06:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C18
- b _08024CAE
- .align 2, 0
-_08024C10: .4byte gUnknown_202DF98
-_08024C14: .4byte 0x000001ff
-_08024C18: .4byte gUnknown_80DCEB0
-_08024C1C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C28
- b _08024CAE
- .align 2, 0
-_08024C28: .4byte gUnknown_80DCEDC
-_08024C2C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C38
- b _08024CAE
- .align 2, 0
-_08024C38: .4byte gUnknown_80DCF44
-_08024C3C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C48
- b _08024CAE
- .align 2, 0
-_08024C48: .4byte gUnknown_80DCF88
-_08024C4C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C58
- b _08024CAE
- .align 2, 0
-_08024C58: .4byte gUnknown_80DCFAC
-_08024C5C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C68
- b _08024CAE
- .align 2, 0
-_08024C68: .4byte gUnknown_80DCFF4
-_08024C6C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C78
- b _08024CAE
- .align 2, 0
-_08024C78: .4byte gUnknown_80DD054
-_08024C7C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C88
- b _08024CAE
- .align 2, 0
-_08024C88: .4byte gUnknown_80DD098
-_08024C8C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C98
- b _08024CAE
- .align 2, 0
-_08024C98: .4byte gUnknown_80DD0E0
-_08024C9C:
- movs r0, 0x8
- movs r1, 0x3C
- bl sub_8011900
- ldr r0, _08024CBC
- ldr r1, [r0]
- movs r0, 0x15
- str r0, [r1, 0x24]
- ldr r0, _08024CC0
-_08024CAE:
- ldr r3, _08024CC4
-_08024CB0:
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _08024CF4
- .align 2, 0
-_08024CBC: .4byte gUnknown_203B2B0
-_08024CC0: .4byte gUnknown_80DD104
-_08024CC4: .4byte 0x00000105
-_08024CC8:
- ldr r1, [r5]
- ldrb r0, [r1, 0x10]
- cmp r0, 0
- beq _08024CE8
- ldr r0, [r1, 0xC]
- adds r4, r0, 0
- adds r4, 0x4C
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- bl sub_808D994
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_8092310
-_08024CE8:
- ldr r0, [r5]
- ldr r1, [r0, 0xC]
- adds r1, 0x4C
- movs r0, 0
- bl sub_801602C
-_08024CF4:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80248FC
-
- thumb_func_start sub_8024CFC
-sub_8024CFC:
- push {r4,lr}
- ldr r4, _08024D38
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- movs r3, 0
- ldr r0, _08024D3C
- str r0, [r1, 0x34]
- movs r0, 0x3
- str r0, [r1, 0x38]
- movs r2, 0x1
- ldr r0, _08024D40
- ldr r0, [r0]
- str r0, [r1, 0x3C]
- movs r0, 0x2
- str r0, [r1, 0x40]
- ldr r0, _08024D44
- ldr r0, [r0]
- str r0, [r1, 0x44]
- str r2, [r1, 0x48]
- str r3, [r1, 0x4C]
- str r2, [r1, 0x50]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08024D38: .4byte gUnknown_203B2B0
-_08024D3C: .4byte gUnknown_80DCA18
-_08024D40: .4byte gUnknown_80D4970
-_08024D44: .4byte gUnknown_80D4934
- thumb_func_end sub_8024CFC
-
- thumb_func_start sub_8024D48
-sub_8024D48:
- push {r4-r7,lr}
- ldr r4, _08024DAC
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08024DB0
- str r0, [r3, 0x34]
- movs r0, 0x4
- str r0, [r3, 0x38]
- movs r1, 0x1
- ldr r0, _08024DB4
- str r0, [r3, 0x3C]
- movs r0, 0x5
- str r0, [r3, 0x40]
- ldr r0, _08024DB8
- ldr r0, [r0]
- str r0, [r3, 0x44]
- str r1, [r3, 0x48]
- movs r6, 0x3
- str r2, [r3, 0x4C]
- str r1, [r3, 0x50]
- movs r5, 0
- mov r12, r3
- adds r3, 0x38
- mov r2, r12
- adds r2, 0x74
-_08024D86:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08024D96
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x2C]
- cmp r1, r0
- beq _08024DA6
-_08024D96:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _08024D86
- ldr r1, [r4]
- movs r0, 0x4
- str r0, [r1, 0x2C]
-_08024DA6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08024DAC: .4byte gUnknown_203B2B0
-_08024DB0: .4byte gUnknown_80DCA24
-_08024DB4: .4byte gUnknown_80DCA2C
-_08024DB8: .4byte gUnknown_80D4934
- thumb_func_end sub_8024D48
-
- thumb_func_start sub_8024DBC
-sub_8024DBC:
- push {r4-r7,lr}
- ldr r4, _08024E20
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08024E24
- str r0, [r3, 0x34]
- movs r0, 0x4
- str r0, [r3, 0x38]
- movs r1, 0x1
- ldr r0, _08024E28
- str r0, [r3, 0x3C]
- movs r0, 0x5
- str r0, [r3, 0x40]
- ldr r0, _08024E2C
- ldr r0, [r0]
- str r0, [r3, 0x44]
- str r1, [r3, 0x48]
- movs r6, 0x3
- str r2, [r3, 0x4C]
- str r1, [r3, 0x50]
- movs r5, 0
- mov r12, r3
- adds r3, 0x38
- mov r2, r12
- adds r2, 0x74
-_08024DFA:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08024E0A
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x2C]
- cmp r1, r0
- beq _08024E1A
-_08024E0A:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _08024DFA
- ldr r1, [r4]
- movs r0, 0x4
- str r0, [r1, 0x2C]
-_08024E1A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08024E20: .4byte gUnknown_203B2B0
-_08024E24: .4byte gUnknown_80DCA24
-_08024E28: .4byte gUnknown_80DCA2C
-_08024E2C: .4byte gUnknown_80D4934
- thumb_func_end sub_8024DBC
-
- thumb_func_start sub_8024E30
-sub_8024E30:
- push {r4-r7,lr}
- ldr r4, _08024E90
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08024E94
- str r0, [r3, 0x34]
- movs r0, 0x5
- str r0, [r3, 0x38]
- movs r1, 0x1
- ldr r0, _08024E98
- ldr r0, [r0]
- str r0, [r3, 0x3C]
- movs r0, 0x2
- str r0, [r3, 0x40]
- movs r6, 0x2
- str r2, [r3, 0x44]
- str r1, [r3, 0x48]
- movs r5, 0
- mov r12, r3
- adds r3, 0x38
- mov r2, r12
- adds r2, 0x74
-_08024E68:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08024E78
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x30]
- cmp r1, r0
- beq _08024E88
-_08024E78:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _08024E68
- ldr r1, [r4]
- movs r0, 0x5
- str r0, [r1, 0x30]
-_08024E88:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08024E90: .4byte gUnknown_203B2B0
-_08024E94: .4byte gUnknown_80DCA2C
-_08024E98: .4byte gUnknown_80D4970
- thumb_func_end sub_8024E30
-
- thumb_func_start sub_8024E9C
-sub_8024E9C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08024EF8
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08024EB6
- ldr r0, _08024EC8
- ldr r0, [r0]
- str r1, [r0, 0x28]
-_08024EB6:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08024EEA
- cmp r0, 0x2
- bgt _08024ECC
- cmp r0, 0x1
- beq _08024EF2
- b _08024EF8
- .align 2, 0
-_08024EC8: .4byte gUnknown_203B2B0
-_08024ECC:
- cmp r0, 0x3
- bne _08024EF8
- bl sub_80252B8
- lsls r0, 24
- cmp r0, 0
- beq _08024EE2
- movs r0, 0x5
- bl sub_80247EC
- b _08024EF8
-_08024EE2:
- movs r0, 0x16
- bl sub_80247EC
- b _08024EF8
-_08024EEA:
- movs r0, 0x2
- bl sub_80247EC
- b _08024EF8
-_08024EF2:
- movs r0, 0x3
- bl sub_80247EC
-_08024EF8:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8024E9C
-
- thumb_func_start sub_8024F00
-sub_8024F00:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08024F6A
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08024F1A
- ldr r0, _08024F2C
- ldr r0, [r0]
- str r1, [r0, 0x2C]
-_08024F1A:
- ldr r0, [sp]
- cmp r0, 0x4
- beq _08024F36
- cmp r0, 0x4
- bgt _08024F30
- cmp r0, 0x1
- beq _08024F64
- b _08024F6A
- .align 2, 0
-_08024F2C: .4byte gUnknown_203B2B0
-_08024F30:
- cmp r0, 0x5
- beq _08024F4C
- b _08024F6A
-_08024F36:
- ldr r0, _08024F48
- ldr r1, [r0]
- movs r0, 0x14
- str r0, [r1, 0x14]
- str r0, [r1, 0x18]
- movs r0, 0x11
- bl sub_80247EC
- b _08024F6A
- .align 2, 0
-_08024F48: .4byte gUnknown_203B2B0
-_08024F4C:
- bl sub_8090A34
- cmp r0, 0
- bne _08024F5C
- movs r0, 0xF
- bl sub_80247EC
- b _08024F6A
-_08024F5C:
- movs r0, 0x6
- bl sub_80247EC
- b _08024F6A
-_08024F64:
- movs r0, 0x1
- bl sub_80247EC
-_08024F6A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8024F00
-
- thumb_func_start sub_8024F70
-sub_8024F70:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08024FCC
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08024F8A
- ldr r0, _08024F9C
- ldr r0, [r0]
- str r1, [r0, 0x2C]
-_08024F8A:
- ldr r0, [sp]
- cmp r0, 0x4
- beq _08024FA6
- cmp r0, 0x4
- bgt _08024FA0
- cmp r0, 0x1
- beq _08024FC6
- b _08024FCC
- .align 2, 0
-_08024F9C: .4byte gUnknown_203B2B0
-_08024FA0:
- cmp r0, 0x5
- beq _08024FAE
- b _08024FCC
-_08024FA6:
- movs r0, 0x11
- bl sub_80247EC
- b _08024FCC
-_08024FAE:
- bl sub_8090A34
- cmp r0, 0x1
- bgt _08024FBE
- movs r0, 0x10
- bl sub_80247EC
- b _08024FCC
-_08024FBE:
- movs r0, 0xB
- bl sub_80247EC
- b _08024FCC
-_08024FC6:
- movs r0, 0x1
- bl sub_80247EC
-_08024FCC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8024F70
-
- thumb_func_start sub_8024FD4
-sub_8024FD4:
- push {lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x3
- beq _08024FF0
- cmp r0, 0x3
- bhi _08024FEA
- cmp r0, 0x2
- beq _08025048
- b _08025052
-_08024FEA:
- cmp r0, 0x4
- beq _0802501C
- b _08025052
-_08024FF0:
- bl sub_801A8AC
- ldr r1, _08025014
- ldr r2, [r1]
- str r0, [r2, 0x14]
- movs r1, 0x14
- str r1, [r2, 0x18]
- ldr r1, _08025018
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
- movs r0, 0x8
- bl sub_80247EC
- b _08025052
- .align 2, 0
-_08025014: .4byte gUnknown_203B2B0
-_08025018: .4byte gUnknown_203B460
-_0802501C:
- bl sub_801A8AC
- ldr r1, _08025040
- ldr r2, [r1]
- ldr r1, _08025044
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
- movs r0, 0
- bl sub_8099690
- movs r0, 0x9
- bl sub_80247EC
- b _08025052
- .align 2, 0
-_08025040: .4byte gUnknown_203B2B0
-_08025044: .4byte gUnknown_203B460
-_08025048:
- bl sub_801A928
- movs r0, 0x5
- bl sub_80247EC
-_08025052:
- pop {r0}
- bx r0
- thumb_func_end sub_8024FD4
-
- thumb_func_start sub_8025058
-sub_8025058:
- push {r4,r5,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x3
- beq _08025074
- cmp r0, 0x3
- bhi _0802506E
- cmp r0, 0x2
- beq _080250DC
- b _080250E6
-_0802506E:
- cmp r0, 0x4
- beq _080250B0
- b _080250E6
-_08025074:
- ldr r5, _080250A0
- ldr r4, [r5]
- bl sub_801A8AC
- ldr r1, [r4, 0x14]
- cmp r1, r0
- beq _080250A8
- bl sub_801A8AC
- ldr r2, [r5]
- str r0, [r2, 0x18]
- ldr r1, _080250A4
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
- movs r0, 0xD
- bl sub_80247EC
- b _080250E6
- .align 2, 0
-_080250A0: .4byte gUnknown_203B2B0
-_080250A4: .4byte gUnknown_203B460
-_080250A8:
- movs r0, 0x2
- bl sub_80119D4
- b _080250E6
-_080250B0:
- bl sub_801A8AC
- ldr r1, _080250D4
- ldr r2, [r1]
- ldr r1, _080250D8
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
- movs r0, 0
- bl sub_8099690
- movs r0, 0xE
- bl sub_80247EC
- b _080250E6
- .align 2, 0
-_080250D4: .4byte gUnknown_203B2B0
-_080250D8: .4byte gUnknown_203B460
-_080250DC:
- bl sub_801A928
- movs r0, 0xA
- bl sub_80247EC
-_080250E6:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8025058
-
- thumb_func_start sub_80250EC
-sub_80250EC:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _0802512C
- ldr r0, [r4]
- adds r0, 0x84
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802511C
- ldr r0, [r4]
- adds r0, 0x84
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802511C
- ldr r0, [r4]
- str r1, [r0, 0x30]
-_0802511C:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08025140
- cmp r0, 0x2
- bgt _08025130
- cmp r0, 0x1
- beq _0802514E
- b _08025154
- .align 2, 0
-_0802512C: .4byte gUnknown_203B2B0
-_08025130:
- cmp r0, 0x5
- bne _08025154
- bl sub_801A928
- movs r0, 0xA
- bl sub_80247EC
- b _08025154
-_08025140:
- movs r0, 0
- bl sub_8099690
- movs r0, 0x9
- bl sub_80247EC
- b _08025154
-_0802514E:
- movs r0, 0x7
- bl sub_80247EC
-_08025154:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80250EC
-
- thumb_func_start sub_802515C
-sub_802515C:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _0802519C
- ldr r0, [r4]
- adds r0, 0x84
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802518C
- ldr r0, [r4]
- adds r0, 0x84
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802518C
- ldr r0, [r4]
- str r1, [r0, 0x30]
-_0802518C:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _080251B0
- cmp r0, 0x2
- bgt _080251A0
- cmp r0, 0x1
- beq _080251BE
- b _080251C4
- .align 2, 0
-_0802519C: .4byte gUnknown_203B2B0
-_080251A0:
- cmp r0, 0x5
- bne _080251C4
- bl sub_801A928
- movs r0, 0x11
- bl sub_80247EC
- b _080251C4
-_080251B0:
- movs r0, 0
- bl sub_8099690
- movs r0, 0xE
- bl sub_80247EC
- b _080251C4
-_080251BE:
- movs r0, 0xC
- bl sub_80247EC
-_080251C4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802515C
-
- thumb_func_start sub_80251CC
-sub_80251CC:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _080251E4
- cmp r0, 0x3
- bhi _080251E4
- bl sub_801B450
- movs r0, 0x7
- bl sub_80247EC
-_080251E4:
- pop {r0}
- bx r0
- thumb_func_end sub_80251CC
-
- thumb_func_start sub_80251E8
-sub_80251E8:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08025200
- cmp r0, 0x3
- bhi _08025200
- bl sub_801B450
- movs r0, 0xC
- bl sub_80247EC
-_08025200:
- pop {r0}
- bx r0
- thumb_func_end sub_80251E8
-
- thumb_func_start sub_8025204
-sub_8025204:
- push {r4,lr}
- bl sub_8016080
- cmp r0, 0x3
- bne _08025226
- bl sub_80160D8
- ldr r4, _0802522C
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_808D824
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- movs r0, 0x3
- bl sub_80247EC
-_08025226:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802522C: .4byte gUnknown_203B2B0
- thumb_func_end sub_8025204
-
- thumb_func_start sub_8025230
-sub_8025230:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08025248
- ldr r0, _08025250
- ldr r0, [r0]
- ldr r0, [r0, 0x24]
- bl sub_80247EC
-_08025248:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08025250: .4byte gUnknown_203B2B0
- thumb_func_end sub_8025230
-
- thumb_func_start sub_8025254
-sub_8025254:
- push {lr}
- ldr r0, _08025268
- ldr r2, [r0]
- ldr r1, [r2, 0x14]
- adds r3, r0, 0
- cmp r1, 0x14
- bne _0802526C
- movs r0, 0
- b _08025276
- .align 2, 0
-_08025268: .4byte gUnknown_203B2B0
-_0802526C:
- ldr r0, _08025284
- ldr r0, [r0]
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
-_08025276:
- strb r0, [r2, 0x4]
- ldr r2, [r3]
- ldr r1, [r2, 0x18]
- cmp r1, 0x14
- bne _08025288
- movs r0, 0
- b _08025292
- .align 2, 0
-_08025284: .4byte gUnknown_203B460
-_08025288:
- ldr r0, _080252B0
- ldr r0, [r0]
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
-_08025292:
- strb r0, [r2, 0x5]
- movs r0, 0xFF
- bl RandomCapped
- ldr r2, _080252B4
- ldr r1, [r2]
- strb r0, [r1, 0x6]
- ldr r1, [r2]
- ldr r0, [r1, 0xC]
- adds r1, 0x4
- movs r2, 0x1
- bl sub_808F468
- pop {r0}
- bx r0
- .align 2, 0
-_080252B0: .4byte gUnknown_203B460
-_080252B4: .4byte gUnknown_203B2B0
- thumb_func_end sub_8025254
-
- thumb_func_start sub_80252B8
-sub_80252B8:
- push {r4,lr}
- ldr r0, _080252E0
- ldr r1, [r0]
- movs r3, 0
- movs r4, 0x1
- ldr r2, _080252E4
-_080252C4:
- ldrh r0, [r1]
- lsrs r0, 1
- ands r0, r4
- cmp r0, 0
- beq _080252D0
- adds r3, 0x1
-_080252D0:
- subs r2, 0x1
- adds r1, 0x58
- cmp r2, 0
- bne _080252C4
- cmp r3, 0x1
- beq _080252E8
- movs r0, 0
- b _080252EA
- .align 2, 0
-_080252E0: .4byte gUnknown_203B45C
-_080252E4: .4byte 0x0000019d
-_080252E8:
- movs r0, 0x1
-_080252EA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80252B8
-
- thumb_func_start sub_80252F0
-sub_80252F0:
- push {r4-r6,lr}
- adds r6, r0, 0
- cmp r6, 0x2
- bne _08025308
- movs r0, 0x4
- bl sub_8024108
- lsls r0, 24
- cmp r0, 0
- beq _08025308
- movs r0, 0
- b _0802534C
-_08025308:
- ldr r4, _08025340
- movs r0, 0xBC
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r5, 0
- str r5, [r0, 0x70]
- str r6, [r0]
- bl sub_80A5728
- lsls r0, 16
- asrs r0, 16
- bl sub_8002658
- ldr r1, [r4]
- strb r0, [r1, 0xC]
- ldr r0, [r4]
- strb r5, [r0, 0xD]
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x2
- bne _08025344
- movs r0, 0
- bl sub_8025434
- b _0802534A
- .align 2, 0
-_08025340: .4byte gUnknown_203B2B4
-_08025344:
- movs r0, 0x1
- bl sub_8025434
-_0802534A:
- movs r0, 0x1
-_0802534C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80252F0
-
- thumb_func_start sub_8025354
-sub_8025354:
- push {lr}
- ldr r0, _0802536C
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- subs r0, 0x1
- cmp r0, 0x12
- bhi _08025400
- lsls r0, 2
- ldr r1, _08025370
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802536C: .4byte gUnknown_203B2B4
-_08025370: .4byte _08025374
- .align 2, 0
-_08025374:
- .4byte _080253C4
- .4byte _080253C4
- .4byte _080253CA
- .4byte _080253D0
- .4byte _080253D6
- .4byte _08025400
- .4byte _08025400
- .4byte _08025400
- .4byte _08025400
- .4byte _08025400
- .4byte _080253DC
- .4byte _080253DC
- .4byte _080253E2
- .4byte _080253E8
- .4byte _080253EE
- .4byte _080253EE
- .4byte _080253F4
- .4byte _080253FA
- .4byte _080253C0
-_080253C0:
- movs r0, 0x3
- b _08025406
-_080253C4:
- bl sub_80259F0
- b _08025404
-_080253CA:
- bl sub_8025A84
- b _08025404
-_080253D0:
- bl sub_8025BCC
- b _08025404
-_080253D6:
- bl sub_8025BE8
- b _08025404
-_080253DC:
- bl sub_8025C04
- b _08025404
-_080253E2:
- bl sub_8025CB4
- b _08025404
-_080253E8:
- bl sub_8025D90
- b _08025404
-_080253EE:
- bl sub_8025DAC
- b _08025404
-_080253F4:
- bl sub_8025E08
- b _08025404
-_080253FA:
- bl sub_8025E24
- b _08025404
-_08025400:
- bl sub_8025E44
-_08025404:
- movs r0, 0
-_08025406:
- pop {r1}
- bx r1
- thumb_func_end sub_8025354
-
- thumb_func_start sub_802540C
-sub_802540C:
- ldr r0, _08025414
- ldr r0, [r0]
- ldrb r0, [r0, 0xD]
- bx lr
- .align 2, 0
-_08025414: .4byte gUnknown_203B2B4
- thumb_func_end sub_802540C
-
- thumb_func_start sub_8025418
-sub_8025418:
- push {r4,lr}
- ldr r4, _08025430
- ldr r0, [r4]
- cmp r0, 0
- beq _0802542A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802542A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08025430: .4byte gUnknown_203B2B4
- thumb_func_end sub_8025418
-
- thumb_func_start sub_8025434
-sub_8025434:
- push {lr}
- ldr r1, _08025448
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_802544C
- bl sub_8025518
- pop {r0}
- bx r0
- .align 2, 0
-_08025448: .4byte gUnknown_203B2B4
- thumb_func_end sub_8025434
-
- thumb_func_start sub_802544C
-sub_802544C:
- push {r4-r7,lr}
- ldr r4, _08025470
- ldr r0, [r4]
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- cmp r0, 0x3
- beq _08025478
- cmp r0, 0xD
- beq _080254B0
- movs r2, 0
- ldr r3, _08025474
- b _080254D8
- .align 2, 0
-_08025470: .4byte gUnknown_203B2B4
-_08025474: .4byte gUnknown_80DD148
-_08025478:
- ldr r0, [r1]
- cmp r0, 0
- bne _0802548E
- movs r2, 0xB0
- lsls r2, 1
- adds r1, r2
- ldr r0, _080254A8
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
-_0802548E:
- bl sub_8025728
- ldr r2, [r4]
- movs r0, 0xA4
- lsls r0, 1
- adds r2, r0
- ldr r1, _080254AC
- ldm r1!, {r5-r7}
- stm r2!, {r5-r7}
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- b _080254C6
- .align 2, 0
-_080254A8: .4byte gUnknown_80DD190
-_080254AC: .4byte gUnknown_80DD160
-_080254B0:
- bl sub_802591C
- ldr r2, [r4]
- movs r0, 0xA4
- lsls r0, 1
- adds r2, r0
- ldr r1, _080254D4
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
-_080254C6:
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0xC8
- bl sub_8012CAC
- b _080254F8
- .align 2, 0
-_080254D4: .4byte gUnknown_80DD178
-_080254D8:
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- movs r5, 0x8C
- lsls r5, 1
- adds r0, r5
- adds r1, r3, 0
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- adds r2, 0x1
- cmp r2, 0x3
- ble _080254D8
-_080254F8:
- bl sub_8004914
- ldr r0, _08025514
- ldr r0, [r0]
- movs r6, 0x8C
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08025514: .4byte gUnknown_203B2B4
- thumb_func_end sub_802544C
-
- thumb_func_start sub_8025518
-sub_8025518:
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r1, _08025534
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r5, r1, 0
- cmp r0, 0x13
- bls _0802552A
- b _08025720
-_0802552A:
- lsls r0, 2
- ldr r1, _08025538
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08025534: .4byte gUnknown_203B2B4
-_08025538: .4byte _0802553C
- .align 2, 0
-_0802553C:
- .4byte _0802558C
- .4byte _080255A0
- .4byte _080255BA
- .4byte _080255C2
- .4byte _0802560C
- .4byte _0802561A
- .4byte _08025720
- .4byte _080256A8
- .4byte _0802567A
- .4byte _08025688
- .4byte _08025698
- .4byte _08025626
- .4byte _08025634
- .4byte _0802563C
- .4byte _08025668
- .4byte _080256CC
- .4byte _080256F2
- .4byte _080256FC
- .4byte _08025714
- .4byte _08025720
-_0802558C:
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1, 0x8]
- ldr r0, _08025598
- ldr r3, _0802559C
- b _080256B8
- .align 2, 0
-_08025598: .4byte gUnknown_80DD1A8
-_0802559C: .4byte 0x00000301
-_080255A0:
- movs r1, 0x4
- ldr r0, [r5]
- ldr r0, [r0]
- cmp r0, 0
- bne _080255AC
- movs r1, 0x2
-_080255AC:
- adds r0, r1, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_8023868
- b _08025720
-_080255BA:
- movs r0, 0x1
- bl sub_8023B7C
- b _08025720
-_080255C2:
- ldr r1, [r5]
- ldr r0, [r1]
- cmp r0, 0
- bne _080255D2
- adds r1, 0x18
- movs r0, 0x3
- bl sub_8025E68
-_080255D2:
- bl sub_8023DA4
- ldr r4, _08025608
- ldr r0, [r5]
- ldr r1, [r0, 0x1C]
- adds r0, r4, 0
- movs r2, 0x7
- bl sub_808D9AC
- adds r4, 0x50
- ldr r0, [r5]
- ldr r1, [r0, 0x1C]
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_808D9AC
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x78
- adds r1, r2, 0
- adds r1, 0xC8
- movs r4, 0x84
- lsls r4, 1
- adds r3, r2, r4
- ldr r2, [r2, 0x70]
- b _08025654
- .align 2, 0
-_08025608: .4byte gUnknown_202DF98
-_0802560C:
- ldr r0, [r5]
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- movs r1, 0x2
- bl sub_8024458
- b _08025720
-_0802561A:
- ldr r0, [r5]
- movs r4, 0xE
- ldrsh r0, [r0, r4]
- bl sub_801BEEC
- b _08025720
-_08025626:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08025720
-_08025634:
- movs r0, 0x1
- bl sub_801A8D0
- b _08025720
-_0802563C:
- bl sub_801A9E0
- ldr r0, _08025664
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x78
- adds r1, r2, 0
- adds r1, 0xC8
- movs r4, 0x84
- lsls r4, 1
- adds r3, r2, r4
- ldr r2, [r2, 0x74]
-_08025654:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _08025720
- .align 2, 0
-_08025664: .4byte gUnknown_203B2B4
-_08025668:
- ldr r1, [r5]
- adds r1, 0x14
- add r0, sp, 0x8
- bl sub_8090B64
- add r0, sp, 0x8
- bl sub_801B3C0
- b _08025720
-_0802567A:
- ldr r1, [r5]
- movs r0, 0x2
- str r0, [r1, 0x8]
- ldr r0, _08025684
- b _080256B6
- .align 2, 0
-_08025684: .4byte gUnknown_80DD1C8
-_08025688:
- ldr r1, [r5]
- movs r0, 0x2
- str r0, [r1, 0x8]
- ldr r0, _08025694
- b _080256B6
- .align 2, 0
-_08025694: .4byte gUnknown_80DD1EC
-_08025698:
- ldr r1, [r5]
- movs r0, 0x2
- str r0, [r1, 0x8]
- ldr r0, _080256A4
- b _080256B6
- .align 2, 0
-_080256A4: .4byte gUnknown_80DD240
-_080256A8:
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1, 0x8]
- movs r0, 0xCF
- bl sub_8011988
- ldr r0, _080256C4
-_080256B6:
- ldr r3, _080256C8
-_080256B8:
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _08025720
- .align 2, 0
-_080256C4: .4byte gUnknown_80DD270
-_080256C8: .4byte 0x00000101
-_080256CC:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x28
- ldr r1, [r1, 0x1C]
- adds r1, 0x2C
- bl sub_809401C
- ldr r2, [r5]
- movs r0, 0xE
- ldrsh r1, [r2, r0]
- adds r2, 0x28
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r3, 0
- bl sub_801EE10
- b _08025720
-_080256F2:
- movs r0, 0x1
- movs r1, 0
- bl sub_801F1B0
- b _08025720
-_080256FC:
- ldr r2, [r5]
- ldr r0, [r2, 0x20]
- adds r1, r2, 0
- adds r1, 0x28
- adds r2, 0x68
- bl sub_8093560
- ldr r0, [r5]
- adds r0, 0x68
- bl sub_801F808
- b _08025720
-_08025714:
- ldr r0, [r5]
- ldr r1, [r0, 0x1C]
- adds r1, 0x4C
- movs r0, 0x2
- bl sub_801602C
-_08025720:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8025518
-
- thumb_func_start sub_8025728
-sub_8025728:
- push {r4-r7,lr}
- ldr r3, _080257CC
- ldr r5, _080257D0
- ldr r0, [r5]
- movs r1, 0xE
- ldrsh r2, [r0, r1]
- movs r1, 0x58
- muls r2, r1
- ldr r1, [r3]
- adds r7, r1, r2
- movs r2, 0x84
- lsls r2, 1
- adds r0, r2
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r4, [r5]
- ldr r0, [r4]
- cmp r0, 0
- bne _080257E0
- adds r1, r4, 0
- adds r1, 0xC8
- ldr r0, _080257D4
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xA
- str r0, [r1]
- bl sub_8090A34
- cmp r0, 0
- bne _08025774
- ldr r0, [r5]
- movs r4, 0x84
- lsls r4, 1
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0]
-_08025774:
- movs r6, 0x1
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0xD0
- ldr r0, _080257D8
- str r0, [r2]
- adds r1, 0xD4
- movs r0, 0xB
- str r0, [r1]
- bl sub_8090A34
- cmp r0, 0x13
- bgt _08025796
- ldr r0, [r5]
- ldrb r0, [r0, 0x18]
- cmp r0, 0
- bne _080257A0
-_08025796:
- ldr r0, [r5]
- movs r1, 0x85
- lsls r1, 1
- adds r0, r1
- strh r6, [r0]
-_080257A0:
- adds r6, 0x1
- adds r0, r7, 0
- bl sub_8025EC4
- lsls r0, 24
- cmp r0, 0
- beq _08025810
- ldr r0, _080257D0
- ldr r2, [r0]
- lsls r3, r6, 3
- adds r0, r2, 0
- adds r0, 0xC8
- adds r0, r3
- ldr r1, _080257DC
- str r1, [r0]
- adds r2, 0xCC
- adds r2, r3
- movs r0, 0x9
- str r0, [r2]
- adds r6, 0x1
- b _08025810
- .align 2, 0
-_080257CC: .4byte gUnknown_203B45C
-_080257D0: .4byte gUnknown_203B2B4
-_080257D4: .4byte gUnknown_80DD2B0
-_080257D8: .4byte gUnknown_80DD2B8
-_080257DC: .4byte gUnknown_80DD2C0
-_080257E0:
- adds r1, r4, 0
- adds r1, 0xC8
- ldr r0, _080258D4
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x7
- str r0, [r1]
- ldr r0, [r4, 0x1C]
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- bl GetFriendArea
- ldrb r1, [r4, 0xC]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _0802580E
- ldr r0, [r5]
- movs r4, 0x84
- lsls r4, 1
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0]
-_0802580E:
- movs r6, 0x1
-_08025810:
- movs r0, 0x8
- ldrsh r1, [r7, r0]
- ldr r0, _080258D8
- cmp r1, r0
- bne _08025840
- adds r0, r7, 0
- bl sub_808D824
- lsls r0, 24
- cmp r0, 0
- beq _08025840
- ldr r0, _080258DC
- ldr r2, [r0]
- lsls r3, r6, 3
- adds r0, r2, 0
- adds r0, 0xC8
- adds r0, r3
- ldr r1, _080258E0
- str r1, [r0]
- adds r2, 0xCC
- adds r2, r3
- movs r0, 0x8
- str r0, [r2]
- adds r6, 0x1
-_08025840:
- ldr r4, _080258DC
- ldr r5, [r4]
- lsls r1, r6, 3
- adds r3, r5, 0
- adds r3, 0xC8
- adds r2, r3, r1
- ldr r0, _080258E4
- str r0, [r2]
- adds r7, r5, 0
- adds r7, 0xCC
- adds r1, r7, r1
- movs r0, 0x4
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r2, r3, r1
- ldr r0, _080258E8
- str r0, [r2]
- adds r1, r7, r1
- movs r0, 0x6
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r2, r3, r1
- ldr r0, _080258EC
- str r0, [r2]
- adds r1, r7, r1
- movs r0, 0x5
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r1, r7, r1
- movs r0, 0x1
- str r0, [r1]
- movs r3, 0
- mov r12, r4
- cmp r3, r6
- bge _080258B2
- movs r1, 0x84
- lsls r1, 1
- adds r4, r5, r1
- adds r2, r7, 0
-_0802589A:
- ldrh r0, [r4]
- cmp r0, 0
- bne _080258A8
- ldr r1, [r2]
- ldr r0, [r5, 0x70]
- cmp r1, r0
- beq _08025916
-_080258A8:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r6
- blt _0802589A
-_080258B2:
- movs r3, 0
- cmp r3, r6
- bge _08025916
- mov r2, r12
- ldr r1, [r2]
- movs r4, 0x84
- lsls r4, 1
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, 0
- bne _080258F0
- adds r0, r1, 0
- adds r0, 0xCC
- ldr r0, [r0]
- str r0, [r1, 0x70]
- b _08025916
- .align 2, 0
-_080258D4: .4byte gUnknown_80DD2CC
-_080258D8: .4byte 0x0000013d
-_080258DC: .4byte gUnknown_203B2B4
-_080258E0: .4byte gUnknown_80DD2D4
-_080258E4: .4byte gUnknown_80DD2DC
-_080258E8: .4byte gUnknown_80DD2E4
-_080258EC: .4byte gUnknown_80DD2EC
-_080258F0:
- adds r3, 0x1
- cmp r3, r6
- bge _08025916
- mov r0, r12
- ldr r2, [r0]
- lsls r0, r3, 1
- movs r4, 0x84
- lsls r4, 1
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080258F0
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0xCC
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x70]
-_08025916:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8025728
-
- thumb_func_start sub_802591C
-sub_802591C:
- push {r4-r7,lr}
- ldr r5, _080259B8
- ldr r0, [r5]
- movs r7, 0x84
- lsls r7, 1
- adds r0, r7
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0xC8
- ldr r0, _080259BC
- str r0, [r2]
- adds r1, 0xCC
- movs r0, 0xA
- str r0, [r1]
- bl sub_8090A34
- cmp r0, 0
- bne _08025952
- ldr r0, [r5]
- adds r1, r7, 0
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_08025952:
- ldr r4, [r5]
- movs r2, 0x1
- adds r1, r4, 0
- adds r1, 0xD0
- ldr r0, _080259C0
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x4
- str r0, [r1]
- movs r6, 0x2
- adds r1, 0x4
- movs r0, 0
- str r0, [r1]
- adds r0, r4, 0
- adds r0, 0xDC
- str r2, [r0]
- movs r3, 0
- mov r12, r4
- adds r4, r7
- mov r2, r12
- adds r2, 0xCC
-_0802597E:
- ldrh r0, [r4]
- cmp r0, 0
- bne _0802598E
- ldr r1, [r2]
- mov r7, r12
- ldr r0, [r7, 0x74]
- cmp r1, r0
- beq _080259E8
-_0802598E:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r6
- blt _0802597E
- movs r3, 0
- cmp r3, r6
- bge _080259E8
- ldr r1, [r5]
- movs r2, 0x84
- lsls r2, 1
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _080259C4
- adds r0, r1, 0
- adds r0, 0xCC
- ldr r0, [r0]
- str r0, [r1, 0x74]
- b _080259E8
- .align 2, 0
-_080259B8: .4byte gUnknown_203B2B4
-_080259BC: .4byte gUnknown_80DD2B0
-_080259C0: .4byte gUnknown_80D4970
-_080259C4:
- adds r3, 0x1
- cmp r3, r6
- bge _080259E8
- ldr r2, [r5]
- lsls r0, r3, 1
- movs r4, 0x84
- lsls r4, 1
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080259C4
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0xCC
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x74]
-_080259E8:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802591C
-
- thumb_func_start sub_80259F0
-sub_80259F0:
- push {lr}
- movs r0, 0x1
- bl sub_8023A94
- cmp r0, 0x3
- beq _08025A0C
- cmp r0, 0x3
- bhi _08025A06
- cmp r0, 0x2
- beq _08025A74
- b _08025A7E
-_08025A06:
- cmp r0, 0x4
- beq _08025A40
- b _08025A7E
-_08025A0C:
- bl sub_8023B44
- ldr r1, _08025A38
- ldr r1, [r1]
- strh r0, [r1, 0xE]
- ldr r3, _08025A3C
- movs r0, 0xE
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x1C]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- adds r1, 0x18
- bl sub_808D7DC
- movs r0, 0x3
- bl sub_8025434
- b _08025A7E
- .align 2, 0
-_08025A38: .4byte gUnknown_203B2B4
-_08025A3C: .4byte gUnknown_203B45C
-_08025A40:
- bl sub_8023B44
- ldr r1, _08025A6C
- ldr r1, [r1]
- strh r0, [r1, 0xE]
- ldr r3, _08025A70
- movs r0, 0xE
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x1C]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- adds r1, 0x18
- bl sub_808D7DC
- movs r0, 0x4
- bl sub_8025434
- b _08025A7E
- .align 2, 0
-_08025A6C: .4byte gUnknown_203B2B4
-_08025A70: .4byte gUnknown_203B45C
-_08025A74:
- bl sub_8023C60
- movs r0, 0x13
- bl sub_8025434
-_08025A7E:
- pop {r0}
- bx r0
- thumb_func_end sub_80259F0
-
- thumb_func_start sub_8025A84
-sub_8025A84:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8023A94
- ldr r4, _08025AC8
- ldr r0, [r4]
- adds r0, 0x78
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08025AB4
- ldr r0, [r4]
- adds r0, 0x78
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08025AB4
- ldr r0, [r4]
- str r1, [r0, 0x70]
-_08025AB4:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0xA
- bls _08025ABE
- b _08025BC2
-_08025ABE:
- lsls r0, 2
- ldr r1, _08025ACC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08025AC8: .4byte gUnknown_203B2B4
-_08025ACC: .4byte _08025AD0
- .align 2, 0
-_08025AD0:
- .4byte _08025BBC
- .4byte _08025BC2
- .4byte _08025BC2
- .4byte _08025BAC
- .4byte _08025BB4
- .4byte _08025B9C
- .4byte _08025AFC
- .4byte _08025BA4
- .4byte _08025B70
- .4byte _08025B20
- .4byte _08025B28
-_08025AFC:
- ldr r4, _08025B1C
- ldr r0, [r4]
- ldr r0, [r0, 0x1C]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl GetFriendArea
- ldr r1, [r4]
- strb r0, [r1, 0xD]
- bl sub_8023C60
- movs r0, 0x13
- bl sub_8025434
- b _08025BC2
- .align 2, 0
-_08025B1C: .4byte gUnknown_203B2B4
-_08025B20:
- movs r0, 0xB
- bl sub_8025434
- b _08025BC2
-_08025B28:
- ldr r0, _08025B68
- bl sub_8011988
- ldr r4, _08025B6C
- ldr r1, [r4]
- ldrb r0, [r1, 0x18]
- cmp r0, 0
- beq _08025B40
- adds r0, r1, 0
- adds r0, 0x18
- bl sub_8091274
-_08025B40:
- bl sub_80910B4
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x18]
- ldr r0, [r4]
- strb r1, [r0, 0x19]
- ldr r1, [r4]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- adds r1, 0x18
- bl sub_808D800
- bl nullsub_104
- movs r0, 0xA
- bl sub_8025434
- b _08025BC2
- .align 2, 0
-_08025B68: .4byte 0x0000014d
-_08025B6C: .4byte gUnknown_203B2B4
-_08025B70:
- ldr r0, _08025B94
- ldr r0, [r0]
- ldr r2, [r0, 0x1C]
- ldrh r1, [r2]
- ldr r0, _08025B98
- ands r0, r1
- strh r0, [r2]
- bl nullsub_104
- bl sub_808ED00
- bl sub_8023C60
- movs r0, 0x7
- bl sub_8025434
- b _08025BC2
- .align 2, 0
-_08025B94: .4byte gUnknown_203B2B4
-_08025B98: .4byte 0x0000fffd
-_08025B9C:
- movs r0, 0xF
- bl sub_8025434
- b _08025BC2
-_08025BA4:
- movs r0, 0x12
- bl sub_8025434
- b _08025BC2
-_08025BAC:
- movs r0, 0x4
- bl sub_8025434
- b _08025BC2
-_08025BB4:
- movs r0, 0x5
- bl sub_8025434
- b _08025BC2
-_08025BBC:
- movs r0, 0x2
- bl sub_8025434
-_08025BC2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8025A84
-
- thumb_func_start sub_8025BCC
-sub_8025BCC:
- push {lr}
- bl sub_80244E4
- cmp r0, 0x1
- bls _08025BE4
- cmp r0, 0x3
- bhi _08025BE4
- bl sub_802453C
- movs r0, 0x2
- bl sub_8025434
-_08025BE4:
- pop {r0}
- bx r0
- thumb_func_end sub_8025BCC
-
- thumb_func_start sub_8025BE8
-sub_8025BE8:
- push {lr}
- bl sub_801BF48
- cmp r0, 0x1
- bls _08025C00
- cmp r0, 0x3
- bhi _08025C00
- bl sub_801BF98
- movs r0, 0x2
- bl sub_8025434
-_08025C00:
- pop {r0}
- bx r0
- thumb_func_end sub_8025BE8
-
- thumb_func_start sub_8025C04
-sub_8025C04:
- push {r4,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x4
- bhi _08025CAE
- lsls r0, 2
- ldr r1, _08025C1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08025C1C: .4byte _08025C20
- .align 2, 0
-_08025C20:
- .4byte _08025CAE
- .4byte _08025CAE
- .4byte _08025CA4
- .4byte _08025C34
- .4byte _08025C68
-_08025C34:
- bl sub_801A8AC
- ldr r4, _08025C60
- ldr r2, [r4]
- str r0, [r2, 0x10]
- ldr r3, _08025C64
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x14]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0x10]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x15]
- movs r0, 0xD
- bl sub_8025434
- b _08025CAE
- .align 2, 0
-_08025C60: .4byte gUnknown_203B2B4
-_08025C64: .4byte gUnknown_203B460
-_08025C68:
- bl sub_801A8AC
- ldr r4, _08025C9C
- ldr r2, [r4]
- str r0, [r2, 0x10]
- ldr r3, _08025CA0
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x14]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0x10]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x15]
- movs r0, 0
- bl sub_8099690
- movs r0, 0xE
- bl sub_8025434
- b _08025CAE
- .align 2, 0
-_08025C9C: .4byte gUnknown_203B2B4
-_08025CA0: .4byte gUnknown_203B460
-_08025CA4:
- bl sub_801A928
- movs r0, 0x2
- bl sub_8025434
-_08025CAE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8025C04
-
- thumb_func_start sub_8025CB4
-sub_8025CB4:
- push {r4-r6,lr}
- sub sp, 0x14
- movs r0, 0
- str r0, [sp, 0xC]
- bl sub_801A6E8
- ldr r4, _08025CF4
- ldr r0, [r4]
- adds r0, 0x78
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08025CE4
- ldr r0, [r4]
- adds r0, 0x78
- add r1, sp, 0xC
- bl sub_8013114
- ldr r1, [sp, 0xC]
- cmp r1, 0x1
- beq _08025CE4
- ldr r0, [r4]
- str r1, [r0, 0x74]
-_08025CE4:
- ldr r0, [sp, 0xC]
- cmp r0, 0x4
- beq _08025D74
- cmp r0, 0x4
- bgt _08025CF8
- cmp r0, 0x1
- beq _08025D82
- b _08025D88
- .align 2, 0
-_08025CF4: .4byte gUnknown_203B2B4
-_08025CF8:
- cmp r0, 0xA
- bne _08025D88
- movs r6, 0x8
- ldr r0, _08025D68
- bl sub_8011988
- ldr r5, _08025D6C
- ldr r0, [r5]
- ldr r0, [r0, 0x10]
- bl sub_80911F8
- bl sub_80910B4
- ldr r1, [r5]
- ldrb r0, [r1, 0x18]
- cmp r0, 0
- beq _08025D24
- adds r0, r1, 0
- adds r0, 0x18
- bl sub_8091274
- movs r6, 0x9
-_08025D24:
- add r4, sp, 0x10
- ldr r1, [r5]
- adds r1, 0x14
- adds r0, r4, 0
- bl sub_8090B64
- movs r1, 0
- str r1, [sp]
- mov r0, sp
- strb r1, [r0, 0x4]
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x8]
- strb r0, [r4]
- ldr r0, _08025D70
- adds r1, r4, 0
- mov r2, sp
- bl sub_8090E14
- ldr r1, [r5]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- bl sub_801A928
- bl nullsub_104
- adds r0, r6, 0
- bl sub_8025434
- b _08025D88
- .align 2, 0
-_08025D68: .4byte 0x0000014d
-_08025D6C: .4byte gUnknown_203B2B4
-_08025D70: .4byte gUnknown_202DEA8
-_08025D74:
- movs r0, 0
- bl sub_8099690
- movs r0, 0xE
- bl sub_8025434
- b _08025D88
-_08025D82:
- movs r0, 0xC
- bl sub_8025434
-_08025D88:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8025CB4
-
- thumb_func_start sub_8025D90
-sub_8025D90:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08025DA8
- cmp r0, 0x3
- bhi _08025DA8
- bl sub_801B450
- movs r0, 0xC
- bl sub_8025434
-_08025DA8:
- pop {r0}
- bx r0
- thumb_func_end sub_8025D90
-
- thumb_func_start sub_8025DAC
-sub_8025DAC:
- push {lr}
- movs r0, 0x1
- bl sub_801EF38
- cmp r0, 0x3
- beq _08025DC6
- cmp r0, 0x3
- bhi _08025DC2
- cmp r0, 0x2
- beq _08025DE4
- b _08025DFE
-_08025DC2:
- cmp r0, 0x4
- bne _08025DFE
-_08025DC6:
- bl sub_801F194
- ldr r1, _08025DE0
- ldr r1, [r1]
- str r0, [r1, 0x20]
- lsls r0, 3
- adds r0, r1, r0
- ldrh r0, [r0, 0x2A]
- strh r0, [r1, 0x24]
- movs r0, 0x11
- bl sub_8025434
- b _08025DFE
- .align 2, 0
-_08025DE0: .4byte gUnknown_203B2B4
-_08025DE4:
- bl sub_801F214
- ldr r0, _08025E04
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x28
- ldr r1, [r1, 0x1C]
- adds r1, 0x2C
- bl sub_8094060
- movs r0, 0x2
- bl sub_8025434
-_08025DFE:
- pop {r0}
- bx r0
- .align 2, 0
-_08025E04: .4byte gUnknown_203B2B4
- thumb_func_end sub_8025DAC
-
- thumb_func_start sub_8025E08
-sub_8025E08:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _08025E20
- cmp r0, 0x3
- bhi _08025E20
- bl sub_801F8D0
- movs r0, 0x10
- bl sub_8025434
-_08025E20:
- pop {r0}
- bx r0
- thumb_func_end sub_8025E08
-
- thumb_func_start sub_8025E24
-sub_8025E24:
- push {lr}
- bl sub_8016080
- cmp r0, 0x3
- bhi _08025E40
- cmp r0, 0x2
- bcc _08025E40
- bl sub_80160D8
- bl nullsub_104
- movs r0, 0x2
- bl sub_8025434
-_08025E40:
- pop {r0}
- bx r0
- thumb_func_end sub_8025E24
-
- thumb_func_start sub_8025E44
-sub_8025E44:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08025E5C
- ldr r0, _08025E64
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_8025434
-_08025E5C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08025E64: .4byte gUnknown_203B2B4
- thumb_func_end sub_8025E44
-
- thumb_func_start sub_8025E68
-sub_8025E68:
- push {r4-r6,lr}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- bl sub_8008C54
- adds r0, r6, 0
- bl sub_80073B8
- add r4, sp, 0x10
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8090B64
- movs r5, 0
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- strb r5, [r0, 0x4]
- adds r1, r0, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- strb r0, [r4]
- ldr r0, _08025EBC
- adds r1, r4, 0
- add r2, sp, 0x4
- bl sub_8090E14
- ldr r2, _08025EC0
- str r5, [sp]
- movs r0, 0x4
- movs r1, 0x3
- adds r3, r6, 0
- bl sub_8014FF0
- adds r0, r6, 0
- bl sub_80073E0
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08025EBC: .4byte gUnknown_202DE58
-_08025EC0: .4byte gUnknown_80DD2F8
- thumb_func_end sub_8025E68
-
- thumb_func_start sub_8025EC4
-sub_8025EC4:
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _08025EE8
- movs r2, 0
- ldrb r0, [r1, 0x4]
- cmp r0, 0x41
- bne _08025ED8
- movs r2, 0x1
-_08025ED8:
- cmp r2, 0
- beq _08025EEC
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08025EEC
-_08025EE8:
- movs r0, 0
- b _08025EEE
-_08025EEC:
- movs r0, 0x1
-_08025EEE:
- pop {r1}
- bx r1
- thumb_func_end sub_8025EC4
-
- thumb_func_start sub_8025EF4
-sub_8025EF4:
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, _08025F1C
- movs r0, 0xA0
- lsls r0, 2
- movs r1, 0x8
- bl MemoryAlloc
- adds r1, r0, 0
- str r1, [r6]
- str r4, [r1, 0x18]
- movs r5, 0
- ldr r0, _08025F20
- ldr r0, [r0]
- cmp r4, r0
- bne _08025F24
- strh r5, [r1, 0xA]
- adds r4, r6, 0
- b _08025F48
- .align 2, 0
-_08025F1C: .4byte gUnknown_203B2B8
-_08025F20: .4byte gUnknown_203B45C
-_08025F24:
- adds r5, 0x1
- movs r0, 0xCE
- lsls r0, 1
- ldr r4, _08025F60
- cmp r5, r0
- bgt _08025F48
- ldr r3, [r4]
- ldr r2, _08025F64
- lsls r0, r5, 16
- asrs r0, 16
- movs r1, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- ldr r1, [r3, 0x18]
- cmp r1, r0
- bne _08025F24
- strh r5, [r3, 0xA]
-_08025F48:
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0x70]
- str r0, [r1, 0x74]
- str r0, [r1, 0x78]
- strb r0, [r1, 0x8]
- bl sub_8026074
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08025F60: .4byte gUnknown_203B2B8
-_08025F64: .4byte gUnknown_203B45C
- thumb_func_end sub_8025EF4
-
- thumb_func_start sub_8025F68
-sub_8025F68:
- push {lr}
- ldr r0, _08025F80
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x19
- bhi _0802603A
- lsls r0, 2
- ldr r1, _08025F84
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08025F80: .4byte gUnknown_203B2B8
-_08025F84: .4byte _08025F88
- .align 2, 0
-_08025F88:
- .4byte _08025FF0
- .4byte _08025FF8
- .4byte _08025FF8
- .4byte _08025FFE
- .4byte _08026004
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802600A
- .4byte _08026010
- .4byte _08026016
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802601C
- .4byte _0802601C
- .4byte _08026022
- .4byte _08026028
- .4byte _0802602E
- .4byte _0802602E
- .4byte _08026034
- .4byte _08026040
-_08025FF0:
- movs r0, 0x1
- bl sub_8026074
- b _08026044
-_08025FF8:
- bl sub_80268CC
- b _08026044
-_08025FFE:
- bl sub_8026A78
- b _08026044
-_08026004:
- bl sub_8026A94
- b _08026044
-_0802600A:
- bl sub_8026AB0
- b _08026044
-_08026010:
- bl sub_8026B10
- b _08026044
-_08026016:
- bl sub_8026B48
- b _08026044
-_0802601C:
- bl sub_8026B64
- b _08026044
-_08026022:
- bl sub_8026C14
- b _08026044
-_08026028:
- bl sub_8026CF0
- b _08026044
-_0802602E:
- bl sub_8026D0C
- b _08026044
-_08026034:
- bl sub_8026D6C
- b _08026044
-_0802603A:
- bl sub_8026D88
- b _08026044
-_08026040:
- movs r0, 0x3
- b _08026046
-_08026044:
- movs r0, 0
-_08026046:
- pop {r1}
- bx r1
- thumb_func_end sub_8025F68
-
- thumb_func_start sub_802604C
-sub_802604C:
- ldr r0, _08026054
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_08026054: .4byte gUnknown_203B2B8
- thumb_func_end sub_802604C
-
- thumb_func_start sub_8026058
-sub_8026058:
- push {r4,lr}
- ldr r4, _08026070
- ldr r0, [r4]
- cmp r0, 0
- beq _0802606A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802606A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08026070: .4byte gUnknown_203B2B8
- thumb_func_end sub_8026058
-
- thumb_func_start sub_8026074
-sub_8026074:
- push {lr}
- ldr r1, _08026088
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802608C
- bl sub_80261D0
- pop {r0}
- bx r0
- .align 2, 0
-_08026088: .4byte gUnknown_203B2B8
- thumb_func_end sub_8026074
-
- thumb_func_start sub_802608C
-sub_802608C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _080260B8
- ldr r0, [r4]
- movs r5, 0x88
- lsls r5, 2
- adds r0, r5
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x1
- blt _08026178
- cmp r0, 0x2
- ble _080260BC
- cmp r0, 0x14
- beq _0802614C
- b _08026178
- .align 2, 0
-_080260B8: .4byte gUnknown_203B2B8
-_080260BC:
- ldr r0, _0802613C
- mov r12, r0
- ldr r1, _08026140
- mov r8, r1
- mov r9, r4
- mov r10, r5
- movs r3, 0
- movs r2, 0x3
-_080260CC:
- mov r5, r9
- ldr r1, [r5]
- adds r1, r3
- add r1, r10
- ldr r0, _08026144
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _080260CC
- ldr r1, [r4]
- movs r6, 0x88
- lsls r6, 2
- adds r1, r6
- mov r0, r12
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldr r1, [r4]
- movs r0, 0x9A
- lsls r0, 2
- adds r1, r0
- mov r0, r8
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- bl sub_80264CC
- ldr r2, [r4]
- movs r0, 0x94
- lsls r0, 2
- adds r2, r0
- ldr r1, _08026148
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r6, 0xB6
- lsls r6, 1
- adds r1, r6
- bl sub_8012CAC
- ldr r0, [r4]
- movs r7, 0x97
- lsls r7, 2
- adds r0, r7
- movs r1, 0x9
- strh r1, [r0]
- b _080261A2
- .align 2, 0
-_0802613C: .4byte gUnknown_80DD358
-_08026140: .4byte gUnknown_80DD370
-_08026144: .4byte gUnknown_80DD310
-_08026148: .4byte gUnknown_80DD328
-_0802614C:
- bl sub_802678C
- ldr r2, [r4]
- movs r0, 0x94
- lsls r0, 2
- adds r2, r0
- ldr r1, _08026174
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r6, 0xB6
- lsls r6, 1
- adds r1, r6
- bl sub_8012CAC
- b _080261A2
- .align 2, 0
-_08026174: .4byte gUnknown_80DD340
-_08026178:
- ldr r7, _080261C8
- mov r8, r7
- movs r0, 0x88
- lsls r0, 2
- mov r9, r0
- ldr r4, _080261CC
- movs r3, 0
- movs r2, 0x3
-_08026188:
- mov r5, r8
- ldr r1, [r5]
- adds r1, r3
- add r1, r9
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _08026188
-_080261A2:
- bl sub_8004914
- ldr r0, _080261C8
- ldr r0, [r0]
- movs r6, 0x88
- lsls r6, 2
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080261C8: .4byte gUnknown_203B2B8
-_080261CC: .4byte gUnknown_80DD310
- thumb_func_end sub_802608C
-
- thumb_func_start sub_80261D0
-sub_80261D0:
- push {r4,r5,lr}
- sub sp, 0x18
- ldr r1, _080261EC
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x19
- bls _080261E2
- b _080264BA
-_080261E2:
- lsls r0, 2
- ldr r1, _080261F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080261EC: .4byte gUnknown_203B2B8
-_080261F0: .4byte _080261F4
- .align 2, 0
-_080261F4:
- .4byte _080264BA
- .4byte _0802625C
- .4byte _080262A8
- .4byte _080262EC
- .4byte _080262FA
- .4byte _080263F8
- .4byte _0802640C
- .4byte _08026420
- .4byte _08026434
- .4byte _08026448
- .4byte _0802648A
- .4byte _080264A8
- .4byte _08026392
- .4byte _080263AC
- .4byte _08026306
- .4byte _08026464
- .4byte _08026474
- .4byte _08026484
- .4byte _08026310
- .4byte _0802631E
- .4byte _08026326
- .4byte _08026350
- .4byte _08026362
- .4byte _08026388
- .4byte _080263E0
- .4byte _080264BA
-_0802625C:
- movs r0, 0x3
- bl sub_8026E08
- ldr r5, _080262A0
- ldr r1, [r5]
- adds r1, 0x14
- movs r0, 0
- bl sub_8026DAC
- ldr r4, _080262A4
- ldr r0, [r5]
- ldr r1, [r0, 0x18]
- adds r0, r4, 0
- movs r2, 0x7
- bl sub_808D9AC
- adds r4, 0x50
- ldr r0, [r5]
- ldr r1, [r0, 0x18]
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_808D9AC
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x7C
- movs r3, 0xB6
- lsls r3, 1
- adds r1, r2, r3
- movs r4, 0x83
- lsls r4, 2
- adds r3, r2, r4
- ldr r2, [r2, 0x70]
- b _0802633E
- .align 2, 0
-_080262A0: .4byte gUnknown_203B2B8
-_080262A4: .4byte gUnknown_202DF98
-_080262A8:
- movs r0, 0x3
- bl sub_8026E08
- ldr r5, _080262E4
- ldr r1, [r5]
- adds r1, 0x14
- movs r0, 0
- bl sub_8026DAC
- ldr r4, _080262E8
- ldr r0, [r5]
- ldr r1, [r0, 0x18]
- adds r0, r4, 0
- movs r2, 0x7
- bl sub_808D9AC
- adds r4, 0x50
- ldr r0, [r5]
- ldr r1, [r0, 0x18]
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_808D9AC
- ldr r0, [r5]
- adds r0, 0x7C
- movs r1, 0x1
- bl sub_8012EA4
- b _080264BA
- .align 2, 0
-_080262E4: .4byte gUnknown_203B2B8
-_080262E8: .4byte gUnknown_202DF98
-_080262EC:
- ldr r0, [r4]
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- movs r1, 0x2
- bl sub_8024458
- b _080264BA
-_080262FA:
- ldr r0, [r4]
- movs r3, 0xA
- ldrsh r0, [r0, r3]
- bl sub_801BEEC
- b _080264BA
-_08026306:
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- bl sub_80227B8
- b _080264BA
-_08026310:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _080264BA
-_0802631E:
- movs r0, 0x1
- bl sub_801A8D0
- b _080264BA
-_08026326:
- bl sub_801A9E0
- ldr r0, _0802634C
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xCC
- movs r4, 0xB6
- lsls r4, 1
- adds r1, r2, r4
- adds r4, 0xA0
- adds r3, r2, r4
- ldr r2, [r2, 0x74]
-_0802633E:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _080264BA
- .align 2, 0
-_0802634C: .4byte gUnknown_203B2B8
-_08026350:
- ldr r1, [r4]
- adds r1, 0x10
- add r0, sp, 0x14
- bl sub_8090B64
- add r0, sp, 0x14
- bl sub_801B3C0
- b _080264BA
-_08026362:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x28
- ldr r1, [r1, 0x18]
- adds r1, 0x2C
- bl sub_809401C
- ldr r2, [r4]
- movs r0, 0xA
- ldrsh r1, [r2, r0]
- adds r2, 0x28
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r3, 0
- bl sub_801EE10
- b _080264BA
-_08026388:
- movs r0, 0x1
- movs r1, 0
- bl sub_801F1B0
- b _080264BA
-_08026392:
- bl sub_8026878
- ldr r0, _080263A4
- ldr r1, _080263A8
- ldr r3, [r1]
- movs r1, 0xDE
- lsls r1, 1
- adds r3, r1
- b _080263BC
- .align 2, 0
-_080263A4: .4byte gUnknown_80DD388
-_080263A8: .4byte gUnknown_203B2B8
-_080263AC:
- bl sub_8026878
- ldr r0, _080263D8
- ldr r1, _080263DC
- ldr r3, [r1]
- movs r4, 0xDE
- lsls r4, 1
- adds r3, r4
-_080263BC:
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x3
- bl sub_8014248
- b _080264BA
- .align 2, 0
-_080263D8: .4byte gUnknown_80DD420
-_080263DC: .4byte gUnknown_203B2B8
-_080263E0:
- ldr r2, [r4]
- ldr r0, [r2, 0x20]
- adds r1, r2, 0
- adds r1, 0x28
- adds r2, 0x68
- bl sub_8093560
- ldr r0, [r4]
- adds r0, 0x68
- bl sub_801F808
- b _080264BA
-_080263F8:
- ldr r1, [r4]
- movs r0, 0x19
- str r0, [r1, 0x4]
- movs r0, 0xCF
- bl sub_8011988
- ldr r0, _08026408
- b _08026492
- .align 2, 0
-_08026408: .4byte gUnknown_80DD4C4
-_0802640C:
- ldr r1, [r4]
- movs r0, 0x19
- str r0, [r1, 0x4]
- movs r0, 0xCF
- bl sub_8011988
- ldr r0, _0802641C
- b _08026492
- .align 2, 0
-_0802641C: .4byte gUnknown_80DD4F4
-_08026420:
- ldr r1, [r4]
- movs r0, 0x19
- str r0, [r1, 0x4]
- movs r0, 0xCC
- bl sub_8011988
- ldr r0, _08026430
- b _08026492
- .align 2, 0
-_08026430: .4byte gUnknown_80DD534
-_08026434:
- ldr r1, [r4]
- movs r0, 0x9
- str r0, [r1, 0x4]
- movs r0, 0xCA
- bl sub_8011988
- ldr r0, _08026444
- b _08026492
- .align 2, 0
-_08026444: .4byte gUnknown_80DD564
-_08026448:
- bl sub_8026FA4
- ldr r4, _08026460
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- bl sub_808D31C
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x8]
- b _080264BA
- .align 2, 0
-_08026460: .4byte gUnknown_203B2B8
-_08026464:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _08026470
- b _08026492
- .align 2, 0
-_08026470: .4byte gUnknown_80DD594
-_08026474:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _08026480
- b _08026492
- .align 2, 0
-_08026480: .4byte gUnknown_80DD5B8
-_08026484:
- ldr r1, [r4]
- movs r0, 0x2
- b _0802648E
-_0802648A:
- ldr r1, [r4]
- movs r0, 0x19
-_0802648E:
- str r0, [r1, 0x4]
- ldr r0, _080264A0
-_08026492:
- ldr r3, _080264A4
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _080264BA
- .align 2, 0
-_080264A0: .4byte gUnknown_80DD60C
-_080264A4: .4byte 0x00000101
-_080264A8:
- ldr r1, [r4]
- movs r0, 0x19
- str r0, [r1, 0x4]
- ldr r0, _080264C4
- ldr r3, _080264C8
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_080264BA:
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080264C4: .4byte gUnknown_80DD63C
-_080264C8: .4byte 0x00000101
- thumb_func_end sub_80261D0
-
- thumb_func_start sub_80264CC
-sub_80264CC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r3, _08026574
- ldr r4, _08026578
- ldr r0, [r4]
- movs r1, 0xA
- ldrsh r2, [r0, r1]
- movs r1, 0x58
- muls r2, r1
- ldr r1, [r3]
- adds r1, r2
- mov r8, r1
- movs r2, 0x83
- lsls r2, 2
- adds r0, r2
- movs r1, 0
- movs r2, 0x14
- bl MemoryFill16
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x1C]
- ldr r1, [r4]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- adds r1, 0x14
- bl sub_808D7DC
- mov r1, r8
- ldrh r0, [r1]
- lsrs r0, 1
- movs r5, 0x1
- ands r0, r5
- cmp r0, 0
- beq _08026584
- ldr r2, [r4]
- movs r3, 0xB6
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, _0802657C
- str r0, [r1]
- movs r0, 0xB8
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x7
- str r0, [r1]
- mov r0, r8
- bl sub_8026E88
- lsls r0, 24
- cmp r0, 0
- bne _08026542
- ldr r0, [r4]
- movs r1, 0x83
- lsls r1, 2
- adds r0, r1
- strh r5, [r0]
-_08026542:
- movs r6, 0x1
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080265B4
- mov r2, r8
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _080265B4
- ldr r3, [r4]
- movs r2, 0x8
- movs r4, 0xBA
- lsls r4, 1
- adds r1, r3, r4
- ldr r0, _08026580
- str r0, [r1]
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r3, r1
- str r2, [r0]
- movs r6, 0x2
- b _080265B4
- .align 2, 0
-_08026574: .4byte gUnknown_203B45C
-_08026578: .4byte gUnknown_203B2B8
-_0802657C: .4byte gUnknown_80DD664
-_08026580: .4byte gUnknown_80DD670
-_08026584:
- ldr r2, [r4]
- movs r3, 0xB6
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, _08026734
- str r0, [r1]
- movs r0, 0xB8
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x6
- str r0, [r1]
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- bl sub_808D750
- lsls r0, 24
- cmp r0, 0
- bne _080265B2
- ldr r0, [r4]
- movs r2, 0x83
- lsls r2, 2
- adds r0, r2
- strh r5, [r0]
-_080265B2:
- movs r6, 0x1
-_080265B4:
- ldr r4, _08026738
- ldr r2, [r4]
- lsls r3, r6, 3
- movs r7, 0xB6
- lsls r7, 1
- adds r0, r2, r7
- adds r0, r3
- ldr r1, _0802673C
- str r1, [r0]
- movs r5, 0xB8
- lsls r5, 1
- adds r2, r5
- adds r2, r3
- movs r0, 0xA
- str r0, [r2]
- bl sub_809177C
- lsls r0, 24
- cmp r0, 0
- bne _080265EC
- ldr r0, [r4]
- lsls r1, r6, 1
- movs r3, 0x83
- lsls r3, 2
- adds r0, r3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_080265EC:
- adds r6, 0x1
- ldr r2, [r4]
- lsls r3, r6, 3
- adds r0, r2, r7
- adds r0, r3
- ldr r1, _08026740
- str r1, [r0]
- adds r2, r5
- adds r2, r3
- movs r0, 0xB
- str r0, [r2]
- bl sub_8090A34
- cmp r0, 0
- bne _0802661A
- ldr r0, [r4]
- lsls r1, r6, 1
- movs r2, 0x83
- lsls r2, 2
- adds r0, r2
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_0802661A:
- adds r6, 0x1
- ldr r2, [r4]
- lsls r3, r6, 3
- adds r0, r2, r7
- adds r0, r3
- ldr r1, _08026744
- str r1, [r0]
- adds r2, r5
- adds r2, r3
- movs r0, 0xC
- str r0, [r2]
- bl sub_8090A34
- cmp r0, 0x13
- bgt _08026640
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _08026650
-_08026640:
- ldr r0, [r4]
- lsls r1, r6, 1
- movs r3, 0x83
- lsls r3, 2
- adds r0, r3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_08026650:
- adds r6, 0x1
- mov r4, r8
- ldrh r0, [r4]
- lsrs r0, 1
- movs r5, 0x1
- ands r0, r5
- cmp r0, 0
- bne _0802669A
- ldr r4, _08026738
- ldr r3, [r4]
- lsls r2, r6, 3
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r3, r1
- adds r0, r2
- ldr r1, _08026748
- str r1, [r0]
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r3, r1
- adds r0, r2
- movs r1, 0x9
- str r1, [r0]
- mov r0, r8
- bl sub_8026EB8
- lsls r0, 24
- cmp r0, 0
- bne _08026698
- ldr r0, [r4]
- lsls r1, r6, 1
- movs r2, 0x83
- lsls r2, 2
- adds r0, r2
- adds r0, r1
- strh r5, [r0]
-_08026698:
- adds r6, 0x1
-_0802669A:
- ldr r4, _08026738
- ldr r5, [r4]
- lsls r1, r6, 3
- movs r0, 0xB6
- lsls r0, 1
- adds r3, r5, r0
- adds r2, r3, r1
- ldr r0, _0802674C
- str r0, [r2]
- movs r2, 0xB8
- lsls r2, 1
- adds r7, r5, r2
- adds r1, r7, r1
- movs r0, 0x4
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r2, r3, r1
- ldr r0, _08026750
- str r0, [r2]
- adds r1, r7, r1
- movs r0, 0xD
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r2, r3, r1
- ldr r0, _08026754
- str r0, [r2]
- adds r1, r7, r1
- movs r0, 0x5
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r1, r7, r1
- movs r0, 0x1
- str r0, [r1]
- movs r3, 0
- mov r12, r4
- cmp r3, r6
- bge _08026710
- adds r4, r7, 0
- movs r0, 0x83
- lsls r0, 2
- adds r2, r5, r0
-_080266F8:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08026706
- ldr r1, [r4]
- ldr r0, [r5, 0x70]
- cmp r1, r0
- beq _08026780
-_08026706:
- adds r4, 0x8
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, r6
- blt _080266F8
-_08026710:
- movs r3, 0
- cmp r3, r6
- bge _08026780
- mov r2, r12
- ldr r1, [r2]
- movs r4, 0x83
- lsls r4, 2
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, 0
- bne _08026758
- movs r2, 0xB8
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- str r0, [r1, 0x70]
- b _08026780
- .align 2, 0
-_08026734: .4byte gUnknown_80DD67C
-_08026738: .4byte gUnknown_203B2B8
-_0802673C: .4byte gUnknown_80DD688
-_08026740: .4byte gUnknown_80DD694
-_08026744: .4byte gUnknown_80DD69C
-_08026748: .4byte gUnknown_80DD6A4
-_0802674C: .4byte gUnknown_80DD6B4
-_08026750: .4byte gUnknown_80DD6BC
-_08026754: .4byte gUnknown_80DD6C4
-_08026758:
- adds r3, 0x1
- cmp r3, r6
- bge _08026780
- mov r4, r12
- ldr r2, [r4]
- lsls r0, r3, 1
- movs r4, 0x83
- lsls r4, 2
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08026758
- lsls r0, r3, 3
- movs r3, 0xB8
- lsls r3, 1
- adds r1, r2, r3
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x70]
-_08026780:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80264CC
-
- thumb_func_start sub_802678C
-sub_802678C:
- push {r4-r7,lr}
- ldr r5, _08026840
- ldr r0, [r5]
- movs r7, 0x83
- lsls r7, 2
- adds r0, r7
- movs r1, 0
- movs r2, 0x14
- bl MemoryFill16
- ldr r2, [r5]
- movs r0, 0xB6
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, _08026844
- str r0, [r1]
- movs r3, 0xB8
- lsls r3, 1
- adds r1, r2, r3
- movs r0, 0xB
- str r0, [r1]
- bl sub_8090A34
- cmp r0, 0
- bne _080267C8
- ldr r0, [r5]
- adds r4, r7, 0
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0]
-_080267C8:
- ldr r4, [r5]
- movs r2, 0x1
- movs r0, 0xBA
- lsls r0, 1
- adds r1, r4, r0
- ldr r0, _08026848
- ldr r0, [r0]
- str r0, [r1]
- movs r3, 0xBC
- lsls r3, 1
- adds r1, r4, r3
- movs r0, 0x4
- str r0, [r1]
- movs r6, 0x2
- movs r0, 0xBE
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0
- str r0, [r1]
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r4, r1
- str r2, [r0]
- movs r3, 0
- mov r12, r4
- movs r4, 0xB8
- lsls r4, 1
- add r4, r12
- mov r0, r12
- adds r2, r0, r7
-_08026804:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08026814
- ldr r1, [r4]
- mov r7, r12
- ldr r0, [r7, 0x74]
- cmp r1, r0
- beq _08026872
-_08026814:
- adds r4, 0x8
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, r6
- blt _08026804
- movs r3, 0
- cmp r3, r6
- bge _08026872
- ldr r1, [r5]
- movs r2, 0x83
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _0802684C
- movs r3, 0xB8
- lsls r3, 1
- adds r0, r1, r3
- ldr r0, [r0]
- str r0, [r1, 0x74]
- b _08026872
- .align 2, 0
-_08026840: .4byte gUnknown_203B2B8
-_08026844: .4byte gUnknown_80DD694
-_08026848: .4byte gUnknown_80D4970
-_0802684C:
- adds r3, 0x1
- cmp r3, r6
- bge _08026872
- ldr r2, [r5]
- lsls r0, r3, 1
- movs r4, 0x83
- lsls r4, 2
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0802684C
- lsls r0, r3, 3
- movs r7, 0xB8
- lsls r7, 1
- adds r1, r2, r7
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x74]
-_08026872:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802678C
-
- thumb_func_start sub_8026878
-sub_8026878:
- ldr r0, _080268C0
- ldr r0, [r0]
- mov r12, r0
- movs r3, 0
- movs r1, 0xDE
- lsls r1, 1
- add r1, r12
- ldr r0, _080268C4
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0xE0
- lsls r1, 1
- add r1, r12
- movs r0, 0x2
- str r0, [r1]
- movs r2, 0x1
- movs r1, 0xE2
- lsls r1, 1
- add r1, r12
- ldr r0, _080268C8
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0xE4
- lsls r1, 1
- add r1, r12
- movs r0, 0x3
- str r0, [r1]
- movs r0, 0xE6
- lsls r0, 1
- add r0, r12
- str r3, [r0]
- movs r0, 0xE8
- lsls r0, 1
- add r0, r12
- str r2, [r0]
- bx lr
- .align 2, 0
-_080268C0: .4byte gUnknown_203B2B8
-_080268C4: .4byte gUnknown_80D4920
-_080268C8: .4byte gUnknown_80D4928
- thumb_func_end sub_8026878
-
- thumb_func_start sub_80268CC
-sub_80268CC:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r4, _0802690C
- ldr r0, [r4]
- adds r0, 0x7C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080268F8
- ldr r0, [r4]
- adds r0, 0x7C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _080268F8
- ldr r0, [r4]
- str r1, [r0, 0x70]
-_080268F8:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0xC
- bls _08026902
- b _08026A6E
-_08026902:
- lsls r0, 2
- ldr r1, _08026910
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802690C: .4byte gUnknown_203B2B8
-_08026910: .4byte _08026914
- .align 2, 0
-_08026914:
- .4byte _08026A68
- .4byte _08026A6E
- .4byte _08026A6E
- .4byte _08026A58
- .4byte _08026A60
- .4byte _08026948
- .4byte _0802698C
- .4byte _080269B4
- .4byte _080269F0
- .4byte _08026A00
- .4byte _08026A08
- .4byte _08026A10
- .4byte _080269F8
-_08026948:
- ldr r4, _08026984
- ldr r0, [r4]
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- bl sub_808D750
- lsls r0, 24
- cmp r0, 0
- beq _08026976
- ldr r0, [r4]
- movs r2, 0xA
- ldrsh r1, [r0, r2]
- movs r0, 0x58
- muls r1, r0
- ldr r0, _08026988
- ldr r0, [r0]
- adds r1, r0
- ldrh r2, [r1]
- movs r0, 0x2
- orrs r0, r2
- strh r0, [r1]
- bl nullsub_104
-_08026976:
- bl sub_808ED00
- movs r0, 0x5
- bl sub_8026074
- b _08026A6E
- .align 2, 0
-_08026984: .4byte gUnknown_203B2B8
-_08026988: .4byte gUnknown_203B45C
-_0802698C:
- ldr r0, _080269AC
- ldr r0, [r0]
- ldr r2, [r0, 0x18]
- ldrh r1, [r2]
- ldr r0, _080269B0
- ands r0, r1
- strh r0, [r2]
- bl nullsub_104
- bl sub_808ED00
- movs r0, 0x6
- bl sub_8026074
- b _08026A6E
- .align 2, 0
-_080269AC: .4byte gUnknown_203B2B8
-_080269B0: .4byte 0x0000fffd
-_080269B4:
- ldr r2, _080269E8
- ldr r0, _080269EC
- ldr r0, [r0]
- movs r3, 0xA
- ldrsh r1, [r0, r3]
- movs r0, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- bl sub_808D33C
- ldrb r1, [r4, 0x2]
- cmp r1, 0
- bne _080269DA
- strb r1, [r0, 0x2]
- movs r0, 0x1
- strb r0, [r4, 0x2]
- bl nullsub_104
-_080269DA:
- bl sub_808ED00
- movs r0, 0x7
- bl sub_8026074
- b _08026A6E
- .align 2, 0
-_080269E8: .4byte gUnknown_203B45C
-_080269EC: .4byte gUnknown_203B2B8
-_080269F0:
- movs r0, 0xC
- bl sub_8026074
- b _08026A6E
-_080269F8:
- movs r0, 0x16
- bl sub_8026074
- b _08026A6E
-_08026A00:
- movs r0, 0xE
- bl sub_8026074
- b _08026A6E
-_08026A08:
- movs r0, 0x12
- bl sub_8026074
- b _08026A6E
-_08026A10:
- ldr r0, _08026A50
- bl sub_8011988
- ldr r4, _08026A54
- ldr r1, [r4]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- beq _08026A28
- adds r0, r1, 0
- adds r0, 0x14
- bl sub_8091274
-_08026A28:
- bl sub_80910B4
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x14]
- ldr r0, [r4]
- strb r1, [r0, 0x15]
- ldr r1, [r4]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- bl nullsub_104
- movs r0, 0x11
- bl sub_8026074
- b _08026A6E
- .align 2, 0
-_08026A50: .4byte 0x0000014d
-_08026A54: .4byte gUnknown_203B2B8
-_08026A58:
- movs r0, 0x3
- bl sub_8026074
- b _08026A6E
-_08026A60:
- movs r0, 0x4
- bl sub_8026074
- b _08026A6E
-_08026A68:
- movs r0, 0x19
- bl sub_8026074
-_08026A6E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80268CC
-
- thumb_func_start sub_8026A78
-sub_8026A78:
- push {lr}
- bl sub_80244E4
- cmp r0, 0x1
- bls _08026A90
- cmp r0, 0x3
- bhi _08026A90
- bl sub_802453C
- movs r0, 0x2
- bl sub_8026074
-_08026A90:
- pop {r0}
- bx r0
- thumb_func_end sub_8026A78
-
- thumb_func_start sub_8026A94
-sub_8026A94:
- push {lr}
- bl sub_801BF48
- cmp r0, 0x1
- bls _08026AAC
- cmp r0, 0x3
- bhi _08026AAC
- bl sub_801BF98
- movs r0, 0x2
- bl sub_8026074
-_08026AAC:
- pop {r0}
- bx r0
- thumb_func_end sub_8026A94
-
- thumb_func_start sub_8026AB0
-sub_8026AB0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08026B08
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08026ADA
- cmp r0, 0x2
- bgt _08026ACE
- cmp r0, 0x1
- beq _08026AD2
- b _08026B08
-_08026ACE:
- cmp r0, 0x3
- bne _08026B08
-_08026AD2:
- movs r0, 0x2
- bl sub_8026074
- b _08026B08
-_08026ADA:
- ldr r0, _08026AF0
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrb r0, [r0, 0x4]
- subs r0, 0x44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08026AF4
- movs r0, 0x1
- b _08026AF6
- .align 2, 0
-_08026AF0: .4byte gUnknown_203B2B8
-_08026AF4:
- movs r0, 0
-_08026AF6:
- cmp r0, 0
- beq _08026B02
- movs r0, 0xD
- bl sub_8026074
- b _08026B08
-_08026B02:
- movs r0, 0x8
- bl sub_8026074
-_08026B08:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8026AB0
-
- thumb_func_start sub_8026B10
-sub_8026B10:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08026B40
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08026B3A
- cmp r0, 0x2
- bgt _08026B2E
- cmp r0, 0x1
- beq _08026B32
- b _08026B40
-_08026B2E:
- cmp r0, 0x3
- bne _08026B40
-_08026B32:
- movs r0, 0x2
- bl sub_8026074
- b _08026B40
-_08026B3A:
- movs r0, 0x8
- bl sub_8026074
-_08026B40:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8026B10
-
- thumb_func_start sub_8026B48
-sub_8026B48:
- push {lr}
- bl sub_8022860
- cmp r0, 0x1
- bls _08026B60
- cmp r0, 0x3
- bhi _08026B60
- bl sub_8022908
- movs r0, 0x2
- bl sub_8026074
-_08026B60:
- pop {r0}
- bx r0
- thumb_func_end sub_8026B48
-
- thumb_func_start sub_8026B64
-sub_8026B64:
- push {r4,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x4
- bhi _08026C0E
- lsls r0, 2
- ldr r1, _08026B7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08026B7C: .4byte _08026B80
- .align 2, 0
-_08026B80:
- .4byte _08026C0E
- .4byte _08026C0E
- .4byte _08026C04
- .4byte _08026B94
- .4byte _08026BC8
-_08026B94:
- bl sub_801A8AC
- ldr r4, _08026BC0
- ldr r2, [r4]
- str r0, [r2, 0xC]
- ldr r3, _08026BC4
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x10]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0xC]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x11]
- movs r0, 0x14
- bl sub_8026074
- b _08026C0E
- .align 2, 0
-_08026BC0: .4byte gUnknown_203B2B8
-_08026BC4: .4byte gUnknown_203B460
-_08026BC8:
- bl sub_801A8AC
- ldr r4, _08026BFC
- ldr r2, [r4]
- str r0, [r2, 0xC]
- ldr r3, _08026C00
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x10]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0xC]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x11]
- movs r0, 0
- bl sub_8099690
- movs r0, 0x15
- bl sub_8026074
- b _08026C0E
- .align 2, 0
-_08026BFC: .4byte gUnknown_203B2B8
-_08026C00: .4byte gUnknown_203B460
-_08026C04:
- bl sub_801A928
- movs r0, 0x2
- bl sub_8026074
-_08026C0E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8026B64
-
- thumb_func_start sub_8026C14
-sub_8026C14:
- push {r4-r6,lr}
- sub sp, 0x14
- movs r0, 0
- str r0, [sp, 0xC]
- bl sub_801A6E8
- ldr r4, _08026C54
- ldr r0, [r4]
- adds r0, 0xCC
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08026C44
- ldr r0, [r4]
- adds r0, 0xCC
- add r1, sp, 0xC
- bl sub_8013114
- ldr r1, [sp, 0xC]
- cmp r1, 0x1
- beq _08026C44
- ldr r0, [r4]
- str r1, [r0, 0x74]
-_08026C44:
- ldr r0, [sp, 0xC]
- cmp r0, 0x4
- beq _08026CD4
- cmp r0, 0x4
- bgt _08026C58
- cmp r0, 0x1
- beq _08026CE2
- b _08026CE8
- .align 2, 0
-_08026C54: .4byte gUnknown_203B2B8
-_08026C58:
- cmp r0, 0xB
- bne _08026CE8
- movs r6, 0xF
- ldr r0, _08026CC8
- bl sub_8011988
- ldr r5, _08026CCC
- ldr r0, [r5]
- ldr r0, [r0, 0xC]
- bl sub_80911F8
- bl sub_80910B4
- ldr r1, [r5]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- beq _08026C84
- adds r0, r1, 0
- adds r0, 0x14
- bl sub_8091274
- movs r6, 0x10
-_08026C84:
- add r4, sp, 0x10
- ldr r1, [r5]
- adds r1, 0x10
- adds r0, r4, 0
- bl sub_8090B64
- movs r1, 0
- str r1, [sp]
- mov r0, sp
- strb r1, [r0, 0x4]
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x8]
- strb r0, [r4]
- ldr r0, _08026CD0
- adds r1, r4, 0
- mov r2, sp
- bl sub_8090E14
- ldr r1, [r5]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- adds r1, 0x10
- bl sub_808D800
- bl sub_801A928
- bl nullsub_104
- adds r0, r6, 0
- bl sub_8026074
- b _08026CE8
- .align 2, 0
-_08026CC8: .4byte 0x0000014d
-_08026CCC: .4byte gUnknown_203B2B8
-_08026CD0: .4byte gUnknown_202DEA8
-_08026CD4:
- movs r0, 0
- bl sub_8099690
- movs r0, 0x15
- bl sub_8026074
- b _08026CE8
-_08026CE2:
- movs r0, 0x13
- bl sub_8026074
-_08026CE8:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8026C14
-
- thumb_func_start sub_8026CF0
-sub_8026CF0:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08026D08
- cmp r0, 0x3
- bhi _08026D08
- bl sub_801B450
- movs r0, 0x13
- bl sub_8026074
-_08026D08:
- pop {r0}
- bx r0
- thumb_func_end sub_8026CF0
-
- thumb_func_start sub_8026D0C
-sub_8026D0C:
- push {lr}
- movs r0, 0x1
- bl sub_801EF38
- cmp r0, 0x4
- bhi _08026D66
- lsls r0, 2
- ldr r1, _08026D24
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08026D24: .4byte _08026D28
- .align 2, 0
-_08026D28:
- .4byte _08026D66
- .4byte _08026D66
- .4byte _08026D5C
- .4byte _08026D3C
- .4byte _08026D3C
-_08026D3C:
- bl sub_801F194
- ldr r1, _08026D58
- ldr r1, [r1]
- str r0, [r1, 0x20]
- lsls r0, 3
- adds r0, r1, r0
- ldrh r0, [r0, 0x2A]
- strh r0, [r1, 0x24]
- movs r0, 0x18
- bl sub_8026074
- b _08026D66
- .align 2, 0
-_08026D58: .4byte gUnknown_203B2B8
-_08026D5C:
- bl sub_801F214
- movs r0, 0x2
- bl sub_8026074
-_08026D66:
- pop {r0}
- bx r0
- thumb_func_end sub_8026D0C
-
- thumb_func_start sub_8026D6C
-sub_8026D6C:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _08026D84
- cmp r0, 0x3
- bhi _08026D84
- bl sub_801F8D0
- movs r0, 0x17
- bl sub_8026074
-_08026D84:
- pop {r0}
- bx r0
- thumb_func_end sub_8026D6C
-
- thumb_func_start sub_8026D88
-sub_8026D88:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08026DA0
- ldr r0, _08026DA8
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_8026074
-_08026DA0:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08026DA8: .4byte gUnknown_203B2B8
- thumb_func_end sub_8026D88
-
- thumb_func_start sub_8026DAC
-sub_8026DAC:
- push {r4-r6,lr}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- bl sub_8008C54
- adds r0, r6, 0
- bl sub_80073B8
- add r4, sp, 0x10
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8090B64
- movs r5, 0
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- strb r5, [r0, 0x4]
- adds r1, r0, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- strb r0, [r4]
- ldr r0, _08026E00
- adds r1, r4, 0
- add r2, sp, 0x4
- bl sub_8090E14
- ldr r2, _08026E04
- str r5, [sp]
- movs r0, 0x4
- movs r1, 0x3
- adds r3, r6, 0
- bl sub_8014FF0
- adds r0, r6, 0
- bl sub_80073E0
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08026E00: .4byte gUnknown_202DE58
-_08026E04: .4byte gUnknown_80DD6D0
- thumb_func_end sub_8026DAC
-
- thumb_func_start sub_8026E08
-sub_8026E08:
- push {r4-r6,lr}
- sub sp, 0x40
- adds r5, r0, 0
- bl sub_8008C54
- adds r0, r5, 0
- bl sub_80073B8
- ldr r6, _08026E78
- ldr r4, _08026E7C
- ldr r0, [r4]
- ldr r1, [r0, 0x18]
- adds r1, 0x4C
- adds r0, r6, 0
- movs r2, 0xA
- bl sub_80922B4
- add r0, sp, 0x2C
- ldr r1, [r4]
- ldr r1, [r1, 0x18]
- movs r2, 0x8
- ldrsh r1, [r1, r2]
- bl sub_808D930
- ldr r1, _08026E80
- add r0, sp, 0x4
- adds r2, r6, 0
- bl sub_800D158
- add r0, sp, 0x4
- bl sub_8008ED0
- adds r1, r0, 0
- ldr r0, _08026E84
- movs r2, 0xC
- ldrsh r0, [r0, r2]
- lsls r0, 3
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r1, 0
- str r1, [sp]
- movs r1, 0x3
- add r2, sp, 0x4
- adds r3, r5, 0
- bl xxx_call_draw_string
- adds r0, r5, 0
- bl sub_80073E0
- add sp, 0x40
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08026E78: .4byte gUnknown_202DF98
-_08026E7C: .4byte gUnknown_203B2B8
-_08026E80: .4byte gUnknown_80DD6E0
-_08026E84: .4byte gUnknown_80DD370
- thumb_func_end sub_8026E08
-
- thumb_func_start sub_8026E88
-sub_8026E88:
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _08026EAC
- movs r2, 0
- ldrb r0, [r1, 0x4]
- cmp r0, 0x41
- bne _08026E9C
- movs r2, 0x1
-_08026E9C:
- cmp r2, 0
- beq _08026EB0
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08026EB0
-_08026EAC:
- movs r0, 0
- b _08026EB2
-_08026EB0:
- movs r0, 0x1
-_08026EB2:
- pop {r1}
- bx r1
- thumb_func_end sub_8026E88
-
- thumb_func_start sub_8026EB8
-sub_8026EB8:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_808D3BC
- cmp r0, r4
- beq _08026EFA
- bl sub_808D3F8
- cmp r0, r4
- beq _08026EFA
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _08026EFA
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _08026EDC
- movs r1, 0x1
-_08026EDC:
- cmp r1, 0
- beq _08026EEC
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _08026EFA
-_08026EEC:
- adds r0, r4, 0
- bl sub_8026F04
- cmp r0, 0x3
- beq _08026EFA
- movs r0, 0x1
- b _08026EFC
-_08026EFA:
- movs r0, 0
-_08026EFC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8026EB8
-
- thumb_func_start sub_8026F04
-sub_8026F04:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x28
- ldrb r0, [r0]
- cmp r0, 0
- bne _08026F14
- movs r0, 0
- b _08026F32
-_08026F14:
- bl sub_8090A34
- cmp r0, 0x13
- bgt _08026F20
- movs r0, 0x1
- b _08026F32
-_08026F20:
- adds r0, r4, 0
- bl sub_8026F38
- lsls r0, 24
- cmp r0, 0
- bne _08026F30
- movs r0, 0x3
- b _08026F32
-_08026F30:
- movs r0, 0x2
-_08026F32:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8026F04
-
- thumb_func_start sub_8026F38
-sub_8026F38:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x28
- ldrb r0, [r4]
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _08026F74
- ldrb r0, [r4]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _08026F80
- ldr r0, _08026F78
- ldr r1, [r0]
- ldrb r0, [r4]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _08026F7C
- cmp r1, r0
- ble _08026F94
-_08026F74:
- movs r0, 0
- b _08026F96
- .align 2, 0
-_08026F78: .4byte gUnknown_203B460
-_08026F7C: .4byte 0x000003e7
-_08026F80:
- ldr r0, _08026F9C
- ldr r1, [r0]
- ldrb r0, [r4]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- ldr r0, _08026FA0
- cmp r1, r0
- bhi _08026F74
-_08026F94:
- movs r0, 0x1
-_08026F96:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08026F9C: .4byte gUnknown_203B460
-_08026FA0: .4byte 0x000003e6
- thumb_func_end sub_8026F38
-
- thumb_func_start sub_8026FA4
-sub_8026FA4:
- push {r4,lr}
- ldr r4, _08026FC0
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- bl sub_8026F04
- cmp r0, 0x1
- beq _08026FC4
- cmp r0, 0x1
- bcc _08027068
- cmp r0, 0x2
- beq _08026FF8
- b _08027068
- .align 2, 0
-_08026FC0: .4byte gUnknown_203B2B8
-_08026FC4:
- ldr r0, _08026FF4
- bl sub_8011988
- ldr r0, [r4]
- adds r0, 0x14
- bl sub_8091274
- bl sub_80910B4
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x14]
- ldr r0, [r4]
- strb r1, [r0, 0x15]
- ldr r1, [r4]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- movs r0, 0xA
- bl sub_8026074
- b _0802706E
- .align 2, 0
-_08026FF4: .4byte 0x0000014d
-_08026FF8:
- ldr r0, _08027024
- bl sub_8011988
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _0802702C
- ldr r0, _08027028
- ldr r1, [r0]
- ldr r2, [r4]
- ldrb r0, [r2, 0x14]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- ldrb r2, [r2, 0x15]
- adds r0, r2
- b _0802703E
- .align 2, 0
-_08027024: .4byte 0x0000014d
-_08027028: .4byte gUnknown_203B460
-_0802702C:
- ldr r0, _08027060
- ldr r1, [r0]
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
-_0802703E:
- strh r0, [r1]
- ldr r1, _08027064
- ldr r0, [r1]
- movs r2, 0
- strb r2, [r0, 0x14]
- ldr r0, [r1]
- strb r2, [r0, 0x15]
- ldr r1, [r1]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- movs r0, 0xB
- bl sub_8026074
- b _0802706E
- .align 2, 0
-_08027060: .4byte gUnknown_203B460
-_08027064: .4byte gUnknown_203B2B8
-_08027068:
- movs r0, 0x19
- bl sub_8026074
-_0802706E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8026FA4
-
- thumb_func_start sub_8027074
-sub_8027074:
- push {r4,lr}
- movs r0, 0
- bl ResetSprites
- ldr r4, _080270A0
- movs r0, 0xF0
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0
- str r1, [r0, 0x70]
- str r1, [r0, 0x74]
- str r1, [r0, 0x78]
- movs r0, 0
- bl sub_8027184
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080270A0: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027074
-
- thumb_func_start sub_80270A4
-sub_80270A4:
- push {lr}
- ldr r0, _080270BC
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x11
- bhi _08027156
- lsls r0, 2
- ldr r1, _080270C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080270BC: .4byte gUnknown_203B2BC
-_080270C0: .4byte _080270C4
- .align 2, 0
-_080270C4:
- .4byte _0802710C
- .4byte _08027114
- .4byte _08027114
- .4byte _0802711A
- .4byte _08027120
- .4byte _08027126
- .4byte _08027156
- .4byte _08027156
- .4byte _0802712C
- .4byte _08027132
- .4byte _08027138
- .4byte _08027138
- .4byte _0802713E
- .4byte _08027144
- .4byte _0802714A
- .4byte _0802714A
- .4byte _08027150
- .4byte _0802715C
-_0802710C:
- movs r0, 0x1
- bl sub_8027184
- b _08027160
-_08027114:
- bl sub_80277FC
- b _08027160
-_0802711A:
- bl sub_80278B4
- b _08027160
-_08027120:
- bl sub_8027A40
- b _08027160
-_08027126:
- bl sub_8027A5C
- b _08027160
-_0802712C:
- bl sub_8027A78
- b _08027160
-_08027132:
- bl sub_8027AE4
- b _08027160
-_08027138:
- bl sub_8027B28
- b _08027160
-_0802713E:
- bl sub_8027BD8
- b _08027160
-_08027144:
- bl sub_8027C84
- b _08027160
-_0802714A:
- bl sub_8027CA0
- b _08027160
-_08027150:
- bl sub_8027D00
- b _08027160
-_08027156:
- bl sub_8027D1C
- b _08027160
-_0802715C:
- movs r0, 0x3
- b _08027162
-_08027160:
- movs r0, 0
-_08027162:
- pop {r1}
- bx r1
- thumb_func_end sub_80270A4
-
- thumb_func_start sub_8027168
-sub_8027168:
- push {r4,lr}
- ldr r4, _08027180
- ldr r0, [r4]
- cmp r0, 0
- beq _0802717A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802717A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08027180: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027168
-
- thumb_func_start sub_8027184
-sub_8027184:
- push {lr}
- ldr r1, _08027198
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802719C
- bl sub_8027274
- pop {r0}
- bx r0
- .align 2, 0
-_08027198: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027184
-
- thumb_func_start sub_802719C
-sub_802719C:
- push {r4-r7,lr}
- ldr r4, _080271C0
- ldr r0, [r4]
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x3
- beq _080271C8
- cmp r0, 0xC
- beq _08027208
- movs r2, 0
- ldr r3, _080271C4
- b _08027234
- .align 2, 0
-_080271C0: .4byte gUnknown_203B2BC
-_080271C4: .4byte gUnknown_80DD6EC
-_080271C8:
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r2
- ldr r0, _08027200
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- bl sub_802745C
- ldr r2, [r4]
- movs r0, 0xD8
- lsls r0, 1
- adds r2, r0
- ldr r1, _08027204
- ldm r1!, {r5-r7}
- stm r2!, {r5-r7}
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r7, 0x8E
- lsls r7, 1
- adds r1, r7
- bl sub_8012CAC
- b _08027254
- .align 2, 0
-_08027200: .4byte gUnknown_80DD74C
-_08027204: .4byte gUnknown_80DD704
-_08027208:
- bl sub_80276A8
- ldr r2, [r4]
- movs r0, 0xD8
- lsls r0, 1
- adds r2, r0
- ldr r1, _08027230
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r6, 0x8E
- lsls r6, 1
- adds r1, r6
- bl sub_8012CAC
- b _08027254
- .align 2, 0
-_08027230: .4byte gUnknown_80DD71C
-_08027234:
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- movs r7, 0xC0
- lsls r7, 1
- adds r0, r7
- adds r1, r3, 0
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- adds r2, 0x1
- cmp r2, 0x3
- ble _08027234
-_08027254:
- bl sub_8004914
- ldr r0, _08027270
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08027270: .4byte gUnknown_203B2BC
- thumb_func_end sub_802719C
-
- thumb_func_start sub_8027274
-sub_8027274:
- push {r4,lr}
- sub sp, 0x18
- ldr r1, _08027290
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x11
- bls _08027286
- b _0802744A
-_08027286:
- lsls r0, 2
- ldr r1, _08027294
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08027290: .4byte gUnknown_203B2BC
-_08027294: .4byte _08027298
- .align 2, 0
-_08027298:
- .4byte _0802744A
- .4byte _080272E0
- .4byte _080272EE
- .4byte _080272F6
- .4byte _0802731A
- .4byte _08027328
- .4byte _0802741C
- .4byte _08027438
- .4byte _080273B6
- .4byte _080273D0
- .4byte _08027334
- .4byte _08027342
- .4byte _0802734A
- .4byte _08027374
- .4byte _08027386
- .4byte _080273AC
- .4byte _08027404
- .4byte _0802744A
-_080272E0:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x7
- bl sub_8023868
- b _0802744A
-_080272EE:
- movs r0, 0x1
- bl sub_8023B7C
- b _0802744A
-_080272F6:
- ldr r1, [r4]
- adds r1, 0x14
- movs r0, 0x3
- bl sub_8027D40
- bl sub_8023DA4
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x7C
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r2, r3
- movs r4, 0xB6
- lsls r4, 1
- adds r3, r2, r4
- ldr r2, [r2, 0x70]
- b _08027362
-_0802731A:
- ldr r0, [r4]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- movs r1, 0x2
- bl sub_8024458
- b _0802744A
-_08027328:
- ldr r0, [r4]
- movs r3, 0x8
- ldrsh r0, [r0, r3]
- bl sub_801BEEC
- b _0802744A
-_08027334:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _0802744A
-_08027342:
- movs r0, 0x1
- bl sub_801A8D0
- b _0802744A
-_0802734A:
- bl sub_801A9E0
- ldr r0, _08027370
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x7C
- movs r4, 0x8E
- lsls r4, 1
- adds r1, r2, r4
- adds r4, 0x50
- adds r3, r2, r4
- ldr r2, [r2, 0x74]
-_08027362:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _0802744A
- .align 2, 0
-_08027370: .4byte gUnknown_203B2BC
-_08027374:
- ldr r1, [r4]
- adds r1, 0x10
- add r0, sp, 0x14
- bl sub_8090B64
- add r0, sp, 0x14
- bl sub_801B3C0
- b _0802744A
-_08027386:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x28
- ldr r1, [r1, 0x18]
- adds r1, 0x2C
- bl sub_809401C
- ldr r2, [r4]
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- adds r2, 0x28
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r3, 0
- bl sub_801EE10
- b _0802744A
-_080273AC:
- movs r0, 0x1
- movs r1, 0
- bl sub_801F1B0
- b _0802744A
-_080273B6:
- bl sub_8027794
- ldr r0, _080273C8
- ldr r1, _080273CC
- ldr r3, [r1]
- movs r1, 0x8E
- lsls r1, 1
- adds r3, r1
- b _080273E0
- .align 2, 0
-_080273C8: .4byte gUnknown_80DD764
-_080273CC: .4byte gUnknown_203B2BC
-_080273D0:
- bl sub_8027794
- ldr r0, _080273FC
- ldr r1, _08027400
- ldr r3, [r1]
- movs r4, 0x8E
- lsls r4, 1
- adds r3, r4
-_080273E0:
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x3
- bl sub_8014248
- b _0802744A
- .align 2, 0
-_080273FC: .4byte gUnknown_80DD7FC
-_08027400: .4byte gUnknown_203B2BC
-_08027404:
- ldr r2, [r4]
- ldr r0, [r2, 0x20]
- adds r1, r2, 0
- adds r1, 0x28
- adds r2, 0x68
- bl sub_8093560
- ldr r0, [r4]
- adds r0, 0x68
- bl sub_801F808
- b _0802744A
-_0802741C:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _08027430
- ldr r3, _08027434
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0802744A
- .align 2, 0
-_08027430: .4byte gUnknown_80DD8A0
-_08027434: .4byte 0x00000101
-_08027438:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _08027454
- ldr r3, _08027458
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_0802744A:
- add sp, 0x18
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08027454: .4byte gUnknown_80DD8D0
-_08027458: .4byte 0x00000101
- thumb_func_end sub_8027274
-
- thumb_func_start sub_802745C
-sub_802745C:
- push {r4-r7,lr}
- ldr r3, _080274E4
- ldr r4, _080274E8
- ldr r0, [r4]
- movs r1, 0x8
- ldrsh r2, [r0, r1]
- movs r1, 0x58
- muls r2, r1
- ldr r1, [r3]
- adds r5, r1, r2
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r2
- movs r1, 0
- movs r2, 0x14
- bl MemoryFill16
- ldrh r0, [r5]
- lsrs r0, 1
- movs r6, 0x1
- ands r0, r6
- cmp r0, 0
- beq _080274F4
- ldr r2, [r4]
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, _080274EC
- str r0, [r1]
- movs r0, 0x90
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x7
- str r0, [r1]
- adds r0, r5, 0
- bl sub_8027D9C
- lsls r0, 24
- cmp r0, 0
- bne _080274B6
- ldr r0, [r4]
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r1
- strh r6, [r0]
-_080274B6:
- movs r7, 0x1
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _08027552
- ldrb r0, [r5, 0x2]
- cmp r0, 0
- bne _08027552
- ldr r3, [r4]
- movs r2, 0x8
- movs r4, 0x92
- lsls r4, 1
- adds r1, r3, r4
- ldr r0, _080274F0
- str r0, [r1]
- movs r1, 0x94
- lsls r1, 1
- adds r0, r3, r1
- str r2, [r0]
- b _08027550
- .align 2, 0
-_080274E4: .4byte gUnknown_203B45C
-_080274E8: .4byte gUnknown_203B2BC
-_080274EC: .4byte gUnknown_80DD8F8
-_080274F0: .4byte gUnknown_80DD904
-_080274F4:
- ldr r2, [r4]
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, _08027658
- str r0, [r1]
- movs r0, 0x90
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x6
- str r0, [r1]
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- bl sub_808D750
- lsls r0, 24
- cmp r0, 0
- bne _08027522
- ldr r0, [r4]
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r2
- strh r6, [r0]
-_08027522:
- movs r7, 0x1
- ldr r2, [r4]
- movs r3, 0x92
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, _0802765C
- str r0, [r1]
- movs r0, 0x94
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x9
- str r0, [r1]
- adds r0, r5, 0
- bl sub_8027DCC
- lsls r0, 24
- cmp r0, 0
- bne _08027550
- ldr r0, [r4]
- movs r1, 0xB7
- lsls r1, 1
- adds r0, r1
- strh r7, [r0]
-_08027550:
- movs r7, 0x2
-_08027552:
- ldr r4, _08027660
- ldr r2, [r4]
- lsls r3, r7, 3
- movs r6, 0x8E
- lsls r6, 1
- adds r0, r2, r6
- adds r0, r3
- ldr r1, _08027664
- str r1, [r0]
- movs r5, 0x90
- lsls r5, 1
- adds r2, r5
- adds r2, r3
- movs r0, 0xA
- str r0, [r2]
- bl sub_8090A34
- cmp r0, 0
- bne _08027588
- ldr r0, [r4]
- lsls r1, r7, 1
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r2
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_08027588:
- adds r7, 0x1
- ldr r2, [r4]
- lsls r3, r7, 3
- adds r0, r2, r6
- adds r0, r3
- ldr r1, _08027668
- str r1, [r0]
- adds r2, r5
- adds r2, r3
- movs r0, 0xB
- str r0, [r2]
- bl sub_8090A34
- cmp r0, 0x13
- bgt _080275AE
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _080275BE
-_080275AE:
- ldr r0, [r4]
- lsls r1, r7, 1
- movs r3, 0xB6
- lsls r3, 1
- adds r0, r3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_080275BE:
- adds r7, 0x1
- ldr r4, _08027660
- ldr r5, [r4]
- lsls r1, r7, 3
- movs r0, 0x8E
- lsls r0, 1
- adds r3, r5, r0
- adds r2, r3, r1
- ldr r0, _0802766C
- str r0, [r2]
- movs r2, 0x90
- lsls r2, 1
- adds r6, r5, r2
- adds r1, r6, r1
- movs r0, 0x4
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r2, r3, r1
- ldr r0, _08027670
- str r0, [r2]
- adds r1, r6, r1
- movs r0, 0xC
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r2, r3, r1
- ldr r0, _08027674
- str r0, [r2]
- adds r1, r6, r1
- movs r0, 0x5
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r1, r6, r1
- movs r0, 0x1
- str r0, [r1]
- movs r3, 0
- mov r12, r4
- cmp r3, r7
- bge _08027636
- adds r4, r6, 0
- movs r0, 0xB6
- lsls r0, 1
- adds r2, r5, r0
-_0802761E:
- ldrh r0, [r2]
- cmp r0, 0
- bne _0802762C
- ldr r1, [r4]
- ldr r0, [r5, 0x70]
- cmp r1, r0
- beq _080276A0
-_0802762C:
- adds r4, 0x8
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, r7
- blt _0802761E
-_08027636:
- movs r3, 0
- cmp r3, r7
- bge _080276A0
- mov r2, r12
- ldr r1, [r2]
- movs r4, 0xB6
- lsls r4, 1
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, 0
- bne _08027678
- movs r2, 0x90
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- str r0, [r1, 0x70]
- b _080276A0
- .align 2, 0
-_08027658: .4byte gUnknown_80DD910
-_0802765C: .4byte gUnknown_80DD91C
-_08027660: .4byte gUnknown_203B2BC
-_08027664: .4byte gUnknown_80DD92C
-_08027668: .4byte gUnknown_80DD934
-_0802766C: .4byte gUnknown_80DD93C
-_08027670: .4byte gUnknown_80DD944
-_08027674: .4byte gUnknown_80DD94C
-_08027678:
- adds r3, 0x1
- cmp r3, r7
- bge _080276A0
- mov r4, r12
- ldr r2, [r4]
- lsls r0, r3, 1
- movs r4, 0xB6
- lsls r4, 1
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08027678
- lsls r0, r3, 3
- movs r3, 0x90
- lsls r3, 1
- adds r1, r2, r3
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x70]
-_080276A0:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802745C
-
- thumb_func_start sub_80276A8
-sub_80276A8:
- push {r4-r7,lr}
- ldr r5, _0802775C
- ldr r0, [r5]
- movs r7, 0xB6
- lsls r7, 1
- adds r0, r7
- movs r1, 0
- movs r2, 0x14
- bl MemoryFill16
- ldr r2, [r5]
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, _08027760
- str r0, [r1]
- movs r3, 0x90
- lsls r3, 1
- adds r1, r2, r3
- movs r0, 0xA
- str r0, [r1]
- bl sub_8090A34
- cmp r0, 0
- bne _080276E4
- ldr r0, [r5]
- adds r4, r7, 0
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0]
-_080276E4:
- ldr r4, [r5]
- movs r2, 0x1
- movs r0, 0x92
- lsls r0, 1
- adds r1, r4, r0
- ldr r0, _08027764
- ldr r0, [r0]
- str r0, [r1]
- movs r3, 0x94
- lsls r3, 1
- adds r1, r4, r3
- movs r0, 0x4
- str r0, [r1]
- movs r6, 0x2
- movs r0, 0x96
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0
- str r0, [r1]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r4, r1
- str r2, [r0]
- movs r3, 0
- mov r12, r4
- movs r4, 0x90
- lsls r4, 1
- add r4, r12
- mov r0, r12
- adds r2, r0, r7
-_08027720:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08027730
- ldr r1, [r4]
- mov r7, r12
- ldr r0, [r7, 0x74]
- cmp r1, r0
- beq _0802778E
-_08027730:
- adds r4, 0x8
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, r6
- blt _08027720
- movs r3, 0
- cmp r3, r6
- bge _0802778E
- ldr r1, [r5]
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _08027768
- movs r3, 0x90
- lsls r3, 1
- adds r0, r1, r3
- ldr r0, [r0]
- str r0, [r1, 0x74]
- b _0802778E
- .align 2, 0
-_0802775C: .4byte gUnknown_203B2BC
-_08027760: .4byte gUnknown_80DD92C
-_08027764: .4byte gUnknown_80D4970
-_08027768:
- adds r3, 0x1
- cmp r3, r6
- bge _0802778E
- ldr r2, [r5]
- lsls r0, r3, 1
- movs r4, 0xB6
- lsls r4, 1
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08027768
- lsls r0, r3, 3
- movs r7, 0x90
- lsls r7, 1
- adds r1, r2, r7
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x74]
-_0802778E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80276A8
-
- thumb_func_start sub_8027794
-sub_8027794:
- push {r4,lr}
- ldr r4, _080277F0
- ldr r0, [r4]
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- movs r2, 0x14
- bl MemoryFill16
- ldr r4, [r4]
- movs r3, 0
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r4, r0
- ldr r0, _080277F4
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0x90
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x2
- str r0, [r1]
- movs r2, 0x1
- movs r0, 0x92
- lsls r0, 1
- adds r1, r4, r0
- ldr r0, _080277F8
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0x94
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x3
- str r0, [r1]
- movs r1, 0x96
- lsls r1, 1
- adds r0, r4, r1
- str r3, [r0]
- adds r1, 0x4
- adds r0, r4, r1
- str r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080277F0: .4byte gUnknown_203B2BC
-_080277F4: .4byte gUnknown_80D4920
-_080277F8: .4byte gUnknown_80D4928
- thumb_func_end sub_8027794
-
- thumb_func_start sub_80277FC
-sub_80277FC:
- push {r4,lr}
- movs r0, 0x1
- bl sub_8023A94
- cmp r0, 0x4
- bhi _080278AE
- lsls r0, 2
- ldr r1, _08027814
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08027814: .4byte _08027818
- .align 2, 0
-_08027818:
- .4byte _080278AE
- .4byte _080278AE
- .4byte _080278A4
- .4byte _0802782C
- .4byte _08027868
-_0802782C:
- bl sub_8023B44
- ldr r4, _08027860
- ldr r1, [r4]
- strh r0, [r1, 0x8]
- ldr r3, _08027864
- movs r0, 0x8
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x18]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x1C]
- ldr r1, [r4]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D7DC
- movs r0, 0x3
- bl sub_8027184
- b _080278AE
- .align 2, 0
-_08027860: .4byte gUnknown_203B2BC
-_08027864: .4byte gUnknown_203B45C
-_08027868:
- bl sub_8023B44
- ldr r4, _0802789C
- ldr r1, [r4]
- strh r0, [r1, 0x8]
- ldr r3, _080278A0
- movs r0, 0x8
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x18]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x1C]
- ldr r1, [r4]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D7DC
- movs r0, 0x4
- bl sub_8027184
- b _080278AE
- .align 2, 0
-_0802789C: .4byte gUnknown_203B2BC
-_080278A0: .4byte gUnknown_203B45C
-_080278A4:
- bl sub_8023C60
- movs r0, 0x11
- bl sub_8027184
-_080278AE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80277FC
-
- thumb_func_start sub_80278B4
-sub_80278B4:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8023A94
- ldr r4, _080278F8
- ldr r0, [r4]
- adds r0, 0x7C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080278E4
- ldr r0, [r4]
- adds r0, 0x7C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _080278E4
- ldr r0, [r4]
- str r1, [r0, 0x70]
-_080278E4:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0xB
- bls _080278EE
- b _08027A36
-_080278EE:
- lsls r0, 2
- ldr r1, _080278FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080278F8: .4byte gUnknown_203B2BC
-_080278FC: .4byte _08027900
- .align 2, 0
-_08027900:
- .4byte _08027A30
- .4byte _08027A36
- .4byte _08027A36
- .4byte _08027A20
- .4byte _08027A28
- .4byte _08027930
- .4byte _0802796C
- .4byte _0802798C
- .4byte _080279C0
- .4byte _080279D0
- .4byte _080279D8
- .4byte _080279C8
-_08027930:
- ldr r4, _08027964
- ldr r0, [r4]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl sub_808D750
- lsls r0, 24
- cmp r0, 0
- beq _0802795E
- ldr r0, [r4]
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- movs r0, 0x58
- muls r1, r0
- ldr r0, _08027968
- ldr r0, [r0]
- adds r1, r0
- ldrh r2, [r1]
- movs r0, 0x2
- orrs r0, r2
- strh r0, [r1]
- bl nullsub_104
-_0802795E:
- bl sub_808ED00
- b _08027A0E
- .align 2, 0
-_08027964: .4byte gUnknown_203B2BC
-_08027968: .4byte gUnknown_203B45C
-_0802796C:
- ldr r0, _08027984
- ldr r0, [r0]
- ldr r2, [r0, 0x18]
- ldrh r1, [r2]
- ldr r0, _08027988
- ands r0, r1
- strh r0, [r2]
- bl nullsub_104
- bl sub_808ED00
- b _08027A0E
- .align 2, 0
-_08027984: .4byte gUnknown_203B2BC
-_08027988: .4byte 0x0000fffd
-_0802798C:
- ldr r2, _080279B8
- ldr r0, _080279BC
- ldr r0, [r0]
- movs r3, 0x8
- ldrsh r1, [r0, r3]
- movs r0, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- bl sub_808D33C
- ldrb r1, [r4, 0x2]
- cmp r1, 0
- bne _080279B2
- strb r1, [r0, 0x2]
- movs r0, 0x1
- strb r0, [r4, 0x2]
- bl nullsub_104
-_080279B2:
- bl sub_808ED00
- b _08027A0E
- .align 2, 0
-_080279B8: .4byte gUnknown_203B45C
-_080279BC: .4byte gUnknown_203B2BC
-_080279C0:
- movs r0, 0x8
- bl sub_8027184
- b _08027A36
-_080279C8:
- movs r0, 0xE
- bl sub_8027184
- b _08027A36
-_080279D0:
- movs r0, 0xA
- bl sub_8027184
- b _08027A36
-_080279D8:
- ldr r0, _08027A18
- bl sub_8011988
- ldr r4, _08027A1C
- ldr r1, [r4]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- beq _080279F0
- adds r0, r1, 0
- adds r0, 0x14
- bl sub_8091274
-_080279F0:
- bl sub_80910B4
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x14]
- ldr r0, [r4]
- strb r1, [r0, 0x15]
- ldr r1, [r4]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- bl nullsub_104
-_08027A0E:
- movs r0, 0x2
- bl sub_8027184
- b _08027A36
- .align 2, 0
-_08027A18: .4byte 0x0000014d
-_08027A1C: .4byte gUnknown_203B2BC
-_08027A20:
- movs r0, 0x4
- bl sub_8027184
- b _08027A36
-_08027A28:
- movs r0, 0x5
- bl sub_8027184
- b _08027A36
-_08027A30:
- movs r0, 0x2
- bl sub_8027184
-_08027A36:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80278B4
-
- thumb_func_start sub_8027A40
-sub_8027A40:
- push {lr}
- bl sub_80244E4
- cmp r0, 0x1
- bls _08027A58
- cmp r0, 0x3
- bhi _08027A58
- bl sub_802453C
- movs r0, 0x2
- bl sub_8027184
-_08027A58:
- pop {r0}
- bx r0
- thumb_func_end sub_8027A40
-
- thumb_func_start sub_8027A5C
-sub_8027A5C:
- push {lr}
- bl sub_801BF48
- cmp r0, 0x1
- bls _08027A74
- cmp r0, 0x3
- bhi _08027A74
- bl sub_801BF98
- movs r0, 0x2
- bl sub_8027184
-_08027A74:
- pop {r0}
- bx r0
- thumb_func_end sub_8027A5C
-
- thumb_func_start sub_8027A78
-sub_8027A78:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08027AD8
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08027AA2
- cmp r0, 0x2
- bgt _08027A96
- cmp r0, 0x1
- beq _08027A9A
- b _08027AD8
-_08027A96:
- cmp r0, 0x3
- bne _08027AD8
-_08027A9A:
- movs r0, 0x2
- bl sub_8027184
- b _08027AD8
-_08027AA2:
- ldr r0, _08027AB8
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrb r0, [r0, 0x4]
- subs r0, 0x44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08027ABC
- movs r0, 0x1
- b _08027ABE
- .align 2, 0
-_08027AB8: .4byte gUnknown_203B2BC
-_08027ABC:
- movs r0, 0
-_08027ABE:
- cmp r0, 0
- beq _08027ACA
- movs r0, 0x9
- bl sub_8027184
- b _08027AD8
-_08027ACA:
- bl sub_8027EB8
- ldr r0, _08027AE0
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- bl sub_808D31C
-_08027AD8:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08027AE0: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027A78
-
- thumb_func_start sub_8027AE4
-sub_8027AE4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08027B1C
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08027B0E
- cmp r0, 0x2
- bgt _08027B02
- cmp r0, 0x1
- beq _08027B06
- b _08027B1C
-_08027B02:
- cmp r0, 0x3
- bne _08027B1C
-_08027B06:
- movs r0, 0x2
- bl sub_8027184
- b _08027B1C
-_08027B0E:
- bl sub_8027EB8
- ldr r0, _08027B24
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- bl sub_808D31C
-_08027B1C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08027B24: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027AE4
-
- thumb_func_start sub_8027B28
-sub_8027B28:
- push {r4,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x4
- bhi _08027BD2
- lsls r0, 2
- ldr r1, _08027B40
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08027B40: .4byte _08027B44
- .align 2, 0
-_08027B44:
- .4byte _08027BD2
- .4byte _08027BD2
- .4byte _08027BC8
- .4byte _08027B58
- .4byte _08027B8C
-_08027B58:
- bl sub_801A8AC
- ldr r4, _08027B84
- ldr r2, [r4]
- str r0, [r2, 0xC]
- ldr r3, _08027B88
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x10]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0xC]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x11]
- movs r0, 0xC
- bl sub_8027184
- b _08027BD2
- .align 2, 0
-_08027B84: .4byte gUnknown_203B2BC
-_08027B88: .4byte gUnknown_203B460
-_08027B8C:
- bl sub_801A8AC
- ldr r4, _08027BC0
- ldr r2, [r4]
- str r0, [r2, 0xC]
- ldr r3, _08027BC4
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x10]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0xC]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x11]
- movs r0, 0
- bl sub_8099690
- movs r0, 0xD
- bl sub_8027184
- b _08027BD2
- .align 2, 0
-_08027BC0: .4byte gUnknown_203B2BC
-_08027BC4: .4byte gUnknown_203B460
-_08027BC8:
- bl sub_801A928
- movs r0, 0x2
- bl sub_8027184
-_08027BD2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8027B28
-
- thumb_func_start sub_8027BD8
-sub_8027BD8:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _08027C18
- ldr r0, [r4]
- adds r0, 0x7C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08027C08
- ldr r0, [r4]
- adds r0, 0x7C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08027C08
- ldr r0, [r4]
- str r1, [r0, 0x74]
-_08027C08:
- ldr r0, [sp]
- cmp r0, 0x4
- beq _08027C68
- cmp r0, 0x4
- bgt _08027C1C
- cmp r0, 0x1
- beq _08027C76
- b _08027C7C
- .align 2, 0
-_08027C18: .4byte gUnknown_203B2BC
-_08027C1C:
- cmp r0, 0xA
- bne _08027C7C
- ldr r0, _08027C60
- bl sub_8011988
- ldr r4, _08027C64
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_80911F8
- bl sub_80910B4
- ldr r1, [r4]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- beq _08027C44
- adds r0, r1, 0
- adds r0, 0x14
- bl sub_8091274
-_08027C44:
- ldr r1, [r4]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r1, 0x10
- bl sub_808D800
- bl sub_801A928
- bl nullsub_104
- movs r0, 0x2
- bl sub_8027184
- b _08027C7C
- .align 2, 0
-_08027C60: .4byte 0x0000014d
-_08027C64: .4byte gUnknown_203B2BC
-_08027C68:
- movs r0, 0
- bl sub_8099690
- movs r0, 0xD
- bl sub_8027184
- b _08027C7C
-_08027C76:
- movs r0, 0xB
- bl sub_8027184
-_08027C7C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8027BD8
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/code_801D760.s b/asm/code_801D760.s
new file mode 100644
index 0000000..341e154
--- /dev/null
+++ b/asm/code_801D760.s
@@ -0,0 +1,20719 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_801D7CC
+sub_801D7CC:
+ push {r4,lr}
+ bl sub_8025354
+ cmp r0, 0x1
+ bls _0801D802
+ cmp r0, 0x3
+ bhi _0801D802
+ bl sub_802540C
+ ldr r4, _0801D7F8
+ ldr r1, [r4]
+ strb r0, [r1, 0x7]
+ bl sub_8025418
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x7]
+ cmp r0, 0
+ beq _0801D7FC
+ movs r0, 0x2
+ bl sub_801D208
+ b _0801D802
+ .align 2, 0
+_0801D7F8: .4byte gUnknown_203B250
+_0801D7FC:
+ movs r0, 0x1
+ bl sub_801D208
+_0801D802:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801D7CC
+
+ thumb_func_start sub_801D808
+sub_801D808:
+ push {lr}
+ bl sub_80244E4
+ cmp r0, 0x1
+ bls _0801D820
+ cmp r0, 0x3
+ bhi _0801D820
+ bl sub_802453C
+ movs r0, 0x1
+ bl sub_801D208
+_0801D820:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801D808
+
+ thumb_func_start sub_801D824
+sub_801D824:
+ push {lr}
+ bl sub_801BF48
+ cmp r0, 0x1
+ bls _0801D83C
+ cmp r0, 0x3
+ bhi _0801D83C
+ bl sub_801BF98
+ movs r0, 0x1
+ bl sub_801D208
+_0801D83C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801D824
+
+ thumb_func_start sub_801D840
+sub_801D840:
+ push {lr}
+ bl sub_80217EC
+ cmp r0, 0x1
+ bls _0801D858
+ cmp r0, 0x3
+ bhi _0801D858
+ bl sub_8021830
+ movs r0, 0x1
+ bl sub_801D208
+_0801D858:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801D840
+
+ thumb_func_start sub_801D85C
+sub_801D85C:
+ push {lr}
+ bl sub_802C898
+ cmp r0, 0x1
+ bls _0801D874
+ cmp r0, 0x3
+ bhi _0801D874
+ bl sub_802C8F4
+ movs r0, 0x1
+ bl sub_801D208
+_0801D874:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801D85C
+
+ thumb_func_start sub_801D878
+sub_801D878:
+ push {lr}
+ bl sub_801DCE8
+ cmp r0, 0x1
+ bls _0801D890
+ cmp r0, 0x3
+ bhi _0801D890
+ bl sub_801DD50
+ movs r0, 0x1
+ bl sub_801D208
+_0801D890:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801D878
+
+ thumb_func_start sub_801D894
+sub_801D894:
+ push {r4-r6,lr}
+ sub sp, 0x68
+ ldr r0, _0801D8A8
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x6]
+ cmp r0, 0
+ bne _0801D8AC
+ bl sub_8098FB4
+ b _0801D8B2
+ .align 2, 0
+_0801D8A8: .4byte gUnknown_203B250
+_0801D8AC:
+ ldrb r0, [r1, 0x6]
+ bl sub_8092524
+_0801D8B2:
+ add r2, sp, 0x68
+ add r1, sp, 0x4
+ movs r3, 0
+ bl xxx_format_string
+ add r0, sp, 0x4
+ bl sub_8008ED0
+ movs r4, 0x80
+ subs r4, r0
+ lsrs r0, r4, 31
+ adds r4, r0
+ asrs r4, 1
+ movs r0, 0x1
+ bl sub_8008C54
+ movs r0, 0x1
+ bl sub_80073B8
+ movs r6, 0
+ str r6, [sp]
+ adds r0, r4, 0
+ movs r1, 0x4
+ add r2, sp, 0x4
+ movs r3, 0x1
+ bl xxx_call_draw_string
+ movs r0, 0x1
+ bl sub_80073E0
+ movs r0, 0x2
+ bl sub_8008C54
+ movs r0, 0x2
+ bl sub_80073B8
+ movs r0, 0x2
+ movs r1, 0x8
+ movs r2, 0x6
+ bl sub_801D970
+ ldr r5, _0801D964
+ bl sub_8092178
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80921A8
+ adds r4, r0, 0
+ bl sub_8092110
+ adds r3, r0, 0
+ add r0, sp, 0x4
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl sub_800D158
+ str r6, [sp]
+ movs r0, 0x20
+ movs r1, 0x4
+ add r2, sp, 0x4
+ movs r3, 0x2
+ bl xxx_call_draw_string
+ ldr r1, _0801D968
+ ldr r0, _0801D96C
+ ldr r0, [r0]
+ movs r2, 0x98
+ lsls r2, 2
+ adds r0, r2
+ ldr r2, [r0]
+ add r0, sp, 0x4
+ bl sub_800D158
+ str r6, [sp]
+ movs r0, 0x20
+ movs r1, 0x12
+ add r2, sp, 0x4
+ movs r3, 0x2
+ bl xxx_call_draw_string
+ movs r0, 0x2
+ bl sub_80073E0
+ add sp, 0x68
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801D964: .4byte gUnknown_80DBF3C
+_0801D968: .4byte gUnknown_80DBF4C
+_0801D96C: .4byte gUnknown_203B460
+ thumb_func_end sub_801D894
+
+ thumb_func_start sub_801D970
+sub_801D970:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ mov r8, r0
+ mov r9, r1
+ mov r10, r2
+ ldr r0, _0801D9DC
+ ldr r1, _0801D9E0
+ bl OpenFileAndGetFileDataPtr
+ adds r7, r0, 0
+ ldr r0, [r7, 0x4]
+ ldr r6, [r0]
+ ldr r5, [r0, 0x4]
+ movs r4, 0
+_0801D994:
+ adds r0, r4, 0
+ adds r0, 0xE0
+ adds r1, r5, 0
+ bl SetBGPaletteBufferColorArray
+ adds r5, 0x4
+ adds r4, 0x1
+ cmp r4, 0xF
+ ble _0801D994
+ bl sub_8092178
+ lsls r0, 24
+ lsrs r0, 17
+ adds r6, r0
+ movs r0, 0x10
+ str r0, [sp]
+ str r6, [sp, 0x4]
+ movs r0, 0xE
+ str r0, [sp, 0x8]
+ mov r0, r8
+ mov r1, r9
+ mov r2, r10
+ movs r3, 0x10
+ bl sub_8007E20
+ adds r0, r7, 0
+ bl CloseFile
+ add sp, 0xC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801D9DC: .4byte gUnknown_80DBF60
+_0801D9E0: .4byte gUnknown_8380000
+ thumb_func_end sub_801D970
+
+ thumb_func_start sub_801D9E4
+sub_801D9E4:
+ push {r4,r5,lr}
+ ldr r4, _0801DA50
+ movs r0, 0xA0
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ movs r1, 0x3
+ str r1, [r0, 0x34]
+ adds r1, r0, 0
+ adds r1, 0x84
+ str r1, [r0, 0x38]
+ adds r0, 0x3C
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r2, [r1, 0x34]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x3C
+ ldr r0, _0801DA54
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldr r0, [r4]
+ ldr r1, [r0, 0x38]
+ adds r0, 0x9C
+ str r0, [r1, 0x14]
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ ldr r3, [r0, 0x34]
+ movs r1, 0xE5
+ movs r2, 0xA
+ bl sub_8013818
+ bl sub_801DB54
+ bl sub_801DBD4
+ movs r0, 0x1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801DA50: .4byte gUnknown_203B258
+_0801DA54: .4byte gUnknown_80DBF88
+ thumb_func_end sub_801D9E4
+
+ thumb_func_start sub_801DA58
+sub_801DA58:
+ push {lr}
+ adds r1, r0, 0
+ lsls r1, 16
+ asrs r1, 16
+ ldr r0, _0801DA74
+ ldr r0, [r0]
+ bl sub_8013878
+ bl sub_801DB54
+ bl sub_801DBD4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801DA74: .4byte gUnknown_203B258
+ thumb_func_end sub_801DA58
+
+ thumb_func_start sub_801DA78
+sub_801DA78:
+ push {r4,lr}
+ ldr r4, _0801DA94
+ ldr r0, [r4]
+ bl GetKeyPress
+ cmp r0, 0x1
+ beq _0801DA98
+ cmp r0, 0x2
+ bne _0801DA9C
+ movs r0, 0x1
+ bl sub_80119D4
+ movs r0, 0x2
+ b _0801DAB8
+ .align 2, 0
+_0801DA94: .4byte gUnknown_203B258
+_0801DA98:
+ movs r0, 0x3
+ b _0801DAB8
+_0801DA9C:
+ ldr r0, [r4]
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801DAAE
+ movs r0, 0
+ b _0801DAB8
+_0801DAAE:
+ bl sub_801DB54
+ bl sub_801DBD4
+ movs r0, 0x1
+_0801DAB8:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801DA78
+
+ thumb_func_start sub_801DAC0
+sub_801DAC0:
+ ldr r0, _0801DAD8
+ ldr r1, [r0]
+ ldrh r2, [r1, 0x1E]
+ ldrh r0, [r1, 0x1C]
+ adds r3, r0, 0
+ muls r3, r2
+ adds r0, r3, 0
+ ldrh r1, [r1, 0x18]
+ adds r0, r1
+ lsls r0, 16
+ asrs r0, 16
+ bx lr
+ .align 2, 0
+_0801DAD8: .4byte gUnknown_203B258
+ thumb_func_end sub_801DAC0
+
+ thumb_func_start sub_801DADC
+sub_801DADC:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r5, _0801DB08
+ ldr r0, [r5]
+ movs r1, 0xE5
+ strh r1, [r0, 0x22]
+ bl sub_8013984
+ bl sub_801DB54
+ bl sub_801DBD4
+ cmp r4, 0
+ beq _0801DB02
+ ldr r0, [r5]
+ bl AddMenuCursorSprite
+_0801DB02:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801DB08: .4byte gUnknown_203B258
+ thumb_func_end sub_801DADC
+
+ thumb_func_start sub_801DB0C
+sub_801DB0C:
+ push {r4,r5,lr}
+ ldr r4, _0801DB4C
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801DB46
+ ldr r0, [r2, 0x34]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x3C
+ ldr r0, _0801DB50
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801DB46:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801DB4C: .4byte gUnknown_203B258
+_0801DB50: .4byte gUnknown_80DBF70
+ thumb_func_end sub_801DB0C
+
+ thumb_func_start sub_801DB54
+sub_801DB54:
+ push {r4,lr}
+ ldr r4, _0801DBD0
+ ldr r0, [r4]
+ adds r0, 0x9C
+ movs r2, 0
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0x9D
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r0, 0x9E
+ movs r1, 0x8
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0x9F
+ strb r2, [r0]
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ movs r1, 0x1A
+ ldrsh r0, [r0, r1]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ lsls r0, 16
+ ldr r2, [r4]
+ ldr r3, [r2, 0x34]
+ lsls r1, r3, 1
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x4A
+ asrs r3, r0, 16
+ lsrs r0, 16
+ strh r0, [r1]
+ ldr r1, [r2, 0x34]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r2, r0
+ adds r3, 0x2
+ adds r2, 0x4C
+ strh r3, [r2]
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801DBD0: .4byte gUnknown_203B258
+ thumb_func_end sub_801DB54
+
+ thumb_func_start sub_801DBD4
+sub_801DBD4:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x8
+ ldr r5, _0801DCB4
+ ldr r0, [r5]
+ ldr r0, [r0, 0x34]
+ bl sub_8008C54
+ ldr r0, [r5]
+ ldr r0, [r0, 0x34]
+ bl sub_80073B8
+ ldr r2, _0801DCB8
+ ldr r0, [r5]
+ ldr r3, [r0, 0x34]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x9E
+ ldrb r4, [r0]
+ lsls r4, 3
+ subs r4, 0x2
+ movs r0, 0x1E
+ ldrsh r2, [r1, r0]
+ adds r2, 0x1
+ movs r0, 0x7
+ str r0, [sp]
+ ldr r0, [r1, 0x34]
+ str r0, [sp, 0x4]
+ adds r0, r4, 0
+ movs r1, 0
+ movs r3, 0x2
+ bl sub_8012BC4
+ movs r6, 0
+ ldr r0, [r5]
+ movs r1, 0x1A
+ ldrsh r0, [r0, r1]
+ cmp r6, r0
+ bge _0801DC9C
+ adds r7, r5, 0
+ mov r8, r6
+_0801DC34:
+ ldr r0, [r7]
+ ldrh r2, [r0, 0x1E]
+ ldrh r1, [r0, 0x1C]
+ adds r3, r2, 0
+ muls r3, r1
+ adds r1, r3, 0
+ adds r1, r6
+ lsls r1, 16
+ asrs r1, 16
+ lsls r5, r1, 1
+ adds r5, r1
+ lsls r5, 2
+ ldr r1, _0801DCBC
+ adds r5, r1
+ movs r2, 0x4
+ ldrsh r1, [r5, r2]
+ lsls r4, r1, 3
+ subs r4, r1
+ lsls r4, 2
+ ldr r1, _0801DCC0
+ adds r4, r1
+ adds r1, r6, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r2, [r4]
+ ldr r0, [r7]
+ ldr r3, [r0, 0x34]
+ mov r0, r8
+ str r0, [sp]
+ movs r0, 0x8
+ bl xxx_call_draw_string
+ ldr r0, [r7]
+ adds r1, r6, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r2, [r5, 0x8]
+ ldr r0, [r7]
+ ldr r3, [r0, 0x34]
+ mov r0, r8
+ str r0, [sp]
+ movs r0, 0x3E
+ bl xxx_call_draw_string
+ adds r6, 0x1
+ ldr r0, [r7]
+ movs r1, 0x1A
+ ldrsh r0, [r0, r1]
+ cmp r6, r0
+ blt _0801DC34
+_0801DC9C:
+ ldr r0, _0801DCB4
+ ldr r0, [r0]
+ ldr r0, [r0, 0x34]
+ bl sub_80073E0
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801DCB4: .4byte gUnknown_203B258
+_0801DCB8: .4byte gUnknown_80DBFA0
+_0801DCBC: .4byte gUnknown_811BAF4
+_0801DCC0: .4byte gUnknown_81188F0
+ thumb_func_end sub_801DBD4
+
+ thumb_func_start sub_801DCC4
+sub_801DCC4:
+ push {r4,lr}
+ ldr r4, _0801DCE4
+ movs r0, 0x8E
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ movs r0, 0
+ bl sub_801DD6C
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801DCE4: .4byte gUnknown_203B25C
+ thumb_func_end sub_801DCC4
+
+ thumb_func_start sub_801DCE8
+sub_801DCE8:
+ push {lr}
+ ldr r0, _0801DD00
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x7
+ bhi _0801DD48
+ lsls r0, 2
+ ldr r1, _0801DD04
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801DD00: .4byte gUnknown_203B25C
+_0801DD04: .4byte _0801DD08
+ .align 2, 0
+_0801DD08:
+ .4byte _0801DD2C
+ .4byte _0801DD2C
+ .4byte _0801DD28
+ .4byte _0801DD32
+ .4byte _0801DD32
+ .4byte _0801DD38
+ .4byte _0801DD3E
+ .4byte _0801DD44
+_0801DD28:
+ movs r0, 0x3
+ b _0801DD4A
+_0801DD2C:
+ bl sub_801E028
+ b _0801DD48
+_0801DD32:
+ bl sub_801E088
+ b _0801DD48
+_0801DD38:
+ bl sub_801E0E0
+ b _0801DD48
+_0801DD3E:
+ bl sub_801E0FC
+ b _0801DD48
+_0801DD44:
+ bl sub_801E138
+_0801DD48:
+ movs r0, 0
+_0801DD4A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801DCE8
+
+ thumb_func_start sub_801DD50
+sub_801DD50:
+ push {r4,lr}
+ ldr r4, _0801DD68
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0801DD62
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801DD62:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801DD68: .4byte gUnknown_203B25C
+ thumb_func_end sub_801DD50
+
+ thumb_func_start sub_801DD6C
+sub_801DD6C:
+ push {lr}
+ ldr r1, _0801DD80
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_801DD84
+ bl sub_801DED0
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801DD80: .4byte gUnknown_203B25C
+ thumb_func_end sub_801DD6C
+
+ thumb_func_start sub_801DD84
+sub_801DD84:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ ldr r4, _0801DDAC
+ ldr r0, [r4]
+ adds r0, 0xBC
+ bl sub_8006518
+ ldr r0, [r4]
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0801DDB4
+ cmp r0, 0x1
+ beq _0801DE38
+ movs r3, 0
+ adds r7, r4, 0
+ ldr r2, _0801DDB0
+ b _0801DE90
+ .align 2, 0
+_0801DDAC: .4byte gUnknown_203B25C
+_0801DDB0: .4byte gUnknown_80DBFB0
+_0801DDB4:
+ bl sub_801DFA4
+ movs r3, 0
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xAC
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0801DDCE
+ ldr r0, [r1, 0x70]
+ str r0, [r1, 0x18]
+ adds r7, r4, 0
+ b _0801DDF2
+_0801DDCE:
+ adds r3, 0x1
+ ldr r7, _0801DE2C
+ cmp r3, 0x7
+ bgt _0801DDF2
+ ldr r2, [r7]
+ lsls r0, r3, 1
+ adds r1, r2, 0
+ adds r1, 0xAC
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _0801DDCE
+ lsls r0, r3, 3
+ adds r1, r2, 0
+ adds r1, 0x70
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x18]
+_0801DDF2:
+ ldr r0, _0801DE30
+ mov r9, r0
+ ldr r2, _0801DE2C
+ mov r12, r2
+ ldr r3, _0801DE34
+ mov r8, r3
+ movs r2, 0
+ movs r3, 0x3
+_0801DE02:
+ mov r4, r12
+ ldr r1, [r4]
+ adds r1, r2
+ adds r1, 0xBC
+ mov r0, r8
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ adds r2, 0x18
+ subs r3, 0x1
+ cmp r3, 0
+ bge _0801DE02
+ ldr r1, [r7]
+ adds r1, 0xBC
+ mov r0, r9
+ ldm r0!, {r2,r5,r6}
+ stm r1!, {r2,r5,r6}
+ ldm r0!, {r3-r5}
+ stm r1!, {r3-r5}
+ b _0801DE70
+ .align 2, 0
+_0801DE2C: .4byte gUnknown_203B25C
+_0801DE30: .4byte gUnknown_80DBFCC
+_0801DE34: .4byte gUnknown_80DBFB0
+_0801DE38:
+ bl sub_801DFA4
+ mov r8, r4
+ ldr r6, _0801DE88
+ mov r12, r6
+ mov r7, r8
+ movs r2, 0
+ movs r3, 0x3
+_0801DE48:
+ mov r0, r8
+ ldr r1, [r0]
+ adds r1, r2
+ adds r1, 0xBC
+ mov r0, r12
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ adds r2, 0x18
+ subs r3, 0x1
+ cmp r3, 0
+ bge _0801DE48
+ ldr r1, [r7]
+ adds r1, 0xBC
+ ldr r0, _0801DE8C
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2,r5,r6}
+ stm r1!, {r2,r5,r6}
+_0801DE70:
+ ldr r1, [r7]
+ adds r0, r1, 0
+ adds r0, 0xBC
+ adds r1, 0x6C
+ bl sub_8012CAC
+ ldr r0, [r7]
+ adds r0, 0xC8
+ movs r1, 0xA
+ strh r1, [r0]
+ b _0801DEAC
+ .align 2, 0
+_0801DE88: .4byte gUnknown_80DBFB0
+_0801DE8C: .4byte gUnknown_80DBFCC
+_0801DE90:
+ ldr r0, [r7]
+ lsls r1, r3, 1
+ adds r1, r3
+ lsls r1, 3
+ adds r0, r1
+ adds r0, 0xBC
+ adds r1, r2, 0
+ ldm r1!, {r4-r6}
+ stm r0!, {r4-r6}
+ ldm r1!, {r4-r6}
+ stm r0!, {r4-r6}
+ adds r3, 0x1
+ cmp r3, 0x3
+ ble _0801DE90
+_0801DEAC:
+ bl sub_8004914
+ ldr r0, _0801DECC
+ ldr r0, [r0]
+ adds r0, 0xBC
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801DECC: .4byte gUnknown_203B25C
+ thumb_func_end sub_801DD84
+
+ thumb_func_start sub_801DED0
+sub_801DED0:
+ push {r4,r5,lr}
+ sub sp, 0x14
+ ldr r1, _0801DEEC
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r3, r1, 0
+ cmp r0, 0x7
+ bhi _0801DF94
+ lsls r0, 2
+ ldr r1, _0801DEF0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801DEEC: .4byte gUnknown_203B25C
+_0801DEF0: .4byte _0801DEF4
+ .align 2, 0
+_0801DEF4:
+ .4byte _0801DF14
+ .4byte _0801DF14
+ .4byte _0801DF94
+ .4byte _0801DF38
+ .4byte _0801DF40
+ .4byte _0801DF48
+ .4byte _0801DF52
+ .4byte _0801DF70
+_0801DF14:
+ ldr r2, [r3]
+ ldr r0, _0801DF34
+ str r0, [r2, 0x1C]
+ adds r0, r2, 0
+ adds r0, 0x1C
+ adds r1, r2, 0
+ adds r1, 0x6C
+ adds r3, r2, 0
+ adds r3, 0xAC
+ ldr r2, [r2, 0x18]
+ str r2, [sp]
+ movs r2, 0
+ str r2, [sp, 0x4]
+ bl sub_8012D60
+ b _0801DF94
+ .align 2, 0
+_0801DF34: .4byte gUnknown_80DBFE4
+_0801DF38:
+ movs r0, 0
+ bl sub_801E3F0
+ b _0801DF94
+_0801DF40:
+ movs r0, 0x1
+ bl sub_801E510
+ b _0801DF94
+_0801DF48:
+ ldr r0, [r3]
+ ldr r0, [r0, 0x4]
+ bl sub_801E658
+ b _0801DF94
+_0801DF52:
+ ldr r1, [r3]
+ ldr r0, _0801DF6C
+ adds r1, 0x8
+ ldr r0, [r0]
+ ldm r0!, {r2,r4,r5}
+ stm r1!, {r2,r4,r5}
+ ldr r0, [r0]
+ str r0, [r1]
+ ldr r0, [r3]
+ adds r0, 0x8
+ bl sub_801E198
+ b _0801DF94
+ .align 2, 0
+_0801DF6C: .4byte gUnknown_203B46C
+_0801DF70:
+ bl sub_801DFE4
+ ldr r0, _0801DF9C
+ ldr r1, _0801DFA0
+ ldr r3, [r1]
+ adds r3, 0x6C
+ movs r2, 0
+ str r2, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ str r2, [sp, 0xC]
+ movs r1, 0x20
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x4
+ bl sub_8014248
+_0801DF94:
+ add sp, 0x14
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801DF9C: .4byte gUnknown_80DBFEC
+_0801DFA0: .4byte gUnknown_203B25C
+ thumb_func_end sub_801DED0
+
+ thumb_func_start sub_801DFA4
+sub_801DFA4:
+ push {r4,lr}
+ ldr r4, _0801DFD8
+ ldr r0, [r4]
+ adds r0, 0xAC
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r0, [r4]
+ movs r3, 0
+ ldr r1, _0801DFDC
+ str r1, [r0, 0x6C]
+ movs r1, 0x3
+ str r1, [r0, 0x70]
+ movs r2, 0x1
+ ldr r1, _0801DFE0
+ str r1, [r0, 0x74]
+ movs r1, 0x2
+ str r1, [r0, 0x78]
+ str r3, [r0, 0x7C]
+ adds r0, 0x80
+ str r2, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801DFD8: .4byte gUnknown_203B25C
+_0801DFDC: .4byte gUnknown_80DC000
+_0801DFE0: .4byte gUnknown_80DC010
+ thumb_func_end sub_801DFA4
+
+ thumb_func_start sub_801DFE4
+sub_801DFE4:
+ push {r4,lr}
+ ldr r4, _0801E01C
+ ldr r0, [r4]
+ adds r0, 0xAC
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r4]
+ movs r3, 0
+ ldr r0, _0801E020
+ ldr r0, [r0]
+ str r0, [r1, 0x6C]
+ movs r0, 0x4
+ str r0, [r1, 0x70]
+ movs r2, 0x1
+ ldr r0, _0801E024
+ ldr r0, [r0]
+ str r0, [r1, 0x74]
+ movs r0, 0x5
+ str r0, [r1, 0x78]
+ str r3, [r1, 0x7C]
+ adds r1, 0x80
+ str r2, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E01C: .4byte gUnknown_203B25C
+_0801E020: .4byte gUnknown_80D4920
+_0801E024: .4byte gUnknown_80D4928
+ thumb_func_end sub_801DFE4
+
+ thumb_func_start sub_801E028
+sub_801E028:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ ldr r4, _0801E060
+ ldr r0, [r4]
+ adds r0, 0x1C
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801E050
+ ldr r0, [r4]
+ adds r0, 0x1C
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [r4]
+ ldr r0, [sp]
+ str r0, [r1, 0x18]
+_0801E050:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0801E06A
+ cmp r0, 0x2
+ bgt _0801E064
+ cmp r0, 0x1
+ beq _0801E07A
+ b _0801E080
+ .align 2, 0
+_0801E060: .4byte gUnknown_203B25C
+_0801E064:
+ cmp r0, 0x3
+ beq _0801E072
+ b _0801E080
+_0801E06A:
+ movs r0, 0x3
+ bl sub_801DD6C
+ b _0801E080
+_0801E072:
+ movs r0, 0x6
+ bl sub_801DD6C
+ b _0801E080
+_0801E07A:
+ movs r0, 0x2
+ bl sub_801DD6C
+_0801E080:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801E028
+
+ thumb_func_start sub_801E088
+sub_801E088:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801E474
+ cmp r0, 0x4
+ bhi _0801E0DA
+ lsls r0, 2
+ ldr r1, _0801E0A0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801E0A0: .4byte _0801E0A4
+ .align 2, 0
+_0801E0A4:
+ .4byte _0801E0DA
+ .4byte _0801E0DA
+ .4byte _0801E0D0
+ .4byte _0801E0B8
+ .4byte _0801E0B8
+_0801E0B8:
+ bl sub_801E4F4
+ ldr r1, _0801E0CC
+ ldr r1, [r1]
+ str r0, [r1, 0x4]
+ movs r0, 0x5
+ bl sub_801DD6C
+ b _0801E0DA
+ .align 2, 0
+_0801E0CC: .4byte gUnknown_203B25C
+_0801E0D0:
+ bl sub_801E54C
+ movs r0, 0x1
+ bl sub_801DD6C
+_0801E0DA:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801E088
+
+ thumb_func_start sub_801E0E0
+sub_801E0E0:
+ push {lr}
+ bl sub_801E6CC
+ cmp r0, 0x1
+ bls _0801E0F8
+ cmp r0, 0x3
+ bhi _0801E0F8
+ bl sub_801E724
+ movs r0, 0x4
+ bl sub_801DD6C
+_0801E0F8:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801E0E0
+
+ thumb_func_start sub_801E0FC
+sub_801E0FC:
+ push {lr}
+ bl sub_801E218
+ cmp r0, 0x1
+ bls _0801E132
+ cmp r0, 0x3
+ bhi _0801E132
+ bl sub_801E2C4
+ ldr r0, _0801E128
+ ldr r0, [r0]
+ adds r0, 0x8
+ bl sub_80949DC
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801E12C
+ movs r0, 0x1
+ bl sub_801DD6C
+ b _0801E132
+ .align 2, 0
+_0801E128: .4byte gUnknown_203B25C
+_0801E12C:
+ movs r0, 0x7
+ bl sub_801DD6C
+_0801E132:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801E0FC
+
+ thumb_func_start sub_801E138
+sub_801E138:
+ push {r4,lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0801E18E
+ ldr r0, [sp]
+ cmp r0, 0x4
+ beq _0801E15C
+ cmp r0, 0x4
+ bgt _0801E156
+ cmp r0, 0x1
+ beq _0801E188
+ b _0801E18E
+_0801E156:
+ cmp r0, 0x5
+ beq _0801E188
+ b _0801E18E
+_0801E15C:
+ ldr r1, _0801E180
+ ldr r0, _0801E184
+ ldr r0, [r0]
+ ldr r1, [r1]
+ adds r0, 0x8
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r0, [r0]
+ str r0, [r1]
+ bl sub_8094C14
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0x1
+ bl sub_801DD6C
+ b _0801E18E
+ .align 2, 0
+_0801E180: .4byte gUnknown_203B46C
+_0801E184: .4byte gUnknown_203B25C
+_0801E188:
+ movs r0, 0x1
+ bl sub_801DD6C
+_0801E18E:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801E138
+
+ thumb_func_start sub_801E198
+sub_801E198:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r4, _0801E210
+ movs r0, 0xAC
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ stm r0!, {r5}
+ bl sub_801317C
+ ldr r1, [r4]
+ movs r0, 0
+ str r0, [r1, 0x44]
+ adds r0, r1, 0
+ adds r0, 0x4C
+ str r0, [r1, 0x48]
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r2, [r1, 0x44]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x4C
+ ldr r0, _0801E214
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldr r0, [r4]
+ ldr r0, [r0, 0x48]
+ movs r1, 0x1
+ bl sub_8012D08
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x4C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x10
+ ldr r3, [r1, 0x44]
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_8013818
+ bl nullsub_38
+ bl sub_801E310
+ movs r0, 0x1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801E210: .4byte gUnknown_203B260
+_0801E214: .4byte gUnknown_80DC03C
+ thumb_func_end sub_801E198
+
+ thumb_func_start sub_801E218
+sub_801E218:
+ push {r4,lr}
+ movs r4, 0
+ bl sub_8012AE8
+ cmp r0, 0x2
+ beq _0801E238
+ cmp r0, 0x2
+ bgt _0801E22E
+ cmp r0, 0x1
+ beq _0801E242
+ b _0801E294
+_0801E22E:
+ cmp r0, 0x9
+ beq _0801E24C
+ cmp r0, 0xA
+ beq _0801E26C
+ b _0801E294
+_0801E238:
+ movs r0, 0x1
+ bl sub_80119D4
+ movs r0, 0x2
+ b _0801E2BE
+_0801E242:
+ movs r0, 0
+ bl sub_80119D4
+ movs r0, 0x3
+ b _0801E2BE
+_0801E24C:
+ ldr r0, _0801E264
+ ldr r1, [r0]
+ movs r2, 0x28
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _0801E294
+ ldr r1, [r1]
+ ldrb r0, [r1, 0x8]
+ cmp r0, 0
+ bne _0801E268
+ movs r0, 0x2
+ b _0801E28A
+ .align 2, 0
+_0801E264: .4byte gUnknown_203B260
+_0801E268:
+ subs r0, 0x1
+ b _0801E28A
+_0801E26C:
+ ldr r0, _0801E284
+ ldr r1, [r0]
+ movs r2, 0x28
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _0801E294
+ ldr r1, [r1]
+ ldrb r0, [r1, 0x8]
+ cmp r0, 0x1
+ bls _0801E288
+ strb r4, [r1, 0x8]
+ b _0801E28C
+ .align 2, 0
+_0801E284: .4byte gUnknown_203B260
+_0801E288:
+ adds r0, 0x1
+_0801E28A:
+ strb r0, [r1, 0x8]
+_0801E28C:
+ movs r0, 0x3
+ bl sub_80119D4
+ movs r4, 0x1
+_0801E294:
+ ldr r0, _0801E2B8
+ ldr r0, [r0]
+ adds r0, 0x10
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801E2AA
+ cmp r4, 0x1
+ bne _0801E2BC
+_0801E2AA:
+ bl nullsub_38
+ bl sub_801E310
+ movs r0, 0x1
+ b _0801E2BE
+ .align 2, 0
+_0801E2B8: .4byte gUnknown_203B260
+_0801E2BC:
+ movs r0, 0
+_0801E2BE:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801E218
+
+ thumb_func_start sub_801E2C4
+sub_801E2C4:
+ push {r4,r5,lr}
+ ldr r4, _0801E304
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801E2FE
+ ldr r0, [r2, 0x44]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x4C
+ ldr r0, _0801E308
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x4C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801E2FE:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E304: .4byte gUnknown_203B260
+_0801E308: .4byte gUnknown_80DC020
+ thumb_func_end sub_801E2C4
+
+ thumb_func_start nullsub_38
+nullsub_38:
+ bx lr
+ thumb_func_end nullsub_38
+
+ thumb_func_start sub_801E310
+sub_801E310:
+ push {r4-r6,lr}
+ sub sp, 0x4
+ ldr r5, _0801E368
+ ldr r0, [r5]
+ ldr r0, [r0, 0x44]
+ bl sub_8008C54
+ ldr r0, [r5]
+ ldr r0, [r0, 0x44]
+ bl sub_80073B8
+ ldr r2, _0801E36C
+ ldr r0, [r5]
+ ldr r3, [r0, 0x44]
+ movs r4, 0
+ str r4, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r0, [r5]
+ adds r0, 0x10
+ movs r1, 0
+ bl sub_8013800
+ adds r6, r0, 0
+ ldr r2, _0801E370
+ ldr r0, [r5]
+ ldr r3, [r0, 0x44]
+ str r4, [sp]
+ movs r0, 0x8
+ adds r1, r6, 0
+ bl xxx_call_draw_string
+ ldr r0, [r5]
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x8]
+ cmp r0, 0x1
+ beq _0801E384
+ cmp r0, 0x1
+ bgt _0801E374
+ cmp r0, 0
+ beq _0801E37A
+ b _0801E3D6
+ .align 2, 0
+_0801E368: .4byte gUnknown_203B260
+_0801E36C: .4byte gUnknown_80DC054
+_0801E370: .4byte gUnknown_80DC064
+_0801E374:
+ cmp r0, 0x2
+ beq _0801E3B0
+ b _0801E3D6
+_0801E37A:
+ ldr r0, _0801E380
+ b _0801E386
+ .align 2, 0
+_0801E380: .4byte gUnknown_80DC084
+_0801E384:
+ ldr r0, _0801E3AC
+_0801E386:
+ bl sub_8008ED0
+ adds r4, r0, 0
+ ldr r1, [r5]
+ ldr r0, [r1, 0x44]
+ ldr r1, [r1]
+ ldrb r2, [r1, 0x8]
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, 0x50
+ adds r2, r6, 0
+ adds r2, 0xA
+ movs r3, 0x7
+ str r3, [sp]
+ adds r3, r4, 0
+ bl sub_80078A4
+ b _0801E3D6
+ .align 2, 0
+_0801E3AC: .4byte gUnknown_80DC08C
+_0801E3B0:
+ ldr r0, _0801E3E8
+ bl sub_8008ED0
+ adds r4, r0, 0
+ ldr r1, [r5]
+ ldr r0, [r1, 0x44]
+ ldr r1, [r1]
+ ldrb r2, [r1, 0x8]
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, 0x50
+ adds r2, r6, 0
+ adds r2, 0xA
+ movs r3, 0x7
+ str r3, [sp]
+ adds r3, r4, 0
+ bl sub_80078A4
+_0801E3D6:
+ ldr r0, _0801E3EC
+ ldr r0, [r0]
+ ldr r0, [r0, 0x44]
+ bl sub_80073E0
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E3E8: .4byte gUnknown_80DC090
+_0801E3EC: .4byte gUnknown_203B260
+ thumb_func_end sub_801E310
+
+ thumb_func_start sub_801E3F0
+sub_801E3F0:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r4, _0801E46C
+ ldr r0, [r4]
+ cmp r0, 0
+ bne _0801E406
+ movs r0, 0x9C
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+_0801E406:
+ ldr r0, [r4]
+ str r5, [r0, 0x34]
+ lsls r1, r5, 1
+ adds r1, r5
+ lsls r1, 3
+ adds r1, 0x3C
+ adds r1, r0, r1
+ str r1, [r0, 0x38]
+ adds r0, 0x3C
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r2, [r1, 0x34]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x3C
+ ldr r0, _0801E470
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldr r0, [r4]
+ ldr r0, [r0, 0x38]
+ movs r1, 0xA
+ bl sub_8012D08
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ movs r1, 0x5
+ movs r2, 0xA
+ adds r3, r5, 0
+ bl sub_8013818
+ bl sub_801E594
+ bl sub_801E5E8
+ movs r0, 0x1
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801E46C: .4byte gUnknown_203B264
+_0801E470: .4byte gUnknown_80DC0BC
+ thumb_func_end sub_801E3F0
+
+ thumb_func_start sub_801E474
+sub_801E474:
+ push {lr}
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801E48C
+ ldr r0, _0801E488
+ ldr r0, [r0]
+ bl sub_8013660
+ movs r0, 0
+ b _0801E4EE
+ .align 2, 0
+_0801E488: .4byte gUnknown_203B264
+_0801E48C:
+ ldr r0, _0801E4A4
+ ldr r0, [r0]
+ bl GetKeyPress
+ cmp r0, 0x2
+ beq _0801E4AE
+ cmp r0, 0x2
+ bgt _0801E4A8
+ cmp r0, 0x1
+ beq _0801E4B8
+ b _0801E4CC
+ .align 2, 0
+_0801E4A4: .4byte gUnknown_203B264
+_0801E4A8:
+ cmp r0, 0x4
+ beq _0801E4C2
+ b _0801E4CC
+_0801E4AE:
+ movs r0, 0x1
+ bl sub_80119D4
+ movs r0, 0x2
+ b _0801E4EE
+_0801E4B8:
+ movs r0, 0
+ bl sub_80119D4
+ movs r0, 0x3
+ b _0801E4EE
+_0801E4C2:
+ movs r0, 0x4
+ bl sub_80119D4
+ movs r0, 0x4
+ b _0801E4EE
+_0801E4CC:
+ ldr r0, _0801E4E0
+ ldr r0, [r0]
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801E4E4
+ movs r0, 0
+ b _0801E4EE
+ .align 2, 0
+_0801E4E0: .4byte gUnknown_203B264
+_0801E4E4:
+ bl sub_801E594
+ bl sub_801E5E8
+ movs r0, 0x1
+_0801E4EE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801E474
+
+ thumb_func_start sub_801E4F4
+sub_801E4F4:
+ ldr r0, _0801E50C
+ ldr r1, [r0]
+ movs r0, 0x1E
+ ldrsh r2, [r1, r0]
+ movs r3, 0x1C
+ ldrsh r0, [r1, r3]
+ muls r0, r2
+ movs r2, 0x18
+ ldrsh r1, [r1, r2]
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_0801E50C: .4byte gUnknown_203B264
+ thumb_func_end sub_801E4F4
+
+ thumb_func_start sub_801E510
+sub_801E510:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_8004914
+ ldr r5, _0801E548
+ ldr r0, [r5]
+ adds r0, 0x3C
+ movs r1, 0
+ movs r2, 0
+ bl sub_800641C
+ ldr r0, [r5]
+ bl sub_8013984
+ bl sub_801E594
+ bl sub_801E5E8
+ cmp r4, 0
+ beq _0801E542
+ ldr r0, [r5]
+ bl AddMenuCursorSprite
+_0801E542:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E548: .4byte gUnknown_203B264
+ thumb_func_end sub_801E510
+
+ thumb_func_start sub_801E54C
+sub_801E54C:
+ push {r4,r5,lr}
+ ldr r4, _0801E58C
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801E586
+ ldr r0, [r2, 0x34]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x3C
+ ldr r0, _0801E590
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801E586:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E58C: .4byte gUnknown_203B264
+_0801E590: .4byte gUnknown_80DC0A0
+ thumb_func_end sub_801E54C
+
+ thumb_func_start sub_801E594
+sub_801E594:
+ push {r4,lr}
+ ldr r4, _0801E5E4
+ ldr r0, [r4]
+ movs r1, 0x1A
+ ldrsh r0, [r0, r1]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ lsls r0, 16
+ ldr r2, [r4]
+ ldr r3, [r2, 0x34]
+ lsls r1, r3, 1
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x4A
+ asrs r3, r0, 16
+ lsrs r0, 16
+ strh r0, [r1]
+ ldr r1, [r2, 0x34]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r2, r0
+ adds r3, 0x2
+ adds r2, 0x4C
+ strh r3, [r2]
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E5E4: .4byte gUnknown_203B264
+ thumb_func_end sub_801E594
+
+ thumb_func_start sub_801E5E8
+sub_801E5E8:
+ push {r4-r6,lr}
+ sub sp, 0x4
+ ldr r4, _0801E64C
+ ldr r0, [r4]
+ ldr r0, [r0, 0x34]
+ bl sub_8008C54
+ ldr r0, [r4]
+ ldr r0, [r0, 0x34]
+ bl sub_80073B8
+ ldr r2, _0801E650
+ ldr r0, [r4]
+ ldr r3, [r0, 0x34]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ bl xxx_call_draw_string
+ movs r5, 0
+ adds r6, r4, 0
+ ldr r4, _0801E654
+_0801E616:
+ ldr r0, [r6]
+ adds r1, r5, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r2, [r4]
+ ldr r0, [r6]
+ ldr r3, [r0, 0x34]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ bl xxx_call_draw_string
+ adds r4, 0x8
+ adds r5, 0x1
+ cmp r5, 0x4
+ ble _0801E616
+ ldr r0, _0801E64C
+ ldr r0, [r0]
+ ldr r0, [r0, 0x34]
+ bl sub_80073E0
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E64C: .4byte gUnknown_203B264
+_0801E650: .4byte gUnknown_80DC0D4
+_0801E654: .4byte gUnknown_80DAA98
+ thumb_func_end sub_801E5E8
+
+ thumb_func_start sub_801E658
+sub_801E658:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r4, _0801E6C4
+ movs r0, 0xA0
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ movs r1, 0
+ str r1, [r0, 0x34]
+ adds r1, r0, 0
+ adds r1, 0x3C
+ str r1, [r0, 0x38]
+ adds r0, r1, 0
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r2, [r1, 0x34]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x3C
+ ldr r0, _0801E6C8
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldr r0, [r4]
+ ldr r1, [r0, 0x38]
+ adds r0, 0x9C
+ str r0, [r1, 0x14]
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ ldr r3, [r0, 0x34]
+ movs r1, 0x5
+ movs r2, 0x1
+ bl sub_8013818
+ ldr r0, [r4]
+ strh r5, [r0, 0x1E]
+ bl sub_801E714
+ movs r0, 0x1
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801E6C4: .4byte gUnknown_203B268
+_0801E6C8: .4byte gUnknown_80DC0FC
+ thumb_func_end sub_801E658
+
+ thumb_func_start sub_801E6CC
+sub_801E6CC:
+ push {r4,lr}
+ ldr r4, _0801E6E8
+ ldr r0, [r4]
+ bl GetKeyPress
+ cmp r0, 0x1
+ beq _0801E6EC
+ cmp r0, 0x2
+ bne _0801E6F6
+ movs r0, 0x1
+ bl sub_80119D4
+ movs r0, 0x2
+ b _0801E70C
+ .align 2, 0
+_0801E6E8: .4byte gUnknown_203B268
+_0801E6EC:
+ movs r0, 0
+ bl sub_80119D4
+ movs r0, 0x3
+ b _0801E70C
+_0801E6F6:
+ ldr r0, [r4]
+ bl sub_8013938
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801E706
+ movs r0, 0
+ b _0801E70C
+_0801E706:
+ bl sub_801E714
+ movs r0, 0x1
+_0801E70C:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801E6CC
+
+ thumb_func_start sub_801E714
+sub_801E714:
+ push {lr}
+ bl sub_801E76C
+ bl sub_801E7AC
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801E714
+
+ thumb_func_start sub_801E724
+sub_801E724:
+ push {r4,r5,lr}
+ ldr r4, _0801E764
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801E75E
+ ldr r0, [r2, 0x34]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x3C
+ ldr r0, _0801E768
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801E75E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E764: .4byte gUnknown_203B268
+_0801E768: .4byte gUnknown_80DC0E4
+ thumb_func_end sub_801E724
+
+ thumb_func_start sub_801E76C
+sub_801E76C:
+ push {r4,lr}
+ ldr r4, _0801E7A8
+ ldr r0, [r4]
+ ldrh r1, [r0, 0x20]
+ adds r0, 0x9C
+ movs r2, 0
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldrh r1, [r0, 0x1E]
+ adds r0, 0x9D
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0x9E
+ movs r1, 0xF
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0x9F
+ strb r2, [r0]
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E7A8: .4byte gUnknown_203B268
+ thumb_func_end sub_801E76C
+
+ thumb_func_start sub_801E7AC
+sub_801E7AC:
+ push {r4-r6,lr}
+ sub sp, 0x4
+ ldr r5, _0801E804
+ ldr r0, [r5]
+ ldr r0, [r0, 0x34]
+ bl sub_80073B8
+ ldr r3, [r5]
+ movs r0, 0x1E
+ ldrsh r1, [r3, r0]
+ lsls r1, 3
+ adds r0, r1, 0
+ adds r0, 0x10
+ ldr r4, _0801E808
+ adds r1, r4
+ ldr r2, [r1]
+ ldr r3, [r3, 0x34]
+ movs r6, 0
+ str r6, [sp]
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r1, [r5]
+ movs r2, 0x1E
+ ldrsh r0, [r1, r2]
+ lsls r0, 3
+ adds r4, 0x4
+ adds r0, r4
+ ldr r2, [r0]
+ ldr r3, [r1, 0x34]
+ str r6, [sp]
+ movs r0, 0xA
+ movs r1, 0x14
+ bl xxx_call_draw_string
+ ldr r0, [r5]
+ ldr r0, [r0, 0x34]
+ bl sub_80073E0
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E804: .4byte gUnknown_203B268
+_0801E808: .4byte gUnknown_80DAA98
+ thumb_func_end sub_801E7AC
+
+ thumb_func_start sub_801E80C
+sub_801E80C:
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ mov r8, r0
+ adds r4, r1, 0
+ adds r6, r2, 0
+ lsls r4, 16
+ asrs r4, 16
+ ldr r5, _0801E84C
+ movs r0, 0xC6
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ adds r2, r0, 0
+ str r2, [r5]
+ mov r0, r8
+ str r0, [r2]
+ strh r4, [r2, 0xC]
+ str r6, [r2, 0x10]
+ ldrh r0, [r6, 0x22]
+ strh r0, [r2, 0x1C]
+ mov r1, r8
+ cmp r1, 0
+ bne _0801E850
+ movs r3, 0x94
+ lsls r3, 1
+ adds r1, r2, r3
+ movs r4, 0x8C
+ lsls r4, 1
+ adds r0, r2, r4
+ b _0801E858
+ .align 2, 0
+_0801E84C: .4byte gUnknown_203B26C
+_0801E850:
+ movs r0, 0x94
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0
+_0801E858:
+ str r0, [r1]
+ ldr r0, _0801E8B4
+ bl sub_808DDD0
+ ldr r2, _0801E8B8
+ ldr r3, [r2]
+ movs r4, 0x8C
+ lsls r4, 1
+ adds r1, r3, r4
+ str r0, [r1]
+ adds r4, 0x4
+ adds r1, r3, r4
+ ldr r0, [r0, 0x4]
+ str r0, [r1]
+ movs r1, 0x92
+ lsls r1, 1
+ adds r0, r3, r1
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r3, _0801E8BC
+ adds r0, r3
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r4, 0xA
+ adds r0, r4
+ strb r1, [r0]
+ ldr r2, [r2]
+ movs r0, 0x90
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x2
+ strh r0, [r1]
+ subs r3, 0x3
+ adds r1, r2, r3
+ movs r0, 0x8
+ strh r0, [r1]
+ movs r0, 0
+ bl sub_801E968
+ movs r0, 0x1
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801E8B4: .4byte 0x00000155
+_0801E8B8: .4byte gUnknown_203B26C
+_0801E8BC: .4byte 0x00000125
+ thumb_func_end sub_801E80C
+
+ thumb_func_start sub_801E8C0
+sub_801E8C0:
+ push {lr}
+ ldr r0, _0801E8D8
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ cmp r0, 0x6
+ bhi _0801E928
+ lsls r0, 2
+ ldr r1, _0801E8DC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801E8D8: .4byte gUnknown_203B26C
+_0801E8DC: .4byte _0801E8E0
+ .align 2, 0
+_0801E8E0:
+ .4byte _0801E8FC
+ .4byte _0801E8FC
+ .4byte _0801E902
+ .4byte _0801E908
+ .4byte _0801E90E
+ .4byte _0801E91C
+ .4byte _0801E924
+_0801E8FC:
+ bl sub_801ECBC
+ b _0801E928
+_0801E902:
+ bl sub_801ED28
+ b _0801E928
+_0801E908:
+ bl sub_801EDA4
+ b _0801E928
+_0801E90E:
+ bl sub_801EDC0
+ ldr r0, _0801E920
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ cmp r0, 0x5
+ bne _0801E928
+_0801E91C:
+ movs r0, 0x3
+ b _0801E92A
+ .align 2, 0
+_0801E920: .4byte gUnknown_203B26C
+_0801E924:
+ movs r0, 0x2
+ b _0801E92A
+_0801E928:
+ movs r0, 0
+_0801E92A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801E8C0
+
+ thumb_func_start sub_801E930
+sub_801E930:
+ ldr r0, _0801E938
+ ldr r0, [r0]
+ ldrb r0, [r0, 0xE]
+ bx lr
+ .align 2, 0
+_0801E938: .4byte gUnknown_203B26C
+ thumb_func_end sub_801E930
+
+ thumb_func_start sub_801E93C
+sub_801E93C:
+ push {r4,lr}
+ ldr r4, _0801E964
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0801E95C
+ movs r1, 0x8C
+ lsls r1, 1
+ adds r0, r1
+ ldr r0, [r0]
+ bl CloseFile
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801E95C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E964: .4byte gUnknown_203B26C
+ thumb_func_end sub_801E93C
+
+ thumb_func_start sub_801E968
+sub_801E968:
+ push {lr}
+ ldr r1, _0801E97C
+ ldr r1, [r1]
+ str r0, [r1, 0x4]
+ bl sub_801E980
+ bl sub_801EA28
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E97C: .4byte gUnknown_203B26C
+ thumb_func_end sub_801E968
+
+ thumb_func_start sub_801E980
+sub_801E980:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r4, _0801E9D0
+ ldr r0, [r4]
+ movs r5, 0x96
+ lsls r5, 1
+ adds r0, r5
+ bl sub_8006518
+ ldr r0, [r4]
+ ldr r0, [r0, 0x4]
+ cmp r0, 0x2
+ bne _0801E9DC
+ bl sub_801EBC4
+ ldr r1, [r4]
+ movs r0, 0xA2
+ lsls r0, 1
+ adds r1, r0
+ ldr r0, _0801E9D4
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r6,r7}
+ stm r1!, {r2,r6,r7}
+ ldr r2, [r4]
+ movs r0, 0xAE
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _0801E9D8
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ ldm r1!, {r3,r5,r7}
+ stm r2!, {r3,r5,r7}
+ ldr r1, [r4]
+ adds r0, r1, r0
+ adds r1, 0x28
+ bl sub_8012CAC
+ b _0801EA00
+ .align 2, 0
+_0801E9D0: .4byte gUnknown_203B26C
+_0801E9D4: .4byte gUnknown_80DC11C
+_0801E9D8: .4byte gUnknown_80DC134
+_0801E9DC:
+ mov r12, r4
+ mov r8, r5
+ ldr r4, _0801EA20
+ movs r2, 0
+ movs r3, 0x3
+_0801E9E6:
+ mov r6, r12
+ ldr r1, [r6]
+ adds r1, r2
+ add r1, r8
+ adds r0, r4, 0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ adds r2, 0x18
+ subs r3, 0x1
+ cmp r3, 0
+ bge _0801E9E6
+_0801EA00:
+ bl sub_8004914
+ ldr r0, _0801EA24
+ ldr r0, [r0]
+ movs r7, 0x96
+ lsls r7, 1
+ adds r0, r7
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801EA20: .4byte gUnknown_80DC11C
+_0801EA24: .4byte gUnknown_203B26C
+ thumb_func_end sub_801E980
+
+ thumb_func_start sub_801EA28
+sub_801EA28:
+ push {r4,r5,lr}
+ sub sp, 0x14
+ ldr r1, _0801EA44
+ ldr r0, [r1]
+ ldr r0, [r0, 0x4]
+ adds r4, r1, 0
+ cmp r0, 0x4
+ bls _0801EA3A
+ b _0801EBB8
+_0801EA3A:
+ lsls r0, 2
+ ldr r1, _0801EA48
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801EA44: .4byte gUnknown_203B26C
+_0801EA48: .4byte _0801EA4C
+ .align 2, 0
+_0801EA4C:
+ .4byte _0801EA60
+ .4byte _0801EA80
+ .4byte _0801EA8A
+ .4byte _0801EAB4
+ .4byte _0801EACA
+_0801EA60:
+ ldr r0, [r4]
+ movs r2, 0xC
+ ldrsh r1, [r0, r2]
+ ldr r2, [r0, 0x10]
+ ldr r0, _0801EA7C
+ str r0, [sp]
+ movs r0, 0
+ str r0, [sp, 0x4]
+ movs r0, 0x2
+ movs r3, 0
+ bl sub_801EE10
+ b _0801EBB8
+ .align 2, 0
+_0801EA7C: .4byte gUnknown_80DC164
+_0801EA80:
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_801F1B0
+ b _0801EBB8
+_0801EA8A:
+ movs r0, 0
+ bl sub_801F280
+ ldr r0, _0801EAB0
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x78
+ adds r1, r2, 0
+ adds r1, 0x28
+ adds r3, r2, 0
+ adds r3, 0x68
+ ldr r2, [r2, 0x24]
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _0801EBB8
+ .align 2, 0
+_0801EAB0: .4byte gUnknown_203B26C
+_0801EAB4:
+ ldr r2, [r4]
+ ldr r0, [r2, 0x20]
+ ldr r1, [r2, 0x10]
+ adds r2, 0x14
+ bl sub_8093560
+ ldr r0, [r4]
+ adds r0, 0x14
+ bl sub_801F808
+ b _0801EBB8
+_0801EACA:
+ bl sub_801EC7C
+ ldr r4, _0801EAF8
+ ldr r5, _0801EAFC
+ ldr r0, [r5]
+ ldrh r1, [r0, 0x1C]
+ adds r0, r4, 0
+ bl sub_8092C84
+ adds r4, 0x50
+ ldr r0, [r5]
+ ldrh r1, [r0, 0x1E]
+ adds r0, r4, 0
+ bl sub_8092C84
+ ldr r2, [r5]
+ ldr r3, [r2]
+ cmp r3, 0x1
+ bls _0801EB00
+ cmp r3, 0x2
+ beq _0801EB68
+ b _0801EBB8
+ .align 2, 0
+_0801EAF8: .4byte gUnknown_202DF98
+_0801EAFC: .4byte gUnknown_203B26C
+_0801EB00:
+ ldrb r4, [r2, 0xE]
+ cmp r4, 0
+ beq _0801EB38
+ ldr r1, _0801EB34
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x30
+ adds r0, r1
+ ldr r0, [r0]
+ adds r3, r2, 0
+ adds r3, 0x28
+ adds r1, r2, 0
+ adds r1, 0x68
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r4, 0x94
+ lsls r4, 1
+ adds r1, r2, r4
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ b _0801EB86
+ .align 2, 0
+_0801EB34: .4byte gUnknown_80D8888
+_0801EB38:
+ ldr r1, _0801EB64
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x2C
+ adds r0, r1
+ ldr r0, [r0]
+ adds r3, r2, 0
+ adds r3, 0x28
+ adds r1, r2, 0
+ adds r1, 0x68
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r4, 0x94
+ lsls r4, 1
+ adds r1, r2, r4
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ b _0801EB86
+ .align 2, 0
+_0801EB64: .4byte gUnknown_80D8888
+_0801EB68:
+ ldrb r4, [r2, 0xE]
+ cmp r4, 0
+ beq _0801EB98
+ ldr r0, _0801EB94
+ adds r3, r2, 0
+ adds r3, 0x28
+ adds r1, r2, 0
+ adds r1, 0x68
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ str r1, [sp, 0xC]
+ movs r1, 0x20
+_0801EB86:
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x5
+ bl sub_8014248
+ b _0801EBB8
+ .align 2, 0
+_0801EB94: .4byte gUnknown_80DC1A0
+_0801EB98:
+ ldr r0, _0801EBC0
+ adds r3, r2, 0
+ adds r3, 0x28
+ adds r1, r2, 0
+ adds r1, 0x68
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ str r4, [sp, 0xC]
+ movs r1, 0x20
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x5
+ bl sub_8014248
+_0801EBB8:
+ add sp, 0x14
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801EBC0: .4byte gUnknown_80DC1FC
+ thumb_func_end sub_801EA28
+
+ thumb_func_start sub_801EBC4
+sub_801EBC4:
+ push {r4,r5,lr}
+ movs r5, 0
+ ldr r4, _0801EC48
+ ldr r0, [r4]
+ adds r0, 0x68
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r4]
+ ldr r0, _0801EC4C
+ str r0, [r1, 0x28]
+ movs r0, 0x2
+ str r0, [r1, 0x2C]
+ ldrh r0, [r1, 0x1E]
+ ldr r1, [r1, 0x10]
+ bl sub_80933A0
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801EBF6
+ ldr r0, [r4]
+ ldr r0, [r0, 0x20]
+ cmp r0, 0x3
+ ble _0801EBFE
+_0801EBF6:
+ ldr r0, [r4]
+ adds r0, 0x68
+ movs r1, 0x1
+ strh r1, [r0]
+_0801EBFE:
+ adds r5, 0x1
+ ldr r4, _0801EC48
+ ldr r0, [r4]
+ mov r12, r0
+ lsls r1, r5, 3
+ mov r3, r12
+ adds r3, 0x28
+ adds r2, r3, r1
+ ldr r0, _0801EC50
+ ldr r0, [r0]
+ str r0, [r2]
+ mov r2, r12
+ adds r2, 0x2C
+ adds r1, r2, r1
+ movs r0, 0x3
+ str r0, [r1]
+ adds r5, 0x1
+ lsls r1, r5, 3
+ adds r3, r1
+ movs r0, 0
+ str r0, [r3]
+ adds r2, r1
+ movs r0, 0x1
+ str r0, [r2]
+ movs r3, 0
+ cmp r3, r5
+ bge _0801EC76
+ mov r0, r12
+ adds r0, 0x68
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0801EC54
+ mov r1, r12
+ ldr r0, [r1, 0x2C]
+ str r0, [r1, 0x24]
+ b _0801EC76
+ .align 2, 0
+_0801EC48: .4byte gUnknown_203B26C
+_0801EC4C: .4byte gUnknown_80DC230
+_0801EC50: .4byte gUnknown_80D4970
+_0801EC54:
+ adds r3, 0x1
+ cmp r3, r5
+ bge _0801EC76
+ ldr r2, [r4]
+ lsls r0, r3, 1
+ adds r1, r2, 0
+ adds r1, 0x68
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _0801EC54
+ lsls r0, r3, 3
+ adds r1, r2, 0
+ adds r1, 0x2C
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x24]
+_0801EC76:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801EBC4
+
+ thumb_func_start sub_801EC7C
+sub_801EC7C:
+ push {r4,lr}
+ ldr r4, _0801ECB0
+ ldr r0, [r4]
+ adds r0, 0x68
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r4]
+ movs r3, 0
+ ldr r0, _0801ECB4
+ ldr r0, [r0]
+ str r0, [r1, 0x28]
+ movs r0, 0x4
+ str r0, [r1, 0x2C]
+ movs r2, 0x1
+ ldr r0, _0801ECB8
+ ldr r0, [r0]
+ str r0, [r1, 0x30]
+ movs r0, 0x5
+ str r0, [r1, 0x34]
+ str r3, [r1, 0x38]
+ str r2, [r1, 0x3C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801ECB0: .4byte gUnknown_203B26C
+_0801ECB4: .4byte gUnknown_80D4920
+_0801ECB8: .4byte gUnknown_80D4928
+ thumb_func_end sub_801EC7C
+
+ thumb_func_start sub_801ECBC
+sub_801ECBC:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801EF38
+ cmp r0, 0x3
+ beq _0801ECD8
+ cmp r0, 0x3
+ bhi _0801ECD2
+ cmp r0, 0x2
+ beq _0801ED18
+ b _0801ED22
+_0801ECD2:
+ cmp r0, 0x4
+ beq _0801ECF8
+ b _0801ED22
+_0801ECD8:
+ bl sub_801F194
+ ldr r1, _0801ECF4
+ ldr r2, [r1]
+ str r0, [r2, 0x20]
+ ldr r1, [r2, 0x10]
+ lsls r0, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x2]
+ strh r0, [r2, 0x1E]
+ movs r0, 0x2
+ bl sub_801E968
+ b _0801ED22
+ .align 2, 0
+_0801ECF4: .4byte gUnknown_203B26C
+_0801ECF8:
+ bl sub_801F194
+ ldr r1, _0801ED14
+ ldr r2, [r1]
+ str r0, [r2, 0x20]
+ ldr r1, [r2, 0x10]
+ lsls r0, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x2]
+ strh r0, [r2, 0x1E]
+ movs r0, 0x3
+ bl sub_801E968
+ b _0801ED22
+ .align 2, 0
+_0801ED14: .4byte gUnknown_203B26C
+_0801ED18:
+ bl sub_801F214
+ movs r0, 0x6
+ bl sub_801E968
+_0801ED22:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801ECBC
+
+ thumb_func_start sub_801ED28
+sub_801ED28:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801EF38
+ ldr r4, _0801ED60
+ ldr r0, [r4]
+ adds r0, 0x78
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801ED4E
+ ldr r0, [r4]
+ adds r0, 0x78
+ mov r1, sp
+ bl sub_8013114
+_0801ED4E:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0801ED74
+ cmp r0, 0x2
+ bgt _0801ED64
+ cmp r0, 0x1
+ beq _0801ED6C
+ b _0801ED9A
+ .align 2, 0
+_0801ED60: .4byte gUnknown_203B26C
+_0801ED64:
+ cmp r0, 0x3
+ beq _0801ED94
+ cmp r0, 0x5
+ bne _0801ED9A
+_0801ED6C:
+ movs r0, 0x1
+ bl sub_801E968
+ b _0801ED9A
+_0801ED74:
+ ldr r0, _0801ED90
+ bl sub_8011988
+ ldr r1, [r4]
+ ldr r0, [r1, 0x20]
+ ldr r1, [r1, 0x10]
+ bl sub_80934B0
+ ldr r1, [r4]
+ strb r0, [r1, 0xE]
+ movs r0, 0x4
+ bl sub_801E968
+ b _0801ED9A
+ .align 2, 0
+_0801ED90: .4byte 0x00000133
+_0801ED94:
+ movs r0, 0x3
+ bl sub_801E968
+_0801ED9A:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801ED28
+
+ thumb_func_start sub_801EDA4
+sub_801EDA4:
+ push {lr}
+ bl sub_801F890
+ cmp r0, 0x1
+ bls _0801EDBC
+ cmp r0, 0x3
+ bhi _0801EDBC
+ bl sub_801F8D0
+ movs r0, 0x1
+ bl sub_801E968
+_0801EDBC:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801EDA4
+
+ thumb_func_start sub_801EDC0
+sub_801EDC0:
+ push {r4,lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0801EE06
+ ldr r0, [sp]
+ cmp r0, 0x4
+ beq _0801EDE4
+ cmp r0, 0x4
+ bgt _0801EDDE
+ cmp r0, 0x1
+ beq _0801EE00
+ b _0801EE06
+_0801EDDE:
+ cmp r0, 0x5
+ beq _0801EE00
+ b _0801EE06
+_0801EDE4:
+ bl sub_801F214
+ ldr r4, _0801EDFC
+ ldr r1, [r4]
+ ldr r0, [r1, 0x10]
+ ldr r1, [r1, 0x20]
+ bl sub_8093CF8
+ ldr r1, [r4]
+ movs r0, 0x5
+ str r0, [r1, 0x4]
+ b _0801EE06
+ .align 2, 0
+_0801EDFC: .4byte gUnknown_203B26C
+_0801EE00:
+ movs r0, 0x1
+ bl sub_801E968
+_0801EE06:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801EDC0
+
+ thumb_func_start sub_801EE10
+sub_801EE10:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r6, r0, 0
+ mov r9, r2
+ adds r4, r3, 0
+ ldr r0, [sp, 0x20]
+ mov r8, r0
+ lsls r1, 16
+ asrs r7, r1, 16
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r5, _0801EF28
+ movs r0, 0xBC
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ movs r2, 0
+ strb r4, [r0, 0x4]
+ ldr r0, [r5]
+ movs r1, 0x1
+ strb r1, [r0, 0x5]
+ ldr r0, [r5]
+ strb r1, [r0, 0x6]
+ ldr r0, [r5]
+ strb r1, [r0, 0x7]
+ ldr r0, [r5]
+ str r6, [r0]
+ cmp r6, 0x1
+ bls _0801EE5E
+ cmp r6, 0x3
+ bhi _0801EE5E
+ strb r2, [r0, 0x5]
+ ldr r0, [r5]
+ strb r2, [r0, 0x6]
+ ldr r0, [r5]
+ strb r2, [r0, 0x7]
+_0801EE5E:
+ ldr r4, _0801EF28
+ ldr r3, [r4]
+ ldr r2, _0801EF2C
+ movs r0, 0x58
+ adds r1, r7, 0
+ muls r1, r0
+ ldr r0, [r2]
+ adds r0, r1
+ str r0, [r3, 0x8]
+ ldrb r0, [r0, 0x2]
+ strb r0, [r3, 0xC]
+ ldr r0, [r4]
+ mov r1, r9
+ str r1, [r0, 0x10]
+ adds r0, 0xB8
+ ldr r1, [sp, 0x1C]
+ str r1, [r0]
+ bl sub_801F3F8
+ adds r5, r0, 0
+ adds r6, r5, 0
+ cmp r5, 0x4
+ bge _0801EE8E
+ movs r6, 0x4
+_0801EE8E:
+ ldr r0, [r4]
+ adds r0, 0x58
+ bl sub_8006518
+ ldr r1, [r4]
+ mov r2, r8
+ str r2, [r1, 0x50]
+ lsls r0, r2, 1
+ add r0, r8
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x58
+ ldr r0, _0801EF30
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldr r0, [r4]
+ adds r0, 0xB8
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0801EED8
+ mov r0, r8
+ bl sub_8006544
+ ldr r1, [r4]
+ str r0, [r1, 0x54]
+ lsls r2, r0, 1
+ adds r2, r0
+ lsls r2, 3
+ adds r1, r2
+ adds r1, 0x58
+ ldr r0, _0801EF34
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+_0801EED8:
+ ldr r0, [r4]
+ ldr r2, [r0, 0x50]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r1, 0x58
+ adds r0, r1
+ adds r1, r6, 0
+ bl sub_8012D08
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x58
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ adds r0, 0x1C
+ adds r1, r5, 0
+ adds r2, r5, 0
+ mov r3, r8
+ bl sub_8013818
+ ldr r0, [r4]
+ adds r0, 0x1C
+ movs r1, 0
+ bl sub_8013780
+ movs r0, 0x1
+ bl sub_801F280
+ movs r0, 0x1
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801EF28: .4byte gUnknown_203B270
+_0801EF2C: .4byte gUnknown_203B45C
+_0801EF30: .4byte gUnknown_80DC25C
+_0801EF34: .4byte gUnknown_80DC274
+ thumb_func_end sub_801EE10
+
+ thumb_func_start sub_801EF38
+sub_801EF38:
+ push {r4-r7,lr}
+ lsls r0, 24
+ movs r7, 0
+ cmp r0, 0
+ bne _0801EF54
+ ldr r0, _0801EF50
+ ldr r0, [r0]
+ adds r0, 0x1C
+ bl sub_8013660
+ b _0801F18C
+ .align 2, 0
+_0801EF50: .4byte gUnknown_203B270
+_0801EF54:
+ ldr r0, _0801EF70
+ ldr r0, [r0]
+ adds r0, 0x1C
+ bl GetKeyPress
+ subs r0, 0x1
+ cmp r0, 0xC
+ bls _0801EF66
+ b _0801F12E
+_0801EF66:
+ lsls r0, 2
+ ldr r1, _0801EF74
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801EF70: .4byte gUnknown_203B270
+_0801EF74: .4byte _0801EF78
+ .align 2, 0
+_0801EF78:
+ .4byte _0801EFB6
+ .4byte _0801EFAC
+ .4byte _0801F0E4
+ .4byte _0801EFC0
+ .4byte _0801F12E
+ .4byte _0801F12E
+ .4byte _0801EFE4
+ .4byte _0801EFCA
+ .4byte _0801F12E
+ .4byte _0801F12E
+ .4byte _0801F074
+ .4byte _0801F04C
+ .4byte _0801F018
+_0801EFAC:
+ movs r0, 0x1
+ bl sub_80119D4
+ movs r0, 0x2
+ b _0801F18E
+_0801EFB6:
+ movs r0, 0
+ bl sub_80119D4
+ movs r0, 0x3
+ b _0801F18E
+_0801EFC0:
+ movs r0, 0x4
+ bl sub_80119D4
+ movs r0, 0x4
+ b _0801F18E
+_0801EFCA:
+ ldr r5, _0801EFE0
+ ldr r0, [r5]
+ movs r1, 0x34
+ ldrsh r6, [r0, r1]
+ adds r4, r0, 0
+ adds r4, 0x1C
+ ldr r0, [r0, 0x10]
+ adds r1, r6, 0
+ bl sub_8092E54
+ b _0801EFF8
+ .align 2, 0
+_0801EFE0: .4byte gUnknown_203B270
+_0801EFE4:
+ ldr r5, _0801F014
+ ldr r0, [r5]
+ movs r1, 0x34
+ ldrsh r6, [r0, r1]
+ adds r4, r0, 0
+ adds r4, 0x1C
+ ldr r0, [r0, 0x10]
+ adds r1, r6, 0
+ bl sub_8092EEC
+_0801EFF8:
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_8013780
+ ldr r0, [r5]
+ movs r2, 0x34
+ ldrsh r0, [r0, r2]
+ cmp r6, r0
+ bne _0801F00C
+ b _0801F12E
+_0801F00C:
+ movs r0, 0x3
+ bl sub_80119D4
+ b _0801F12E
+ .align 2, 0
+_0801F014: .4byte gUnknown_203B270
+_0801F018:
+ ldr r0, _0801F048
+ ldr r2, [r0]
+ ldrb r1, [r2, 0x5]
+ adds r5, r0, 0
+ cmp r1, 0
+ bne _0801F026
+ b _0801F12E
+_0801F026:
+ movs r0, 0x34
+ ldrsh r4, [r2, r0]
+ ldr r0, [r2, 0x10]
+ adds r1, r4, 0
+ bl sub_809309C
+_0801F032:
+ ldr r1, [r5]
+ strh r0, [r1, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r4, r0
+ beq _0801F06C
+ movs r0, 0x3
+ bl sub_80119D4
+ b _0801F182
+ .align 2, 0
+_0801F048: .4byte gUnknown_203B270
+_0801F04C:
+ ldr r0, _0801F068
+ ldr r2, [r0]
+ ldrb r1, [r2, 0x5]
+ adds r5, r0, 0
+ cmp r1, 0
+ beq _0801F12E
+ movs r1, 0x34
+ ldrsh r4, [r2, r1]
+ ldr r0, [r2, 0x10]
+ adds r1, r4, 0
+ bl sub_809324C
+ b _0801F032
+ .align 2, 0
+_0801F068: .4byte gUnknown_203B270
+_0801F06C:
+ movs r0, 0x2
+ bl sub_80119D4
+ b _0801F182
+_0801F074:
+ ldr r0, _0801F0C8
+ ldr r2, [r0]
+ ldrb r1, [r2, 0x6]
+ adds r5, r0, 0
+ cmp r1, 0
+ beq _0801F12E
+ ldr r0, _0801F0CC
+ ldr r0, [r0]
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x95
+ ble _0801F0D0
+ movs r1, 0x34
+ ldrsh r0, [r2, r1]
+ ldr r1, [r2, 0x10]
+ bl sub_8093318
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801F0D0
+ ldr r1, [r5]
+ movs r2, 0x34
+ ldrsh r0, [r1, r2]
+ ldr r1, [r1, 0x10]
+ bl sub_8093400
+ movs r0, 0x6
+ bl sub_80119D4
+ movs r7, 0x1
+ ldr r1, [r5]
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0
+ bne _0801F12E
+ strb r7, [r1, 0x4]
+ movs r0, 0xA6
+ lsls r0, 1
+ bl sub_8011988
+ b _0801F12E
+ .align 2, 0
+_0801F0C8: .4byte gUnknown_203B270
+_0801F0CC: .4byte gUnknown_203B460
+_0801F0D0:
+ ldr r0, _0801F0E0
+ ldr r1, [r0]
+ movs r2, 0x34
+ ldrsh r0, [r1, r2]
+ ldr r1, [r1, 0x10]
+ bl sub_8093468
+ b _0801F0FE
+ .align 2, 0
+_0801F0E0: .4byte gUnknown_203B270
+_0801F0E4:
+ ldr r0, _0801F10C
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x7]
+ cmp r0, 0
+ beq _0801F12E
+ ldrb r0, [r1, 0xC]
+ cmp r0, 0
+ beq _0801F110
+ movs r2, 0x34
+ ldrsh r0, [r1, r2]
+ ldr r1, [r1, 0x10]
+ bl sub_80934DC
+_0801F0FE:
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801F120
+ movs r0, 0x2
+ bl sub_80119D4
+ b _0801F12E
+ .align 2, 0
+_0801F10C: .4byte gUnknown_203B270
+_0801F110:
+ movs r2, 0x34
+ ldrsh r0, [r1, r2]
+ ldr r1, [r1, 0x10]
+ bl sub_8093544
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801F128
+_0801F120:
+ movs r0, 0x6
+ bl sub_80119D4
+ b _0801F182
+_0801F128:
+ movs r0, 0x2
+ bl sub_80119D4
+_0801F12E:
+ cmp r7, 0
+ bne _0801F182
+ movs r3, 0
+ ldr r5, _0801F160
+ movs r4, 0x1
+_0801F138:
+ ldr r2, [r5]
+ lsls r0, r3, 3
+ ldr r1, [r2, 0x10]
+ adds r1, r0
+ ldrb r1, [r1]
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0801F16C
+ movs r0, 0x2
+ ands r0, r1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ beq _0801F164
+ adds r0, r2, 0
+ adds r0, 0x14
+ adds r0, r3
+ strb r4, [r0]
+ b _0801F16C
+ .align 2, 0
+_0801F160: .4byte gUnknown_203B270
+_0801F164:
+ adds r0, r2, 0
+ adds r0, 0x14
+ adds r0, r3
+ strb r1, [r0]
+_0801F16C:
+ adds r3, 0x1
+ cmp r3, 0x7
+ ble _0801F138
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x1C
+ adds r1, 0x14
+ bl AddMenuCursorSprite_
+ cmp r7, 0
+ beq _0801F18C
+_0801F182:
+ movs r0, 0x1
+ bl sub_801F280
+ movs r0, 0x1
+ b _0801F18E
+_0801F18C:
+ movs r0, 0
+_0801F18E:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801EF38
+
+ thumb_func_start sub_801F194
+sub_801F194:
+ ldr r0, _0801F1A0
+ ldr r0, [r0]
+ movs r1, 0x34
+ ldrsh r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_0801F1A0: .4byte gUnknown_203B270
+ thumb_func_end sub_801F194
+
+ thumb_func_start sub_801F1A4
+sub_801F1A4:
+ ldr r0, _0801F1AC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x4]
+ bx lr
+ .align 2, 0
+_0801F1AC: .4byte gUnknown_203B270
+ thumb_func_end sub_801F1A4
+
+ thumb_func_start sub_801F1B0
+sub_801F1B0:
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r4, _0801F210
+ ldr r2, [r4]
+ ldrb r0, [r2, 0x4]
+ cmp r0, 0
+ bne _0801F1C6
+ strb r1, [r2, 0x4]
+_0801F1C6:
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x58
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ bl sub_801F3F8
+ adds r1, r0, 0
+ ldr r0, [r4]
+ strh r1, [r0, 0x3E]
+ adds r0, 0x1C
+ bl sub_8013984
+ ldr r1, [r4]
+ ldr r0, [r1, 0x10]
+ movs r2, 0x34
+ ldrsh r1, [r1, r2]
+ bl sub_8092F4C
+ ldr r1, [r4]
+ strh r0, [r1, 0x34]
+ movs r0, 0x1
+ bl sub_801F280
+ cmp r5, 0
+ beq _0801F208
+ ldr r0, [r4]
+ adds r0, 0x1C
+ bl AddMenuCursorSprite
+_0801F208:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F210: .4byte gUnknown_203B270
+ thumb_func_end sub_801F1B0
+
+ thumb_func_start sub_801F214
+sub_801F214:
+ push {r4-r6,lr}
+ ldr r4, _0801F278
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801F272
+ ldr r0, [r2, 0x50]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ ldr r3, _0801F27C
+ adds r1, 0x58
+ adds r0, r3, 0
+ ldm r0!, {r2,r5,r6}
+ stm r1!, {r2,r5,r6}
+ ldm r0!, {r2,r5,r6}
+ stm r1!, {r2,r5,r6}
+ ldr r2, [r4]
+ adds r0, r2, 0
+ adds r0, 0xB8
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0801F258
+ ldr r0, [r2, 0x54]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x58
+ adds r0, r3, 0
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+_0801F258:
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x58
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801F272:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F278: .4byte gUnknown_203B270
+_0801F27C: .4byte gUnknown_80DC240
+ thumb_func_end sub_801F214
+
+ thumb_func_start sub_801F280
+sub_801F280:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x28
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ ldr r4, _0801F30C
+ ldr r0, [r4]
+ ldr r0, [r0, 0x50]
+ bl sub_8008C54
+ ldr r0, [r4]
+ ldr r0, [r0, 0x50]
+ bl sub_80073B8
+ ldr r0, [r4]
+ ldr r1, [r0, 0x8]
+ adds r1, 0x4C
+ add r0, sp, 0x4
+ movs r2, 0xA
+ bl sub_80922B4
+ ldr r0, _0801F310
+ add r1, sp, 0x4
+ bl strcpy
+ ldr r2, _0801F314
+ ldr r0, [r4]
+ ldr r3, [r0, 0x50]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xC
+ movs r1, 0
+ bl sub_8014FF0
+ movs r7, 0
+ ldr r0, [r4]
+ movs r1, 0x36
+ ldrsh r0, [r0, r1]
+ cmp r7, r0
+ bge _0801F394
+ add r5, sp, 0x18
+ mov r8, r4
+ movs r0, 0x1
+ mov r9, r0
+_0801F2E0:
+ adds r0, r5, 0
+ movs r1, 0
+ movs r2, 0xC
+ bl memset
+ movs r0, 0x6A
+ str r0, [r5, 0x4]
+ mov r1, r8
+ ldr r2, [r1]
+ lsls r1, r7, 3
+ ldr r0, [r2, 0x10]
+ adds r4, r0, r1
+ ldrb r1, [r4]
+ mov r0, r9
+ ands r0, r1
+ cmp r0, 0
+ beq _0801F386
+ ldrb r0, [r2, 0xC]
+ cmp r0, 0
+ beq _0801F318
+ movs r0, 0x2
+ b _0801F31A
+ .align 2, 0
+_0801F30C: .4byte gUnknown_203B270
+_0801F310: .4byte gUnknown_202DF98
+_0801F314: .4byte gUnknown_80DC28C
+_0801F318:
+ movs r0, 0x4
+_0801F31A:
+ str r0, [sp, 0x18]
+ mov r1, r8
+ ldr r0, [r1]
+ ldrb r0, [r0, 0x6]
+ cmp r0, 0
+ beq _0801F328
+ mov r0, r9
+_0801F328:
+ strb r0, [r5, 0x9]
+ cmp r7, 0x3
+ ble _0801F332
+ mov r1, r9
+ strb r1, [r5, 0x8]
+_0801F332:
+ ldr r0, _0801F3EC
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl sub_80928A0
+ ldr r2, _0801F3F0
+ ldr r0, [r2]
+ adds r0, 0x1C
+ adds r1, r7, 0
+ str r2, [sp, 0x24]
+ bl sub_8013800
+ adds r6, r0, 0
+ ldrb r1, [r4]
+ movs r0, 0x2
+ ands r0, r1
+ movs r4, 0xD
+ ldr r2, [sp, 0x24]
+ cmp r0, 0
+ bne _0801F372
+ movs r4, 0x8
+ cmp r7, 0
+ beq _0801F372
+ ldr r0, [r2]
+ ldr r0, [r0, 0x50]
+ subs r2, r6, 0x2
+ movs r1, 0x7
+ str r1, [sp]
+ movs r1, 0xC
+ movs r3, 0x78
+ bl sub_800792C
+_0801F372:
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r3, [r0, 0x50]
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ adds r1, r6, 0
+ ldr r2, _0801F3F4
+ bl sub_8014FF0
+_0801F386:
+ adds r7, 0x1
+ mov r1, r8
+ ldr r0, [r1]
+ movs r1, 0x36
+ ldrsh r0, [r0, r1]
+ cmp r7, r0
+ blt _0801F2E0
+_0801F394:
+ ldr r4, _0801F3F0
+ ldr r0, [r4]
+ ldr r0, [r0, 0x50]
+ bl sub_80073E0
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xB8
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0801F3DC
+ mov r0, r10
+ cmp r0, 0
+ beq _0801F3DC
+ ldr r0, [r1, 0x54]
+ bl sub_8008C54
+ ldr r0, [r4]
+ ldr r0, [r0, 0x54]
+ bl sub_80073B8
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xB8
+ ldr r2, [r0]
+ ldr r3, [r1, 0x54]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ movs r1, 0
+ bl sub_8014FF0
+ ldr r0, [r4]
+ ldr r0, [r0, 0x54]
+ bl sub_80073E0
+_0801F3DC:
+ add sp, 0x28
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F3EC: .4byte gUnknown_202DE58
+_0801F3F0: .4byte gUnknown_203B270
+_0801F3F4: .4byte gUnknown_80DC2A0
+ thumb_func_end sub_801F280
+
+ thumb_func_start sub_801F3F8
+sub_801F3F8:
+ push {r4,r5,lr}
+ movs r4, 0
+ ldr r0, _0801F424
+ ldr r0, [r0]
+ movs r5, 0x1
+ ldr r2, [r0, 0x10]
+ movs r3, 0x7
+_0801F406:
+ ldrb r1, [r2]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0801F412
+ adds r4, 0x1
+_0801F412:
+ adds r2, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bge _0801F406
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801F424: .4byte gUnknown_203B270
+ thumb_func_end sub_801F3F8
+
+ thumb_func_start sub_801F428
+sub_801F428:
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ adds r4, r0, 0
+ mov r9, r1
+ lsls r4, 16
+ asrs r4, 16
+ ldr r5, _0801F50C
+ movs r0, 0xFA
+ lsls r0, 2
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ ldr r3, _0801F510
+ movs r1, 0x58
+ adds r2, r4, 0
+ muls r2, r1
+ ldr r1, [r3]
+ adds r1, r2
+ str r1, [r0]
+ adds r1, r0, 0
+ adds r1, 0x8
+ str r1, [r0, 0x4]
+ movs r4, 0xDF
+ lsls r4, 2
+ adds r1, r0, r4
+ mov r2, r9
+ str r2, [r1]
+ movs r6, 0xE0
+ lsls r6, 2
+ adds r2, r0, r6
+ mov r3, r9
+ lsls r1, r3, 1
+ add r1, r9
+ lsls r1, 3
+ movs r3, 0xE1
+ lsls r3, 2
+ mov r8, r3
+ add r1, r8
+ adds r1, r0, r1
+ str r1, [r2]
+ add r0, r8
+ bl sub_8006518
+ ldr r1, [r5]
+ adds r4, r1, r4
+ ldr r2, [r4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ add r1, r8
+ ldr r0, _0801F514
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r1, [r5]
+ adds r6, r1, r6
+ ldr r0, [r6]
+ movs r4, 0xF9
+ lsls r4, 2
+ adds r1, r4
+ str r1, [r0, 0x14]
+ movs r2, 0
+ movs r0, 0x1
+ strb r0, [r1]
+ ldr r0, [r5]
+ ldr r1, _0801F518
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r5]
+ ldr r3, _0801F51C
+ adds r0, r3
+ movs r1, 0xC
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r4, 0x3
+ adds r0, r4
+ strb r2, [r0]
+ bl sub_8004914
+ ldr r0, [r5]
+ add r0, r8
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, [r5]
+ movs r0, 0xD2
+ lsls r0, 2
+ adds r4, r0
+ bl sub_801F7E4
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0x4
+ mov r3, r9
+ bl sub_8013818
+ bl sub_801F690
+ bl sub_801F700
+ movs r0, 0x1
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801F50C: .4byte gUnknown_203B274
+_0801F510: .4byte gUnknown_203B45C
+_0801F514: .4byte gUnknown_80DC2C4
+_0801F518: .4byte 0x000003e5
+_0801F51C: .4byte 0x000003e6
+ thumb_func_end sub_801F428
+
+ thumb_func_start sub_801F520
+sub_801F520:
+ push {lr}
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801F540
+ ldr r0, _0801F53C
+ ldr r0, [r0]
+ movs r1, 0xD2
+ lsls r1, 2
+ adds r0, r1
+ bl sub_8013660
+ movs r0, 0
+ b _0801F5AE
+ .align 2, 0
+_0801F53C: .4byte gUnknown_203B274
+_0801F540:
+ ldr r0, _0801F55C
+ ldr r0, [r0]
+ movs r1, 0xD2
+ lsls r1, 2
+ adds r0, r1
+ bl GetKeyPress
+ cmp r0, 0x2
+ beq _0801F566
+ cmp r0, 0x2
+ bgt _0801F560
+ cmp r0, 0x1
+ beq _0801F570
+ b _0801F584
+ .align 2, 0
+_0801F55C: .4byte gUnknown_203B274
+_0801F560:
+ cmp r0, 0x4
+ beq _0801F57A
+ b _0801F584
+_0801F566:
+ movs r0, 0x1
+ bl sub_80119D4
+ movs r0, 0x2
+ b _0801F5AE
+_0801F570:
+ movs r0, 0
+ bl sub_80119D4
+ movs r0, 0x3
+ b _0801F5AE
+_0801F57A:
+ movs r0, 0x4
+ bl sub_80119D4
+ movs r0, 0x4
+ b _0801F5AE
+_0801F584:
+ ldr r0, _0801F5A0
+ ldr r0, [r0]
+ movs r1, 0xD2
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801F5A4
+ movs r0, 0
+ b _0801F5AE
+ .align 2, 0
+_0801F5A0: .4byte gUnknown_203B274
+_0801F5A4:
+ bl sub_801F690
+ bl sub_801F700
+ movs r0, 0x1
+_0801F5AE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801F520
+
+ thumb_func_start sub_801F5B4
+sub_801F5B4:
+ push {r4,lr}
+ ldr r0, _0801F5E8
+ ldr r1, [r0]
+ ldr r2, [r1, 0x4]
+ ldr r3, _0801F5EC
+ adds r0, r1, r3
+ movs r4, 0
+ ldrsh r3, [r0, r4]
+ movs r4, 0xD9
+ lsls r4, 2
+ adds r0, r1, r4
+ movs r4, 0
+ ldrsh r0, [r0, r4]
+ muls r0, r3
+ movs r3, 0xD8
+ lsls r3, 2
+ adds r1, r3
+ movs r4, 0
+ ldrsh r1, [r1, r4]
+ adds r0, r1
+ lsls r0, 1
+ adds r2, r0
+ ldrh r0, [r2]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801F5E8: .4byte gUnknown_203B274
+_0801F5EC: .4byte 0x00000366
+ thumb_func_end sub_801F5B4
+
+ thumb_func_start sub_801F5F0
+sub_801F5F0:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_8004914
+ ldr r5, _0801F638
+ ldr r0, [r5]
+ movs r1, 0xE1
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0
+ movs r2, 0
+ bl sub_800641C
+ ldr r0, [r5]
+ movs r1, 0xD2
+ lsls r1, 2
+ adds r0, r1
+ bl sub_8013984
+ bl sub_801F690
+ bl sub_801F700
+ cmp r4, 0
+ beq _0801F632
+ ldr r0, [r5]
+ movs r1, 0xD2
+ lsls r1, 2
+ adds r0, r1
+ bl AddMenuCursorSprite
+_0801F632:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F638: .4byte gUnknown_203B274
+ thumb_func_end sub_801F5F0
+
+ thumb_func_start sub_801F63C
+sub_801F63C:
+ push {r4-r6,lr}
+ ldr r5, _0801F688
+ ldr r2, [r5]
+ cmp r2, 0
+ beq _0801F680
+ movs r1, 0xDF
+ lsls r1, 2
+ adds r0, r2, r1
+ ldr r0, [r0]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ movs r4, 0xE1
+ lsls r4, 2
+ adds r1, r4
+ ldr r0, _0801F68C
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ bl sub_8004914
+ ldr r0, [r5]
+ adds r0, r4
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r5]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r5]
+_0801F680:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F688: .4byte gUnknown_203B274
+_0801F68C: .4byte gUnknown_80DC2AC
+ thumb_func_end sub_801F63C
+
+ thumb_func_start sub_801F690
+sub_801F690:
+ push {r4,r5,lr}
+ ldr r5, _0801F6F4
+ ldr r0, [r5]
+ ldr r1, _0801F6F8
+ adds r0, r1
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ lsls r0, 16
+ ldr r3, [r5]
+ movs r1, 0xDF
+ lsls r1, 2
+ adds r4, r3, r1
+ ldr r2, [r4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r3, r1
+ ldr r2, _0801F6FC
+ adds r1, r2
+ asrs r2, r0, 16
+ lsrs r0, 16
+ strh r0, [r1]
+ ldr r1, [r4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r3, r0
+ adds r2, 0x2
+ movs r0, 0xE5
+ lsls r0, 2
+ adds r3, r0
+ strh r2, [r3]
+ bl sub_8004914
+ ldr r0, [r5]
+ movs r1, 0xE1
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F6F4: .4byte gUnknown_203B274
+_0801F6F8: .4byte 0x00000362
+_0801F6FC: .4byte 0x00000392
+ thumb_func_end sub_801F690
+
+ thumb_func_start sub_801F700
+sub_801F700:
+ push {r4-r7,lr}
+ sub sp, 0xB4
+ ldr r6, _0801F7D4
+ ldr r0, [r6]
+ movs r4, 0xDF
+ lsls r4, 2
+ adds r0, r4
+ ldr r0, [r0]
+ bl sub_8008C54
+ ldr r0, [r6]
+ adds r0, r4
+ ldr r0, [r0]
+ bl sub_80073B8
+ add r5, sp, 0x34
+ ldr r1, _0801F7D8
+ ldr r0, [r6]
+ ldr r3, _0801F7DC
+ adds r2, r0, r3
+ movs r7, 0
+ ldrsh r2, [r2, r7]
+ adds r2, 0x1
+ adds r3, 0x2
+ adds r0, r3
+ movs r7, 0
+ ldrsh r3, [r0, r7]
+ adds r0, r5, 0
+ bl sub_800D158
+ ldr r0, [r6]
+ adds r0, r4
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ adds r2, r5, 0
+ bl xxx_call_draw_string
+ movs r4, 0
+ ldr r0, [r6]
+ ldr r1, _0801F7E0
+ adds r0, r1
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r4, r0
+ bge _0801F7BC
+ adds r5, r6, 0
+_0801F762:
+ ldr r1, [r5]
+ ldr r2, [r1, 0x4]
+ ldr r3, _0801F7DC
+ adds r0, r1, r3
+ movs r6, 0
+ ldrsh r3, [r0, r6]
+ movs r7, 0xD9
+ lsls r7, 2
+ adds r1, r7
+ movs r6, 0
+ ldrsh r0, [r1, r6]
+ muls r0, r3
+ adds r0, r4
+ lsls r0, 1
+ adds r2, r0
+ ldrh r1, [r2]
+ add r0, sp, 0x4
+ bl sub_8092C84
+ ldr r0, [r5]
+ subs r7, 0x1C
+ adds r0, r7
+ adds r1, r4, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r5]
+ movs r2, 0xDF
+ lsls r2, 2
+ adds r0, r2
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ adds r4, 0x1
+ ldr r0, [r5]
+ ldr r3, _0801F7E0
+ adds r0, r3
+ movs r6, 0
+ ldrsh r0, [r0, r6]
+ cmp r4, r0
+ blt _0801F762
+_0801F7BC:
+ ldr r0, _0801F7D4
+ ldr r0, [r0]
+ movs r7, 0xDF
+ lsls r7, 2
+ adds r0, r7
+ ldr r0, [r0]
+ bl sub_80073E0
+ add sp, 0xB4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F7D4: .4byte gUnknown_203B274
+_0801F7D8: .4byte gUnknown_80DC2DC
+_0801F7DC: .4byte 0x00000366
+_0801F7E0: .4byte 0x00000362
+ thumb_func_end sub_801F700
+
+ thumb_func_start sub_801F7E4
+sub_801F7E4:
+ push {r4,lr}
+ ldr r4, _0801F804
+ ldr r1, [r4]
+ ldr r0, [r1, 0x4]
+ ldr r1, [r1]
+ bl sub_808E218
+ ldr r0, [r4]
+ ldr r0, [r0, 0x4]
+ movs r1, 0xCF
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801F804: .4byte gUnknown_203B274
+ thumb_func_end sub_801F7E4
+
+ thumb_func_start sub_801F808
+sub_801F808:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r0, 0x1
+ bl ResetSprites
+ ldr r5, _0801F88C
+ movs r0, 0xD4
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ movs r1, 0
+ str r1, [r0, 0x5C]
+ adds r1, r0, 0
+ adds r1, 0x64
+ str r1, [r0, 0x60]
+ adds r0, r1, 0
+ bl sub_80140B4
+ bl sub_8004914
+ ldr r0, [r5]
+ adds r0, 0x64
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r5]
+ str r4, [r0, 0x4]
+ movs r2, 0x4
+ ldrh r0, [r4, 0x6]
+ cmp r0, 0
+ bne _0801F862
+ adds r3, r5, 0
+_0801F84C:
+ subs r2, 0x1
+ cmp r2, 0x1
+ ble _0801F862
+ ldr r0, [r3]
+ ldr r1, [r0, 0x4]
+ lsls r0, r2, 1
+ adds r0, r1
+ subs r0, 0x2
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _0801F84C
+_0801F862:
+ ldr r4, _0801F88C
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x28
+ ldr r3, [r1, 0x5C]
+ adds r1, r2, 0
+ movs r2, 0x1
+ bl sub_8013818
+ ldr r0, [r4]
+ adds r0, 0xC8
+ bl sub_801317C
+ movs r0, 0
+ bl sub_801F918
+ movs r0, 0x1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801F88C: .4byte gUnknown_203B278
+ thumb_func_end sub_801F808
+
+ thumb_func_start sub_801F890
+sub_801F890:
+ push {lr}
+ ldr r0, _0801F8A8
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x1
+ beq _0801F8BC
+ cmp r0, 0x1
+ bgt _0801F8AC
+ cmp r0, 0
+ beq _0801F8B6
+ b _0801F8C6
+ .align 2, 0
+_0801F8A8: .4byte gUnknown_203B278
+_0801F8AC:
+ cmp r0, 0x2
+ beq _0801F8C6
+ cmp r0, 0x3
+ beq _0801F8C2
+ b _0801F8C6
+_0801F8B6:
+ bl sub_801FA58
+ b _0801F8CA
+_0801F8BC:
+ bl sub_801FAD4
+ b _0801F8CA
+_0801F8C2:
+ movs r0, 0x3
+ b _0801F8CC
+_0801F8C6:
+ movs r0, 0x2
+ b _0801F8CC
+_0801F8CA:
+ movs r0, 0
+_0801F8CC:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801F890
+
+ thumb_func_start sub_801F8D0
+sub_801F8D0:
+ push {r4,r5,lr}
+ ldr r4, _0801F910
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801F90A
+ ldr r0, [r2, 0x5C]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x64
+ ldr r0, _0801F914
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x64
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801F90A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F910: .4byte gUnknown_203B278
+_0801F914: .4byte gUnknown_80DC2F8
+ thumb_func_end sub_801F8D0
+
+ thumb_func_start sub_801F918
+sub_801F918:
+ push {lr}
+ ldr r1, _0801F92C
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_801F930
+ bl sub_801F9A4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F92C: .4byte gUnknown_203B278
+ thumb_func_end sub_801F918
+
+ thumb_func_start sub_801F930
+sub_801F930:
+ push {r4,lr}
+ ldr r4, _0801F94C
+ ldr r0, [r4]
+ adds r0, 0x64
+ bl sub_80140B4
+ ldr r2, [r4]
+ ldr r3, [r2]
+ cmp r3, 0
+ beq _0801F950
+ cmp r3, 0x1
+ beq _0801F98C
+ b _0801F99C
+ .align 2, 0
+_0801F94C: .4byte gUnknown_203B278
+_0801F950:
+ ldr r0, [r2, 0x60]
+ adds r1, r2, 0
+ adds r1, 0xC4
+ str r1, [r0, 0x14]
+ adds r0, r2, 0
+ adds r0, 0x48
+ ldrh r0, [r0]
+ strb r0, [r1]
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x46
+ ldrh r1, [r1]
+ adds r0, 0xC5
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xC6
+ movs r1, 0x10
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xC7
+ strb r3, [r0]
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x64
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ b _0801F99C
+_0801F98C:
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x64
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+_0801F99C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801F930
+
+ thumb_func_start sub_801F9A4
+sub_801F9A4:
+ push {r4,r5,lr}
+ sub sp, 0x4
+ ldr r5, _0801F9EC
+ ldr r0, [r5]
+ ldr r4, [r0]
+ cmp r4, 0x1
+ beq _0801F9F0
+ cmp r4, 0x1
+ bgt _0801FA48
+ cmp r4, 0
+ bne _0801FA48
+ ldr r0, [r0, 0x5C]
+ bl sub_8008C54
+ ldr r3, [r5]
+ adds r2, r3, 0
+ adds r2, 0x46
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ ldr r1, [r3, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ strh r0, [r3, 0x8]
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ ldrh r1, [r3, 0x8]
+ ldr r2, [r3, 0x5C]
+ adds r3, 0x14
+ bl sub_8093D9C
+ ldr r1, [r5]
+ str r0, [r1, 0x10]
+ str r4, [r1, 0x24]
+ b _0801FA48
+ .align 2, 0
+_0801F9EC: .4byte gUnknown_203B278
+_0801F9F0:
+ ldr r0, [r0, 0x5C]
+ bl sub_8008C54
+ ldr r0, [r5]
+ ldr r0, [r0, 0x5C]
+ bl sub_80073B8
+ ldr r0, [r5]
+ ldr r1, [r0, 0xC]
+ lsls r1, 2
+ adds r0, 0x14
+ adds r0, r1
+ ldr r1, [r0]
+ ldr r0, _0801FA50
+ ldr r1, [r1]
+ bl strcpy
+ ldr r2, _0801FA54
+ ldr r0, [r5]
+ ldr r3, [r0, 0x5C]
+ movs r4, 0
+ str r4, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ bl sub_8014FF0
+ ldr r3, [r5]
+ ldr r1, [r3, 0xC]
+ lsls r1, 2
+ adds r0, r3, 0
+ adds r0, 0x14
+ adds r0, r1
+ ldr r0, [r0]
+ ldr r2, [r0, 0x4]
+ ldr r3, [r3, 0x5C]
+ str r4, [sp]
+ movs r0, 0x4
+ movs r1, 0x10
+ bl sub_8014FF0
+ ldr r0, [r5]
+ ldr r0, [r0, 0x5C]
+ bl sub_80073E0
+_0801FA48:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801FA50: .4byte gUnknown_202DF98
+_0801FA54: .4byte gUnknown_80DC310
+ thumb_func_end sub_801F9A4
+
+ thumb_func_start sub_801FA58
+sub_801FA58:
+ push {r4,lr}
+ ldr r0, _0801FAA4
+ ldr r2, [r0]
+ ldr r1, [r2, 0x10]
+ adds r4, r0, 0
+ cmp r1, 0
+ beq _0801FA7C
+ ldr r0, [r2, 0x24]
+ movs r1, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _0801FA74
+ bl sub_8013F84
+_0801FA74:
+ ldr r1, [r4]
+ ldr r0, [r1, 0x24]
+ adds r0, 0x1
+ str r0, [r1, 0x24]
+_0801FA7C:
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xC8
+ ldr r1, [r1, 0x5C]
+ bl sub_8012A64
+ cmp r0, 0x1
+ beq _0801FAA8
+ cmp r0, 0x2
+ beq _0801FAC2
+ ldr r0, [r4]
+ adds r0, 0x28
+ bl sub_8013938
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801FACE
+ movs r0, 0
+ b _0801FACA
+ .align 2, 0
+_0801FAA4: .4byte gUnknown_203B278
+_0801FAA8:
+ movs r0, 0
+ bl sub_80119D4
+ ldr r1, [r4]
+ ldr r0, [r1, 0x10]
+ cmp r0, 0
+ beq _0801FABE
+ movs r0, 0
+ str r0, [r1, 0xC]
+ movs r0, 0x1
+ b _0801FACA
+_0801FABE:
+ movs r0, 0x3
+ b _0801FACA
+_0801FAC2:
+ movs r0, 0x1
+ bl sub_80119D4
+ movs r0, 0x2
+_0801FACA:
+ bl sub_801F918
+_0801FACE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801FA58
+
+ thumb_func_start sub_801FAD4
+sub_801FAD4:
+ push {r4,lr}
+ ldr r0, _0801FB14
+ ldr r3, [r0]
+ ldr r1, [r3, 0x10]
+ subs r1, 0x1
+ ldr r2, [r3, 0xC]
+ adds r4, r0, 0
+ cmp r2, r1
+ bge _0801FAFC
+ ldr r0, [r3, 0x24]
+ movs r1, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _0801FAF4
+ bl sub_8013F84
+_0801FAF4:
+ ldr r1, [r4]
+ ldr r0, [r1, 0x24]
+ adds r0, 0x1
+ str r0, [r1, 0x24]
+_0801FAFC:
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xC8
+ ldr r1, [r1, 0x5C]
+ bl sub_8012A64
+ cmp r0, 0x1
+ beq _0801FB18
+ cmp r0, 0x2
+ beq _0801FB3C
+ b _0801FB48
+ .align 2, 0
+_0801FB14: .4byte gUnknown_203B278
+_0801FB18:
+ movs r0, 0
+ bl sub_80119D4
+ ldr r0, [r4]
+ ldr r1, [r0, 0xC]
+ adds r1, 0x1
+ str r1, [r0, 0xC]
+ ldr r0, [r0, 0x10]
+ cmp r1, r0
+ bge _0801FB34
+ movs r0, 0x1
+ bl sub_801F918
+ b _0801FB48
+_0801FB34:
+ movs r0, 0
+ bl sub_801F918
+ b _0801FB48
+_0801FB3C:
+ movs r0, 0x1
+ bl sub_80119D4
+ movs r0, 0x2
+ bl sub_801F918
+_0801FB48:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801FAD4
+
+ thumb_func_start sub_801FB50
+sub_801FB50:
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ bl sub_8004914
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r6, _0801FBC0
+ movs r0, 0xF0
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r6]
+ movs r7, 0
+ str r7, [r0, 0x70]
+ str r7, [r0, 0x74]
+ str r7, [r0, 0x78]
+ str r4, [r0]
+ strb r7, [r0, 0x15]
+ ldr r0, _0801FBC4
+ ldr r4, _0801FBC8
+ adds r1, r4, 0
+ bl sub_808D8E0
+ ldr r5, _0801FBCC
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_808D8E0
+ adds r0, r4, 0
+ bl sub_808D994
+ adds r1, r0, 0
+ adds r0, r5, 0
+ subs r0, 0x50
+ bl strcpy
+ subs r5, 0xF0
+ bl sub_808D33C
+ adds r1, r0, 0
+ adds r0, r5, 0
+ bl sub_808DA34
+ ldr r2, [r6]
+ ldr r0, [r2]
+ cmp r0, 0x1
+ bne _0801FBD0
+ movs r1, 0xBE
+ lsls r1, 1
+ adds r0, r2, r1
+ str r7, [r0]
+ b _0801FBDE
+ .align 2, 0
+_0801FBC0: .4byte gUnknown_203B27C
+_0801FBC4: .4byte gUnknown_202E5D8
+_0801FBC8: .4byte 0x00000155
+_0801FBCC: .4byte gUnknown_202E1C8
+_0801FBD0:
+ movs r3, 0xBE
+ lsls r3, 1
+ adds r1, r2, r3
+ movs r4, 0xB6
+ lsls r4, 1
+ adds r0, r2, r4
+ str r0, [r1]
+_0801FBDE:
+ ldr r0, _0801FC34
+ bl sub_808DDD0
+ ldr r2, _0801FC38
+ ldr r3, [r2]
+ movs r4, 0xB6
+ lsls r4, 1
+ adds r1, r3, r4
+ str r0, [r1]
+ adds r4, 0x4
+ adds r1, r3, r4
+ ldr r0, [r0, 0x4]
+ str r0, [r1]
+ movs r1, 0xBC
+ lsls r1, 1
+ adds r0, r3, r1
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r3, _0801FC3C
+ adds r0, r3
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r4, 0xA
+ adds r0, r4
+ strb r1, [r0]
+ ldr r2, [r2]
+ movs r0, 0xBA
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x2
+ strh r0, [r1]
+ subs r3, 0x3
+ adds r1, r2, r3
+ movs r0, 0x8
+ strh r0, [r1]
+ movs r0, 0
+ bl sub_801FDA8
+ movs r0, 0x1
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801FC34: .4byte 0x00000155
+_0801FC38: .4byte gUnknown_203B27C
+_0801FC3C: .4byte 0x00000179
+ thumb_func_end sub_801FB50
+
+ thumb_func_start sub_801FC40
+sub_801FC40:
+ push {lr}
+ ldr r1, _0801FC5C
+ ldr r0, [r1]
+ ldr r0, [r0, 0x4]
+ adds r2, r1, 0
+ cmp r0, 0x22
+ bls _0801FC50
+ b _0801FD70
+_0801FC50:
+ lsls r0, 2
+ ldr r1, _0801FC60
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801FC5C: .4byte gUnknown_203B27C
+_0801FC60: .4byte _0801FC64
+ .align 2, 0
+_0801FC64:
+ .4byte _0801FCF0
+ .4byte _0801FCF0
+ .4byte _0801FCF6
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FCFC
+ .4byte _0801FD02
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FD50
+ .4byte _0801FD70
+ .4byte _0801FD08
+ .4byte _0801FD08
+ .4byte _0801FD0E
+ .4byte _0801FD14
+ .4byte _0801FD1A
+ .4byte _0801FD70
+ .4byte _0801FD20
+ .4byte _0801FD20
+ .4byte _0801FD26
+ .4byte _0801FD2C
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FD32
+ .4byte _0801FD38
+ .4byte _0801FD38
+ .4byte _0801FD3E
+ .4byte _0801FD44
+ .4byte _0801FD4A
+_0801FCF0:
+ bl sub_8021154
+ b _0801FD74
+_0801FCF6:
+ bl sub_80209AC
+ b _0801FD74
+_0801FCFC:
+ bl sub_80209FC
+ b _0801FD74
+_0801FD02:
+ bl sub_8020A34
+ b _0801FD74
+_0801FD08:
+ bl sub_8020A80
+ b _0801FD74
+_0801FD0E:
+ bl sub_8020B38
+ b _0801FD74
+_0801FD14:
+ bl sub_8020C2C
+ b _0801FD74
+_0801FD1A:
+ bl sub_8020C48
+ b _0801FD74
+_0801FD20:
+ bl sub_8020C64
+ b _0801FD74
+_0801FD26:
+ bl sub_8020CC0
+ b _0801FD74
+_0801FD2C:
+ bl sub_8020D74
+ b _0801FD74
+_0801FD32:
+ bl sub_8020D90
+ b _0801FD74
+_0801FD38:
+ bl sub_8020DCC
+ b _0801FD74
+_0801FD3E:
+ bl sub_8020EB4
+ b _0801FD74
+_0801FD44:
+ bl sub_80210C8
+ b _0801FD74
+_0801FD4A:
+ bl sub_80210E4
+ b _0801FD74
+_0801FD50:
+ ldr r0, [r2]
+ ldrb r0, [r0, 0x15]
+ cmp r0, 0x1
+ bne _0801FD68
+ ldr r0, _0801FD6C
+ ldr r1, [r0]
+ movs r0, 0x98
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ subs r0, 0x96
+ str r0, [r1]
+_0801FD68:
+ movs r0, 0x3
+ b _0801FD76
+ .align 2, 0
+_0801FD6C: .4byte gUnknown_203B460
+_0801FD70:
+ bl sub_8021130
+_0801FD74:
+ movs r0, 0
+_0801FD76:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801FC40
+
+ thumb_func_start sub_801FD7C
+sub_801FD7C:
+ push {r4,lr}
+ ldr r4, _0801FDA4
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0801FD9C
+ movs r1, 0xB6
+ lsls r1, 1
+ adds r0, r1
+ ldr r0, [r0]
+ bl CloseFile
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801FD9C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801FDA4: .4byte gUnknown_203B27C
+ thumb_func_end sub_801FD7C
+
+ thumb_func_start sub_801FDA8
+sub_801FDA8:
+ push {lr}
+ ldr r1, _0801FDBC
+ ldr r1, [r1]
+ str r0, [r1, 0x4]
+ bl sub_801FDC0
+ bl sub_801FF28
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801FDBC: .4byte gUnknown_203B27C
+ thumb_func_end sub_801FDA8
+
+ thumb_func_start sub_801FDC0
+sub_801FDC0:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r4, _0801FDE8
+ ldr r0, [r4]
+ movs r5, 0xC0
+ lsls r5, 1
+ adds r0, r5
+ bl sub_8006518
+ ldr r0, [r4]
+ ldr r1, [r0, 0x4]
+ cmp r1, 0x11
+ beq _0801FE38
+ cmp r1, 0x11
+ bgt _0801FDEC
+ cmp r1, 0x2
+ beq _0801FDF6
+ b _0801FED4
+ .align 2, 0
+_0801FDE8: .4byte gUnknown_203B27C
+_0801FDEC:
+ cmp r1, 0x17
+ beq _0801FE6C
+ cmp r1, 0x20
+ beq _0801FE88
+ b _0801FED4
+_0801FDF6:
+ adds r0, r5
+ movs r1, 0x80
+ strb r1, [r0]
+ ldr r0, [r4]
+ movs r2, 0xCC
+ lsls r2, 1
+ adds r0, r2
+ strb r1, [r0]
+ ldr r0, [r4]
+ movs r3, 0xD8
+ lsls r3, 1
+ adds r0, r3
+ strb r1, [r0]
+ ldr r1, [r4]
+ movs r6, 0xE4
+ lsls r6, 1
+ adds r1, r6
+ ldr r0, _0801FE34
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r2,r6,r7}
+ stm r1!, {r2,r6,r7}
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, r5
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_800641C
+ b _0801FF14
+ .align 2, 0
+_0801FE34: .4byte gUnknown_80DC37C
+_0801FE38:
+ bl sub_80205D0
+ ldr r2, [r4]
+ movs r0, 0xD8
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _0801FE68
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ ldm r1!, {r3,r5,r7}
+ stm r2!, {r3,r5,r7}
+ ldr r1, [r4]
+ adds r0, r1, r0
+ adds r1, 0x7C
+ bl sub_8012CAC
+ bl sub_8004914
+ ldr r0, [r4]
+ movs r6, 0xC0
+ lsls r6, 1
+ adds r0, r6
+ b _0801FEC2
+ .align 2, 0
+_0801FE68: .4byte gUnknown_80DC334
+_0801FE6C:
+ bl sub_802069C
+ ldr r2, [r4]
+ movs r0, 0xD8
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _0801FE84
+ ldm r1!, {r3,r6,r7}
+ stm r2!, {r3,r6,r7}
+ ldm r1!, {r3,r6,r7}
+ stm r2!, {r3,r6,r7}
+ b _0801FEB0
+ .align 2, 0
+_0801FE84: .4byte gUnknown_80DC334
+_0801FE88:
+ bl sub_802074C
+ ldr r1, [r4]
+ movs r7, 0xCC
+ lsls r7, 1
+ adds r1, r7
+ ldr r0, _0801FECC
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldr r2, [r4]
+ movs r0, 0xD8
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _0801FED0
+ ldm r1!, {r3,r6,r7}
+ stm r2!, {r3,r6,r7}
+ ldm r1!, {r3,r6,r7}
+ stm r2!, {r3,r6,r7}
+_0801FEB0:
+ ldr r1, [r4]
+ adds r0, r1, r0
+ adds r1, 0x7C
+ bl sub_8012CAC
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, r5
+_0801FEC2:
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ b _0801FF14
+ .align 2, 0
+_0801FECC: .4byte gUnknown_80DC31C
+_0801FED0: .4byte gUnknown_80DC34C
+_0801FED4:
+ ldr r5, _0801FF20
+ mov r12, r5
+ movs r6, 0xC0
+ lsls r6, 1
+ mov r8, r6
+ ldr r4, _0801FF24
+ movs r3, 0
+ movs r2, 0x3
+_0801FEE4:
+ mov r7, r12
+ ldr r1, [r7]
+ adds r1, r3
+ add r1, r8
+ adds r0, r4, 0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ adds r3, 0x18
+ subs r2, 0x1
+ cmp r2, 0
+ bge _0801FEE4
+ bl sub_8004914
+ ldr r0, _0801FF20
+ ldr r0, [r0]
+ movs r1, 0xC0
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+_0801FF14:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801FF20: .4byte gUnknown_203B27C
+_0801FF24: .4byte gUnknown_80DC31C
+ thumb_func_end sub_801FDC0
+
+ thumb_func_start sub_801FF28
+sub_801FF28:
+ push {r4,r5,lr}
+ sub sp, 0x14
+ ldr r1, _0801FF44
+ ldr r0, [r1]
+ ldr r0, [r0, 0x4]
+ adds r5, r1, 0
+ cmp r0, 0x23
+ bls _0801FF3A
+ b _08020562
+_0801FF3A:
+ lsls r0, 2
+ ldr r1, _0801FF48
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801FF44: .4byte gUnknown_203B27C
+_0801FF48: .4byte _0801FF4C
+ .align 2, 0
+_0801FF4C:
+ .4byte _0801FFDC
+ .4byte _08020018
+ .4byte _08020064
+ .4byte _0802006C
+ .4byte _08020090
+ .4byte _080200B4
+ .4byte _080200D8
+ .4byte _080200FC
+ .4byte _08020144
+ .4byte _0802018C
+ .4byte _080201B0
+ .4byte _080201D4
+ .4byte _080201F8
+ .4byte _08020562
+ .4byte _0802021C
+ .4byte _08020240
+ .4byte _0802024E
+ .4byte _08020256
+ .4byte _08020274
+ .4byte _08020282
+ .4byte _0802028E
+ .4byte _080202B0
+ .4byte _080202BE
+ .4byte _080202C6
+ .4byte _080202E4
+ .4byte _08020304
+ .4byte _08020344
+ .4byte _080203B0
+ .4byte _080203D4
+ .4byte _0802038C
+ .4byte _080203F8
+ .4byte _08020428
+ .4byte _08020434
+ .4byte _08020460
+ .4byte _08020478
+ .4byte _08020500
+_0801FFDC:
+ ldr r0, [r5]
+ movs r4, 0x2
+ str r4, [r0, 0x6C]
+ bl sub_8020574
+ ldr r5, [r5]
+ str r4, [r5, 0x8]
+ ldr r2, _08020014
+ ldr r1, [r5]
+ movs r0, 0x64
+ muls r0, r1
+ adds r0, r2
+ ldr r0, [r0]
+ ldr r2, [r5, 0x6C]
+ adds r3, r5, 0
+ adds r3, 0x7C
+ adds r1, r5, 0
+ adds r1, 0xBC
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r1, r5, r4
+ b _0802004C
+ .align 2, 0
+_08020014: .4byte gUnknown_80D8888
+_08020018:
+ bl sub_8020574
+ ldr r0, _0802005C
+ ldr r4, [r0]
+ movs r0, 0x2
+ str r0, [r4, 0x8]
+ ldr r1, _08020060
+ ldr r2, [r4]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x4
+ adds r0, r1
+ ldr r0, [r0]
+ ldr r2, [r4, 0x6C]
+ adds r3, r4, 0
+ adds r3, 0x7C
+ adds r1, r4, 0
+ adds r1, 0xBC
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r5, 0xBE
+ lsls r5, 1
+ adds r1, r4, r5
+_0802004C:
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ bl sub_8014248
+ b _08020562
+ .align 2, 0
+_0802005C: .4byte gUnknown_203B27C
+_08020060: .4byte gUnknown_80D8888
+_08020064:
+ movs r0, 0x3
+ bl sub_8016C40
+ b _08020562
+_0802006C:
+ ldr r2, [r5]
+ movs r0, 0x1F
+ str r0, [r2, 0x8]
+ ldr r1, _0802008C
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x8
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0xBE
+ lsls r1, 1
+ adds r2, r1
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_0802008C: .4byte gUnknown_80D8888
+_08020090:
+ ldr r2, [r5]
+ movs r0, 0x1F
+ str r0, [r2, 0x8]
+ ldr r1, _080200B0
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0xC
+ adds r0, r1
+ ldr r0, [r0]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r2, r4
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080200B0: .4byte gUnknown_80D8888
+_080200B4:
+ ldr r2, [r5]
+ movs r0, 0x1F
+ str r0, [r2, 0x8]
+ ldr r1, _080200D4
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x10
+ adds r0, r1
+ ldr r0, [r0]
+ movs r5, 0xBE
+ lsls r5, 1
+ adds r2, r5
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080200D4: .4byte gUnknown_80D8888
+_080200D8:
+ ldr r2, [r5]
+ movs r0, 0x1F
+ str r0, [r2, 0x8]
+ ldr r1, _080200F8
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x14
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0xBE
+ lsls r1, 1
+ adds r2, r1
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080200F8: .4byte gUnknown_80D8888
+_080200FC:
+ bl sub_8020900
+ ldr r1, _0802013C
+ ldr r0, _08020140
+ ldr r4, [r0]
+ ldr r2, [r4]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x18
+ adds r0, r1
+ ldr r0, [r0]
+ adds r3, r4, 0
+ adds r3, 0x7C
+ adds r1, r4, 0
+ adds r1, 0xBC
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r2, 0xBE
+ lsls r2, 1
+ adds r1, r4, r2
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x10
+ bl sub_8014248
+ b _08020562
+ .align 2, 0
+_0802013C: .4byte gUnknown_80D8888
+_08020140: .4byte gUnknown_203B27C
+_08020144:
+ bl sub_8020950
+ ldr r1, _08020184
+ ldr r0, _08020188
+ ldr r4, [r0]
+ ldr r2, [r4]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x54
+ adds r0, r1
+ ldr r0, [r0]
+ adds r3, r4, 0
+ adds r3, 0x7C
+ adds r1, r4, 0
+ adds r1, 0xBC
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r5, 0xBE
+ lsls r5, 1
+ adds r1, r4, r5
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0xD
+ bl sub_8014248
+ b _08020562
+ .align 2, 0
+_08020184: .4byte gUnknown_80D8888
+_08020188: .4byte gUnknown_203B27C
+_0802018C:
+ ldr r2, [r5]
+ movs r0, 0x1
+ str r0, [r2, 0x8]
+ ldr r1, _080201AC
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x58
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0xBE
+ lsls r1, 1
+ adds r2, r1
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080201AC: .4byte gUnknown_80D8888
+_080201B0:
+ ldr r2, [r5]
+ movs r0, 0x1
+ str r0, [r2, 0x8]
+ ldr r1, _080201D0
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x5C
+ adds r0, r1
+ ldr r0, [r0]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r2, r4
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080201D0: .4byte gUnknown_80D8888
+_080201D4:
+ ldr r2, [r5]
+ movs r0, 0x1
+ str r0, [r2, 0x8]
+ ldr r1, _080201F4
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x60
+ adds r0, r1
+ ldr r0, [r0]
+ movs r5, 0xBE
+ lsls r5, 1
+ adds r2, r5
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080201F4: .4byte gUnknown_80D8888
+_080201F8:
+ ldr r2, [r5]
+ movs r0, 0xD
+ str r0, [r2, 0x8]
+ ldr r1, _08020218
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x1C
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0xBE
+ lsls r1, 1
+ adds r2, r1
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_08020218: .4byte gUnknown_80D8888
+_0802021C:
+ ldr r2, [r5]
+ movs r0, 0xF
+ str r0, [r2, 0x8]
+ ldr r1, _0802023C
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x20
+ adds r0, r1
+ ldr r0, [r0]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r2, r4
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_0802023C: .4byte gUnknown_80D8888
+_08020240:
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_8023868
+ b _08020562
+_0802024E:
+ movs r0, 0x1
+ bl sub_8023B7C
+ b _08020562
+_08020256:
+ bl sub_8023DA4
+ ldr r0, _08020270
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0xCC
+ adds r1, r2, 0
+ adds r1, 0x7C
+ adds r3, r2, 0
+ adds r3, 0xBC
+ ldr r2, [r2, 0x70]
+ b _0802044C
+ .align 2, 0
+_08020270: .4byte gUnknown_203B27C
+_08020274:
+ ldr r0, [r5]
+ movs r5, 0xC
+ ldrsh r0, [r0, r5]
+ movs r1, 0x2
+ bl sub_8024458
+ b _08020562
+_08020282:
+ ldr r0, [r5]
+ movs r1, 0xC
+ ldrsh r0, [r0, r1]
+ bl sub_801BEEC
+ b _08020562
+_0802028E:
+ ldr r2, [r5]
+ movs r0, 0x15
+ str r0, [r2, 0x8]
+ ldr r1, _080202AC
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x24
+ adds r0, r1
+ ldr r0, [r0]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r2, r4
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080202AC: .4byte gUnknown_80D8888
+_080202B0:
+ ldr r0, [r5]
+ movs r5, 0xC
+ ldrsh r0, [r0, r5]
+ movs r1, 0
+ bl sub_801F428
+ b _08020562
+_080202BE:
+ movs r0, 0x1
+ bl sub_801F5F0
+ b _08020562
+_080202C6:
+ bl sub_801F700
+ ldr r0, _080202E0
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0xCC
+ adds r1, r2, 0
+ adds r1, 0x7C
+ adds r3, r2, 0
+ adds r3, 0xBC
+ ldr r2, [r2, 0x74]
+ b _0802044C
+ .align 2, 0
+_080202E0: .4byte gUnknown_203B27C
+_080202E4:
+ ldr r0, [r5]
+ ldrh r1, [r0, 0x1C]
+ adds r0, 0x64
+ strh r1, [r0]
+ movs r2, 0x1
+ adds r4, r5, 0
+ movs r3, 0
+_080202F2:
+ ldr r0, [r4]
+ lsls r1, r2, 1
+ adds r0, 0x64
+ adds r0, r1
+ strh r3, [r0]
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _080202F2
+ b _0802046E
+_08020304:
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldr r1, [r1, 0x10]
+ adds r1, 0x2C
+ bl sub_8094060
+ ldr r1, [r5]
+ movs r0, 0x10
+ str r0, [r1, 0x8]
+ ldr r0, _0802033C
+ ldrh r1, [r1, 0x1E]
+ bl sub_8092C84
+ ldr r1, _08020340
+ ldr r2, [r5]
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x28
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0xBE
+ lsls r1, 1
+ adds r2, r1
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_0802033C: .4byte gUnknown_202DF98
+_08020340: .4byte gUnknown_80D8888
+_08020344:
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldr r1, [r1, 0x10]
+ adds r1, 0x2C
+ bl sub_8094060
+ ldr r3, [r5]
+ movs r0, 0x10
+ str r0, [r3, 0x8]
+ ldrb r0, [r3, 0x14]
+ cmp r0, 0
+ beq _08020370
+ ldr r1, _0802036C
+ ldr r2, [r3]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x38
+ b _08020520
+ .align 2, 0
+_0802036C: .4byte gUnknown_80D8888
+_08020370:
+ ldr r1, _08020388
+ ldr r2, [r3]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x34
+ adds r0, r1
+ ldr r0, [r0]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r1, r3, r4
+ b _0802052A
+ .align 2, 0
+_08020388: .4byte gUnknown_80D8888
+_0802038C:
+ ldr r2, [r5]
+ ldr r0, [r2]
+ cmp r0, 0
+ bne _080203A2
+ movs r5, 0xC
+ ldrsh r1, [r2, r5]
+ adds r2, 0x24
+ movs r0, 0
+ bl sub_801E80C
+ b _08020562
+_080203A2:
+ movs r0, 0xC
+ ldrsh r1, [r2, r0]
+ adds r2, 0x24
+ movs r0, 0x1
+ bl sub_801E80C
+ b _08020562
+_080203B0:
+ ldr r2, [r5]
+ movs r0, 0x10
+ str r0, [r2, 0x8]
+ ldr r1, _080203D0
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x3C
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0xBE
+ lsls r1, 1
+ adds r2, r1
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080203D0: .4byte gUnknown_80D8888
+_080203D4:
+ ldr r2, [r5]
+ movs r0, 0x10
+ str r0, [r2, 0x8]
+ ldr r1, _080203F4
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x40
+ adds r0, r1
+ ldr r0, [r0]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r2, r4
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080203F4: .4byte gUnknown_80D8888
+_080203F8:
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldr r1, [r1, 0x10]
+ adds r1, 0x2C
+ bl sub_809401C
+ ldr r0, [r5]
+ movs r5, 0xC
+ ldrsh r1, [r0, r5]
+ adds r2, r0, 0
+ adds r2, 0x24
+ ldrb r3, [r0, 0x15]
+ ldr r0, _08020424
+ str r0, [sp]
+ movs r0, 0
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ bl sub_801EE10
+ b _08020562
+ .align 2, 0
+_08020424: .4byte gUnknown_80DC394
+_08020428:
+ ldr r0, [r5]
+ ldrb r1, [r0, 0x15]
+ movs r0, 0x1
+ bl sub_801F1B0
+ b _08020562
+_08020434:
+ movs r0, 0
+ bl sub_801F280
+ ldr r0, _0802045C
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0xCC
+ adds r1, r2, 0
+ adds r1, 0x7C
+ adds r3, r2, 0
+ adds r3, 0xBC
+ ldr r2, [r2, 0x78]
+_0802044C:
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _08020562
+ .align 2, 0
+_0802045C: .4byte gUnknown_203B27C
+_08020460:
+ ldr r2, [r5]
+ ldr r0, [r2, 0x18]
+ adds r1, r2, 0
+ adds r1, 0x24
+ adds r2, 0x64
+ bl sub_8093560
+_0802046E:
+ ldr r0, [r5]
+ adds r0, 0x64
+ bl sub_801F808
+ b _08020562
+_08020478:
+ bl sub_80208B0
+ ldr r0, _080204B8
+ ldr r4, _080204BC
+ ldr r1, [r4]
+ ldrh r1, [r1, 0x20]
+ bl sub_8092C84
+ ldr r4, [r4]
+ ldrb r5, [r4, 0x14]
+ cmp r5, 0
+ beq _080204C4
+ ldr r1, _080204C0
+ ldr r2, [r4]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x48
+ adds r0, r1
+ ldr r0, [r0]
+ adds r3, r4, 0
+ adds r3, 0x7C
+ adds r1, r4, 0
+ adds r1, 0xBC
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r2, 0xBE
+ lsls r2, 1
+ adds r1, r4, r2
+ b _080204E8
+ .align 2, 0
+_080204B8: .4byte gUnknown_202DFE8
+_080204BC: .4byte gUnknown_203B27C
+_080204C0: .4byte gUnknown_80D8888
+_080204C4:
+ ldr r1, _080204FC
+ ldr r2, [r4]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x44
+ adds r0, r1
+ ldr r0, [r0]
+ adds r3, r4, 0
+ adds r3, 0x7C
+ adds r1, r4, 0
+ adds r1, 0xBC
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r5, 0xBE
+ lsls r5, 1
+ adds r1, r4, r5
+_080204E8:
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x11
+ bl sub_8014248
+ b _08020562
+ .align 2, 0
+_080204FC: .4byte gUnknown_80D8888
+_08020500:
+ ldr r1, [r5]
+ movs r0, 0x1F
+ str r0, [r1, 0x8]
+ ldr r0, _08020538
+ ldrh r1, [r1, 0x20]
+ bl sub_8092C84
+ ldr r3, [r5]
+ ldrb r0, [r3, 0x14]
+ cmp r0, 0
+ beq _08020544
+ ldr r1, _0802053C
+ ldr r2, [r3]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x50
+_08020520:
+ adds r0, r1
+ ldr r0, [r0]
+ movs r2, 0xBE
+ lsls r2, 1
+ adds r1, r3, r2
+_0802052A:
+ ldr r2, [r1]
+_0802052C:
+ ldr r3, _08020540
+ movs r1, 0
+ bl sub_80141B4
+ b _08020562
+ .align 2, 0
+_08020538: .4byte gUnknown_202DFE8
+_0802053C: .4byte gUnknown_80D8888
+_08020540: .4byte 0x0000010d
+_08020544:
+ ldr r1, _0802056C
+ ldr r2, [r3]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x4C
+ adds r0, r1
+ ldr r0, [r0]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r1, r3, r4
+ ldr r2, [r1]
+ ldr r3, _08020570
+ movs r1, 0
+ bl sub_80141B4
+_08020562:
+ add sp, 0x14
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0802056C: .4byte gUnknown_80D8888
+_08020570: .4byte 0x0000010d
+ thumb_func_end sub_801FF28
+
+ thumb_func_start sub_8020574
+sub_8020574:
+ push {r4,lr}
+ ldr r4, _080205C0
+ ldr r0, [r4]
+ adds r0, 0xBC
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r4, [r4]
+ movs r3, 0
+ ldr r0, _080205C4
+ str r0, [r4, 0x7C]
+ adds r1, r4, 0
+ adds r1, 0x80
+ movs r0, 0x2
+ str r0, [r1]
+ movs r2, 0x1
+ adds r1, 0x4
+ ldr r0, _080205C8
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0xB
+ str r0, [r1]
+ adds r1, 0x4
+ ldr r0, _080205CC
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0x90
+ str r2, [r0]
+ adds r0, 0x4
+ str r3, [r0]
+ adds r0, 0x4
+ str r2, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080205C0: .4byte gUnknown_203B27C
+_080205C4: .4byte gUnknown_80DC3C4
+_080205C8: .4byte gUnknown_80DC3CC
+_080205CC: .4byte gUnknown_80D4934
+ thumb_func_end sub_8020574
+
+ thumb_func_start sub_80205D0
+sub_80205D0:
+ push {r4-r7,lr}
+ ldr r4, _08020660
+ ldr r0, [r4]
+ adds r0, 0xBC
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r0, [r4]
+ mov r12, r0
+ movs r5, 0
+ ldr r0, _08020664
+ mov r1, r12
+ str r0, [r1, 0x7C]
+ mov r2, r12
+ adds r2, 0x80
+ movs r0, 0x4
+ str r0, [r2]
+ movs r3, 0x1
+ adds r1, 0x84
+ ldr r0, _08020668
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0xB
+ str r0, [r1]
+ adds r1, 0x4
+ ldr r0, _0802066C
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0xC
+ str r0, [r1]
+ movs r6, 0x3
+ adds r1, 0x4
+ ldr r0, _08020670
+ str r0, [r1]
+ mov r0, r12
+ adds r0, 0x98
+ str r6, [r0]
+ movs r6, 0x4
+ adds r0, 0x4
+ str r5, [r0]
+ adds r0, 0x4
+ str r3, [r0]
+ mov r3, r12
+ adds r3, 0xBC
+_0802062A:
+ ldrh r0, [r3]
+ cmp r0, 0
+ bne _0802063A
+ ldr r1, [r2]
+ mov r7, r12
+ ldr r0, [r7, 0x70]
+ cmp r1, r0
+ beq _08020696
+_0802063A:
+ adds r2, 0x8
+ adds r3, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _0802062A
+ movs r5, 0
+ cmp r5, r6
+ bge _08020696
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xBC
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08020674
+ adds r0, r1, 0
+ adds r0, 0x80
+ ldr r0, [r0]
+ str r0, [r1, 0x70]
+ b _08020696
+ .align 2, 0
+_08020660: .4byte gUnknown_203B27C
+_08020664: .4byte gUnknown_80DC3D8
+_08020668: .4byte gUnknown_80DC3E0
+_0802066C: .4byte gUnknown_80DC3E8
+_08020670: .4byte gUnknown_80DC3F4
+_08020674:
+ adds r5, 0x1
+ cmp r5, r6
+ bge _08020696
+ ldr r2, [r4]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0xBC
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08020674
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x80
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x70]
+_08020696:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80205D0
+
+ thumb_func_start sub_802069C
+sub_802069C:
+ push {r4-r7,lr}
+ ldr r4, _08020718
+ ldr r0, [r4]
+ adds r0, 0xBC
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r0, [r4]
+ mov r12, r0
+ movs r5, 0
+ ldr r0, _0802071C
+ mov r1, r12
+ str r0, [r1, 0x7C]
+ mov r3, r12
+ adds r3, 0x80
+ movs r0, 0x3
+ str r0, [r3]
+ movs r2, 0x1
+ adds r1, 0x84
+ ldr r0, _08020720
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0xB
+ str r0, [r1]
+ movs r6, 0x2
+ mov r0, r12
+ adds r0, 0x8C
+ str r5, [r0]
+ adds r0, 0x4
+ str r2, [r0]
+ mov r2, r12
+ adds r2, 0xBC
+_080206E0:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _080206F0
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x74]
+ cmp r1, r0
+ beq _08020746
+_080206F0:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _080206E0
+ movs r5, 0
+ cmp r5, r6
+ bge _08020746
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xBC
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08020724
+ adds r0, r1, 0
+ adds r0, 0x80
+ ldr r0, [r0]
+ str r0, [r1, 0x74]
+ b _08020746
+ .align 2, 0
+_08020718: .4byte gUnknown_203B27C
+_0802071C: .4byte gUnknown_80DC3F4
+_08020720: .4byte gUnknown_80D4970
+_08020724:
+ adds r5, 0x1
+ cmp r5, r6
+ bge _08020746
+ ldr r2, [r4]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0xBC
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08020724
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x80
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x74]
+_08020746:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802069C
+
+ thumb_func_start sub_802074C
+sub_802074C:
+ push {r4-r7,lr}
+ movs r7, 0
+ ldr r4, _08020780
+ ldr r0, [r4]
+ adds r0, 0xBC
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x16]
+ cmp r0, 0
+ beq _0802079C
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_80932E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08020788
+ ldr r0, [r4]
+ ldr r1, _08020784
+ str r1, [r0, 0x7C]
+ adds r0, 0x80
+ movs r1, 0x6
+ b _08020792
+ .align 2, 0
+_08020780: .4byte gUnknown_203B27C
+_08020784: .4byte gUnknown_80DC400
+_08020788:
+ ldr r0, [r4]
+ ldr r1, _08020798
+ str r1, [r0, 0x7C]
+ adds r0, 0x80
+ movs r1, 0x5
+_08020792:
+ str r1, [r0]
+ mov r12, r4
+ b _080207CA
+ .align 2, 0
+_08020798: .4byte gUnknown_80DC40C
+_0802079C:
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_80932FC
+ lsls r0, 24
+ cmp r0, 0
+ beq _080207B4
+ ldr r1, [r4]
+ ldr r0, _080207B0
+ b _080207B8
+ .align 2, 0
+_080207B0: .4byte gUnknown_80DC400
+_080207B4:
+ ldr r1, [r4]
+ ldr r0, _0802086C
+_080207B8:
+ str r0, [r1, 0x7C]
+ ldr r2, _08020870
+ ldr r0, [r2]
+ lsls r1, r7, 3
+ adds r0, 0x80
+ adds r0, r1
+ movs r1, 0x7
+ str r1, [r0]
+ mov r12, r2
+_080207CA:
+ adds r7, 0x1
+ mov r0, r12
+ ldr r4, [r0]
+ lsls r1, r7, 3
+ adds r3, r4, 0
+ adds r3, 0x7C
+ adds r2, r3, r1
+ ldr r0, _08020874
+ str r0, [r2]
+ adds r6, r4, 0
+ adds r6, 0x80
+ adds r1, r6, r1
+ movs r0, 0x8
+ str r0, [r1]
+ adds r7, 0x1
+ lsls r1, r7, 3
+ adds r2, r3, r1
+ ldr r0, _08020878
+ str r0, [r2]
+ adds r1, r6, r1
+ movs r0, 0x9
+ str r0, [r1]
+ adds r7, 0x1
+ lsls r1, r7, 3
+ adds r2, r3, r1
+ ldr r0, _0802087C
+ str r0, [r2]
+ adds r1, r6, r1
+ movs r0, 0xA
+ str r0, [r1]
+ adds r7, 0x1
+ lsls r1, r7, 3
+ adds r2, r3, r1
+ ldr r0, _08020880
+ ldr r0, [r0]
+ str r0, [r2]
+ adds r1, r6, r1
+ movs r0, 0xB
+ str r0, [r1]
+ adds r7, 0x1
+ lsls r1, r7, 3
+ adds r3, r1
+ movs r0, 0
+ str r0, [r3]
+ adds r1, r6, r1
+ movs r0, 0x1
+ str r0, [r1]
+ movs r3, 0
+ cmp r3, r7
+ bge _0802084C
+ adds r5, r4, 0
+ adds r4, 0xBC
+ adds r2, r6, 0
+_08020834:
+ ldrh r0, [r4]
+ cmp r0, 0
+ bne _08020842
+ ldr r1, [r2]
+ ldr r0, [r5, 0x78]
+ cmp r1, r0
+ beq _080208A8
+_08020842:
+ adds r4, 0x2
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, r7
+ blt _08020834
+_0802084C:
+ movs r3, 0
+ cmp r3, r7
+ bge _080208A8
+ mov r0, r12
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0xBC
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08020884
+ adds r0, r1, 0
+ adds r0, 0x80
+ ldr r0, [r0]
+ str r0, [r1, 0x78]
+ b _080208A8
+ .align 2, 0
+_0802086C: .4byte gUnknown_80DC40C
+_08020870: .4byte gUnknown_203B27C
+_08020874: .4byte gUnknown_80DC410
+_08020878: .4byte gUnknown_80DC418
+_0802087C: .4byte gUnknown_80DC420
+_08020880: .4byte gUnknown_80D4970
+_08020884:
+ adds r3, 0x1
+ cmp r3, r7
+ bge _080208A8
+ mov r0, r12
+ ldr r2, [r0]
+ lsls r0, r3, 1
+ adds r1, r2, 0
+ adds r1, 0xBC
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08020884
+ lsls r0, r3, 3
+ adds r1, r2, 0
+ adds r1, 0x80
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x78]
+_080208A8:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802074C
+
+ thumb_func_start sub_80208B0
+sub_80208B0:
+ push {r4,lr}
+ ldr r4, _080208F4
+ ldr r0, [r4]
+ adds r0, 0xBC
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r4, [r4]
+ movs r3, 0
+ ldr r0, _080208F8
+ ldr r0, [r0]
+ str r0, [r4, 0x7C]
+ adds r1, r4, 0
+ adds r1, 0x80
+ movs r0, 0x10
+ str r0, [r1]
+ movs r2, 0x1
+ adds r1, 0x4
+ ldr r0, _080208FC
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x11
+ str r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0x8C
+ str r3, [r0]
+ adds r0, 0x4
+ str r2, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080208F4: .4byte gUnknown_203B27C
+_080208F8: .4byte gUnknown_80D4920
+_080208FC: .4byte gUnknown_80D4928
+ thumb_func_end sub_80208B0
+
+ thumb_func_start sub_8020900
+sub_8020900:
+ push {r4,lr}
+ ldr r4, _08020944
+ ldr r0, [r4]
+ adds r0, 0xBC
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _08020948
+ ldr r0, [r0]
+ str r0, [r3, 0x7C]
+ adds r1, r3, 0
+ adds r1, 0x80
+ movs r0, 0x10
+ str r0, [r1]
+ adds r1, 0x4
+ ldr r0, _0802094C
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x11
+ str r0, [r1]
+ adds r0, r3, 0
+ adds r0, 0x8C
+ str r2, [r0]
+ adds r1, 0x8
+ movs r0, 0x1
+ negs r0, r0
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08020944: .4byte gUnknown_203B27C
+_08020948: .4byte gUnknown_80D4920
+_0802094C: .4byte gUnknown_80D4928
+ thumb_func_end sub_8020900
+
+ thumb_func_start sub_8020950
+sub_8020950:
+ push {r4,lr}
+ ldr r4, _0802099C
+ ldr r0, [r4]
+ adds r0, 0xBC
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r4, [r4]
+ movs r3, 0
+ ldr r0, _080209A0
+ str r0, [r4, 0x7C]
+ adds r1, r4, 0
+ adds r1, 0x80
+ movs r0, 0xD
+ str r0, [r1]
+ movs r2, 0x1
+ adds r1, 0x4
+ ldr r0, _080209A4
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0xE
+ str r0, [r1]
+ adds r1, 0x4
+ ldr r0, _080209A8
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0xF
+ str r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0x94
+ str r3, [r0]
+ adds r0, 0x4
+ str r2, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0802099C: .4byte gUnknown_203B27C
+_080209A0: .4byte gUnknown_80DC428
+_080209A4: .4byte gUnknown_80DC438
+_080209A8: .4byte gUnknown_80DC448
+ thumb_func_end sub_8020950
+
+ thumb_func_start sub_80209AC
+sub_80209AC:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _080209F4
+ ldr r0, _080209D4
+ ldr r1, [r0]
+ ldr r0, [sp]
+ str r0, [r1, 0x6C]
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _080209DE
+ cmp r0, 0x2
+ bgt _080209D8
+ cmp r0, 0x1
+ beq _080209EE
+ b _080209F4
+ .align 2, 0
+_080209D4: .4byte gUnknown_203B27C
+_080209D8:
+ cmp r0, 0xB
+ beq _080209E6
+ b _080209F4
+_080209DE:
+ movs r0, 0xE
+ bl sub_801FDA8
+ b _080209F4
+_080209E6:
+ movs r0, 0x8
+ bl sub_801FDA8
+ b _080209F4
+_080209EE:
+ movs r0, 0xC
+ bl sub_801FDA8
+_080209F4:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80209AC
+
+ thumb_func_start sub_80209FC
+sub_80209FC:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08020A2E
+ ldr r0, [sp]
+ cmp r0, 0x10
+ beq _08020A20
+ cmp r0, 0x10
+ bgt _08020A1A
+ cmp r0, 0x1
+ beq _08020A28
+ b _08020A2E
+_08020A1A:
+ cmp r0, 0x11
+ beq _08020A28
+ b _08020A2E
+_08020A20:
+ movs r0, 0xE
+ bl sub_801FDA8
+ b _08020A2E
+_08020A28:
+ movs r0, 0xC
+ bl sub_801FDA8
+_08020A2E:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80209FC
+
+ thumb_func_start sub_8020A34
+sub_8020A34:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08020A7A
+ ldr r0, [sp]
+ cmp r0, 0xD
+ beq _08020A5C
+ cmp r0, 0xD
+ bgt _08020A52
+ cmp r0, 0x1
+ beq _08020A74
+ b _08020A7A
+_08020A52:
+ cmp r0, 0xE
+ beq _08020A64
+ cmp r0, 0xF
+ beq _08020A6C
+ b _08020A7A
+_08020A5C:
+ movs r0, 0x9
+ bl sub_801FDA8
+ b _08020A7A
+_08020A64:
+ movs r0, 0xA
+ bl sub_801FDA8
+ b _08020A7A
+_08020A6C:
+ movs r0, 0xB
+ bl sub_801FDA8
+ b _08020A7A
+_08020A74:
+ movs r0, 0x1
+ bl sub_801FDA8
+_08020A7A:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020A34
+
+ thumb_func_start sub_8020A80
+sub_8020A80:
+ push {r4,lr}
+ movs r0, 0x1
+ bl sub_8023A94
+ cmp r0, 0x4
+ bhi _08020B32
+ lsls r0, 2
+ ldr r1, _08020A98
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08020A98: .4byte _08020A9C
+ .align 2, 0
+_08020A9C:
+ .4byte _08020B32
+ .4byte _08020B32
+ .4byte _08020B28
+ .4byte _08020AB0
+ .4byte _08020AEC
+_08020AB0:
+ bl sub_8023B44
+ ldr r4, _08020AE0
+ ldr r1, [r4]
+ strh r0, [r1, 0xC]
+ ldr r3, _08020AE4
+ movs r0, 0xC
+ ldrsh r2, [r1, r0]
+ movs r0, 0x58
+ muls r2, r0
+ ldr r0, [r3]
+ adds r0, r2
+ str r0, [r1, 0x10]
+ ldrb r0, [r0, 0x2]
+ strb r0, [r1, 0x16]
+ ldr r0, _08020AE8
+ ldr r1, [r4]
+ ldr r1, [r1, 0x10]
+ bl sub_808DA34
+ movs r0, 0x11
+ bl sub_801FDA8
+ b _08020B32
+ .align 2, 0
+_08020AE0: .4byte gUnknown_203B27C
+_08020AE4: .4byte gUnknown_203B45C
+_08020AE8: .4byte gUnknown_202E128
+_08020AEC:
+ bl sub_8023B44
+ ldr r4, _08020B1C
+ ldr r1, [r4]
+ strh r0, [r1, 0xC]
+ ldr r3, _08020B20
+ movs r0, 0xC
+ ldrsh r2, [r1, r0]
+ movs r0, 0x58
+ muls r2, r0
+ ldr r0, [r3]
+ adds r0, r2
+ str r0, [r1, 0x10]
+ ldrb r0, [r0, 0x2]
+ strb r0, [r1, 0x16]
+ ldr r0, _08020B24
+ ldr r1, [r4]
+ ldr r1, [r1, 0x10]
+ bl sub_808DA34
+ movs r0, 0x12
+ bl sub_801FDA8
+ b _08020B32
+ .align 2, 0
+_08020B1C: .4byte gUnknown_203B27C
+_08020B20: .4byte gUnknown_203B45C
+_08020B24: .4byte gUnknown_202E128
+_08020B28:
+ bl sub_8023C60
+ movs r0, 0x7
+ bl sub_801FDA8
+_08020B32:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020A80
+
+ thumb_func_start sub_8020B38
+sub_8020B38:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_8023A94
+ ldr r4, _08020B7C
+ ldr r0, [r4]
+ adds r0, 0xCC
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08020B68
+ ldr r0, [r4]
+ adds r0, 0xCC
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08020B68
+ ldr r0, [r4]
+ str r1, [r0, 0x70]
+_08020B68:
+ ldr r0, [sp]
+ subs r0, 0x1
+ cmp r0, 0x10
+ bhi _08020C24
+ lsls r0, 2
+ ldr r1, _08020B80
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08020B7C: .4byte gUnknown_203B27C
+_08020B80: .4byte _08020B84
+ .align 2, 0
+_08020B84:
+ .4byte _08020BC8
+ .4byte _08020C24
+ .4byte _08020BD0
+ .4byte _08020C0E
+ .4byte _08020C24
+ .4byte _08020C24
+ .4byte _08020C24
+ .4byte _08020C24
+ .4byte _08020C24
+ .4byte _08020C24
+ .4byte _08020C16
+ .4byte _08020C1E
+ .4byte _08020C24
+ .4byte _08020C24
+ .4byte _08020C24
+ .4byte _08020C24
+ .4byte _08020BC8
+_08020BC8:
+ movs r0, 0x10
+ bl sub_801FDA8
+ b _08020C24
+_08020BD0:
+ ldr r0, _08020BF0
+ ldr r0, [r0]
+ ldr r0, [r0, 0x10]
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ bl sub_808E858
+ lsls r0, 16
+ movs r1, 0xCF
+ lsls r1, 17
+ cmp r0, r1
+ bne _08020BF4
+ movs r0, 0x1C
+ bl sub_801FDA8
+ b _08020C24
+ .align 2, 0
+_08020BF0: .4byte gUnknown_203B27C
+_08020BF4:
+ bl sub_8021178
+ lsls r0, 24
+ cmp r0, 0
+ beq _08020C06
+ movs r0, 0x1B
+ bl sub_801FDA8
+ b _08020C24
+_08020C06:
+ movs r0, 0x14
+ bl sub_801FDA8
+ b _08020C24
+_08020C0E:
+ movs r0, 0x1E
+ bl sub_801FDA8
+ b _08020C24
+_08020C16:
+ movs r0, 0x12
+ bl sub_801FDA8
+ b _08020C24
+_08020C1E:
+ movs r0, 0x13
+ bl sub_801FDA8
+_08020C24:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020B38
+
+ thumb_func_start sub_8020C2C
+sub_8020C2C:
+ push {lr}
+ bl sub_80244E4
+ cmp r0, 0x1
+ bls _08020C44
+ cmp r0, 0x3
+ bhi _08020C44
+ bl sub_802453C
+ movs r0, 0x10
+ bl sub_801FDA8
+_08020C44:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020C2C
+
+ thumb_func_start sub_8020C48
+sub_8020C48:
+ push {lr}
+ bl sub_801BF48
+ cmp r0, 0x1
+ bls _08020C60
+ cmp r0, 0x3
+ bhi _08020C60
+ bl sub_801BF98
+ movs r0, 0x10
+ bl sub_801FDA8
+_08020C60:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020C48
+
+ thumb_func_start sub_8020C64
+sub_8020C64:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801F520
+ cmp r0, 0x3
+ beq _08020C80
+ cmp r0, 0x3
+ bhi _08020C7A
+ cmp r0, 0x2
+ beq _08020CB0
+ b _08020CBA
+_08020C7A:
+ cmp r0, 0x4
+ beq _08020C98
+ b _08020CBA
+_08020C80:
+ bl sub_801F5B4
+ ldr r1, _08020C94
+ ldr r1, [r1]
+ strh r0, [r1, 0x1C]
+ strh r0, [r1, 0x1E]
+ movs r0, 0x17
+ bl sub_801FDA8
+ b _08020CBA
+ .align 2, 0
+_08020C94: .4byte gUnknown_203B27C
+_08020C98:
+ bl sub_801F5B4
+ ldr r1, _08020CAC
+ ldr r1, [r1]
+ strh r0, [r1, 0x1C]
+ strh r0, [r1, 0x1E]
+ movs r0, 0x18
+ bl sub_801FDA8
+ b _08020CBA
+ .align 2, 0
+_08020CAC: .4byte gUnknown_203B27C
+_08020CB0:
+ bl sub_801F63C
+ movs r0, 0x10
+ bl sub_801FDA8
+_08020CBA:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020C64
+
+ thumb_func_start sub_8020CC0
+sub_8020CC0:
+ push {r4-r6,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801F520
+ ldr r4, _08020D00
+ ldr r0, [r4]
+ adds r0, 0xCC
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08020CF0
+ ldr r0, [r4]
+ adds r0, 0xCC
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08020CF0
+ ldr r0, [r4]
+ str r1, [r0, 0x74]
+_08020CF0:
+ ldr r0, [sp]
+ cmp r0, 0x3
+ beq _08020D14
+ cmp r0, 0x3
+ bgt _08020D04
+ cmp r0, 0x1
+ beq _08020D0C
+ b _08020D6C
+ .align 2, 0
+_08020D00: .4byte gUnknown_203B27C
+_08020D04:
+ cmp r0, 0xB
+ beq _08020D66
+ cmp r0, 0x11
+ bne _08020D6C
+_08020D0C:
+ movs r0, 0x16
+ bl sub_801FDA8
+ b _08020D6C
+_08020D14:
+ bl sub_801F63C
+ ldr r4, _08020D30
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldr r1, [r1, 0x10]
+ adds r1, 0x2C
+ bl sub_809401C
+ movs r5, 0
+ adds r6, r4, 0
+ movs r4, 0x24
+ b _08020D38
+ .align 2, 0
+_08020D30: .4byte gUnknown_203B27C
+_08020D34:
+ adds r4, 0x8
+ adds r5, 0x1
+_08020D38:
+ cmp r5, 0x7
+ bgt _08020D52
+ ldr r3, [r6]
+ adds r2, r3, r4
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08020D34
+ ldrh r1, [r3, 0x1E]
+ adds r0, r2, 0
+ bl sub_8092AD4
+_08020D52:
+ cmp r5, 0x3
+ ble _08020D5E
+ movs r0, 0x1D
+ bl sub_801FDA8
+ b _08020D6C
+_08020D5E:
+ movs r0, 0x19
+ bl sub_801FDA8
+ b _08020D6C
+_08020D66:
+ movs r0, 0x18
+ bl sub_801FDA8
+_08020D6C:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020CC0
+
+ thumb_func_start sub_8020D74
+sub_8020D74:
+ push {lr}
+ bl sub_801F890
+ cmp r0, 0x1
+ bls _08020D8C
+ cmp r0, 0x3
+ bhi _08020D8C
+ bl sub_801F8D0
+ movs r0, 0x16
+ bl sub_801FDA8
+_08020D8C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020D74
+
+ thumb_func_start sub_8020D90
+sub_8020D90:
+ push {lr}
+ bl sub_801E8C0
+ cmp r0, 0x2
+ beq _08020DBC
+ cmp r0, 0x2
+ bcc _08020DC6
+ cmp r0, 0x3
+ bne _08020DC6
+ bl sub_801E930
+ ldr r1, _08020DB8
+ ldr r1, [r1]
+ strb r0, [r1, 0x14]
+ bl sub_801E93C
+ movs r0, 0x1A
+ bl sub_801FDA8
+ b _08020DC6
+ .align 2, 0
+_08020DB8: .4byte gUnknown_203B27C
+_08020DBC:
+ bl sub_801E93C
+ movs r0, 0x10
+ bl sub_801FDA8
+_08020DC6:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020D90
+
+ thumb_func_start sub_8020DCC
+sub_8020DCC:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801EF38
+ cmp r0, 0x4
+ bhi _08020EAA
+ lsls r0, 2
+ ldr r1, _08020DE4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08020DE4: .4byte _08020DE8
+ .align 2, 0
+_08020DE8:
+ .4byte _08020EAA
+ .4byte _08020E98
+ .4byte _08020E64
+ .4byte _08020DFC
+ .4byte _08020E30
+_08020DFC:
+ bl sub_801F1A4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08020E0E
+ ldr r0, _08020E2C
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0x15]
+_08020E0E:
+ bl sub_801F194
+ ldr r1, _08020E2C
+ ldr r2, [r1]
+ str r0, [r2, 0x18]
+ lsls r0, 3
+ adds r0, r2, r0
+ ldrh r1, [r0, 0x26]
+ strh r1, [r2, 0x1C]
+ ldrh r0, [r0, 0x26]
+ strh r0, [r2, 0x20]
+ movs r0, 0x20
+ bl sub_801FDA8
+ b _08020EAA
+ .align 2, 0
+_08020E2C: .4byte gUnknown_203B27C
+_08020E30:
+ bl sub_801F1A4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08020E42
+ ldr r0, _08020E60
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0x15]
+_08020E42:
+ bl sub_801F194
+ ldr r1, _08020E60
+ ldr r2, [r1]
+ str r0, [r2, 0x18]
+ lsls r0, 3
+ adds r0, r2, r0
+ ldrh r1, [r0, 0x26]
+ strh r1, [r2, 0x1C]
+ ldrh r0, [r0, 0x26]
+ strh r0, [r2, 0x20]
+ movs r0, 0x21
+ bl sub_801FDA8
+ b _08020EAA
+ .align 2, 0
+_08020E60: .4byte gUnknown_203B27C
+_08020E64:
+ bl sub_801F1A4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08020E76
+ ldr r0, _08020E94
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0x15]
+_08020E76:
+ bl sub_801F214
+ ldr r0, _08020E94
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldr r1, [r1, 0x10]
+ adds r1, 0x2C
+ bl sub_8094060
+ movs r0, 0x10
+ bl sub_801FDA8
+ b _08020EAA
+ .align 2, 0
+_08020E94: .4byte gUnknown_203B27C
+_08020E98:
+ bl sub_801F1A4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08020EAA
+ ldr r0, _08020EB0
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0x15]
+_08020EAA:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08020EB0: .4byte gUnknown_203B27C
+ thumb_func_end sub_8020DCC
+
+ thumb_func_start sub_8020EB4
+sub_8020EB4:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801EF38
+ ldr r4, _08020EF8
+ ldr r0, [r4]
+ adds r0, 0xCC
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08020EE4
+ ldr r0, [r4]
+ adds r0, 0xCC
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08020EE4
+ ldr r0, [r4]
+ str r1, [r0, 0x78]
+_08020EE4:
+ ldr r0, [sp]
+ subs r0, 0x1
+ cmp r0, 0x10
+ bls _08020EEE
+ b _080210BE
+_08020EEE:
+ lsls r0, 2
+ ldr r1, _08020EFC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08020EF8: .4byte gUnknown_203B27C
+_08020EFC: .4byte _08020F00
+ .align 2, 0
+_08020F00:
+ .4byte _08021068
+ .4byte _080210BE
+ .4byte _080210BE
+ .4byte _080210BE
+ .4byte _08020F44
+ .4byte _08020F70
+ .4byte _08020F8C
+ .4byte _08020FB8
+ .4byte _08021034
+ .4byte _08021074
+ .4byte _080210B8
+ .4byte _080210BE
+ .4byte _080210BE
+ .4byte _080210BE
+ .4byte _080210BE
+ .4byte _080210BE
+ .4byte _08021068
+_08020F44:
+ ldr r0, _08020F60
+ ldr r1, [r0]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_80934DC
+ lsls r0, 24
+ cmp r0, 0
+ beq _08020F68
+ ldr r0, _08020F64
+ bl sub_8011988
+ b _08021068
+ .align 2, 0
+_08020F60: .4byte gUnknown_203B27C
+_08020F64: .4byte 0x00000133
+_08020F68:
+ movs r0, 0x2
+ bl sub_80119D4
+ b _08021068
+_08020F70:
+ ldr r0, _08020F84
+ bl sub_8011988
+ ldr r0, _08020F88
+ ldr r1, [r0]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_809352C
+ b _08021068
+ .align 2, 0
+_08020F84: .4byte 0x00000133
+_08020F88: .4byte gUnknown_203B27C
+_08020F8C:
+ ldr r0, _08020FA8
+ ldr r1, [r0]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_8093544
+ lsls r0, 24
+ cmp r0, 0
+ beq _08020FB0
+ ldr r0, _08020FAC
+ bl sub_8011988
+ b _08021068
+ .align 2, 0
+_08020FA8: .4byte gUnknown_203B27C
+_08020FAC: .4byte 0x00000133
+_08020FB0:
+ movs r0, 0x2
+ bl sub_80119D4
+ b _08021068
+_08020FB8:
+ ldr r0, _08020FD8
+ ldr r0, [r0]
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x95
+ bgt _08020FDC
+ movs r0, 0x2
+ bl sub_80119D4
+ movs r0, 0x3
+ bl sub_801FDA8
+ b _080210BE
+ .align 2, 0
+_08020FD8: .4byte gUnknown_203B460
+_08020FDC:
+ ldr r4, _08020FFC
+ ldr r1, [r4]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_8093318
+ lsls r0, 24
+ cmp r0, 0
+ bne _08021000
+ movs r0, 0x2
+ bl sub_80119D4
+ movs r0, 0x4
+ bl sub_801FDA8
+ b _080210BE
+ .align 2, 0
+_08020FFC: .4byte gUnknown_203B27C
+_08021000:
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x15]
+ cmp r0, 0
+ bne _08021016
+ movs r0, 0x1
+ strb r0, [r1, 0x15]
+ movs r0, 0xA6
+ lsls r0, 1
+ bl sub_8011988
+ b _0802101C
+_08021016:
+ ldr r0, _0802102C
+ bl sub_8011988
+_0802101C:
+ ldr r0, _08021030
+ ldr r1, [r0]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_8093400
+ b _08021068
+ .align 2, 0
+_0802102C: .4byte 0x00000133
+_08021030: .4byte gUnknown_203B27C
+_08021034:
+ ldr r4, _08021054
+ ldr r1, [r4]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_809333C
+ lsls r0, 24
+ cmp r0, 0
+ bne _08021058
+ movs r0, 0x2
+ bl sub_80119D4
+ movs r0, 0x5
+ bl sub_801FDA8
+ b _080210BE
+ .align 2, 0
+_08021054: .4byte gUnknown_203B27C
+_08021058:
+ ldr r0, _08021070
+ bl sub_8011988
+ ldr r1, [r4]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_8093468
+_08021068:
+ movs r0, 0x1F
+ bl sub_801FDA8
+ b _080210BE
+ .align 2, 0
+_08021070: .4byte 0x00000133
+_08021074:
+ ldr r4, _08021094
+ ldr r1, [r4]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_80933A0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08021098
+ movs r0, 0x2
+ bl sub_80119D4
+ movs r0, 0x6
+ bl sub_801FDA8
+ b _080210BE
+ .align 2, 0
+_08021094: .4byte gUnknown_203B27C
+_08021098:
+ ldr r0, _080210B4
+ bl sub_8011988
+ ldr r1, [r4]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_80934B0
+ ldr r1, [r4]
+ strb r0, [r1, 0x14]
+ movs r0, 0x22
+ bl sub_801FDA8
+ b _080210BE
+ .align 2, 0
+_080210B4: .4byte 0x00000133
+_080210B8:
+ movs r0, 0x21
+ bl sub_801FDA8
+_080210BE:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020EB4
+
+ thumb_func_start sub_80210C8
+sub_80210C8:
+ push {lr}
+ bl sub_801F890
+ cmp r0, 0x1
+ bls _080210E0
+ cmp r0, 0x3
+ bhi _080210E0
+ bl sub_801F8D0
+ movs r0, 0x1F
+ bl sub_801FDA8
+_080210E0:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80210C8
+
+ thumb_func_start sub_80210E4
+sub_80210E4:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0802112A
+ ldr r0, [sp]
+ cmp r0, 0x10
+ beq _08021108
+ cmp r0, 0x10
+ bgt _08021102
+ cmp r0, 0x1
+ beq _08021124
+ b _0802112A
+_08021102:
+ cmp r0, 0x11
+ beq _08021124
+ b _0802112A
+_08021108:
+ ldr r0, _08021120
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldr r1, [r1, 0x18]
+ bl sub_8093CF8
+ movs r0, 0x23
+ bl sub_801FDA8
+ b _0802112A
+ .align 2, 0
+_08021120: .4byte gUnknown_203B27C
+_08021124:
+ movs r0, 0x1F
+ bl sub_801FDA8
+_0802112A:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80210E4
+
+ thumb_func_start sub_8021130
+sub_8021130:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08021148
+ ldr r0, _08021150
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ bl sub_801FDA8
+_08021148:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021150: .4byte gUnknown_203B27C
+ thumb_func_end sub_8021130
+
+ thumb_func_start sub_8021154
+sub_8021154:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0x4
+ bne _0802116C
+ ldr r0, _08021174
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ bl sub_801FDA8
+_0802116C:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021174: .4byte gUnknown_203B27C
+ thumb_func_end sub_8021154
+
+ thumb_func_start sub_8021178
+sub_8021178:
+ push {lr}
+ mov r12, r4
+ ldr r4, _08021198
+ add sp, r4
+ mov r4, r12
+ ldr r0, _0802119C
+ ldr r0, [r0]
+ ldr r1, [r0, 0x10]
+ mov r0, sp
+ bl sub_808E218
+ cmp r0, 0
+ beq _080211A0
+ movs r0, 0
+ b _080211A2
+ .align 2, 0
+_08021198: .4byte 0xfffffcc0
+_0802119C: .4byte gUnknown_203B27C
+_080211A0:
+ movs r0, 0x1
+_080211A2:
+ movs r3, 0xD0
+ lsls r3, 2
+ add sp, r3
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8021178
+
+ thumb_func_start sub_80211AC
+sub_80211AC:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ adds r6, r1, 0
+ bl sub_8021700
+ lsls r0, 24
+ cmp r0, 0
+ beq _080211C0
+ movs r0, 0
+ b _08021258
+_080211C0:
+ ldr r5, _08021260
+ movs r0, 0xE0
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ str r4, [r0, 0x3C]
+ str r6, [r0, 0x74]
+ lsls r1, r6, 1
+ adds r1, r6
+ lsls r1, 3
+ adds r1, 0x7C
+ adds r1, r0, r1
+ str r1, [r0, 0x78]
+ adds r0, 0x7C
+ bl sub_8006518
+ ldr r1, [r5]
+ ldr r2, [r1, 0x74]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x7C
+ ldr r0, _08021264
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r0, [r5]
+ ldr r1, [r0, 0x78]
+ adds r0, 0xDC
+ str r0, [r1, 0x14]
+ bl sub_8004914
+ ldr r0, [r5]
+ adds r0, 0x7C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, [r5]
+ adds r4, 0x40
+ bl sub_8021664
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0xA
+ adds r3, r6, 0
+ bl sub_8013818
+ ldr r0, _08021268
+ ldr r2, [r5]
+ ldr r1, [r0]
+ ldr r0, [r2, 0x3C]
+ cmp r1, r0
+ bne _0802124E
+ ldr r0, _0802126C
+ ldrh r1, [r0]
+ adds r0, r2, 0
+ adds r0, 0x58
+ strh r1, [r0]
+ ldr r0, _08021270
+ ldrh r0, [r0]
+ adds r1, r2, 0
+ adds r1, 0x5E
+ strh r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0x40
+ bl sub_8013984
+_0802124E:
+ bl sub_8021410
+ bl sub_8021494
+ movs r0, 0x1
+_08021258:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08021260: .4byte gUnknown_203B280
+_08021264: .4byte gUnknown_80DC47C
+_08021268: .4byte gUnknown_203B284
+_0802126C: .4byte gUnknown_203B288
+_08021270: .4byte gUnknown_203B28A
+ thumb_func_end sub_80211AC
+
+ thumb_func_start sub_8021274
+sub_8021274:
+ push {r4,lr}
+ lsls r0, 24
+ cmp r0, 0
+ bne _08021290
+ ldr r0, _0802128C
+ ldr r0, [r0]
+ adds r0, 0x40
+ bl sub_8013660
+ movs r0, 0
+ b _08021326
+ .align 2, 0
+_0802128C: .4byte gUnknown_203B280
+_08021290:
+ ldr r4, _080212A8
+ ldr r0, [r4]
+ adds r0, 0x40
+ bl GetKeyPress
+ cmp r0, 0x2
+ beq _080212B2
+ cmp r0, 0x2
+ bgt _080212AC
+ cmp r0, 0x1
+ beq _080212BC
+ b _08021300
+ .align 2, 0
+_080212A8: .4byte gUnknown_203B280
+_080212AC:
+ cmp r0, 0x4
+ beq _080212F6
+ b _08021300
+_080212B2:
+ movs r0, 0x1
+ bl sub_80119D4
+ movs r0, 0x2
+ b _08021326
+_080212BC:
+ ldr r0, [r4]
+ ldr r0, [r0, 0x3C]
+ cmp r0, 0x2
+ bne _080212EC
+ bl sub_802132C
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8092544
+ ldr r1, _080212E8
+ ldr r1, [r1]
+ movs r2, 0x98
+ lsls r2, 2
+ adds r1, r2
+ ldr r1, [r1]
+ cmp r0, r1
+ ble _080212EC
+ movs r0, 0x2
+ bl sub_80119D4
+ b _080212F2
+ .align 2, 0
+_080212E8: .4byte gUnknown_203B460
+_080212EC:
+ movs r0, 0
+ bl sub_80119D4
+_080212F2:
+ movs r0, 0x3
+ b _08021326
+_080212F6:
+ movs r0, 0x4
+ bl sub_80119D4
+ movs r0, 0x4
+ b _08021326
+_08021300:
+ ldr r0, _08021318
+ ldr r0, [r0]
+ adds r0, 0x40
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802131C
+ movs r0, 0
+ b _08021326
+ .align 2, 0
+_08021318: .4byte gUnknown_203B280
+_0802131C:
+ bl sub_8021410
+ bl sub_8021494
+ movs r0, 0x1
+_08021326:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8021274
+
+ thumb_func_start sub_802132C
+sub_802132C:
+ ldr r0, _08021350
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x5E
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ subs r0, 0x2
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ muls r0, r1
+ adds r1, r2, 0
+ adds r1, 0x58
+ movs r3, 0
+ ldrsh r1, [r1, r3]
+ adds r0, r1
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ bx lr
+ .align 2, 0
+_08021350: .4byte gUnknown_203B280
+ thumb_func_end sub_802132C
+
+ thumb_func_start sub_8021354
+sub_8021354:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_8004914
+ ldr r5, _0802139C
+ ldr r0, [r5]
+ adds r0, 0x7C
+ movs r1, 0
+ movs r2, 0
+ bl sub_800641C
+ bl sub_8021664
+ adds r1, r0, 0
+ ldr r0, [r5]
+ adds r2, r0, 0
+ adds r2, 0x62
+ strh r1, [r2]
+ adds r0, 0x40
+ bl sub_8013984
+ bl sub_8021410
+ bl sub_8021494
+ cmp r4, 0
+ beq _08021396
+ ldr r0, [r5]
+ adds r0, 0x40
+ bl AddMenuCursorSprite
+_08021396:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0802139C: .4byte gUnknown_203B280
+ thumb_func_end sub_8021354
+
+ thumb_func_start sub_80213A0
+sub_80213A0:
+ push {r4,r5,lr}
+ ldr r4, _080213FC
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _080213F4
+ ldr r1, _08021400
+ ldr r0, [r2, 0x3C]
+ str r0, [r1]
+ ldr r1, _08021404
+ adds r0, r2, 0
+ adds r0, 0x58
+ ldrh r0, [r0]
+ strh r0, [r1]
+ ldr r1, _08021408
+ adds r0, r2, 0
+ adds r0, 0x5E
+ ldrh r0, [r0]
+ strh r0, [r1]
+ ldr r0, [r2, 0x74]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x7C
+ ldr r0, _0802140C
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x7C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_080213F4:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080213FC: .4byte gUnknown_203B280
+_08021400: .4byte gUnknown_203B284
+_08021404: .4byte gUnknown_203B288
+_08021408: .4byte gUnknown_203B28A
+_0802140C: .4byte gUnknown_80DC464
+ thumb_func_end sub_80213A0
+
+ thumb_func_start sub_8021410
+sub_8021410:
+ push {r4,lr}
+ ldr r4, _08021490
+ ldr r0, [r4]
+ adds r0, 0xDC
+ movs r2, 0
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xDD
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r0, 0xDE
+ movs r1, 0xC
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xDF
+ strb r2, [r0]
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x7C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ adds r0, 0x5A
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ lsls r0, 16
+ ldr r2, [r4]
+ ldr r3, [r2, 0x74]
+ lsls r1, r3, 1
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x8A
+ asrs r3, r0, 16
+ lsrs r0, 16
+ strh r0, [r1]
+ ldr r1, [r2, 0x74]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r2, r0
+ adds r3, 0x2
+ adds r2, 0x8C
+ strh r3, [r2]
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x7C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021490: .4byte gUnknown_203B280
+ thumb_func_end sub_8021410
+
+ thumb_func_start sub_8021494
+sub_8021494:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xA8
+ ldr r4, _08021568
+ ldr r0, [r4]
+ ldr r0, [r0, 0x74]
+ bl sub_8008C54
+ ldr r0, [r4]
+ ldr r0, [r0, 0x74]
+ bl sub_80073B8
+ ldr r2, _0802156C
+ ldr r0, [r4]
+ ldr r3, [r0, 0x74]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r3, [r4]
+ adds r0, r3, 0
+ adds r0, 0xDE
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r0, 0x4
+ adds r1, r3, 0
+ adds r1, 0x5E
+ movs r5, 0
+ ldrsh r2, [r1, r5]
+ adds r2, 0x1
+ movs r1, 0x7
+ str r1, [sp]
+ ldr r1, [r3, 0x74]
+ str r1, [sp, 0x4]
+ movs r1, 0
+ movs r3, 0x1
+ bl sub_8012BC4
+ movs r0, 0
+ mov r9, r0
+ ldr r0, [r4]
+ adds r0, 0x5A
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r9, r0
+ blt _080214FC
+ b _08021646
+_080214FC:
+ mov r8, r4
+ add r2, sp, 0x58
+ mov r10, r2
+_08021502:
+ mov r3, r8
+ ldr r2, [r3]
+ adds r0, r2, 0
+ adds r0, 0x5E
+ movs r5, 0
+ ldrsh r1, [r0, r5]
+ subs r0, 0x2
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ muls r0, r1
+ add r0, r9
+ adds r0, r2, r0
+ ldrb r5, [r0]
+ adds r7, r5, 0
+ ldr r6, [r2, 0x3C]
+ cmp r6, 0x2
+ bne _0802159C
+ add r0, sp, 0x8
+ adds r1, r5, 0
+ movs r2, 0x1
+ bl sub_8092578
+ adds r0, r5, 0
+ bl sub_8092544
+ ldr r1, _08021570
+ ldr r1, [r1]
+ movs r5, 0x98
+ lsls r5, 2
+ adds r1, r5
+ ldr r1, [r1]
+ cmp r0, r1
+ bgt _08021574
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, 0x40
+ mov r1, r9
+ bl sub_8013800
+ adds r1, r0, 0
+ mov r2, r8
+ ldr r0, [r2]
+ ldr r3, [r0, 0x74]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ add r2, sp, 0x8
+ bl xxx_call_draw_string
+ b _08021632
+ .align 2, 0
+_08021568: .4byte gUnknown_203B280
+_0802156C: .4byte gUnknown_80DC494
+_08021570: .4byte gUnknown_203B460
+_08021574:
+ mov r0, r10
+ ldr r1, _08021598
+ add r2, sp, 0x8
+ bl sub_800D158
+ mov r3, r8
+ ldr r0, [r3]
+ adds r0, 0x40
+ mov r1, r9
+ bl sub_8013800
+ adds r1, r0, 0
+ mov r5, r8
+ ldr r0, [r5]
+ ldr r3, [r0, 0x74]
+ movs r0, 0
+ str r0, [sp]
+ b _080215FE
+ .align 2, 0
+_08021598: .4byte gUnknown_80DC4A4
+_0802159C:
+ cmp r6, 0
+ bne _0802160C
+ ldr r0, _080215D4
+ ldr r0, [r0]
+ adds r0, r5
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080215D8
+ adds r0, r2, 0
+ adds r0, 0x40
+ mov r1, r9
+ bl sub_8013800
+ adds r4, r0, 0
+ adds r0, r5, 0
+ bl sub_8092524
+ adds r2, r0, 0
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r3, [r0, 0x74]
+ str r6, [sp]
+ movs r0, 0x8
+ adds r1, r4, 0
+ bl xxx_call_draw_string
+ b _08021632
+ .align 2, 0
+_080215D4: .4byte gUnknown_203B468
+_080215D8:
+ adds r0, r5, 0
+ bl sub_8092524
+ adds r2, r0, 0
+ mov r0, r10
+ ldr r1, _08021608
+ bl sub_800D158
+ mov r2, r8
+ ldr r0, [r2]
+ adds r0, 0x40
+ mov r1, r9
+ bl sub_8013800
+ adds r1, r0, 0
+ mov r3, r8
+ ldr r0, [r3]
+ ldr r3, [r0, 0x74]
+ str r6, [sp]
+_080215FE:
+ movs r0, 0x8
+ mov r2, r10
+ bl xxx_call_draw_string
+ b _08021632
+ .align 2, 0
+_08021608: .4byte gUnknown_80DC4AC
+_0802160C:
+ adds r0, r2, 0
+ adds r0, 0x40
+ mov r1, r9
+ bl sub_8013800
+ adds r4, r0, 0
+ adds r0, r7, 0
+ bl sub_8092524
+ adds r2, r0, 0
+ mov r5, r8
+ ldr r0, [r5]
+ ldr r3, [r0, 0x74]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ adds r1, r4, 0
+ bl xxx_call_draw_string
+_08021632:
+ movs r0, 0x1
+ add r9, r0
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, 0x5A
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r9, r0
+ bge _08021646
+ b _08021502
+_08021646:
+ ldr r0, _08021660
+ ldr r0, [r0]
+ ldr r0, [r0, 0x74]
+ bl sub_80073E0
+ add sp, 0xA8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021660: .4byte gUnknown_203B280
+ thumb_func_end sub_8021494
+
+ thumb_func_start sub_8021664
+sub_8021664:
+ push {r4-r6,lr}
+ movs r5, 0
+ ldr r1, _0802167C
+ ldr r0, [r1]
+ ldr r0, [r0, 0x3C]
+ cmp r0, 0x1
+ beq _08021692
+ cmp r0, 0x1
+ bcc _08021680
+ cmp r0, 0x2
+ beq _080216B4
+ b _080216F2
+ .align 2, 0
+_0802167C: .4byte gUnknown_203B280
+_08021680:
+ movs r4, 0x1
+_08021682:
+ ldr r0, [r1]
+ adds r0, r5
+ strb r4, [r0]
+ adds r5, 0x1
+ adds r4, 0x1
+ cmp r4, 0x39
+ ble _08021682
+ b _080216F2
+_08021692:
+ movs r4, 0x1
+ ldr r2, _080216B0
+_08021696:
+ ldr r0, [r2]
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080216A8
+ ldr r0, [r1]
+ adds r0, r5
+ strb r4, [r0]
+ adds r5, 0x1
+_080216A8:
+ adds r4, 0x1
+ cmp r4, 0x39
+ ble _08021696
+ b _080216F2
+ .align 2, 0
+_080216B0: .4byte gUnknown_203B468
+_080216B4:
+ movs r4, 0x1
+ adds r6, r1, 0
+_080216B8:
+ ldr r0, _080216FC
+ ldr r0, [r0]
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080216EC
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8092534
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ beq _080216E4
+ cmp r0, 0x1
+ bne _080216EC
+ movs r0, 0x6
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _080216EC
+_080216E4:
+ ldr r0, [r6]
+ adds r0, r5
+ strb r4, [r0]
+ adds r5, 0x1
+_080216EC:
+ adds r4, 0x1
+ cmp r4, 0x39
+ ble _080216B8
+_080216F2:
+ adds r0, r5, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080216FC: .4byte gUnknown_203B468
+ thumb_func_end sub_8021664
+
+ thumb_func_start sub_8021700
+sub_8021700:
+ push {r4,lr}
+ cmp r0, 0x1
+ beq _08021710
+ cmp r0, 0x1
+ bcc _08021754
+ cmp r0, 0x2
+ beq _0802172C
+ b _0802176A
+_08021710:
+ movs r4, 0x1
+ ldr r0, _08021728
+ ldr r1, [r0]
+_08021716:
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08021754
+ adds r4, 0x1
+ cmp r4, 0x39
+ ble _08021716
+ b _0802176A
+ .align 2, 0
+_08021728: .4byte gUnknown_203B468
+_0802172C:
+ movs r4, 0x1
+_0802172E:
+ ldr r0, _08021750
+ ldr r0, [r0]
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08021764
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8092534
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ beq _08021754
+ cmp r0, 0x1
+ beq _08021758
+ b _08021764
+ .align 2, 0
+_08021750: .4byte gUnknown_203B468
+_08021754:
+ movs r0, 0
+ b _0802176C
+_08021758:
+ movs r0, 0x6
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ bne _08021754
+_08021764:
+ adds r4, 0x1
+ cmp r4, 0x39
+ ble _0802172E
+_0802176A:
+ movs r0, 0x1
+_0802176C:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8021700
+
+ thumb_func_start sub_8021774
+sub_8021774:
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ mov r8, r2
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r6, _080217E4
+ movs r0, 0xE0
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r6]
+ strb r4, [r0, 0xC]
+ ldr r0, [r6]
+ strb r5, [r0, 0xD]
+ ldr r0, [r6]
+ bl sub_801317C
+ bl sub_8021A60
+ ldr r0, [r6]
+ mov r1, r8
+ str r1, [r0, 0x74]
+ lsls r1, 1
+ add r1, r8
+ lsls r1, 3
+ adds r1, 0x7C
+ adds r1, r0, r1
+ str r1, [r0, 0x78]
+ adds r0, 0x7C
+ bl sub_8006518
+ ldr r1, [r6]
+ ldr r2, [r1, 0x74]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x7C
+ ldr r0, _080217E8
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ bl sub_8021820
+ movs r0, 0x1
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080217E4: .4byte gUnknown_203B28C
+_080217E8: .4byte gUnknown_80DC4D8
+ thumb_func_end sub_8021774
+
+ thumb_func_start sub_80217EC
+sub_80217EC:
+ push {lr}
+ ldr r0, _0802180C
+ ldr r0, [r0]
+ ldr r1, [r0, 0x74]
+ bl sub_8012A64
+ cmp r0, 0x1
+ beq _08021810
+ cmp r0, 0x2
+ bne _0802181A
+ movs r0, 0x1
+ bl sub_80119D4
+ movs r0, 0x2
+ b _0802181C
+ .align 2, 0
+_0802180C: .4byte gUnknown_203B28C
+_08021810:
+ movs r0, 0
+ bl sub_80119D4
+ movs r0, 0x3
+ b _0802181C
+_0802181A:
+ movs r0, 0
+_0802181C:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80217EC
+
+ thumb_func_start sub_8021820
+sub_8021820:
+ push {lr}
+ bl sub_8021878
+ bl sub_8021894
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8021820
+
+ thumb_func_start sub_8021830
+sub_8021830:
+ push {r4,r5,lr}
+ ldr r4, _08021870
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0802186A
+ ldr r0, [r2, 0x74]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x7C
+ ldr r0, _08021874
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0x7C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0802186A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021870: .4byte gUnknown_203B28C
+_08021874: .4byte gUnknown_80DC4BC
+ thumb_func_end sub_8021830
+
+ thumb_func_start sub_8021878
+sub_8021878:
+ push {lr}
+ bl sub_8004914
+ ldr r0, _08021890
+ ldr r0, [r0]
+ adds r0, 0x7C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021890: .4byte gUnknown_203B28C
+ thumb_func_end sub_8021878
+
+ thumb_func_start sub_8021894
+sub_8021894:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x168
+ ldr r4, _080218F8
+ ldr r0, [r4]
+ ldr r0, [r0, 0x74]
+ bl sub_80073B8
+ ldr r0, [r4]
+ ldrb r1, [r0, 0xC]
+ add r0, sp, 0x4
+ movs r2, 0
+ bl sub_8092578
+ ldr r0, [r4]
+ ldr r3, [r0, 0x74]
+ movs r5, 0
+ str r5, [sp]
+ movs r0, 0x14
+ movs r1, 0
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ ldr r0, [r4]
+ ldrb r0, [r0, 0xC]
+ bl sub_80925DC
+ adds r2, r0, 0
+ ldr r0, [r4]
+ ldr r3, [r0, 0x74]
+ str r5, [sp]
+ movs r0, 0xA
+ movs r1, 0x14
+ bl xxx_call_draw_string
+ ldr r4, [r4]
+ ldrb r0, [r4, 0xD]
+ cmp r0, 0
+ beq _08021900
+ ldr r2, _080218FC
+ ldr r3, [r4, 0x74]
+ str r5, [sp]
+ movs r0, 0x20
+ movs r1, 0x3C
+ bl xxx_call_draw_string
+ b _0802190E
+ .align 2, 0
+_080218F8: .4byte gUnknown_203B28C
+_080218FC: .4byte gUnknown_80DC4F0
+_08021900:
+ ldr r2, _0802193C
+ ldr r3, [r4, 0x74]
+ str r0, [sp]
+ movs r0, 0x20
+ movs r1, 0x3C
+ bl xxx_call_draw_string
+_0802190E:
+ ldr r4, _08021940
+ ldr r0, [r4]
+ ldr r0, [r0, 0x74]
+ movs r5, 0x4
+ str r5, [sp]
+ movs r1, 0x4
+ movs r2, 0x40
+ movs r3, 0x14
+ bl sub_800792C
+ ldr r4, [r4]
+ ldrb r0, [r4, 0xD]
+ cmp r0, 0
+ beq _08021944
+ ldr r0, [r4, 0x74]
+ str r5, [sp]
+ movs r1, 0xB8
+ movs r2, 0x40
+ movs r3, 0x14
+ bl sub_800792C
+ b _08021952
+ .align 2, 0
+_0802193C: .4byte gUnknown_80DC518
+_08021940: .4byte gUnknown_203B28C
+_08021944:
+ ldr r0, [r4, 0x74]
+ str r5, [sp]
+ movs r1, 0x5E
+ movs r2, 0x40
+ movs r3, 0x6E
+ bl sub_800792C
+_08021952:
+ ldr r5, _080219E8
+ ldr r0, [r5]
+ ldr r0, [r0, 0x74]
+ movs r4, 0x4
+ str r4, [sp]
+ movs r1, 0x4
+ movs r2, 0x82
+ movs r3, 0xC8
+ bl sub_800792C
+ ldr r0, [r5]
+ ldr r0, [r0, 0x74]
+ str r4, [sp]
+ movs r1, 0x3
+ movs r2, 0x40
+ movs r3, 0x43
+ bl sub_8007A78
+ ldr r0, [r5]
+ ldr r0, [r0, 0x74]
+ str r4, [sp]
+ movs r1, 0xCC
+ movs r2, 0x40
+ movs r3, 0x43
+ bl sub_8007A78
+ movs r6, 0
+ ldr r0, [r5]
+ ldr r0, [r0, 0x70]
+ cmp r6, r0
+ bge _08021A40
+ add r7, sp, 0x104
+ mov r8, r5
+ mov r9, r6
+_08021996:
+ adds r0, r6, 0
+ movs r1, 0x3
+ bl __modsi3
+ lsls r1, r0, 6
+ subs r1, r0
+ adds r5, r1, 0x7
+ adds r0, r6, 0
+ movs r1, 0x3
+ bl __divsi3
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ adds r4, r1, 0
+ adds r4, 0x47
+ mov r1, r8
+ ldr r0, [r1]
+ lsls r1, r6, 1
+ adds r0, 0xE
+ adds r0, r1
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ adds r0, r7, 0
+ bl sub_808D930
+ mov r0, r8
+ ldr r3, [r0]
+ lsls r1, r6, 2
+ adds r0, r3, 0
+ adds r0, 0x30
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x1
+ beq _08021A04
+ cmp r0, 0x1
+ bcc _080219EC
+ cmp r0, 0x2
+ beq _08021A16
+ b _08021A34
+ .align 2, 0
+_080219E8: .4byte gUnknown_203B28C
+_080219EC:
+ ldr r0, _08021A00
+ ldr r2, [r0]
+ ldr r3, [r3, 0x74]
+ mov r1, r9
+ str r1, [sp]
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl xxx_call_draw_string
+ b _08021A34
+ .align 2, 0
+_08021A00: .4byte gUnknown_80D49BC
+_08021A04:
+ ldr r3, [r3, 0x74]
+ mov r2, r9
+ str r2, [sp]
+ adds r0, r5, 0
+ adds r1, r4, 0
+ adds r2, r7, 0
+ bl xxx_call_draw_string
+ b _08021A34
+_08021A16:
+ add r0, sp, 0x4
+ ldr r1, _08021A58
+ adds r2, r7, 0
+ bl sub_800D158
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r3, [r0, 0x74]
+ mov r2, r9
+ str r2, [sp]
+ adds r0, r5, 0
+ adds r1, r4, 0
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+_08021A34:
+ adds r6, 0x1
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r0, [r0, 0x70]
+ cmp r6, r0
+ blt _08021996
+_08021A40:
+ ldr r0, _08021A5C
+ ldr r0, [r0]
+ ldr r0, [r0, 0x74]
+ bl sub_80073E0
+ add sp, 0x168
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021A58: .4byte gUnknown_80DC524
+_08021A5C: .4byte gUnknown_203B28C
+ thumb_func_end sub_8021894
+
+ thumb_func_start sub_8021A60
+sub_8021A60:
+ push {r4-r7,lr}
+ ldr r2, _08021B4C
+ ldr r1, [r2]
+ movs r0, 0
+ str r0, [r1, 0x70]
+ movs r6, 0
+ adds r4, r2, 0
+ movs r3, 0
+_08021A70:
+ ldr r1, [r4]
+ lsls r2, r6, 1
+ adds r0, r1, 0
+ adds r0, 0xE
+ adds r0, r2
+ strh r3, [r0]
+ lsls r0, r6, 2
+ adds r1, 0x30
+ adds r1, r0
+ str r3, [r1]
+ adds r6, 0x1
+ cmp r6, 0xF
+ ble _08021A70
+ movs r6, 0
+ ldr r7, _08021B4C
+_08021A8E:
+ lsls r0, r6, 16
+ asrs r5, r0, 16
+ ldr r4, [r7]
+ adds r0, r5, 0
+ bl GetFriendArea
+ ldrb r1, [r4, 0xC]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r1, r0
+ bne _08021AC4
+ adds r0, r5, 0
+ bl sub_808E858
+ lsls r0, 16
+ asrs r0, 16
+ cmp r5, r0
+ bne _08021AC4
+ ldr r3, [r7]
+ ldr r1, [r3, 0x70]
+ lsls r2, r1, 1
+ adds r0, r3, 0
+ adds r0, 0xE
+ adds r0, r2
+ strh r5, [r0]
+ adds r1, 0x1
+ str r1, [r3, 0x70]
+_08021AC4:
+ adds r6, 0x1
+ ldr r0, _08021B50
+ cmp r6, r0
+ ble _08021A8E
+ movs r6, 0
+_08021ACE:
+ lsls r0, r6, 16
+ asrs r4, r0, 16
+ adds r0, r4, 0
+ bl sub_8098134
+ lsls r0, 24
+ cmp r0, 0
+ beq _08021AFC
+ adds r0, r4, 0
+ bl sub_8021B58
+ adds r2, r0, 0
+ movs r0, 0x1
+ negs r0, r0
+ cmp r2, r0
+ beq _08021AFC
+ ldr r0, _08021B4C
+ ldr r1, [r0]
+ lsls r0, r2, 2
+ adds r1, 0x30
+ adds r1, r0
+ movs r0, 0x1
+ str r0, [r1]
+_08021AFC:
+ adds r6, 0x1
+ ldr r0, _08021B50
+ cmp r6, r0
+ ble _08021ACE
+ movs r6, 0
+ ldr r4, _08021B54
+_08021B08:
+ movs r0, 0x58
+ adds r1, r6, 0
+ muls r1, r0
+ ldr r0, [r4]
+ adds r2, r0, r1
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08021B3C
+ movs r1, 0x8
+ ldrsh r0, [r2, r1]
+ bl sub_8021B58
+ adds r2, r0, 0
+ movs r0, 0x1
+ negs r0, r0
+ cmp r2, r0
+ beq _08021B3C
+ ldr r0, _08021B4C
+ ldr r1, [r0]
+ lsls r0, r2, 2
+ adds r1, 0x30
+ adds r1, r0
+ movs r0, 0x2
+ str r0, [r1]
+_08021B3C:
+ adds r6, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r6, r0
+ ble _08021B08
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021B4C: .4byte gUnknown_203B28C
+_08021B50: .4byte 0x000001a7
+_08021B54: .4byte gUnknown_203B45C
+ thumb_func_end sub_8021A60
+
+ thumb_func_start sub_8021B58
+sub_8021B58:
+ push {r4,r5,lr}
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_808E858
+ lsls r0, 16
+ asrs r4, r0, 16
+ movs r2, 0
+ ldr r0, _08021B84
+ ldr r0, [r0]
+ ldr r1, [r0, 0x70]
+ cmp r2, r1
+ bge _08021B90
+ adds r3, r1, 0
+ adds r1, r0, 0
+ adds r1, 0xE
+_08021B78:
+ movs r5, 0
+ ldrsh r0, [r1, r5]
+ cmp r4, r0
+ bne _08021B88
+ adds r0, r2, 0
+ b _08021B94
+ .align 2, 0
+_08021B84: .4byte gUnknown_203B28C
+_08021B88:
+ adds r1, 0x2
+ adds r2, 0x1
+ cmp r2, r3
+ blt _08021B78
+_08021B90:
+ movs r0, 0x1
+ negs r0, r0
+_08021B94:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8021B58
+
+ thumb_func_start sub_8021B9C
+sub_8021B9C:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ bl sub_8004914
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r5, _08021BF8
+ movs r0, 0x9C
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ movs r6, 0
+ str r6, [r0, 0x14]
+ str r6, [r0, 0x18]
+ str r4, [r0]
+ ldr r0, _08021BFC
+ movs r1, 0x28
+ bl sub_808D8E0
+ ldr r4, _08021C00
+ adds r0, r4, 0
+ movs r1, 0x28
+ bl sub_808D8E0
+ movs r0, 0x28
+ bl sub_808D994
+ adds r1, r0, 0
+ subs r4, 0x50
+ adds r0, r4, 0
+ bl strcpy
+ ldr r5, [r5]
+ ldr r0, [r5]
+ cmp r0, 0x1
+ bne _08021C04
+ adds r0, r5, 0
+ adds r0, 0xCC
+ str r6, [r0]
+ b _08021C0E
+ .align 2, 0
+_08021BF8: .4byte gUnknown_203B290
+_08021BFC: .4byte gUnknown_202E5D8
+_08021C00: .4byte gUnknown_202E1C8
+_08021C04:
+ adds r1, r5, 0
+ adds r1, 0xCC
+ adds r0, r5, 0
+ adds r0, 0xBC
+ str r0, [r1]
+_08021C0E:
+ movs r0, 0x28
+ bl sub_808DDD0
+ ldr r2, _08021C58
+ ldr r3, [r2]
+ adds r1, r3, 0
+ adds r1, 0xBC
+ str r0, [r1]
+ adds r1, 0x4
+ ldr r0, [r0, 0x4]
+ str r0, [r1]
+ adds r0, r3, 0
+ adds r0, 0xC8
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r0, 0xC9
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r0, 0xCA
+ strb r1, [r0]
+ ldr r1, [r2]
+ adds r2, r1, 0
+ adds r2, 0xC4
+ movs r0, 0x2
+ strh r0, [r2]
+ adds r1, 0xC6
+ movs r0, 0x8
+ strh r0, [r1]
+ movs r0, 0
+ bl sub_8021D44
+ movs r0, 0x1
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08021C58: .4byte gUnknown_203B290
+ thumb_func_end sub_8021B9C
+
+ thumb_func_start sub_8021C5C
+sub_8021C5C:
+ push {lr}
+ ldr r0, _08021C74
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ cmp r0, 0x17
+ bhi _08021D10
+ lsls r0, 2
+ ldr r1, _08021C78
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08021C74: .4byte gUnknown_203B290
+_08021C78: .4byte _08021C7C
+ .align 2, 0
+_08021C7C:
+ .4byte _08021CDC
+ .4byte _08021CDC
+ .4byte _08021D10
+ .4byte _08021D10
+ .4byte _08021D0C
+ .4byte _08021D10
+ .4byte _08021D10
+ .4byte _08021D10
+ .4byte _08021D10
+ .4byte _08021CE2
+ .4byte _08021CE2
+ .4byte _08021CE8
+ .4byte _08021D10
+ .4byte _08021CF4
+ .4byte _08021CFA
+ .4byte _08021D10
+ .4byte _08021D00
+ .4byte _08021CEE
+ .4byte _08021D10
+ .4byte _08021D10
+ .4byte _08021D10
+ .4byte _08021D10
+ .4byte _08021D06
+ .4byte _08021D06
+_08021CDC:
+ bl sub_8022460
+ b _08021D14
+_08021CE2:
+ bl sub_8022538
+ b _08021D14
+_08021CE8:
+ bl sub_80225C8
+ b _08021D14
+_08021CEE:
+ bl sub_80224D4
+ b _08021D14
+_08021CF4:
+ bl sub_80226F0
+ b _08021D14
+_08021CFA:
+ bl sub_8022790
+ b _08021D14
+_08021D00:
+ bl sub_8022668
+ b _08021D14
+_08021D06:
+ bl sub_8022684
+ b _08021D14
+_08021D0C:
+ movs r0, 0x3
+ b _08021D16
+_08021D10:
+ bl sub_80226CC
+_08021D14:
+ movs r0, 0
+_08021D16:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8021C5C
+
+ thumb_func_start sub_8021D1C
+sub_8021D1C:
+ push {r4,lr}
+ ldr r4, _08021D40
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _08021D38
+ adds r0, 0xBC
+ ldr r0, [r0]
+ bl CloseFile
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_08021D38:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021D40: .4byte gUnknown_203B290
+ thumb_func_end sub_8021D1C
+
+ thumb_func_start sub_8021D44
+sub_8021D44:
+ push {lr}
+ ldr r1, _08021D58
+ ldr r1, [r1]
+ str r0, [r1, 0x4]
+ bl sub_8021D5C
+ bl sub_8021E0C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021D58: .4byte gUnknown_203B290
+ thumb_func_end sub_8021D44
+
+ thumb_func_start sub_8021D5C
+sub_8021D5C:
+ push {r4-r7,lr}
+ ldr r4, _08021D7C
+ ldr r0, [r4]
+ adds r0, 0xD0
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r0, [r1, 0x4]
+ cmp r0, 0x9
+ blt _08021DC8
+ cmp r0, 0xA
+ ble _08021D80
+ cmp r0, 0xB
+ beq _08021DB0
+ b _08021DC8
+ .align 2, 0
+_08021D7C: .4byte gUnknown_203B290
+_08021D80:
+ ldr r2, _08021DA8
+ adds r1, 0xD0
+ adds r0, r2, 0
+ ldm r0!, {r3,r5,r6}
+ stm r1!, {r3,r5,r6}
+ ldm r0!, {r3,r5,r7}
+ stm r1!, {r3,r5,r7}
+ ldr r0, [r4]
+ movs r6, 0x80
+ lsls r6, 1
+ adds r0, r6
+ ldm r2!, {r1,r3,r7}
+ stm r0!, {r1,r3,r7}
+ ldm r2!, {r5-r7}
+ stm r0!, {r5-r7}
+ ldr r1, [r4]
+ adds r1, 0xE8
+ ldr r0, _08021DAC
+ b _08021DB8
+ .align 2, 0
+_08021DA8: .4byte gUnknown_80DC534
+_08021DAC: .4byte gUnknown_80DC564
+_08021DB0:
+ movs r0, 0x80
+ lsls r0, 1
+ adds r1, r0
+ ldr r0, _08021DC4
+_08021DB8:
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ b _08021DEC
+ .align 2, 0
+_08021DC4: .4byte gUnknown_80DC54C
+_08021DC8:
+ ldr r0, _08021E04
+ mov r12, r0
+ ldr r4, _08021E08
+ movs r3, 0
+ movs r2, 0x3
+_08021DD2:
+ mov r5, r12
+ ldr r1, [r5]
+ adds r1, r3
+ adds r1, 0xD0
+ adds r0, r4, 0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ adds r3, 0x18
+ subs r2, 0x1
+ cmp r2, 0
+ bge _08021DD2
+_08021DEC:
+ bl sub_8004914
+ ldr r0, _08021E04
+ ldr r0, [r0]
+ adds r0, 0xD0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021E04: .4byte gUnknown_203B290
+_08021E08: .4byte gUnknown_80DC534
+ thumb_func_end sub_8021D5C
+
+ thumb_func_start sub_8021E0C
+sub_8021E0C:
+ push {r4,lr}
+ sub sp, 0x20
+ ldr r1, _08021E28
+ ldr r0, [r1]
+ ldr r0, [r0, 0x4]
+ adds r4, r1, 0
+ cmp r0, 0x1C
+ bls _08021E1E
+ b _080222B6
+_08021E1E:
+ lsls r0, 2
+ ldr r1, _08021E2C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08021E28: .4byte gUnknown_203B290
+_08021E2C: .4byte _08021E30
+ .align 2, 0
+_08021E30:
+ .4byte _08021EA4
+ .4byte _08021EC0
+ .4byte _08021F38
+ .4byte _08021F50
+ .4byte _080222B6
+ .4byte _08021F78
+ .4byte _08021F90
+ .4byte _08021F08
+ .4byte _08021F20
+ .4byte _08021FD8
+ .4byte _08021FE2
+ .4byte _08021FF0
+ .4byte _0802208E
+ .4byte _080220B8
+ .4byte _080220D8
+ .4byte _080220EA
+ .4byte _08022080
+ .4byte _08022024
+ .4byte _08021FA8
+ .4byte _08021FC0
+ .4byte _08022138
+ .4byte _08022150
+ .4byte _08022168
+ .4byte _08022176
+ .4byte _0802217E
+ .4byte _08022238
+ .4byte _08022250
+ .4byte _08022268
+ .4byte _08022294
+_08021EA4:
+ bl sub_80222C8
+ ldr r2, _08021EB8
+ ldr r0, _08021EBC
+ ldr r4, [r0]
+ ldr r1, [r4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ b _08021ED4
+ .align 2, 0
+_08021EB8: .4byte gUnknown_80D79A4
+_08021EBC: .4byte gUnknown_203B290
+_08021EC0:
+ bl sub_80222C8
+ ldr r2, _08021F00
+ ldr r0, _08021F04
+ ldr r4, [r0]
+ ldr r1, [r4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x4
+_08021ED4:
+ adds r0, r2
+ ldr r0, [r0]
+ ldr r2, [r4, 0x14]
+ adds r3, r4, 0
+ adds r3, 0x1C
+ adds r1, r4, 0
+ adds r1, 0x5C
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ adds r1, r4, 0
+ adds r1, 0xCC
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ bl sub_8014248
+ b _080222B6
+ .align 2, 0
+_08021F00: .4byte gUnknown_80D79A4
+_08021F04: .4byte gUnknown_203B290
+_08021F08:
+ ldr r3, [r4]
+ movs r0, 0x9
+ str r0, [r3, 0x8]
+ ldr r2, _08021F1C
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0xC
+ b _0802227A
+ .align 2, 0
+_08021F1C: .4byte gUnknown_80D79A4
+_08021F20:
+ ldr r3, [r4]
+ movs r0, 0xA
+ str r0, [r3, 0x8]
+ ldr r2, _08021F34
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x10
+ b _0802227A
+ .align 2, 0
+_08021F34: .4byte gUnknown_80D79A4
+_08021F38:
+ ldr r3, [r4]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r2, _08021F4C
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x4C
+ b _0802227A
+ .align 2, 0
+_08021F4C: .4byte gUnknown_80D79A4
+_08021F50:
+ ldr r3, [r4]
+ movs r0, 0x4
+ str r0, [r3, 0x8]
+ ldr r2, _08021F70
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x8
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xCC
+ ldr r2, [r3]
+ ldr r3, _08021F74
+ b _08022284
+ .align 2, 0
+_08021F70: .4byte gUnknown_80D79A4
+_08021F74: .4byte 0x0000030d
+_08021F78:
+ ldr r3, [r4]
+ movs r0, 0x3
+ str r0, [r3, 0x8]
+ ldr r2, _08021F8C
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x20
+ b _0802227A
+ .align 2, 0
+_08021F8C: .4byte gUnknown_80D79A4
+_08021F90:
+ ldr r3, [r4]
+ movs r0, 0xA
+ str r0, [r3, 0x8]
+ ldr r2, _08021FA4
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x24
+ b _0802227A
+ .align 2, 0
+_08021FA4: .4byte gUnknown_80D79A4
+_08021FA8:
+ ldr r3, [r4]
+ movs r0, 0x3
+ str r0, [r3, 0x8]
+ ldr r2, _08021FBC
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x28
+ b _0802227A
+ .align 2, 0
+_08021FBC: .4byte gUnknown_80D79A4
+_08021FC0:
+ ldr r3, [r4]
+ movs r0, 0xA
+ str r0, [r3, 0x8]
+ ldr r2, _08021FD4
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x2C
+ b _0802227A
+ .align 2, 0
+_08021FD4: .4byte gUnknown_80D79A4
+_08021FD8:
+ movs r0, 0x2
+ movs r1, 0x3
+ bl sub_80211AC
+ b _08021FE8
+_08021FE2:
+ movs r0, 0x1
+ bl sub_8021354
+_08021FE8:
+ movs r0, 0x1
+ bl sub_8016C40
+ b _080222B6
+_08021FF0:
+ bl sub_8021494
+ movs r0, 0x1
+ bl sub_8016C40
+ bl sub_8022380
+ ldr r0, _08022020
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x6C
+ adds r1, r2, 0
+ adds r1, 0x1C
+ adds r3, r2, 0
+ adds r3, 0x5C
+ ldr r2, [r2, 0x18]
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _080222B6
+ .align 2, 0
+_08022020: .4byte gUnknown_203B290
+_08022024:
+ bl sub_8022420
+ ldr r0, _08022070
+ ldr r4, _08022074
+ ldr r1, [r4]
+ ldrb r1, [r1, 0x10]
+ movs r2, 0
+ bl sub_8092578
+ ldr r1, _08022078
+ ldr r4, [r4]
+ ldr r0, [r4, 0xC]
+ str r0, [r1]
+ ldr r2, _0802207C
+ ldr r1, [r4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x14
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, r4, 0
+ adds r3, 0x1C
+ movs r2, 0
+ str r2, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ adds r4, 0xCC
+ ldr r1, [r4]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x5
+ bl sub_8014248
+ b _080222B6
+ .align 2, 0
+_08022070: .4byte gUnknown_202E628
+_08022074: .4byte gUnknown_203B290
+_08022078: .4byte gUnknown_202DE30
+_0802207C: .4byte gUnknown_80D79A4
+_08022080:
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ movs r1, 0
+ movs r2, 0x2
+ bl sub_8021774
+ b _080222B6
+_0802208E:
+ ldr r1, [r4]
+ movs r0, 0xD
+ str r0, [r1, 0x8]
+ ldr r0, _080220B0
+ ldrb r1, [r1, 0x10]
+ movs r2, 0
+ bl sub_8092578
+ ldr r2, _080220B4
+ ldr r3, [r4]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x18
+ b _0802227A
+ .align 2, 0
+_080220B0: .4byte gUnknown_202E628
+_080220B4: .4byte gUnknown_80D79A4
+_080220B8:
+ ldr r1, [r4]
+ movs r0, 0xE
+ str r0, [r1, 0x8]
+ ldr r0, _080220D4
+ bl sub_8011988
+ ldr r0, [r4]
+ movs r1, 0x98
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0x1
+ str r1, [r0]
+ b _080222B6
+ .align 2, 0
+_080220D4: .4byte 0x0000025b
+_080220D8:
+ ldr r0, [r4]
+ movs r1, 0xF
+ str r1, [r0, 0x8]
+ movs r1, 0x9A
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0x1E
+ str r1, [r0]
+ b _080222B6
+_080220EA:
+ movs r0, 0x2
+ bl sub_8021700
+ lsls r0, 24
+ cmp r0, 0
+ beq _08022108
+ bl sub_80213A0
+ ldr r0, _08022104
+ ldr r1, [r0]
+ movs r0, 0x12
+ b _0802210E
+ .align 2, 0
+_08022104: .4byte gUnknown_203B290
+_08022108:
+ ldr r0, _08022130
+ ldr r1, [r0]
+ movs r0, 0x8
+_0802210E:
+ str r0, [r1, 0x8]
+ movs r0, 0xCE
+ bl sub_8011988
+ ldr r3, _08022134
+ ldr r0, _08022130
+ ldr r2, [r0]
+ ldr r1, [r2]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r3, 0x1C
+ adds r0, r3
+ ldr r0, [r0]
+ adds r2, 0xCC
+ ldr r2, [r2]
+ b _08022282
+ .align 2, 0
+_08022130: .4byte gUnknown_203B290
+_08022134: .4byte gUnknown_80D79A4
+_08022138:
+ ldr r3, [r4]
+ movs r0, 0x16
+ str r0, [r3, 0x8]
+ ldr r2, _0802214C
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x30
+ b _0802227A
+ .align 2, 0
+_0802214C: .4byte gUnknown_80D79A4
+_08022150:
+ ldr r3, [r4]
+ movs r0, 0x17
+ str r0, [r3, 0x8]
+ ldr r2, _08022164
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x34
+ b _0802227A
+ .align 2, 0
+_08022164: .4byte gUnknown_80D79A4
+_08022168:
+ movs r0, 0
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_8023144
+ b _080222B6
+_08022176:
+ movs r0, 0x1
+ bl sub_8023354
+ b _080222B6
+_0802217E:
+ ldr r4, _080221A0
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ add r1, sp, 0x14
+ movs r2, 0
+ movs r3, 0
+ bl sub_8092638
+ add r0, sp, 0x14
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ beq _080221A4
+ ldr r1, [r4]
+ movs r0, 0x19
+ str r0, [r1, 0x8]
+ b _080221FA
+ .align 2, 0
+_080221A0: .4byte gUnknown_203B290
+_080221A4:
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ bl sub_8092534
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ beq _080221E0
+ cmp r0, 0x2
+ bgt _080221BE
+ cmp r0, 0x1
+ beq _080221C4
+ b _080221F0
+_080221BE:
+ cmp r0, 0x3
+ beq _080221E8
+ b _080221F0
+_080221C4:
+ movs r0, 0x6
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _080221D8
+ ldr r1, [r4]
+ movs r0, 0x15
+ str r0, [r1, 0x8]
+ b _080221FA
+_080221D8:
+ ldr r1, [r4]
+ movs r0, 0x1A
+ str r0, [r1, 0x8]
+ b _080221FA
+_080221E0:
+ ldr r1, [r4]
+ movs r0, 0x1B
+ str r0, [r1, 0x8]
+ b _080221FA
+_080221E8:
+ ldr r1, [r4]
+ movs r0, 0x1C
+ str r0, [r1, 0x8]
+ b _080221FA
+_080221F0:
+ ldr r2, _08022228
+ ldr r1, [r2]
+ movs r0, 0x15
+ str r0, [r1, 0x8]
+ adds r4, r2, 0
+_080221FA:
+ ldr r0, [r4]
+ movs r1, 0x12
+ ldrsh r0, [r0, r1]
+ bl sub_808D994
+ adds r1, r0, 0
+ ldr r0, _0802222C
+ bl strcpy
+ ldr r0, _08022230
+ ldr r1, [r4]
+ ldrb r1, [r1, 0x10]
+ movs r2, 0
+ bl sub_8092578
+ ldr r2, _08022234
+ ldr r3, [r4]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x38
+ b _0802227A
+ .align 2, 0
+_08022228: .4byte gUnknown_203B290
+_0802222C: .4byte gUnknown_202DF98
+_08022230: .4byte gUnknown_202E628
+_08022234: .4byte gUnknown_80D79A4
+_08022238:
+ ldr r3, [r4]
+ movs r0, 0x15
+ str r0, [r3, 0x8]
+ ldr r2, _0802224C
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x3C
+ b _0802227A
+ .align 2, 0
+_0802224C: .4byte gUnknown_80D79A4
+_08022250:
+ ldr r3, [r4]
+ movs r0, 0x15
+ str r0, [r3, 0x8]
+ ldr r2, _08022264
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x40
+ b _0802227A
+ .align 2, 0
+_08022264: .4byte gUnknown_80D79A4
+_08022268:
+ ldr r3, [r4]
+ movs r0, 0x15
+ str r0, [r3, 0x8]
+ ldr r2, _0802228C
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x44
+_0802227A:
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xCC
+ ldr r2, [r3]
+_08022282:
+ ldr r3, _08022290
+_08022284:
+ movs r1, 0
+ bl sub_80141B4
+ b _080222B6
+ .align 2, 0
+_0802228C: .4byte gUnknown_80D79A4
+_08022290: .4byte 0x0000010d
+_08022294:
+ ldr r3, [r4]
+ movs r0, 0x15
+ str r0, [r3, 0x8]
+ ldr r2, _080222C0
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x48
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xCC
+ ldr r2, [r3]
+ ldr r3, _080222C4
+ movs r1, 0
+ bl sub_80141B4
+_080222B6:
+ add sp, 0x20
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080222C0: .4byte gUnknown_80D79A4
+_080222C4: .4byte 0x0000010d
+ thumb_func_end sub_8021E0C
+
+ thumb_func_start sub_80222C8
+sub_80222C8:
+ push {r4-r7,lr}
+ ldr r4, _08022344
+ ldr r0, [r4]
+ adds r0, 0x5C
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r4]
+ movs r5, 0
+ ldr r0, _08022348
+ ldr r0, [r0]
+ str r0, [r1, 0x1C]
+ adds r3, r1, 0
+ adds r3, 0x20
+ movs r0, 0x2
+ str r0, [r1, 0x20]
+ movs r2, 0x1
+ ldr r0, _0802234C
+ ldr r0, [r0]
+ str r0, [r1, 0x24]
+ movs r0, 0x3
+ str r0, [r1, 0x28]
+ ldr r0, _08022350
+ ldr r0, [r0]
+ str r0, [r1, 0x2C]
+ movs r0, 0x4
+ str r0, [r1, 0x30]
+ ldr r0, _08022354
+ ldr r0, [r0]
+ str r0, [r1, 0x34]
+ str r2, [r1, 0x38]
+ movs r7, 0x4
+ str r5, [r1, 0x3C]
+ str r2, [r3, 0x20]
+ adds r6, r1, 0
+ adds r2, r6, 0
+ adds r2, 0x5C
+_08022314:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08022322
+ ldr r1, [r3]
+ ldr r0, [r6, 0x14]
+ cmp r1, r0
+ beq _0802237A
+_08022322:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r7
+ blt _08022314
+ movs r5, 0
+ cmp r5, r7
+ bge _0802237A
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x5C
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08022358
+ ldr r0, [r1, 0x20]
+ str r0, [r1, 0x14]
+ b _0802237A
+ .align 2, 0
+_08022344: .4byte gUnknown_203B290
+_08022348: .4byte gUnknown_80D4978
+_0802234C: .4byte gUnknown_80D499C
+_08022350: .4byte gUnknown_80D4970
+_08022354: .4byte gUnknown_80D4934
+_08022358:
+ adds r5, 0x1
+ cmp r5, r7
+ bge _0802237A
+ ldr r2, [r4]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0x5C
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08022358
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x20
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x14]
+_0802237A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80222C8
+
+ thumb_func_start sub_8022380
+sub_8022380:
+ push {r4-r7,lr}
+ ldr r4, _080223EC
+ ldr r0, [r4]
+ adds r0, 0x5C
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _080223F0
+ ldr r0, [r0]
+ str r0, [r3, 0x1C]
+ movs r0, 0x2
+ str r0, [r3, 0x20]
+ movs r1, 0x1
+ ldr r0, _080223F4
+ ldr r0, [r0]
+ str r0, [r3, 0x24]
+ movs r0, 0x4
+ str r0, [r3, 0x28]
+ movs r6, 0x2
+ str r2, [r3, 0x2C]
+ str r1, [r3, 0x30]
+ movs r5, 0
+ mov r12, r3
+ adds r3, 0x20
+ mov r2, r12
+ adds r2, 0x5C
+_080223BA:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _080223CA
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x18]
+ cmp r1, r0
+ beq _0802241A
+_080223CA:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _080223BA
+ movs r5, 0
+ cmp r5, r6
+ bge _0802241A
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x5C
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _080223F8
+ ldr r0, [r1, 0x20]
+ str r0, [r1, 0x18]
+ b _0802241A
+ .align 2, 0
+_080223EC: .4byte gUnknown_203B290
+_080223F0: .4byte gUnknown_80D4978
+_080223F4: .4byte gUnknown_80D4970
+_080223F8:
+ adds r5, 0x1
+ cmp r5, r6
+ bge _0802241A
+ ldr r2, [r4]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0x5C
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _080223F8
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x20
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x18]
+_0802241A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022380
+
+ thumb_func_start sub_8022420
+sub_8022420:
+ push {r4,lr}
+ ldr r4, _08022454
+ ldr r0, [r4]
+ adds r0, 0x5C
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r4]
+ movs r3, 0
+ ldr r0, _08022458
+ ldr r0, [r0]
+ str r0, [r1, 0x1C]
+ movs r0, 0x5
+ str r0, [r1, 0x20]
+ movs r2, 0x1
+ ldr r0, _0802245C
+ ldr r0, [r0]
+ str r0, [r1, 0x24]
+ movs r0, 0x6
+ str r0, [r1, 0x28]
+ str r3, [r1, 0x2C]
+ str r2, [r1, 0x30]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08022454: .4byte gUnknown_203B290
+_08022458: .4byte gUnknown_80D4920
+_0802245C: .4byte gUnknown_80D4928
+ thumb_func_end sub_8022420
+
+ thumb_func_start sub_8022460
+sub_8022460:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _080224CC
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _0802247A
+ ldr r0, _0802248C
+ ldr r0, [r0]
+ str r1, [r0, 0x14]
+_0802247A:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0802249A
+ cmp r0, 0x2
+ bgt _08022490
+ cmp r0, 0x1
+ beq _080224C6
+ b _080224CC
+ .align 2, 0
+_0802248C: .4byte gUnknown_203B290
+_08022490:
+ cmp r0, 0x3
+ beq _080224B6
+ cmp r0, 0x4
+ beq _080224BE
+ b _080224CC
+_0802249A:
+ movs r0, 0x2
+ bl sub_8021700
+ lsls r0, 24
+ cmp r0, 0
+ beq _080224AE
+ movs r0, 0x5
+ bl sub_8021D44
+ b _080224CC
+_080224AE:
+ movs r0, 0x7
+ bl sub_8021D44
+ b _080224CC
+_080224B6:
+ movs r0, 0x14
+ bl sub_8021D44
+ b _080224CC
+_080224BE:
+ movs r0, 0x2
+ bl sub_8021D44
+ b _080224CC
+_080224C6:
+ movs r0, 0x3
+ bl sub_8021D44
+_080224CC:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022460
+
+ thumb_func_start sub_80224D4
+sub_80224D4:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08022532
+ ldr r0, [sp]
+ cmp r0, 0x5
+ beq _080224F8
+ cmp r0, 0x5
+ bgt _080224F2
+ cmp r0, 0x1
+ beq _0802252C
+ b _08022532
+_080224F2:
+ cmp r0, 0x6
+ beq _0802252C
+ b _08022532
+_080224F8:
+ ldr r0, _08022524
+ ldr r2, [r0]
+ movs r0, 0x98
+ lsls r0, 2
+ adds r2, r0
+ ldr r0, _08022528
+ ldr r3, [r0]
+ ldr r0, [r2]
+ ldr r1, [r3, 0xC]
+ subs r0, r1
+ str r0, [r2]
+ ldrb r0, [r3, 0x10]
+ bl sub_80925EC
+ movs r0, 0xA6
+ lsls r0, 1
+ bl sub_8011988
+ movs r0, 0xC
+ bl sub_8021D44
+ b _08022532
+ .align 2, 0
+_08022524: .4byte gUnknown_203B460
+_08022528: .4byte gUnknown_203B290
+_0802252C:
+ movs r0, 0xA
+ bl sub_8021D44
+_08022532:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80224D4
+
+ thumb_func_start sub_8022538
+sub_8022538:
+ push {r4,lr}
+ movs r0, 0x1
+ bl sub_8021274
+ cmp r0, 0x4
+ bhi _080225BC
+ lsls r0, 2
+ ldr r1, _08022550
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08022550: .4byte _08022554
+ .align 2, 0
+_08022554:
+ .4byte _080225C2
+ .4byte _080225BC
+ .4byte _080225B0
+ .4byte _08022568
+ .4byte _0802258C
+_08022568:
+ bl sub_802132C
+ ldr r4, _08022588
+ ldr r1, [r4]
+ strb r0, [r1, 0x10]
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ bl sub_8092544
+ ldr r1, [r4]
+ str r0, [r1, 0xC]
+ movs r0, 0xB
+ bl sub_8021D44
+ b _080225C2
+ .align 2, 0
+_08022588: .4byte gUnknown_203B290
+_0802258C:
+ bl sub_802132C
+ ldr r4, _080225AC
+ ldr r1, [r4]
+ strb r0, [r1, 0x10]
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ bl sub_8092544
+ ldr r1, [r4]
+ str r0, [r1, 0xC]
+ movs r0, 0x10
+ bl sub_8021D44
+ b _080225C2
+ .align 2, 0
+_080225AC: .4byte gUnknown_203B290
+_080225B0:
+ bl sub_80213A0
+ movs r0, 0x1
+ bl sub_8021D44
+ b _080225C2
+_080225BC:
+ movs r0, 0x1
+ bl sub_8016C40
+_080225C2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022538
+
+ thumb_func_start sub_80225C8
+sub_80225C8:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_8021274
+ ldr r4, _08022608
+ ldr r0, [r4]
+ adds r0, 0x6C
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _080225F8
+ ldr r0, [r4]
+ adds r0, 0x6C
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _080225F8
+ ldr r0, [r4]
+ str r1, [r0, 0x18]
+_080225F8:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08022612
+ cmp r0, 0x2
+ bgt _0802260C
+ cmp r0, 0x1
+ beq _08022658
+ b _0802265E
+ .align 2, 0
+_08022608: .4byte gUnknown_203B290
+_0802260C:
+ cmp r0, 0x4
+ beq _08022650
+ b _0802265E
+_08022612:
+ ldr r0, _0802262C
+ ldr r0, [r0]
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r1
+ ldr r1, [r0]
+ cmp r1, 0
+ bne _08022630
+ movs r0, 0x6
+ bl sub_8021D44
+ b _0802265E
+ .align 2, 0
+_0802262C: .4byte gUnknown_203B460
+_08022630:
+ ldr r0, _08022644
+ ldr r0, [r0]
+ ldr r0, [r0, 0xC]
+ cmp r0, r1
+ ble _08022648
+ movs r0, 0x13
+ bl sub_8021D44
+ b _0802265E
+ .align 2, 0
+_08022644: .4byte gUnknown_203B290
+_08022648:
+ movs r0, 0x11
+ bl sub_8021D44
+ b _0802265E
+_08022650:
+ movs r0, 0x10
+ bl sub_8021D44
+ b _0802265E
+_08022658:
+ movs r0, 0xA
+ bl sub_8021D44
+_0802265E:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80225C8
+
+ thumb_func_start sub_8022668
+sub_8022668:
+ push {lr}
+ bl sub_80217EC
+ cmp r0, 0x1
+ bls _08022680
+ cmp r0, 0x3
+ bhi _08022680
+ bl sub_8021830
+ movs r0, 0xA
+ bl sub_8021D44
+_08022680:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022668
+
+ thumb_func_start sub_8022684
+sub_8022684:
+ push {r4,lr}
+ movs r0, 0x1
+ bl sub_8023278
+ cmp r0, 0x2
+ beq _080226BC
+ cmp r0, 0x2
+ bcc _080226C6
+ cmp r0, 0x3
+ bne _080226C6
+ bl sub_802331C
+ ldr r4, _080226B8
+ ldr r1, [r4]
+ strh r0, [r1, 0x12]
+ movs r2, 0x12
+ ldrsh r0, [r1, r2]
+ bl GetFriendArea
+ ldr r1, [r4]
+ strb r0, [r1, 0x10]
+ movs r0, 0x18
+ bl sub_8021D44
+ b _080226C6
+ .align 2, 0
+_080226B8: .4byte gUnknown_203B290
+_080226BC:
+ bl sub_80233A0
+ movs r0, 0x1
+ bl sub_8021D44
+_080226C6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022684
+
+ thumb_func_start sub_80226CC
+sub_80226CC:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _080226E4
+ ldr r0, _080226EC
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ bl sub_8021D44
+_080226E4:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080226EC: .4byte gUnknown_203B290
+ thumb_func_end sub_80226CC
+
+ thumb_func_start sub_80226F0
+sub_80226F0:
+ push {r4,lr}
+ sub sp, 0x4
+ mov r1, sp
+ movs r2, 0
+ movs r0, 0x80
+ strb r0, [r1]
+ strb r0, [r1, 0x1]
+ movs r0, 0x10
+ strb r0, [r1, 0x2]
+ strb r2, [r1, 0x3]
+ bl sub_8099B94
+ lsls r0, 24
+ cmp r0, 0
+ bne _08022782
+ ldr r0, _08022728
+ ldr r0, [r0]
+ movs r1, 0x98
+ lsls r1, 1
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x4
+ bhi _0802275C
+ lsls r0, 2
+ ldr r1, _0802272C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08022728: .4byte gUnknown_203B290
+_0802272C: .4byte _08022730
+ .align 2, 0
+_08022730:
+ .4byte _0802275C
+ .4byte _08022744
+ .4byte _08022750
+ .4byte _08022744
+ .4byte _08022750
+_08022744:
+ movs r0, 0x5
+ movs r1, 0x2
+ ldr r2, [sp]
+ bl sub_8099AFC
+ b _08022772
+_08022750:
+ movs r0, 0x5
+ movs r1, 0x2
+ ldr r2, [sp]
+ bl sub_8099A5C
+ b _08022772
+_0802275C:
+ ldr r4, _0802278C
+ ldr r0, [r4]
+ ldr r0, [r0, 0x8]
+ bl sub_8021D44
+ ldr r0, [r4]
+ movs r1, 0x98
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0
+ str r1, [r0]
+_08022772:
+ ldr r0, _0802278C
+ ldr r1, [r0]
+ movs r0, 0x98
+ lsls r0, 1
+ adds r1, r0
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+_08022782:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0802278C: .4byte gUnknown_203B290
+ thumb_func_end sub_80226F0
+
+ thumb_func_start sub_8022790
+sub_8022790:
+ push {lr}
+ ldr r0, _080227A8
+ ldr r2, [r0]
+ movs r0, 0x9A
+ lsls r0, 1
+ adds r1, r2, r0
+ ldr r0, [r1]
+ cmp r0, 0
+ beq _080227AC
+ subs r0, 0x1
+ str r0, [r1]
+ b _080227B2
+ .align 2, 0
+_080227A8: .4byte gUnknown_203B290
+_080227AC:
+ ldr r0, [r2, 0x8]
+ bl sub_8021D44
+_080227B2:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022790
+
+ thumb_func_start sub_80227B8
+sub_80227B8:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_8004914
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, _08022810
+ movs r0, 0xD4
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ adds r2, r0, 0
+ adds r2, 0xF4
+ movs r1, 0
+ str r1, [r2]
+ str r5, [r0, 0x48]
+ cmp r5, 0
+ beq _08022820
+ ldr r4, _08022814
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x7
+ bl sub_808D9AC
+ adds r4, 0x50
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x6
+ bl sub_808D9AC
+ bl sub_809177C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08022818
+ movs r0, 0
+ bl sub_8022924
+ b _08022856
+ .align 2, 0
+_08022810: .4byte gUnknown_203B294
+_08022814: .4byte gUnknown_202DF98
+_08022818:
+ movs r0, 0x11
+ bl sub_8022924
+ b _08022856
+_08022820:
+ ldr r4, _08022848
+ ldr r5, _0802284C
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl strcpy
+ adds r4, 0x50
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl strcpy
+ bl sub_8090A34
+ cmp r0, 0
+ bne _08022850
+ movs r0, 0x12
+ bl sub_8022924
+ b _08022856
+ .align 2, 0
+_08022848: .4byte gUnknown_202DF98
+_0802284C: .4byte gUnknown_80DC5EC
+_08022850:
+ movs r0, 0
+ bl sub_8022924
+_08022856:
+ movs r0, 0x1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80227B8
+
+ thumb_func_start sub_8022860
+sub_8022860:
+ push {lr}
+ ldr r0, _08022878
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x16
+ bhi _080228FE
+ lsls r0, 2
+ ldr r1, _0802287C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08022878: .4byte gUnknown_203B294
+_0802287C: .4byte _08022880
+ .align 2, 0
+_08022880:
+ .4byte _080228DC
+ .4byte _080228DC
+ .4byte _080228E2
+ .4byte _080228E8
+ .4byte _080228EE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228F4
+ .4byte _080228FA
+_080228DC:
+ bl sub_8022E78
+ b _08022902
+_080228E2:
+ bl sub_8022EF4
+ b _08022902
+_080228E8:
+ bl sub_8023068
+ b _08022902
+_080228EE:
+ bl sub_80230E8
+ b _08022902
+_080228F4:
+ bl sub_8023104
+ b _08022902
+_080228FA:
+ movs r0, 0x3
+ b _08022904
+_080228FE:
+ bl sub_8023120
+_08022902:
+ movs r0, 0
+_08022904:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022860
+
+ thumb_func_start sub_8022908
+sub_8022908:
+ push {r4,lr}
+ ldr r4, _08022920
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0802291A
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0802291A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08022920: .4byte gUnknown_203B294
+ thumb_func_end sub_8022908
+
+ thumb_func_start sub_8022924
+sub_8022924:
+ push {lr}
+ ldr r1, _08022938
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_802293C
+ bl sub_8022A10
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08022938: .4byte gUnknown_203B294
+ thumb_func_end sub_8022924
+
+ thumb_func_start sub_802293C
+sub_802293C:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r4, _08022964
+ ldr r0, [r4]
+ movs r1, 0xA4
+ lsls r1, 1
+ adds r0, r1
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r0, [r1]
+ cmp r0, 0x3
+ beq _080229A4
+ cmp r0, 0x3
+ bgt _08022968
+ cmp r0, 0x2
+ beq _08022972
+ b _080229BC
+ .align 2, 0
+_08022964: .4byte gUnknown_203B294
+_08022968:
+ cmp r0, 0x10
+ bgt _080229BC
+ cmp r0, 0xA
+ blt _080229BC
+ b _080229E6
+_08022972:
+ bl sub_8022D2C
+ ldr r2, [r4]
+ movs r0, 0xBC
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _080229A0
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ ldm r1!, {r3,r5,r7}
+ stm r2!, {r3,r5,r7}
+ ldr r1, [r4]
+ adds r0, r1, r0
+ adds r1, 0xF8
+ bl sub_8012CAC
+ ldr r0, [r4]
+ movs r6, 0xC2
+ lsls r6, 1
+ adds r0, r6
+ movs r1, 0x6
+ strh r1, [r0]
+ b _080229E6
+ .align 2, 0
+_080229A0: .4byte gUnknown_80DC5BC
+_080229A4:
+ movs r7, 0xB0
+ lsls r7, 1
+ adds r1, r7
+ ldr r0, _080229B8
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ b _080229E6
+ .align 2, 0
+_080229B8: .4byte gUnknown_80DC5D4
+_080229BC:
+ ldr r0, _08022A08
+ mov r12, r0
+ movs r1, 0xA4
+ lsls r1, 1
+ mov r8, r1
+ ldr r4, _08022A0C
+ movs r3, 0
+ movs r2, 0x3
+_080229CC:
+ mov r5, r12
+ ldr r1, [r5]
+ adds r1, r3
+ add r1, r8
+ adds r0, r4, 0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ adds r3, 0x18
+ subs r2, 0x1
+ cmp r2, 0
+ bge _080229CC
+_080229E6:
+ bl sub_8004914
+ ldr r0, _08022A08
+ ldr r0, [r0]
+ movs r6, 0xA4
+ lsls r6, 1
+ adds r0, r6
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08022A08: .4byte gUnknown_203B294
+_08022A0C: .4byte gUnknown_80DC5A4
+ thumb_func_end sub_802293C
+
+ thumb_func_start sub_8022A10
+sub_8022A10:
+ push {r4-r7,lr}
+ sub sp, 0x8
+ ldr r1, _08022A2C
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r4, r1, 0
+ cmp r0, 0x16
+ bls _08022A22
+ b _08022D1E
+_08022A22:
+ lsls r0, 2
+ ldr r1, _08022A30
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08022A2C: .4byte gUnknown_203B294
+_08022A30: .4byte _08022A34
+ .align 2, 0
+_08022A34:
+ .4byte _08022A90
+ .4byte _08022AAA
+ .4byte _08022AB2
+ .4byte _08022AE0
+ .4byte _08022B10
+ .4byte _08022B1A
+ .4byte _08022B24
+ .4byte _08022B34
+ .4byte _08022B44
+ .4byte _08022B54
+ .4byte _08022B64
+ .4byte _08022C28
+ .4byte _08022CA0
+ .4byte _08022CA8
+ .4byte _08022CB0
+ .4byte _08022CB8
+ .4byte _08022CC0
+ .4byte _08022CC8
+ .4byte _08022CD8
+ .4byte _08022CE8
+ .4byte _08022CF8
+ .4byte _08022D14
+ .4byte _08022D1E
+_08022A90:
+ ldr r0, [r4]
+ ldr r0, [r0, 0x48]
+ cmp r0, 0
+ beq _08022A9C
+ movs r0, 0x5
+ b _08022A9E
+_08022A9C:
+ movs r0, 0x1
+_08022A9E:
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _08022D22
+_08022AAA:
+ movs r0, 0x1
+ bl sub_801A8D0
+ b _08022D22
+_08022AB2:
+ bl sub_801A9E0
+ ldr r0, _08022ADC
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x54
+ adds r1, r2, 0
+ adds r1, 0xF8
+ movs r4, 0x9C
+ lsls r4, 1
+ adds r3, r2, r4
+ adds r2, 0xF4
+ ldr r2, [r2]
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _08022D22
+ .align 2, 0
+_08022ADC: .4byte gUnknown_203B294
+_08022AE0:
+ bl sub_801A9E0
+ ldr r4, _08022B08
+ ldr r0, [r4]
+ adds r0, 0x54
+ movs r1, 0
+ bl sub_8012EA4
+ ldr r0, [r4]
+ adds r0, 0xA4
+ ldr r1, _08022B0C
+ movs r2, 0x3
+ str r2, [sp]
+ movs r2, 0x1
+ str r2, [sp, 0x4]
+ movs r2, 0
+ movs r3, 0
+ bl sub_8012D60
+ b _08022D22
+ .align 2, 0
+_08022B08: .4byte gUnknown_203B294
+_08022B0C: .4byte gUnknown_80DC584
+_08022B10:
+ ldr r0, [r4]
+ adds r0, 0x50
+ bl sub_801B3C0
+ b _08022D22
+_08022B1A:
+ ldr r0, _08022B20
+ b _08022D00
+ .align 2, 0
+_08022B20: .4byte gUnknown_80DC5F4
+_08022B24:
+ ldr r0, _08022B2C
+ ldr r3, _08022B30
+ b _08022D02
+ .align 2, 0
+_08022B2C: .4byte gUnknown_80DC618
+_08022B30: .4byte 0x00000101
+_08022B34:
+ ldr r0, _08022B3C
+ ldr r3, _08022B40
+ b _08022D02
+ .align 2, 0
+_08022B3C: .4byte gUnknown_80DC674
+_08022B40: .4byte 0x00000101
+_08022B44:
+ ldr r0, _08022B4C
+ ldr r3, _08022B50
+ b _08022D02
+ .align 2, 0
+_08022B4C: .4byte gUnknown_80DC6CC
+_08022B50: .4byte 0x00000101
+_08022B54:
+ ldr r0, _08022B5C
+ ldr r3, _08022B60
+ b _08022D02
+ .align 2, 0
+_08022B5C: .4byte gUnknown_80DC728
+_08022B60: .4byte 0x00000101
+_08022B64:
+ ldr r7, _08022B68
+ b _08022B78
+ .align 2, 0
+_08022B68: .4byte gUnknown_203B294
+_08022B6C:
+ ldr r1, [r4]
+ ldr r0, [r1, 0x40]
+ adds r0, 0x1
+ str r0, [r1, 0x40]
+ cmp r0, 0x17
+ bgt _08022C10
+_08022B78:
+ movs r5, 0
+ movs r6, 0
+ movs r3, 0
+ ldr r2, [r4]
+ ldr r0, [r2, 0x38]
+ cmp r5, r0
+ bge _08022BA4
+ ldrb r1, [r2, 0x8]
+ b _08022B9C
+_08022B8A:
+ adds r3, 0x1
+ ldr r2, [r4]
+ ldr r0, [r2, 0x38]
+ cmp r3, r0
+ bge _08022BA4
+ adds r0, r2, 0
+ adds r0, 0x8
+ adds r0, r3
+ ldrb r1, [r0]
+_08022B9C:
+ ldr r0, [r2, 0x40]
+ cmp r1, r0
+ bne _08022B8A
+ movs r5, 0x1
+_08022BA4:
+ movs r3, 0
+ ldr r2, [r4]
+ ldr r0, [r2, 0x3C]
+ cmp r3, r0
+ bge _08022BCE
+ adds r0, r2, 0
+ adds r0, 0x20
+ b _08022BC4
+_08022BB4:
+ adds r3, 0x1
+ ldr r2, [r4]
+ ldr r0, [r2, 0x3C]
+ cmp r3, r0
+ bge _08022BCE
+ adds r0, r2, 0
+ adds r0, 0x20
+ adds r0, r3
+_08022BC4:
+ ldrb r1, [r0]
+ ldr r0, [r2, 0x40]
+ cmp r1, r0
+ bne _08022BB4
+ movs r6, 0x1
+_08022BCE:
+ cmp r5, r6
+ beq _08022B6C
+ ldr r1, [r7]
+ movs r0, 0xA
+ str r0, [r1, 0x4]
+ ldr r0, [r1, 0x40]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_808EAB0
+ adds r1, r0, 0
+ ldr r0, _08022C18
+ bl strcpy
+ movs r0, 0xCB
+ bl sub_8011988
+ ldr r0, _08022C1C
+ movs r1, 0
+ movs r2, 0
+ ldr r3, _08022C20
+ bl sub_80141B4
+ ldr r1, [r7]
+ ldr r0, [r1, 0x40]
+ adds r0, 0x1
+ str r0, [r1, 0x40]
+ ldr r0, _08022C24
+ ldr r0, [r0]
+ ldr r0, [r0, 0x40]
+ cmp r0, 0x17
+ bgt _08022C10
+ b _08022D22
+_08022C10:
+ movs r0, 0xB
+ bl sub_8022924
+ b _08022D22
+ .align 2, 0
+_08022C18: .4byte gUnknown_202DEA8
+_08022C1C: .4byte gUnknown_80DC788
+_08022C20: .4byte 0x00000101
+_08022C24: .4byte gUnknown_203B294
+_08022C28:
+ ldr r1, [r4]
+ movs r0, 0x16
+ str r0, [r1, 0x4]
+ bl nullsub_104
+ ldr r0, [r4]
+ adds r0, 0x46
+ ldrh r0, [r0]
+ cmp r0, 0x8
+ bhi _08022C98
+ lsls r0, 2
+ ldr r1, _08022C48
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08022C48: .4byte _08022C4C
+ .align 2, 0
+_08022C4C:
+ .4byte _08022C70
+ .4byte _08022C78
+ .4byte _08022C80
+ .4byte _08022C98
+ .4byte _08022C88
+ .4byte _08022C98
+ .4byte _08022C98
+ .4byte _08022C98
+ .4byte _08022C90
+_08022C70:
+ movs r0, 0x16
+ bl sub_8022924
+ b _08022D22
+_08022C78:
+ movs r0, 0xD
+ bl sub_8022924
+ b _08022D22
+_08022C80:
+ movs r0, 0xE
+ bl sub_8022924
+ b _08022D22
+_08022C88:
+ movs r0, 0xF
+ bl sub_8022924
+ b _08022D22
+_08022C90:
+ movs r0, 0x10
+ bl sub_8022924
+ b _08022D22
+_08022C98:
+ movs r0, 0xC
+ bl sub_8022924
+ b _08022D22
+_08022CA0:
+ ldr r0, _08022CA4
+ b _08022D00
+ .align 2, 0
+_08022CA4: .4byte gUnknown_80DC7B4
+_08022CA8:
+ ldr r0, _08022CAC
+ b _08022D00
+ .align 2, 0
+_08022CAC: .4byte gUnknown_80DC7FC
+_08022CB0:
+ ldr r0, _08022CB4
+ b _08022D00
+ .align 2, 0
+_08022CB4: .4byte gUnknown_80DC81C
+_08022CB8:
+ ldr r0, _08022CBC
+ b _08022D00
+ .align 2, 0
+_08022CBC: .4byte gUnknown_80DC844
+_08022CC0:
+ ldr r0, _08022CC4
+ b _08022D00
+ .align 2, 0
+_08022CC4: .4byte gUnknown_80DC864
+_08022CC8:
+ ldr r1, [r4]
+ movs r0, 0x16
+ str r0, [r1, 0x4]
+ ldr r0, _08022CD4
+ b _08022D00
+ .align 2, 0
+_08022CD4: .4byte gUnknown_80DC88C
+_08022CD8:
+ ldr r1, [r4]
+ movs r0, 0x16
+ str r0, [r1, 0x4]
+ ldr r0, _08022CE4
+ b _08022D00
+ .align 2, 0
+_08022CE4: .4byte gUnknown_80DC8AC
+_08022CE8:
+ ldr r1, [r4]
+ movs r0, 0x16
+ str r0, [r1, 0x4]
+ ldr r0, _08022CF4
+ b _08022D00
+ .align 2, 0
+_08022CF4: .4byte gUnknown_80DC8C8
+_08022CF8:
+ ldr r1, [r4]
+ movs r0, 0x16
+ str r0, [r1, 0x4]
+ ldr r0, _08022D0C
+_08022D00:
+ ldr r3, _08022D10
+_08022D02:
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ b _08022D22
+ .align 2, 0
+_08022D0C: .4byte gUnknown_80DC8DC
+_08022D10: .4byte 0x00000301
+_08022D14:
+ ldr r0, [r4]
+ ldr r0, [r0, 0x4C]
+ bl sub_801AFA4
+ b _08022D22
+_08022D1E:
+ bl sub_801A928
+_08022D22:
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022A10
+
+ thumb_func_start sub_8022D2C
+sub_8022D2C:
+ push {r4-r7,lr}
+ movs r6, 0
+ ldr r4, _08022D78
+ ldr r0, [r4]
+ movs r1, 0x9C
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r2, [r4]
+ ldr r0, [r2, 0x48]
+ cmp r0, 0
+ beq _08022D80
+ adds r1, r2, 0
+ adds r1, 0xF8
+ ldr r0, _08022D7C
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x5
+ str r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0x52
+ ldrb r0, [r0]
+ bl sub_8091764
+ lsls r0, 24
+ cmp r0, 0
+ bne _08022D74
+ ldr r0, [r4]
+ movs r2, 0x9C
+ lsls r2, 1
+ adds r0, r2
+ movs r1, 0x1
+ strh r1, [r0]
+_08022D74:
+ movs r6, 0x1
+ b _08022DBE
+ .align 2, 0
+_08022D78: .4byte gUnknown_203B294
+_08022D7C: .4byte gUnknown_80DC8F0
+_08022D80:
+ adds r0, r2, 0
+ adds r0, 0x52
+ ldrb r0, [r0]
+ bl sub_8090BD0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bne _08022DA4
+ ldr r1, [r4]
+ adds r2, r1, 0
+ adds r2, 0xF8
+ ldr r0, _08022E38
+ str r0, [r2]
+ adds r1, 0xFC
+ movs r0, 0x6
+ str r0, [r1]
+ movs r6, 0x1
+_08022DA4:
+ ldr r2, [r4]
+ lsls r3, r6, 3
+ adds r0, r2, 0
+ adds r0, 0xF8
+ adds r0, r3
+ ldr r1, _08022E3C
+ ldr r1, [r1]
+ str r1, [r0]
+ adds r2, 0xFC
+ adds r2, r3
+ movs r0, 0x4
+ str r0, [r2]
+ adds r6, 0x1
+_08022DBE:
+ ldr r4, _08022E40
+ ldr r0, [r4]
+ mov r12, r0
+ lsls r1, r6, 3
+ mov r2, r12
+ adds r2, 0xF8
+ adds r3, r2, r1
+ ldr r0, _08022E44
+ ldr r0, [r0]
+ str r0, [r3]
+ mov r3, r12
+ adds r3, 0xFC
+ adds r1, r3, r1
+ movs r0, 0x7
+ str r0, [r1]
+ adds r6, 0x1
+ lsls r1, r6, 3
+ adds r2, r1
+ movs r0, 0
+ str r0, [r2]
+ adds r1, r3, r1
+ movs r0, 0x1
+ str r0, [r1]
+ movs r5, 0
+ adds r7, r4, 0
+ cmp r5, r6
+ bge _08022E16
+ mov r4, r12
+ adds r4, 0xF4
+ movs r2, 0x9C
+ lsls r2, 1
+ add r2, r12
+_08022DFE:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08022E0C
+ ldr r1, [r3]
+ ldr r0, [r4]
+ cmp r1, r0
+ beq _08022E70
+_08022E0C:
+ adds r2, 0x2
+ adds r3, 0x8
+ adds r5, 0x1
+ cmp r5, r6
+ blt _08022DFE
+_08022E16:
+ movs r5, 0
+ cmp r5, r6
+ bge _08022E70
+ ldr r1, [r7]
+ movs r2, 0x9C
+ lsls r2, 1
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08022E48
+ adds r0, r1, 0
+ adds r0, 0xF4
+ adds r1, 0xFC
+ ldr r1, [r1]
+ str r1, [r0]
+ b _08022E70
+ .align 2, 0
+_08022E38: .4byte gUnknown_80DC8F8
+_08022E3C: .4byte gUnknown_80D4940
+_08022E40: .4byte gUnknown_203B294
+_08022E44: .4byte gUnknown_80D4970
+_08022E48:
+ adds r5, 0x1
+ cmp r5, r6
+ bge _08022E70
+ ldr r3, [r7]
+ lsls r0, r5, 1
+ movs r2, 0x9C
+ lsls r2, 1
+ adds r1, r3, r2
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08022E48
+ adds r2, r3, 0
+ adds r2, 0xF4
+ lsls r1, r5, 3
+ adds r0, r3, 0
+ adds r0, 0xFC
+ adds r0, r1
+ ldr r0, [r0]
+ str r0, [r2]
+_08022E70:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022D2C
+
+ thumb_func_start sub_8022E78
+sub_8022E78:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x3
+ beq _08022E94
+ cmp r0, 0x3
+ bhi _08022E8E
+ cmp r0, 0x2
+ beq _08022EE8
+ b _08022EEE
+_08022E8E:
+ cmp r0, 0x4
+ beq _08022EBC
+ b _08022EEE
+_08022E94:
+ bl sub_801A8AC
+ ldr r1, _08022EB4
+ ldr r2, [r1]
+ str r0, [r2, 0x4C]
+ ldr r1, _08022EB8
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x50]
+ movs r0, 0x2
+ bl sub_8022924
+ b _08022EEE
+ .align 2, 0
+_08022EB4: .4byte gUnknown_203B294
+_08022EB8: .4byte gUnknown_203B460
+_08022EBC:
+ bl sub_801A8AC
+ ldr r1, _08022EE0
+ ldr r2, [r1]
+ str r0, [r2, 0x4C]
+ ldr r1, _08022EE4
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x50]
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0x4
+ bl sub_8022924
+ b _08022EEE
+ .align 2, 0
+_08022EE0: .4byte gUnknown_203B294
+_08022EE4: .4byte gUnknown_203B460
+_08022EE8:
+ movs r0, 0x16
+ bl sub_8022924
+_08022EEE:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022E78
+
+ thumb_func_start sub_8022EF4
+sub_8022EF4:
+ push {r4,r5,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801A6E8
+ ldr r4, _08022F3C
+ ldr r0, [r4]
+ adds r0, 0x54
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08022F26
+ ldr r0, [r4]
+ adds r0, 0x54
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08022F26
+ ldr r0, [r4]
+ adds r0, 0xF4
+ str r1, [r0]
+_08022F26:
+ ldr r0, [sp]
+ subs r0, 0x1
+ cmp r0, 0x6
+ bls _08022F30
+ b _08023060
+_08022F30:
+ lsls r0, 2
+ ldr r1, _08022F40
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08022F3C: .4byte gUnknown_203B294
+_08022F40: .4byte _08022F44
+ .align 2, 0
+_08022F44:
+ .4byte _08022F60
+ .4byte _08023060
+ .4byte _08023060
+ .4byte _0802304C
+ .4byte _08022F68
+ .4byte _08023044
+ .4byte _08023054
+_08022F60:
+ movs r0, 0x1
+ bl sub_8022924
+ b _08023060
+_08022F68:
+ ldr r4, _08022FEC
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x8
+ ldr r1, [r1, 0x48]
+ movs r2, 0x14
+ ldrsh r1, [r1, r2]
+ bl sub_808EBA8
+ ldr r3, [r4]
+ str r0, [r3, 0x38]
+ ldr r0, [r3, 0x48]
+ adds r1, r3, 0
+ adds r1, 0x52
+ ldrb r1, [r1]
+ adds r3, 0x44
+ movs r2, 0
+ bl sub_80915F4
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x20
+ ldr r1, [r1, 0x48]
+ movs r2, 0x14
+ ldrsh r1, [r1, r2]
+ bl sub_808EBA8
+ ldr r1, [r4]
+ str r0, [r1, 0x3C]
+ movs r0, 0x1
+ str r0, [r1, 0x40]
+ adds r0, r1, 0
+ adds r0, 0x44
+ movs r2, 0
+ ldrsh r5, [r0, r2]
+ ldr r0, _08022FF0
+ ldr r3, _08022FF4
+ ldr r2, [r1, 0x4C]
+ lsls r2, 2
+ ldr r1, [r3]
+ adds r1, r2
+ movs r2, 0
+ bl sub_8090E14
+ movs r0, 0x1
+ negs r0, r0
+ cmp r5, r0
+ beq _08022FD0
+ ldr r0, [r4]
+ ldr r0, [r0, 0x4C]
+ bl sub_80911F8
+_08022FD0:
+ movs r0, 0
+ bl sub_8099690
+ ldr r1, [r4]
+ movs r0, 0xA
+ str r0, [r1, 0x4]
+ adds r0, r5, 0x1
+ cmp r0, 0x4
+ bhi _08023030
+ lsls r0, 2
+ ldr r1, _08022FF8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08022FEC: .4byte gUnknown_203B294
+_08022FF0: .4byte gUnknown_202DE58
+_08022FF4: .4byte gUnknown_203B460
+_08022FF8: .4byte _08022FFC
+ .align 2, 0
+_08022FFC:
+ .4byte _08023030
+ .4byte _08023010
+ .4byte _08023018
+ .4byte _08023020
+ .4byte _08023028
+_08023010:
+ movs r0, 0x6
+ bl sub_8022924
+ b _08023060
+_08023018:
+ movs r0, 0x7
+ bl sub_8022924
+ b _08023060
+_08023020:
+ movs r0, 0x8
+ bl sub_8022924
+ b _08023060
+_08023028:
+ movs r0, 0x9
+ bl sub_8022924
+ b _08023060
+_08023030:
+ ldr r0, _08023040
+ ldr r1, [r0]
+ movs r0, 0x16
+ str r0, [r1, 0x4]
+ movs r0, 0x5
+ bl sub_8022924
+ b _08023060
+ .align 2, 0
+_08023040: .4byte gUnknown_203B294
+_08023044:
+ movs r0, 0x15
+ bl sub_8022924
+ b _08023060
+_0802304C:
+ movs r0, 0x3
+ bl sub_8022924
+ b _08023060
+_08023054:
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0x4
+ bl sub_8022924
+_08023060:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022EF4
+
+ thumb_func_start sub_8023068
+sub_8023068:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801A6E8
+ ldr r4, _080230A8
+ ldr r0, [r4]
+ adds r0, 0x54
+ bl sub_8012FD8
+ ldr r0, [r4]
+ adds r0, 0xA4
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08023096
+ ldr r0, [r4]
+ adds r0, 0xA4
+ mov r1, sp
+ bl sub_8013114
+_08023096:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _080230B8
+ cmp r0, 0x2
+ bgt _080230AC
+ cmp r0, 0x1
+ beq _080230B0
+ b _080230E0
+ .align 2, 0
+_080230A8: .4byte gUnknown_203B294
+_080230AC:
+ cmp r0, 0x3
+ bne _080230E0
+_080230B0:
+ movs r0, 0x1
+ bl sub_8022924
+ b _080230E0
+_080230B8:
+ ldr r0, [r4]
+ ldr r0, [r0, 0x4C]
+ bl sub_80911F8
+ bl sub_8090A34
+ cmp r0, 0
+ bne _080230DA
+ movs r0, 0
+ bl sub_8099690
+ bl sub_801A928
+ movs r0, 0x14
+ bl sub_8022924
+ b _080230E0
+_080230DA:
+ movs r0, 0x1
+ bl sub_8022924
+_080230E0:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8023068
+
+ thumb_func_start sub_80230E8
+sub_80230E8:
+ push {lr}
+ bl sub_801B410
+ cmp r0, 0x1
+ bls _08023100
+ cmp r0, 0x3
+ bhi _08023100
+ bl sub_801B450
+ movs r0, 0x1
+ bl sub_8022924
+_08023100:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80230E8
+
+ thumb_func_start sub_8023104
+sub_8023104:
+ push {lr}
+ bl sub_801B00C
+ cmp r0, 0x1
+ bls _0802311C
+ cmp r0, 0x3
+ bhi _0802311C
+ bl sub_801B048
+ movs r0, 0x1
+ bl sub_8022924
+_0802311C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8023104
+
+ thumb_func_start sub_8023120
+sub_8023120:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08023138
+ ldr r0, _08023140
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ bl sub_8022924
+_08023138:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08023140: .4byte gUnknown_203B294
+ thumb_func_end sub_8023120
+
+ thumb_func_start sub_8023144
+sub_8023144:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ adds r7, r1, 0
+ mov r9, r2
+ mov r10, r3
+ lsls r0, 24
+ lsrs r0, 24
+ adds r4, r0, 0
+ bl sub_8023704
+ lsls r0, 24
+ cmp r0, 0
+ beq _08023168
+ movs r0, 0
+ b _08023252
+_08023168:
+ ldr r6, _08023260
+ ldr r0, [r6]
+ cmp r0, 0
+ bne _0802317C
+ movs r0, 0xFF
+ lsls r0, 2
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r6]
+_0802317C:
+ ldr r0, [r6]
+ strb r4, [r0]
+ ldr r0, [r6]
+ ldr r1, _08023264
+ ldr r1, [r1]
+ str r1, [r0, 0x4]
+ movs r4, 0xE4
+ lsls r4, 2
+ adds r1, r0, r4
+ str r7, [r1]
+ movs r1, 0xE5
+ lsls r1, 2
+ mov r8, r1
+ adds r2, r0, r1
+ lsls r1, r7, 1
+ adds r1, r7
+ lsls r1, 3
+ movs r5, 0xE6
+ lsls r5, 2
+ adds r1, r5
+ adds r1, r0, r1
+ str r1, [r2]
+ adds r0, r5
+ bl sub_8006518
+ ldr r1, [r6]
+ adds r4, r1, r4
+ ldr r2, [r4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, r5
+ ldr r0, _08023268
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r2, [r6]
+ mov r1, r8
+ adds r0, r2, r1
+ ldr r1, [r0]
+ movs r3, 0xFE
+ lsls r3, 2
+ adds r0, r2, r3
+ str r0, [r1, 0x14]
+ mov r4, r9
+ cmp r4, 0
+ beq _080231F6
+ movs r1, 0xE4
+ lsls r1, 2
+ adds r0, r2, r1
+ ldr r1, [r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ subs r3, 0x58
+ adds r1, r2, r3
+ adds r1, r0
+ ldr r0, [r4]
+ str r0, [r1]
+_080231F6:
+ ldr r0, [r6]
+ add r0, r8
+ ldr r0, [r0]
+ mov r1, r10
+ bl sub_8012D08
+ bl sub_8004914
+ ldr r0, [r6]
+ adds r0, r5
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, [r6]
+ movs r5, 0xD7
+ lsls r5, 2
+ adds r4, r5
+ bl sub_80236A4
+ adds r1, r0, 0
+ adds r0, r4, 0
+ mov r2, r10
+ adds r3, r7, 0
+ bl sub_8013818
+ ldr r0, [r6]
+ ldr r1, _0802326C
+ ldrh r2, [r1]
+ movs r4, 0xDD
+ lsls r4, 2
+ adds r1, r0, r4
+ strh r2, [r1]
+ ldr r1, _08023270
+ ldrh r2, [r1]
+ ldr r3, _08023274
+ adds r1, r0, r3
+ strh r2, [r1]
+ adds r0, r5
+ bl sub_8013984
+ bl sub_8023420
+ bl sub_80234BC
+ movs r0, 0x1
+_08023252:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08023260: .4byte gUnknown_3001B5C
+_08023264: .4byte gUnknown_203B298
+_08023268: .4byte gUnknown_80DC91C
+_0802326C: .4byte gUnknown_203B29C
+_08023270: .4byte gUnknown_203B29E
+_08023274: .4byte 0x0000037a
+ thumb_func_end sub_8023144
+
+ thumb_func_start sub_8023278
+sub_8023278:
+ push {r4,lr}
+ lsls r0, 24
+ cmp r0, 0
+ bne _08023298
+ ldr r0, _08023294
+ ldr r0, [r0]
+ movs r1, 0xD7
+ lsls r1, 2
+ adds r0, r1
+ bl sub_8013660
+ movs r0, 0
+ b _08023316
+ .align 2, 0
+_08023294: .4byte gUnknown_3001B5C
+_08023298:
+ ldr r4, _080232B4
+ ldr r0, [r4]
+ movs r1, 0xD7
+ lsls r1, 2
+ adds r0, r1
+ bl GetKeyPress
+ cmp r0, 0x2
+ beq _080232BE
+ cmp r0, 0x2
+ bgt _080232B8
+ cmp r0, 0x1
+ beq _080232C8
+ b _080232EC
+ .align 2, 0
+_080232B4: .4byte gUnknown_3001B5C
+_080232B8:
+ cmp r0, 0x3
+ beq _080232D2
+ b _080232EC
+_080232BE:
+ movs r0, 0x1
+ bl sub_80119D4
+ movs r0, 0x2
+ b _08023316
+_080232C8:
+ movs r0, 0
+ bl sub_80119D4
+ movs r0, 0x3
+ b _08023316
+_080232D2:
+ movs r0, 0x5
+ bl sub_80119D4
+ ldr r0, [r4]
+ ldr r1, [r0, 0x4]
+ movs r2, 0x1
+ cmp r1, 0x1
+ bhi _080232E4
+ adds r2, r1, 0x1
+_080232E4:
+ str r2, [r0, 0x4]
+ bl sub_80236A4
+ b _0802330C
+_080232EC:
+ ldr r0, _08023308
+ ldr r0, [r0]
+ movs r1, 0xD7
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802330C
+ movs r0, 0
+ b _08023316
+ .align 2, 0
+_08023308: .4byte gUnknown_3001B5C
+_0802330C:
+ bl sub_8023420
+ bl sub_80234BC
+ movs r0, 0x1
+_08023316:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8023278
+
+ thumb_func_start sub_802331C
+sub_802331C:
+ ldr r0, _0802334C
+ ldr r0, [r0]
+ ldr r2, _08023350
+ adds r1, r0, r2
+ movs r3, 0
+ ldrsh r2, [r1, r3]
+ movs r3, 0xDE
+ lsls r3, 2
+ adds r1, r0, r3
+ movs r3, 0
+ ldrsh r1, [r1, r3]
+ muls r1, r2
+ movs r3, 0xDD
+ lsls r3, 2
+ adds r2, r0, r3
+ movs r3, 0
+ ldrsh r2, [r2, r3]
+ adds r1, r2
+ lsls r1, 1
+ adds r0, 0xC
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_0802334C: .4byte gUnknown_3001B5C
+_08023350: .4byte 0x0000037a
+ thumb_func_end sub_802331C
+
+ thumb_func_start sub_8023354
+sub_8023354:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_8004914
+ ldr r5, _0802339C
+ ldr r0, [r5]
+ movs r1, 0xE6
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0
+ movs r2, 0
+ bl sub_800641C
+ ldr r0, [r5]
+ movs r1, 0xD7
+ lsls r1, 2
+ adds r0, r1
+ bl sub_8013984
+ bl sub_8023420
+ bl sub_80234BC
+ cmp r4, 0
+ beq _08023396
+ ldr r0, [r5]
+ movs r1, 0xD7
+ lsls r1, 2
+ adds r0, r1
+ bl AddMenuCursorSprite
+_08023396:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0802339C: .4byte gUnknown_3001B5C
+ thumb_func_end sub_8023354
+
+ thumb_func_start sub_80233A0
+sub_80233A0:
+ push {r4-r6,lr}
+ ldr r5, _08023408
+ ldr r2, [r5]
+ cmp r2, 0
+ beq _08023400
+ ldr r1, _0802340C
+ ldr r0, [r2, 0x4]
+ str r0, [r1]
+ ldr r1, _08023410
+ movs r3, 0xDD
+ lsls r3, 2
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ strh r0, [r1]
+ ldr r1, _08023414
+ ldr r6, _08023418
+ adds r0, r2, r6
+ ldrh r0, [r0]
+ strh r0, [r1]
+ movs r1, 0xE4
+ lsls r1, 2
+ adds r0, r2, r1
+ ldr r0, [r0]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ movs r4, 0xE6
+ lsls r4, 2
+ adds r1, r4
+ ldr r0, _0802341C
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ bl sub_8004914
+ ldr r0, [r5]
+ adds r0, r4
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r5]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r5]
+_08023400:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08023408: .4byte gUnknown_3001B5C
+_0802340C: .4byte gUnknown_203B298
+_08023410: .4byte gUnknown_203B29C
+_08023414: .4byte gUnknown_203B29E
+_08023418: .4byte 0x0000037a
+_0802341C: .4byte gUnknown_80DC904
+ thumb_func_end sub_80233A0
+
+ thumb_func_start sub_8023420
+sub_8023420:
+ push {r4,r5,lr}
+ ldr r4, _080234A8
+ ldr r0, [r4]
+ movs r1, 0xFE
+ lsls r1, 2
+ adds r0, r1
+ movs r2, 0
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldr r1, _080234AC
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r1, 0x1
+ adds r0, r1
+ movs r1, 0xC
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldr r1, _080234B0
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r4]
+ ldr r2, _080234B4
+ adds r0, r2
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ ldr r3, [r4]
+ movs r2, 0xE4
+ lsls r2, 2
+ adds r5, r3, r2
+ ldr r2, [r5]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r3, r1
+ ldr r2, _080234B8
+ adds r1, r2
+ lsls r0, 16
+ lsrs r0, 16
+ strh r0, [r1]
+ ldr r2, [r5]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r3, r1
+ movs r1, 0xEA
+ lsls r1, 2
+ adds r3, r1
+ strh r0, [r3]
+ bl sub_8004914
+ ldr r0, [r4]
+ movs r2, 0xE6
+ lsls r2, 2
+ adds r0, r2
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080234A8: .4byte gUnknown_3001B5C
+_080234AC: .4byte 0x000003f9
+_080234B0: .4byte 0x000003fb
+_080234B4: .4byte 0x00000376
+_080234B8: .4byte 0x000003a6
+ thumb_func_end sub_8023420
+
+ thumb_func_start sub_80234BC
+sub_80234BC:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x178
+ ldr r5, _0802368C
+ ldr r0, [r5]
+ movs r4, 0xE4
+ lsls r4, 2
+ adds r0, r4
+ ldr r0, [r0]
+ bl sub_8008C54
+ ldr r0, [r5]
+ adds r0, r4
+ ldr r0, [r0]
+ bl sub_80073B8
+ ldr r2, _08023690
+ ldr r0, [r5]
+ adds r0, r4
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r3, [r5]
+ ldr r1, _08023694
+ adds r0, r3, r1
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r0, 0x4
+ ldr r2, _08023698
+ adds r1, r3, r2
+ movs r6, 0
+ ldrsh r2, [r1, r6]
+ adds r2, 0x1
+ movs r1, 0x7
+ str r1, [sp]
+ adds r3, r4
+ ldr r1, [r3]
+ str r1, [sp, 0x4]
+ movs r1, 0
+ movs r3, 0x2
+ bl sub_8012BC4
+ movs r0, 0
+ mov r10, r0
+ ldr r0, [r5]
+ ldr r1, _0802369C
+ adds r0, r1
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r10, r0
+ blt _08023532
+ b _0802366C
+_08023532:
+ ldr r3, _0802368C
+ ldr r0, [r3]
+ movs r6, 0xD7
+ lsls r6, 2
+ adds r0, r6
+ mov r1, r10
+ bl sub_8013800
+ mov r8, r0
+ ldr r0, _0802368C
+ ldr r1, [r0]
+ ldr r2, _08023698
+ adds r0, r1, r2
+ movs r3, 0
+ ldrsh r2, [r0, r3]
+ adds r6, 0x1C
+ adds r0, r1, r6
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ muls r0, r2
+ add r0, r10
+ lsls r0, 1
+ adds r1, 0xC
+ adds r1, r0
+ movs r6, 0
+ ldrsh r5, [r1, r6]
+ adds r0, r5, 0
+ bl GetFriendArea
+ lsls r0, 24
+ lsrs r0, 24
+ add r4, sp, 0x16C
+ adds r1, r4, 0
+ movs r2, 0
+ movs r3, 0
+ bl sub_8092638
+ movs r7, 0x7
+ ldrb r0, [r4, 0x4]
+ cmp r0, 0
+ beq _08023594
+ adds r0, r5, 0
+ bl sub_808E734
+ lsls r0, 24
+ movs r7, 0x4
+ cmp r0, 0
+ beq _08023594
+ movs r7, 0x5
+_08023594:
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_808DCA0
+ lsls r0, 16
+ asrs r4, r0, 16
+ adds r0, r4, 0
+ movs r1, 0xA
+ bl __modsi3
+ adds r2, r0, 0
+ adds r2, 0x30
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r6, _0802368C
+ ldr r0, [r6]
+ movs r1, 0xE4
+ lsls r1, 2
+ mov r9, r1
+ add r0, r9
+ ldr r0, [r0]
+ str r0, [sp]
+ movs r0, 0x14
+ mov r1, r8
+ adds r3, r7, 0
+ bl sub_8012C60
+ cmp r4, 0x9
+ ble _08023628
+ adds r0, r4, 0
+ movs r1, 0xA
+ bl __divsi3
+ adds r4, r0, 0
+ movs r1, 0xA
+ bl __modsi3
+ adds r2, r0, 0
+ adds r2, 0x30
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r0, [r6]
+ movs r3, 0xE4
+ lsls r3, 2
+ adds r0, r3
+ ldr r0, [r0]
+ str r0, [sp]
+ movs r0, 0xD
+ mov r1, r8
+ adds r3, r7, 0
+ bl sub_8012C60
+ cmp r4, 0x9
+ ble _08023628
+ adds r0, r4, 0
+ movs r1, 0xA
+ bl __divsi3
+ movs r1, 0xA
+ bl __modsi3
+ adds r2, r0, 0
+ adds r2, 0x30
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r0, [r6]
+ add r0, r9
+ ldr r0, [r0]
+ str r0, [sp]
+ movs r0, 0x6
+ mov r1, r8
+ adds r3, r7, 0
+ bl sub_8012C60
+_08023628:
+ add r4, sp, 0x108
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_808D930
+ add r0, sp, 0x8
+ ldr r1, _080236A0
+ adds r2, r7, 0
+ adds r3, r4, 0
+ bl sub_800D158
+ ldr r6, _0802368C
+ ldr r0, [r6]
+ movs r1, 0xE4
+ lsls r1, 2
+ adds r0, r1
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x24
+ mov r1, r8
+ add r2, sp, 0x8
+ bl xxx_call_draw_string
+ movs r2, 0x1
+ add r10, r2
+ ldr r0, [r6]
+ ldr r3, _0802369C
+ adds r0, r3
+ movs r6, 0
+ ldrsh r0, [r0, r6]
+ cmp r10, r0
+ bge _0802366C
+ b _08023532
+_0802366C:
+ ldr r0, _0802368C
+ ldr r0, [r0]
+ movs r1, 0xE4
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bl sub_80073E0
+ add sp, 0x178
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0802368C: .4byte gUnknown_3001B5C
+_08023690: .4byte gUnknown_80DC934
+_08023694: .4byte 0x000003fa
+_08023698: .4byte 0x0000037a
+_0802369C: .4byte 0x00000376
+_080236A0: .4byte gUnknown_80DC93C
+ thumb_func_end sub_80234BC
+
+ thumb_func_start sub_80236A4
+sub_80236A4:
+ push {r4,r5,lr}
+ ldr r0, _080236FC
+ ldr r1, [r0]
+ movs r0, 0
+ str r0, [r1, 0x8]
+ movs r5, 0
+_080236B0:
+ lsls r0, r5, 16
+ asrs r4, r0, 16
+ adds r0, r4, 0
+ bl sub_8098134
+ lsls r0, 24
+ cmp r0, 0
+ beq _080236E2
+ adds r0, r4, 0
+ bl sub_808E858
+ lsls r0, 16
+ asrs r0, 16
+ cmp r4, r0
+ bne _080236E2
+ ldr r0, _080236FC
+ ldr r3, [r0]
+ ldr r1, [r3, 0x8]
+ lsls r2, r1, 1
+ adds r0, r3, 0
+ adds r0, 0xC
+ adds r0, r2
+ strh r5, [r0]
+ adds r1, 0x1
+ str r1, [r3, 0x8]
+_080236E2:
+ adds r5, 0x1
+ ldr r0, _08023700
+ cmp r5, r0
+ ble _080236B0
+ bl sub_8023730
+ ldr r0, _080236FC
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080236FC: .4byte gUnknown_3001B5C
+_08023700: .4byte 0x000001a7
+ thumb_func_end sub_80236A4
+
+ thumb_func_start sub_8023704
+sub_8023704:
+ push {r4,lr}
+ movs r4, 0
+_08023708:
+ lsls r0, r4, 16
+ asrs r0, 16
+ bl sub_8098134
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802371A
+ movs r0, 0
+ b _08023724
+_0802371A:
+ adds r4, 0x1
+ ldr r0, _0802372C
+ cmp r4, r0
+ ble _08023708
+ movs r0, 0x1
+_08023724:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0802372C: .4byte 0x000001a7
+ thumb_func_end sub_8023704
+
+ thumb_func_start sub_8023730
+sub_8023730:
+ push {lr}
+ ldr r0, _08023744
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ cmp r0, 0x1
+ beq _08023748
+ cmp r0, 0x2
+ beq _0802374E
+ b _08023752
+ .align 2, 0
+_08023744: .4byte gUnknown_3001B5C
+_08023748:
+ bl sub_8023758
+ b _08023752
+_0802374E:
+ bl sub_80237E0
+_08023752:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8023730
+
+ thumb_func_start sub_8023758
+sub_8023758:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ ldr r3, _080237DC
+ ldr r2, [r3]
+ ldr r1, [r2, 0x8]
+ lsls r0, r1, 1
+ adds r0, 0xA
+ adds r2, r0
+ mov r9, r2
+ movs r2, 0
+ subs r1, 0x1
+ cmp r2, r1
+ bge _080237CC
+_08023778:
+ mov r5, r9
+ ldr r0, [r3]
+ ldr r0, [r0, 0x8]
+ subs r7, r0, 0x1
+ adds r0, r2, 0x1
+ mov r8, r0
+ cmp r7, r2
+ ble _080237BE
+_08023788:
+ subs r6, r5, 0x2
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ movs r1, 0x1
+ str r2, [sp]
+ bl sub_808DCDC
+ adds r4, r0, 0
+ movs r1, 0
+ ldrsh r0, [r5, r1]
+ movs r1, 0x1
+ bl sub_808DCDC
+ lsls r4, 16
+ lsls r0, 16
+ ldr r2, [sp]
+ cmp r4, r0
+ ble _080237B6
+ movs r0, 0
+ ldrsh r1, [r5, r0]
+ ldrh r0, [r6]
+ strh r0, [r5]
+ strh r1, [r6]
+_080237B6:
+ adds r5, r6, 0
+ subs r7, 0x1
+ cmp r7, r2
+ bgt _08023788
+_080237BE:
+ mov r2, r8
+ ldr r3, _080237DC
+ ldr r0, [r3]
+ ldr r0, [r0, 0x8]
+ subs r0, 0x1
+ cmp r2, r0
+ blt _08023778
+_080237CC:
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080237DC: .4byte gUnknown_3001B5C
+ thumb_func_end sub_8023758
+
+ thumb_func_start sub_80237E0
+sub_80237E0:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ ldr r3, _08023864
+ ldr r2, [r3]
+ ldr r1, [r2, 0x8]
+ lsls r0, r1, 1
+ adds r0, 0xA
+ adds r2, r0
+ mov r9, r2
+ movs r2, 0
+ subs r1, 0x1
+ cmp r2, r1
+ bge _08023854
+_08023800:
+ mov r5, r9
+ ldr r0, [r3]
+ ldr r0, [r0, 0x8]
+ subs r7, r0, 0x1
+ adds r0, r2, 0x1
+ mov r8, r0
+ cmp r7, r2
+ ble _08023846
+_08023810:
+ subs r6, r5, 0x2
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ movs r1, 0
+ str r2, [sp]
+ bl sub_808DCDC
+ adds r4, r0, 0
+ movs r1, 0
+ ldrsh r0, [r5, r1]
+ movs r1, 0
+ bl sub_808DCDC
+ lsls r4, 16
+ lsls r0, 16
+ ldr r2, [sp]
+ cmp r4, r0
+ ble _0802383E
+ movs r0, 0
+ ldrsh r1, [r5, r0]
+ ldrh r0, [r6]
+ strh r0, [r5]
+ strh r1, [r6]
+_0802383E:
+ adds r5, r6, 0
+ subs r7, 0x1
+ cmp r7, r2
+ bgt _08023810
+_08023846:
+ mov r2, r8
+ ldr r3, _08023864
+ ldr r0, [r3]
+ ldr r0, [r0, 0x8]
+ subs r0, 0x1
+ cmp r2, r0
+ blt _08023800
+_08023854:
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08023864: .4byte gUnknown_3001B5C
+ thumb_func_end sub_80237E0
+
+ thumb_func_start sub_8023868
+sub_8023868:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ adds r5, r0, 0
+ mov r8, r1
+ mov r9, r2
+ mov r10, r3
+ bl sub_8024108
+ lsls r0, 24
+ cmp r0, 0
+ beq _08023888
+ movs r0, 0
+ b _08023A6E
+_08023888:
+ ldr r4, _080238AC
+ ldr r0, [r4]
+ cmp r0, 0
+ bne _0802389C
+ movs r0, 0xFE
+ lsls r0, 2
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+_0802389C:
+ ldr r1, [r4]
+ str r5, [r1]
+ ldr r0, _080238B0
+ ldr r0, [r0]
+ cmp r0, r5
+ beq _080238B4
+ movs r0, 0x1
+ b _080238B8
+ .align 2, 0
+_080238AC: .4byte gUnknown_3001B60
+_080238B0: .4byte gUnknown_203B2A0
+_080238B4:
+ ldr r0, _080238E4
+ ldr r0, [r0]
+_080238B8:
+ str r0, [r1, 0x4]
+ ldr r2, _080238E8
+ ldr r0, [r2]
+ movs r1, 0
+ strb r1, [r0, 0x14]
+ ldr r0, [r2]
+ strb r1, [r0, 0x15]
+ ldr r0, [r2]
+ strb r1, [r0, 0x16]
+ ldr r0, [r2]
+ strb r1, [r0, 0x17]
+ ldr r0, [r2]
+ strb r1, [r0, 0x18]
+ ldr r0, [r2]
+ ldr r0, [r0]
+ cmp r0, 0x4
+ bhi _08023980
+ lsls r0, 2
+ ldr r1, _080238EC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080238E4: .4byte gUnknown_203B2A4
+_080238E8: .4byte gUnknown_3001B60
+_080238EC: .4byte _080238F0
+ .align 2, 0
+_080238F0:
+ .4byte _08023958
+ .4byte _08023904
+ .4byte _08023914
+ .4byte _08023924
+ .4byte _0802393C
+_08023904:
+ ldr r0, _08023910
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0x18]
+ b _08023958
+ .align 2, 0
+_08023910: .4byte gUnknown_3001B60
+_08023914:
+ ldr r0, _08023920
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0x14]
+ b _08023958
+ .align 2, 0
+_08023920: .4byte gUnknown_3001B60
+_08023924:
+ ldr r2, _08023938
+ ldr r0, [r2]
+ movs r1, 0x1
+ strb r1, [r0, 0x17]
+ ldr r0, [r2]
+ strb r1, [r0, 0x15]
+ ldr r0, [r2]
+ strb r1, [r0, 0x16]
+ b _08023958
+ .align 2, 0
+_08023938: .4byte gUnknown_3001B60
+_0802393C:
+ ldr r5, _0802397C
+ ldr r0, [r5]
+ movs r4, 0x1
+ strb r4, [r0, 0x18]
+ ldr r0, [r5]
+ strb r4, [r0, 0x15]
+ movs r0, 0x9
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ bne _08023958
+ ldr r0, [r5]
+ strb r4, [r0, 0x16]
+_08023958:
+ ldr r4, _0802397C
+ ldr r0, [r4]
+ ldr r0, [r0]
+ cmp r0, 0x4
+ bne _08023980
+ bl sub_80A5728
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_8002658
+ ldr r1, [r4]
+ movs r2, 0xD5
+ lsls r2, 2
+ adds r1, r2
+ strb r0, [r1]
+ b _0802398E
+ .align 2, 0
+_0802397C: .4byte gUnknown_3001B60
+_08023980:
+ ldr r0, _08023A7C
+ ldr r0, [r0]
+ movs r3, 0xD5
+ lsls r3, 2
+ adds r0, r3
+ movs r1, 0
+ strb r1, [r0]
+_0802398E:
+ ldr r5, _08023A7C
+ ldr r0, [r5]
+ movs r4, 0xE3
+ lsls r4, 2
+ adds r1, r0, r4
+ mov r2, r8
+ str r2, [r1]
+ movs r7, 0xE4
+ lsls r7, 2
+ adds r2, r0, r7
+ mov r3, r8
+ lsls r1, r3, 1
+ add r1, r8
+ lsls r1, 3
+ movs r6, 0xE5
+ lsls r6, 2
+ adds r1, r6
+ adds r1, r0, r1
+ str r1, [r2]
+ adds r0, r6
+ bl sub_8006518
+ ldr r1, [r5]
+ adds r4, r1, r4
+ ldr r2, [r4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, r6
+ ldr r0, _08023A80
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r2, [r5]
+ adds r0, r2, r7
+ ldr r1, [r0]
+ movs r4, 0xFD
+ lsls r4, 2
+ adds r0, r2, r4
+ str r0, [r1, 0x14]
+ mov r0, r9
+ cmp r0, 0
+ beq _08023A04
+ movs r1, 0xE3
+ lsls r1, 2
+ adds r0, r2, r1
+ ldr r1, [r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ movs r3, 0xE7
+ lsls r3, 2
+ adds r1, r2, r3
+ adds r1, r0
+ mov r4, r9
+ ldr r0, [r4]
+ str r0, [r1]
+_08023A04:
+ ldr r0, [r5]
+ adds r0, r7
+ ldr r0, [r0]
+ mov r1, r10
+ bl sub_8012D08
+ bl sub_8004914
+ ldr r0, [r5]
+ adds r0, r6
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, [r5]
+ movs r0, 0xD6
+ lsls r0, 2
+ adds r4, r0
+ bl sub_8023F8C
+ adds r1, r0, 0
+ adds r0, r4, 0
+ mov r2, r10
+ mov r3, r8
+ bl sub_8013818
+ ldr r0, _08023A84
+ ldr r4, [r5]
+ ldr r1, [r0]
+ ldr r0, [r4]
+ cmp r1, r0
+ bne _08023A64
+ ldr r0, _08023A88
+ ldrh r1, [r0]
+ movs r2, 0xDC
+ lsls r2, 2
+ adds r0, r4, r2
+ strh r1, [r0]
+ ldr r0, _08023A8C
+ ldrh r1, [r0]
+ ldr r3, _08023A90
+ adds r0, r4, r3
+ strh r1, [r0]
+ movs r1, 0xD6
+ lsls r1, 2
+ adds r0, r4, r1
+ bl sub_8013984
+_08023A64:
+ bl sub_8023CF4
+ bl sub_8023DA4
+ movs r0, 0x1
+_08023A6E:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08023A7C: .4byte gUnknown_3001B60
+_08023A80: .4byte gUnknown_80DC968
+_08023A84: .4byte gUnknown_203B2A0
+_08023A88: .4byte gUnknown_203B2A8
+_08023A8C: .4byte gUnknown_203B2AA
+_08023A90: .4byte 0x00000376
+ thumb_func_end sub_8023868
+
+ thumb_func_start sub_8023A94
+sub_8023A94:
+ push {r4,lr}
+ lsls r0, 24
+ cmp r0, 0
+ bne _08023AB4
+ ldr r0, _08023AB0
+ ldr r0, [r0]
+ movs r1, 0xD6
+ lsls r1, 2
+ adds r0, r1
+ bl sub_8013660
+ movs r0, 0
+ b _08023B3E
+ .align 2, 0
+_08023AB0: .4byte gUnknown_3001B60
+_08023AB4:
+ ldr r4, _08023AD0
+ ldr r0, [r4]
+ movs r1, 0xD6
+ lsls r1, 2
+ adds r0, r1
+ bl GetKeyPress
+ cmp r0, 0x2
+ beq _08023ADE
+ cmp r0, 0x2
+ bgt _08023AD4
+ cmp r0, 0x1
+ beq _08023AF2
+ b _08023B16
+ .align 2, 0
+_08023AD0: .4byte gUnknown_3001B60
+_08023AD4:
+ cmp r0, 0x3
+ beq _08023AFC
+ cmp r0, 0x4
+ beq _08023AE8
+ b _08023B16
+_08023ADE:
+ movs r0, 0x1
+ bl sub_80119D4
+ movs r0, 0x2
+ b _08023B3E
+_08023AE8:
+ movs r0, 0x4
+ bl sub_80119D4
+ movs r0, 0x4
+ b _08023B3E
+_08023AF2:
+ movs r0, 0
+ bl sub_80119D4
+ movs r0, 0x3
+ b _08023B3E
+_08023AFC:
+ movs r0, 0x5
+ bl sub_80119D4
+ ldr r0, [r4]
+ ldr r1, [r0, 0x4]
+ movs r2, 0x1
+ cmp r1, 0x2
+ bhi _08023B0E
+ adds r2, r1, 0x1
+_08023B0E:
+ str r2, [r0, 0x4]
+ bl sub_8023F8C
+ b _08023B34
+_08023B16:
+ ldr r0, _08023B30
+ ldr r0, [r0]
+ movs r1, 0xD6
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08023B34
+ movs r0, 0
+ b _08023B3E
+ .align 2, 0
+_08023B30: .4byte gUnknown_3001B60
+_08023B34:
+ bl sub_8023CF4
+ bl sub_8023DA4
+ movs r0, 0x1
+_08023B3E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8023A94
+
+ thumb_func_start sub_8023B44
+sub_8023B44:
+ ldr r0, _08023B74
+ ldr r0, [r0]
+ ldr r2, _08023B78
+ adds r1, r0, r2
+ movs r3, 0
+ ldrsh r2, [r1, r3]
+ movs r3, 0xDD
+ lsls r3, 2
+ adds r1, r0, r3
+ movs r3, 0
+ ldrsh r1, [r1, r3]
+ muls r1, r2
+ movs r3, 0xDC
+ lsls r3, 2
+ adds r2, r0, r3
+ movs r3, 0
+ ldrsh r2, [r2, r3]
+ adds r1, r2
+ lsls r1, 1
+ adds r0, 0x1A
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_08023B74: .4byte gUnknown_3001B60
+_08023B78: .4byte 0x00000376
+ thumb_func_end sub_8023B44
+
+ thumb_func_start sub_8023B7C
+sub_8023B7C:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_8004914
+ ldr r5, _08023BD0
+ ldr r0, [r5]
+ movs r1, 0xE5
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0
+ movs r2, 0
+ bl sub_800641C
+ bl sub_8023BD8
+ adds r2, r0, 0
+ ldr r0, [r5]
+ ldr r3, _08023BD4
+ adds r1, r0, r3
+ strh r2, [r1]
+ movs r1, 0xD6
+ lsls r1, 2
+ adds r0, r1
+ bl sub_8013984
+ bl sub_8023CF4
+ bl sub_8023DA4
+ cmp r4, 0
+ beq _08023BCA
+ ldr r0, [r5]
+ movs r3, 0xD6
+ lsls r3, 2
+ adds r0, r3
+ bl AddMenuCursorSprite
+_08023BCA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08023BD0: .4byte gUnknown_3001B60
+_08023BD4: .4byte 0x0000037a
+ thumb_func_end sub_8023B7C
+
+ thumb_func_start sub_8023BD8
+sub_8023BD8:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r3, 0
+ ldr r1, _08023C58
+ ldr r0, [r1]
+ ldr r0, [r0, 0x8]
+ adds r7, r1, 0
+ cmp r3, r0
+ bge _08023C4A
+ ldr r0, _08023C5C
+ mov r8, r0
+ mov r12, r7
+_08023BF2:
+ ldr r2, [r1]
+ lsls r4, r3, 1
+ adds r0, r2, 0
+ adds r0, 0x1A
+ adds r0, r4
+ movs r5, 0
+ ldrsh r1, [r0, r5]
+ movs r0, 0x58
+ muls r0, r1
+ mov r5, r8
+ ldr r1, [r5]
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ adds r6, r3, 0x1
+ cmp r0, 0
+ bne _08023C3E
+ ldr r0, [r2, 0x8]
+ subs r0, 0x1
+ str r0, [r2, 0x8]
+ cmp r3, r0
+ bge _08023C3E
+ mov r5, r12
+ adds r4, 0x2
+_08023C24:
+ ldr r2, [r5]
+ lsls r1, r3, 1
+ adds r0, r2, 0
+ adds r0, 0x1A
+ adds r1, r0, r1
+ adds r0, r4
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r4, 0x2
+ adds r3, 0x1
+ ldr r0, [r2, 0x8]
+ cmp r3, r0
+ blt _08023C24
+_08023C3E:
+ adds r3, r6, 0
+ adds r1, r7, 0
+ ldr r0, [r7]
+ ldr r0, [r0, 0x8]
+ cmp r3, r0
+ blt _08023BF2
+_08023C4A:
+ ldr r0, [r7]
+ ldr r0, [r0, 0x8]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08023C58: .4byte gUnknown_3001B60
+_08023C5C: .4byte gUnknown_203B45C
+ thumb_func_end sub_8023BD8
+
+ thumb_func_start sub_8023C60
+sub_8023C60:
+ push {r4-r6,lr}
+ ldr r5, _08023CCC
+ ldr r2, [r5]
+ cmp r2, 0
+ beq _08023CC6
+ ldr r1, _08023CD0
+ ldr r0, [r2]
+ str r0, [r1]
+ ldr r1, _08023CD4
+ ldr r0, [r2, 0x4]
+ str r0, [r1]
+ ldr r1, _08023CD8
+ movs r3, 0xDC
+ lsls r3, 2
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ strh r0, [r1]
+ ldr r1, _08023CDC
+ ldr r6, _08023CE0
+ adds r0, r2, r6
+ ldrh r0, [r0]
+ strh r0, [r1]
+ movs r1, 0xE3
+ lsls r1, 2
+ adds r0, r2, r1
+ ldr r0, [r0]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ movs r4, 0xE5
+ lsls r4, 2
+ adds r1, r4
+ ldr r0, _08023CE4
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ bl sub_8004914
+ ldr r0, [r5]
+ adds r0, r4
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r5]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r5]
+_08023CC6:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08023CCC: .4byte gUnknown_3001B60
+_08023CD0: .4byte gUnknown_203B2A0
+_08023CD4: .4byte gUnknown_203B2A4
+_08023CD8: .4byte gUnknown_203B2A8
+_08023CDC: .4byte gUnknown_203B2AA
+_08023CE0: .4byte 0x00000376
+_08023CE4: .4byte gUnknown_80DC950
+ thumb_func_end sub_8023C60
+
+ thumb_func_start sub_8023CE8
+sub_8023CE8:
+ ldr r0, _08023CF0
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+_08023CF0: .4byte gUnknown_3001B60
+ thumb_func_end sub_8023CE8
+
+ thumb_func_start sub_8023CF4
+sub_8023CF4:
+ push {r4,r5,lr}
+ ldr r2, _08023D28
+ ldr r0, [r2]
+ movs r1, 0xFD
+ lsls r1, 2
+ adds r0, r1
+ movs r3, 0
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r1, _08023D2C
+ adds r0, r1
+ strb r3, [r0]
+ ldr r0, [r2]
+ adds r1, 0x2
+ adds r0, r1
+ strb r3, [r0]
+ ldr r1, [r2]
+ ldr r0, [r1]
+ adds r5, r2, 0
+ cmp r0, 0x2
+ bne _08023D34
+ ldr r0, _08023D30
+ adds r1, r0
+ b _08023D38
+ .align 2, 0
+_08023D28: .4byte gUnknown_3001B60
+_08023D2C: .4byte 0x000003f5
+_08023D30: .4byte 0x000003f6
+_08023D34:
+ ldr r2, _08023D98
+ adds r1, r2
+_08023D38:
+ movs r0, 0xC
+ strb r0, [r1]
+ ldr r0, [r5]
+ ldr r1, _08023D9C
+ adds r0, r1
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ ldr r3, [r5]
+ movs r1, 0xE3
+ lsls r1, 2
+ adds r4, r3, r1
+ ldr r2, [r4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r3, r1
+ ldr r2, _08023DA0
+ adds r1, r2
+ lsls r0, 16
+ lsrs r0, 16
+ strh r0, [r1]
+ ldr r2, [r4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r3, r1
+ movs r1, 0xE9
+ lsls r1, 2
+ adds r3, r1
+ strh r0, [r3]
+ bl sub_8004914
+ ldr r0, [r5]
+ movs r2, 0xE5
+ lsls r2, 2
+ adds r0, r2
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08023D98: .4byte 0x000003f6
+_08023D9C: .4byte 0x00000372
+_08023DA0: .4byte 0x000003a2
+ thumb_func_end sub_8023CF4
+
+ thumb_func_start sub_8023DA4
+sub_8023DA4:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x58
+ ldr r4, _08023DD8
+ ldr r0, [r4]
+ movs r5, 0xE3
+ lsls r5, 2
+ adds r0, r5
+ ldr r0, [r0]
+ bl sub_8008C54
+ ldr r0, [r4]
+ adds r0, r5
+ ldr r0, [r0]
+ bl sub_80073B8
+ ldr r0, [r4]
+ ldr r1, [r0]
+ cmp r1, 0x2
+ beq _08023DE0
+ cmp r1, 0x4
+ beq _08023E00
+ ldr r2, _08023DDC
+ b _08023E02
+ .align 2, 0
+_08023DD8: .4byte gUnknown_3001B60
+_08023DDC: .4byte gUnknown_80DC988
+_08023DE0:
+ add r0, sp, 0x8
+ bl sub_80920D8
+ ldr r0, [r4]
+ movs r1, 0xE3
+ lsls r1, 2
+ adds r0, r1
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ movs r1, 0
+ add r2, sp, 0x8
+ bl xxx_call_draw_string
+ b _08023E3C
+_08023E00:
+ ldr r2, _08023EBC
+_08023E02:
+ adds r0, r5
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r1, [r4]
+ ldr r2, _08023EC0
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r3, r0, 0x4
+ ldr r4, _08023EC4
+ adds r0, r1, r4
+ movs r4, 0
+ ldrsh r2, [r0, r4]
+ adds r2, 0x1
+ movs r0, 0x7
+ str r0, [sp]
+ adds r1, r5
+ ldr r0, [r1]
+ str r0, [sp, 0x4]
+ adds r0, r3, 0
+ movs r1, 0
+ movs r3, 0x2
+ bl sub_8012BC4
+_08023E3C:
+ movs r7, 0
+ ldr r1, _08023EC8
+ ldr r0, [r1]
+ ldr r2, _08023ECC
+ adds r0, r2
+ movs r4, 0
+ ldrsh r0, [r0, r4]
+ cmp r7, r0
+ blt _08023E50
+ b _08023F62
+_08023E50:
+ mov r8, r1
+ add r0, sp, 0x30
+ mov r9, r0
+_08023E56:
+ ldr r3, [r1]
+ ldr r1, _08023EC4
+ adds r0, r3, r1
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ movs r4, 0xDD
+ lsls r4, 2
+ adds r0, r3, r4
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ muls r1, r0
+ adds r1, r7
+ lsls r1, 1
+ adds r0, r3, 0
+ adds r0, 0x1A
+ adds r0, r1
+ movs r4, 0
+ ldrsh r5, [r0, r4]
+ ldr r2, _08023ED0
+ movs r0, 0x58
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, [r2]
+ adds r4, r0, r1
+ movs r6, 0x7
+ ldrh r0, [r4]
+ lsrs r0, 1
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08023ED4
+ movs r0, 0
+ ldrb r1, [r4, 0x4]
+ cmp r1, 0x41
+ bne _08023E9E
+ movs r0, 0x1
+_08023E9E:
+ cmp r0, 0
+ beq _08023EA4
+ movs r6, 0x6
+_08023EA4:
+ movs r0, 0
+ cmp r1, 0x40
+ bne _08023EAC
+ movs r0, 0x1
+_08023EAC:
+ cmp r0, 0
+ beq _08023EB2
+ movs r6, 0x6
+_08023EB2:
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0
+ beq _08023EEA
+ movs r6, 0x5
+ b _08023EEA
+ .align 2, 0
+_08023EBC: .4byte gUnknown_80DC980
+_08023EC0: .4byte 0x000003f6
+_08023EC4: .4byte 0x00000376
+_08023EC8: .4byte gUnknown_3001B60
+_08023ECC: .4byte 0x00000372
+_08023ED0: .4byte gUnknown_203B45C
+_08023ED4:
+ ldrb r0, [r3, 0x18]
+ cmp r0, 0
+ beq _08023EEA
+ adds r0, r5, 0
+ bl sub_808D750
+ lsls r0, 24
+ movs r6, 0x2
+ cmp r0, 0
+ beq _08023EEA
+ movs r6, 0x4
+_08023EEA:
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r0, [r1]
+ cmp r0, 0x4
+ bne _08023F02
+ movs r2, 0xD5
+ lsls r2, 2
+ adds r0, r1, r2
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ bl sub_8024184
+_08023F02:
+ adds r1, r4, 0
+ adds r1, 0x4C
+ mov r0, r9
+ movs r2, 0xA
+ bl sub_80922B4
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ add r0, sp, 0x44
+ bl sub_808D930
+ add r0, sp, 0x8
+ ldr r1, _08023F80
+ adds r2, r6, 0
+ mov r3, r9
+ bl sub_800D158
+ mov r1, r8
+ ldr r0, [r1]
+ movs r2, 0xD6
+ lsls r2, 2
+ adds r0, r2
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ mov r4, r8
+ ldr r0, [r4]
+ movs r2, 0xE3
+ lsls r2, 2
+ adds r0, r2
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ add r2, sp, 0x8
+ bl xxx_call_draw_string
+ adds r7, 0x1
+ mov r1, r8
+ ldr r0, [r4]
+ ldr r4, _08023F84
+ adds r0, r4
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r7, r0
+ bge _08023F62
+ b _08023E56
+_08023F62:
+ ldr r0, _08023F88
+ ldr r0, [r0]
+ movs r4, 0xE3
+ lsls r4, 2
+ adds r0, r4
+ ldr r0, [r0]
+ bl sub_80073E0
+ add sp, 0x58
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08023F80: .4byte gUnknown_80DC998
+_08023F84: .4byte 0x00000372
+_08023F88: .4byte gUnknown_3001B60
+ thumb_func_end sub_8023DA4
+
+ thumb_func_start sub_8023F8C
+sub_8023F8C:
+ push {r4-r7,lr}
+ ldr r2, _08023FD0
+ ldr r1, [r2]
+ movs r0, 0
+ str r0, [r1, 0x8]
+ ldrb r0, [r1, 0x15]
+ adds r6, r2, 0
+ cmp r0, 0
+ bne _08023FE2
+ movs r4, 0
+ ldr r2, _08023FD4
+_08023FA2:
+ movs r0, 0x58
+ adds r1, r4, 0
+ muls r1, r0
+ ldr r0, [r2]
+ adds r1, r0, r1
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0
+ beq _08023FD8
+ ldrb r1, [r1]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08023FD8
+ ldr r3, [r6]
+ ldr r1, [r3, 0x8]
+ lsls r2, r1, 1
+ adds r0, r3, 0
+ adds r0, 0x1A
+ adds r0, r2
+ strh r4, [r0]
+ adds r1, 0x1
+ str r1, [r3, 0x8]
+ b _08023FE2
+ .align 2, 0
+_08023FD0: .4byte gUnknown_3001B60
+_08023FD4: .4byte gUnknown_203B45C
+_08023FD8:
+ adds r4, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r4, r0
+ ble _08023FA2
+_08023FE2:
+ ldr r0, [r6]
+ ldrb r0, [r0, 0x16]
+ cmp r0, 0
+ bne _08024042
+ movs r4, 0
+ ldr r3, _08024034
+_08023FEE:
+ movs r0, 0x58
+ adds r1, r4, 0
+ muls r1, r0
+ ldr r0, [r3]
+ adds r1, r0, r1
+ movs r2, 0
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0x41
+ bne _08024002
+ movs r2, 0x1
+_08024002:
+ cmp r2, 0
+ beq _08024038
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0
+ bne _08024038
+ ldrh r1, [r1]
+ lsrs r0, r1, 1
+ movs r2, 0x1
+ ands r0, r2
+ cmp r0, 0
+ beq _08024038
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08024038
+ ldr r3, [r6]
+ ldr r1, [r3, 0x8]
+ lsls r2, r1, 1
+ adds r0, r3, 0
+ adds r0, 0x1A
+ adds r0, r2
+ strh r4, [r0]
+ adds r1, 0x1
+ str r1, [r3, 0x8]
+ b _08024042
+ .align 2, 0
+_08024034: .4byte gUnknown_203B45C
+_08024038:
+ adds r4, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r4, r0
+ ble _08023FEE
+_08024042:
+ ldr r0, [r6]
+ ldr r1, [r0, 0x8]
+ str r1, [r0, 0xC]
+ ldrb r0, [r0, 0x17]
+ cmp r0, 0
+ bne _080240A4
+ movs r4, 0
+ ldr r7, _08024100
+ movs r5, 0x1
+_08024054:
+ movs r0, 0x58
+ adds r1, r4, 0
+ muls r1, r0
+ ldr r0, [r7]
+ adds r1, r0, r1
+ ldrh r2, [r1]
+ lsrs r0, r2, 1
+ ands r0, r5
+ cmp r0, 0
+ beq _0802409A
+ adds r0, r5, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _0802409A
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0
+ bne _0802409A
+ movs r2, 0
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0x41
+ bne _08024080
+ movs r2, 0x1
+_08024080:
+ cmp r2, 0
+ bne _0802409A
+ ldr r3, [r6]
+ ldr r1, [r3, 0x8]
+ lsls r2, r1, 1
+ adds r0, r3, 0
+ adds r0, 0x1A
+ adds r0, r2
+ strh r4, [r0]
+ adds r1, 0x1
+ str r1, [r3, 0x8]
+ cmp r1, 0x3
+ bgt _080240A4
+_0802409A:
+ adds r4, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r4, r0
+ ble _08024054
+_080240A4:
+ ldr r0, [r6]
+ ldr r1, [r0, 0x8]
+ str r1, [r0, 0x10]
+ ldrb r0, [r0, 0x14]
+ cmp r0, 0
+ bne _080240EE
+ movs r4, 0
+ ldr r7, _08024100
+ movs r5, 0x1
+_080240B6:
+ movs r0, 0x58
+ adds r1, r4, 0
+ muls r1, r0
+ ldr r0, [r7]
+ adds r1, r0, r1
+ ldrh r1, [r1]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080240E4
+ lsrs r0, r1, 1
+ ands r0, r5
+ cmp r0, 0
+ bne _080240E4
+ ldr r3, [r6]
+ ldr r1, [r3, 0x8]
+ lsls r2, r1, 1
+ adds r0, r3, 0
+ adds r0, 0x1A
+ adds r0, r2
+ strh r4, [r0]
+ adds r1, 0x1
+ str r1, [r3, 0x8]
+_080240E4:
+ adds r4, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r4, r0
+ ble _080240B6
+_080240EE:
+ bl sub_80241A8
+ ldr r0, _08024104
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08024100: .4byte gUnknown_203B45C
+_08024104: .4byte gUnknown_3001B60
+ thumb_func_end sub_8023F8C
+
+ thumb_func_start sub_8024108
+sub_8024108:
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ movs r7, 0
+ movs r6, 0x1
+_08024110:
+ ldr r2, _08024134
+ movs r0, 0x58
+ adds r1, r7, 0
+ muls r1, r0
+ ldr r0, [r2]
+ adds r4, r0, r1
+ ldrh r1, [r4]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08024172
+ cmp r5, 0x2
+ bne _08024138
+ lsrs r0, r1, 1
+ ands r0, r6
+ cmp r0, 0
+ beq _08024172
+ b _0802416E
+ .align 2, 0
+_08024134: .4byte gUnknown_203B45C
+_08024138:
+ cmp r5, 0x3
+ bne _08024140
+ lsrs r0, r1, 1
+ b _08024168
+_08024140:
+ cmp r5, 0x4
+ bne _0802416E
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0
+ bne _08024172
+ movs r0, 0x9
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802416E
+ movs r1, 0
+ ldrb r0, [r4, 0x4]
+ cmp r0, 0x41
+ bne _08024160
+ movs r1, 0x1
+_08024160:
+ cmp r1, 0
+ beq _0802416E
+ ldrh r0, [r4]
+ lsrs r0, 1
+_08024168:
+ ands r0, r6
+ cmp r0, 0
+ bne _08024172
+_0802416E:
+ movs r0, 0
+ b _0802417E
+_08024172:
+ adds r7, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r7, r0
+ ble _08024110
+ movs r0, 0x1
+_0802417E:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8024108
+
+ thumb_func_start sub_8024184
+sub_8024184:
+ push {r4,lr}
+ lsls r4, r1, 24
+ lsrs r4, 24
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ bl GetFriendArea
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ beq _0802419E
+ movs r0, 0
+ b _080241A0
+_0802419E:
+ movs r0, 0x1
+_080241A0:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8024184
+
+ thumb_func_start sub_80241A8
+sub_80241A8:
+ push {r4,lr}
+ ldr r4, _080241C0
+ ldr r1, [r4]
+ ldr r0, [r1, 0x4]
+ cmp r0, 0x2
+ beq _080241CA
+ cmp r0, 0x2
+ bhi _080241C4
+ cmp r0, 0x1
+ beq _08024206
+ b _08024222
+ .align 2, 0
+_080241C0: .4byte gUnknown_3001B60
+_080241C4:
+ cmp r0, 0x3
+ beq _080241E8
+ b _08024222
+_080241CA:
+ ldr r0, [r1, 0xC]
+ ldr r1, [r1, 0x10]
+ cmp r0, r1
+ beq _080241D6
+ bl sub_80242D0
+_080241D6:
+ ldr r0, [r4]
+ ldr r2, [r0, 0x10]
+ ldr r1, [r0, 0x8]
+ cmp r2, r1
+ beq _08024222
+ adds r0, r2, 0
+ bl sub_80242D0
+ b _08024222
+_080241E8:
+ ldr r0, [r1, 0xC]
+ ldr r1, [r1, 0x10]
+ cmp r0, r1
+ beq _080241F4
+ bl sub_802437C
+_080241F4:
+ ldr r0, [r4]
+ ldr r2, [r0, 0x10]
+ ldr r1, [r0, 0x8]
+ cmp r2, r1
+ beq _08024222
+ adds r0, r2, 0
+ bl sub_802437C
+ b _08024222
+_08024206:
+ ldr r0, [r1, 0xC]
+ ldr r1, [r1, 0x10]
+ cmp r0, r1
+ beq _08024212
+ bl sub_8024228
+_08024212:
+ ldr r0, [r4]
+ ldr r2, [r0, 0x10]
+ ldr r1, [r0, 0x8]
+ cmp r2, r1
+ beq _08024222
+ adds r0, r2, 0
+ bl sub_8024228
+_08024222:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80241A8
+
+ thumb_func_start sub_8024228
+sub_8024228:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ ldr r3, _080242C8
+ lsls r2, r1, 1
+ adds r2, 0x18
+ ldr r3, [r3]
+ adds r3, r2
+ str r3, [sp]
+ adds r2, r0, 0
+ subs r1, 0x1
+ cmp r2, r1
+ bge _080242B8
+ str r1, [sp, 0x4]
+_0802424A:
+ ldr r5, [sp]
+ adds r7, r1, 0
+ adds r0, r2, 0x1
+ mov r10, r0
+ cmp r7, r2
+ ble _080242B0
+ ldr r3, _080242CC
+ mov r9, r3
+ movs r0, 0x58
+ mov r8, r0
+_0802425E:
+ mov r3, r9
+ ldr r1, [r3]
+ subs r6, r5, 0x2
+ movs r3, 0
+ ldrsh r0, [r6, r3]
+ mov r3, r8
+ muls r3, r0
+ adds r0, r3, 0
+ adds r1, r0
+ movs r3, 0x8
+ ldrsh r0, [r1, r3]
+ str r2, [sp, 0x8]
+ bl sub_808DCFC
+ adds r4, r0, 0
+ mov r0, r9
+ ldr r1, [r0]
+ movs r3, 0
+ ldrsh r0, [r5, r3]
+ mov r3, r8
+ muls r3, r0
+ adds r0, r3, 0
+ adds r1, r0
+ movs r3, 0x8
+ ldrsh r0, [r1, r3]
+ bl sub_808DCFC
+ lsls r4, 16
+ lsls r0, 16
+ ldr r2, [sp, 0x8]
+ cmp r4, r0
+ ble _080242A8
+ movs r0, 0
+ ldrsh r1, [r5, r0]
+ ldrh r0, [r6]
+ strh r0, [r5]
+ strh r1, [r6]
+_080242A8:
+ adds r5, r6, 0
+ subs r7, 0x1
+ cmp r7, r2
+ bgt _0802425E
+_080242B0:
+ mov r2, r10
+ ldr r1, [sp, 0x4]
+ cmp r2, r1
+ blt _0802424A
+_080242B8:
+ add sp, 0xC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080242C8: .4byte gUnknown_3001B60
+_080242CC: .4byte gUnknown_203B45C
+ thumb_func_end sub_8024228
+
+ thumb_func_start sub_80242D0
+sub_80242D0:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ ldr r3, _08024374
+ lsls r2, r1, 1
+ adds r2, 0x18
+ ldr r3, [r3]
+ adds r3, r2
+ str r3, [sp]
+ adds r2, r0, 0
+ subs r1, 0x1
+ cmp r2, r1
+ bge _08024364
+ str r1, [sp, 0x4]
+_080242F2:
+ ldr r5, [sp]
+ adds r7, r1, 0
+ adds r0, r2, 0x1
+ mov r10, r0
+ cmp r7, r2
+ ble _0802435C
+ ldr r3, _08024378
+ mov r9, r3
+ movs r0, 0x58
+ mov r8, r0
+_08024306:
+ mov r3, r9
+ ldr r1, [r3]
+ subs r6, r5, 0x2
+ movs r3, 0
+ ldrsh r0, [r6, r3]
+ mov r3, r8
+ muls r3, r0
+ adds r0, r3, 0
+ adds r1, r0
+ movs r3, 0x8
+ ldrsh r0, [r1, r3]
+ movs r1, 0
+ str r2, [sp, 0x8]
+ bl sub_808DCDC
+ adds r4, r0, 0
+ mov r0, r9
+ ldr r1, [r0]
+ movs r3, 0
+ ldrsh r0, [r5, r3]
+ mov r3, r8
+ muls r3, r0
+ adds r0, r3, 0
+ adds r1, r0
+ movs r3, 0x8
+ ldrsh r0, [r1, r3]
+ movs r1, 0
+ bl sub_808DCDC
+ lsls r4, 16
+ lsls r0, 16
+ ldr r2, [sp, 0x8]
+ cmp r4, r0
+ ble _08024354
+ movs r0, 0
+ ldrsh r1, [r5, r0]
+ ldrh r0, [r6]
+ strh r0, [r5]
+ strh r1, [r6]
+_08024354:
+ adds r5, r6, 0
+ subs r7, 0x1
+ cmp r7, r2
+ bgt _08024306
+_0802435C:
+ mov r2, r10
+ ldr r1, [sp, 0x4]
+ cmp r2, r1
+ blt _080242F2
+_08024364:
+ add sp, 0xC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024374: .4byte gUnknown_3001B60
+_08024378: .4byte gUnknown_203B45C
+ thumb_func_end sub_80242D0
+
+ thumb_func_start sub_802437C
+sub_802437C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r3, _080243E4
+ lsls r2, r1, 1
+ adds r2, 0x18
+ ldr r3, [r3]
+ adds r3, r2
+ mov r10, r3
+ adds r7, r0, 0
+ subs r1, 0x1
+ cmp r7, r1
+ bge _080243D6
+ mov r9, r1
+_0802439C:
+ mov r4, r10
+ adds r6, r1, 0
+ adds r0, r7, 0x1
+ mov r8, r0
+ cmp r6, r7
+ ble _080243CE
+_080243A8:
+ subs r5, r4, 0x2
+ movs r1, 0
+ ldrsh r0, [r5, r1]
+ movs r2, 0
+ ldrsh r1, [r4, r2]
+ bl sub_808D864
+ lsls r0, 24
+ cmp r0, 0
+ beq _080243C6
+ movs r0, 0
+ ldrsh r1, [r4, r0]
+ ldrh r0, [r5]
+ strh r0, [r4]
+ strh r1, [r5]
+_080243C6:
+ adds r4, r5, 0
+ subs r6, 0x1
+ cmp r6, r7
+ bgt _080243A8
+_080243CE:
+ mov r7, r8
+ mov r1, r9
+ cmp r7, r1
+ blt _0802439C
+_080243D6:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080243E4: .4byte gUnknown_3001B60
+ thumb_func_end sub_802437C
+
+ thumb_func_start sub_80243E8
+sub_80243E8:
+ push {r4,r5,lr}
+ sub sp, 0x3C
+ ldr r3, _08024448
+ ldr r0, _0802444C
+ ldr r0, [r0]
+ ldr r2, _08024450
+ adds r1, r0, r2
+ movs r4, 0
+ ldrsh r2, [r1, r4]
+ movs r4, 0xDD
+ lsls r4, 2
+ adds r1, r0, r4
+ movs r4, 0
+ ldrsh r1, [r1, r4]
+ muls r1, r2
+ movs r4, 0xDC
+ lsls r4, 2
+ adds r2, r0, r4
+ movs r4, 0
+ ldrsh r2, [r2, r4]
+ adds r1, r2
+ lsls r1, 1
+ adds r0, 0x1A
+ adds r0, r1
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ movs r0, 0x58
+ muls r0, r1
+ ldr r4, [r3]
+ adds r4, r0
+ add r5, sp, 0x28
+ adds r1, r4, 0
+ adds r1, 0x4C
+ adds r0, r5, 0
+ movs r2, 0xA
+ bl sub_80922B4
+ ldr r1, _08024454
+ mov r0, sp
+ adds r2, r5, 0
+ bl sub_800D158
+ adds r0, r4, 0
+ add sp, 0x3C
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08024448: .4byte gUnknown_203B45C
+_0802444C: .4byte gUnknown_3001B60
+_08024450: .4byte 0x00000376
+_08024454: .4byte gUnknown_80DC9A4
+ thumb_func_end sub_80243E8
+
+ thumb_func_start sub_8024458
+sub_8024458:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ lsls r4, 16
+ asrs r4, 16
+ ldr r6, _080244DC
+ movs r0, 0xA6
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r6]
+ adds r1, r0, 0
+ adds r1, 0x48
+ strh r4, [r1]
+ adds r1, 0x98
+ str r5, [r1]
+ adds r2, r0, 0
+ adds r2, 0xE4
+ lsls r1, r5, 1
+ adds r1, r5
+ lsls r1, 3
+ adds r1, 0xE8
+ adds r1, r0, r1
+ str r1, [r2]
+ adds r0, 0xE8
+ bl sub_8006518
+ ldr r1, [r6]
+ adds r0, r1, 0
+ adds r0, 0xE0
+ ldr r2, [r0]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0xE8
+ ldr r0, _080244E0
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r2, [r6]
+ adds r0, r2, 0
+ adds r0, 0xE4
+ ldr r1, [r0]
+ movs r3, 0xA4
+ lsls r3, 1
+ adds r0, r2, r3
+ str r0, [r1, 0x14]
+ movs r4, 0xA5
+ lsls r4, 1
+ adds r1, r2, r4
+ movs r0, 0xA
+ strb r0, [r1]
+ bl sub_8024604
+ bl sub_802452C
+ ldr r0, [r6]
+ bl sub_8013984
+ movs r0, 0x1
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080244DC: .4byte gUnknown_203B2AC
+_080244E0: .4byte gUnknown_80DC9C8
+ thumb_func_end sub_8024458
+
+ thumb_func_start sub_80244E4
+sub_80244E4:
+ push {r4,lr}
+ ldr r4, _08024500
+ ldr r0, [r4]
+ bl GetKeyPress
+ cmp r0, 0x1
+ beq _08024504
+ cmp r0, 0x2
+ bne _0802450E
+ movs r0, 0x1
+ bl sub_80119D4
+ movs r0, 0x2
+ b _08024524
+ .align 2, 0
+_08024500: .4byte gUnknown_203B2AC
+_08024504:
+ movs r0, 0
+ bl sub_80119D4
+ movs r0, 0x3
+ b _08024524
+_0802450E:
+ ldr r0, [r4]
+ bl sub_8013938
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802451E
+ movs r0, 0
+ b _08024524
+_0802451E:
+ bl sub_802452C
+ movs r0, 0x1
+_08024524:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80244E4
+
+ thumb_func_start sub_802452C
+sub_802452C:
+ push {lr}
+ bl sub_8024588
+ bl sub_80245D0
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802452C
+
+ thumb_func_start sub_802453C
+sub_802453C:
+ push {r4,r5,lr}
+ ldr r4, _08024580
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0802457A
+ adds r0, r2, 0
+ adds r0, 0xE0
+ ldr r0, [r0]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0xE8
+ ldr r0, _08024584
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0xE8
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0802457A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024580: .4byte gUnknown_203B2AC
+_08024584: .4byte gUnknown_80DC9B0
+ thumb_func_end sub_802453C
+
+ thumb_func_start sub_8024588
+sub_8024588:
+ push {r4,lr}
+ ldr r4, _080245C4
+ ldr r0, [r4]
+ ldrh r1, [r0, 0x20]
+ movs r2, 0xA4
+ lsls r2, 1
+ adds r0, r2
+ movs r2, 0
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldrh r1, [r0, 0x1E]
+ ldr r3, _080245C8
+ adds r0, r3
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldr r1, _080245CC
+ adds r0, r1
+ strb r2, [r0]
+ bl sub_8004914
+ ldr r0, [r4]
+ adds r0, 0xE8
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080245C4: .4byte gUnknown_203B2AC
+_080245C8: .4byte 0x00000149
+_080245CC: .4byte 0x0000014b
+ thumb_func_end sub_8024588
+
+ thumb_func_start sub_80245D0
+sub_80245D0:
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r0, _08024600
+ ldr r4, [r0]
+ movs r0, 0x1E
+ ldrsh r1, [r4, r0]
+ lsls r2, r1, 2
+ adds r0, r4, 0
+ adds r0, 0x34
+ adds r0, r2
+ ldr r0, [r0]
+ adds r2, r4, 0
+ adds r2, 0x4C
+ adds r3, r4, 0
+ adds r3, 0xB0
+ adds r4, 0xE0
+ ldr r4, [r4]
+ str r4, [sp]
+ bl sub_808F844
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024600: .4byte gUnknown_203B2AC
+ thumb_func_end sub_80245D0
+
+ thumb_func_start sub_8024604
+sub_8024604:
+ push {r4,r5,lr}
+ ldr r4, _08024654
+ ldr r0, [r4]
+ movs r1, 0x2
+ str r1, [r0, 0x34]
+ movs r1, 0x3
+ str r1, [r0, 0x38]
+ movs r1, 0x5
+ str r1, [r0, 0x3C]
+ adds r1, r0, 0
+ adds r1, 0xE0
+ ldr r3, [r1]
+ movs r1, 0x3
+ movs r2, 0x1
+ bl sub_8013818
+ ldr r0, [r4]
+ adds r5, r0, 0
+ adds r5, 0x4C
+ ldr r2, _08024658
+ adds r0, 0x48
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ movs r0, 0x58
+ muls r0, r1
+ ldr r4, [r2]
+ adds r4, r0
+ movs r0, 0x7
+ bl sub_80023E4
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_808FF20
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024654: .4byte gUnknown_203B2AC
+_08024658: .4byte gUnknown_203B45C
+ thumb_func_end sub_8024604
+
+ thumb_func_start sub_802465C
+sub_802465C:
+ push {r4,r5,lr}
+ bl sub_8004914
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r5, _080246E8
+ movs r0, 0xBA
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ movs r4, 0
+ str r4, [r0, 0x28]
+ str r4, [r0, 0x2C]
+ str r4, [r0, 0x30]
+ bl sub_808D33C
+ ldr r1, [r5]
+ str r0, [r1, 0xC]
+ bl sub_808D824
+ ldr r1, [r5]
+ strb r0, [r1, 0x10]
+ ldr r0, [r5]
+ strb r4, [r0]
+ ldr r0, _080246EC
+ bl sub_808DDD0
+ ldr r2, [r5]
+ movs r3, 0x82
+ lsls r3, 1
+ adds r1, r2, r3
+ str r0, [r1]
+ adds r3, 0x4
+ adds r1, r2, r3
+ ldr r0, [r0, 0x4]
+ str r0, [r1]
+ movs r1, 0x88
+ lsls r1, 1
+ adds r0, r2, r1
+ strb r4, [r0]
+ ldr r0, [r5]
+ adds r3, 0x9
+ adds r0, r3
+ strb r4, [r0]
+ ldr r0, [r5]
+ adds r1, 0x2
+ adds r0, r1
+ strb r4, [r0]
+ ldr r2, [r5]
+ subs r3, 0x5
+ adds r1, r2, r3
+ movs r0, 0x2
+ strh r0, [r1]
+ movs r0, 0x87
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x8
+ strh r0, [r1]
+ movs r0, 0
+ bl sub_80247EC
+ movs r0, 0x1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080246E8: .4byte gUnknown_203B2B0
+_080246EC: .4byte 0x00000155
+ thumb_func_end sub_802465C
+
+ thumb_func_start sub_80246F0
+sub_80246F0:
+ push {lr}
+ ldr r0, _08024708
+ ldr r0, [r0]
+ ldr r0, [r0, 0x20]
+ cmp r0, 0x15
+ bhi _080247A8
+ lsls r0, 2
+ ldr r1, _0802470C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08024708: .4byte gUnknown_203B2B0
+_0802470C: .4byte _08024710
+ .align 2, 0
+_08024710:
+ .4byte _08024768
+ .4byte _08024768
+ .4byte _080247A8
+ .4byte _080247A8
+ .4byte _080247A4
+ .4byte _0802476E
+ .4byte _08024774
+ .4byte _08024774
+ .4byte _0802477A
+ .4byte _08024780
+ .4byte _08024786
+ .4byte _0802478C
+ .4byte _0802478C
+ .4byte _08024792
+ .4byte _08024798
+ .4byte _080247A8
+ .4byte _080247A8
+ .4byte _080247A8
+ .4byte _080247A8
+ .4byte _080247A8
+ .4byte _080247A8
+ .4byte _0802479E
+_08024768:
+ bl sub_8024E9C
+ b _080247AC
+_0802476E:
+ bl sub_8024F00
+ b _080247AC
+_08024774:
+ bl sub_8024FD4
+ b _080247AC
+_0802477A:
+ bl sub_80250EC
+ b _080247AC
+_08024780:
+ bl sub_80251CC
+ b _080247AC
+_08024786:
+ bl sub_8024F70
+ b _080247AC
+_0802478C:
+ bl sub_8025058
+ b _080247AC
+_08024792:
+ bl sub_802515C
+ b _080247AC
+_08024798:
+ bl sub_80251E8
+ b _080247AC
+_0802479E:
+ bl sub_8025204
+ b _080247AC
+_080247A4:
+ movs r0, 0x3
+ b _080247AE
+_080247A8:
+ bl sub_8025230
+_080247AC:
+ movs r0, 0
+_080247AE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80246F0
+
+ thumb_func_start sub_80247B4
+sub_80247B4:
+ ldr r0, _080247BC
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ bx lr
+ .align 2, 0
+_080247BC: .4byte gUnknown_203B2B0
+ thumb_func_end sub_80247B4
+
+ thumb_func_start sub_80247C0
+sub_80247C0:
+ push {r4,lr}
+ ldr r4, _080247E8
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _080247E0
+ movs r1, 0x82
+ lsls r1, 1
+ adds r0, r1
+ ldr r0, [r0]
+ bl CloseFile
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_080247E0:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080247E8: .4byte gUnknown_203B2B0
+ thumb_func_end sub_80247C0
+
+ thumb_func_start sub_80247EC
+sub_80247EC:
+ push {lr}
+ ldr r1, _08024800
+ ldr r1, [r1]
+ str r0, [r1, 0x20]
+ bl sub_8024804
+ bl sub_80248FC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024800: .4byte gUnknown_203B2B0
+ thumb_func_end sub_80247EC
+
+ thumb_func_start sub_8024804
+sub_8024804:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r4, _0802482C
+ ldr r0, [r4]
+ movs r1, 0x8A
+ lsls r1, 1
+ adds r0, r1
+ bl sub_8006518
+ ldr r0, [r4]
+ ldr r0, [r0, 0x20]
+ subs r0, 0x8
+ cmp r0, 0x14
+ bhi _080248A8
+ lsls r0, 2
+ ldr r1, _08024830
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0802482C: .4byte gUnknown_203B2B0
+_08024830: .4byte _08024834
+ .align 2, 0
+_08024834:
+ .4byte _08024888
+ .4byte _080248A8
+ .4byte _080248A8
+ .4byte _080248A8
+ .4byte _080248A8
+ .4byte _08024888
+ .4byte _080248A8
+ .4byte _080248A8
+ .4byte _080248A8
+ .4byte _080248D2
+ .4byte _080248D2
+ .4byte _080248D2
+ .4byte _080248A8
+ .4byte _080248A8
+ .4byte _080248D2
+ .4byte _080248D2
+ .4byte _080248D2
+ .4byte _080248D2
+ .4byte _080248D2
+ .4byte _080248D2
+ .4byte _080248D2
+_08024888:
+ ldr r0, _080248A0
+ ldr r1, [r0]
+ movs r2, 0xA2
+ lsls r2, 1
+ adds r1, r2
+ ldr r0, _080248A4
+ ldm r0!, {r3-r5}
+ stm r1!, {r3-r5}
+ ldm r0!, {r2,r6,r7}
+ stm r1!, {r2,r6,r7}
+ b _080248D2
+ .align 2, 0
+_080248A0: .4byte gUnknown_203B2B0
+_080248A4: .4byte gUnknown_80DCA00
+_080248A8:
+ ldr r3, _080248F4
+ mov r12, r3
+ movs r4, 0x8A
+ lsls r4, 1
+ mov r8, r4
+ ldr r4, _080248F8
+ movs r3, 0
+ movs r2, 0x3
+_080248B8:
+ mov r5, r12
+ ldr r1, [r5]
+ adds r1, r3
+ add r1, r8
+ adds r0, r4, 0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ adds r3, 0x18
+ subs r2, 0x1
+ cmp r2, 0
+ bge _080248B8
+_080248D2:
+ bl sub_8004914
+ ldr r0, _080248F4
+ ldr r0, [r0]
+ movs r6, 0x8A
+ lsls r6, 1
+ adds r0, r6
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080248F4: .4byte gUnknown_203B2B0
+_080248F8: .4byte gUnknown_80DC9E8
+ thumb_func_end sub_8024804
+
+ thumb_func_start sub_80248FC
+sub_80248FC:
+ push {r4,r5,lr}
+ sub sp, 0x14
+ ldr r1, _08024918
+ ldr r0, [r1]
+ ldr r0, [r0, 0x20]
+ adds r5, r1, 0
+ cmp r0, 0x1D
+ bls _0802490E
+ b _08024CF4
+_0802490E:
+ lsls r0, 2
+ ldr r1, _0802491C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08024918: .4byte gUnknown_203B2B0
+_0802491C: .4byte _08024920
+ .align 2, 0
+_08024920:
+ .4byte _08024998
+ .4byte _080249D0
+ .4byte _080249E8
+ .4byte _080249F8
+ .4byte _08024CF4
+ .4byte _08024A14
+ .4byte _08024A20
+ .4byte _08024A2E
+ .4byte _08024A94
+ .4byte _08024AC0
+ .4byte _08024A36
+ .4byte _08024A68
+ .4byte _08024A76
+ .4byte _08024A94
+ .4byte _08024AC0
+ .4byte _08024ACA
+ .4byte _08024AD8
+ .4byte _08024AE8
+ .4byte _08024B4C
+ .4byte _08024B74
+ .4byte _08024C9C
+ .4byte _08024CC8
+ .4byte _08024C1C
+ .4byte _08024C2C
+ .4byte _08024C3C
+ .4byte _08024C4C
+ .4byte _08024C5C
+ .4byte _08024C6C
+ .4byte _08024C7C
+ .4byte _08024C8C
+_08024998:
+ bl sub_80252B8
+ lsls r0, 24
+ cmp r0, 0
+ beq _080249B0
+ ldr r0, _080249AC
+ ldr r1, [r0]
+ movs r0, 0x3
+ b _080249B6
+ .align 2, 0
+_080249AC: .4byte gUnknown_203B2B0
+_080249B0:
+ ldr r0, _080249C8
+ ldr r1, [r0]
+ movs r0, 0x1
+_080249B6:
+ str r0, [r1, 0x28]
+ bl sub_8024CFC
+ ldr r0, _080249CC
+ ldr r1, _080249C8
+ ldr r1, [r1]
+ ldr r2, [r1, 0x28]
+ b _08024A42
+ .align 2, 0
+_080249C8: .4byte gUnknown_203B2B0
+_080249CC: .4byte gUnknown_80DCA34
+_080249D0:
+ bl sub_8024CFC
+ ldr r0, _080249E0
+ ldr r1, _080249E4
+ ldr r1, [r1]
+ ldr r2, [r1, 0x28]
+ b _08024A42
+ .align 2, 0
+_080249E0: .4byte gUnknown_80DCAB8
+_080249E4: .4byte gUnknown_203B2B0
+_080249E8:
+ ldr r1, [r5]
+ movs r0, 0x1
+ str r0, [r1, 0x24]
+ ldr r0, _080249F4
+ b _08024CAE
+ .align 2, 0
+_080249F4: .4byte gUnknown_80DCAD0
+_080249F8:
+ ldr r1, [r5]
+ movs r0, 0x4
+ str r0, [r1, 0x24]
+ movs r0, 0x8
+ movs r1, 0x3C
+ bl sub_8011900
+ ldr r0, _08024A0C
+ ldr r3, _08024A10
+ b _08024CB0
+ .align 2, 0
+_08024A0C: .4byte gUnknown_80DCD5C
+_08024A10: .4byte 0x00000305
+_08024A14:
+ bl sub_8024D48
+ ldr r0, _08024A1C
+ b _08024A3C
+ .align 2, 0
+_08024A1C: .4byte gUnknown_80DCD90
+_08024A20:
+ movs r0, 0x2
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _08024CF4
+_08024A2E:
+ movs r0, 0x1
+ bl sub_801A8D0
+ b _08024CF4
+_08024A36:
+ bl sub_8024DBC
+ ldr r0, _08024A60
+_08024A3C:
+ ldr r1, _08024A64
+ ldr r1, [r1]
+ ldr r2, [r1, 0x2C]
+_08024A42:
+ adds r3, r1, 0
+ adds r3, 0x34
+ adds r1, 0x74
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ str r1, [sp, 0xC]
+ movs r1, 0x5
+ str r1, [sp, 0x10]
+ movs r1, 0
+ bl sub_8014248
+ b _08024CF4
+ .align 2, 0
+_08024A60: .4byte gUnknown_80DCDB8
+_08024A64: .4byte gUnknown_203B2B0
+_08024A68:
+ movs r0, 0x2
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _08024A7C
+_08024A76:
+ movs r0, 0x1
+ bl sub_801A8D0
+_08024A7C:
+ ldr r0, _08024A90
+ ldr r0, [r0]
+ ldr r0, [r0, 0x14]
+ movs r1, 0x1
+ bl sub_801AEE4
+ bl sub_801A9E0
+ b _08024CF4
+ .align 2, 0
+_08024A90: .4byte gUnknown_203B2B0
+_08024A94:
+ bl sub_801A9E0
+ bl sub_8024E30
+ ldr r0, _08024ABC
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x84
+ adds r1, r2, 0
+ adds r1, 0x34
+ adds r3, r2, 0
+ adds r3, 0x74
+ ldr r2, [r2, 0x30]
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _08024CF4
+ .align 2, 0
+_08024ABC: .4byte gUnknown_203B2B0
+_08024AC0:
+ ldr r0, [r5]
+ adds r0, 0x1C
+ bl sub_801B3C0
+ b _08024CF4
+_08024ACA:
+ ldr r1, [r5]
+ movs r0, 0x5
+ str r0, [r1, 0x24]
+ ldr r0, _08024AD4
+ b _08024CAE
+ .align 2, 0
+_08024AD4: .4byte gUnknown_80DCDDC
+_08024AD8:
+ ldr r1, [r5]
+ movs r0, 0xA
+ str r0, [r1, 0x24]
+ ldr r0, _08024AE4
+ b _08024CAE
+ .align 2, 0
+_08024AE4: .4byte gUnknown_80DCE18
+_08024AE8:
+ bl sub_8025254
+ ldr r0, _08024B00
+ ldr r1, [r0]
+ ldrh r2, [r1, 0x8]
+ movs r0, 0x1
+ ands r0, r2
+ cmp r0, 0
+ beq _08024B04
+ movs r0, 0x12
+ b _08024B3A
+ .align 2, 0
+_08024B00: .4byte gUnknown_203B2B0
+_08024B04:
+ lsls r0, r2, 16
+ lsrs r0, 16
+ cmp r0, 0x4
+ bne _08024B10
+ movs r0, 0x18
+ b _08024B3A
+_08024B10:
+ cmp r0, 0x2
+ bne _08024B18
+ movs r0, 0x17
+ b _08024B3A
+_08024B18:
+ cmp r0, 0x10
+ bne _08024B20
+ movs r0, 0x1B
+ b _08024B3A
+_08024B20:
+ cmp r0, 0x20
+ bne _08024B28
+ movs r0, 0x19
+ b _08024B3A
+_08024B28:
+ cmp r0, 0x40
+ bne _08024B30
+ movs r0, 0x1A
+ b _08024B3A
+_08024B30:
+ cmp r0, 0x8
+ bne _08024B38
+ movs r0, 0x1C
+ b _08024B3A
+_08024B38:
+ movs r0, 0x1D
+_08024B3A:
+ str r0, [r1, 0x24]
+ movs r0, 0x3C
+ bl sub_8011930
+ ldr r0, _08024B48
+ b _08024CAE
+ .align 2, 0
+_08024B48: .4byte gUnknown_80DCE38
+_08024B4C:
+ ldr r0, _08024B68
+ ldr r1, [r5]
+ ldr r1, [r1, 0xC]
+ movs r2, 0x5
+ bl sub_808D9AC
+ ldr r0, _08024B6C
+ bl sub_8011988
+ ldr r1, [r5]
+ movs r0, 0x13
+ str r0, [r1, 0x24]
+ ldr r0, _08024B70
+ b _08024CAE
+ .align 2, 0
+_08024B68: .4byte gPlayerName
+_08024B6C: .4byte 0x000001ff
+_08024B70: .4byte gUnknown_80DCE68
+_08024B74:
+ ldr r0, [r5]
+ ldr r0, [r0, 0xC]
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ bl sub_808D994
+ adds r1, r0, 0
+ ldr r4, _08024C10
+ adds r0, r4, 0
+ bl strcpy
+ ldr r0, [r5]
+ movs r2, 0xA
+ ldrsh r0, [r0, r2]
+ bl sub_808D994
+ adds r1, r0, 0
+ adds r4, 0x50
+ adds r0, r4, 0
+ bl strcpy
+ ldr r1, [r5]
+ movs r0, 0x1
+ strb r0, [r1]
+ bl sub_80977D0
+ ldr r1, [r5]
+ ldr r0, [r1, 0xC]
+ movs r2, 0xA
+ ldrsh r1, [r1, r2]
+ bl sub_808F734
+ bl nullsub_104
+ bl sub_808D33C
+ ldr r1, [r5]
+ str r0, [r1, 0xC]
+ ldr r0, [r1, 0x14]
+ cmp r0, 0x14
+ beq _08024BCA
+ bl sub_8091234
+_08024BCA:
+ ldr r0, [r5]
+ ldr r0, [r0, 0x18]
+ cmp r0, 0x14
+ beq _08024BD6
+ bl sub_8091234
+_08024BD6:
+ bl sub_80910B4
+ ldr r0, _08024C14
+ bl sub_801199C
+ movs r0, 0xD2
+ bl sub_8011988
+ ldr r1, [r5]
+ ldrb r0, [r1, 0x10]
+ cmp r0, 0
+ beq _08024C06
+ ldr r0, [r1, 0xC]
+ adds r4, r0, 0
+ adds r4, 0x4C
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ bl sub_808D994
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0xA
+ bl sub_8092310
+_08024C06:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C18
+ b _08024CAE
+ .align 2, 0
+_08024C10: .4byte gUnknown_202DF98
+_08024C14: .4byte 0x000001ff
+_08024C18: .4byte gUnknown_80DCEB0
+_08024C1C:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C28
+ b _08024CAE
+ .align 2, 0
+_08024C28: .4byte gUnknown_80DCEDC
+_08024C2C:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C38
+ b _08024CAE
+ .align 2, 0
+_08024C38: .4byte gUnknown_80DCF44
+_08024C3C:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C48
+ b _08024CAE
+ .align 2, 0
+_08024C48: .4byte gUnknown_80DCF88
+_08024C4C:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C58
+ b _08024CAE
+ .align 2, 0
+_08024C58: .4byte gUnknown_80DCFAC
+_08024C5C:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C68
+ b _08024CAE
+ .align 2, 0
+_08024C68: .4byte gUnknown_80DCFF4
+_08024C6C:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C78
+ b _08024CAE
+ .align 2, 0
+_08024C78: .4byte gUnknown_80DD054
+_08024C7C:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C88
+ b _08024CAE
+ .align 2, 0
+_08024C88: .4byte gUnknown_80DD098
+_08024C8C:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C98
+ b _08024CAE
+ .align 2, 0
+_08024C98: .4byte gUnknown_80DD0E0
+_08024C9C:
+ movs r0, 0x8
+ movs r1, 0x3C
+ bl sub_8011900
+ ldr r0, _08024CBC
+ ldr r1, [r0]
+ movs r0, 0x15
+ str r0, [r1, 0x24]
+ ldr r0, _08024CC0
+_08024CAE:
+ ldr r3, _08024CC4
+_08024CB0:
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ b _08024CF4
+ .align 2, 0
+_08024CBC: .4byte gUnknown_203B2B0
+_08024CC0: .4byte gUnknown_80DD104
+_08024CC4: .4byte 0x00000105
+_08024CC8:
+ ldr r1, [r5]
+ ldrb r0, [r1, 0x10]
+ cmp r0, 0
+ beq _08024CE8
+ ldr r0, [r1, 0xC]
+ adds r4, r0, 0
+ adds r4, 0x4C
+ movs r2, 0x8
+ ldrsh r0, [r0, r2]
+ bl sub_808D994
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0xA
+ bl sub_8092310
+_08024CE8:
+ ldr r0, [r5]
+ ldr r1, [r0, 0xC]
+ adds r1, 0x4C
+ movs r0, 0
+ bl sub_801602C
+_08024CF4:
+ add sp, 0x14
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80248FC
+
+ thumb_func_start sub_8024CFC
+sub_8024CFC:
+ push {r4,lr}
+ ldr r4, _08024D38
+ ldr r0, [r4]
+ adds r0, 0x74
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r4]
+ movs r3, 0
+ ldr r0, _08024D3C
+ str r0, [r1, 0x34]
+ movs r0, 0x3
+ str r0, [r1, 0x38]
+ movs r2, 0x1
+ ldr r0, _08024D40
+ ldr r0, [r0]
+ str r0, [r1, 0x3C]
+ movs r0, 0x2
+ str r0, [r1, 0x40]
+ ldr r0, _08024D44
+ ldr r0, [r0]
+ str r0, [r1, 0x44]
+ str r2, [r1, 0x48]
+ str r3, [r1, 0x4C]
+ str r2, [r1, 0x50]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024D38: .4byte gUnknown_203B2B0
+_08024D3C: .4byte gUnknown_80DCA18
+_08024D40: .4byte gUnknown_80D4970
+_08024D44: .4byte gUnknown_80D4934
+ thumb_func_end sub_8024CFC
+
+ thumb_func_start sub_8024D48
+sub_8024D48:
+ push {r4-r7,lr}
+ ldr r4, _08024DAC
+ ldr r0, [r4]
+ adds r0, 0x74
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _08024DB0
+ str r0, [r3, 0x34]
+ movs r0, 0x4
+ str r0, [r3, 0x38]
+ movs r1, 0x1
+ ldr r0, _08024DB4
+ str r0, [r3, 0x3C]
+ movs r0, 0x5
+ str r0, [r3, 0x40]
+ ldr r0, _08024DB8
+ ldr r0, [r0]
+ str r0, [r3, 0x44]
+ str r1, [r3, 0x48]
+ movs r6, 0x3
+ str r2, [r3, 0x4C]
+ str r1, [r3, 0x50]
+ movs r5, 0
+ mov r12, r3
+ adds r3, 0x38
+ mov r2, r12
+ adds r2, 0x74
+_08024D86:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08024D96
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x2C]
+ cmp r1, r0
+ beq _08024DA6
+_08024D96:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _08024D86
+ ldr r1, [r4]
+ movs r0, 0x4
+ str r0, [r1, 0x2C]
+_08024DA6:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024DAC: .4byte gUnknown_203B2B0
+_08024DB0: .4byte gUnknown_80DCA24
+_08024DB4: .4byte gUnknown_80DCA2C
+_08024DB8: .4byte gUnknown_80D4934
+ thumb_func_end sub_8024D48
+
+ thumb_func_start sub_8024DBC
+sub_8024DBC:
+ push {r4-r7,lr}
+ ldr r4, _08024E20
+ ldr r0, [r4]
+ adds r0, 0x74
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _08024E24
+ str r0, [r3, 0x34]
+ movs r0, 0x4
+ str r0, [r3, 0x38]
+ movs r1, 0x1
+ ldr r0, _08024E28
+ str r0, [r3, 0x3C]
+ movs r0, 0x5
+ str r0, [r3, 0x40]
+ ldr r0, _08024E2C
+ ldr r0, [r0]
+ str r0, [r3, 0x44]
+ str r1, [r3, 0x48]
+ movs r6, 0x3
+ str r2, [r3, 0x4C]
+ str r1, [r3, 0x50]
+ movs r5, 0
+ mov r12, r3
+ adds r3, 0x38
+ mov r2, r12
+ adds r2, 0x74
+_08024DFA:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08024E0A
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x2C]
+ cmp r1, r0
+ beq _08024E1A
+_08024E0A:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _08024DFA
+ ldr r1, [r4]
+ movs r0, 0x4
+ str r0, [r1, 0x2C]
+_08024E1A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024E20: .4byte gUnknown_203B2B0
+_08024E24: .4byte gUnknown_80DCA24
+_08024E28: .4byte gUnknown_80DCA2C
+_08024E2C: .4byte gUnknown_80D4934
+ thumb_func_end sub_8024DBC
+
+ thumb_func_start sub_8024E30
+sub_8024E30:
+ push {r4-r7,lr}
+ ldr r4, _08024E90
+ ldr r0, [r4]
+ adds r0, 0x74
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _08024E94
+ str r0, [r3, 0x34]
+ movs r0, 0x5
+ str r0, [r3, 0x38]
+ movs r1, 0x1
+ ldr r0, _08024E98
+ ldr r0, [r0]
+ str r0, [r3, 0x3C]
+ movs r0, 0x2
+ str r0, [r3, 0x40]
+ movs r6, 0x2
+ str r2, [r3, 0x44]
+ str r1, [r3, 0x48]
+ movs r5, 0
+ mov r12, r3
+ adds r3, 0x38
+ mov r2, r12
+ adds r2, 0x74
+_08024E68:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08024E78
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x30]
+ cmp r1, r0
+ beq _08024E88
+_08024E78:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _08024E68
+ ldr r1, [r4]
+ movs r0, 0x5
+ str r0, [r1, 0x30]
+_08024E88:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024E90: .4byte gUnknown_203B2B0
+_08024E94: .4byte gUnknown_80DCA2C
+_08024E98: .4byte gUnknown_80D4970
+ thumb_func_end sub_8024E30
+
+ thumb_func_start sub_8024E9C
+sub_8024E9C:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08024EF8
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08024EB6
+ ldr r0, _08024EC8
+ ldr r0, [r0]
+ str r1, [r0, 0x28]
+_08024EB6:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08024EEA
+ cmp r0, 0x2
+ bgt _08024ECC
+ cmp r0, 0x1
+ beq _08024EF2
+ b _08024EF8
+ .align 2, 0
+_08024EC8: .4byte gUnknown_203B2B0
+_08024ECC:
+ cmp r0, 0x3
+ bne _08024EF8
+ bl sub_80252B8
+ lsls r0, 24
+ cmp r0, 0
+ beq _08024EE2
+ movs r0, 0x5
+ bl sub_80247EC
+ b _08024EF8
+_08024EE2:
+ movs r0, 0x16
+ bl sub_80247EC
+ b _08024EF8
+_08024EEA:
+ movs r0, 0x2
+ bl sub_80247EC
+ b _08024EF8
+_08024EF2:
+ movs r0, 0x3
+ bl sub_80247EC
+_08024EF8:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024E9C
+
+ thumb_func_start sub_8024F00
+sub_8024F00:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08024F6A
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08024F1A
+ ldr r0, _08024F2C
+ ldr r0, [r0]
+ str r1, [r0, 0x2C]
+_08024F1A:
+ ldr r0, [sp]
+ cmp r0, 0x4
+ beq _08024F36
+ cmp r0, 0x4
+ bgt _08024F30
+ cmp r0, 0x1
+ beq _08024F64
+ b _08024F6A
+ .align 2, 0
+_08024F2C: .4byte gUnknown_203B2B0
+_08024F30:
+ cmp r0, 0x5
+ beq _08024F4C
+ b _08024F6A
+_08024F36:
+ ldr r0, _08024F48
+ ldr r1, [r0]
+ movs r0, 0x14
+ str r0, [r1, 0x14]
+ str r0, [r1, 0x18]
+ movs r0, 0x11
+ bl sub_80247EC
+ b _08024F6A
+ .align 2, 0
+_08024F48: .4byte gUnknown_203B2B0
+_08024F4C:
+ bl sub_8090A34
+ cmp r0, 0
+ bne _08024F5C
+ movs r0, 0xF
+ bl sub_80247EC
+ b _08024F6A
+_08024F5C:
+ movs r0, 0x6
+ bl sub_80247EC
+ b _08024F6A
+_08024F64:
+ movs r0, 0x1
+ bl sub_80247EC
+_08024F6A:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024F00
+
+ thumb_func_start sub_8024F70
+sub_8024F70:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08024FCC
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08024F8A
+ ldr r0, _08024F9C
+ ldr r0, [r0]
+ str r1, [r0, 0x2C]
+_08024F8A:
+ ldr r0, [sp]
+ cmp r0, 0x4
+ beq _08024FA6
+ cmp r0, 0x4
+ bgt _08024FA0
+ cmp r0, 0x1
+ beq _08024FC6
+ b _08024FCC
+ .align 2, 0
+_08024F9C: .4byte gUnknown_203B2B0
+_08024FA0:
+ cmp r0, 0x5
+ beq _08024FAE
+ b _08024FCC
+_08024FA6:
+ movs r0, 0x11
+ bl sub_80247EC
+ b _08024FCC
+_08024FAE:
+ bl sub_8090A34
+ cmp r0, 0x1
+ bgt _08024FBE
+ movs r0, 0x10
+ bl sub_80247EC
+ b _08024FCC
+_08024FBE:
+ movs r0, 0xB
+ bl sub_80247EC
+ b _08024FCC
+_08024FC6:
+ movs r0, 0x1
+ bl sub_80247EC
+_08024FCC:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024F70
+
+ thumb_func_start sub_8024FD4
+sub_8024FD4:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x3
+ beq _08024FF0
+ cmp r0, 0x3
+ bhi _08024FEA
+ cmp r0, 0x2
+ beq _08025048
+ b _08025052
+_08024FEA:
+ cmp r0, 0x4
+ beq _0802501C
+ b _08025052
+_08024FF0:
+ bl sub_801A8AC
+ ldr r1, _08025014
+ ldr r2, [r1]
+ str r0, [r2, 0x14]
+ movs r1, 0x14
+ str r1, [r2, 0x18]
+ ldr r1, _08025018
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x1C]
+ movs r0, 0x8
+ bl sub_80247EC
+ b _08025052
+ .align 2, 0
+_08025014: .4byte gUnknown_203B2B0
+_08025018: .4byte gUnknown_203B460
+_0802501C:
+ bl sub_801A8AC
+ ldr r1, _08025040
+ ldr r2, [r1]
+ ldr r1, _08025044
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x1C]
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0x9
+ bl sub_80247EC
+ b _08025052
+ .align 2, 0
+_08025040: .4byte gUnknown_203B2B0
+_08025044: .4byte gUnknown_203B460
+_08025048:
+ bl sub_801A928
+ movs r0, 0x5
+ bl sub_80247EC
+_08025052:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024FD4
+
+ thumb_func_start sub_8025058
+sub_8025058:
+ push {r4,r5,lr}
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x3
+ beq _08025074
+ cmp r0, 0x3
+ bhi _0802506E
+ cmp r0, 0x2
+ beq _080250DC
+ b _080250E6
+_0802506E:
+ cmp r0, 0x4
+ beq _080250B0
+ b _080250E6
+_08025074:
+ ldr r5, _080250A0
+ ldr r4, [r5]
+ bl sub_801A8AC
+ ldr r1, [r4, 0x14]
+ cmp r1, r0
+ beq _080250A8
+ bl sub_801A8AC
+ ldr r2, [r5]
+ str r0, [r2, 0x18]
+ ldr r1, _080250A4
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x1C]
+ movs r0, 0xD
+ bl sub_80247EC
+ b _080250E6
+ .align 2, 0
+_080250A0: .4byte gUnknown_203B2B0
+_080250A4: .4byte gUnknown_203B460
+_080250A8:
+ movs r0, 0x2
+ bl sub_80119D4
+ b _080250E6
+_080250B0:
+ bl sub_801A8AC
+ ldr r1, _080250D4
+ ldr r2, [r1]
+ ldr r1, _080250D8
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x1C]
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0xE
+ bl sub_80247EC
+ b _080250E6
+ .align 2, 0
+_080250D4: .4byte gUnknown_203B2B0
+_080250D8: .4byte gUnknown_203B460
+_080250DC:
+ bl sub_801A928
+ movs r0, 0xA
+ bl sub_80247EC
+_080250E6:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025058
+
+ thumb_func_start sub_80250EC
+sub_80250EC:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801A6E8
+ ldr r4, _0802512C
+ ldr r0, [r4]
+ adds r0, 0x84
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802511C
+ ldr r0, [r4]
+ adds r0, 0x84
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _0802511C
+ ldr r0, [r4]
+ str r1, [r0, 0x30]
+_0802511C:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08025140
+ cmp r0, 0x2
+ bgt _08025130
+ cmp r0, 0x1
+ beq _0802514E
+ b _08025154
+ .align 2, 0
+_0802512C: .4byte gUnknown_203B2B0
+_08025130:
+ cmp r0, 0x5
+ bne _08025154
+ bl sub_801A928
+ movs r0, 0xA
+ bl sub_80247EC
+ b _08025154
+_08025140:
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0x9
+ bl sub_80247EC
+ b _08025154
+_0802514E:
+ movs r0, 0x7
+ bl sub_80247EC
+_08025154:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80250EC
+
+ thumb_func_start sub_802515C
+sub_802515C:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801A6E8
+ ldr r4, _0802519C
+ ldr r0, [r4]
+ adds r0, 0x84
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802518C
+ ldr r0, [r4]
+ adds r0, 0x84
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _0802518C
+ ldr r0, [r4]
+ str r1, [r0, 0x30]
+_0802518C:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _080251B0
+ cmp r0, 0x2
+ bgt _080251A0
+ cmp r0, 0x1
+ beq _080251BE
+ b _080251C4
+ .align 2, 0
+_0802519C: .4byte gUnknown_203B2B0
+_080251A0:
+ cmp r0, 0x5
+ bne _080251C4
+ bl sub_801A928
+ movs r0, 0x11
+ bl sub_80247EC
+ b _080251C4
+_080251B0:
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0xE
+ bl sub_80247EC
+ b _080251C4
+_080251BE:
+ movs r0, 0xC
+ bl sub_80247EC
+_080251C4:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802515C
+
+ thumb_func_start sub_80251CC
+sub_80251CC:
+ push {lr}
+ bl sub_801B410
+ cmp r0, 0x1
+ bls _080251E4
+ cmp r0, 0x3
+ bhi _080251E4
+ bl sub_801B450
+ movs r0, 0x7
+ bl sub_80247EC
+_080251E4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80251CC
+
+ thumb_func_start sub_80251E8
+sub_80251E8:
+ push {lr}
+ bl sub_801B410
+ cmp r0, 0x1
+ bls _08025200
+ cmp r0, 0x3
+ bhi _08025200
+ bl sub_801B450
+ movs r0, 0xC
+ bl sub_80247EC
+_08025200:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80251E8
+
+ thumb_func_start sub_8025204
+sub_8025204:
+ push {r4,lr}
+ bl sub_8016080
+ cmp r0, 0x3
+ bne _08025226
+ bl sub_80160D8
+ ldr r4, _0802522C
+ ldr r0, [r4]
+ ldr r0, [r0, 0xC]
+ bl sub_808D824
+ ldr r1, [r4]
+ strb r0, [r1, 0x10]
+ movs r0, 0x3
+ bl sub_80247EC
+_08025226:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0802522C: .4byte gUnknown_203B2B0
+ thumb_func_end sub_8025204
+
+ thumb_func_start sub_8025230
+sub_8025230:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08025248
+ ldr r0, _08025250
+ ldr r0, [r0]
+ ldr r0, [r0, 0x24]
+ bl sub_80247EC
+_08025248:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08025250: .4byte gUnknown_203B2B0
+ thumb_func_end sub_8025230
+
+ thumb_func_start sub_8025254
+sub_8025254:
+ push {lr}
+ ldr r0, _08025268
+ ldr r2, [r0]
+ ldr r1, [r2, 0x14]
+ adds r3, r0, 0
+ cmp r1, 0x14
+ bne _0802526C
+ movs r0, 0
+ b _08025276
+ .align 2, 0
+_08025268: .4byte gUnknown_203B2B0
+_0802526C:
+ ldr r0, _08025284
+ ldr r0, [r0]
+ lsls r1, 2
+ adds r0, r1
+ ldrb r0, [r0, 0x2]
+_08025276:
+ strb r0, [r2, 0x4]
+ ldr r2, [r3]
+ ldr r1, [r2, 0x18]
+ cmp r1, 0x14
+ bne _08025288
+ movs r0, 0
+ b _08025292
+ .align 2, 0
+_08025284: .4byte gUnknown_203B460
+_08025288:
+ ldr r0, _080252B0
+ ldr r0, [r0]
+ lsls r1, 2
+ adds r0, r1
+ ldrb r0, [r0, 0x2]
+_08025292:
+ strb r0, [r2, 0x5]
+ movs r0, 0xFF
+ bl RandomCapped
+ ldr r2, _080252B4
+ ldr r1, [r2]
+ strb r0, [r1, 0x6]
+ ldr r1, [r2]
+ ldr r0, [r1, 0xC]
+ adds r1, 0x4
+ movs r2, 0x1
+ bl sub_808F468
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080252B0: .4byte gUnknown_203B460
+_080252B4: .4byte gUnknown_203B2B0
+ thumb_func_end sub_8025254
+
+ thumb_func_start sub_80252B8
+sub_80252B8:
+ push {r4,lr}
+ ldr r0, _080252E0
+ ldr r1, [r0]
+ movs r3, 0
+ movs r4, 0x1
+ ldr r2, _080252E4
+_080252C4:
+ ldrh r0, [r1]
+ lsrs r0, 1
+ ands r0, r4
+ cmp r0, 0
+ beq _080252D0
+ adds r3, 0x1
+_080252D0:
+ subs r2, 0x1
+ adds r1, 0x58
+ cmp r2, 0
+ bne _080252C4
+ cmp r3, 0x1
+ beq _080252E8
+ movs r0, 0
+ b _080252EA
+ .align 2, 0
+_080252E0: .4byte gUnknown_203B45C
+_080252E4: .4byte 0x0000019d
+_080252E8:
+ movs r0, 0x1
+_080252EA:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80252B8
+
+ thumb_func_start sub_80252F0
+sub_80252F0:
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ cmp r6, 0x2
+ bne _08025308
+ movs r0, 0x4
+ bl sub_8024108
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025308
+ movs r0, 0
+ b _0802534C
+_08025308:
+ ldr r4, _08025340
+ movs r0, 0xBC
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ movs r5, 0
+ str r5, [r0, 0x70]
+ str r6, [r0]
+ bl sub_80A5728
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_8002658
+ ldr r1, [r4]
+ strb r0, [r1, 0xC]
+ ldr r0, [r4]
+ strb r5, [r0, 0xD]
+ ldr r0, [r4]
+ ldr r0, [r0]
+ cmp r0, 0x2
+ bne _08025344
+ movs r0, 0
+ bl sub_8025434
+ b _0802534A
+ .align 2, 0
+_08025340: .4byte gUnknown_203B2B4
+_08025344:
+ movs r0, 0x1
+ bl sub_8025434
+_0802534A:
+ movs r0, 0x1
+_0802534C:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80252F0
+
+ thumb_func_start sub_8025354
+sub_8025354:
+ push {lr}
+ ldr r0, _0802536C
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ subs r0, 0x1
+ cmp r0, 0x12
+ bhi _08025400
+ lsls r0, 2
+ ldr r1, _08025370
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0802536C: .4byte gUnknown_203B2B4
+_08025370: .4byte _08025374
+ .align 2, 0
+_08025374:
+ .4byte _080253C4
+ .4byte _080253C4
+ .4byte _080253CA
+ .4byte _080253D0
+ .4byte _080253D6
+ .4byte _08025400
+ .4byte _08025400
+ .4byte _08025400
+ .4byte _08025400
+ .4byte _08025400
+ .4byte _080253DC
+ .4byte _080253DC
+ .4byte _080253E2
+ .4byte _080253E8
+ .4byte _080253EE
+ .4byte _080253EE
+ .4byte _080253F4
+ .4byte _080253FA
+ .4byte _080253C0
+_080253C0:
+ movs r0, 0x3
+ b _08025406
+_080253C4:
+ bl sub_80259F0
+ b _08025404
+_080253CA:
+ bl sub_8025A84
+ b _08025404
+_080253D0:
+ bl sub_8025BCC
+ b _08025404
+_080253D6:
+ bl sub_8025BE8
+ b _08025404
+_080253DC:
+ bl sub_8025C04
+ b _08025404
+_080253E2:
+ bl sub_8025CB4
+ b _08025404
+_080253E8:
+ bl sub_8025D90
+ b _08025404
+_080253EE:
+ bl sub_8025DAC
+ b _08025404
+_080253F4:
+ bl sub_8025E08
+ b _08025404
+_080253FA:
+ bl sub_8025E24
+ b _08025404
+_08025400:
+ bl sub_8025E44
+_08025404:
+ movs r0, 0
+_08025406:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8025354
+
+ thumb_func_start sub_802540C
+sub_802540C:
+ ldr r0, _08025414
+ ldr r0, [r0]
+ ldrb r0, [r0, 0xD]
+ bx lr
+ .align 2, 0
+_08025414: .4byte gUnknown_203B2B4
+ thumb_func_end sub_802540C
+
+ thumb_func_start sub_8025418
+sub_8025418:
+ push {r4,lr}
+ ldr r4, _08025430
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0802542A
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0802542A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08025430: .4byte gUnknown_203B2B4
+ thumb_func_end sub_8025418
+
+ thumb_func_start sub_8025434
+sub_8025434:
+ push {lr}
+ ldr r1, _08025448
+ ldr r1, [r1]
+ str r0, [r1, 0x4]
+ bl sub_802544C
+ bl sub_8025518
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08025448: .4byte gUnknown_203B2B4
+ thumb_func_end sub_8025434
+
+ thumb_func_start sub_802544C
+sub_802544C:
+ push {r4-r7,lr}
+ ldr r4, _08025470
+ ldr r0, [r4]
+ movs r1, 0x8C
+ lsls r1, 1
+ adds r0, r1
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r0, [r1, 0x4]
+ cmp r0, 0x3
+ beq _08025478
+ cmp r0, 0xD
+ beq _080254B0
+ movs r2, 0
+ ldr r3, _08025474
+ b _080254D8
+ .align 2, 0
+_08025470: .4byte gUnknown_203B2B4
+_08025474: .4byte gUnknown_80DD148
+_08025478:
+ ldr r0, [r1]
+ cmp r0, 0
+ bne _0802548E
+ movs r2, 0xB0
+ lsls r2, 1
+ adds r1, r2
+ ldr r0, _080254A8
+ ldm r0!, {r3,r5,r6}
+ stm r1!, {r3,r5,r6}
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+_0802548E:
+ bl sub_8025728
+ ldr r2, [r4]
+ movs r0, 0xA4
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _080254AC
+ ldm r1!, {r5-r7}
+ stm r2!, {r5-r7}
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ b _080254C6
+ .align 2, 0
+_080254A8: .4byte gUnknown_80DD190
+_080254AC: .4byte gUnknown_80DD160
+_080254B0:
+ bl sub_802591C
+ ldr r2, [r4]
+ movs r0, 0xA4
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _080254D4
+ ldm r1!, {r3,r5,r7}
+ stm r2!, {r3,r5,r7}
+ ldm r1!, {r3,r6,r7}
+ stm r2!, {r3,r6,r7}
+_080254C6:
+ ldr r1, [r4]
+ adds r0, r1, r0
+ adds r1, 0xC8
+ bl sub_8012CAC
+ b _080254F8
+ .align 2, 0
+_080254D4: .4byte gUnknown_80DD178
+_080254D8:
+ ldr r0, [r4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r0, r1
+ movs r5, 0x8C
+ lsls r5, 1
+ adds r0, r5
+ adds r1, r3, 0
+ ldm r1!, {r5-r7}
+ stm r0!, {r5-r7}
+ ldm r1!, {r5-r7}
+ stm r0!, {r5-r7}
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _080254D8
+_080254F8:
+ bl sub_8004914
+ ldr r0, _08025514
+ ldr r0, [r0]
+ movs r6, 0x8C
+ lsls r6, 1
+ adds r0, r6
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08025514: .4byte gUnknown_203B2B4
+ thumb_func_end sub_802544C
+
+ thumb_func_start sub_8025518
+sub_8025518:
+ push {r4,r5,lr}
+ sub sp, 0xC
+ ldr r1, _08025534
+ ldr r0, [r1]
+ ldr r0, [r0, 0x4]
+ adds r5, r1, 0
+ cmp r0, 0x13
+ bls _0802552A
+ b _08025720
+_0802552A:
+ lsls r0, 2
+ ldr r1, _08025538
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08025534: .4byte gUnknown_203B2B4
+_08025538: .4byte _0802553C
+ .align 2, 0
+_0802553C:
+ .4byte _0802558C
+ .4byte _080255A0
+ .4byte _080255BA
+ .4byte _080255C2
+ .4byte _0802560C
+ .4byte _0802561A
+ .4byte _08025720
+ .4byte _080256A8
+ .4byte _0802567A
+ .4byte _08025688
+ .4byte _08025698
+ .4byte _08025626
+ .4byte _08025634
+ .4byte _0802563C
+ .4byte _08025668
+ .4byte _080256CC
+ .4byte _080256F2
+ .4byte _080256FC
+ .4byte _08025714
+ .4byte _08025720
+_0802558C:
+ ldr r1, [r5]
+ movs r0, 0x1
+ str r0, [r1, 0x8]
+ ldr r0, _08025598
+ ldr r3, _0802559C
+ b _080256B8
+ .align 2, 0
+_08025598: .4byte gUnknown_80DD1A8
+_0802559C: .4byte 0x00000301
+_080255A0:
+ movs r1, 0x4
+ ldr r0, [r5]
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _080255AC
+ movs r1, 0x2
+_080255AC:
+ adds r0, r1, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_8023868
+ b _08025720
+_080255BA:
+ movs r0, 0x1
+ bl sub_8023B7C
+ b _08025720
+_080255C2:
+ ldr r1, [r5]
+ ldr r0, [r1]
+ cmp r0, 0
+ bne _080255D2
+ adds r1, 0x18
+ movs r0, 0x3
+ bl sub_8025E68
+_080255D2:
+ bl sub_8023DA4
+ ldr r4, _08025608
+ ldr r0, [r5]
+ ldr r1, [r0, 0x1C]
+ adds r0, r4, 0
+ movs r2, 0x7
+ bl sub_808D9AC
+ adds r4, 0x50
+ ldr r0, [r5]
+ ldr r1, [r0, 0x1C]
+ adds r0, r4, 0
+ movs r2, 0x6
+ bl sub_808D9AC
+ ldr r2, [r5]
+ adds r0, r2, 0
+ adds r0, 0x78
+ adds r1, r2, 0
+ adds r1, 0xC8
+ movs r4, 0x84
+ lsls r4, 1
+ adds r3, r2, r4
+ ldr r2, [r2, 0x70]
+ b _08025654
+ .align 2, 0
+_08025608: .4byte gUnknown_202DF98
+_0802560C:
+ ldr r0, [r5]
+ movs r1, 0xE
+ ldrsh r0, [r0, r1]
+ movs r1, 0x2
+ bl sub_8024458
+ b _08025720
+_0802561A:
+ ldr r0, [r5]
+ movs r4, 0xE
+ ldrsh r0, [r0, r4]
+ bl sub_801BEEC
+ b _08025720
+_08025626:
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _08025720
+_08025634:
+ movs r0, 0x1
+ bl sub_801A8D0
+ b _08025720
+_0802563C:
+ bl sub_801A9E0
+ ldr r0, _08025664
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x78
+ adds r1, r2, 0
+ adds r1, 0xC8
+ movs r4, 0x84
+ lsls r4, 1
+ adds r3, r2, r4
+ ldr r2, [r2, 0x74]
+_08025654:
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _08025720
+ .align 2, 0
+_08025664: .4byte gUnknown_203B2B4
+_08025668:
+ ldr r1, [r5]
+ adds r1, 0x14
+ add r0, sp, 0x8
+ bl sub_8090B64
+ add r0, sp, 0x8
+ bl sub_801B3C0
+ b _08025720
+_0802567A:
+ ldr r1, [r5]
+ movs r0, 0x2
+ str r0, [r1, 0x8]
+ ldr r0, _08025684
+ b _080256B6
+ .align 2, 0
+_08025684: .4byte gUnknown_80DD1C8
+_08025688:
+ ldr r1, [r5]
+ movs r0, 0x2
+ str r0, [r1, 0x8]
+ ldr r0, _08025694
+ b _080256B6
+ .align 2, 0
+_08025694: .4byte gUnknown_80DD1EC
+_08025698:
+ ldr r1, [r5]
+ movs r0, 0x2
+ str r0, [r1, 0x8]
+ ldr r0, _080256A4
+ b _080256B6
+ .align 2, 0
+_080256A4: .4byte gUnknown_80DD240
+_080256A8:
+ ldr r1, [r5]
+ movs r0, 0x1
+ str r0, [r1, 0x8]
+ movs r0, 0xCF
+ bl sub_8011988
+ ldr r0, _080256C4
+_080256B6:
+ ldr r3, _080256C8
+_080256B8:
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ b _08025720
+ .align 2, 0
+_080256C4: .4byte gUnknown_80DD270
+_080256C8: .4byte 0x00000101
+_080256CC:
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x28
+ ldr r1, [r1, 0x1C]
+ adds r1, 0x2C
+ bl sub_809401C
+ ldr r2, [r5]
+ movs r0, 0xE
+ ldrsh r1, [r2, r0]
+ adds r2, 0x28
+ movs r0, 0
+ str r0, [sp]
+ str r0, [sp, 0x4]
+ movs r0, 0x3
+ movs r3, 0
+ bl sub_801EE10
+ b _08025720
+_080256F2:
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_801F1B0
+ b _08025720
+_080256FC:
+ ldr r2, [r5]
+ ldr r0, [r2, 0x20]
+ adds r1, r2, 0
+ adds r1, 0x28
+ adds r2, 0x68
+ bl sub_8093560
+ ldr r0, [r5]
+ adds r0, 0x68
+ bl sub_801F808
+ b _08025720
+_08025714:
+ ldr r0, [r5]
+ ldr r1, [r0, 0x1C]
+ adds r1, 0x4C
+ movs r0, 0x2
+ bl sub_801602C
+_08025720:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025518
+
+ thumb_func_start sub_8025728
+sub_8025728:
+ push {r4-r7,lr}
+ ldr r3, _080257CC
+ ldr r5, _080257D0
+ ldr r0, [r5]
+ movs r1, 0xE
+ ldrsh r2, [r0, r1]
+ movs r1, 0x58
+ muls r2, r1
+ ldr r1, [r3]
+ adds r7, r1, r2
+ movs r2, 0x84
+ lsls r2, 1
+ adds r0, r2
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r4, [r5]
+ ldr r0, [r4]
+ cmp r0, 0
+ bne _080257E0
+ adds r1, r4, 0
+ adds r1, 0xC8
+ ldr r0, _080257D4
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0xA
+ str r0, [r1]
+ bl sub_8090A34
+ cmp r0, 0
+ bne _08025774
+ ldr r0, [r5]
+ movs r4, 0x84
+ lsls r4, 1
+ adds r0, r4
+ movs r1, 0x1
+ strh r1, [r0]
+_08025774:
+ movs r6, 0x1
+ ldr r1, [r5]
+ adds r2, r1, 0
+ adds r2, 0xD0
+ ldr r0, _080257D8
+ str r0, [r2]
+ adds r1, 0xD4
+ movs r0, 0xB
+ str r0, [r1]
+ bl sub_8090A34
+ cmp r0, 0x13
+ bgt _08025796
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x18]
+ cmp r0, 0
+ bne _080257A0
+_08025796:
+ ldr r0, [r5]
+ movs r1, 0x85
+ lsls r1, 1
+ adds r0, r1
+ strh r6, [r0]
+_080257A0:
+ adds r6, 0x1
+ adds r0, r7, 0
+ bl sub_8025EC4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025810
+ ldr r0, _080257D0
+ ldr r2, [r0]
+ lsls r3, r6, 3
+ adds r0, r2, 0
+ adds r0, 0xC8
+ adds r0, r3
+ ldr r1, _080257DC
+ str r1, [r0]
+ adds r2, 0xCC
+ adds r2, r3
+ movs r0, 0x9
+ str r0, [r2]
+ adds r6, 0x1
+ b _08025810
+ .align 2, 0
+_080257CC: .4byte gUnknown_203B45C
+_080257D0: .4byte gUnknown_203B2B4
+_080257D4: .4byte gUnknown_80DD2B0
+_080257D8: .4byte gUnknown_80DD2B8
+_080257DC: .4byte gUnknown_80DD2C0
+_080257E0:
+ adds r1, r4, 0
+ adds r1, 0xC8
+ ldr r0, _080258D4
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x7
+ str r0, [r1]
+ ldr r0, [r4, 0x1C]
+ movs r2, 0x8
+ ldrsh r0, [r0, r2]
+ bl GetFriendArea
+ ldrb r1, [r4, 0xC]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r1, r0
+ bne _0802580E
+ ldr r0, [r5]
+ movs r4, 0x84
+ lsls r4, 1
+ adds r0, r4
+ movs r1, 0x1
+ strh r1, [r0]
+_0802580E:
+ movs r6, 0x1
+_08025810:
+ movs r0, 0x8
+ ldrsh r1, [r7, r0]
+ ldr r0, _080258D8
+ cmp r1, r0
+ bne _08025840
+ adds r0, r7, 0
+ bl sub_808D824
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025840
+ ldr r0, _080258DC
+ ldr r2, [r0]
+ lsls r3, r6, 3
+ adds r0, r2, 0
+ adds r0, 0xC8
+ adds r0, r3
+ ldr r1, _080258E0
+ str r1, [r0]
+ adds r2, 0xCC
+ adds r2, r3
+ movs r0, 0x8
+ str r0, [r2]
+ adds r6, 0x1
+_08025840:
+ ldr r4, _080258DC
+ ldr r5, [r4]
+ lsls r1, r6, 3
+ adds r3, r5, 0
+ adds r3, 0xC8
+ adds r2, r3, r1
+ ldr r0, _080258E4
+ str r0, [r2]
+ adds r7, r5, 0
+ adds r7, 0xCC
+ adds r1, r7, r1
+ movs r0, 0x4
+ str r0, [r1]
+ adds r6, 0x1
+ lsls r1, r6, 3
+ adds r2, r3, r1
+ ldr r0, _080258E8
+ str r0, [r2]
+ adds r1, r7, r1
+ movs r0, 0x6
+ str r0, [r1]
+ adds r6, 0x1
+ lsls r1, r6, 3
+ adds r2, r3, r1
+ ldr r0, _080258EC
+ str r0, [r2]
+ adds r1, r7, r1
+ movs r0, 0x5
+ str r0, [r1]
+ adds r6, 0x1
+ lsls r1, r6, 3
+ adds r3, r1
+ movs r0, 0
+ str r0, [r3]
+ adds r1, r7, r1
+ movs r0, 0x1
+ str r0, [r1]
+ movs r3, 0
+ mov r12, r4
+ cmp r3, r6
+ bge _080258B2
+ movs r1, 0x84
+ lsls r1, 1
+ adds r4, r5, r1
+ adds r2, r7, 0
+_0802589A:
+ ldrh r0, [r4]
+ cmp r0, 0
+ bne _080258A8
+ ldr r1, [r2]
+ ldr r0, [r5, 0x70]
+ cmp r1, r0
+ beq _08025916
+_080258A8:
+ adds r4, 0x2
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, r6
+ blt _0802589A
+_080258B2:
+ movs r3, 0
+ cmp r3, r6
+ bge _08025916
+ mov r2, r12
+ ldr r1, [r2]
+ movs r4, 0x84
+ lsls r4, 1
+ adds r0, r1, r4
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _080258F0
+ adds r0, r1, 0
+ adds r0, 0xCC
+ ldr r0, [r0]
+ str r0, [r1, 0x70]
+ b _08025916
+ .align 2, 0
+_080258D4: .4byte gUnknown_80DD2CC
+_080258D8: .4byte 0x0000013d
+_080258DC: .4byte gUnknown_203B2B4
+_080258E0: .4byte gUnknown_80DD2D4
+_080258E4: .4byte gUnknown_80DD2DC
+_080258E8: .4byte gUnknown_80DD2E4
+_080258EC: .4byte gUnknown_80DD2EC
+_080258F0:
+ adds r3, 0x1
+ cmp r3, r6
+ bge _08025916
+ mov r0, r12
+ ldr r2, [r0]
+ lsls r0, r3, 1
+ movs r4, 0x84
+ lsls r4, 1
+ adds r1, r2, r4
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _080258F0
+ lsls r0, r3, 3
+ adds r1, r2, 0
+ adds r1, 0xCC
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x70]
+_08025916:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025728
+
+ thumb_func_start sub_802591C
+sub_802591C:
+ push {r4-r7,lr}
+ ldr r5, _080259B8
+ ldr r0, [r5]
+ movs r7, 0x84
+ lsls r7, 1
+ adds r0, r7
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r5]
+ adds r2, r1, 0
+ adds r2, 0xC8
+ ldr r0, _080259BC
+ str r0, [r2]
+ adds r1, 0xCC
+ movs r0, 0xA
+ str r0, [r1]
+ bl sub_8090A34
+ cmp r0, 0
+ bne _08025952
+ ldr r0, [r5]
+ adds r1, r7, 0
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0]
+_08025952:
+ ldr r4, [r5]
+ movs r2, 0x1
+ adds r1, r4, 0
+ adds r1, 0xD0
+ ldr r0, _080259C0
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x4
+ str r0, [r1]
+ movs r6, 0x2
+ adds r1, 0x4
+ movs r0, 0
+ str r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0xDC
+ str r2, [r0]
+ movs r3, 0
+ mov r12, r4
+ adds r4, r7
+ mov r2, r12
+ adds r2, 0xCC
+_0802597E:
+ ldrh r0, [r4]
+ cmp r0, 0
+ bne _0802598E
+ ldr r1, [r2]
+ mov r7, r12
+ ldr r0, [r7, 0x74]
+ cmp r1, r0
+ beq _080259E8
+_0802598E:
+ adds r4, 0x2
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, r6
+ blt _0802597E
+ movs r3, 0
+ cmp r3, r6
+ bge _080259E8
+ ldr r1, [r5]
+ movs r2, 0x84
+ lsls r2, 1
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _080259C4
+ adds r0, r1, 0
+ adds r0, 0xCC
+ ldr r0, [r0]
+ str r0, [r1, 0x74]
+ b _080259E8
+ .align 2, 0
+_080259B8: .4byte gUnknown_203B2B4
+_080259BC: .4byte gUnknown_80DD2B0
+_080259C0: .4byte gUnknown_80D4970
+_080259C4:
+ adds r3, 0x1
+ cmp r3, r6
+ bge _080259E8
+ ldr r2, [r5]
+ lsls r0, r3, 1
+ movs r4, 0x84
+ lsls r4, 1
+ adds r1, r2, r4
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _080259C4
+ lsls r0, r3, 3
+ adds r1, r2, 0
+ adds r1, 0xCC
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x74]
+_080259E8:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802591C
+
+ thumb_func_start sub_80259F0
+sub_80259F0:
+ push {lr}
+ movs r0, 0x1
+ bl sub_8023A94
+ cmp r0, 0x3
+ beq _08025A0C
+ cmp r0, 0x3
+ bhi _08025A06
+ cmp r0, 0x2
+ beq _08025A74
+ b _08025A7E
+_08025A06:
+ cmp r0, 0x4
+ beq _08025A40
+ b _08025A7E
+_08025A0C:
+ bl sub_8023B44
+ ldr r1, _08025A38
+ ldr r1, [r1]
+ strh r0, [r1, 0xE]
+ ldr r3, _08025A3C
+ movs r0, 0xE
+ ldrsh r2, [r1, r0]
+ movs r0, 0x58
+ muls r2, r0
+ ldr r0, [r3]
+ adds r0, r2
+ str r0, [r1, 0x1C]
+ movs r2, 0xE
+ ldrsh r0, [r1, r2]
+ adds r1, 0x18
+ bl sub_808D7DC
+ movs r0, 0x3
+ bl sub_8025434
+ b _08025A7E
+ .align 2, 0
+_08025A38: .4byte gUnknown_203B2B4
+_08025A3C: .4byte gUnknown_203B45C
+_08025A40:
+ bl sub_8023B44
+ ldr r1, _08025A6C
+ ldr r1, [r1]
+ strh r0, [r1, 0xE]
+ ldr r3, _08025A70
+ movs r0, 0xE
+ ldrsh r2, [r1, r0]
+ movs r0, 0x58
+ muls r2, r0
+ ldr r0, [r3]
+ adds r0, r2
+ str r0, [r1, 0x1C]
+ movs r2, 0xE
+ ldrsh r0, [r1, r2]
+ adds r1, 0x18
+ bl sub_808D7DC
+ movs r0, 0x4
+ bl sub_8025434
+ b _08025A7E
+ .align 2, 0
+_08025A6C: .4byte gUnknown_203B2B4
+_08025A70: .4byte gUnknown_203B45C
+_08025A74:
+ bl sub_8023C60
+ movs r0, 0x13
+ bl sub_8025434
+_08025A7E:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80259F0
+
+ thumb_func_start sub_8025A84
+sub_8025A84:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_8023A94
+ ldr r4, _08025AC8
+ ldr r0, [r4]
+ adds r0, 0x78
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08025AB4
+ ldr r0, [r4]
+ adds r0, 0x78
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08025AB4
+ ldr r0, [r4]
+ str r1, [r0, 0x70]
+_08025AB4:
+ ldr r0, [sp]
+ subs r0, 0x1
+ cmp r0, 0xA
+ bls _08025ABE
+ b _08025BC2
+_08025ABE:
+ lsls r0, 2
+ ldr r1, _08025ACC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08025AC8: .4byte gUnknown_203B2B4
+_08025ACC: .4byte _08025AD0
+ .align 2, 0
+_08025AD0:
+ .4byte _08025BBC
+ .4byte _08025BC2
+ .4byte _08025BC2
+ .4byte _08025BAC
+ .4byte _08025BB4
+ .4byte _08025B9C
+ .4byte _08025AFC
+ .4byte _08025BA4
+ .4byte _08025B70
+ .4byte _08025B20
+ .4byte _08025B28
+_08025AFC:
+ ldr r4, _08025B1C
+ ldr r0, [r4]
+ ldr r0, [r0, 0x1C]
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ bl GetFriendArea
+ ldr r1, [r4]
+ strb r0, [r1, 0xD]
+ bl sub_8023C60
+ movs r0, 0x13
+ bl sub_8025434
+ b _08025BC2
+ .align 2, 0
+_08025B1C: .4byte gUnknown_203B2B4
+_08025B20:
+ movs r0, 0xB
+ bl sub_8025434
+ b _08025BC2
+_08025B28:
+ ldr r0, _08025B68
+ bl sub_8011988
+ ldr r4, _08025B6C
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x18]
+ cmp r0, 0
+ beq _08025B40
+ adds r0, r1, 0
+ adds r0, 0x18
+ bl sub_8091274
+_08025B40:
+ bl sub_80910B4
+ ldr r0, [r4]
+ movs r1, 0
+ strb r1, [r0, 0x18]
+ ldr r0, [r4]
+ strb r1, [r0, 0x19]
+ ldr r1, [r4]
+ movs r2, 0xE
+ ldrsh r0, [r1, r2]
+ adds r1, 0x18
+ bl sub_808D800
+ bl nullsub_104
+ movs r0, 0xA
+ bl sub_8025434
+ b _08025BC2
+ .align 2, 0
+_08025B68: .4byte 0x0000014d
+_08025B6C: .4byte gUnknown_203B2B4
+_08025B70:
+ ldr r0, _08025B94
+ ldr r0, [r0]
+ ldr r2, [r0, 0x1C]
+ ldrh r1, [r2]
+ ldr r0, _08025B98
+ ands r0, r1
+ strh r0, [r2]
+ bl nullsub_104
+ bl sub_808ED00
+ bl sub_8023C60
+ movs r0, 0x7
+ bl sub_8025434
+ b _08025BC2
+ .align 2, 0
+_08025B94: .4byte gUnknown_203B2B4
+_08025B98: .4byte 0x0000fffd
+_08025B9C:
+ movs r0, 0xF
+ bl sub_8025434
+ b _08025BC2
+_08025BA4:
+ movs r0, 0x12
+ bl sub_8025434
+ b _08025BC2
+_08025BAC:
+ movs r0, 0x4
+ bl sub_8025434
+ b _08025BC2
+_08025BB4:
+ movs r0, 0x5
+ bl sub_8025434
+ b _08025BC2
+_08025BBC:
+ movs r0, 0x2
+ bl sub_8025434
+_08025BC2:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025A84
+
+ thumb_func_start sub_8025BCC
+sub_8025BCC:
+ push {lr}
+ bl sub_80244E4
+ cmp r0, 0x1
+ bls _08025BE4
+ cmp r0, 0x3
+ bhi _08025BE4
+ bl sub_802453C
+ movs r0, 0x2
+ bl sub_8025434
+_08025BE4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025BCC
+
+ thumb_func_start sub_8025BE8
+sub_8025BE8:
+ push {lr}
+ bl sub_801BF48
+ cmp r0, 0x1
+ bls _08025C00
+ cmp r0, 0x3
+ bhi _08025C00
+ bl sub_801BF98
+ movs r0, 0x2
+ bl sub_8025434
+_08025C00:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025BE8
+
+ thumb_func_start sub_8025C04
+sub_8025C04:
+ push {r4,lr}
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x4
+ bhi _08025CAE
+ lsls r0, 2
+ ldr r1, _08025C1C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08025C1C: .4byte _08025C20
+ .align 2, 0
+_08025C20:
+ .4byte _08025CAE
+ .4byte _08025CAE
+ .4byte _08025CA4
+ .4byte _08025C34
+ .4byte _08025C68
+_08025C34:
+ bl sub_801A8AC
+ ldr r4, _08025C60
+ ldr r2, [r4]
+ str r0, [r2, 0x10]
+ ldr r3, _08025C64
+ ldr r1, [r3]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x2]
+ strb r0, [r2, 0x14]
+ ldr r2, [r4]
+ ldr r1, [r3]
+ ldr r0, [r2, 0x10]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x1]
+ strb r0, [r2, 0x15]
+ movs r0, 0xD
+ bl sub_8025434
+ b _08025CAE
+ .align 2, 0
+_08025C60: .4byte gUnknown_203B2B4
+_08025C64: .4byte gUnknown_203B460
+_08025C68:
+ bl sub_801A8AC
+ ldr r4, _08025C9C
+ ldr r2, [r4]
+ str r0, [r2, 0x10]
+ ldr r3, _08025CA0
+ ldr r1, [r3]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x2]
+ strb r0, [r2, 0x14]
+ ldr r2, [r4]
+ ldr r1, [r3]
+ ldr r0, [r2, 0x10]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x1]
+ strb r0, [r2, 0x15]
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0xE
+ bl sub_8025434
+ b _08025CAE
+ .align 2, 0
+_08025C9C: .4byte gUnknown_203B2B4
+_08025CA0: .4byte gUnknown_203B460
+_08025CA4:
+ bl sub_801A928
+ movs r0, 0x2
+ bl sub_8025434
+_08025CAE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025C04
+
+ thumb_func_start sub_8025CB4
+sub_8025CB4:
+ push {r4-r6,lr}
+ sub sp, 0x14
+ movs r0, 0
+ str r0, [sp, 0xC]
+ bl sub_801A6E8
+ ldr r4, _08025CF4
+ ldr r0, [r4]
+ adds r0, 0x78
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08025CE4
+ ldr r0, [r4]
+ adds r0, 0x78
+ add r1, sp, 0xC
+ bl sub_8013114
+ ldr r1, [sp, 0xC]
+ cmp r1, 0x1
+ beq _08025CE4
+ ldr r0, [r4]
+ str r1, [r0, 0x74]
+_08025CE4:
+ ldr r0, [sp, 0xC]
+ cmp r0, 0x4
+ beq _08025D74
+ cmp r0, 0x4
+ bgt _08025CF8
+ cmp r0, 0x1
+ beq _08025D82
+ b _08025D88
+ .align 2, 0
+_08025CF4: .4byte gUnknown_203B2B4
+_08025CF8:
+ cmp r0, 0xA
+ bne _08025D88
+ movs r6, 0x8
+ ldr r0, _08025D68
+ bl sub_8011988
+ ldr r5, _08025D6C
+ ldr r0, [r5]
+ ldr r0, [r0, 0x10]
+ bl sub_80911F8
+ bl sub_80910B4
+ ldr r1, [r5]
+ ldrb r0, [r1, 0x18]
+ cmp r0, 0
+ beq _08025D24
+ adds r0, r1, 0
+ adds r0, 0x18
+ bl sub_8091274
+ movs r6, 0x9
+_08025D24:
+ add r4, sp, 0x10
+ ldr r1, [r5]
+ adds r1, 0x14
+ adds r0, r4, 0
+ bl sub_8090B64
+ movs r1, 0
+ str r1, [sp]
+ mov r0, sp
+ strb r1, [r0, 0x4]
+ mov r1, sp
+ movs r0, 0x1
+ strb r0, [r1, 0x8]
+ strb r0, [r4]
+ ldr r0, _08025D70
+ adds r1, r4, 0
+ mov r2, sp
+ bl sub_8090E14
+ ldr r1, [r5]
+ movs r2, 0xE
+ ldrsh r0, [r1, r2]
+ adds r1, 0x14
+ bl sub_808D800
+ bl sub_801A928
+ bl nullsub_104
+ adds r0, r6, 0
+ bl sub_8025434
+ b _08025D88
+ .align 2, 0
+_08025D68: .4byte 0x0000014d
+_08025D6C: .4byte gUnknown_203B2B4
+_08025D70: .4byte gUnknown_202DEA8
+_08025D74:
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0xE
+ bl sub_8025434
+ b _08025D88
+_08025D82:
+ movs r0, 0xC
+ bl sub_8025434
+_08025D88:
+ add sp, 0x14
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025CB4
+
+ thumb_func_start sub_8025D90
+sub_8025D90:
+ push {lr}
+ bl sub_801B410
+ cmp r0, 0x1
+ bls _08025DA8
+ cmp r0, 0x3
+ bhi _08025DA8
+ bl sub_801B450
+ movs r0, 0xC
+ bl sub_8025434
+_08025DA8:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025D90
+
+ thumb_func_start sub_8025DAC
+sub_8025DAC:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801EF38
+ cmp r0, 0x3
+ beq _08025DC6
+ cmp r0, 0x3
+ bhi _08025DC2
+ cmp r0, 0x2
+ beq _08025DE4
+ b _08025DFE
+_08025DC2:
+ cmp r0, 0x4
+ bne _08025DFE
+_08025DC6:
+ bl sub_801F194
+ ldr r1, _08025DE0
+ ldr r1, [r1]
+ str r0, [r1, 0x20]
+ lsls r0, 3
+ adds r0, r1, r0
+ ldrh r0, [r0, 0x2A]
+ strh r0, [r1, 0x24]
+ movs r0, 0x11
+ bl sub_8025434
+ b _08025DFE
+ .align 2, 0
+_08025DE0: .4byte gUnknown_203B2B4
+_08025DE4:
+ bl sub_801F214
+ ldr r0, _08025E04
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x28
+ ldr r1, [r1, 0x1C]
+ adds r1, 0x2C
+ bl sub_8094060
+ movs r0, 0x2
+ bl sub_8025434
+_08025DFE:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08025E04: .4byte gUnknown_203B2B4
+ thumb_func_end sub_8025DAC
+
+ thumb_func_start sub_8025E08
+sub_8025E08:
+ push {lr}
+ bl sub_801F890
+ cmp r0, 0x1
+ bls _08025E20
+ cmp r0, 0x3
+ bhi _08025E20
+ bl sub_801F8D0
+ movs r0, 0x10
+ bl sub_8025434
+_08025E20:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025E08
+
+ thumb_func_start sub_8025E24
+sub_8025E24:
+ push {lr}
+ bl sub_8016080
+ cmp r0, 0x3
+ bhi _08025E40
+ cmp r0, 0x2
+ bcc _08025E40
+ bl sub_80160D8
+ bl nullsub_104
+ movs r0, 0x2
+ bl sub_8025434
+_08025E40:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025E24
+
+ thumb_func_start sub_8025E44
+sub_8025E44:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08025E5C
+ ldr r0, _08025E64
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ bl sub_8025434
+_08025E5C:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08025E64: .4byte gUnknown_203B2B4
+ thumb_func_end sub_8025E44
+
+ thumb_func_start sub_8025E68
+sub_8025E68:
+ push {r4-r6,lr}
+ sub sp, 0x14
+ adds r6, r0, 0
+ adds r5, r1, 0
+ bl sub_8008C54
+ adds r0, r6, 0
+ bl sub_80073B8
+ add r4, sp, 0x10
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8090B64
+ movs r5, 0
+ str r5, [sp, 0x4]
+ add r0, sp, 0x4
+ strb r5, [r0, 0x4]
+ adds r1, r0, 0
+ movs r0, 0x1
+ strb r0, [r1, 0x8]
+ strb r0, [r4]
+ ldr r0, _08025EBC
+ adds r1, r4, 0
+ add r2, sp, 0x4
+ bl sub_8090E14
+ ldr r2, _08025EC0
+ str r5, [sp]
+ movs r0, 0x4
+ movs r1, 0x3
+ adds r3, r6, 0
+ bl sub_8014FF0
+ adds r0, r6, 0
+ bl sub_80073E0
+ add sp, 0x14
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08025EBC: .4byte gUnknown_202DE58
+_08025EC0: .4byte gUnknown_80DD2F8
+ thumb_func_end sub_8025E68
+
+ thumb_func_start sub_8025EC4
+sub_8025EC4:
+ push {lr}
+ adds r1, r0, 0
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0
+ bne _08025EE8
+ movs r2, 0
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0x41
+ bne _08025ED8
+ movs r2, 0x1
+_08025ED8:
+ cmp r2, 0
+ beq _08025EEC
+ movs r0, 0x8
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ bne _08025EEC
+_08025EE8:
+ movs r0, 0
+ b _08025EEE
+_08025EEC:
+ movs r0, 0x1
+_08025EEE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8025EC4
+
+ thumb_func_start sub_8025EF4
+sub_8025EF4:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ ldr r6, _08025F1C
+ movs r0, 0xA0
+ lsls r0, 2
+ movs r1, 0x8
+ bl MemoryAlloc
+ adds r1, r0, 0
+ str r1, [r6]
+ str r4, [r1, 0x18]
+ movs r5, 0
+ ldr r0, _08025F20
+ ldr r0, [r0]
+ cmp r4, r0
+ bne _08025F24
+ strh r5, [r1, 0xA]
+ adds r4, r6, 0
+ b _08025F48
+ .align 2, 0
+_08025F1C: .4byte gUnknown_203B2B8
+_08025F20: .4byte gUnknown_203B45C
+_08025F24:
+ adds r5, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ ldr r4, _08025F60
+ cmp r5, r0
+ bgt _08025F48
+ ldr r3, [r4]
+ ldr r2, _08025F64
+ lsls r0, r5, 16
+ asrs r0, 16
+ movs r1, 0x58
+ muls r1, r0
+ ldr r0, [r2]
+ adds r0, r1
+ ldr r1, [r3, 0x18]
+ cmp r1, r0
+ bne _08025F24
+ strh r5, [r3, 0xA]
+_08025F48:
+ ldr r1, [r4]
+ movs r0, 0
+ str r0, [r1, 0x70]
+ str r0, [r1, 0x74]
+ str r0, [r1, 0x78]
+ strb r0, [r1, 0x8]
+ bl sub_8026074
+ movs r0, 0x1
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08025F60: .4byte gUnknown_203B2B8
+_08025F64: .4byte gUnknown_203B45C
+ thumb_func_end sub_8025EF4
+
+ thumb_func_start sub_8025F68
+sub_8025F68:
+ push {lr}
+ ldr r0, _08025F80
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x19
+ bhi _0802603A
+ lsls r0, 2
+ ldr r1, _08025F84
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08025F80: .4byte gUnknown_203B2B8
+_08025F84: .4byte _08025F88
+ .align 2, 0
+_08025F88:
+ .4byte _08025FF0
+ .4byte _08025FF8
+ .4byte _08025FF8
+ .4byte _08025FFE
+ .4byte _08026004
+ .4byte _0802603A
+ .4byte _0802603A
+ .4byte _0802603A
+ .4byte _0802603A
+ .4byte _0802603A
+ .4byte _0802603A
+ .4byte _0802603A
+ .4byte _0802600A
+ .4byte _08026010
+ .4byte _08026016
+ .4byte _0802603A
+ .4byte _0802603A
+ .4byte _0802603A
+ .4byte _0802601C
+ .4byte _0802601C
+ .4byte _08026022
+ .4byte _08026028
+ .4byte _0802602E
+ .4byte _0802602E
+ .4byte _08026034
+ .4byte _08026040
+_08025FF0:
+ movs r0, 0x1
+ bl sub_8026074
+ b _08026044
+_08025FF8:
+ bl sub_80268CC
+ b _08026044
+_08025FFE:
+ bl sub_8026A78
+ b _08026044
+_08026004:
+ bl sub_8026A94
+ b _08026044
+_0802600A:
+ bl sub_8026AB0
+ b _08026044
+_08026010:
+ bl sub_8026B10
+ b _08026044
+_08026016:
+ bl sub_8026B48
+ b _08026044
+_0802601C:
+ bl sub_8026B64
+ b _08026044
+_08026022:
+ bl sub_8026C14
+ b _08026044
+_08026028:
+ bl sub_8026CF0
+ b _08026044
+_0802602E:
+ bl sub_8026D0C
+ b _08026044
+_08026034:
+ bl sub_8026D6C
+ b _08026044
+_0802603A:
+ bl sub_8026D88
+ b _08026044
+_08026040:
+ movs r0, 0x3
+ b _08026046
+_08026044:
+ movs r0, 0
+_08026046:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8025F68
+
+ thumb_func_start sub_802604C
+sub_802604C:
+ ldr r0, _08026054
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x8]
+ bx lr
+ .align 2, 0
+_08026054: .4byte gUnknown_203B2B8
+ thumb_func_end sub_802604C
+
+ thumb_func_start sub_8026058
+sub_8026058:
+ push {r4,lr}
+ ldr r4, _08026070
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0802606A
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0802606A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08026070: .4byte gUnknown_203B2B8
+ thumb_func_end sub_8026058
+
+ thumb_func_start sub_8026074
+sub_8026074:
+ push {lr}
+ ldr r1, _08026088
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_802608C
+ bl sub_80261D0
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08026088: .4byte gUnknown_203B2B8
+ thumb_func_end sub_8026074
+
+ thumb_func_start sub_802608C
+sub_802608C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r4, _080260B8
+ ldr r0, [r4]
+ movs r5, 0x88
+ lsls r5, 2
+ adds r0, r5
+ bl sub_8006518
+ ldr r0, [r4]
+ ldr r0, [r0]
+ cmp r0, 0x1
+ blt _08026178
+ cmp r0, 0x2
+ ble _080260BC
+ cmp r0, 0x14
+ beq _0802614C
+ b _08026178
+ .align 2, 0
+_080260B8: .4byte gUnknown_203B2B8
+_080260BC:
+ ldr r0, _0802613C
+ mov r12, r0
+ ldr r1, _08026140
+ mov r8, r1
+ mov r9, r4
+ mov r10, r5
+ movs r3, 0
+ movs r2, 0x3
+_080260CC:
+ mov r5, r9
+ ldr r1, [r5]
+ adds r1, r3
+ add r1, r10
+ ldr r0, _08026144
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ adds r3, 0x18
+ subs r2, 0x1
+ cmp r2, 0
+ bge _080260CC
+ ldr r1, [r4]
+ movs r6, 0x88
+ lsls r6, 2
+ adds r1, r6
+ mov r0, r12
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldr r1, [r4]
+ movs r0, 0x9A
+ lsls r0, 2
+ adds r1, r0
+ mov r0, r8
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r6,r7}
+ stm r1!, {r2,r6,r7}
+ bl sub_80264CC
+ ldr r2, [r4]
+ movs r0, 0x94
+ lsls r0, 2
+ adds r2, r0
+ ldr r1, _08026148
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ ldm r1!, {r3,r5,r7}
+ stm r2!, {r3,r5,r7}
+ ldr r1, [r4]
+ adds r0, r1, r0
+ movs r6, 0xB6
+ lsls r6, 1
+ adds r1, r6
+ bl sub_8012CAC
+ ldr r0, [r4]
+ movs r7, 0x97
+ lsls r7, 2
+ adds r0, r7
+ movs r1, 0x9
+ strh r1, [r0]
+ b _080261A2
+ .align 2, 0
+_0802613C: .4byte gUnknown_80DD358
+_08026140: .4byte gUnknown_80DD370
+_08026144: .4byte gUnknown_80DD310
+_08026148: .4byte gUnknown_80DD328
+_0802614C:
+ bl sub_802678C
+ ldr r2, [r4]
+ movs r0, 0x94
+ lsls r0, 2
+ adds r2, r0
+ ldr r1, _08026174
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ ldm r1!, {r3,r5,r7}
+ stm r2!, {r3,r5,r7}
+ ldr r1, [r4]
+ adds r0, r1, r0
+ movs r6, 0xB6
+ lsls r6, 1
+ adds r1, r6
+ bl sub_8012CAC
+ b _080261A2
+ .align 2, 0
+_08026174: .4byte gUnknown_80DD340
+_08026178:
+ ldr r7, _080261C8
+ mov r8, r7
+ movs r0, 0x88
+ lsls r0, 2
+ mov r9, r0
+ ldr r4, _080261CC
+ movs r3, 0
+ movs r2, 0x3
+_08026188:
+ mov r5, r8
+ ldr r1, [r5]
+ adds r1, r3
+ add r1, r9
+ adds r0, r4, 0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ adds r3, 0x18
+ subs r2, 0x1
+ cmp r2, 0
+ bge _08026188
+_080261A2:
+ bl sub_8004914
+ ldr r0, _080261C8
+ ldr r0, [r0]
+ movs r6, 0x88
+ lsls r6, 2
+ adds r0, r6
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080261C8: .4byte gUnknown_203B2B8
+_080261CC: .4byte gUnknown_80DD310
+ thumb_func_end sub_802608C
+
+ thumb_func_start sub_80261D0
+sub_80261D0:
+ push {r4,r5,lr}
+ sub sp, 0x18
+ ldr r1, _080261EC
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r4, r1, 0
+ cmp r0, 0x19
+ bls _080261E2
+ b _080264BA
+_080261E2:
+ lsls r0, 2
+ ldr r1, _080261F0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080261EC: .4byte gUnknown_203B2B8
+_080261F0: .4byte _080261F4
+ .align 2, 0
+_080261F4:
+ .4byte _080264BA
+ .4byte _0802625C
+ .4byte _080262A8
+ .4byte _080262EC
+ .4byte _080262FA
+ .4byte _080263F8
+ .4byte _0802640C
+ .4byte _08026420
+ .4byte _08026434
+ .4byte _08026448
+ .4byte _0802648A
+ .4byte _080264A8
+ .4byte _08026392
+ .4byte _080263AC
+ .4byte _08026306
+ .4byte _08026464
+ .4byte _08026474
+ .4byte _08026484
+ .4byte _08026310
+ .4byte _0802631E
+ .4byte _08026326
+ .4byte _08026350
+ .4byte _08026362
+ .4byte _08026388
+ .4byte _080263E0
+ .4byte _080264BA
+_0802625C:
+ movs r0, 0x3
+ bl sub_8026E08
+ ldr r5, _080262A0
+ ldr r1, [r5]
+ adds r1, 0x14
+ movs r0, 0
+ bl sub_8026DAC
+ ldr r4, _080262A4
+ ldr r0, [r5]
+ ldr r1, [r0, 0x18]
+ adds r0, r4, 0
+ movs r2, 0x7
+ bl sub_808D9AC
+ adds r4, 0x50
+ ldr r0, [r5]
+ ldr r1, [r0, 0x18]
+ adds r0, r4, 0
+ movs r2, 0x6
+ bl sub_808D9AC
+ ldr r2, [r5]
+ adds r0, r2, 0
+ adds r0, 0x7C
+ movs r3, 0xB6
+ lsls r3, 1
+ adds r1, r2, r3
+ movs r4, 0x83
+ lsls r4, 2
+ adds r3, r2, r4
+ ldr r2, [r2, 0x70]
+ b _0802633E
+ .align 2, 0
+_080262A0: .4byte gUnknown_203B2B8
+_080262A4: .4byte gUnknown_202DF98
+_080262A8:
+ movs r0, 0x3
+ bl sub_8026E08
+ ldr r5, _080262E4
+ ldr r1, [r5]
+ adds r1, 0x14
+ movs r0, 0
+ bl sub_8026DAC
+ ldr r4, _080262E8
+ ldr r0, [r5]
+ ldr r1, [r0, 0x18]
+ adds r0, r4, 0
+ movs r2, 0x7
+ bl sub_808D9AC
+ adds r4, 0x50
+ ldr r0, [r5]
+ ldr r1, [r0, 0x18]
+ adds r0, r4, 0
+ movs r2, 0x6
+ bl sub_808D9AC
+ ldr r0, [r5]
+ adds r0, 0x7C
+ movs r1, 0x1
+ bl sub_8012EA4
+ b _080264BA
+ .align 2, 0
+_080262E4: .4byte gUnknown_203B2B8
+_080262E8: .4byte gUnknown_202DF98
+_080262EC:
+ ldr r0, [r4]
+ movs r1, 0xA
+ ldrsh r0, [r0, r1]
+ movs r1, 0x2
+ bl sub_8024458
+ b _080264BA
+_080262FA:
+ ldr r0, [r4]
+ movs r3, 0xA
+ ldrsh r0, [r0, r3]
+ bl sub_801BEEC
+ b _080264BA
+_08026306:
+ ldr r0, [r4]
+ ldr r0, [r0, 0x18]
+ bl sub_80227B8
+ b _080264BA
+_08026310:
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _080264BA
+_0802631E:
+ movs r0, 0x1
+ bl sub_801A8D0
+ b _080264BA
+_08026326:
+ bl sub_801A9E0
+ ldr r0, _0802634C
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0xCC
+ movs r4, 0xB6
+ lsls r4, 1
+ adds r1, r2, r4
+ adds r4, 0xA0
+ adds r3, r2, r4
+ ldr r2, [r2, 0x74]
+_0802633E:
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _080264BA
+ .align 2, 0
+_0802634C: .4byte gUnknown_203B2B8
+_08026350:
+ ldr r1, [r4]
+ adds r1, 0x10
+ add r0, sp, 0x14
+ bl sub_8090B64
+ add r0, sp, 0x14
+ bl sub_801B3C0
+ b _080264BA
+_08026362:
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x28
+ ldr r1, [r1, 0x18]
+ adds r1, 0x2C
+ bl sub_809401C
+ ldr r2, [r4]
+ movs r0, 0xA
+ ldrsh r1, [r2, r0]
+ adds r2, 0x28
+ movs r0, 0
+ str r0, [sp]
+ str r0, [sp, 0x4]
+ movs r0, 0x3
+ movs r3, 0
+ bl sub_801EE10
+ b _080264BA
+_08026388:
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_801F1B0
+ b _080264BA
+_08026392:
+ bl sub_8026878
+ ldr r0, _080263A4
+ ldr r1, _080263A8
+ ldr r3, [r1]
+ movs r1, 0xDE
+ lsls r1, 1
+ adds r3, r1
+ b _080263BC
+ .align 2, 0
+_080263A4: .4byte gUnknown_80DD388
+_080263A8: .4byte gUnknown_203B2B8
+_080263AC:
+ bl sub_8026878
+ ldr r0, _080263D8
+ ldr r1, _080263DC
+ ldr r3, [r1]
+ movs r4, 0xDE
+ lsls r4, 1
+ adds r3, r4
+_080263BC:
+ movs r2, 0
+ str r2, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ str r2, [sp, 0xC]
+ adds r1, 0xFD
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x3
+ bl sub_8014248
+ b _080264BA
+ .align 2, 0
+_080263D8: .4byte gUnknown_80DD420
+_080263DC: .4byte gUnknown_203B2B8
+_080263E0:
+ ldr r2, [r4]
+ ldr r0, [r2, 0x20]
+ adds r1, r2, 0
+ adds r1, 0x28
+ adds r2, 0x68
+ bl sub_8093560
+ ldr r0, [r4]
+ adds r0, 0x68
+ bl sub_801F808
+ b _080264BA
+_080263F8:
+ ldr r1, [r4]
+ movs r0, 0x19
+ str r0, [r1, 0x4]
+ movs r0, 0xCF
+ bl sub_8011988
+ ldr r0, _08026408
+ b _08026492
+ .align 2, 0
+_08026408: .4byte gUnknown_80DD4C4
+_0802640C:
+ ldr r1, [r4]
+ movs r0, 0x19
+ str r0, [r1, 0x4]
+ movs r0, 0xCF
+ bl sub_8011988
+ ldr r0, _0802641C
+ b _08026492
+ .align 2, 0
+_0802641C: .4byte gUnknown_80DD4F4
+_08026420:
+ ldr r1, [r4]
+ movs r0, 0x19
+ str r0, [r1, 0x4]
+ movs r0, 0xCC
+ bl sub_8011988
+ ldr r0, _08026430
+ b _08026492
+ .align 2, 0
+_08026430: .4byte gUnknown_80DD534
+_08026434:
+ ldr r1, [r4]
+ movs r0, 0x9
+ str r0, [r1, 0x4]
+ movs r0, 0xCA
+ bl sub_8011988
+ ldr r0, _08026444
+ b _08026492
+ .align 2, 0
+_08026444: .4byte gUnknown_80DD564
+_08026448:
+ bl sub_8026FA4
+ ldr r4, _08026460
+ ldr r0, [r4]
+ ldr r0, [r0, 0x18]
+ bl sub_808D31C
+ ldr r1, [r4]
+ movs r0, 0x1
+ strb r0, [r1, 0x8]
+ b _080264BA
+ .align 2, 0
+_08026460: .4byte gUnknown_203B2B8
+_08026464:
+ ldr r1, [r4]
+ movs r0, 0x2
+ str r0, [r1, 0x4]
+ ldr r0, _08026470
+ b _08026492
+ .align 2, 0
+_08026470: .4byte gUnknown_80DD594
+_08026474:
+ ldr r1, [r4]
+ movs r0, 0x2
+ str r0, [r1, 0x4]
+ ldr r0, _08026480
+ b _08026492
+ .align 2, 0
+_08026480: .4byte gUnknown_80DD5B8
+_08026484:
+ ldr r1, [r4]
+ movs r0, 0x2
+ b _0802648E
+_0802648A:
+ ldr r1, [r4]
+ movs r0, 0x19
+_0802648E:
+ str r0, [r1, 0x4]
+ ldr r0, _080264A0
+_08026492:
+ ldr r3, _080264A4
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ b _080264BA
+ .align 2, 0
+_080264A0: .4byte gUnknown_80DD60C
+_080264A4: .4byte 0x00000101
+_080264A8:
+ ldr r1, [r4]
+ movs r0, 0x19
+ str r0, [r1, 0x4]
+ ldr r0, _080264C4
+ ldr r3, _080264C8
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+_080264BA:
+ add sp, 0x18
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080264C4: .4byte gUnknown_80DD63C
+_080264C8: .4byte 0x00000101
+ thumb_func_end sub_80261D0
+
+ thumb_func_start sub_80264CC
+sub_80264CC:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r3, _08026574
+ ldr r4, _08026578
+ ldr r0, [r4]
+ movs r1, 0xA
+ ldrsh r2, [r0, r1]
+ movs r1, 0x58
+ muls r2, r1
+ ldr r1, [r3]
+ adds r1, r2
+ mov r8, r1
+ movs r2, 0x83
+ lsls r2, 2
+ adds r0, r2
+ movs r1, 0
+ movs r2, 0x14
+ bl MemoryFill16
+ ldr r1, [r4]
+ ldr r0, [r1, 0x18]
+ ldrb r0, [r0, 0x2]
+ strb r0, [r1, 0x1C]
+ ldr r1, [r4]
+ movs r3, 0xA
+ ldrsh r0, [r1, r3]
+ adds r1, 0x14
+ bl sub_808D7DC
+ mov r1, r8
+ ldrh r0, [r1]
+ lsrs r0, 1
+ movs r5, 0x1
+ ands r0, r5
+ cmp r0, 0
+ beq _08026584
+ ldr r2, [r4]
+ movs r3, 0xB6
+ lsls r3, 1
+ adds r1, r2, r3
+ ldr r0, _0802657C
+ str r0, [r1]
+ movs r0, 0xB8
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x7
+ str r0, [r1]
+ mov r0, r8
+ bl sub_8026E88
+ lsls r0, 24
+ cmp r0, 0
+ bne _08026542
+ ldr r0, [r4]
+ movs r1, 0x83
+ lsls r1, 2
+ adds r0, r1
+ strh r5, [r0]
+_08026542:
+ movs r6, 0x1
+ movs r0, 0x8
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _080265B4
+ mov r2, r8
+ ldrb r0, [r2, 0x2]
+ cmp r0, 0
+ bne _080265B4
+ ldr r3, [r4]
+ movs r2, 0x8
+ movs r4, 0xBA
+ lsls r4, 1
+ adds r1, r3, r4
+ ldr r0, _08026580
+ str r0, [r1]
+ movs r1, 0xBC
+ lsls r1, 1
+ adds r0, r3, r1
+ str r2, [r0]
+ movs r6, 0x2
+ b _080265B4
+ .align 2, 0
+_08026574: .4byte gUnknown_203B45C
+_08026578: .4byte gUnknown_203B2B8
+_0802657C: .4byte gUnknown_80DD664
+_08026580: .4byte gUnknown_80DD670
+_08026584:
+ ldr r2, [r4]
+ movs r3, 0xB6
+ lsls r3, 1
+ adds r1, r2, r3
+ ldr r0, _08026734
+ str r0, [r1]
+ movs r0, 0xB8
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x6
+ str r0, [r1]
+ movs r1, 0xA
+ ldrsh r0, [r2, r1]
+ bl sub_808D750
+ lsls r0, 24
+ cmp r0, 0
+ bne _080265B2
+ ldr r0, [r4]
+ movs r2, 0x83
+ lsls r2, 2
+ adds r0, r2
+ strh r5, [r0]
+_080265B2:
+ movs r6, 0x1
+_080265B4:
+ ldr r4, _08026738
+ ldr r2, [r4]
+ lsls r3, r6, 3
+ movs r7, 0xB6
+ lsls r7, 1
+ adds r0, r2, r7
+ adds r0, r3
+ ldr r1, _0802673C
+ str r1, [r0]
+ movs r5, 0xB8
+ lsls r5, 1
+ adds r2, r5
+ adds r2, r3
+ movs r0, 0xA
+ str r0, [r2]
+ bl sub_809177C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080265EC
+ ldr r0, [r4]
+ lsls r1, r6, 1
+ movs r3, 0x83
+ lsls r3, 2
+ adds r0, r3
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0]
+_080265EC:
+ adds r6, 0x1
+ ldr r2, [r4]
+ lsls r3, r6, 3
+ adds r0, r2, r7
+ adds r0, r3
+ ldr r1, _08026740
+ str r1, [r0]
+ adds r2, r5
+ adds r2, r3
+ movs r0, 0xB
+ str r0, [r2]
+ bl sub_8090A34
+ cmp r0, 0
+ bne _0802661A
+ ldr r0, [r4]
+ lsls r1, r6, 1
+ movs r2, 0x83
+ lsls r2, 2
+ adds r0, r2
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0]
+_0802661A:
+ adds r6, 0x1
+ ldr r2, [r4]
+ lsls r3, r6, 3
+ adds r0, r2, r7
+ adds r0, r3
+ ldr r1, _08026744
+ str r1, [r0]
+ adds r2, r5
+ adds r2, r3
+ movs r0, 0xC
+ str r0, [r2]
+ bl sub_8090A34
+ cmp r0, 0x13
+ bgt _08026640
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x14]
+ cmp r0, 0
+ bne _08026650
+_08026640:
+ ldr r0, [r4]
+ lsls r1, r6, 1
+ movs r3, 0x83
+ lsls r3, 2
+ adds r0, r3
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0]
+_08026650:
+ adds r6, 0x1
+ mov r4, r8
+ ldrh r0, [r4]
+ lsrs r0, 1
+ movs r5, 0x1
+ ands r0, r5
+ cmp r0, 0
+ bne _0802669A
+ ldr r4, _08026738
+ ldr r3, [r4]
+ lsls r2, r6, 3
+ movs r1, 0xB6
+ lsls r1, 1
+ adds r0, r3, r1
+ adds r0, r2
+ ldr r1, _08026748
+ str r1, [r0]
+ movs r1, 0xB8
+ lsls r1, 1
+ adds r0, r3, r1
+ adds r0, r2
+ movs r1, 0x9
+ str r1, [r0]
+ mov r0, r8
+ bl sub_8026EB8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08026698
+ ldr r0, [r4]
+ lsls r1, r6, 1
+ movs r2, 0x83
+ lsls r2, 2
+ adds r0, r2
+ adds r0, r1
+ strh r5, [r0]
+_08026698:
+ adds r6, 0x1
+_0802669A:
+ ldr r4, _08026738
+ ldr r5, [r4]
+ lsls r1, r6, 3
+ movs r0, 0xB6
+ lsls r0, 1
+ adds r3, r5, r0
+ adds r2, r3, r1
+ ldr r0, _0802674C
+ str r0, [r2]
+ movs r2, 0xB8
+ lsls r2, 1
+ adds r7, r5, r2
+ adds r1, r7, r1
+ movs r0, 0x4
+ str r0, [r1]
+ adds r6, 0x1
+ lsls r1, r6, 3
+ adds r2, r3, r1
+ ldr r0, _08026750
+ str r0, [r2]
+ adds r1, r7, r1
+ movs r0, 0xD
+ str r0, [r1]
+ adds r6, 0x1
+ lsls r1, r6, 3
+ adds r2, r3, r1
+ ldr r0, _08026754
+ str r0, [r2]
+ adds r1, r7, r1
+ movs r0, 0x5
+ str r0, [r1]
+ adds r6, 0x1
+ lsls r1, r6, 3
+ adds r3, r1
+ movs r0, 0
+ str r0, [r3]
+ adds r1, r7, r1
+ movs r0, 0x1
+ str r0, [r1]
+ movs r3, 0
+ mov r12, r4
+ cmp r3, r6
+ bge _08026710
+ adds r4, r7, 0
+ movs r0, 0x83
+ lsls r0, 2
+ adds r2, r5, r0
+_080266F8:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08026706
+ ldr r1, [r4]
+ ldr r0, [r5, 0x70]
+ cmp r1, r0
+ beq _08026780
+_08026706:
+ adds r4, 0x8
+ adds r2, 0x2
+ adds r3, 0x1
+ cmp r3, r6
+ blt _080266F8
+_08026710:
+ movs r3, 0
+ cmp r3, r6
+ bge _08026780
+ mov r2, r12
+ ldr r1, [r2]
+ movs r4, 0x83
+ lsls r4, 2
+ adds r0, r1, r4
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08026758
+ movs r2, 0xB8
+ lsls r2, 1
+ adds r0, r1, r2
+ ldr r0, [r0]
+ str r0, [r1, 0x70]
+ b _08026780
+ .align 2, 0
+_08026734: .4byte gUnknown_80DD67C
+_08026738: .4byte gUnknown_203B2B8
+_0802673C: .4byte gUnknown_80DD688
+_08026740: .4byte gUnknown_80DD694
+_08026744: .4byte gUnknown_80DD69C
+_08026748: .4byte gUnknown_80DD6A4
+_0802674C: .4byte gUnknown_80DD6B4
+_08026750: .4byte gUnknown_80DD6BC
+_08026754: .4byte gUnknown_80DD6C4
+_08026758:
+ adds r3, 0x1
+ cmp r3, r6
+ bge _08026780
+ mov r4, r12
+ ldr r2, [r4]
+ lsls r0, r3, 1
+ movs r4, 0x83
+ lsls r4, 2
+ adds r1, r2, r4
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08026758
+ lsls r0, r3, 3
+ movs r3, 0xB8
+ lsls r3, 1
+ adds r1, r2, r3
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x70]
+_08026780:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80264CC
+
+ thumb_func_start sub_802678C
+sub_802678C:
+ push {r4-r7,lr}
+ ldr r5, _08026840
+ ldr r0, [r5]
+ movs r7, 0x83
+ lsls r7, 2
+ adds r0, r7
+ movs r1, 0
+ movs r2, 0x14
+ bl MemoryFill16
+ ldr r2, [r5]
+ movs r0, 0xB6
+ lsls r0, 1
+ adds r1, r2, r0
+ ldr r0, _08026844
+ str r0, [r1]
+ movs r3, 0xB8
+ lsls r3, 1
+ adds r1, r2, r3
+ movs r0, 0xB
+ str r0, [r1]
+ bl sub_8090A34
+ cmp r0, 0
+ bne _080267C8
+ ldr r0, [r5]
+ adds r4, r7, 0
+ adds r0, r4
+ movs r1, 0x1
+ strh r1, [r0]
+_080267C8:
+ ldr r4, [r5]
+ movs r2, 0x1
+ movs r0, 0xBA
+ lsls r0, 1
+ adds r1, r4, r0
+ ldr r0, _08026848
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r3, 0xBC
+ lsls r3, 1
+ adds r1, r4, r3
+ movs r0, 0x4
+ str r0, [r1]
+ movs r6, 0x2
+ movs r0, 0xBE
+ lsls r0, 1
+ adds r1, r4, r0
+ movs r0, 0
+ str r0, [r1]
+ movs r1, 0xC0
+ lsls r1, 1
+ adds r0, r4, r1
+ str r2, [r0]
+ movs r3, 0
+ mov r12, r4
+ movs r4, 0xB8
+ lsls r4, 1
+ add r4, r12
+ mov r0, r12
+ adds r2, r0, r7
+_08026804:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08026814
+ ldr r1, [r4]
+ mov r7, r12
+ ldr r0, [r7, 0x74]
+ cmp r1, r0
+ beq _08026872
+_08026814:
+ adds r4, 0x8
+ adds r2, 0x2
+ adds r3, 0x1
+ cmp r3, r6
+ blt _08026804
+ movs r3, 0
+ cmp r3, r6
+ bge _08026872
+ ldr r1, [r5]
+ movs r2, 0x83
+ lsls r2, 2
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0802684C
+ movs r3, 0xB8
+ lsls r3, 1
+ adds r0, r1, r3
+ ldr r0, [r0]
+ str r0, [r1, 0x74]
+ b _08026872
+ .align 2, 0
+_08026840: .4byte gUnknown_203B2B8
+_08026844: .4byte gUnknown_80DD694
+_08026848: .4byte gUnknown_80D4970
+_0802684C:
+ adds r3, 0x1
+ cmp r3, r6
+ bge _08026872
+ ldr r2, [r5]
+ lsls r0, r3, 1
+ movs r4, 0x83
+ lsls r4, 2
+ adds r1, r2, r4
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _0802684C
+ lsls r0, r3, 3
+ movs r7, 0xB8
+ lsls r7, 1
+ adds r1, r2, r7
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x74]
+_08026872:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802678C
+
+ thumb_func_start sub_8026878
+sub_8026878:
+ ldr r0, _080268C0
+ ldr r0, [r0]
+ mov r12, r0
+ movs r3, 0
+ movs r1, 0xDE
+ lsls r1, 1
+ add r1, r12
+ ldr r0, _080268C4
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r1, 0xE0
+ lsls r1, 1
+ add r1, r12
+ movs r0, 0x2
+ str r0, [r1]
+ movs r2, 0x1
+ movs r1, 0xE2
+ lsls r1, 1
+ add r1, r12
+ ldr r0, _080268C8
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r1, 0xE4
+ lsls r1, 1
+ add r1, r12
+ movs r0, 0x3
+ str r0, [r1]
+ movs r0, 0xE6
+ lsls r0, 1
+ add r0, r12
+ str r3, [r0]
+ movs r0, 0xE8
+ lsls r0, 1
+ add r0, r12
+ str r2, [r0]
+ bx lr
+ .align 2, 0
+_080268C0: .4byte gUnknown_203B2B8
+_080268C4: .4byte gUnknown_80D4920
+_080268C8: .4byte gUnknown_80D4928
+ thumb_func_end sub_8026878
+
+ thumb_func_start sub_80268CC
+sub_80268CC:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ ldr r4, _0802690C
+ ldr r0, [r4]
+ adds r0, 0x7C
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _080268F8
+ ldr r0, [r4]
+ adds r0, 0x7C
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _080268F8
+ ldr r0, [r4]
+ str r1, [r0, 0x70]
+_080268F8:
+ ldr r0, [sp]
+ subs r0, 0x1
+ cmp r0, 0xC
+ bls _08026902
+ b _08026A6E
+_08026902:
+ lsls r0, 2
+ ldr r1, _08026910
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0802690C: .4byte gUnknown_203B2B8
+_08026910: .4byte _08026914
+ .align 2, 0
+_08026914:
+ .4byte _08026A68
+ .4byte _08026A6E
+ .4byte _08026A6E
+ .4byte _08026A58
+ .4byte _08026A60
+ .4byte _08026948
+ .4byte _0802698C
+ .4byte _080269B4
+ .4byte _080269F0
+ .4byte _08026A00
+ .4byte _08026A08
+ .4byte _08026A10
+ .4byte _080269F8
+_08026948:
+ ldr r4, _08026984
+ ldr r0, [r4]
+ movs r1, 0xA
+ ldrsh r0, [r0, r1]
+ bl sub_808D750
+ lsls r0, 24
+ cmp r0, 0
+ beq _08026976
+ ldr r0, [r4]
+ movs r2, 0xA
+ ldrsh r1, [r0, r2]
+ movs r0, 0x58
+ muls r1, r0
+ ldr r0, _08026988
+ ldr r0, [r0]
+ adds r1, r0
+ ldrh r2, [r1]
+ movs r0, 0x2
+ orrs r0, r2
+ strh r0, [r1]
+ bl nullsub_104
+_08026976:
+ bl sub_808ED00
+ movs r0, 0x5
+ bl sub_8026074
+ b _08026A6E
+ .align 2, 0
+_08026984: .4byte gUnknown_203B2B8
+_08026988: .4byte gUnknown_203B45C
+_0802698C:
+ ldr r0, _080269AC
+ ldr r0, [r0]
+ ldr r2, [r0, 0x18]
+ ldrh r1, [r2]
+ ldr r0, _080269B0
+ ands r0, r1
+ strh r0, [r2]
+ bl nullsub_104
+ bl sub_808ED00
+ movs r0, 0x6
+ bl sub_8026074
+ b _08026A6E
+ .align 2, 0
+_080269AC: .4byte gUnknown_203B2B8
+_080269B0: .4byte 0x0000fffd
+_080269B4:
+ ldr r2, _080269E8
+ ldr r0, _080269EC
+ ldr r0, [r0]
+ movs r3, 0xA
+ ldrsh r1, [r0, r3]
+ movs r0, 0x58
+ muls r1, r0
+ ldr r0, [r2]
+ adds r4, r0, r1
+ bl sub_808D33C
+ ldrb r1, [r4, 0x2]
+ cmp r1, 0
+ bne _080269DA
+ strb r1, [r0, 0x2]
+ movs r0, 0x1
+ strb r0, [r4, 0x2]
+ bl nullsub_104
+_080269DA:
+ bl sub_808ED00
+ movs r0, 0x7
+ bl sub_8026074
+ b _08026A6E
+ .align 2, 0
+_080269E8: .4byte gUnknown_203B45C
+_080269EC: .4byte gUnknown_203B2B8
+_080269F0:
+ movs r0, 0xC
+ bl sub_8026074
+ b _08026A6E
+_080269F8:
+ movs r0, 0x16
+ bl sub_8026074
+ b _08026A6E
+_08026A00:
+ movs r0, 0xE
+ bl sub_8026074
+ b _08026A6E
+_08026A08:
+ movs r0, 0x12
+ bl sub_8026074
+ b _08026A6E
+_08026A10:
+ ldr r0, _08026A50
+ bl sub_8011988
+ ldr r4, _08026A54
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x14]
+ cmp r0, 0
+ beq _08026A28
+ adds r0, r1, 0
+ adds r0, 0x14
+ bl sub_8091274
+_08026A28:
+ bl sub_80910B4
+ ldr r0, [r4]
+ movs r1, 0
+ strb r1, [r0, 0x14]
+ ldr r0, [r4]
+ strb r1, [r0, 0x15]
+ ldr r1, [r4]
+ movs r2, 0xA
+ ldrsh r0, [r1, r2]
+ adds r1, 0x14
+ bl sub_808D800
+ bl nullsub_104
+ movs r0, 0x11
+ bl sub_8026074
+ b _08026A6E
+ .align 2, 0
+_08026A50: .4byte 0x0000014d
+_08026A54: .4byte gUnknown_203B2B8
+_08026A58:
+ movs r0, 0x3
+ bl sub_8026074
+ b _08026A6E
+_08026A60:
+ movs r0, 0x4
+ bl sub_8026074
+ b _08026A6E
+_08026A68:
+ movs r0, 0x19
+ bl sub_8026074
+_08026A6E:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80268CC
+
+ thumb_func_start sub_8026A78
+sub_8026A78:
+ push {lr}
+ bl sub_80244E4
+ cmp r0, 0x1
+ bls _08026A90
+ cmp r0, 0x3
+ bhi _08026A90
+ bl sub_802453C
+ movs r0, 0x2
+ bl sub_8026074
+_08026A90:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026A78
+
+ thumb_func_start sub_8026A94
+sub_8026A94:
+ push {lr}
+ bl sub_801BF48
+ cmp r0, 0x1
+ bls _08026AAC
+ cmp r0, 0x3
+ bhi _08026AAC
+ bl sub_801BF98
+ movs r0, 0x2
+ bl sub_8026074
+_08026AAC:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026A94
+
+ thumb_func_start sub_8026AB0
+sub_8026AB0:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08026B08
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08026ADA
+ cmp r0, 0x2
+ bgt _08026ACE
+ cmp r0, 0x1
+ beq _08026AD2
+ b _08026B08
+_08026ACE:
+ cmp r0, 0x3
+ bne _08026B08
+_08026AD2:
+ movs r0, 0x2
+ bl sub_8026074
+ b _08026B08
+_08026ADA:
+ ldr r0, _08026AF0
+ ldr r0, [r0]
+ ldr r0, [r0, 0x18]
+ ldrb r0, [r0, 0x4]
+ subs r0, 0x44
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _08026AF4
+ movs r0, 0x1
+ b _08026AF6
+ .align 2, 0
+_08026AF0: .4byte gUnknown_203B2B8
+_08026AF4:
+ movs r0, 0
+_08026AF6:
+ cmp r0, 0
+ beq _08026B02
+ movs r0, 0xD
+ bl sub_8026074
+ b _08026B08
+_08026B02:
+ movs r0, 0x8
+ bl sub_8026074
+_08026B08:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026AB0
+
+ thumb_func_start sub_8026B10
+sub_8026B10:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08026B40
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08026B3A
+ cmp r0, 0x2
+ bgt _08026B2E
+ cmp r0, 0x1
+ beq _08026B32
+ b _08026B40
+_08026B2E:
+ cmp r0, 0x3
+ bne _08026B40
+_08026B32:
+ movs r0, 0x2
+ bl sub_8026074
+ b _08026B40
+_08026B3A:
+ movs r0, 0x8
+ bl sub_8026074
+_08026B40:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026B10
+
+ thumb_func_start sub_8026B48
+sub_8026B48:
+ push {lr}
+ bl sub_8022860
+ cmp r0, 0x1
+ bls _08026B60
+ cmp r0, 0x3
+ bhi _08026B60
+ bl sub_8022908
+ movs r0, 0x2
+ bl sub_8026074
+_08026B60:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026B48
+
+ thumb_func_start sub_8026B64
+sub_8026B64:
+ push {r4,lr}
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x4
+ bhi _08026C0E
+ lsls r0, 2
+ ldr r1, _08026B7C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08026B7C: .4byte _08026B80
+ .align 2, 0
+_08026B80:
+ .4byte _08026C0E
+ .4byte _08026C0E
+ .4byte _08026C04
+ .4byte _08026B94
+ .4byte _08026BC8
+_08026B94:
+ bl sub_801A8AC
+ ldr r4, _08026BC0
+ ldr r2, [r4]
+ str r0, [r2, 0xC]
+ ldr r3, _08026BC4
+ ldr r1, [r3]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x2]
+ strb r0, [r2, 0x10]
+ ldr r2, [r4]
+ ldr r1, [r3]
+ ldr r0, [r2, 0xC]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x1]
+ strb r0, [r2, 0x11]
+ movs r0, 0x14
+ bl sub_8026074
+ b _08026C0E
+ .align 2, 0
+_08026BC0: .4byte gUnknown_203B2B8
+_08026BC4: .4byte gUnknown_203B460
+_08026BC8:
+ bl sub_801A8AC
+ ldr r4, _08026BFC
+ ldr r2, [r4]
+ str r0, [r2, 0xC]
+ ldr r3, _08026C00
+ ldr r1, [r3]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x2]
+ strb r0, [r2, 0x10]
+ ldr r2, [r4]
+ ldr r1, [r3]
+ ldr r0, [r2, 0xC]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x1]
+ strb r0, [r2, 0x11]
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0x15
+ bl sub_8026074
+ b _08026C0E
+ .align 2, 0
+_08026BFC: .4byte gUnknown_203B2B8
+_08026C00: .4byte gUnknown_203B460
+_08026C04:
+ bl sub_801A928
+ movs r0, 0x2
+ bl sub_8026074
+_08026C0E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026B64
+
+ thumb_func_start sub_8026C14
+sub_8026C14:
+ push {r4-r6,lr}
+ sub sp, 0x14
+ movs r0, 0
+ str r0, [sp, 0xC]
+ bl sub_801A6E8
+ ldr r4, _08026C54
+ ldr r0, [r4]
+ adds r0, 0xCC
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08026C44
+ ldr r0, [r4]
+ adds r0, 0xCC
+ add r1, sp, 0xC
+ bl sub_8013114
+ ldr r1, [sp, 0xC]
+ cmp r1, 0x1
+ beq _08026C44
+ ldr r0, [r4]
+ str r1, [r0, 0x74]
+_08026C44:
+ ldr r0, [sp, 0xC]
+ cmp r0, 0x4
+ beq _08026CD4
+ cmp r0, 0x4
+ bgt _08026C58
+ cmp r0, 0x1
+ beq _08026CE2
+ b _08026CE8
+ .align 2, 0
+_08026C54: .4byte gUnknown_203B2B8
+_08026C58:
+ cmp r0, 0xB
+ bne _08026CE8
+ movs r6, 0xF
+ ldr r0, _08026CC8
+ bl sub_8011988
+ ldr r5, _08026CCC
+ ldr r0, [r5]
+ ldr r0, [r0, 0xC]
+ bl sub_80911F8
+ bl sub_80910B4
+ ldr r1, [r5]
+ ldrb r0, [r1, 0x14]
+ cmp r0, 0
+ beq _08026C84
+ adds r0, r1, 0
+ adds r0, 0x14
+ bl sub_8091274
+ movs r6, 0x10
+_08026C84:
+ add r4, sp, 0x10
+ ldr r1, [r5]
+ adds r1, 0x10
+ adds r0, r4, 0
+ bl sub_8090B64
+ movs r1, 0
+ str r1, [sp]
+ mov r0, sp
+ strb r1, [r0, 0x4]
+ mov r1, sp
+ movs r0, 0x1
+ strb r0, [r1, 0x8]
+ strb r0, [r4]
+ ldr r0, _08026CD0
+ adds r1, r4, 0
+ mov r2, sp
+ bl sub_8090E14
+ ldr r1, [r5]
+ movs r2, 0xA
+ ldrsh r0, [r1, r2]
+ adds r1, 0x10
+ bl sub_808D800
+ bl sub_801A928
+ bl nullsub_104
+ adds r0, r6, 0
+ bl sub_8026074
+ b _08026CE8
+ .align 2, 0
+_08026CC8: .4byte 0x0000014d
+_08026CCC: .4byte gUnknown_203B2B8
+_08026CD0: .4byte gUnknown_202DEA8
+_08026CD4:
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0x15
+ bl sub_8026074
+ b _08026CE8
+_08026CE2:
+ movs r0, 0x13
+ bl sub_8026074
+_08026CE8:
+ add sp, 0x14
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026C14
+
+ thumb_func_start sub_8026CF0
+sub_8026CF0:
+ push {lr}
+ bl sub_801B410
+ cmp r0, 0x1
+ bls _08026D08
+ cmp r0, 0x3
+ bhi _08026D08
+ bl sub_801B450
+ movs r0, 0x13
+ bl sub_8026074
+_08026D08:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026CF0
+
+ thumb_func_start sub_8026D0C
+sub_8026D0C:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801EF38
+ cmp r0, 0x4
+ bhi _08026D66
+ lsls r0, 2
+ ldr r1, _08026D24
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08026D24: .4byte _08026D28
+ .align 2, 0
+_08026D28:
+ .4byte _08026D66
+ .4byte _08026D66
+ .4byte _08026D5C
+ .4byte _08026D3C
+ .4byte _08026D3C
+_08026D3C:
+ bl sub_801F194
+ ldr r1, _08026D58
+ ldr r1, [r1]
+ str r0, [r1, 0x20]
+ lsls r0, 3
+ adds r0, r1, r0
+ ldrh r0, [r0, 0x2A]
+ strh r0, [r1, 0x24]
+ movs r0, 0x18
+ bl sub_8026074
+ b _08026D66
+ .align 2, 0
+_08026D58: .4byte gUnknown_203B2B8
+_08026D5C:
+ bl sub_801F214
+ movs r0, 0x2
+ bl sub_8026074
+_08026D66:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026D0C
+
+ thumb_func_start sub_8026D6C
+sub_8026D6C:
+ push {lr}
+ bl sub_801F890
+ cmp r0, 0x1
+ bls _08026D84
+ cmp r0, 0x3
+ bhi _08026D84
+ bl sub_801F8D0
+ movs r0, 0x17
+ bl sub_8026074
+_08026D84:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026D6C
+
+ thumb_func_start sub_8026D88
+sub_8026D88:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08026DA0
+ ldr r0, _08026DA8
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ bl sub_8026074
+_08026DA0:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08026DA8: .4byte gUnknown_203B2B8
+ thumb_func_end sub_8026D88
+
+ thumb_func_start sub_8026DAC
+sub_8026DAC:
+ push {r4-r6,lr}
+ sub sp, 0x14
+ adds r6, r0, 0
+ adds r5, r1, 0
+ bl sub_8008C54
+ adds r0, r6, 0
+ bl sub_80073B8
+ add r4, sp, 0x10
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8090B64
+ movs r5, 0
+ str r5, [sp, 0x4]
+ add r0, sp, 0x4
+ strb r5, [r0, 0x4]
+ adds r1, r0, 0
+ movs r0, 0x1
+ strb r0, [r1, 0x8]
+ strb r0, [r4]
+ ldr r0, _08026E00
+ adds r1, r4, 0
+ add r2, sp, 0x4
+ bl sub_8090E14
+ ldr r2, _08026E04
+ str r5, [sp]
+ movs r0, 0x4
+ movs r1, 0x3
+ adds r3, r6, 0
+ bl sub_8014FF0
+ adds r0, r6, 0
+ bl sub_80073E0
+ add sp, 0x14
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08026E00: .4byte gUnknown_202DE58
+_08026E04: .4byte gUnknown_80DD6D0
+ thumb_func_end sub_8026DAC
+
+ thumb_func_start sub_8026E08
+sub_8026E08:
+ push {r4-r6,lr}
+ sub sp, 0x40
+ adds r5, r0, 0
+ bl sub_8008C54
+ adds r0, r5, 0
+ bl sub_80073B8
+ ldr r6, _08026E78
+ ldr r4, _08026E7C
+ ldr r0, [r4]
+ ldr r1, [r0, 0x18]
+ adds r1, 0x4C
+ adds r0, r6, 0
+ movs r2, 0xA
+ bl sub_80922B4
+ add r0, sp, 0x2C
+ ldr r1, [r4]
+ ldr r1, [r1, 0x18]
+ movs r2, 0x8
+ ldrsh r1, [r1, r2]
+ bl sub_808D930
+ ldr r1, _08026E80
+ add r0, sp, 0x4
+ adds r2, r6, 0
+ bl sub_800D158
+ add r0, sp, 0x4
+ bl sub_8008ED0
+ adds r1, r0, 0
+ ldr r0, _08026E84
+ movs r2, 0xC
+ ldrsh r0, [r0, r2]
+ lsls r0, 3
+ subs r0, r1
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ movs r1, 0
+ str r1, [sp]
+ movs r1, 0x3
+ add r2, sp, 0x4
+ adds r3, r5, 0
+ bl xxx_call_draw_string
+ adds r0, r5, 0
+ bl sub_80073E0
+ add sp, 0x40
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08026E78: .4byte gUnknown_202DF98
+_08026E7C: .4byte gUnknown_203B2B8
+_08026E80: .4byte gUnknown_80DD6E0
+_08026E84: .4byte gUnknown_80DD370
+ thumb_func_end sub_8026E08
+
+ thumb_func_start sub_8026E88
+sub_8026E88:
+ push {lr}
+ adds r1, r0, 0
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0
+ bne _08026EAC
+ movs r2, 0
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0x41
+ bne _08026E9C
+ movs r2, 0x1
+_08026E9C:
+ cmp r2, 0
+ beq _08026EB0
+ movs r0, 0x8
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ bne _08026EB0
+_08026EAC:
+ movs r0, 0
+ b _08026EB2
+_08026EB0:
+ movs r0, 0x1
+_08026EB2:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026E88
+
+ thumb_func_start sub_8026EB8
+sub_8026EB8:
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_808D3BC
+ cmp r0, r4
+ beq _08026EFA
+ bl sub_808D3F8
+ cmp r0, r4
+ beq _08026EFA
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0
+ bne _08026EFA
+ movs r1, 0
+ ldrb r0, [r4, 0x4]
+ cmp r0, 0x41
+ bne _08026EDC
+ movs r1, 0x1
+_08026EDC:
+ cmp r1, 0
+ beq _08026EEC
+ movs r0, 0x8
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08026EFA
+_08026EEC:
+ adds r0, r4, 0
+ bl sub_8026F04
+ cmp r0, 0x3
+ beq _08026EFA
+ movs r0, 0x1
+ b _08026EFC
+_08026EFA:
+ movs r0, 0
+_08026EFC:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026EB8
+
+ thumb_func_start sub_8026F04
+sub_8026F04:
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r0, 0x28
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08026F14
+ movs r0, 0
+ b _08026F32
+_08026F14:
+ bl sub_8090A34
+ cmp r0, 0x13
+ bgt _08026F20
+ movs r0, 0x1
+ b _08026F32
+_08026F20:
+ adds r0, r4, 0
+ bl sub_8026F38
+ lsls r0, 24
+ cmp r0, 0
+ bne _08026F30
+ movs r0, 0x3
+ b _08026F32
+_08026F30:
+ movs r0, 0x2
+_08026F32:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026F04
+
+ thumb_func_start sub_8026F38
+sub_8026F38:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r5, 0
+ adds r4, 0x28
+ ldrb r0, [r4]
+ bl sub_8091524
+ lsls r0, 24
+ cmp r0, 0
+ beq _08026F74
+ ldrb r0, [r4]
+ bl sub_8090A60
+ lsls r0, 24
+ cmp r0, 0
+ beq _08026F80
+ ldr r0, _08026F78
+ ldr r1, [r0]
+ ldrb r0, [r4]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r1, r0
+ ldrh r1, [r1]
+ adds r0, r5, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ adds r1, r0
+ ldr r0, _08026F7C
+ cmp r1, r0
+ ble _08026F94
+_08026F74:
+ movs r0, 0
+ b _08026F96
+ .align 2, 0
+_08026F78: .4byte gUnknown_203B460
+_08026F7C: .4byte 0x000003e7
+_08026F80:
+ ldr r0, _08026F9C
+ ldr r1, [r0]
+ ldrb r0, [r4]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r1, r0
+ ldrh r1, [r1]
+ ldr r0, _08026FA0
+ cmp r1, r0
+ bhi _08026F74
+_08026F94:
+ movs r0, 0x1
+_08026F96:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08026F9C: .4byte gUnknown_203B460
+_08026FA0: .4byte 0x000003e6
+ thumb_func_end sub_8026F38
+
+ thumb_func_start sub_8026FA4
+sub_8026FA4:
+ push {r4,lr}
+ ldr r4, _08026FC0
+ ldr r0, [r4]
+ ldr r0, [r0, 0x18]
+ bl sub_8026F04
+ cmp r0, 0x1
+ beq _08026FC4
+ cmp r0, 0x1
+ bcc _08027068
+ cmp r0, 0x2
+ beq _08026FF8
+ b _08027068
+ .align 2, 0
+_08026FC0: .4byte gUnknown_203B2B8
+_08026FC4:
+ ldr r0, _08026FF4
+ bl sub_8011988
+ ldr r0, [r4]
+ adds r0, 0x14
+ bl sub_8091274
+ bl sub_80910B4
+ ldr r0, [r4]
+ movs r1, 0
+ strb r1, [r0, 0x14]
+ ldr r0, [r4]
+ strb r1, [r0, 0x15]
+ ldr r1, [r4]
+ movs r2, 0xA
+ ldrsh r0, [r1, r2]
+ adds r1, 0x14
+ bl sub_808D800
+ movs r0, 0xA
+ bl sub_8026074
+ b _0802706E
+ .align 2, 0
+_08026FF4: .4byte 0x0000014d
+_08026FF8:
+ ldr r0, _08027024
+ bl sub_8011988
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x14]
+ bl sub_8090A60
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802702C
+ ldr r0, _08027028
+ ldr r1, [r0]
+ ldr r2, [r4]
+ ldrb r0, [r2, 0x14]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r1, r0
+ ldrh r0, [r1]
+ ldrb r2, [r2, 0x15]
+ adds r0, r2
+ b _0802703E
+ .align 2, 0
+_08027024: .4byte 0x0000014d
+_08027028: .4byte gUnknown_203B460
+_0802702C:
+ ldr r0, _08027060
+ ldr r1, [r0]
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x14]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r1, r0
+ ldrh r0, [r1]
+ adds r0, 0x1
+_0802703E:
+ strh r0, [r1]
+ ldr r1, _08027064
+ ldr r0, [r1]
+ movs r2, 0
+ strb r2, [r0, 0x14]
+ ldr r0, [r1]
+ strb r2, [r0, 0x15]
+ ldr r1, [r1]
+ movs r2, 0xA
+ ldrsh r0, [r1, r2]
+ adds r1, 0x14
+ bl sub_808D800
+ movs r0, 0xB
+ bl sub_8026074
+ b _0802706E
+ .align 2, 0
+_08027060: .4byte gUnknown_203B460
+_08027064: .4byte gUnknown_203B2B8
+_08027068:
+ movs r0, 0x19
+ bl sub_8026074
+_0802706E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026FA4
+
+ thumb_func_start sub_8027074
+sub_8027074:
+ push {r4,lr}
+ movs r0, 0
+ bl ResetSprites
+ ldr r4, _080270A0
+ movs r0, 0xF0
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ movs r1, 0
+ str r1, [r0, 0x70]
+ str r1, [r0, 0x74]
+ str r1, [r0, 0x78]
+ movs r0, 0
+ bl sub_8027184
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080270A0: .4byte gUnknown_203B2BC
+ thumb_func_end sub_8027074
+
+ thumb_func_start sub_80270A4
+sub_80270A4:
+ push {lr}
+ ldr r0, _080270BC
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x11
+ bhi _08027156
+ lsls r0, 2
+ ldr r1, _080270C0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080270BC: .4byte gUnknown_203B2BC
+_080270C0: .4byte _080270C4
+ .align 2, 0
+_080270C4:
+ .4byte _0802710C
+ .4byte _08027114
+ .4byte _08027114
+ .4byte _0802711A
+ .4byte _08027120
+ .4byte _08027126
+ .4byte _08027156
+ .4byte _08027156
+ .4byte _0802712C
+ .4byte _08027132
+ .4byte _08027138
+ .4byte _08027138
+ .4byte _0802713E
+ .4byte _08027144
+ .4byte _0802714A
+ .4byte _0802714A
+ .4byte _08027150
+ .4byte _0802715C
+_0802710C:
+ movs r0, 0x1
+ bl sub_8027184
+ b _08027160
+_08027114:
+ bl sub_80277FC
+ b _08027160
+_0802711A:
+ bl sub_80278B4
+ b _08027160
+_08027120:
+ bl sub_8027A40
+ b _08027160
+_08027126:
+ bl sub_8027A5C
+ b _08027160
+_0802712C:
+ bl sub_8027A78
+ b _08027160
+_08027132:
+ bl sub_8027AE4
+ b _08027160
+_08027138:
+ bl sub_8027B28
+ b _08027160
+_0802713E:
+ bl sub_8027BD8
+ b _08027160
+_08027144:
+ bl sub_8027C84
+ b _08027160
+_0802714A:
+ bl sub_8027CA0
+ b _08027160
+_08027150:
+ bl sub_8027D00
+ b _08027160
+_08027156:
+ bl sub_8027D1C
+ b _08027160
+_0802715C:
+ movs r0, 0x3
+ b _08027162
+_08027160:
+ movs r0, 0
+_08027162:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80270A4
+
+ thumb_func_start sub_8027168
+sub_8027168:
+ push {r4,lr}
+ ldr r4, _08027180
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0802717A
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0802717A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08027180: .4byte gUnknown_203B2BC
+ thumb_func_end sub_8027168
+
+ thumb_func_start sub_8027184
+sub_8027184:
+ push {lr}
+ ldr r1, _08027198
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_802719C
+ bl sub_8027274
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08027198: .4byte gUnknown_203B2BC
+ thumb_func_end sub_8027184
+
+ thumb_func_start sub_802719C
+sub_802719C:
+ push {r4-r7,lr}
+ ldr r4, _080271C0
+ ldr r0, [r4]
+ movs r1, 0xC0
+ lsls r1, 1
+ adds r0, r1
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r0, [r1]
+ cmp r0, 0x3
+ beq _080271C8
+ cmp r0, 0xC
+ beq _08027208
+ movs r2, 0
+ ldr r3, _080271C4
+ b _08027234
+ .align 2, 0
+_080271C0: .4byte gUnknown_203B2BC
+_080271C4: .4byte gUnknown_80DD6EC
+_080271C8:
+ movs r2, 0xE4
+ lsls r2, 1
+ adds r1, r2
+ ldr r0, _08027200
+ ldm r0!, {r3,r5,r6}
+ stm r1!, {r3,r5,r6}
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ bl sub_802745C
+ ldr r2, [r4]
+ movs r0, 0xD8
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _08027204
+ ldm r1!, {r5-r7}
+ stm r2!, {r5-r7}
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ ldr r1, [r4]
+ adds r0, r1, r0
+ movs r7, 0x8E
+ lsls r7, 1
+ adds r1, r7
+ bl sub_8012CAC
+ b _08027254
+ .align 2, 0
+_08027200: .4byte gUnknown_80DD74C
+_08027204: .4byte gUnknown_80DD704
+_08027208:
+ bl sub_80276A8
+ ldr r2, [r4]
+ movs r0, 0xD8
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _08027230
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ ldm r1!, {r3,r5,r7}
+ stm r2!, {r3,r5,r7}
+ ldr r1, [r4]
+ adds r0, r1, r0
+ movs r6, 0x8E
+ lsls r6, 1
+ adds r1, r6
+ bl sub_8012CAC
+ b _08027254
+ .align 2, 0
+_08027230: .4byte gUnknown_80DD71C
+_08027234:
+ ldr r0, [r4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r0, r1
+ movs r7, 0xC0
+ lsls r7, 1
+ adds r0, r7
+ adds r1, r3, 0
+ ldm r1!, {r5-r7}
+ stm r0!, {r5-r7}
+ ldm r1!, {r5-r7}
+ stm r0!, {r5-r7}
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _08027234
+_08027254:
+ bl sub_8004914
+ ldr r0, _08027270
+ ldr r0, [r0]
+ movs r1, 0xC0
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08027270: .4byte gUnknown_203B2BC
+ thumb_func_end sub_802719C
+
+ thumb_func_start sub_8027274
+sub_8027274:
+ push {r4,lr}
+ sub sp, 0x18
+ ldr r1, _08027290
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r4, r1, 0
+ cmp r0, 0x11
+ bls _08027286
+ b _0802744A
+_08027286:
+ lsls r0, 2
+ ldr r1, _08027294
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08027290: .4byte gUnknown_203B2BC
+_08027294: .4byte _08027298
+ .align 2, 0
+_08027298:
+ .4byte _0802744A
+ .4byte _080272E0
+ .4byte _080272EE
+ .4byte _080272F6
+ .4byte _0802731A
+ .4byte _08027328
+ .4byte _0802741C
+ .4byte _08027438
+ .4byte _080273B6
+ .4byte _080273D0
+ .4byte _08027334
+ .4byte _08027342
+ .4byte _0802734A
+ .4byte _08027374
+ .4byte _08027386
+ .4byte _080273AC
+ .4byte _08027404
+ .4byte _0802744A
+_080272E0:
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x7
+ bl sub_8023868
+ b _0802744A
+_080272EE:
+ movs r0, 0x1
+ bl sub_8023B7C
+ b _0802744A
+_080272F6:
+ ldr r1, [r4]
+ adds r1, 0x14
+ movs r0, 0x3
+ bl sub_8027D40
+ bl sub_8023DA4
+ ldr r2, [r4]
+ adds r0, r2, 0
+ adds r0, 0x7C
+ movs r3, 0x8E
+ lsls r3, 1
+ adds r1, r2, r3
+ movs r4, 0xB6
+ lsls r4, 1
+ adds r3, r2, r4
+ ldr r2, [r2, 0x70]
+ b _08027362
+_0802731A:
+ ldr r0, [r4]
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ movs r1, 0x2
+ bl sub_8024458
+ b _0802744A
+_08027328:
+ ldr r0, [r4]
+ movs r3, 0x8
+ ldrsh r0, [r0, r3]
+ bl sub_801BEEC
+ b _0802744A
+_08027334:
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _0802744A
+_08027342:
+ movs r0, 0x1
+ bl sub_801A8D0
+ b _0802744A
+_0802734A:
+ bl sub_801A9E0
+ ldr r0, _08027370
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x7C
+ movs r4, 0x8E
+ lsls r4, 1
+ adds r1, r2, r4
+ adds r4, 0x50
+ adds r3, r2, r4
+ ldr r2, [r2, 0x74]
+_08027362:
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _0802744A
+ .align 2, 0
+_08027370: .4byte gUnknown_203B2BC
+_08027374:
+ ldr r1, [r4]
+ adds r1, 0x10
+ add r0, sp, 0x14
+ bl sub_8090B64
+ add r0, sp, 0x14
+ bl sub_801B3C0
+ b _0802744A
+_08027386:
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x28
+ ldr r1, [r1, 0x18]
+ adds r1, 0x2C
+ bl sub_809401C
+ ldr r2, [r4]
+ movs r0, 0x8
+ ldrsh r1, [r2, r0]
+ adds r2, 0x28
+ movs r0, 0
+ str r0, [sp]
+ str r0, [sp, 0x4]
+ movs r0, 0x3
+ movs r3, 0
+ bl sub_801EE10
+ b _0802744A
+_080273AC:
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_801F1B0
+ b _0802744A
+_080273B6:
+ bl sub_8027794
+ ldr r0, _080273C8
+ ldr r1, _080273CC
+ ldr r3, [r1]
+ movs r1, 0x8E
+ lsls r1, 1
+ adds r3, r1
+ b _080273E0
+ .align 2, 0
+_080273C8: .4byte gUnknown_80DD764
+_080273CC: .4byte gUnknown_203B2BC
+_080273D0:
+ bl sub_8027794
+ ldr r0, _080273FC
+ ldr r1, _08027400
+ ldr r3, [r1]
+ movs r4, 0x8E
+ lsls r4, 1
+ adds r3, r4
+_080273E0:
+ movs r2, 0
+ str r2, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ str r2, [sp, 0xC]
+ adds r1, 0xFD
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x3
+ bl sub_8014248
+ b _0802744A
+ .align 2, 0
+_080273FC: .4byte gUnknown_80DD7FC
+_08027400: .4byte gUnknown_203B2BC
+_08027404:
+ ldr r2, [r4]
+ ldr r0, [r2, 0x20]
+ adds r1, r2, 0
+ adds r1, 0x28
+ adds r2, 0x68
+ bl sub_8093560
+ ldr r0, [r4]
+ adds r0, 0x68
+ bl sub_801F808
+ b _0802744A
+_0802741C:
+ ldr r1, [r4]
+ movs r0, 0x2
+ str r0, [r1, 0x4]
+ ldr r0, _08027430
+ ldr r3, _08027434
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ b _0802744A
+ .align 2, 0
+_08027430: .4byte gUnknown_80DD8A0
+_08027434: .4byte 0x00000101
+_08027438:
+ ldr r1, [r4]
+ movs r0, 0x2
+ str r0, [r1, 0x4]
+ ldr r0, _08027454
+ ldr r3, _08027458
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+_0802744A:
+ add sp, 0x18
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08027454: .4byte gUnknown_80DD8D0
+_08027458: .4byte 0x00000101
+ thumb_func_end sub_8027274
+
+ thumb_func_start sub_802745C
+sub_802745C:
+ push {r4-r7,lr}
+ ldr r3, _080274E4
+ ldr r4, _080274E8
+ ldr r0, [r4]
+ movs r1, 0x8
+ ldrsh r2, [r0, r1]
+ movs r1, 0x58
+ muls r2, r1
+ ldr r1, [r3]
+ adds r5, r1, r2
+ movs r2, 0xB6
+ lsls r2, 1
+ adds r0, r2
+ movs r1, 0
+ movs r2, 0x14
+ bl MemoryFill16
+ ldrh r0, [r5]
+ lsrs r0, 1
+ movs r6, 0x1
+ ands r0, r6
+ cmp r0, 0
+ beq _080274F4
+ ldr r2, [r4]
+ movs r3, 0x8E
+ lsls r3, 1
+ adds r1, r2, r3
+ ldr r0, _080274EC
+ str r0, [r1]
+ movs r0, 0x90
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x7
+ str r0, [r1]
+ adds r0, r5, 0
+ bl sub_8027D9C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080274B6
+ ldr r0, [r4]
+ movs r1, 0xB6
+ lsls r1, 1
+ adds r0, r1
+ strh r6, [r0]
+_080274B6:
+ movs r7, 0x1
+ movs r0, 0x8
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08027552
+ ldrb r0, [r5, 0x2]
+ cmp r0, 0
+ bne _08027552
+ ldr r3, [r4]
+ movs r2, 0x8
+ movs r4, 0x92
+ lsls r4, 1
+ adds r1, r3, r4
+ ldr r0, _080274F0
+ str r0, [r1]
+ movs r1, 0x94
+ lsls r1, 1
+ adds r0, r3, r1
+ str r2, [r0]
+ b _08027550
+ .align 2, 0
+_080274E4: .4byte gUnknown_203B45C
+_080274E8: .4byte gUnknown_203B2BC
+_080274EC: .4byte gUnknown_80DD8F8
+_080274F0: .4byte gUnknown_80DD904
+_080274F4:
+ ldr r2, [r4]
+ movs r3, 0x8E
+ lsls r3, 1
+ adds r1, r2, r3
+ ldr r0, _08027658
+ str r0, [r1]
+ movs r0, 0x90
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x6
+ str r0, [r1]
+ movs r1, 0x8
+ ldrsh r0, [r2, r1]
+ bl sub_808D750
+ lsls r0, 24
+ cmp r0, 0
+ bne _08027522
+ ldr r0, [r4]
+ movs r2, 0xB6
+ lsls r2, 1
+ adds r0, r2
+ strh r6, [r0]
+_08027522:
+ movs r7, 0x1
+ ldr r2, [r4]
+ movs r3, 0x92
+ lsls r3, 1
+ adds r1, r2, r3
+ ldr r0, _0802765C
+ str r0, [r1]
+ movs r0, 0x94
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x9
+ str r0, [r1]
+ adds r0, r5, 0
+ bl sub_8027DCC
+ lsls r0, 24
+ cmp r0, 0
+ bne _08027550
+ ldr r0, [r4]
+ movs r1, 0xB7
+ lsls r1, 1
+ adds r0, r1
+ strh r7, [r0]
+_08027550:
+ movs r7, 0x2
+_08027552:
+ ldr r4, _08027660
+ ldr r2, [r4]
+ lsls r3, r7, 3
+ movs r6, 0x8E
+ lsls r6, 1
+ adds r0, r2, r6
+ adds r0, r3
+ ldr r1, _08027664
+ str r1, [r0]
+ movs r5, 0x90
+ lsls r5, 1
+ adds r2, r5
+ adds r2, r3
+ movs r0, 0xA
+ str r0, [r2]
+ bl sub_8090A34
+ cmp r0, 0
+ bne _08027588
+ ldr r0, [r4]
+ lsls r1, r7, 1
+ movs r2, 0xB6
+ lsls r2, 1
+ adds r0, r2
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0]
+_08027588:
+ adds r7, 0x1
+ ldr r2, [r4]
+ lsls r3, r7, 3
+ adds r0, r2, r6
+ adds r0, r3
+ ldr r1, _08027668
+ str r1, [r0]
+ adds r2, r5
+ adds r2, r3
+ movs r0, 0xB
+ str r0, [r2]
+ bl sub_8090A34
+ cmp r0, 0x13
+ bgt _080275AE
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x14]
+ cmp r0, 0
+ bne _080275BE
+_080275AE:
+ ldr r0, [r4]
+ lsls r1, r7, 1
+ movs r3, 0xB6
+ lsls r3, 1
+ adds r0, r3
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0]
+_080275BE:
+ adds r7, 0x1
+ ldr r4, _08027660
+ ldr r5, [r4]
+ lsls r1, r7, 3
+ movs r0, 0x8E
+ lsls r0, 1
+ adds r3, r5, r0
+ adds r2, r3, r1
+ ldr r0, _0802766C
+ str r0, [r2]
+ movs r2, 0x90
+ lsls r2, 1
+ adds r6, r5, r2
+ adds r1, r6, r1
+ movs r0, 0x4
+ str r0, [r1]
+ adds r7, 0x1
+ lsls r1, r7, 3
+ adds r2, r3, r1
+ ldr r0, _08027670
+ str r0, [r2]
+ adds r1, r6, r1
+ movs r0, 0xC
+ str r0, [r1]
+ adds r7, 0x1
+ lsls r1, r7, 3
+ adds r2, r3, r1
+ ldr r0, _08027674
+ str r0, [r2]
+ adds r1, r6, r1
+ movs r0, 0x5
+ str r0, [r1]
+ adds r7, 0x1
+ lsls r1, r7, 3
+ adds r3, r1
+ movs r0, 0
+ str r0, [r3]
+ adds r1, r6, r1
+ movs r0, 0x1
+ str r0, [r1]
+ movs r3, 0
+ mov r12, r4
+ cmp r3, r7
+ bge _08027636
+ adds r4, r6, 0
+ movs r0, 0xB6
+ lsls r0, 1
+ adds r2, r5, r0
+_0802761E:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _0802762C
+ ldr r1, [r4]
+ ldr r0, [r5, 0x70]
+ cmp r1, r0
+ beq _080276A0
+_0802762C:
+ adds r4, 0x8
+ adds r2, 0x2
+ adds r3, 0x1
+ cmp r3, r7
+ blt _0802761E
+_08027636:
+ movs r3, 0
+ cmp r3, r7
+ bge _080276A0
+ mov r2, r12
+ ldr r1, [r2]
+ movs r4, 0xB6
+ lsls r4, 1
+ adds r0, r1, r4
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08027678
+ movs r2, 0x90
+ lsls r2, 1
+ adds r0, r1, r2
+ ldr r0, [r0]
+ str r0, [r1, 0x70]
+ b _080276A0
+ .align 2, 0
+_08027658: .4byte gUnknown_80DD910
+_0802765C: .4byte gUnknown_80DD91C
+_08027660: .4byte gUnknown_203B2BC
+_08027664: .4byte gUnknown_80DD92C
+_08027668: .4byte gUnknown_80DD934
+_0802766C: .4byte gUnknown_80DD93C
+_08027670: .4byte gUnknown_80DD944
+_08027674: .4byte gUnknown_80DD94C
+_08027678:
+ adds r3, 0x1
+ cmp r3, r7
+ bge _080276A0
+ mov r4, r12
+ ldr r2, [r4]
+ lsls r0, r3, 1
+ movs r4, 0xB6
+ lsls r4, 1
+ adds r1, r2, r4
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08027678
+ lsls r0, r3, 3
+ movs r3, 0x90
+ lsls r3, 1
+ adds r1, r2, r3
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x70]
+_080276A0:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802745C
+
+ thumb_func_start sub_80276A8
+sub_80276A8:
+ push {r4-r7,lr}
+ ldr r5, _0802775C
+ ldr r0, [r5]
+ movs r7, 0xB6
+ lsls r7, 1
+ adds r0, r7
+ movs r1, 0
+ movs r2, 0x14
+ bl MemoryFill16
+ ldr r2, [r5]
+ movs r0, 0x8E
+ lsls r0, 1
+ adds r1, r2, r0
+ ldr r0, _08027760
+ str r0, [r1]
+ movs r3, 0x90
+ lsls r3, 1
+ adds r1, r2, r3
+ movs r0, 0xA
+ str r0, [r1]
+ bl sub_8090A34
+ cmp r0, 0
+ bne _080276E4
+ ldr r0, [r5]
+ adds r4, r7, 0
+ adds r0, r4
+ movs r1, 0x1
+ strh r1, [r0]
+_080276E4:
+ ldr r4, [r5]
+ movs r2, 0x1
+ movs r0, 0x92
+ lsls r0, 1
+ adds r1, r4, r0
+ ldr r0, _08027764
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r3, 0x94
+ lsls r3, 1
+ adds r1, r4, r3
+ movs r0, 0x4
+ str r0, [r1]
+ movs r6, 0x2
+ movs r0, 0x96
+ lsls r0, 1
+ adds r1, r4, r0
+ movs r0, 0
+ str r0, [r1]
+ movs r1, 0x98
+ lsls r1, 1
+ adds r0, r4, r1
+ str r2, [r0]
+ movs r3, 0
+ mov r12, r4
+ movs r4, 0x90
+ lsls r4, 1
+ add r4, r12
+ mov r0, r12
+ adds r2, r0, r7
+_08027720:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08027730
+ ldr r1, [r4]
+ mov r7, r12
+ ldr r0, [r7, 0x74]
+ cmp r1, r0
+ beq _0802778E
+_08027730:
+ adds r4, 0x8
+ adds r2, 0x2
+ adds r3, 0x1
+ cmp r3, r6
+ blt _08027720
+ movs r3, 0
+ cmp r3, r6
+ bge _0802778E
+ ldr r1, [r5]
+ movs r2, 0xB6
+ lsls r2, 1
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08027768
+ movs r3, 0x90
+ lsls r3, 1
+ adds r0, r1, r3
+ ldr r0, [r0]
+ str r0, [r1, 0x74]
+ b _0802778E
+ .align 2, 0
+_0802775C: .4byte gUnknown_203B2BC
+_08027760: .4byte gUnknown_80DD92C
+_08027764: .4byte gUnknown_80D4970
+_08027768:
+ adds r3, 0x1
+ cmp r3, r6
+ bge _0802778E
+ ldr r2, [r5]
+ lsls r0, r3, 1
+ movs r4, 0xB6
+ lsls r4, 1
+ adds r1, r2, r4
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08027768
+ lsls r0, r3, 3
+ movs r7, 0x90
+ lsls r7, 1
+ adds r1, r2, r7
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x74]
+_0802778E:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80276A8
+
+ thumb_func_start sub_8027794
+sub_8027794:
+ push {r4,lr}
+ ldr r4, _080277F0
+ ldr r0, [r4]
+ movs r1, 0xB6
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0
+ movs r2, 0x14
+ bl MemoryFill16
+ ldr r4, [r4]
+ movs r3, 0
+ movs r0, 0x8E
+ lsls r0, 1
+ adds r1, r4, r0
+ ldr r0, _080277F4
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r0, 0x90
+ lsls r0, 1
+ adds r1, r4, r0
+ movs r0, 0x2
+ str r0, [r1]
+ movs r2, 0x1
+ movs r0, 0x92
+ lsls r0, 1
+ adds r1, r4, r0
+ ldr r0, _080277F8
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r0, 0x94
+ lsls r0, 1
+ adds r1, r4, r0
+ movs r0, 0x3
+ str r0, [r1]
+ movs r1, 0x96
+ lsls r1, 1
+ adds r0, r4, r1
+ str r3, [r0]
+ adds r1, 0x4
+ adds r0, r4, r1
+ str r2, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080277F0: .4byte gUnknown_203B2BC
+_080277F4: .4byte gUnknown_80D4920
+_080277F8: .4byte gUnknown_80D4928
+ thumb_func_end sub_8027794
+
+ thumb_func_start sub_80277FC
+sub_80277FC:
+ push {r4,lr}
+ movs r0, 0x1
+ bl sub_8023A94
+ cmp r0, 0x4
+ bhi _080278AE
+ lsls r0, 2
+ ldr r1, _08027814
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08027814: .4byte _08027818
+ .align 2, 0
+_08027818:
+ .4byte _080278AE
+ .4byte _080278AE
+ .4byte _080278A4
+ .4byte _0802782C
+ .4byte _08027868
+_0802782C:
+ bl sub_8023B44
+ ldr r4, _08027860
+ ldr r1, [r4]
+ strh r0, [r1, 0x8]
+ ldr r3, _08027864
+ movs r0, 0x8
+ ldrsh r2, [r1, r0]
+ movs r0, 0x58
+ muls r2, r0
+ ldr r0, [r3]
+ adds r0, r2
+ str r0, [r1, 0x18]
+ ldrb r0, [r0, 0x2]
+ strb r0, [r1, 0x1C]
+ ldr r1, [r4]
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ adds r1, 0x14
+ bl sub_808D7DC
+ movs r0, 0x3
+ bl sub_8027184
+ b _080278AE
+ .align 2, 0
+_08027860: .4byte gUnknown_203B2BC
+_08027864: .4byte gUnknown_203B45C
+_08027868:
+ bl sub_8023B44
+ ldr r4, _0802789C
+ ldr r1, [r4]
+ strh r0, [r1, 0x8]
+ ldr r3, _080278A0
+ movs r0, 0x8
+ ldrsh r2, [r1, r0]
+ movs r0, 0x58
+ muls r2, r0
+ ldr r0, [r3]
+ adds r0, r2
+ str r0, [r1, 0x18]
+ ldrb r0, [r0, 0x2]
+ strb r0, [r1, 0x1C]
+ ldr r1, [r4]
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ adds r1, 0x14
+ bl sub_808D7DC
+ movs r0, 0x4
+ bl sub_8027184
+ b _080278AE
+ .align 2, 0
+_0802789C: .4byte gUnknown_203B2BC
+_080278A0: .4byte gUnknown_203B45C
+_080278A4:
+ bl sub_8023C60
+ movs r0, 0x11
+ bl sub_8027184
+_080278AE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80277FC
+
+ thumb_func_start sub_80278B4
+sub_80278B4:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_8023A94
+ ldr r4, _080278F8
+ ldr r0, [r4]
+ adds r0, 0x7C
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _080278E4
+ ldr r0, [r4]
+ adds r0, 0x7C
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _080278E4
+ ldr r0, [r4]
+ str r1, [r0, 0x70]
+_080278E4:
+ ldr r0, [sp]
+ subs r0, 0x1
+ cmp r0, 0xB
+ bls _080278EE
+ b _08027A36
+_080278EE:
+ lsls r0, 2
+ ldr r1, _080278FC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080278F8: .4byte gUnknown_203B2BC
+_080278FC: .4byte _08027900
+ .align 2, 0
+_08027900:
+ .4byte _08027A30
+ .4byte _08027A36
+ .4byte _08027A36
+ .4byte _08027A20
+ .4byte _08027A28
+ .4byte _08027930
+ .4byte _0802796C
+ .4byte _0802798C
+ .4byte _080279C0
+ .4byte _080279D0
+ .4byte _080279D8
+ .4byte _080279C8
+_08027930:
+ ldr r4, _08027964
+ ldr r0, [r4]
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ bl sub_808D750
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802795E
+ ldr r0, [r4]
+ movs r2, 0x8
+ ldrsh r1, [r0, r2]
+ movs r0, 0x58
+ muls r1, r0
+ ldr r0, _08027968
+ ldr r0, [r0]
+ adds r1, r0
+ ldrh r2, [r1]
+ movs r0, 0x2
+ orrs r0, r2
+ strh r0, [r1]
+ bl nullsub_104
+_0802795E:
+ bl sub_808ED00
+ b _08027A0E
+ .align 2, 0
+_08027964: .4byte gUnknown_203B2BC
+_08027968: .4byte gUnknown_203B45C
+_0802796C:
+ ldr r0, _08027984
+ ldr r0, [r0]
+ ldr r2, [r0, 0x18]
+ ldrh r1, [r2]
+ ldr r0, _08027988
+ ands r0, r1
+ strh r0, [r2]
+ bl nullsub_104
+ bl sub_808ED00
+ b _08027A0E
+ .align 2, 0
+_08027984: .4byte gUnknown_203B2BC
+_08027988: .4byte 0x0000fffd
+_0802798C:
+ ldr r2, _080279B8
+ ldr r0, _080279BC
+ ldr r0, [r0]
+ movs r3, 0x8
+ ldrsh r1, [r0, r3]
+ movs r0, 0x58
+ muls r1, r0
+ ldr r0, [r2]
+ adds r4, r0, r1
+ bl sub_808D33C
+ ldrb r1, [r4, 0x2]
+ cmp r1, 0
+ bne _080279B2
+ strb r1, [r0, 0x2]
+ movs r0, 0x1
+ strb r0, [r4, 0x2]
+ bl nullsub_104
+_080279B2:
+ bl sub_808ED00
+ b _08027A0E
+ .align 2, 0
+_080279B8: .4byte gUnknown_203B45C
+_080279BC: .4byte gUnknown_203B2BC
+_080279C0:
+ movs r0, 0x8
+ bl sub_8027184
+ b _08027A36
+_080279C8:
+ movs r0, 0xE
+ bl sub_8027184
+ b _08027A36
+_080279D0:
+ movs r0, 0xA
+ bl sub_8027184
+ b _08027A36
+_080279D8:
+ ldr r0, _08027A18
+ bl sub_8011988
+ ldr r4, _08027A1C
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x14]
+ cmp r0, 0
+ beq _080279F0
+ adds r0, r1, 0
+ adds r0, 0x14
+ bl sub_8091274
+_080279F0:
+ bl sub_80910B4
+ ldr r0, [r4]
+ movs r1, 0
+ strb r1, [r0, 0x14]
+ ldr r0, [r4]
+ strb r1, [r0, 0x15]
+ ldr r1, [r4]
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ adds r1, 0x14
+ bl sub_808D800
+ bl nullsub_104
+_08027A0E:
+ movs r0, 0x2
+ bl sub_8027184
+ b _08027A36
+ .align 2, 0
+_08027A18: .4byte 0x0000014d
+_08027A1C: .4byte gUnknown_203B2BC
+_08027A20:
+ movs r0, 0x4
+ bl sub_8027184
+ b _08027A36
+_08027A28:
+ movs r0, 0x5
+ bl sub_8027184
+ b _08027A36
+_08027A30:
+ movs r0, 0x2
+ bl sub_8027184
+_08027A36:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80278B4
+
+ thumb_func_start sub_8027A40
+sub_8027A40:
+ push {lr}
+ bl sub_80244E4
+ cmp r0, 0x1
+ bls _08027A58
+ cmp r0, 0x3
+ bhi _08027A58
+ bl sub_802453C
+ movs r0, 0x2
+ bl sub_8027184
+_08027A58:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8027A40
+
+ thumb_func_start sub_8027A5C
+sub_8027A5C:
+ push {lr}
+ bl sub_801BF48
+ cmp r0, 0x1
+ bls _08027A74
+ cmp r0, 0x3
+ bhi _08027A74
+ bl sub_801BF98
+ movs r0, 0x2
+ bl sub_8027184
+_08027A74:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8027A5C
+
+ thumb_func_start sub_8027A78
+sub_8027A78:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08027AD8
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08027AA2
+ cmp r0, 0x2
+ bgt _08027A96
+ cmp r0, 0x1
+ beq _08027A9A
+ b _08027AD8
+_08027A96:
+ cmp r0, 0x3
+ bne _08027AD8
+_08027A9A:
+ movs r0, 0x2
+ bl sub_8027184
+ b _08027AD8
+_08027AA2:
+ ldr r0, _08027AB8
+ ldr r0, [r0]
+ ldr r0, [r0, 0x18]
+ ldrb r0, [r0, 0x4]
+ subs r0, 0x44
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _08027ABC
+ movs r0, 0x1
+ b _08027ABE
+ .align 2, 0
+_08027AB8: .4byte gUnknown_203B2BC
+_08027ABC:
+ movs r0, 0
+_08027ABE:
+ cmp r0, 0
+ beq _08027ACA
+ movs r0, 0x9
+ bl sub_8027184
+ b _08027AD8
+_08027ACA:
+ bl sub_8027EB8
+ ldr r0, _08027AE0
+ ldr r0, [r0]
+ ldr r0, [r0, 0x18]
+ bl sub_808D31C
+_08027AD8:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08027AE0: .4byte gUnknown_203B2BC
+ thumb_func_end sub_8027A78
+
+ thumb_func_start sub_8027AE4
+sub_8027AE4:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08027B1C
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08027B0E
+ cmp r0, 0x2
+ bgt _08027B02
+ cmp r0, 0x1
+ beq _08027B06
+ b _08027B1C
+_08027B02:
+ cmp r0, 0x3
+ bne _08027B1C
+_08027B06:
+ movs r0, 0x2
+ bl sub_8027184
+ b _08027B1C
+_08027B0E:
+ bl sub_8027EB8
+ ldr r0, _08027B24
+ ldr r0, [r0]
+ ldr r0, [r0, 0x18]
+ bl sub_808D31C
+_08027B1C:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08027B24: .4byte gUnknown_203B2BC
+ thumb_func_end sub_8027AE4
+
+ thumb_func_start sub_8027B28
+sub_8027B28:
+ push {r4,lr}
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x4
+ bhi _08027BD2
+ lsls r0, 2
+ ldr r1, _08027B40
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08027B40: .4byte _08027B44
+ .align 2, 0
+_08027B44:
+ .4byte _08027BD2
+ .4byte _08027BD2
+ .4byte _08027BC8
+ .4byte _08027B58
+ .4byte _08027B8C
+_08027B58:
+ bl sub_801A8AC
+ ldr r4, _08027B84
+ ldr r2, [r4]
+ str r0, [r2, 0xC]
+ ldr r3, _08027B88
+ ldr r1, [r3]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x2]
+ strb r0, [r2, 0x10]
+ ldr r2, [r4]
+ ldr r1, [r3]
+ ldr r0, [r2, 0xC]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x1]
+ strb r0, [r2, 0x11]
+ movs r0, 0xC
+ bl sub_8027184
+ b _08027BD2
+ .align 2, 0
+_08027B84: .4byte gUnknown_203B2BC
+_08027B88: .4byte gUnknown_203B460
+_08027B8C:
+ bl sub_801A8AC
+ ldr r4, _08027BC0
+ ldr r2, [r4]
+ str r0, [r2, 0xC]
+ ldr r3, _08027BC4
+ ldr r1, [r3]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x2]
+ strb r0, [r2, 0x10]
+ ldr r2, [r4]
+ ldr r1, [r3]
+ ldr r0, [r2, 0xC]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x1]
+ strb r0, [r2, 0x11]
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0xD
+ bl sub_8027184
+ b _08027BD2
+ .align 2, 0
+_08027BC0: .4byte gUnknown_203B2BC
+_08027BC4: .4byte gUnknown_203B460
+_08027BC8:
+ bl sub_801A928
+ movs r0, 0x2
+ bl sub_8027184
+_08027BD2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8027B28
+
+ thumb_func_start sub_8027BD8
+sub_8027BD8:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801A6E8
+ ldr r4, _08027C18
+ ldr r0, [r4]
+ adds r0, 0x7C
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08027C08
+ ldr r0, [r4]
+ adds r0, 0x7C
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08027C08
+ ldr r0, [r4]
+ str r1, [r0, 0x74]
+_08027C08:
+ ldr r0, [sp]
+ cmp r0, 0x4
+ beq _08027C68
+ cmp r0, 0x4
+ bgt _08027C1C
+ cmp r0, 0x1
+ beq _08027C76
+ b _08027C7C
+ .align 2, 0
+_08027C18: .4byte gUnknown_203B2BC
+_08027C1C:
+ cmp r0, 0xA
+ bne _08027C7C
+ ldr r0, _08027C60
+ bl sub_8011988
+ ldr r4, _08027C64
+ ldr r0, [r4]
+ ldr r0, [r0, 0xC]
+ bl sub_80911F8
+ bl sub_80910B4
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x14]
+ cmp r0, 0
+ beq _08027C44
+ adds r0, r1, 0
+ adds r0, 0x14
+ bl sub_8091274
+_08027C44:
+ ldr r1, [r4]
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ adds r1, 0x10
+ bl sub_808D800
+ bl sub_801A928
+ bl nullsub_104
+ movs r0, 0x2
+ bl sub_8027184
+ b _08027C7C
+ .align 2, 0
+_08027C60: .4byte 0x0000014d
+_08027C64: .4byte gUnknown_203B2BC
+_08027C68:
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0xD
+ bl sub_8027184
+ b _08027C7C
+_08027C76:
+ movs r0, 0xB
+ bl sub_8027184
+_08027C7C:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8027BD8
+
+ .align 2,0
diff --git a/asm/code_8098468.s b/asm/code_8098468.s
index d2653ef..a45dba8 100644
--- a/asm/code_8098468.s
+++ b/asm/code_8098468.s
@@ -788,8938 +788,4 @@ _08098BD2:
bx r1
thumb_func_end xxx_script_related_8098468
- thumb_func_start sub_8098BDC
-sub_8098BDC:
- push {lr}
- bl sub_809B57C
- bl GroundScript_Unlock
- bl sub_809D25C
- bl sub_80A59DC
- bl sub_809B614
- bl sub_809CA20
- bl sub_80A6E80
- bl sub_8099BE4
- bl sub_8099744
- bl sub_8011860
- ldr r0, _08098C54
- ldr r0, [r0]
- bl sub_8094FB4
- bl sub_800CB20
- bl sub_800485C
- bl nullsub_120
- bl sub_80A5E70
- bl sub_809B638
- bl nullsub_106
- bl sub_80A73EC
- bl sub_8099750
- bl sub_8009908
- bl xxx_call_update_bg_sound_input
- bl sub_80A6E68
- bl GroundMap_Action
- bl nullsub_124
- bl GroundLives_Action
- bl GroundObject_Action
- bl GroundEffect_Action
- pop {r0}
- bx r0
- .align 2, 0
-_08098C54: .4byte gUnknown_203B47C
- thumb_func_end sub_8098BDC
-
- thumb_func_start sub_8098C58
-sub_8098C58:
- push {lr}
- movs r0, 0
- movs r1, 0x36
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x39
- bl sub_80015C0
- bl sub_809CB8C
- bl sub_8001D88
- movs r0, 0
- movs r1, 0x2A
- bl sub_8001658
- cmp r0, 0
- beq _08098CA2
- movs r0, 0
- movs r1, 0x29
- bl sub_8001658
- adds r2, r0, 0
- adds r2, 0x1
- cmp r2, 0xF
- ble _08098C90
- movs r2, 0
-_08098C90:
- movs r0, 0
- movs r1, 0x29
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x2A
- movs r2, 0
- bl sub_80018D8
-_08098CA2:
- movs r0, 0
- movs r1, 0x42
- movs r2, 0
- bl sub_8001784
- adds r3, r0, 0
- cmp r3, 0
- bgt _08098CB4
- movs r3, 0x1
-_08098CB4:
- subs r3, 0x1
- movs r0, 0
- movs r1, 0x42
- movs r2, 0
- bl sub_800199C
- bl sub_8098CC8
- pop {r0}
- bx r0
- thumb_func_end sub_8098C58
-
- thumb_func_start sub_8098CC8
-sub_8098CC8:
- push {lr}
- movs r0, 0x3
- movs r1, 0xB
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _08098CDE
- movs r1, 0
- b _08098D06
-_08098CDE:
- movs r0, 0x3
- movs r1, 0xF
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _08098CF2
- movs r1, 0x1
- b _08098D06
-_08098CF2:
- movs r0, 0x3
- movs r1, 0x12
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- movs r1, 0x3
- cmp r0, 0
- beq _08098D06
- movs r1, 0x2
-_08098D06:
- adds r0, r1, 0
- bl sub_8091980
- bl sub_809674C
- bl sub_80961B4
- bl sub_8091FB4
- pop {r0}
- bx r0
- thumb_func_end sub_8098CC8
-
- thumb_func_start sub_8098D1C
-sub_8098D1C:
- push {r4-r7,lr}
- adds r7, r1, 0
- adds r4, r2, 0
- lsls r0, 16
- asrs r5, r0, 16
- ldr r6, _08098D34
- ldr r0, [r6]
- cmp r0, 0
- beq _08098D38
- movs r0, 0
- b _08098D60
- .align 2, 0
-_08098D34: .4byte gUnknown_20398A8
-_08098D38:
- ldr r1, _08098D68
- movs r0, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl Log
- movs r1, 0x1
- str r1, [r6]
- ldr r0, _08098D6C
- str r1, [r0]
- ldr r0, _08098D70
- str r4, [r0]
- ldr r1, _08098D74
- movs r0, 0x2
- str r0, [r1]
- ldr r0, _08098D78
- strh r5, [r0]
- ldr r0, _08098D7C
- str r7, [r0]
- movs r0, 0x1
-_08098D60:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08098D68: .4byte gUnknown_8115F5C
-_08098D6C: .4byte gUnknown_20398AC
-_08098D70: .4byte gUnknown_20398B0
-_08098D74: .4byte gUnknown_20398B4
-_08098D78: .4byte gUnknown_20398BE
-_08098D7C: .4byte gUnknown_20398C0
- thumb_func_end sub_8098D1C
-
- thumb_func_start sub_8098D80
-sub_8098D80:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08098DB8
- ldr r0, [r1]
- cmp r0, 0
- bne _08098DC4
- movs r0, 0x3
- str r0, [r1]
- ldr r1, _08098DBC
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098DC0
- str r4, [r0]
- bl sub_809C730
- movs r0, 0xD
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08098DB2
- lsls r0, r4, 16
- lsrs r0, 16
- bl sub_80118C4
-_08098DB2:
- movs r0, 0x1
- b _08098DC6
- .align 2, 0
-_08098DB8: .4byte gUnknown_20398A8
-_08098DBC: .4byte gUnknown_20398AC
-_08098DC0: .4byte gUnknown_20398B0
-_08098DC4:
- movs r0, 0
-_08098DC6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8098D80
-
- thumb_func_start sub_8098DCC
-sub_8098DCC:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08098E04
- ldr r0, [r1]
- cmp r0, 0
- bne _08098E10
- movs r0, 0x4
- str r0, [r1]
- ldr r1, _08098E08
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098E0C
- str r4, [r0]
- bl sub_809C730
- movs r0, 0xD
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08098DFE
- lsls r0, r4, 16
- lsrs r0, 16
- bl sub_80118C4
-_08098DFE:
- movs r0, 0x1
- b _08098E12
- .align 2, 0
-_08098E04: .4byte gUnknown_20398A8
-_08098E08: .4byte gUnknown_20398AC
-_08098E0C: .4byte gUnknown_20398B0
-_08098E10:
- movs r0, 0
-_08098E12:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8098DCC
-
- thumb_func_start sub_8098E18
-sub_8098E18:
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 16
- asrs r2, r0, 16
- adds r5, r2, 0
- ldr r4, _08098E40
- ldr r0, [r4]
- cmp r0, 0
- bne _08098EA8
- ldr r1, _08098E44
- movs r0, 0
- adds r3, r6, 0
- bl Log
- ldr r0, _08098E48
- ldrb r0, [r0]
- cmp r0, 0
- beq _08098E4C
- movs r0, 0x7
- b _08098E8A
- .align 2, 0
-_08098E40: .4byte gUnknown_20398A8
-_08098E44: .4byte gUnknown_8115F80
-_08098E48: .4byte gUnknown_203B49D
-_08098E4C:
- ldr r0, _08098E74
- ldrb r0, [r0]
- ldr r1, _08098E78
- cmp r0, 0
- bne _08098E58
- strh r5, [r1]
-_08098E58:
- movs r2, 0
- ldrsh r0, [r1, r2]
- bl sub_80A2750
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- beq _08098E88
- cmp r0, 0x2
- bgt _08098E7C
- cmp r0, 0x1
- beq _08098E84
- b _08098E8C
- .align 2, 0
-_08098E74: .4byte gUnknown_203B49C
-_08098E78: .4byte gUnknown_20398C4
-_08098E7C:
- cmp r0, 0x4
- bne _08098E8C
- movs r0, 0x8
- b _08098E8A
-_08098E84:
- movs r0, 0x5
- b _08098E8A
-_08098E88:
- movs r0, 0x6
-_08098E8A:
- str r0, [r4]
-_08098E8C:
- ldr r0, _08098EA0
- movs r1, 0x1
- str r1, [r0]
- ldr r0, _08098EA4
- str r6, [r0]
- bl sub_809C730
- movs r0, 0x1
- b _08098EAA
- .align 2, 0
-_08098EA0: .4byte gUnknown_20398AC
-_08098EA4: .4byte gUnknown_20398B0
-_08098EA8:
- movs r0, 0
-_08098EAA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8098E18
-
- thumb_func_start sub_8098EB0
-sub_8098EB0:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08098EE4
- ldr r0, [r5]
- cmp r0, 0
- bne _08098EF8
- ldr r0, _08098EE8
- ldrb r0, [r0]
- cmp r0, 0
- beq _08098EF8
- ldr r1, _08098EEC
- movs r0, 0
- adds r2, r4, 0
- bl Log
- movs r0, 0x7
- str r0, [r5]
- ldr r1, _08098EF0
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098EF4
- str r4, [r0]
- bl sub_809C730
- movs r0, 0x1
- b _08098EFA
- .align 2, 0
-_08098EE4: .4byte gUnknown_20398A8
-_08098EE8: .4byte gUnknown_203B49D
-_08098EEC: .4byte gUnknown_8115FA4
-_08098EF0: .4byte gUnknown_20398AC
-_08098EF4: .4byte gUnknown_20398B0
-_08098EF8:
- movs r0, 0
-_08098EFA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8098EB0
-
- thumb_func_start sub_8098F00
-sub_8098F00:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08098F10
- ldr r0, [r5]
- cmp r0, 0
- beq _08098F14
- movs r0, 0
- b _08098F32
- .align 2, 0
-_08098F10: .4byte gUnknown_20398A8
-_08098F14:
- ldr r1, _08098F38
- movs r0, 0
- adds r2, r4, 0
- bl Log
- movs r0, 0x9
- str r0, [r5]
- ldr r1, _08098F3C
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098F40
- str r4, [r0]
- bl sub_809C730
- movs r0, 0x1
-_08098F32:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08098F38: .4byte gUnknown_8115FC8
-_08098F3C: .4byte gUnknown_20398AC
-_08098F40: .4byte gUnknown_20398B0
- thumb_func_end sub_8098F00
-
- thumb_func_start sub_8098F44
-sub_8098F44:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08098F54
- ldr r0, [r5]
- cmp r0, 0
- beq _08098F58
- movs r0, 0
- b _08098F76
- .align 2, 0
-_08098F54: .4byte gUnknown_20398A8
-_08098F58:
- ldr r1, _08098F7C
- movs r0, 0
- adds r2, r4, 0
- bl Log
- movs r0, 0xA
- str r0, [r5]
- ldr r1, _08098F80
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098F84
- str r4, [r0]
- bl sub_809C730
- movs r0, 0x1
-_08098F76:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08098F7C: .4byte gUnknown_8115FE8
-_08098F80: .4byte gUnknown_20398AC
-_08098F84: .4byte gUnknown_20398B0
- thumb_func_end sub_8098F44
-
- thumb_func_start sub_8098F88
-sub_8098F88:
- ldr r0, _08098F90
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08098F90: .4byte gUnknown_20398B9
- thumb_func_end sub_8098F88
-
- thumb_func_start sub_8098F94
-sub_8098F94:
- ldr r0, _08098F9C
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08098F9C: .4byte gUnknown_20398BA
- thumb_func_end sub_8098F94
-
- thumb_func_start sub_8098FA0
-sub_8098FA0:
- push {lr}
- movs r0, 0
- movs r1, 0x11
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_8098FA0
-
- thumb_func_start sub_8098FB4
-sub_8098FB4:
- push {lr}
- movs r0, 0
- movs r1, 0x11
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2B18
- pop {r1}
- bx r1
- thumb_func_end sub_8098FB4
-
- thumb_func_start sub_8098FCC
-sub_8098FCC:
- push {r4,lr}
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809909E
- cmp r1, 0x51
- bne _08098FF6
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- b _08098FF8
-_08098FF6:
- adds r0, r2, 0
-_08098FF8:
- bl sub_80A2608
- adds r4, r0, 0
- ldr r0, _0809900C
- ldr r0, [r0]
- cmp r0, 0x9
- bne _08099010
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- b _080990B2
- .align 2, 0
-_0809900C: .4byte gUnknown_20398B4
-_08099010:
- ldrh r0, [r4, 0x4]
- subs r0, 0xB2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x17
- bhi _080990AE
- lsls r0, 2
- ldr r1, _08099028
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099028: .4byte _0809902C
- .align 2, 0
-_0809902C:
- .4byte _0809908C
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990A2
- .4byte _080990AE
- .4byte _080990A2
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990A2
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990A2
-_0809908C:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0x2
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- beq _080990AE
-_0809909E:
- movs r0, 0xC
- b _080990B2
-_080990A2:
- movs r0, 0x5
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809909E
-_080990AE:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
-_080990B2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8098FCC
-
- thumb_func_start sub_80990B8
-sub_80990B8:
- push {lr}
- movs r0, 0xB
- bl sub_8098FCC
- lsls r0, 16
- asrs r2, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- bne _080990D2
- bl sub_8098FB4
- b _080990E4
-_080990D2:
- ldr r1, _080990E8
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_80A2B18
-_080990E4:
- pop {r1}
- bx r1
- .align 2, 0
-_080990E8: .4byte gUnknown_811BAF4
- thumb_func_end sub_80990B8
-
- thumb_func_start sub_80990EC
-sub_80990EC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x80
- adds r7, r0, 0
- lsls r1, 16
- asrs r4, r1, 16
- adds r0, r4, 0
- bl sub_80A2608
- mov r8, r0
- ldrb r0, [r0, 0xC]
- movs r5, 0
- strb r0, [r7]
- movs r0, 0x1
- strb r0, [r7, 0x1]
- strb r5, [r7, 0xC]
- adds r0, r4, 0
- bl sub_80A2750
- lsls r0, 16
- asrs r6, r0, 16
- cmp r6, 0x2
- beq _080991C8
- cmp r6, 0x2
- bgt _08099126
- cmp r6, 0x1
- beq _0809912C
- b _080991CA
-_08099126:
- cmp r6, 0x4
- beq _080991C4
- b _080991CA
-_0809912C:
- movs r1, 0
- strb r5, [r7, 0xB]
- adds r0, r4, 0
- subs r0, 0x25
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _0809913E
- movs r1, 0x1
-_0809913E:
- cmp r1, 0
- beq _080991CA
- strb r6, [r7, 0xC]
- mov r0, sp
- movs r1, 0x5B
- bl sub_80A8EC0
- add r4, sp, 0x18
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0xA
- bl sub_8092310
- add r5, sp, 0x30
- str r4, [sp, 0x58]
- add r1, sp, 0x5C
- movs r2, 0
- movs r0, 0x5E
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x5E
- strb r2, [r0]
- add r0, sp, 0x60
- movs r1, 0x47
- strb r1, [r0]
- strb r2, [r0, 0x1]
- add r1, sp, 0x64
- movs r0, 0x82
- lsls r0, 1
- strh r0, [r1]
- movs r0, 0xE0
- strh r0, [r1, 0x2]
- movs r0, 0xAC
- strh r0, [r1, 0x4]
- movs r0, 0xBE
- strh r0, [r1, 0x6]
- add r1, sp, 0x6C
- movs r0, 0x50
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x6E
- movs r2, 0xF
- strh r2, [r0]
- add r0, sp, 0x70
- strh r6, [r0]
- adds r0, 0x2
- movs r1, 0x19
- strh r1, [r0]
- strh r1, [r0, 0x2]
- adds r0, 0x4
- strh r2, [r0]
- strh r2, [r0, 0x2]
- ldr r0, _080991C0
- str r0, [sp, 0x7C]
- add r1, sp, 0x58
- adds r0, r5, 0
- movs r2, 0x28
- bl memcpy
- adds r0, r7, 0
- adds r0, 0x18
- adds r1, r5, 0
- bl sub_808D144
- b _080991CA
- .align 2, 0
-_080991C0: .4byte 0x000061a8
-_080991C4:
- strb r5, [r7, 0xB]
- b _080991CA
-_080991C8:
- strb r6, [r7, 0xB]
-_080991CA:
- movs r0, 0
- strb r0, [r7, 0x4]
- strb r0, [r7, 0xD]
- mov r1, r8
- ldrb r0, [r1, 0x11]
- add sp, 0x80
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80990EC
-
- thumb_func_start sub_80991E0
-sub_80991E0:
- push {lr}
- adds r2, r0, 0
- ldr r3, _08099204
- ldrh r0, [r3]
- strh r0, [r1]
- ldr r0, _08099208
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809920C
- movs r0, 0
- ldrsh r1, [r3, r0]
- adds r0, r2, 0
- bl sub_80990EC
- lsls r0, 24
- lsrs r0, 24
- b _08099218
- .align 2, 0
-_08099204: .4byte gUnknown_20398C4
-_08099208: .4byte gUnknown_203B49C
-_0809920C:
- ldr r1, _0809921C
- adds r0, r2, 0
- movs r2, 0x88
- bl memcpy
- movs r0, 0x1
-_08099218:
- pop {r1}
- bx r1
- .align 2, 0
-_0809921C: .4byte gUnknown_20398C8
- thumb_func_end sub_80991E0
-
- thumb_func_start sub_8099220
-sub_8099220:
- push {lr}
- adds r2, r0, 0
- lsls r1, 16
- asrs r3, r1, 16
- cmp r2, 0
- beq _08099258
- ldr r1, _08099248
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _0809924C
- movs r0, 0
- strb r0, [r1]
- ldr r0, _08099250
- strh r3, [r0]
- ldr r0, _08099254
- adds r1, r2, 0
- movs r2, 0x88
- bl memcpy
- b _0809926A
- .align 2, 0
-_08099248: .4byte gUnknown_203B49C
-_0809924C: .4byte gUnknown_203B49D
-_08099250: .4byte gUnknown_20398C4
-_08099254: .4byte gUnknown_20398C8
-_08099258:
- ldr r0, _08099270
- strb r2, [r0]
- ldr r0, _08099274
- strb r2, [r0]
- ldr r1, _08099278
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
- strh r0, [r1]
-_0809926A:
- pop {r0}
- bx r0
- .align 2, 0
-_08099270: .4byte gUnknown_203B49C
-_08099274: .4byte gUnknown_203B49D
-_08099278: .4byte gUnknown_20398C4
- thumb_func_end sub_8099220
-
- thumb_func_start sub_809927C
-sub_809927C:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _080992CC
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _080992D0
- strb r1, [r0]
- ldr r1, _080992D4
- movs r0, 0x50
- strh r0, [r1]
- ldr r4, _080992D8
- strb r5, [r4]
- movs r0, 0
- movs r1, 0x13
- movs r2, 0x50
- bl sub_80018D8
- ldrb r2, [r4]
- movs r0, 0
- movs r1, 0x14
- bl sub_80018D8
- ldr r4, _080992DC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095494
- subs r4, 0x10
- movs r1, 0
- movs r0, 0x1
- strb r0, [r4, 0xB]
- strb r1, [r4, 0xC]
- strb r1, [r4, 0x4]
- strb r1, [r4, 0xD]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080992CC: .4byte gUnknown_203B49C
-_080992D0: .4byte gUnknown_203B49D
-_080992D4: .4byte gUnknown_20398C4
-_080992D8: .4byte gUnknown_2039950
-_080992DC: .4byte gUnknown_20398D8
- thumb_func_end sub_809927C
-
- thumb_func_start sub_80992E0
-sub_80992E0:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08099316
- cmp r1, 0x50
- beq _08099316
- cmp r1, 0x51
- beq _08099316
- cmp r1, 0x52
- beq _08099316
- strh r1, [r4]
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- strh r0, [r5]
- movs r0, 0x1
- b _08099322
-_08099316:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strh r0, [r4]
- strh r0, [r5]
- movs r0, 0
-_08099322:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80992E0
-
- thumb_func_start sub_8099328
-sub_8099328:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x51
- bne _08099358
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2608
- ldrb r0, [r0, 0xC]
- cmp r0, 0x3E
- bhi _08099358
- strb r0, [r4]
- movs r0, 0x1
- b _0809935A
-_08099358:
- movs r0, 0
-_0809935A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099328
-
- thumb_func_start sub_8099360
-sub_8099360:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x52
- beq _08099378
- movs r0, 0
- b _0809938E
-_08099378:
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2608
- ldrb r0, [r0, 0xC]
- strb r0, [r4]
- movs r0, 0x1
-_0809938E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099360
-
- thumb_func_start sub_8099394
-sub_8099394:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x50
- beq _080993AC
- movs r0, 0
- b _080993B8
-_080993AC:
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- strb r0, [r4]
- movs r0, 0x1
-_080993B8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099394
-
- thumb_func_start sub_80993C0
-sub_80993C0:
- push {lr}
- lsls r0, 24
- ldr r2, _080993D4
- movs r1, 0
- cmp r0, 0
- bne _080993CE
- movs r1, 0x1
-_080993CE:
- strb r1, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_080993D4: .4byte gUnknown_20398B8
- thumb_func_end sub_80993C0
-
- thumb_func_start sub_80993D8
-sub_80993D8:
- push {lr}
- bl sub_80A4B38
- pop {r0}
- bx r0
- thumb_func_end sub_80993D8
-
- thumb_func_start sub_80993E4
-sub_80993E4:
- push {lr}
- bl sub_80A4B54
- pop {r0}
- bx r0
- thumb_func_end sub_80993E4
-
- thumb_func_start sub_80993F0
-sub_80993F0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- movs r0, 0
- mov r10, r0
- bl sub_801180C
- movs r0, 0x10
- bl sub_80118C4
- ldr r1, _0809948C
- ldr r2, _08099490
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- bl xxx_update_some_bg_tiles
- movs r0, 0
- movs r1, 0x14
- bl sub_80095CC
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- movs r1, 0x14
- bl sub_8009408
- bl sub_8099648
- bl sub_809975C
- bl sub_809D0AC
- bl sub_8014144
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- bl sub_80A4A7C
- mov r7, sp
- add r0, sp, 0x8
- mov r8, r0
-_08099454:
- bl sub_801D9E4
- lsls r0, 24
- cmp r0, 0
- beq _0809949C
- mov r0, r10
- bl sub_801DA58
-_08099464:
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- movs r0, 0
- bl sub_8012A18
- bl sub_801DA78
- cmp r0, 0x2
- beq _08099494
- cmp r0, 0x3
- bne _08099464
- bl sub_801DAC0
- lsls r0, 16
- asrs r0, 16
- mov r10, r0
- b _080994A2
- .align 2, 0
-_0809948C: .4byte gUnknown_2026E4E
-_08099490: .4byte 0x00000808
-_08099494:
- movs r1, 0x1
- negs r1, r1
- mov r10, r1
- b _080994A2
-_0809949C:
- movs r2, 0x1
- negs r2, r2
- mov r10, r2
-_080994A2:
- bl sub_801DB0C
- movs r0, 0x1
- negs r0, r0
- cmp r10, r0
- bne _080994B0
- b _08099624
-_080994B0:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_80A4AEC
- bl sub_809D0BC
- mov r0, r10
- bl GroundMap_Select
- mov r0, sp
- mov r1, r8
- bl sub_80A579C
- ldr r0, [r7, 0x4]
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1
- str r0, [r7, 0x4]
- mov r2, r8
- ldr r0, [r2, 0x4]
- adds r0, r1
- str r0, [r2, 0x4]
- ldr r0, [sp]
- ldr r1, _08099520
- adds r0, r1
- str r0, [sp]
- ldr r0, [r7, 0x4]
- adds r0, r1
- str r0, [r7, 0x4]
- ldr r0, [sp, 0x8]
- movs r2, 0x80
- lsls r2, 3
- adds r0, r2
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r1, [r0, 0x4]
- adds r1, r2
- str r1, [r0, 0x4]
- ldr r2, [sp, 0x8]
- ldr r0, [sp]
- subs r0, r2, r0
- str r0, [sp, 0x20]
- ldr r0, [r7, 0x4]
- subs r0, r1, r0
- str r0, [sp, 0x24]
- movs r4, 0
- movs r5, 0
- movs r0, 0x4
- bl sub_80999E8
- mov r9, r5
- b _08099604
- .align 2, 0
-_08099520: .4byte 0xfffffc00
-_08099524:
- ldr r0, _0809953C
- ldrh r1, [r0, 0x2]
- ldrh r6, [r0]
- movs r0, 0x4
- ands r1, r0
- cmp r1, 0
- beq _08099540
- bl sub_80999FC
- movs r1, 0x1
- mov r9, r1
- b _080995AE
- .align 2, 0
-_0809953C: .4byte gUnknown_20255F0
-_08099540:
- adds r0, r6, 0
- bl sub_809CFE8
- lsls r0, 24
- asrs r1, r0, 24
- movs r2, 0x1
- negs r2, r2
- cmp r1, r2
- beq _0809959A
- add r0, sp, 0x10
- movs r2, 0x80
- lsls r2, 1
- bl sub_8002BB8
- ldr r2, [sp, 0x10]
- ldr r3, [sp, 0x14]
- movs r0, 0x2
- ands r6, r0
- cmp r6, 0
- beq _0809956A
- movs r0, 0x4
-_0809956A:
- adds r1, r0, 0
- muls r1, r2
- adds r1, r4
- adds r4, r1, 0
- muls r0, r3
- adds r5, r0
- cmp r1, 0
- bge _0809957E
- movs r4, 0
- b _08099588
-_0809957E:
- ldr r0, [sp, 0x20]
- cmp r4, r0
- blt _08099588
- adds r4, r0, 0
- subs r4, 0x1
-_08099588:
- cmp r5, 0
- bge _08099590
- movs r5, 0
- b _0809959A
-_08099590:
- ldr r1, [sp, 0x24]
- cmp r5, r1
- blt _0809959A
- adds r5, r1, 0
- subs r5, 0x1
-_0809959A:
- ldr r0, [sp]
- adds r0, r4
- str r0, [sp, 0x18]
- ldr r0, [r7, 0x4]
- adds r0, r5
- add r1, sp, 0x18
- str r0, [r1, 0x4]
- movs r0, 0
- bl sub_809D158
-_080995AE:
- bl sub_809D25C
- bl sub_80A59DC
- bl xxx_draw_string_80144C4
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- bl sub_80060EC
- ldr r0, _08099620
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- bl nullsub_8
- bl sub_8005180
- bl sub_8099BE4
- bl sub_8099744
- bl sub_8011860
- bl sub_800CB20
- bl sub_800485C
- bl nullsub_120
- bl sub_80A5E70
- bl xxx_call_update_bg_vram
- bl CopySpritesToOam
- bl sub_8005304
- bl sub_8099750
- bl sub_8009908
-_08099604:
- bl xxx_call_update_bg_sound_input
- movs r0, 0
- bl ResetSprites
- mov r2, r9
- cmp r2, 0
- beq _08099524
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- bne _080995AE
- b _08099454
- .align 2, 0
-_08099620: .4byte gUnknown_203B46C
-_08099624:
- movs r0, 0x10
- bl sub_80118C4
- bl sub_80A4AC4
- bl sub_8099768
- bl nullsub_103
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80993F0
-
- thumb_func_start sub_8099648
-sub_8099648:
- push {lr}
- bl sub_8003600
- bl sub_809965C
- pop {r0}
- bx r0
- thumb_func_end sub_8099648
-
- thumb_func_start nullsub_103
-nullsub_103:
- bx lr
- thumb_func_end nullsub_103
-
- thumb_func_start sub_809965C
-sub_809965C:
- push {r4,lr}
- movs r0, 0
- bl sub_8099690
- ldr r0, _08099688
- ldr r1, _0809968C
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- movs r0, 0xF8
- lsls r0, 1
- ldr r1, [r4, 0x4]
- movs r2, 0x10
- bl sub_800388C
- adds r0, r4, 0
- bl CloseFile
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099688: .4byte gUnknown_811601C
-_0809968C: .4byte gUnknown_8300500
- thumb_func_end sub_809965C
-
- thumb_func_start sub_8099690
-sub_8099690:
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r0, _080996BC
- ldr r1, _080996C0
- bl OpenFileAndGetFileDataPtr
- adds r6, r0, 0
- cmp r4, 0x1
- beq _080996CC
- cmp r4, 0x2
- beq _080996D4
- ldr r0, _080996C4
- ldr r0, [r0]
- ldrb r0, [r0, 0xB]
- ldr r4, _080996C8
- cmp r0, 0
- beq _080996D6
- movs r0, 0x80
- lsls r0, 1
- adds r4, r0
- b _080996D6
- .align 2, 0
-_080996BC: .4byte gUnknown_8116028
-_080996C0: .4byte gUnknown_8300500
-_080996C4: .4byte gUnknown_203B46C
-_080996C8: .4byte gUnknown_202D078
-_080996CC:
- ldr r4, _080996D0
- b _080996D6
- .align 2, 0
-_080996D0: .4byte gUnknown_202D1B8
-_080996D4:
- ldr r4, _08099704
-_080996D6:
- movs r0, 0xF0
- adds r1, r4, 0
- movs r2, 0x10
- bl sub_800388C
- adds r5, r4, 0
- movs r4, 0
-_080996E4:
- adds r0, r4, 0
- adds r0, 0xF0
- adds r1, r5, 0
- adds r5, 0x4
- bl nullsub_5
- adds r4, 0x1
- cmp r4, 0xF
- ble _080996E4
- adds r0, r6, 0
- bl CloseFile
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08099704: .4byte gUnknown_202D1F8
- thumb_func_end sub_8099690
-
- thumb_func_start sub_8099708
-sub_8099708:
- push {lr}
- sub sp, 0x4
- str r1, [sp]
- lsls r0, 16
- lsrs r0, 16
- bl sub_8003810
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8099708
-
- thumb_func_start sub_809971C
-sub_809971C:
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r2, 0
- ble _0809973E
- adds r4, r2, 0
-_0809972A:
- adds r0, r5, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r5, r1, 16
- ldm r6!, {r1}
- bl sub_8003810
- subs r4, 0x1
- cmp r4, 0
- bne _0809972A
-_0809973E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_809971C
-
- thumb_func_start sub_8099744
-sub_8099744:
- push {lr}
- bl sub_80039B8
- pop {r0}
- bx r0
- thumb_func_end sub_8099744
-
- thumb_func_start sub_8099750
-sub_8099750:
- push {lr}
- bl TransferBGPaletteBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8099750
-
- thumb_func_start sub_809975C
-sub_809975C:
- push {lr}
- bl sub_809977C
- pop {r0}
- bx r0
- thumb_func_end sub_809975C
-
- thumb_func_start sub_8099768
-sub_8099768:
- push {lr}
- bl sub_809977C
- bl sub_8099744
- bl sub_8099750
- pop {r0}
- bx r0
- thumb_func_end sub_8099768
-
- thumb_func_start sub_809977C
-sub_809977C:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r1, _080997DC
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080997E0
- movs r0, 0
- strh r0, [r1]
- ldr r6, _080997E4
- adds r0, r6, 0
- bl sub_8099838
- ldr r0, _080997E8
- mov r8, r0
- bl sub_8099838
- ldr r4, _080997EC
- adds r0, r4, 0
- bl sub_8099838
- subs r4, 0x8
- movs r0, 0
- str r0, [r4]
- movs r5, 0x80
- lsls r5, 1
- strh r5, [r4, 0x14]
- strh r0, [r6, 0xC]
- bl sub_8099DD0
- mov r0, r8
- strh r5, [r0, 0xC]
- adds r0, r5, 0
- bl sub_8099E58
- ldr r1, _080997F0
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0x40
-_080997CA:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _080997CA
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080997DC: .4byte gUnknown_2039990
-_080997E0: .4byte gUnknown_2039992
-_080997E4: .4byte gUnknown_2039958
-_080997E8: .4byte gUnknown_2039968
-_080997EC: .4byte gUnknown_2039980
-_080997F0: .4byte gUnknown_2039998
- thumb_func_end sub_809977C
-
- thumb_func_start sub_80997F4
-sub_80997F4:
- push {lr}
- lsls r0, 16
- ldr r2, _08099818
- lsrs r0, 15
- adds r0, r2
- strh r1, [r0]
- ldr r0, _0809981C
- bl sub_8099848
- ldr r0, _08099820
- bl sub_8099848
- ldr r0, _08099824
- bl sub_8099848
- pop {r0}
- bx r0
- .align 2, 0
-_08099818: .4byte gUnknown_2039998
-_0809981C: .4byte gUnknown_2039958
-_08099820: .4byte gUnknown_2039968
-_08099824: .4byte gUnknown_2039980
- thumb_func_end sub_80997F4
-
- thumb_func_start sub_8099828
-sub_8099828:
- lsls r0, 16
- ldr r1, _08099834
- lsrs r0, 15
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .align 2, 0
-_08099834: .4byte gUnknown_2039998
- thumb_func_end sub_8099828
-
- thumb_func_start sub_8099838
-sub_8099838:
- movs r1, 0x1
- str r1, [r0]
- movs r1, 0
- strh r1, [r0, 0xC]
- strh r1, [r0, 0x4]
- strh r1, [r0, 0x6]
- bx lr
- thumb_func_end sub_8099838
-
- thumb_func_start sub_8099848
-sub_8099848:
- push {lr}
- adds r1, r0, 0
- ldr r0, [r1]
- cmp r0, 0
- bne _08099856
- movs r0, 0x1
- str r0, [r1]
-_08099856:
- pop {r0}
- bx r0
- thumb_func_end sub_8099848
-
- thumb_func_start sub_809985C
-sub_809985C:
- push {lr}
- adds r2, r0, 0
- cmp r1, 0
- blt _08099872
- cmp r1, 0
- bne _08099874
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r2, 0xC]
- movs r0, 0x1
- b _08099876
-_08099872:
- movs r1, 0x1E
-_08099874:
- movs r0, 0x2
-_08099876:
- str r0, [r2]
- strh r1, [r2, 0x4]
- strh r1, [r2, 0x6]
- pop {r0}
- bx r0
- thumb_func_end sub_809985C
-
- thumb_func_start sub_8099880
-sub_8099880:
- push {lr}
- adds r2, r0, 0
- cmp r1, 0
- blt _08099892
- cmp r1, 0
- bne _08099894
- strh r1, [r2, 0xC]
- movs r0, 0x1
- b _08099896
-_08099892:
- movs r1, 0x1E
-_08099894:
- movs r0, 0x3
-_08099896:
- str r0, [r2]
- strh r1, [r2, 0x4]
- strh r1, [r2, 0x6]
- pop {r0}
- bx r0
- thumb_func_end sub_8099880
-
- thumb_func_start sub_80998A0
-sub_80998A0:
- push {r4,lr}
- adds r4, r0, 0
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- cmp r1, 0
- bge _080998B2
- movs r1, 0x1E
-_080998B2:
- cmp r2, r3
- bls _080998BE
- movs r0, 0x5
- str r0, [r4]
- subs r0, r2, r3
- b _080998D0
-_080998BE:
- cmp r2, r3
- bcs _080998CA
- movs r0, 0x4
- str r0, [r4]
- subs r0, r3, r2
- b _080998D0
-_080998CA:
- movs r0, 0x1
- str r0, [r4]
- movs r0, 0
-_080998D0:
- strh r0, [r4, 0xA]
- strh r1, [r4, 0x4]
- strh r1, [r4, 0x6]
- strh r2, [r4, 0xC]
- strh r3, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80998A0
-
- thumb_func_start sub_80998E0
-sub_80998E0:
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4]
- cmp r0, 0x5
- bhi _080999CA
- lsls r0, 2
- ldr r1, _080998F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080998F4: .4byte _080998F8
- .align 2, 0
-_080998F8:
- .4byte _080999CA
- .4byte _080999C2
- .4byte _08099910
- .4byte _08099946
- .4byte _08099976
- .4byte _0809999A
-_08099910:
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- ble _08099940
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- lsls r0, 8
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __divsi3
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- subs r1, r0
- lsls r1, 16
- lsrs r1, 16
- ldrh r0, [r4, 0xC]
- cmp r0, r1
- bcs _080999C6
- strh r1, [r4, 0xC]
- b _080999C6
-_08099940:
- movs r0, 0x80
- lsls r0, 1
- b _080999C0
-_08099946:
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- ble _08099970
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- lsls r0, 8
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- ldrh r0, [r4, 0xC]
- cmp r0, r1
- bls _080999C6
- strh r1, [r4, 0xC]
- b _080999C6
-_08099970:
- strh r1, [r4, 0xC]
- str r1, [r4]
- b _080999C6
-_08099976:
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- ble _080999BE
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- ldrh r0, [r4, 0xA]
- muls r0, r1
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __divsi3
- ldrh r1, [r4, 0x8]
- subs r1, r0
- strh r1, [r4, 0xC]
- b _080999C6
-_0809999A:
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- ble _080999BE
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- ldrh r0, [r4, 0xA]
- muls r0, r1
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __divsi3
- ldrh r1, [r4, 0x8]
- adds r1, r0
- strh r1, [r4, 0xC]
- b _080999C6
-_080999BE:
- ldrh r0, [r4, 0x8]
-_080999C0:
- strh r0, [r4, 0xC]
-_080999C2:
- movs r0, 0
- str r0, [r4]
-_080999C6:
- movs r0, 0x1
- b _080999CC
-_080999CA:
- movs r0, 0
-_080999CC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80998E0
-
- thumb_func_start sub_80999D4
-sub_80999D4:
- ldr r2, _080999E0
- movs r1, 0x1
- strb r1, [r2]
- ldr r1, _080999E4
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080999E0: .4byte gUnknown_2039990
-_080999E4: .4byte gUnknown_2039992
- thumb_func_end sub_80999D4
-
- thumb_func_start sub_80999E8
-sub_80999E8:
- push {lr}
- adds r1, r0, 0
- ldr r0, _080999F8
- bl sub_809985C
- pop {r0}
- bx r0
- .align 2, 0
-_080999F8: .4byte gUnknown_2039958
- thumb_func_end sub_80999E8
-
- thumb_func_start sub_80999FC
-sub_80999FC:
- push {lr}
- adds r1, r0, 0
- ldr r0, _08099A0C
- bl sub_8099880
- pop {r0}
- bx r0
- .align 2, 0
-_08099A0C: .4byte gUnknown_2039958
- thumb_func_end sub_80999FC
-
- thumb_func_start sub_8099A10
-sub_8099A10:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r3, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r3, 16
- lsrs r3, 16
- ldr r0, _08099A30
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80998A0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08099A30: .4byte gUnknown_2039958
- thumb_func_end sub_8099A10
-
- thumb_func_start sub_8099A34
-sub_8099A34:
- push {lr}
- adds r1, r0, 0
- ldr r0, _08099A44
- bl sub_809985C
- pop {r0}
- bx r0
- .align 2, 0
-_08099A44: .4byte gUnknown_2039968
- thumb_func_end sub_8099A34
-
- thumb_func_start sub_8099A48
-sub_8099A48:
- push {lr}
- adds r1, r0, 0
- ldr r0, _08099A58
- bl sub_8099880
- pop {r0}
- bx r0
- .align 2, 0
-_08099A58: .4byte gUnknown_2039968
- thumb_func_end sub_8099A48
-
- thumb_func_start sub_8099A5C
-sub_8099A5C:
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- str r2, [sp]
- ldr r0, _08099A88
- str r4, [r0]
- ldr r2, [sp]
- str r2, [r0, 0x4]
- movs r2, 0
- strh r2, [r0, 0x14]
- adds r0, 0x8
- bl sub_809985C
- subs r0, r4, 0x1
- cmp r0, 0xD
- bhi _08099AF0
- lsls r0, 2
- ldr r1, _08099A8C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099A88: .4byte gUnknown_2039978
-_08099A8C: .4byte _08099A90
- .align 2, 0
-_08099A90:
- .4byte _08099AC8
- .4byte _08099AF0
- .4byte _08099AC8
- .4byte _08099AF0
- .4byte _08099AE8
- .4byte _08099AF0
- .4byte _08099AE8
- .4byte _08099AF0
- .4byte _08099AE0
- .4byte _08099AF0
- .4byte _08099AE0
- .4byte _08099AF0
- .4byte _08099AE8
- .4byte _08099AE8
-_08099AC8:
- ldr r0, _08099AD8
- movs r1, 0x80
- lsls r1, 1
- strh r1, [r0, 0xC]
- ldr r0, _08099ADC
- strh r1, [r0, 0xC]
- b _08099AF0
- .align 2, 0
-_08099AD8: .4byte gUnknown_2039968
-_08099ADC: .4byte gUnknown_2039958
-_08099AE0:
- ldr r1, _08099AE4
- b _08099AEA
- .align 2, 0
-_08099AE4: .4byte gUnknown_2039968
-_08099AE8:
- ldr r1, _08099AF8
-_08099AEA:
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r1, 0xC]
-_08099AF0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099AF8: .4byte gUnknown_2039958
- thumb_func_end sub_8099A5C
-
- thumb_func_start sub_8099AFC
-sub_8099AFC:
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- str r2, [sp]
- ldr r0, _08099B28
- str r4, [r0]
- ldr r2, [sp]
- str r2, [r0, 0x4]
- movs r2, 0x80
- lsls r2, 1
- strh r2, [r0, 0x14]
- adds r0, 0x8
- bl sub_8099880
- subs r0, r4, 0x2
- cmp r0, 0xC
- bhi _08099B86
- lsls r0, 2
- ldr r1, _08099B2C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099B28: .4byte gUnknown_2039978
-_08099B2C: .4byte _08099B30
- .align 2, 0
-_08099B30:
- .4byte _08099B64
- .4byte _08099B86
- .4byte _08099B64
- .4byte _08099B86
- .4byte _08099B80
- .4byte _08099B86
- .4byte _08099B80
- .4byte _08099B86
- .4byte _08099B78
- .4byte _08099B86
- .4byte _08099B78
- .4byte _08099B80
- .4byte _08099B80
-_08099B64:
- ldr r0, _08099B70
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r0, _08099B74
- strh r1, [r0, 0xC]
- b _08099B86
- .align 2, 0
-_08099B70: .4byte gUnknown_2039968
-_08099B74: .4byte gUnknown_2039958
-_08099B78:
- ldr r1, _08099B7C
- b _08099B82
- .align 2, 0
-_08099B7C: .4byte gUnknown_2039968
-_08099B80:
- ldr r1, _08099B90
-_08099B82:
- movs r0, 0
- strh r0, [r1, 0xC]
-_08099B86:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099B90: .4byte gUnknown_2039958
- thumb_func_end sub_8099AFC
-
- thumb_func_start sub_8099B94
-sub_8099B94:
- push {lr}
- ldr r0, _08099BA4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08099BA8
- movs r0, 0x1
- b _08099BD6
- .align 2, 0
-_08099BA4: .4byte gUnknown_2039990
-_08099BA8:
- ldr r1, _08099BBC
- ldr r0, [r1]
- cmp r0, 0
- beq _08099BC0
- ldr r0, [r1, 0x8]
- cmp r0, 0
- beq _08099BD6
- movs r0, 0x1
- b _08099BD6
- .align 2, 0
-_08099BBC: .4byte gUnknown_2039978
-_08099BC0:
- movs r1, 0
- ldr r0, _08099BDC
- ldr r0, [r0]
- cmp r0, 0
- bne _08099BD2
- ldr r0, _08099BE0
- ldr r0, [r0]
- cmp r0, 0
- beq _08099BD4
-_08099BD2:
- movs r1, 0x1
-_08099BD4:
- adds r0, r1, 0
-_08099BD6:
- pop {r1}
- bx r1
- .align 2, 0
-_08099BDC: .4byte gUnknown_2039958
-_08099BE0: .4byte gUnknown_2039968
- thumb_func_end sub_8099B94
-
- thumb_func_start sub_8099BE4
-sub_8099BE4:
- push {r4,r5,lr}
- ldr r4, _08099C10
- ldr r0, [r4]
- cmp r0, 0
- bne _08099BF6
- ldr r0, [r4, 0x8]
- cmp r0, 0
- bne _08099BF6
- b _08099D08
-_08099BF6:
- adds r0, r4, 0
- adds r0, 0x8
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099C14
- ldrh r0, [r4, 0x14]
- ldr r1, [r4, 0x4]
- bl sub_8099E80
- b _08099DC0
- .align 2, 0
-_08099C10: .4byte gUnknown_2039978
-_08099C14:
- ldr r0, [r4, 0x8]
- cmp r0, 0
- beq _08099C1C
- b _08099DC0
-_08099C1C:
- ldr r0, [r4]
- cmp r0, 0xE
- bls _08099C24
- b _08099DC0
-_08099C24:
- lsls r0, 2
- ldr r1, _08099C30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099C30: .4byte _08099C34
- .align 2, 0
-_08099C34:
- .4byte _08099DC0
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099CD8
- .4byte _08099CD8
-_08099C70:
- ldr r0, _08099C80
- ldrh r1, [r0, 0x14]
- adds r3, r0, 0
- cmp r1, 0xFF
- bls _08099C84
- movs r0, 0
- str r0, [r3]
- b _08099DC0
- .align 2, 0
-_08099C80: .4byte gUnknown_2039978
-_08099C84:
- ldr r0, _08099CA0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08099C8E
- b _08099DC0
-_08099C8E:
- movs r2, 0
- ldr r0, [r3]
- cmp r0, 0x3
- beq _08099CB2
- cmp r0, 0x3
- bhi _08099CA4
- cmp r0, 0x1
- beq _08099CAE
- b _08099CBC
- .align 2, 0
-_08099CA0: .4byte gUnknown_2039990
-_08099CA4:
- cmp r0, 0x5
- beq _08099CB6
- cmp r0, 0x7
- beq _08099CBA
- b _08099CBC
-_08099CAE:
- movs r2, 0x2
- b _08099CC0
-_08099CB2:
- movs r2, 0x4
- b _08099CC0
-_08099CB6:
- movs r2, 0x6
- b _08099CC0
-_08099CBA:
- movs r2, 0x8
-_08099CBC:
- cmp r2, 0
- beq _08099CD4
-_08099CC0:
- ldr r0, _08099CD0
- movs r4, 0
- ldrsh r1, [r0, r4]
- adds r0, r2, 0
- ldr r2, [r3, 0x4]
- bl sub_8099AFC
- b _08099DC0
- .align 2, 0
-_08099CD0: .4byte gUnknown_2039992
-_08099CD4:
- str r2, [r3]
- b _08099DC0
-_08099CD8:
- ldr r2, _08099CE4
- ldrh r0, [r2, 0x14]
- cmp r0, 0
- bne _08099CE8
- str r0, [r2]
- b _08099DC0
- .align 2, 0
-_08099CE4: .4byte gUnknown_2039978
-_08099CE8:
- ldr r0, _08099D00
- ldrb r0, [r0]
- cmp r0, 0
- beq _08099DC0
- ldr r0, [r2]
- ldr r1, _08099D04
- movs r3, 0
- ldrsh r1, [r1, r3]
- ldr r2, [r2, 0x4]
- bl sub_8099AFC
- b _08099DC0
- .align 2, 0
-_08099D00: .4byte gUnknown_2039990
-_08099D04: .4byte gUnknown_2039992
-_08099D08:
- ldr r0, _08099D88
- ldrb r0, [r0]
- cmp r0, 0
- beq _08099D98
- movs r5, 0x1
- ldr r4, _08099D8C
- ldrh r0, [r4, 0xC]
- cmp r0, 0
- bne _08099D20
- ldr r0, [r4]
- cmp r0, 0
- beq _08099D46
-_08099D20:
- movs r5, 0
- ldr r0, [r4]
- cmp r0, 0x3
- beq _08099D34
- ldr r0, _08099D90
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r4, 0
- bl sub_8099880
-_08099D34:
- adds r0, r4, 0
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099D46
- ldrh r0, [r4, 0xC]
- bl sub_8099DD0
-_08099D46:
- ldr r4, _08099D94
- ldrh r0, [r4, 0xC]
- cmp r0, 0
- bne _08099D54
- ldr r0, [r4]
- cmp r0, 0
- beq _08099D7A
-_08099D54:
- movs r5, 0
- ldr r0, [r4]
- cmp r0, 0x3
- beq _08099D68
- ldr r0, _08099D90
- movs r3, 0
- ldrsh r1, [r0, r3]
- adds r0, r4, 0
- bl sub_8099880
-_08099D68:
- adds r0, r4, 0
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099D7A
- ldrh r0, [r4, 0xC]
- bl sub_8099E58
-_08099D7A:
- cmp r5, 0
- beq _08099DC0
- ldr r1, _08099D88
- movs r0, 0
- strb r0, [r1]
- b _08099DC0
- .align 2, 0
-_08099D88: .4byte gUnknown_2039990
-_08099D8C: .4byte gUnknown_2039958
-_08099D90: .4byte gUnknown_2039992
-_08099D94: .4byte gUnknown_2039968
-_08099D98:
- ldr r4, _08099DC8
- adds r0, r4, 0
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099DAC
- ldrh r0, [r4, 0xC]
- bl sub_8099DD0
-_08099DAC:
- ldr r4, _08099DCC
- adds r0, r4, 0
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099DC0
- ldrh r0, [r4, 0xC]
- bl sub_8099E58
-_08099DC0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08099DC8: .4byte gUnknown_2039958
-_08099DCC: .4byte gUnknown_2039968
- thumb_func_end sub_8099BE4
-
- thumb_func_start sub_8099DD0
-sub_8099DD0:
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r7, r0, 16
- movs r4, 0
- ldr r6, _08099DF4
- movs r5, 0xD
-_08099DDC:
- ldrh r1, [r6]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08099DF8
- lsrs r0, r4, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099E00
- .align 2, 0
-_08099DF4: .4byte gUnknown_2039998
-_08099DF8:
- lsrs r0, r4, 16
- adds r1, r7, 0
- bl sub_8003664
-_08099E00:
- movs r0, 0x80
- lsls r0, 9
- adds r4, r0
- adds r6, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _08099DDC
- ldr r0, _08099E30
- movs r4, 0x80
- lsls r4, 13
- adds r6, r0, 0
- adds r6, 0x20
- movs r5, 0xE
-_08099E1A:
- ldrh r1, [r6]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08099E34
- lsrs r0, r4, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099E3C
- .align 2, 0
-_08099E30: .4byte gUnknown_2039998
-_08099E34:
- lsrs r0, r4, 16
- adds r1, r7, 0
- bl sub_8003664
-_08099E3C:
- movs r0, 0x80
- lsls r0, 9
- adds r4, r0
- adds r6, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _08099E1A
- movs r0, 0x20
- adds r1, r7, 0
- bl sub_8003664
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8099DD0
-
- thumb_func_start sub_8099E58
-sub_8099E58:
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0xF
- adds r1, r4, 0
- bl sub_8003664
- movs r0, 0xE
- adds r1, r4, 0
- bl sub_8003664
- movs r0, 0x1F
- adds r1, r4, 0
- bl sub_8003664
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8099E58
-
- thumb_func_start sub_8099E80
-sub_8099E80:
- push {r4-r7,lr}
- sub sp, 0x4
- str r1, [sp]
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _08099EA0
- ldr r1, [r0]
- adds r2, r0, 0
- cmp r1, 0xE
- bls _08099E96
- b _0809A558
-_08099E96:
- lsls r0, r1, 2
- ldr r1, _08099EA4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099EA0: .4byte gUnknown_2039978
-_08099EA4: .4byte _08099EA8
- .align 2, 0
-_08099EA8:
- .4byte _0809A558
- .4byte _08099EE4
- .4byte _0809A05A
- .4byte _0809A1D2
- .4byte _0809A34A
- .4byte _08099FDE
- .4byte _0809A156
- .4byte _0809A2CE
- .4byte _0809A4BC
- .4byte _08099F5E
- .4byte _0809A0D6
- .4byte _0809A24E
- .4byte _0809A3EA
- .4byte _0809A48A
- .4byte _0809A48A
-_08099EE4:
- movs r4, 0
- movs r5, 0
- ldr r7, _08099F00
-_08099EEA:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08099F04
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099F0E
- .align 2, 0
-_08099F00: .4byte gUnknown_2039998
-_08099F04:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_08099F0E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _08099EEA
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _08099F40
- adds r7, r0, 0
- adds r7, 0x20
-_08099F28:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08099F44
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099F4E
- .align 2, 0
-_08099F40: .4byte gUnknown_2039998
-_08099F44:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_08099F4E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _08099F28
- b _0809A558
-_08099F5E:
- movs r4, 0xE
- movs r5, 0xE0
- lsls r5, 12
- ldr r0, _08099F80
- adds r7, r0, 0
- adds r7, 0x1C
-_08099F6A:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08099F84
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099F8E
- .align 2, 0
-_08099F80: .4byte gUnknown_2039998
-_08099F84:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_08099F8E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _08099F6A
- movs r4, 0x1F
- movs r5, 0xF8
- lsls r5, 13
- ldr r0, _08099FC0
- adds r7, r0, 0
- adds r7, 0x3E
-_08099FA8:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08099FC4
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099FCE
- .align 2, 0
-_08099FC0: .4byte gUnknown_2039998
-_08099FC4:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_08099FCE:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _08099FA8
- b _0809A558
-_08099FDE:
- movs r4, 0
- movs r5, 0
- ldr r7, _08099FFC
-_08099FE4:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A000
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A00A
- .align 2, 0
-_08099FFC: .4byte gUnknown_2039998
-_0809A000:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_0809A00A:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xD
- ble _08099FE4
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A03C
- adds r7, r0, 0
- adds r7, 0x20
-_0809A024:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A040
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A04A
- .align 2, 0
-_0809A03C: .4byte gUnknown_2039998
-_0809A040:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_0809A04A:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809A024
- b _0809A558
-_0809A05A:
- movs r4, 0
- movs r5, 0
- ldr r7, _0809A078
-_0809A060:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A07C
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A086
- .align 2, 0
-_0809A078: .4byte gUnknown_2039998
-_0809A07C:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A086:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A060
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A0B8
- adds r7, r0, 0
- adds r7, 0x20
-_0809A0A0:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A0BC
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A0C6
- .align 2, 0
-_0809A0B8: .4byte gUnknown_2039998
-_0809A0BC:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A0C6:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A0A0
- b _0809A558
-_0809A0D6:
- movs r4, 0xE
- movs r5, 0xE0
- lsls r5, 12
- ldr r0, _0809A0F8
- adds r7, r0, 0
- adds r7, 0x1C
-_0809A0E2:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A0FC
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A106
- .align 2, 0
-_0809A0F8: .4byte gUnknown_2039998
-_0809A0FC:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A106:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A0E2
- movs r4, 0x1F
- movs r5, 0xF8
- lsls r5, 13
- ldr r0, _0809A138
- adds r7, r0, 0
- adds r7, 0x3E
-_0809A120:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A13C
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A146
- .align 2, 0
-_0809A138: .4byte gUnknown_2039998
-_0809A13C:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A146:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A120
- b _0809A558
-_0809A156:
- movs r4, 0
- movs r5, 0
- ldr r7, _0809A174
-_0809A15C:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A178
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A182
- .align 2, 0
-_0809A174: .4byte gUnknown_2039998
-_0809A178:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A182:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xD
- ble _0809A15C
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A1B4
- adds r7, r0, 0
- adds r7, 0x20
-_0809A19C:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A1B8
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A1C2
- .align 2, 0
-_0809A1B4: .4byte gUnknown_2039998
-_0809A1B8:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A1C2:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809A19C
- b _0809A558
-_0809A1D2:
- movs r4, 0
- movs r5, 0
- ldr r7, _0809A1F0
-_0809A1D8:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A1F4
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A1FE
- .align 2, 0
-_0809A1F0: .4byte gUnknown_2039998
-_0809A1F4:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A1FE:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A1D8
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A230
- adds r7, r0, 0
- adds r7, 0x20
-_0809A218:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A234
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A23E
- .align 2, 0
-_0809A230: .4byte gUnknown_2039998
-_0809A234:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A23E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A218
- b _0809A558
-_0809A24E:
- movs r4, 0xE
- movs r5, 0xE0
- lsls r5, 12
- ldr r0, _0809A270
- adds r7, r0, 0
- adds r7, 0x1C
-_0809A25A:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A274
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A27E
- .align 2, 0
-_0809A270: .4byte gUnknown_2039998
-_0809A274:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A27E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A25A
- movs r4, 0x1F
- movs r5, 0xF8
- lsls r5, 13
- ldr r0, _0809A2B0
- adds r7, r0, 0
- adds r7, 0x3E
-_0809A298:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A2B4
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A2BE
- .align 2, 0
-_0809A2B0: .4byte gUnknown_2039998
-_0809A2B4:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A2BE:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A298
- b _0809A558
-_0809A2CE:
- movs r4, 0
- movs r5, 0
- ldr r7, _0809A2EC
-_0809A2D4:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A2F0
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A2FA
- .align 2, 0
-_0809A2EC: .4byte gUnknown_2039998
-_0809A2F0:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A2FA:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xD
- ble _0809A2D4
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A32C
- adds r7, r0, 0
- adds r7, 0x20
-_0809A314:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A330
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A33A
- .align 2, 0
-_0809A32C: .4byte gUnknown_2039998
-_0809A330:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A33A:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809A314
- b _0809A558
-_0809A34A:
- movs r4, 0
- movs r5, 0
-_0809A34E:
- ldr r0, _0809A36C
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A370
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A38C
- .align 2, 0
-_0809A36C: .4byte gUnknown_2039998
-_0809A370:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A382
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A38C
-_0809A382:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A38C:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A34E
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
-_0809A39E:
- ldr r0, _0809A3BC
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A3C0
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A3DC
- .align 2, 0
-_0809A3BC: .4byte gUnknown_2039998
-_0809A3C0:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A3D2
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A3DC
-_0809A3D2:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A3DC:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A39E
- b _0809A558
-_0809A3EA:
- movs r4, 0xE
- movs r5, 0xE0
- lsls r5, 12
-_0809A3F0:
- ldr r0, _0809A40C
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A410
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A42C
- .align 2, 0
-_0809A40C: .4byte gUnknown_2039998
-_0809A410:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A422
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A42C
-_0809A422:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A42C:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A3F0
- movs r4, 0x1F
- movs r5, 0xF8
- lsls r5, 13
-_0809A43E:
- ldr r0, _0809A45C
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A460
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A47C
- .align 2, 0
-_0809A45C: .4byte gUnknown_2039998
-_0809A460:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A472
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A47C
-_0809A472:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A47C:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A43E
- b _0809A558
-_0809A48A:
- ldr r0, [r2]
- cmp r0, 0xD
- beq _0809A496
- cmp r0, 0xE
- beq _0809A4AA
- b _0809A4BC
-_0809A496:
- mov r0, sp
- movs r1, 0x90
- strb r1, [r0]
- strb r1, [r0, 0x1]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x2]
- movs r0, 0x1
- negs r0, r0
- b _0809A4BA
-_0809A4AA:
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0xC0
- strb r0, [r1, 0x1]
- movs r0, 0x80
- strb r0, [r1, 0x2]
- subs r0, 0x81
-_0809A4BA:
- strb r0, [r1, 0x3]
-_0809A4BC:
- movs r4, 0
- movs r5, 0
-_0809A4C0:
- ldr r0, _0809A4DC
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A4E0
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A4FC
- .align 2, 0
-_0809A4DC: .4byte gUnknown_2039998
-_0809A4E0:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A4F2
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A4FC
-_0809A4F2:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A4FC:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0xD
- ble _0809A4C0
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
-_0809A50E:
- ldr r0, _0809A52C
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A530
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A54C
- .align 2, 0
-_0809A52C: .4byte gUnknown_2039998
-_0809A530:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A542
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A54C
-_0809A542:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A54C:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809A50E
-_0809A558:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8099E80
-
- thumb_func_start sub_809A560
-sub_809A560:
- push {r4-r6,lr}
- bl sub_8014144
- ldr r6, _0809A5F4
- movs r0, 0xB5
- lsls r0, 3
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r6]
- movs r4, 0
- str r4, [r0]
- movs r5, 0x1
- negs r5, r5
- str r5, [r0, 0x4]
- str r5, [r0, 0x8]
- ldr r0, _0809A5F8
- strh r4, [r0]
- ldr r0, _0809A5FC
- strh r4, [r0]
- movs r0, 0
- movs r1, 0x14
- bl sub_80095CC
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- movs r1, 0x14
- bl sub_8009408
- bl sub_809B294
- ldr r0, [r6]
- ldr r2, _0809A600
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r5, [r1]
- ldr r1, _0809A604
- adds r0, r1
- str r5, [r0]
- bl sub_809A7EC
- ldr r0, [r6]
- ldr r2, _0809A608
- adds r0, r2
- ldr r1, _0809A60C
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A5F4: .4byte gUnknown_3001B64
-_0809A5F8: .4byte gUnknown_20399DC
-_0809A5FC: .4byte gUnknown_20399DE
-_0809A600: .4byte 0x00000414
-_0809A604: .4byte 0x00000434
-_0809A608: .4byte 0x000005a4
-_0809A60C: .4byte 0x0000ffff
- thumb_func_end sub_809A560
-
- thumb_func_start sub_809A610
-sub_809A610:
- push {r4,lr}
- bl sub_809A62C
- ldr r4, _0809A628
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A628: .4byte gUnknown_3001B64
- thumb_func_end sub_809A610
-
- thumb_func_start sub_809A62C
-sub_809A62C:
- push {r4,lr}
- ldr r0, _0809A670
- ldr r0, [r0]
- movs r2, 0
- str r2, [r0]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x4]
- str r1, [r0, 0x8]
- ldr r0, _0809A674
- strh r2, [r0]
- ldr r0, _0809A678
- strh r2, [r0]
- movs r4, 0
-_0809A648:
- lsls r0, r4, 16
- asrs r0, 16
- bl sub_809A83C
- adds r4, 0x1
- cmp r4, 0x9
- ble _0809A648
- ldr r0, _0809A670
- ldr r0, [r0]
- ldr r1, _0809A67C
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A670: .4byte gUnknown_3001B64
-_0809A674: .4byte gUnknown_20399DC
-_0809A678: .4byte gUnknown_20399DE
-_0809A67C: .4byte 0x00000414
- thumb_func_end sub_809A62C
-
- thumb_func_start sub_809A680
-sub_809A680:
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0x4
- bhi _0809A6C2
- lsls r0, r4, 2
- ldr r1, _0809A694
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809A694: .4byte _0809A698
- .align 2, 0
-_0809A698:
- .4byte _0809A6AC
- .4byte _0809A6BC
- .4byte _0809A6BC
- .4byte _0809A6BC
- .4byte _0809A6BC
-_0809A6AC:
- bl sub_809B294
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- b _0809A6D0
-_0809A6BC:
- bl sub_809B294
- b _0809A6D0
-_0809A6C2:
- bl sub_809B294
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0809A6D0:
- ldr r0, _0809A6E0
- ldr r0, [r0]
- str r4, [r0]
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809A6E0: .4byte gUnknown_3001B64
- thumb_func_end sub_809A680
-
- thumb_func_start sub_809A6E4
-sub_809A6E4:
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _0809A6F4
- ldrh r1, [r2]
- orrs r0, r1
- strh r0, [r2]
- bx lr
- .align 2, 0
-_0809A6F4: .4byte gUnknown_20399DC
- thumb_func_end sub_809A6E4
-
- thumb_func_start sub_809A6F8
-sub_809A6F8:
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _0809A708
- ldrh r1, [r2]
- bics r1, r0
- strh r1, [r2]
- bx lr
- .align 2, 0
-_0809A708: .4byte gUnknown_20399DC
- thumb_func_end sub_809A6F8
-
- thumb_func_start sub_809A70C
-sub_809A70C:
- ldr r0, _0809A714
- ldrh r0, [r0]
- bx lr
- .align 2, 0
-_0809A714: .4byte gUnknown_20399DC
- thumb_func_end sub_809A70C
-
- thumb_func_start nullsub_209
-nullsub_209:
- bx lr
- thumb_func_end nullsub_209
-
- thumb_func_start sub_809A71C
-sub_809A71C:
- push {lr}
- adds r1, r0, 0
- ldr r0, _0809A734
- ldr r0, [r0]
- str r1, [r0, 0x4]
- str r1, [r0, 0x8]
- adds r0, r1, 0
- bl sub_801416C
- pop {r0}
- bx r0
- .align 2, 0
-_0809A734: .4byte gUnknown_3001B64
- thumb_func_end sub_809A71C
-
- thumb_func_start sub_809A738
-sub_809A738:
- push {lr}
- ldr r2, _0809A74C
- ldr r2, [r2]
- str r0, [r2, 0x4]
- str r1, [r2, 0x8]
- bl sub_801416C
- pop {r0}
- bx r0
- .align 2, 0
-_0809A74C: .4byte gUnknown_3001B64
- thumb_func_end sub_809A738
-
- thumb_func_start sub_809A750
-sub_809A750:
- push {lr}
- ldr r0, _0809A764
- ldr r0, [r0]
- adds r0, 0xC
- bl sub_809B40C
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0809A764: .4byte gUnknown_3001B64
- thumb_func_end sub_809A750
-
- thumb_func_start sub_809A768
-sub_809A768:
- movs r0, 0
- bx lr
- thumb_func_end sub_809A768
-
- thumb_func_start sub_809A76C
-sub_809A76C:
- push {lr}
- ldr r0, _0809A78C
- ldr r0, [r0]
- ldr r1, [r0]
- cmp r1, 0x1
- bcc _0809A7A4
- cmp r1, 0x2
- bls _0809A790
- cmp r1, 0x3
- bne _0809A7A4
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x4
- b _0809A798
- .align 2, 0
-_0809A78C: .4byte gUnknown_3001B64
-_0809A790:
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x84
-_0809A798:
- movs r3, 0
- bl sub_809B2B8
- lsls r0, 24
- lsrs r0, 24
- b _0809A7AE
-_0809A7A4:
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- movs r0, 0
-_0809A7AE:
- pop {r1}
- bx r1
- thumb_func_end sub_809A76C
-
- thumb_func_start sub_809A7B4
-sub_809A7B4:
- push {lr}
- ldr r0, _0809A7D8
- ldr r0, [r0]
- ldr r1, [r0]
- cmp r1, 0x3
- bhi _0809A7DC
- cmp r1, 0x1
- bcc _0809A7DC
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x4
- movs r3, 0
- bl sub_809B2B8
- lsls r0, 24
- lsrs r0, 24
- b _0809A7E6
- .align 2, 0
-_0809A7D8: .4byte gUnknown_3001B64
-_0809A7DC:
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- movs r0, 0
-_0809A7E6:
- pop {r1}
- bx r1
- thumb_func_end sub_809A7B4
-
- thumb_func_start sub_809A7EC
-sub_809A7EC:
- push {r4-r6,lr}
- ldr r0, _0809A830
- ldr r0, [r0]
- ldr r2, _0809A834
- adds r1, r0, r2
- ldr r0, _0809A838
- adds r6, r0, 0
- movs r3, 0
- movs r2, 0
- movs r4, 0x9
- movs r5, 0xFF
-_0809A802:
- ldrh r0, [r1]
- orrs r0, r6
- strh r0, [r1]
- strh r2, [r1, 0x2]
- strb r3, [r1, 0x4]
- strb r3, [r1, 0x5]
- ldrb r0, [r1, 0x6]
- orrs r0, r5
- strb r0, [r1, 0x6]
- strb r3, [r1, 0x7]
- str r2, [r1, 0x8]
- str r2, [r1, 0xC]
- str r2, [r1, 0x10]
- str r2, [r1, 0x14]
- strb r3, [r1, 0x1C]
- str r2, [r1, 0x20]
- subs r4, 0x1
- adds r1, 0x24
- cmp r4, 0
- bge _0809A802
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A830: .4byte gUnknown_3001B64
-_0809A834: .4byte 0x0000043c
-_0809A838: .4byte 0x0000ffff
- thumb_func_end sub_809A7EC
-
- thumb_func_start sub_809A83C
-sub_809A83C:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0809A8A0
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r3, _0809A8A4
- adds r1, r3
- ldr r2, [r2]
- adds r6, r2, r1
- ldr r1, _0809A8A8
- strh r1, [r6]
- movs r2, 0
- movs r7, 0
- strh r7, [r6, 0x2]
- strb r2, [r6, 0x4]
- strb r2, [r6, 0x5]
- movs r1, 0xFF
- strb r1, [r6, 0x6]
- strb r2, [r6, 0x7]
- str r7, [r6, 0x8]
- str r7, [r6, 0xC]
- str r7, [r6, 0x10]
- str r7, [r6, 0x14]
- strb r2, [r6, 0x1C]
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 4
- ldr r0, _0809A8AC
- adds r0, r4, r0
- ldr r5, _0809A8B0
- adds r1, r5, 0
- bl strcpy
- ldr r0, _0809A8B4
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- ldr r0, [r6, 0x20]
- cmp r0, 0
- beq _0809A89A
- bl CloseFile
- str r7, [r6, 0x20]
-_0809A89A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A8A0: .4byte gUnknown_3001B64
-_0809A8A4: .4byte 0x0000043c
-_0809A8A8: .4byte 0x0000ffff
-_0809A8AC: .4byte gUnknown_202DF98
-_0809A8B0: .4byte gUnknown_811615C
-_0809A8B4: .4byte gPlayerName
- thumb_func_end sub_809A83C
-
- thumb_func_start sub_809A8B8
-sub_809A8B8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- asrs r0, 16
- mov r9, r0
- mov r0, sp
- strh r1, [r0]
- ldr r1, _0809A928
- mov r2, r9
- lsls r0, r2, 3
- add r0, r9
- lsls r0, 2
- ldr r2, _0809A92C
- adds r0, r2
- ldr r1, [r1]
- adds r7, r1, r0
- movs r0, 0x1
- mov r10, r0
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r0, [r7, 0x20]
- cmp r0, 0
- beq _0809A8F6
- bl CloseFile
- ldr r2, [sp, 0x4]
- str r2, [r7, 0x20]
-_0809A8F6:
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A7DDC
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x13
- bhi _0809A9D6
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80A8D54
- adds r5, r0, 0
- cmp r5, 0
- bne _0809A930
- movs r2, 0
- mov r10, r2
- b _0809A9D6
- .align 2, 0
-_0809A928: .4byte gUnknown_3001B64
-_0809A92C: .4byte 0x0000043c
-_0809A930:
- bl sub_808D3BC
- cmp r5, r0
- bne _0809A940
- mov r1, sp
- movs r0, 0x21
- strh r0, [r1]
- b _0809A9D6
-_0809A940:
- bl sub_808D3F8
- cmp r5, r0
- bne _0809A950
- mov r1, sp
- movs r0, 0x22
- strh r0, [r1]
- b _0809A9D6
-_0809A950:
- ldrb r0, [r5, 0x4]
- subs r0, 0x43
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _0809A990
- movs r0, 0
- ldrsh r1, [r4, r0]
- ldr r0, _0809A978
- cmp r1, r0
- beq _0809A9D6
- cmp r1, r0
- ble _0809A97C
- adds r0, 0x16
- cmp r1, r0
- bgt _0809A98A
- subs r0, 0x1
- cmp r1, r0
- blt _0809A98A
- b _0809A9D6
- .align 2, 0
-_0809A978: .4byte 0x00000183
-_0809A97C:
- movs r0, 0x82
- lsls r0, 1
- cmp r1, r0
- beq _0809A9D6
- adds r0, 0x2F
- cmp r1, r0
- beq _0809A9D6
-_0809A98A:
- movs r1, 0
- mov r10, r1
- b _0809A9D6
-_0809A990:
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r0, 0x87
- lsls r0, 1
- cmp r1, r0
- bgt _0809A9B0
- subs r0, 0x2
- cmp r1, r0
- bge _0809A9D6
- cmp r1, 0x90
- blt _0809A9D2
- cmp r1, 0x92
- ble _0809A9D6
- cmp r1, 0x96
- beq _0809A9D6
- b _0809A9D2
-_0809A9B0:
- movs r0, 0xCF
- lsls r0, 1
- cmp r1, r0
- bgt _0809A9CC
- subs r0, 0x4
- cmp r1, r0
- bge _0809A9D6
- subs r0, 0x87
- cmp r1, r0
- bgt _0809A9D2
- subs r0, 0x1
- cmp r1, r0
- blt _0809A9D2
- b _0809A9D6
-_0809A9CC:
- ldr r0, _0809A9F0
- cmp r1, r0
- beq _0809A9D6
-_0809A9D2:
- movs r0, 0
- mov r10, r0
-_0809A9D6:
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x21
- bhi _0809AA98
- lsls r0, 2
- ldr r1, _0809A9F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809A9F0: .4byte 0x000001a7
-_0809A9F4: .4byte _0809A9F8
- .align 2, 0
-_0809A9F8:
- .4byte _0809AA80
- .4byte _0809AA80
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA80
- .4byte _0809AA80
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA80
- .4byte _0809AA80
-_0809AA80:
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl sub_80A8CF0
- lsls r0, 24
- cmp r0, 0
- beq _0809AA94
- movs r2, 0x1
- str r2, [sp, 0x4]
- b _0809AA98
-_0809AA94:
- movs r0, 0
- mov r10, r0
-_0809AA98:
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809AB34
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80A7AE8
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- blt _0809AACE
- mov r0, sp
- ldrh r0, [r0]
- movs r2, 0
- mov r8, r2
- movs r6, 0
- strh r0, [r7]
- adds r0, r1, 0
- bl sub_80A8BFC
- strh r0, [r7, 0x2]
- b _0809AAE6
-_0809AACE:
- ldrh r1, [r4]
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0809AB34
- mov r0, sp
- ldrh r0, [r0]
- movs r2, 0
- mov r8, r2
- movs r6, 0
- strh r0, [r7]
- strh r1, [r7, 0x2]
-_0809AAE6:
- mov r0, r9
- lsls r4, r0, 2
- add r4, r9
- lsls r4, 4
- ldr r0, _0809AB28
- adds r0, r4, r0
- ldr r5, _0809AB2C
- adds r1, r5, 0
- bl strcpy
- ldr r0, _0809AB30
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- mov r1, r10
- strb r1, [r7, 0x4]
- mov r2, sp
- ldrb r2, [r2, 0x4]
- strb r2, [r7, 0x5]
- movs r0, 0xFF
- strb r0, [r7, 0x6]
- mov r0, r8
- strb r0, [r7, 0x7]
- str r6, [r7, 0x8]
- str r6, [r7, 0xC]
- str r6, [r7, 0x10]
- str r6, [r7, 0x14]
- strb r0, [r7, 0x1C]
- movs r0, 0x1
- b _0809AB3C
- .align 2, 0
-_0809AB28: .4byte gUnknown_202DF98
-_0809AB2C: .4byte gUnknown_811616C
-_0809AB30: .4byte gPlayerName
-_0809AB34:
- mov r0, r9
- bl sub_809A83C
- movs r0, 0
-_0809AB3C:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809A8B8
-
- thumb_func_start sub_809AB4C
-sub_809AB4C:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r1, 16
- ldr r2, _0809AB78
- lsls r0, r5, 3
- adds r0, r5
- lsls r0, 2
- ldr r3, _0809AB7C
- adds r0, r3
- ldr r2, [r2]
- adds r6, r2, r0
- adds r0, r5, 0
- bl sub_809A8B8
- lsls r0, 24
- cmp r0, 0
- bne _0809AB80
- movs r0, 0
- b _0809ABA0
- .align 2, 0
-_0809AB78: .4byte gUnknown_3001B64
-_0809AB7C: .4byte 0x0000043c
-_0809AB80:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 4
- ldr r0, _0809ABA8
- adds r0, r4, r0
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- bl sub_808D908
- ldr r0, _0809ABAC
- adds r4, r0
- ldr r1, _0809ABB0
- adds r0, r4, 0
- bl strcpy
- movs r0, 0x1
-_0809ABA0:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809ABA8: .4byte gUnknown_202DF98
-_0809ABAC: .4byte gPlayerName
-_0809ABB0: .4byte gUnknown_811617C
- thumb_func_end sub_809AB4C
-
- thumb_func_start sub_809ABB4
-sub_809ABB4:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r1, 16
- ldr r2, _0809ABE0
- lsls r0, r5, 3
- adds r0, r5
- lsls r0, 2
- ldr r3, _0809ABE4
- adds r0, r3
- ldr r2, [r2]
- adds r6, r2, r0
- adds r0, r5, 0
- bl sub_809A8B8
- lsls r0, 24
- cmp r0, 0
- bne _0809ABE8
- movs r0, 0
- b _0809AC0A
- .align 2, 0
-_0809ABE0: .4byte gUnknown_3001B64
-_0809ABE4: .4byte 0x0000043c
-_0809ABE8:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 4
- ldr r5, _0809AC10
- adds r5, r4, r5
- movs r0, 0x2
- ldrsh r1, [r6, r0]
- adds r0, r5, 0
- bl sub_808D908
- ldr r0, _0809AC14
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- movs r0, 0x1
-_0809AC0A:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809AC10: .4byte gUnknown_202DF98
-_0809AC14: .4byte gPlayerName
- thumb_func_end sub_809ABB4
-
- thumb_func_start sub_809AC18
-sub_809AC18:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r1, 16
- ldr r2, _0809AC44
- lsls r0, r5, 3
- adds r0, r5
- lsls r0, 2
- ldr r3, _0809AC48
- adds r0, r3
- ldr r2, [r2]
- adds r6, r2, r0
- adds r0, r5, 0
- bl sub_809A8B8
- lsls r0, 24
- cmp r0, 0
- bne _0809AC4C
- movs r0, 0
- b _0809AC6E
- .align 2, 0
-_0809AC44: .4byte gUnknown_3001B64
-_0809AC48: .4byte 0x0000043c
-_0809AC4C:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 4
- ldr r0, _0809AC74
- adds r0, r4, r0
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- bl sub_808D908
- ldr r0, _0809AC78
- adds r4, r0
- movs r3, 0
- ldrsh r1, [r6, r3]
- adds r0, r4, 0
- bl sub_80A8EC0
- movs r0, 0x1
-_0809AC6E:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809AC74: .4byte gUnknown_202DF98
-_0809AC78: .4byte gPlayerName
- thumb_func_end sub_809AC18
-
- thumb_func_start sub_809AC7C
-sub_809AC7C:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 24
- asrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r2, _0809AD10
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _0809AD14
- adds r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- ldr r0, [r4, 0x20]
- cmp r0, 0
- beq _0809ACA8
- bl CloseFile
- movs r0, 0
- str r0, [r4, 0x20]
-_0809ACA8:
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bge _0809ACB2
- b _0809ADC0
-_0809ACB2:
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _0809ACBC
- b _0809ADC0
-_0809ACBC:
- cmp r1, 0
- bne _0809ACC2
- b _0809ADC0
-_0809ACC2:
- cmp r6, 0x15
- beq _0809ACCE
- movs r0, 0
- strb r6, [r4, 0x7]
- str r0, [r4, 0x8]
- str r0, [r4, 0xC]
-_0809ACCE:
- ldr r2, _0809AD18
- ldrb r0, [r4, 0x7]
- lsls r0, 3
- adds r0, r2
- ldr r1, [r4, 0x8]
- ldrh r0, [r0]
- adds r0, r1
- movs r6, 0
- movs r3, 0
- strh r0, [r4, 0x18]
- ldrb r0, [r4, 0x7]
- lsls r0, 3
- adds r0, r2
- ldr r1, [r4, 0xC]
- ldrh r0, [r0, 0x2]
- adds r0, r1
- strh r0, [r4, 0x1A]
- ldrb r0, [r4, 0x7]
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- strb r0, [r4, 0x1D]
- strb r6, [r4, 0x1E]
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- bne _0809AD1C
- strb r5, [r4, 0x6]
- str r3, [r4, 0x10]
- str r3, [r4, 0x14]
- strb r6, [r4, 0x1C]
- movs r0, 0
- b _0809ADD2
- .align 2, 0
-_0809AD10: .4byte gUnknown_3001B64
-_0809AD14: .4byte 0x0000043c
-_0809AD18: .4byte gUnknown_8116040
-_0809AD1C:
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _0809ADC0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- bl sub_808DD90
- str r0, [r4, 0x20]
- cmp r0, 0
- beq _0809ADB6
- strb r5, [r4, 0x6]
- str r0, [r4, 0x10]
- movs r1, 0
- bl GetFileDataPtr
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x4D
- beq _0809AD62
- cmp r0, 0x4D
- bgt _0809AD4C
- cmp r0, 0x47
- beq _0809AD56
- b _0809ADA8
-_0809AD4C:
- cmp r0, 0x53
- beq _0809AD76
- cmp r0, 0x73
- beq _0809AD8A
- b _0809ADA8
-_0809AD56:
- movs r0, 0xF
- ands r0, r5
- cmp r0, 0x5
- bgt _0809ADA8
- adds r0, r5, 0x6
- b _0809AD9C
-_0809AD62:
- ldrb r0, [r4, 0x1D]
- cmp r0, 0
- beq _0809ADA8
- movs r0, 0xF
- ands r0, r5
- cmp r0, 0x3
- bgt _0809ADA8
- strb r6, [r4, 0x1D]
- adds r0, r5, 0x4
- b _0809AD9C
-_0809AD76:
- ldrb r0, [r4, 0x1D]
- cmp r0, 0
- beq _0809ADA8
- movs r0, 0xF
- ands r0, r5
- cmp r0, 0
- bgt _0809ADA8
- strb r6, [r4, 0x1D]
- adds r0, r5, 0x1
- b _0809AD9C
-_0809AD8A:
- ldrb r0, [r4, 0x1D]
- cmp r0, 0
- beq _0809ADA8
- movs r0, 0xF
- ands r0, r5
- cmp r0, 0x1
- bgt _0809ADA8
- strb r6, [r4, 0x1D]
- adds r0, r5, 0x2
-_0809AD9C:
- lsls r0, 24
- asrs r5, r0, 24
- movs r0, 0x40
- orrs r5, r0
- lsls r0, r5, 24
- asrs r5, r0, 24
-_0809ADA8:
- ldr r0, [r4, 0x20]
- ldr r0, [r0, 0x4]
- str r0, [r4, 0x14]
- movs r0, 0xF
- ands r5, r0
- strb r5, [r4, 0x1C]
- b _0809ADBC
-_0809ADB6:
- str r0, [r4, 0x10]
- str r0, [r4, 0x14]
- strb r6, [r4, 0x1C]
-_0809ADBC:
- movs r0, 0x1
- b _0809ADD2
-_0809ADC0:
- movs r0, 0xFF
- strb r0, [r4, 0x6]
- movs r0, 0
- strb r0, [r4, 0x7]
- str r0, [r4, 0x8]
- str r0, [r4, 0xC]
- str r0, [r4, 0x10]
- str r0, [r4, 0x14]
- strb r0, [r4, 0x1C]
-_0809ADD2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809AC7C
-
- thumb_func_start sub_809ADD8
-sub_809ADD8:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0809AE28
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _0809AE2C
- adds r1, r0
- ldr r0, [r2]
- adds r3, r0, r1
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r0, 0
- blt _0809AE34
- cmp r0, 0
- beq _0809AE34
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- str r0, [r3, 0x8]
- str r1, [r3, 0xC]
- ldr r2, _0809AE30
- ldrb r0, [r3, 0x7]
- lsls r0, 3
- adds r0, r2
- ldr r1, [r3, 0x8]
- ldrh r0, [r0]
- adds r0, r1
- strh r0, [r3, 0x18]
- ldrb r0, [r3, 0x7]
- lsls r0, 3
- adds r0, r2
- ldr r1, [r3, 0xC]
- ldrh r0, [r0, 0x2]
- adds r0, r1
- strh r0, [r3, 0x1A]
- movs r0, 0x1
- b _0809AE36
- .align 2, 0
-_0809AE28: .4byte gUnknown_3001B64
-_0809AE2C: .4byte 0x0000043c
-_0809AE30: .4byte gUnknown_8116040
-_0809AE34:
- movs r0, 0
-_0809AE36:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809ADD8
-
- thumb_func_start sub_809AE3C
-sub_809AE3C:
- push {r4,lr}
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _0809AE88
- ldr r1, _0809AE80
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r3, _0809AE84
- adds r0, r3
- ldr r1, [r1]
- adds r4, r1, r0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0809AE74
- movs r1, 0x6
- ldrsb r1, [r4, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0809AE74
- adds r0, r2, 0
- movs r1, 0
- movs r2, 0
- bl sub_809AC7C
-_0809AE74:
- ldr r0, [r4, 0x10]
- cmp r0, 0
- beq _0809AE88
- adds r0, r4, 0
- adds r0, 0x10
- b _0809AE8A
- .align 2, 0
-_0809AE80: .4byte gUnknown_3001B64
-_0809AE84: .4byte 0x0000043c
-_0809AE88:
- movs r0, 0
-_0809AE8A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AE3C
-
- thumb_func_start sub_809AE90
-sub_809AE90:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r2, 0
- lsls r1, 16
- asrs r6, r1, 16
- cmp r4, 0
- bne _0809AEA4
- bl sub_809A76C
- b _0809AEE0
-_0809AEA4:
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809AEDC
- ldr r1, _0809AED0
- lsls r0, r5, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl sub_809A680
- ldr r0, _0809AED4
- ldr r0, [r0]
- adds r0, 0xC
- ldr r2, _0809AED8
- lsls r1, r5, 1
- adds r1, r2
- ldrh r1, [r1]
- adds r2, r6, 0
- adds r3, r4, 0
- bl sub_809B2B8
- b _0809AEE0
- .align 2, 0
-_0809AED0: .4byte gUnknown_8116134
-_0809AED4: .4byte gUnknown_3001B64
-_0809AED8: .4byte gUnknown_8116148
-_0809AEDC:
- bl sub_809A7B4
-_0809AEE0:
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809AE90
-
- thumb_func_start sub_809AEEC
-sub_809AEEC:
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _0809AF1C
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809AF1C
- movs r0, 0x2
- movs r1, 0x1
- bl sub_809A680
- ldr r0, _0809AF18
- ldr r0, [r0]
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0xC2
- adds r3, r4, 0
- bl sub_809B2B8
- b _0809AF20
- .align 2, 0
-_0809AF18: .4byte gUnknown_3001B64
-_0809AF1C:
- bl sub_809A76C
-_0809AF20:
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AEEC
-
- thumb_func_start sub_809AF2C
-sub_809AF2C:
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _0809AF5C
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809AF5C
- movs r0, 0x2
- movs r1, 0x1
- bl sub_809A680
- ldr r0, _0809AF58
- ldr r0, [r0]
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0xC2
- adds r3, r4, 0
- bl sub_809B2B8
- b _0809AF60
- .align 2, 0
-_0809AF58: .4byte gUnknown_3001B64
-_0809AF5C:
- bl sub_809A76C
-_0809AF60:
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AF2C
-
- thumb_func_start sub_809AF6C
-sub_809AF6C:
- push {r4,lr}
- adds r4, r1, 0
- cmp r4, 0
- beq _0809AF9C
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809AF9C
- movs r0, 0x3
- movs r1, 0x1
- bl sub_809A680
- ldr r0, _0809AF98
- ldr r0, [r0]
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x65
- adds r3, r4, 0
- bl sub_809B2B8
- b _0809AFA0
- .align 2, 0
-_0809AF98: .4byte gUnknown_3001B64
-_0809AF9C:
- bl sub_809A76C
-_0809AFA0:
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AF6C
-
- thumb_func_start sub_809AFAC
-sub_809AFAC:
- push {lr}
- movs r1, 0
- ldr r0, _0809AFC4
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x4
- bne _0809AFBC
- movs r1, 0x1
-_0809AFBC:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809AFC4: .4byte gUnknown_3001B64
- thumb_func_end sub_809AFAC
-
- thumb_func_start sub_809AFC8
-sub_809AFC8:
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r1, 0
- adds r1, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- asrs r1, 16
- ldr r4, _0809AFF8
- negs r2, r0
- orrs r2, r0
- lsrs r2, 31
- str r1, [sp]
- str r3, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0
- adds r3, r5, 0
- bl sub_809B028
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809AFF8: .4byte gUnknown_81160E8
- thumb_func_end sub_809AFC8
-
- thumb_func_start sub_809AFFC
-sub_809AFFC:
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- mov r0, sp
- bl sub_809B18C
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r4, 0
- beq _0809B01C
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x1
- bne _0809B01A
- movs r1, 0x1
-_0809B01A:
- strb r1, [r4]
-_0809B01C:
- adds r0, r2, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AFFC
-
- thumb_func_start sub_809B028
-sub_809B028:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- mov r8, r0
- adds r7, r2, 0
- adds r6, r3, 0
- ldr r0, [sp, 0x2C]
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r0, 16
- asrs r4, r0, 16
- ldr r1, _0809B084
- lsls r0, r6, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl sub_809A680
- ldr r0, _0809B088
- ldr r1, [r0]
- ldr r0, _0809B08C
- adds r2, r1, r0
- movs r0, 0x1
- str r0, [r2]
- movs r0, 0x83
- lsls r0, 3
- adds r2, r1, r0
- movs r0, 0
- str r0, [r2]
- ldr r2, _0809B090
- adds r0, r1, r2
- mov r2, r8
- str r2, [r0]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r1, r2
- movs r2, 0x2
- str r2, [r0]
- ldr r0, _0809B094
- adds r1, r0
- cmp r5, 0
- beq _0809B098
- str r2, [r1]
- b _0809B09A
- .align 2, 0
-_0809B084: .4byte gUnknown_8116134
-_0809B088: .4byte gUnknown_3001B64
-_0809B08C: .4byte 0x00000414
-_0809B090: .4byte 0x0000041c
-_0809B094: .4byte 0x00000424
-_0809B098:
- str r5, [r1]
-_0809B09A:
- ldr r0, _0809B0D4
- ldr r0, [r0]
- movs r1, 0x85
- lsls r1, 3
- adds r2, r0, r1
- movs r1, 0
- str r1, [r2]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- str r7, [r0]
- ldr r0, _0809B0D8
- lsls r2, r6, 1
- adds r0, r2, r0
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- adds r5, r2, 0
- cmp r0, 0
- beq _0809B0F6
- cmp r4, 0
- bge _0809B0E4
- ldr r0, _0809B0DC
- ldr r1, _0809B0E0
- bl strcpy
- b _0809B0F6
- .align 2, 0
-_0809B0D4: .4byte gUnknown_3001B64
-_0809B0D8: .4byte gUnknown_8116148
-_0809B0DC: .4byte gUnknown_202E5D8
-_0809B0E0: .4byte gUnknown_8116180
-_0809B0E4:
- ldr r0, _0809B134
- ldr r1, _0809B138
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 4
- ldr r3, _0809B13C
- adds r2, r3
- bl sub_800D158
-_0809B0F6:
- adds r0, r4, 0
- bl sub_809AE3C
- ldr r4, _0809B140
- movs r1, 0
- str r1, [sp]
- movs r3, 0x4
- str r3, [sp, 0x4]
- str r1, [sp, 0x8]
- str r0, [sp, 0xC]
- ldr r0, _0809B144
- adds r0, r5, r0
- ldrh r2, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r2
- cmp r0, 0
- beq _0809B11C
- movs r1, 0xC
-_0809B11C:
- movs r0, 0x80
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _0809B128
- orrs r1, r3
-_0809B128:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _0809B148
- movs r0, 0x21
- b _0809B14A
- .align 2, 0
-_0809B134: .4byte gUnknown_202E5D8
-_0809B138: .4byte gUnknown_8116188
-_0809B13C: .4byte gPlayerName
-_0809B140: .4byte sub_809B428
-_0809B144: .4byte gUnknown_8116148
-_0809B148:
- movs r0, 0x1
-_0809B14A:
- orrs r0, r1
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x10]
- ldr r0, [sp, 0x30]
- adds r1, r4, 0
- adds r2, r7, 0
- mov r3, r8
- bl sub_8014248
- ldr r0, _0809B184
- ldr r0, [r0]
- ldr r1, _0809B188
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809B176
- movs r0, 0x1
- bl sub_809A6E4
-_0809B176:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B184: .4byte gUnknown_3001B64
-_0809B188: .4byte 0x00000424
- thumb_func_end sub_809B028
-
- thumb_func_start sub_809B18C
-sub_809B18C:
- push {lr}
- adds r1, r0, 0
- ldr r2, _0809B1BC
- cmp r1, 0
- beq _0809B1A2
- ldr r0, [r2]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_0809B1A2:
- movs r1, 0
- ldr r0, [r2]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x3
- bne _0809B1B4
- movs r1, 0x1
-_0809B1B4:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809B1BC: .4byte gUnknown_3001B64
- thumb_func_end sub_809B18C
-
- thumb_func_start sub_809B1C0
-sub_809B1C0:
- push {lr}
- adds r3, r2, 0
- movs r2, 0
- bl sub_809B1D4
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_809B1C0
-
- thumb_func_start sub_809B1D4
-sub_809B1D4:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- cmp r4, 0xB
- beq _0809B1E8
- cmp r4, 0xC
- beq _0809B1F0
- b _0809B202
-_0809B1E8:
- adds r0, r5, 0
- bl sub_8021700
- b _0809B1F8
-_0809B1F0:
- bl sub_8001D88
- bl sub_802FCF0
-_0809B1F8:
- lsls r0, 24
- cmp r0, 0
- beq _0809B202
- movs r0, 0
- b _0809B24C
-_0809B202:
- movs r0, 0x4
- movs r1, 0
- bl sub_809A680
- ldr r0, _0809B254
- ldr r1, [r0]
- ldr r2, _0809B258
- adds r0, r1, r2
- str r4, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r1, r3
- movs r2, 0
- str r2, [r0]
- adds r3, 0x4
- adds r0, r1, r3
- str r2, [r0]
- movs r0, 0x84
- lsls r0, 3
- adds r2, r1, r0
- movs r0, 0x1
- str r0, [r2]
- ldr r2, _0809B25C
- adds r0, r1, r2
- str r5, [r0]
- adds r3, 0xC
- adds r0, r1, r3
- str r6, [r0]
- adds r2, 0x8
- adds r0, r1, r2
- str r7, [r0]
- adds r3, 0x8
- adds r1, r3
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
- movs r0, 0x1
-_0809B24C:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809B254: .4byte gUnknown_3001B64
-_0809B258: .4byte 0x00000414
-_0809B25C: .4byte 0x00000424
- thumb_func_end sub_809B1D4
-
- thumb_func_start sub_809B260
-sub_809B260:
- push {lr}
- adds r1, r0, 0
- ldr r2, _0809B290
- cmp r1, 0
- beq _0809B276
- ldr r0, [r2]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_0809B276:
- movs r1, 0
- ldr r0, [r2]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x3
- bne _0809B288
- movs r1, 0x1
-_0809B288:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809B290: .4byte gUnknown_3001B64
- thumb_func_end sub_809B260
-
- thumb_func_start sub_809B294
-sub_809B294:
- push {lr}
- movs r0, 0x3
- bl sub_80063D8
- ldr r0, _0809B2B4
- ldr r0, [r0]
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- movs r3, 0
- bl sub_809B2B8
- pop {r0}
- bx r0
- .align 2, 0
-_0809B2B4: .4byte gUnknown_3001B64
- thumb_func_end sub_809B294
-
- thumb_func_start sub_809B2B8
-sub_809B2B8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- adds r4, r0, 0
- adds r7, r3, 0
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- asrs r6, r2, 16
- strh r5, [r4]
- cmp r7, 0
- bne _0809B2F6
- cmp r5, 0
- bne _0809B2DE
- str r7, [r4, 0x4]
- movs r0, 0
- b _0809B3FC
-_0809B2DE:
- movs r0, 0x4
- ands r0, r5
- cmp r0, 0
- bne _0809B2E8
- b _0809B3FA
-_0809B2E8:
- bl sub_8014490
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- b _0809B3FA
-_0809B2F6:
- movs r0, 0x1
- str r0, [r4, 0x4]
- adds r0, 0xFF
- ands r0, r5
- cmp r0, 0
- beq _0809B32A
- cmp r6, 0
- bge _0809B318
- ldr r0, _0809B310
- ldr r1, _0809B314
- bl strcpy
- b _0809B32A
- .align 2, 0
-_0809B310: .4byte gUnknown_202E5D8
-_0809B314: .4byte gUnknown_8116180
-_0809B318:
- ldr r0, _0809B3D0
- ldr r1, _0809B3D4
- lsls r2, r6, 2
- adds r2, r6
- lsls r2, 4
- ldr r3, _0809B3D8
- adds r2, r3
- bl sub_800D158
-_0809B32A:
- ldr r0, _0809B3DC
- mov r8, r0
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x3
- bne _0809B344
- adds r4, 0x8
- ldr r1, _0809B3E0
- adds r0, r4, 0
- adds r2, r7, 0
- bl sub_800D158
- adds r7, r4, 0
-_0809B344:
- adds r0, r6, 0
- bl sub_809AE3C
- ldr r1, _0809B3E4
- mov r9, r1
- movs r1, 0x1
- negs r1, r1
- mov r12, r1
- movs r2, 0
- str r2, [sp]
- movs r1, 0x3
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r0, [sp, 0xC]
- movs r6, 0x80
- lsls r6, 1
- adds r0, r5, 0
- ands r0, r6
- movs r1, 0
- cmp r0, 0
- beq _0809B370
- movs r1, 0xC
-_0809B370:
- movs r4, 0x80
- lsls r4, 2
- adds r0, r5, 0
- ands r0, r4
- cmp r0, 0
- beq _0809B380
- movs r0, 0x4
- orrs r1, r0
-_0809B380:
- mov r0, r8
- ldr r3, [r0]
- ldr r2, [r3]
- cmp r2, 0x3
- bne _0809B38E
- movs r0, 0x10
- orrs r1, r0
-_0809B38E:
- cmp r2, 0x2
- bne _0809B396
- movs r0, 0x10
- orrs r1, r0
-_0809B396:
- adds r2, r1, 0
- movs r1, 0x20
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0809B3A4
- orrs r2, r1
-_0809B3A4:
- lsrs r1, r5, 6
- movs r0, 0x1
- ands r1, r0
- orrs r1, r2
- movs r0, 0x80
- ands r0, r5
- cmp r0, 0
- beq _0809B3B6
- orrs r1, r6
-_0809B3B6:
- movs r0, 0x4
- ands r0, r5
- cmp r0, 0
- beq _0809B3C0
- orrs r1, r4
-_0809B3C0:
- ldr r0, [r3, 0x4]
- cmp r0, r12
- beq _0809B3E8
- movs r0, 0x2
- orrs r0, r1
- lsls r0, 16
- b _0809B3EA
- .align 2, 0
-_0809B3D0: .4byte gUnknown_202E5D8
-_0809B3D4: .4byte gUnknown_8116188
-_0809B3D8: .4byte gPlayerName
-_0809B3DC: .4byte gUnknown_3001B64
-_0809B3E0: .4byte gUnknown_8116190
-_0809B3E4: .4byte sub_809B428
-_0809B3E8:
- lsls r0, r1, 16
-_0809B3EA:
- lsrs r0, 16
- str r0, [sp, 0x10]
- adds r0, r7, 0
- mov r1, r9
- mov r2, r12
- movs r3, 0
- bl sub_8014248
-_0809B3FA:
- movs r0, 0x1
-_0809B3FC:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809B2B8
-
- thumb_func_start sub_809B40C
-sub_809B40C:
- push {lr}
- ldr r0, [r0, 0x4]
- cmp r0, 0
- beq _0809B41C
- cmp r0, 0x3
- bhi _0809B420
- cmp r0, 0x2
- bcc _0809B420
-_0809B41C:
- movs r0, 0
- b _0809B422
-_0809B420:
- movs r0, 0x1
-_0809B422:
- pop {r1}
- bx r1
- thumb_func_end sub_809B40C
-
- thumb_func_start sub_809B428
-sub_809B428:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r2, 0
- ldrb r0, [r5, 0x2]
- cmp r0, 0x4F
- beq _0809B44C
- cmp r0, 0x4F
- bgt _0809B43E
- cmp r0, 0x49
- beq _0809B444
- b _0809B46A
-_0809B43E:
- cmp r0, 0x57
- beq _0809B454
- b _0809B46A
-_0809B444:
- movs r0, 0x1E
- bl sub_8099A34
- b _0809B462
-_0809B44C:
- movs r0, 0x1E
- bl sub_8099A48
- b _0809B462
-_0809B454:
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- beq _0809B462
- adds r0, r5, 0
- b _0809B46C
-_0809B462:
- adds r1, r4, 0
- adds r1, 0x21
- movs r0, 0x1
- strb r0, [r1]
-_0809B46A:
- movs r0, 0
-_0809B46C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809B428
-
- thumb_func_start sub_809B474
-sub_809B474:
- push {r4-r6,lr}
- ldr r0, _0809B498
- ldr r1, [r0]
- ldr r2, [r1]
- adds r6, r0, 0
- cmp r2, 0x3
- bls _0809B56E
- cmp r2, 0x4
- bne _0809B56E
- movs r5, 0x84
- lsls r5, 3
- adds r0, r1, r5
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0809B49C
- cmp r0, 0x2
- beq _0809B508
- b _0809B56E
- .align 2, 0
-_0809B498: .4byte gUnknown_3001B64
-_0809B49C:
- bl sub_809B648
- lsls r0, 24
- cmp r0, 0
- bne _0809B4B0
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x3
- str r1, [r0]
- b _0809B4E8
-_0809B4B0:
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- beq _0809B4F8
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _0809B4F2
- bl sub_809B294
- ldr r0, [r4, 0x4]
- bl _call_via_r0
- lsls r0, 24
- cmp r0, 0
- bne _0809B4F2
- ldr r1, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r2, r1, r3
- movs r0, 0x1
- negs r0, r0
- str r0, [r2]
- adds r1, r5
- movs r0, 0x3
- str r0, [r1]
-_0809B4E8:
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- b _0809B56E
-_0809B4F2:
- ldrh r0, [r4]
- bl sub_809A6E4
-_0809B4F8:
- ldr r0, _0809B534
- ldr r1, [r0]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- movs r2, 0x2
- str r2, [r1]
- adds r6, r0, 0
-_0809B508:
- ldr r0, [r6]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r4, [r0]
- cmp r4, 0
- beq _0809B54E
- ldr r0, [r4, 0xC]
- bl _call_via_r0
- adds r2, r0, 0
- cmp r2, 0x1
- bls _0809B56E
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r1, r0, r3
- cmp r2, 0x2
- bne _0809B538
- movs r0, 0x1
- negs r0, r0
- b _0809B53A
- .align 2, 0
-_0809B534: .4byte gUnknown_3001B64
-_0809B538:
- movs r0, 0
-_0809B53A:
- str r0, [r1]
- ldr r0, [r4, 0x8]
- cmp r0, 0
- beq _0809B546
- bl _call_via_r0
-_0809B546:
- ldrh r0, [r4]
- bl sub_809A6F8
- b _0809B558
-_0809B54E:
- bl sub_809B648
- lsls r0, 24
- cmp r0, 0
- bne _0809B56E
-_0809B558:
- ldr r0, _0809B578
- ldr r0, [r0]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- movs r1, 0x3
- str r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
-_0809B56E:
- bl sub_809B57C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B578: .4byte gUnknown_3001B64
- thumb_func_end sub_809B474
-
- thumb_func_start sub_809B57C
-sub_809B57C:
- push {r4,r5,lr}
- sub sp, 0x8
- bl xxx_draw_string_80144C4
- ldr r5, _0809B5C8
- ldr r0, [r5]
- ldr r1, [r0]
- cmp r1, 0x3
- bhi _0809B5E4
- cmp r1, 0x1
- bcc _0809B5E4
- movs r4, 0x84
- lsls r4, 3
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _0809B5CC
- cmp r0, 0x3
- beq _0809B5CC
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0809B5E4
- ldr r1, [sp]
- movs r0, 0x1
- bl sub_809D9E0
- ldr r1, [r5]
- adds r2, r1, r4
- movs r0, 0x3
- str r0, [r2]
- movs r0, 0x86
- lsls r0, 3
- adds r1, r0
- ldr r0, [sp]
- str r0, [r1]
- b _0809B5E4
- .align 2, 0
-_0809B5C8: .4byte gUnknown_3001B64
-_0809B5CC:
- add r0, sp, 0x4
- bl sub_80144A4
- adds r4, r0, 0
- cmp r4, 0
- bne _0809B5E4
- movs r0, 0
- bl sub_809D9B8
- ldr r0, _0809B5FC
- ldr r0, [r0]
- str r4, [r0]
-_0809B5E4:
- ldr r0, _0809B5FC
- ldr r0, [r0]
- ldr r1, _0809B600
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bge _0809B604
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- b _0809B60C
- .align 2, 0
-_0809B5FC: .4byte gUnknown_3001B64
-_0809B600: .4byte 0x00000434
-_0809B604:
- movs r0, 0
- movs r1, 0x5
- bl sub_8005838
-_0809B60C:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_809B57C
-
- thumb_func_start sub_809B614
-sub_809B614:
- push {lr}
- bl sub_80060EC
- ldr r0, _0809B62C
- ldr r2, _0809B630
- ldrh r1, [r2]
- strh r1, [r0]
- ldr r0, _0809B634
- ands r0, r1
- strh r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_0809B62C: .4byte gUnknown_20399DE
-_0809B630: .4byte gUnknown_20399DC
-_0809B634: .4byte 0x0000fffd
- thumb_func_end sub_809B614
-
- thumb_func_start sub_809B638
-sub_809B638:
- push {lr}
- bl xxx_call_update_bg_vram
- pop {r0}
- bx r0
- thumb_func_end sub_809B638
-
- thumb_func_start nullsub_210
-nullsub_210:
- bx lr
- thumb_func_end nullsub_210
-
- thumb_func_start sub_809B648
-sub_809B648:
- push {r4-r6,lr}
- sub sp, 0x24
- ldr r0, _0809B66C
- ldr r1, [r0]
- ldr r2, _0809B670
- adds r1, r2
- ldr r1, [r1]
- subs r1, 0x2
- adds r6, r0, 0
- cmp r1, 0x2C
- bls _0809B662
- bl _0809C392
-_0809B662:
- lsls r0, r1, 2
- ldr r1, _0809B674
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809B66C: .4byte gUnknown_3001B64
-_0809B670: .4byte 0x00000414
-_0809B674: .4byte _0809B678
- .align 2, 0
-_0809B678:
- .4byte _0809B72C
- .4byte _0809B772
- .4byte _0809B7AC
- .4byte _0809B834
- .4byte _0809B89C
- .4byte _0809B8FC
- .4byte _0809B91C
- .4byte _0809B944
- .4byte _0809B9D2
- .4byte _0809BA2A
- .4byte _0809BAA8
- .4byte _0809BB66
- .4byte _0809BBDA
- .4byte _0809BBDA
- .4byte _0809BC26
- .4byte _0809BC68
- .4byte _0809C1B4
- .4byte _0809BC78
- .4byte _0809C1C2
- .4byte _0809C1C2
- .4byte _0809C1C8
- .4byte _0809BCBC
- .4byte _0809BCBC
- .4byte _0809BD1C
- .4byte _0809BD64
- .4byte _0809BDE8
- .4byte _0809BE30
- .4byte _0809BE40
- .4byte _0809BE50
- .4byte _0809BE60
- .4byte _0809BE9C
- .4byte _0809BEB8
- .4byte _0809BED4
- .4byte _0809BF70
- .4byte _0809BFFC
- .4byte _0809C072
- .4byte _0809C0B8
- .4byte _0809C0FC
- .4byte _0809C148
- .4byte _0809C158
- .4byte _0809C168
- .4byte _0809C204
- .4byte _0809C238
- .4byte _0809C280
- .4byte _0809C32A
-_0809B72C:
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r2, r3
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0809B780
- ldr r0, _0809B754
- ldrh r0, [r0, 0x2]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809B758
- movs r0, 0x86
- lsls r0, 3
- adds r1, r2, r0
- movs r0, 0x1
- str r0, [r1]
- bl _0809C392
- .align 2, 0
-_0809B754: .4byte gUnknown_20255F0
-_0809B758:
- bl sub_8094D14
- lsls r0, 24
- cmp r0, 0
- beq _0809B784
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x2
- str r1, [r0]
- bl _0809C392
-_0809B772:
- ldr r0, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B78A
-_0809B780:
- bl sub_809B294
-_0809B784:
- movs r0, 0x1
- bl _0809C394
-_0809B78A:
- ldr r0, _0809B7A8
- ldrh r1, [r0]
- ldrh r0, [r0, 0x2]
- movs r2, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0809B79C
- bl _0809C392
-_0809B79C:
- ands r1, r2
- cmp r1, 0
- bne _0809B784
- bl _0809C392
- .align 2, 0
-_0809B7A8: .4byte gUnknown_20255F0
-_0809B7AC:
- ldr r0, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B7F4
- bl sub_809B294
- ldr r1, [r6]
- ldr r2, _0809B7D8
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _0809B7E0
- ldr r3, _0809B7DC
- adds r0, r1, r3
- ldr r1, [r0]
- movs r0, 0
- bl sub_801602C
- b _0809B784
- .align 2, 0
-_0809B7D8: .4byte 0x00000424
-_0809B7DC: .4byte 0x0000042c
-_0809B7E0:
- ldr r2, _0809B7F0
- adds r0, r1, r2
- ldr r1, [r0]
- movs r0, 0x2
- bl sub_801602C
- b _0809B784
- .align 2, 0
-_0809B7F0: .4byte 0x0000042c
-_0809B7F4:
- bl sub_8016080
- cmp r0, 0x3
- bne _0809B80C
- bl sub_80160D8
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- bl _0809C1BC
-_0809B80C:
- cmp r0, 0x2
- bne _0809B784
- ldr r0, [r6]
- ldr r1, _0809B830
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0809B784
- bl sub_80160D8
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
-_0809B828:
- movs r1, 0
- str r1, [r0]
- bl _0809C392
- .align 2, 0
-_0809B830: .4byte 0x00000424
-_0809B834:
- ldr r0, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B85C
- bl sub_809B294
- ldr r0, [r6]
- ldr r1, _0809B858
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x1
- bl sub_801602C
- b _0809B784
- .align 2, 0
-_0809B858: .4byte 0x0000042c
-_0809B85C:
- bl sub_8016080
- cmp r0, 0x3
- bne _0809B874
- bl sub_80160D8
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- bl _0809C1BC
-_0809B874:
- cmp r0, 0x2
- beq _0809B87A
- b _0809B784
-_0809B87A:
- ldr r0, [r6]
- ldr r3, _0809B898
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0
- bne _0809B888
- b _0809B784
-_0809B888:
- bl sub_80160D8
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- b _0809B828
- .align 2, 0
-_0809B898: .4byte 0x00000424
-_0809B89C:
- ldr r0, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B8C4
- bl sub_809B294
- ldr r0, [r6]
- ldr r3, _0809B8C0
- adds r0, r3
- ldr r1, [r0]
- movs r0, 0x4
- bl sub_80151C0
- b _0809B784
- .align 2, 0
-_0809B8C0: .4byte 0x0000042c
-_0809B8C4:
- bl sub_80154F0
- cmp r0, 0x3
- bne _0809B8D4
- bl sub_80155F0
- bl _0809C1B4
-_0809B8D4:
- cmp r0, 0x2
- beq _0809B8DA
- b _0809B784
-_0809B8DA:
- ldr r0, [r6]
- ldr r2, _0809B8F8
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _0809B8E8
- b _0809B784
-_0809B8E8:
- bl sub_80155F0
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B828
- .align 2, 0
-_0809B8F8: .4byte 0x00000424
-_0809B8FC:
- ldr r0, [r6]
- ldr r1, _0809B914
- adds r0, r1
- ldr r0, [r0]
- bl sub_801D014
- ldr r0, [r6]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809B918
- b _0809B932
- .align 2, 0
-_0809B914: .4byte 0x0000042c
-_0809B918: .4byte gUnknown_81161A8
-_0809B91C:
- ldr r0, [r6]
- ldr r3, _0809B93C
- adds r0, r3
- ldr r0, [r0]
- bl sub_801D014
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809B940
-_0809B932:
- str r1, [r0]
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
- .align 2, 0
-_0809B93C: .4byte 0x0000042c
-_0809B940: .4byte gUnknown_81161B8
-_0809B944:
- bl sub_809B294
- ldr r4, _0809B984
- ldr r0, [r4]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B998
- bl sub_809B294
- ldr r0, [r4]
- ldr r3, _0809B988
- adds r0, r3
- ldr r0, [r0]
- ldr r1, _0809B98C
- bl sub_8015080
- lsls r0, 24
- cmp r0, 0
- bne _0809B990
- ldr r0, [r4]
-_0809B972:
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
-_0809B978:
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl _0809C392
- .align 2, 0
-_0809B984: .4byte gUnknown_3001B64
-_0809B988: .4byte 0x0000042c
-_0809B98C: .4byte gUnknown_811610C
-_0809B990:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809B998:
- bl sub_801516C
- cmp r0, 0x2
- beq _0809B9BC
- cmp r0, 0x3
- beq _0809B9A6
- b _0809B784
-_0809B9A6:
- bl sub_8015198
- ldr r1, [r4]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- str r0, [r1]
- bl sub_80151A4
- bl _0809C392
-_0809B9BC:
- ldr r0, [r4]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_80151A4
- bl _0809C392
-_0809B9D2:
- bl sub_809B294
- ldr r4, _0809BA08
- ldr r0, [r4]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BA1C
- bl sub_809B294
- ldr r0, [r4]
- ldr r2, _0809BA0C
- adds r0, r2
- ldr r0, [r0]
- ldr r1, _0809BA10
- bl sub_8015080
- lsls r0, 24
- cmp r0, 0
- bne _0809BA14
- ldr r0, [r4]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
- .align 2, 0
-_0809BA08: .4byte gUnknown_3001B64
-_0809BA0C: .4byte 0x0000042c
-_0809BA10: .4byte gUnknown_811612C
-_0809BA14:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809BA1C:
- bl sub_801516C
- cmp r0, 0x2
- beq _0809B9BC
- cmp r0, 0x3
- beq _0809B9A6
- b _0809B784
-_0809BA2A:
- ldr r0, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BA68
- bl sub_809B294
- ldr r0, [r6]
- ldr r2, _0809BA5C
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0x3
- bl sub_80211AC
- lsls r0, 24
- cmp r0, 0
- bne _0809BA60
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
- .align 2, 0
-_0809BA5C: .4byte 0x00000424
-_0809BA60:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809BA68:
- movs r0, 0x1
- bl sub_8021274
- cmp r0, 0x2
- beq _0809BA92
- cmp r0, 0x3
- beq _0809BA78
- b _0809B784
-_0809BA78:
- bl sub_802132C
- ldr r1, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- bl sub_80213A0
- bl _0809C392
-_0809BA92:
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_80213A0
- bl _0809C392
-_0809BAA8:
- ldr r0, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BB10
- movs r0, 0
- movs r1, 0x12
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2654
- lsls r0, 16
- asrs r4, r0, 16
- bl sub_809B294
- movs r0, 0x3
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x1
- bl sub_802F73C
- lsls r0, 24
- cmp r0, 0
- bne _0809BAEA
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- b _0809B978
-_0809BAEA:
- movs r5, 0x1
- negs r5, r5
- cmp r4, r5
- beq _0809BB08
- adds r0, r4, 0
- bl sub_802F848
- lsls r0, 24
- cmp r0, 0
- bne _0809BB08
- movs r0, 0
- movs r1, 0x12
- adds r2, r5, 0
- bl sub_80018D8
-_0809BB08:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809BB10:
- movs r0, 0x1
- bl sub_802F8A0
- cmp r0, 0x2
- beq _0809BB50
- cmp r0, 0x3
- beq _0809BB20
- b _0809B784
-_0809BB20:
- bl sub_802F90C
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- bl sub_80A26B8
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- movs r0, 0
- movs r1, 0x12
- bl sub_80018D8
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- str r4, [r0]
- bl sub_802F974
- bl _0809C392
-_0809BB50:
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_802F974
- bl _0809C392
-_0809BB66:
- ldr r0, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BB9A
- bl sub_809B294
- movs r0, 0x3
- movs r1, 0
- movs r2, 0xA
- bl sub_80302E8
- lsls r0, 24
- cmp r0, 0
- bne _0809BB92
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
-_0809BB92:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809BB9A:
- movs r0, 0x1
- bl sub_80303AC
- cmp r0, 0x2
- beq _0809BBC4
- cmp r0, 0x3
- beq _0809BBAA
- b _0809B784
-_0809BBAA:
- bl sub_8030418
- ldr r1, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- lsls r0, 16
- asrs r0, 16
- str r0, [r1]
- bl sub_8030480
- bl _0809C392
-_0809BBC4:
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_8030480
- bl _0809C392
-_0809BBDA:
- ldr r0, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BC14
- bl sub_809B294
- ldr r0, [r6]
- ldr r2, _0809BC10
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0xE
- bne _0809BC02
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x1
- bl sub_80018D8
-_0809BC02:
- movs r0, 0x1
- bl sub_8011C28
- movs r0, 0
- bl sub_8012574
- b _0809B784
- .align 2, 0
-_0809BC10: .4byte 0x00000414
-_0809BC14:
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- beq _0809BC20
- b _0809B784
-_0809BC20:
- bl sub_8012750
- b _0809C392
-_0809BC26:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_809B294
- adds r0, r4, 0
- bl sub_8016C94
- lsls r0, 24
- cmp r0, 0
- beq _0809BC5C
- ldr r0, _0809BC54
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BC58
- b _0809C266
- .align 2, 0
-_0809BC54: .4byte gUnknown_3001B64
-_0809BC58: .4byte gUnknown_81161C8
-_0809BC5C:
- ldr r0, _0809BC64
- ldr r0, [r0]
- b _0809B972
- .align 2, 0
-_0809BC64: .4byte gUnknown_3001B64
-_0809BC68:
- ldr r0, [r6]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BC74
- b _0809C266
- .align 2, 0
-_0809BC74: .4byte gUnknown_81161D8
-_0809BC78:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_809B294
- adds r0, r4, 0
- bl sub_80162E4
- lsls r0, 24
- cmp r0, 0
- beq _0809BCB0
- ldr r0, _0809BCA8
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BCAC
- b _0809C266
- .align 2, 0
-_0809BCA8: .4byte gUnknown_3001B64
-_0809BCAC: .4byte gUnknown_81161E8
-_0809BCB0:
- ldr r0, _0809BCB8
- ldr r0, [r0]
- b _0809B972
- .align 2, 0
-_0809BCB8: .4byte gUnknown_3001B64
-_0809BCBC:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_809B294
- ldr r0, _0809BCE0
- ldr r0, [r0]
- ldr r2, _0809BCE4
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x17
- bne _0809BCE8
- negs r0, r4
- orrs r0, r4
- lsrs r0, 31
- b _0809BCF0
- .align 2, 0
-_0809BCE0: .4byte gUnknown_3001B64
-_0809BCE4: .4byte 0x00000414
-_0809BCE8:
- movs r0, 0x2
- cmp r4, 0
- beq _0809BCF0
- movs r0, 0x3
-_0809BCF0:
- bl sub_8018B00
- lsls r0, 24
- cmp r0, 0
- beq _0809BD10
- ldr r0, _0809BD08
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BD0C
- b _0809C266
- .align 2, 0
-_0809BD08: .4byte gUnknown_3001B64
-_0809BD0C: .4byte gUnknown_81161F8
-_0809BD10:
- ldr r0, _0809BD18
- ldr r0, [r0]
- b _0809B972
- .align 2, 0
-_0809BD18: .4byte gUnknown_3001B64
-_0809BD1C:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_809B294
- adds r0, r4, 0
- bl sub_801FB50
- lsls r0, 24
- cmp r0, 0
- beq _0809BD54
- ldr r0, _0809BD4C
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BD50
- b _0809C266
- .align 2, 0
-_0809BD4C: .4byte gUnknown_3001B64
-_0809BD50: .4byte gUnknown_8116208
-_0809BD54:
- ldr r0, _0809BD60
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
- .align 2, 0
-_0809BD60: .4byte gUnknown_3001B64
-_0809BD64:
- ldr r0, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BD84
- bl sub_809B294
- movs r0, 0
- movs r1, 0x39
- bl sub_80015C0
- bl sub_802465C
- b _0809B784
-_0809BD84:
- bl sub_80246F0
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x39
- bl sub_8001658
- cmp r0, 0
- bne _0809BDB2
- bl sub_80247B4
- lsls r0, 24
- cmp r0, 0
- beq _0809BDB2
- movs r0, 0
- movs r1, 0x39
- movs r2, 0x1
- bl sub_80018D8
- movs r0, 0x46
- movs r1, 0
- bl GroundMap_ExecuteEvent
-_0809BDB2:
- cmp r4, 0x3
- bne _0809BDCC
- bl sub_80247C0
- ldr r0, _0809BDC8
- ldr r0, [r0]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- b _0809C1BC
- .align 2, 0
-_0809BDC8: .4byte gUnknown_3001B64
-_0809BDCC:
- cmp r4, 0x2
- beq _0809BDD2
- b _0809B784
-_0809BDD2:
- bl sub_80247C0
- ldr r0, _0809BDE4
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B828
- .align 2, 0
-_0809BDE4: .4byte gUnknown_3001B64
-_0809BDE8:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_809B294
- adds r0, r4, 0
- bl sub_8021B9C
- lsls r0, 24
- cmp r0, 0
- beq _0809BE20
- ldr r0, _0809BE18
- ldr r0, [r0]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809BE1C
- b _0809C266
- .align 2, 0
-_0809BE18: .4byte gUnknown_3001B64
-_0809BE1C: .4byte gUnknown_8116218
-_0809BE20:
- ldr r0, _0809BE2C
- ldr r0, [r0]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- b _0809B978
- .align 2, 0
-_0809BE2C: .4byte gUnknown_3001B64
-_0809BE30:
- ldr r0, [r6]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BE3C
- b _0809C266
- .align 2, 0
-_0809BE3C: .4byte gUnknown_8116228
-_0809BE40:
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809BE4C
- b _0809C266
- .align 2, 0
-_0809BE4C: .4byte gUnknown_8116238
-_0809BE50:
- ldr r0, [r6]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BE5C
- b _0809C266
- .align 2, 0
-_0809BE5C: .4byte gUnknown_8116248
-_0809BE60:
- bl sub_809B294
- movs r0, 0x98
- lsls r0, 1
- bl sub_80314B4
- lsls r0, 24
- cmp r0, 0
- bne _0809BE84
- ldr r0, _0809BE80
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
- .align 2, 0
-_0809BE80: .4byte gUnknown_3001B64
-_0809BE84:
- ldr r0, _0809BE94
- ldr r0, [r0]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809BE98
- b _0809C266
- .align 2, 0
-_0809BE94: .4byte gUnknown_3001B64
-_0809BE98: .4byte gUnknown_8116258
-_0809BE9C:
- movs r0, 0x4
- bl sub_80119D4
- ldr r0, _0809BEB0
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BEB4
- b _0809C266
- .align 2, 0
-_0809BEB0: .4byte gUnknown_3001B64
-_0809BEB4: .4byte gUnknown_8116268
-_0809BEB8:
- movs r0, 0x4
- bl sub_80119D4
- ldr r0, _0809BECC
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BED0
- b _0809C266
- .align 2, 0
-_0809BECC: .4byte gUnknown_3001B64
-_0809BED0: .4byte gUnknown_8116278
-_0809BED4:
- mov r0, sp
- bl sub_8099328
- lsls r0, 24
- cmp r0, 0
- beq _0809BF4E
- add r1, sp, 0x4
- add r2, sp, 0x8
- movs r0, 0x2
- bl sub_8001B88
- ldr r0, [sp, 0x8]
- cmp r0, 0x7
- bgt _0809BF4E
- add r4, sp, 0xC
-_0809BEF2:
- lsls r1, r0, 24
- lsrs r1, 24
- mov r0, sp
- ldrb r2, [r0]
- adds r0, r4, 0
- bl sub_8096AF8
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809BF44
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- movs r0, 0x2
- bl sub_8001BB4
- ldr r0, _0809BF40
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r2, r0, r1
- ldrh r1, [r4, 0x2]
- lsls r1, 16
- asrs r1, 16
- negs r0, r1
- orrs r0, r1
- lsrs r1, r0, 31
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0809BF30
- adds r1, 0x2
-_0809BF30:
- str r1, [r2]
- cmp r1, 0
- beq _0809BF38
- b _0809C392
-_0809BF38:
- movs r0, 0x3
- str r0, [r2]
- b _0809C392
- .align 2, 0
-_0809BF40: .4byte gUnknown_3001B64
-_0809BF44:
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- str r0, [sp, 0x8]
- cmp r0, 0x7
- ble _0809BEF2
-_0809BF4E:
- ldr r0, _0809BF6C
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- bl sub_8096BD0
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl sub_8001BB4
- b _0809C392
- .align 2, 0
-_0809BF6C: .4byte gUnknown_3001B64
-_0809BF70:
- mov r5, sp
- adds r5, 0x1
- adds r0, r5, 0
- bl sub_8099328
- lsls r0, 24
- cmp r0, 0
- bne _0809BF82
- b _0809C392
-_0809BF82:
- add r1, sp, 0x14
- add r2, sp, 0x18
- movs r0, 0x2
- bl sub_8001B88
- add r4, sp, 0x1C
- ldr r1, [sp, 0x18]
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r5]
- adds r0, r4, 0
- bl sub_8096AF8
- ldrb r0, [r4]
- cmp r0, 0
- bne _0809BFA4
- b _0809C392
-_0809BFA4:
- ldr r0, [sp, 0x18]
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r5]
- bl sub_802DB28
- lsls r0, 24
- cmp r0, 0
- bne _0809BFB8
- b _0809C392
-_0809BFB8:
- movs r0, 0
- movs r1, 0x19
- bl sub_8001658
- cmp r0, 0x63
- bgt _0809BFCE
- adds r2, r0, 0x1
- movs r0, 0
- movs r1, 0x19
- bl sub_80018D8
-_0809BFCE:
- movs r0, 0
- movs r1, 0x39
- movs r2, 0x1
- bl sub_80018D8
- ldr r1, [sp, 0x14]
- ldr r2, [sp, 0x18]
- adds r2, 0x1
- movs r0, 0x2
- bl sub_8001BB4
- ldr r0, _0809BFF4
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BFF8
- b _0809C266
- .align 2, 0
-_0809BFF4: .4byte gUnknown_3001B64
-_0809BFF8: .4byte gUnknown_8116288
-_0809BFFC:
- ldr r0, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809C036
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- asrs r4, 31
- movs r0, 0x4
- ands r4, r0
- bl sub_809B294
- adds r0, r4, 0
- bl sub_802FD14
- lsls r0, 24
- cmp r0, 0
- beq _0809C032
- bl _0809B784
-_0809C032:
- ldr r0, [r6]
- b _0809B972
-_0809C036:
- bl sub_802FE58
- cmp r0, 0x2
- beq _0809C05E
- cmp r0, 0x3
- beq _0809C046
- bl _0809B784
-_0809C046:
- bl sub_802FED0
- ldr r1, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- lsls r0, 16
- asrs r0, 16
- str r0, [r1]
- bl sub_802FEE0
- b _0809C392
-_0809C05E:
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_802FEE0
- b _0809C392
-_0809C072:
- movs r4, 0x1
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809C082
- movs r4, 0x5
-_0809C082:
- bl sub_809B294
- adds r0, r4, 0
- bl sub_802FD14
- lsls r0, 24
- cmp r0, 0
- beq _0809C0A8
- ldr r0, _0809C0A0
- ldr r0, [r0]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809C0A4
- b _0809C266
- .align 2, 0
-_0809C0A0: .4byte gUnknown_3001B64
-_0809C0A4: .4byte gUnknown_8116298
-_0809C0A8:
- ldr r0, _0809C0B4
- ldr r0, [r0]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- b _0809B978
- .align 2, 0
-_0809C0B4: .4byte gUnknown_3001B64
-_0809C0B8:
- movs r4, 0x2
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809C0C8
- movs r4, 0x6
-_0809C0C8:
- bl sub_809B294
- adds r0, r4, 0
- bl sub_802FD14
- lsls r0, 24
- cmp r0, 0
- beq _0809C0F0
- ldr r0, _0809C0E8
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809C0EC
- b _0809C266
- .align 2, 0
-_0809C0E8: .4byte gUnknown_3001B64
-_0809C0EC: .4byte gUnknown_81162A8
-_0809C0F0:
- ldr r0, _0809C0F8
- ldr r0, [r0]
- b _0809B972
- .align 2, 0
-_0809C0F8: .4byte gUnknown_3001B64
-_0809C0FC:
- movs r4, 0x3
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809C10C
- movs r4, 0x7
-_0809C10C:
- bl sub_809B294
- adds r0, r4, 0
- bl sub_802FD14
- lsls r0, 24
- cmp r0, 0
- beq _0809C134
- ldr r0, _0809C12C
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809C130
- b _0809C266
- .align 2, 0
-_0809C12C: .4byte gUnknown_3001B64
-_0809C130: .4byte gUnknown_81162B8
-_0809C134:
- ldr r0, _0809C144
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- bl _0809B978
- .align 2, 0
-_0809C144: .4byte gUnknown_3001B64
-_0809C148:
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809C154
- b _0809C266
- .align 2, 0
-_0809C154: .4byte gUnknown_81162C8
-_0809C158:
- ldr r0, [r6]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809C164
- b _0809C266
- .align 2, 0
-_0809C164: .4byte gUnknown_81162D8
-_0809C168:
- bl sub_809B294
- bl sub_803B050
- lsls r0, 24
- cmp r0, 0
- beq _0809C1A0
- ldr r4, _0809C194
- ldr r0, [r4]
- ldr r3, _0809C198
- adds r0, r3
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_803B100
- ldr r0, [r4]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809C19C
- b _0809C266
- .align 2, 0
-_0809C194: .4byte gUnknown_3001B64
-_0809C198: .4byte 0x000005a4
-_0809C19C: .4byte gUnknown_81162E8
-_0809C1A0:
- ldr r0, _0809C1B0
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- bl _0809B978
- .align 2, 0
-_0809C1B0: .4byte gUnknown_3001B64
-_0809C1B4:
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
-_0809C1BC:
- movs r1, 0x1
- str r1, [r0]
- b _0809C392
-_0809C1C2:
- bl sub_809B294
- b _0809C392
-_0809C1C8:
- movs r0, 0x2
- bl sub_80252F0
- lsls r0, 24
- cmp r0, 0
- beq _0809C1EC
- ldr r0, _0809C1E4
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809C1E8
- b _0809C266
- .align 2, 0
-_0809C1E4: .4byte gUnknown_3001B64
-_0809C1E8: .4byte gUnknown_81162F8
-_0809C1EC:
- ldr r0, _0809C200
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x2
- negs r1, r1
- str r1, [r0]
- b _0809C392
- .align 2, 0
-_0809C200: .4byte gUnknown_3001B64
-_0809C204:
- ldr r1, [r6]
- ldr r2, _0809C230
- adds r0, r1, r2
- ldr r0, [r0]
- movs r3, 0x85
- lsls r3, 3
- adds r1, r3
- ldr r1, [r1]
- bl sub_809CCDC
- ldr r1, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r2, r1, r3
- str r0, [r2]
- movs r0, 0x83
- lsls r0, 3
- adds r1, r0
- ldr r0, _0809C234
- str r0, [r1]
- bl _0809B784
- .align 2, 0
-_0809C230: .4byte 0x00000424
-_0809C234: .4byte gUnknown_8116308
-_0809C238:
- ldr r0, [r6]
- movs r2, 0x85
- lsls r2, 3
- adds r1, r0, r2
- ldr r5, [r1]
- ldr r3, _0809C26C
- adds r0, r3
- ldrb r4, [r0]
- bl sub_809B294
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_801B60C
- lsls r0, 24
- cmp r0, 0
- beq _0809C274
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809C270
-_0809C266:
- str r1, [r0]
- bl _0809B784
- .align 2, 0
-_0809C26C: .4byte 0x00000424
-_0809C270: .4byte gUnknown_8116318
-_0809C274:
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- bl _0809B978
-_0809C280:
- ldr r0, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809C2B8
- bl sub_809B294
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- lsls r0, 24
- cmp r0, 0
- beq _0809C2B2
- bl _0809B784
-_0809C2B2:
- ldr r0, [r6]
- bl _0809B972
-_0809C2B8:
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x2
- beq _0809C320
- cmp r0, 0x3
- beq _0809C2CA
- bl _0809B784
-_0809C2CA:
- bl sub_801A8AC
- adds r5, r0, 0
- ldr r0, _0809C304
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, r1
- ldrb r4, [r0, 0x2]
- adds r0, r4, 0
- bl sub_8091570
- lsls r0, 24
- cmp r0, 0
- beq _0809C30C
- ldr r0, _0809C308
- adds r1, r4, 0
- movs r2, 0
- bl sub_8090DC4
- adds r0, r5, 0
- bl sub_80911F8
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- movs r1, 0x1
- b _0809C318
- .align 2, 0
-_0809C304: .4byte gUnknown_203B460
-_0809C308: .4byte gUnknown_202DE58
-_0809C30C:
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
-_0809C314:
- movs r1, 0x1
- negs r1, r1
-_0809C318:
- str r1, [r0]
- bl sub_801A928
- b _0809C392
-_0809C320:
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- b _0809C314
-_0809C32A:
- adds r4, r6, 0
- ldr r0, [r4]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809C36C
- bl sub_809B294
- ldr r1, [r4]
- ldr r3, _0809C368
- adds r0, r1, r3
- ldr r0, [r0]
- movs r2, 0x85
- lsls r2, 3
- adds r1, r2
- ldr r1, [r1]
- bl sub_8035444
- lsls r0, 24
- cmp r0, 0
- beq _0809C35C
- bl _0809B784
-_0809C35C:
- ldr r0, [r4]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- bl _0809B978
- .align 2, 0
-_0809C368: .4byte 0x00000424
-_0809C36C:
- bl sub_8035574
- cmp r0, 0x3
- bls _0809C378
- bl _0809B784
-_0809C378:
- cmp r0, 0x2
- bcs _0809C380
- bl _0809B784
-_0809C380:
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_803565C
-_0809C392:
- movs r0, 0
-_0809C394:
- add sp, 0x24
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809B648
-
- thumb_func_start sub_809C39C
-sub_809C39C:
- push {lr}
- bl sub_801D178
- ldr r1, _0809C3D4
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- str r0, [r1]
- cmp r0, 0x3
- bne _0809C3CC
- bl sub_801D1D4
- lsls r0, 24
- lsrs r0, 24
- bl sub_8002694
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- bl sub_8098D1C
-_0809C3CC:
- bl sub_801D1E0
- pop {r0}
- bx r0
- .align 2, 0
-_0809C3D4: .4byte gUnknown_3001B64
- thumb_func_end sub_809C39C
-
- thumb_func_start sub_809C3D8
-sub_809C3D8:
- push {lr}
- bl sub_801D178
- ldr r1, _0809C410
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- str r0, [r1]
- cmp r0, 0x3
- bne _0809C408
- bl sub_801D1D4
- lsls r0, 24
- lsrs r0, 24
- bl sub_8002694
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- bl sub_8098D1C
-_0809C408:
- bl sub_801D1E0
- pop {r0}
- bx r0
- .align 2, 0
-_0809C410: .4byte gUnknown_3001B64
- thumb_func_end sub_809C3D8
-
- thumb_func_start sub_809C414
-sub_809C414:
- push {lr}
- bl sub_802540C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0809C448
- ldr r0, _0809C444
- ldr r0, [r0]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- str r1, [r0]
- adds r0, r1, 0
- bl sub_8002694
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- bl sub_8098D1C
- b _0809C458
- .align 2, 0
-_0809C444: .4byte gUnknown_3001B64
-_0809C448:
- ldr r0, _0809C460
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
-_0809C458:
- bl sub_8025418
- pop {r0}
- bx r0
- .align 2, 0
-_0809C460: .4byte gUnknown_3001B64
- thumb_func_end sub_809C414
-
- thumb_func_start sub_809C464
-sub_809C464:
- push {lr}
- bl sub_803C850
- bl sub_8001064
- bl sub_809965C
- pop {r0}
- bx r0
- thumb_func_end sub_809C464
-
- thumb_func_start sub_809C478
-sub_809C478:
- push {lr}
- sub sp, 0x8
- bl sub_80356A0
- cmp r0, 0x3
- bne _0809C492
- ldr r0, _0809C4AC
- bl sub_8011988
- bl InitFlash
- bl ClearFlashData
-_0809C492:
- bl sub_8035758
- add r2, sp, 0x4
- movs r0, 0x3
- mov r1, sp
- bl sub_8001B88
- movs r0, 0
- bl sub_80993C0
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809C4AC: .4byte 0x00000313
- thumb_func_end sub_809C478
-
- thumb_func_start sub_809C4B0
-sub_809C4B0:
- push {r4,r5,lr}
- movs r4, 0x1
- negs r4, r4
- ldr r5, _0809C4FC
- ldr r0, [r5]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r0, r2
- ldr r0, [r1]
- cmp r0, 0
- bne _0809C4DE
- bl sub_803B168
- lsls r0, 16
- ldr r1, [r5]
- ldr r3, _0809C500
- adds r2, r1, r3
- asrs r4, r0, 16
- lsrs r0, 16
- strh r0, [r2]
- movs r0, 0x86
- lsls r0, 3
- adds r1, r0
-_0809C4DE:
- str r4, [r1]
- bl sub_803B1BC
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _0809C4F4
- adds r0, r4, 0
- movs r1, 0
- bl GroundMap_ExecuteEvent
-_0809C4F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C4FC: .4byte gUnknown_3001B64
-_0809C500: .4byte 0x000005a4
- thumb_func_end sub_809C4B0
-
- thumb_func_start sub_809C504
-sub_809C504:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80282DC
- adds r4, r0, 0
- cmp r4, 0x1
- bne _0809C530
- mov r0, sp
- ldrb r0, [r0]
- bl sub_809927C
- ldr r0, _0809C52C
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- str r4, [r0]
- b _0809C540
- .align 2, 0
-_0809C52C: .4byte gUnknown_3001B64
-_0809C530:
- ldr r0, _0809C54C
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
-_0809C540:
- bl sub_80282FC
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C54C: .4byte gUnknown_3001B64
- thumb_func_end sub_809C504
-
- thumb_func_start sub_809C550
-sub_809C550:
- push {r4,r5,lr}
- bl sub_802E90C
- adds r4, r0, 0
- movs r5, 0
- bl sub_802E918
- cmp r4, 0x2
- beq _0809C586
- cmp r4, 0x2
- bhi _0809C56C
- cmp r4, 0x1
- beq _0809C572
- b _0809C5AC
-_0809C56C:
- cmp r4, 0x3
- beq _0809C59A
- b _0809C5AC
-_0809C572:
- movs r0, 0x4
- movs r1, 0x1D
- movs r2, 0x3
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _0809C5AC
- movs r5, 0x1
- b _0809C5AC
-_0809C586:
- movs r0, 0x4
- movs r1, 0x1F
- movs r2, 0x2
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _0809C5AC
- movs r5, 0x2
- b _0809C5AC
-_0809C59A:
- movs r0, 0xB
- movs r1, 0x33
- movs r2, 0x8
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _0809C5AC
- movs r5, 0x3
-_0809C5AC:
- ldr r0, _0809C5C0
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- str r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C5C0: .4byte gUnknown_3001B64
- thumb_func_end sub_809C550
-
- thumb_func_start sub_809C5C4
-sub_809C5C4:
- push {r4,lr}
- ldr r4, _0809C610
- movs r0, 0x24
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- movs r2, 0
- str r2, [r0]
- str r2, [r0, 0x4]
- movs r3, 0
- strh r2, [r0, 0x8]
- strh r2, [r0, 0xA]
- strb r3, [r0, 0xD]
- ldr r0, [r4]
- strb r3, [r0, 0xE]
- ldr r1, [r4]
- str r2, [r1, 0x10]
- ldr r0, _0809C614
- strh r0, [r1, 0x14]
- movs r0, 0x23
- strh r0, [r1, 0x16]
- strb r3, [r1, 0x18]
- ldr r1, [r4]
- movs r0, 0x3F
- strb r0, [r1, 0x19]
- ldr r0, [r4]
- str r2, [r0, 0x1C]
- adds r0, 0x20
- strb r3, [r0]
- bl nullsub_107
- bl sub_809C63C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C610: .4byte gUnknown_3001B68
-_0809C614: .4byte 0x0000ffff
- thumb_func_end sub_809C5C4
-
- thumb_func_start sub_809C618
-sub_809C618:
- push {r4,lr}
- bl sub_809C63C
- bl nullsub_107
- bl nullsub_108
- ldr r4, _0809C638
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C638: .4byte gUnknown_3001B68
- thumb_func_end sub_809C618
-
- thumb_func_start sub_809C63C
-sub_809C63C:
- push {lr}
- bl nullsub_108
- ldr r0, _0809C654
- ldr r0, [r0]
- movs r1, 0
- str r1, [r0, 0x1C]
- adds r0, 0x20
- strb r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_0809C654: .4byte gUnknown_3001B68
- thumb_func_end sub_809C63C
-
- thumb_func_start sub_809C658
-sub_809C658:
- push {lr}
- ldr r0, _0809C670
- ldr r0, [r0]
- ldrh r0, [r0, 0xA]
- cmp r0, 0x5
- bhi _0809C6C8
- lsls r0, 2
- ldr r1, _0809C674
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C670: .4byte gUnknown_3001B68
-_0809C674: .4byte _0809C678
- .align 2, 0
-_0809C678:
- .4byte _0809C6C0
- .4byte _0809C6C0
- .4byte _0809C6AC
- .4byte _0809C690
- .4byte _0809C69E
- .4byte _0809C6B6
-_0809C690:
- bl nullsub_111
- bl nullsub_112
- bl nullsub_113
- b _0809C6C8
-_0809C69E:
- bl nullsub_114
- bl nullsub_115
- bl nullsub_116
- b _0809C6C8
-_0809C6AC:
- bl nullsub_109
- bl nullsub_110
- b _0809C6C8
-_0809C6B6:
- bl nullsub_107
- bl nullsub_108
- b _0809C6C8
-_0809C6C0:
- bl nullsub_107
- bl nullsub_108
-_0809C6C8:
- pop {r0}
- bx r0
- thumb_func_end sub_809C658
-
- thumb_func_start sub_809C6CC
-sub_809C6CC:
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _0809C6E8
- ldr r1, [r0]
- ldrh r0, [r1, 0x8]
- cmp r0, r2
- beq _0809C6E2
- movs r0, 0
- strh r2, [r1, 0x8]
- strb r0, [r1, 0xE]
-_0809C6E2:
- pop {r0}
- bx r0
- .align 2, 0
-_0809C6E8: .4byte gUnknown_3001B68
- thumb_func_end sub_809C6CC
-
- thumb_func_start sub_809C6EC
-sub_809C6EC:
- push {lr}
- bl sub_8098F88
- lsls r0, 24
- cmp r0, 0
- bne _0809C718
- ldr r0, _0809C70C
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- cmp r0, 0
- bne _0809C710
- movs r0, 0x4
- bl sub_809C6CC
- b _0809C71E
- .align 2, 0
-_0809C70C: .4byte gUnknown_203B46C
-_0809C710:
- movs r0, 0x3
- bl sub_809C6CC
- b _0809C71E
-_0809C718:
- movs r0, 0x5
- bl sub_809C6CC
-_0809C71E:
- pop {r0}
- bx r0
- thumb_func_end sub_809C6EC
-
- thumb_func_start sub_809C724
-sub_809C724:
- ldr r0, _0809C72C
- ldr r0, [r0]
- ldrh r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_0809C72C: .4byte gUnknown_3001B68
- thumb_func_end sub_809C724
-
- thumb_func_start sub_809C730
-sub_809C730:
- push {lr}
- bl sub_809C740
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_809C730
-
- thumb_func_start sub_809C740
-sub_809C740:
- push {lr}
- ldr r0, _0809C750
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- beq _0809C754
- movs r0, 0
- b _0809C756
- .align 2, 0
-_0809C750: .4byte gUnknown_3001B68
-_0809C754:
- movs r0, 0x1
-_0809C756:
- pop {r1}
- bx r1
- thumb_func_end sub_809C740
-
- thumb_func_start nullsub_104
-nullsub_104:
- bx lr
- thumb_func_end nullsub_104
-
- thumb_func_start sub_809C760
-sub_809C760:
- ldr r0, _0809C76C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xE]
- bx lr
- .align 2, 0
-_0809C76C: .4byte gUnknown_3001B68
- thumb_func_end sub_809C760
-
- thumb_func_start sub_809C770
-sub_809C770:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- lsls r1, 16
- asrs r6, r1, 16
- ldr r4, _0809C790
- ldr r1, [r4]
- ldrb r0, [r1, 0xE]
- cmp r0, 0
- beq _0809C794
- movs r0, 0
- strb r0, [r1, 0xE]
- b _0809CA10
- .align 2, 0
-_0809C790: .4byte gUnknown_3001B68
-_0809C794:
- ldrh r0, [r1, 0x8]
- cmp r0, 0
- bne _0809C79E
- bl sub_809C6EC
-_0809C79E:
- ldr r0, [r4]
- ldrb r5, [r0, 0x18]
- ldrb r7, [r0, 0x19]
- cmp r6, 0x26
- bls _0809C7AA
- b _0809C8C8
-_0809C7AA:
- lsls r0, r6, 2
- ldr r1, _0809C7B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C7B4: .4byte _0809C7B8
- .align 2, 0
-_0809C7B8:
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C854
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C86E
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809C8C4
-_0809C854:
- mov r0, r8
- bl sub_8002658
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0809C864
- b _0809CA10
-_0809C864:
- movs r4, 0x1
- b _0809C988
-_0809C868:
- movs r4, 0x1
- movs r5, 0
- b _0809C988
-_0809C86E:
- mov r0, r8
- subs r0, 0xA4
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- bls _0809C87C
- b _0809CA10
-_0809C87C:
- lsls r0, 2
- ldr r1, _0809C888
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C888: .4byte _0809C88C
- .align 2, 0
-_0809C88C:
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809CA10
- .4byte _0809CA10
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809CA10
- .4byte _0809CA10
- .4byte _0809CA10
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809C8C4
-_0809C8C4:
- movs r4, 0
- b _0809C988
-_0809C8C8:
- adds r0, r6, 0
- subs r0, 0xC
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x16
- bhi _0809C968
- lsls r0, 2
- ldr r1, _0809C8E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C8E0: .4byte _0809C8E4
- .align 2, 0
-_0809C8E4:
- .4byte _0809C968
- .4byte _0809C940
- .4byte _0809C968
- .4byte _0809C968
- .4byte _0809C968
- .4byte _0809C968
- .4byte _0809C944
- .4byte _0809C944
- .4byte _0809C948
- .4byte _0809C948
- .4byte _0809C94C
- .4byte _0809C968
- .4byte _0809C950
- .4byte _0809C950
- .4byte _0809C954
- .4byte _0809C954
- .4byte _0809C958
- .4byte _0809C958
- .4byte _0809C95C
- .4byte _0809C95C
- .4byte _0809C960
- .4byte _0809C960
- .4byte _0809C964
-_0809C940:
- movs r1, 0
- b _0809C974
-_0809C944:
- movs r1, 0x7
- b _0809C974
-_0809C948:
- movs r1, 0x9
- b _0809C974
-_0809C94C:
- movs r1, 0xA
- b _0809C974
-_0809C950:
- movs r1, 0xB
- b _0809C974
-_0809C954:
- movs r1, 0xD
- b _0809C974
-_0809C958:
- movs r1, 0xF
- b _0809C974
-_0809C95C:
- movs r1, 0x11
- b _0809C974
-_0809C960:
- movs r1, 0x13
- b _0809C974
-_0809C964:
- movs r1, 0x20
- b _0809C974
-_0809C968:
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r1, r0, 16
-_0809C974:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809CA10
- adds r0, r1, 0
- bl sub_80A2740
- lsls r0, 24
- lsrs r7, r0, 24
- movs r4, 0x2
-_0809C988:
- ldr r0, _0809C99C
- ldr r2, [r0]
- ldr r1, [r2, 0x10]
- adds r3, r0, 0
- cmp r1, r4
- beq _0809C9A0
- movs r0, 0x2
- str r0, [r2]
- b _0809C9DE
- .align 2, 0
-_0809C99C: .4byte gUnknown_3001B68
-_0809C9A0:
- cmp r4, 0x1
- bne _0809C9CC
- ldrb r0, [r2, 0x18]
- cmp r5, r0
- bne _0809C9B2
- movs r1, 0x14
- ldrsh r0, [r2, r1]
- cmp r0, r8
- beq _0809C9BC
-_0809C9B2:
- strb r4, [r2, 0xC]
- ldr r0, [r3]
- adds r0, 0x20
- strb r4, [r0]
- b _0809C9E8
-_0809C9BC:
- cmp r5, 0
- bne _0809C9E8
- movs r1, 0x16
- ldrsh r0, [r2, r1]
- cmp r0, r6
- beq _0809C9E8
- strb r4, [r2, 0xC]
- b _0809C9E8
-_0809C9CC:
- cmp r4, 0x2
- bne _0809C9E8
- ldrb r0, [r2, 0x19]
- cmp r7, r0
- bne _0809C9DE
- movs r1, 0x16
- ldrsh r0, [r2, r1]
- cmp r0, r6
- beq _0809C9E8
-_0809C9DE:
- movs r1, 0x1
- strb r1, [r2, 0xC]
- ldr r0, [r3]
- adds r0, 0x20
- strb r1, [r0]
-_0809C9E8:
- ldr r1, [r3]
- ldrb r0, [r1, 0xC]
- cmp r0, 0
- beq _0809CA10
- str r4, [r1, 0x10]
- movs r2, 0
- mov r0, r8
- strh r0, [r1, 0x14]
- strh r6, [r1, 0x16]
- strb r5, [r1, 0x18]
- ldr r0, [r3]
- strb r7, [r0, 0x19]
- ldr r1, [r3]
- ldrh r0, [r1, 0x8]
- cmp r0, 0x4
- beq _0809CA10
- strb r2, [r1, 0xC]
- ldr r0, [r3]
- adds r0, 0x20
- strb r2, [r0]
-_0809CA10:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809C770
-
- thumb_func_start nullsub_105
-nullsub_105:
- bx lr
- thumb_func_end nullsub_105
-
- thumb_func_start sub_809CA20
-sub_809CA20:
- push {lr}
- ldr r1, _0809CA74
- ldr r2, [r1]
- ldr r0, [r2]
- cmp r0, 0
- beq _0809CA38
- movs r0, 0
- str r0, [r2]
- movs r0, 0x1F
- str r0, [r2, 0x4]
- movs r0, 0x1
- strb r0, [r2, 0xC]
-_0809CA38:
- ldr r1, [r1]
- ldrb r0, [r1, 0xC]
- cmp r0, 0
- beq _0809CAE8
- ldrh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bne _0809CA5E
- ldr r2, [r1, 0x10]
- cmp r2, 0
- bne _0809CA5E
- movs r0, 0x2
- strh r0, [r1, 0xA]
- str r2, [r1, 0x1C]
- adds r1, 0x20
- movs r0, 0
- strb r0, [r1]
-_0809CA5E:
- ldr r0, _0809CA74
- ldr r0, [r0]
- ldrh r0, [r0, 0xA]
- cmp r0, 0x5
- bhi _0809CADA
- lsls r0, 2
- ldr r1, _0809CA78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809CA74: .4byte gUnknown_3001B68
-_0809CA78: .4byte _0809CA7C
- .align 2, 0
-_0809CA7C:
- .4byte _0809CAD2
- .4byte _0809CAD2
- .4byte _0809CABE
- .4byte _0809CA94
- .4byte _0809CAB0
- .4byte _0809CAC8
-_0809CA94:
- bl nullsub_111
- bl nullsub_113
- bl nullsub_112
- ldr r0, _0809CAAC
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xD]
- b _0809CADA
- .align 2, 0
-_0809CAAC: .4byte gUnknown_3001B68
-_0809CAB0:
- bl nullsub_114
- bl nullsub_115
- bl nullsub_116
- b _0809CADA
-_0809CABE:
- bl nullsub_109
- bl nullsub_110
- b _0809CADA
-_0809CAC8:
- bl nullsub_107
- bl nullsub_108
- b _0809CADA
-_0809CAD2:
- bl nullsub_107
- bl nullsub_108
-_0809CADA:
- ldr r0, _0809CAE4
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0xC]
- b _0809CB1E
- .align 2, 0
-_0809CAE4: .4byte gUnknown_3001B68
-_0809CAE8:
- ldrh r0, [r1, 0xA]
- cmp r0, 0x5
- bhi _0809CB1E
- lsls r0, 2
- ldr r1, _0809CAF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809CAF8: .4byte _0809CAFC
- .align 2, 0
-_0809CAFC:
- .4byte _0809CB1E
- .4byte _0809CB1E
- .4byte _0809CB1E
- .4byte _0809CB14
- .4byte _0809CB1A
- .4byte _0809CB1E
-_0809CB14:
- bl nullsub_113
- b _0809CB1E
-_0809CB1A:
- bl nullsub_116
-_0809CB1E:
- pop {r0}
- bx r0
- thumb_func_end sub_809CA20
-
- thumb_func_start nullsub_106
-nullsub_106:
- bx lr
- thumb_func_end nullsub_106
-
- thumb_func_start nullsub_107
-nullsub_107:
- bx lr
- thumb_func_end nullsub_107
-
- thumb_func_start nullsub_108
-nullsub_108:
- bx lr
- thumb_func_end nullsub_108
-
- thumb_func_start nullsub_109
-nullsub_109:
- bx lr
- thumb_func_end nullsub_109
-
- thumb_func_start nullsub_110
-nullsub_110:
- bx lr
- thumb_func_end nullsub_110
-
- thumb_func_start nullsub_111
-nullsub_111:
- bx lr
- thumb_func_end nullsub_111
-
- thumb_func_start nullsub_112
-nullsub_112:
- bx lr
- thumb_func_end nullsub_112
-
- thumb_func_start nullsub_113
-nullsub_113:
- bx lr
- thumb_func_end nullsub_113
-
- thumb_func_start nullsub_114
-nullsub_114:
- bx lr
- thumb_func_end nullsub_114
-
- thumb_func_start nullsub_115
-nullsub_115:
- bx lr
- thumb_func_end nullsub_115
-
- thumb_func_start nullsub_116
-nullsub_116:
- bx lr
- thumb_func_end nullsub_116
-
- thumb_func_start sub_809CB50
-sub_809CB50:
- push {r4,lr}
- ldr r4, _0809CB70
- movs r0, 0xC
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x4]
- movs r1, 0
- str r1, [r0, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809CB70: .4byte gUnknown_20399E0
- thumb_func_end sub_809CB50
-
- thumb_func_start sub_809CB74
-sub_809CB74:
- push {r4,lr}
- ldr r4, _0809CB88
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809CB88: .4byte gUnknown_20399E0
- thumb_func_end sub_809CB74
-
- thumb_func_start sub_809CB8C
-sub_809CB8C:
- push {lr}
- movs r0, 0
- movs r1, 0x3B
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x3D
- bl sub_80015C0
- pop {r0}
- bx r0
- thumb_func_end sub_809CB8C
-
- thumb_func_start sub_809CBA4
-sub_809CBA4:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_8091130
- cmp r0, 0
- bge _0809CBB6
- movs r0, 0
- b _0809CBB8
-_0809CBB6:
- movs r0, 0x1
-_0809CBB8:
- pop {r1}
- bx r1
- thumb_func_end sub_809CBA4
-
- thumb_func_start sub_809CBBC
-sub_809CBBC:
- push {r4-r7,lr}
- sub sp, 0x54
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- adds r7, r3, 0
- ldrb r1, [r4]
- cmp r1, 0x69
- bne _0809CC20
- ldr r1, _0809CC0C
- movs r0, 0x2
- ldrsh r2, [r4, r0]
- ldr r0, _0809CC10
- ldr r0, [r0]
- movs r3, 0xD2
- lsls r3, 4
- adds r0, r3
- ldr r3, [r0]
- mov r0, sp
- bl sub_800D158
- ldr r0, _0809CC14
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r2, r0, r1
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- ldr r0, [r2]
- adds r1, r0, r1
- ldr r0, _0809CC18
- cmp r1, r0
- ble _0809CC1C
- cmp r6, 0
- beq _0809CC4E
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- adds r2, r6, 0
- b _0809CC4A
- .align 2, 0
-_0809CC0C: .4byte gUnknown_81163E4
-_0809CC10: .4byte gItemParametersFile + 4
-_0809CC14: .4byte gUnknown_203B460
-_0809CC18: .4byte 0x0001869f
-_0809CC1C:
- str r1, [r2]
- b _0809CC5E
-_0809CC20:
- ldrb r0, [r4, 0x2]
- lsls r1, 16
- lsls r0, 8
- orrs r0, r1
- str r0, [sp, 0x50]
- add r4, sp, 0x50
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0
- bl sub_8090E14
- bl sub_8090A34
- cmp r0, 0x13
- ble _0809CC52
- cmp r5, 0
- beq _0809CC4E
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- adds r2, r5, 0
-_0809CC4A:
- bl sub_809AE90
-_0809CC4E:
- movs r0, 0
- b _0809CC82
-_0809CC52:
- ldrb r0, [r4, 0x2]
- movs r1, 0
- bl sub_809124C
- bl sub_80910B4
-_0809CC5E:
- cmp r7, 0
- beq _0809CC80
- ldr r0, _0809CC8C
- mov r1, sp
- bl strcpy
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- adds r2, r7, 0
- bl sub_809AE90
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0xCB
- bl sub_8011974
-_0809CC80:
- movs r0, 0x1
-_0809CC82:
- add sp, 0x54
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809CC8C: .4byte gUnknown_202DE58
- thumb_func_end sub_809CBBC
-
- thumb_func_start sub_809CC90
-sub_809CC90:
- push {lr}
- lsls r0, 2
- ldr r1, _0809CCBC
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0x69
- bne _0809CCC8
- ldr r0, _0809CCC0
- ldr r0, [r0]
- movs r2, 0x98
- lsls r2, 2
- adds r0, r2
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- ldr r0, [r0]
- adds r0, r1
- ldr r1, _0809CCC4
- cmp r0, r1
- ble _0809CCD4
- movs r0, 0x2
- b _0809CCD6
- .align 2, 0
-_0809CCBC: .4byte gUnknown_81163BC
-_0809CCC0: .4byte gUnknown_203B460
-_0809CCC4: .4byte 0x0001869f
-_0809CCC8:
- bl sub_8090A34
- cmp r0, 0x13
- ble _0809CCD4
- movs r0, 0x2
- b _0809CCD6
-_0809CCD4:
- movs r0, 0x1
-_0809CCD6:
- pop {r1}
- bx r1
- thumb_func_end sub_809CC90
-
- thumb_func_start sub_809CCDC
-sub_809CCDC:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r1, r6, 2
- ldr r0, _0809CD20
- adds r5, r1, r0
- ldr r0, _0809CD24
- ldr r1, [r0]
- movs r0, 0x1
- negs r0, r0
- str r0, [r1, 0x4]
- movs r0, 0
- str r0, [r1, 0x8]
- movs r0, 0x2
- cmp r4, 0x63
- bgt _0809CD04
- movs r0, 0
- cmp r4, 0x1
- ble _0809CD04
- movs r0, 0x1
-_0809CD04:
- ldr r1, _0809CD28
- ldr r2, _0809CD2C
- ldr r3, _0809CD30
- lsls r0, 2
- adds r0, r3
- ldr r3, [r0]
- adds r0, r5, 0
- bl sub_809CBBC
- lsls r0, 24
- cmp r0, 0
- bne _0809CD34
- movs r0, 0x2
- b _0809CD3E
- .align 2, 0
-_0809CD20: .4byte gUnknown_81163BC
-_0809CD24: .4byte gUnknown_20399E0
-_0809CD28: .4byte gUnknown_81163F0
-_0809CD2C: .4byte gUnknown_811642C
-_0809CD30: .4byte gUnknown_203B4A0
-_0809CD34:
- ldr r0, _0809CD44
- ldr r0, [r0]
- str r6, [r0, 0x4]
- str r4, [r0, 0x8]
- movs r0, 0x1
-_0809CD3E:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809CD44: .4byte gUnknown_20399E0
- thumb_func_end sub_809CCDC
-
- thumb_func_start sub_809CD48
-sub_809CD48:
- push {lr}
- bl sub_809A750
- lsls r0, 24
- cmp r0, 0
- bne _0809CD58
- movs r0, 0x3
- b _0809CD5A
-_0809CD58:
- movs r0, 0
-_0809CD5A:
- pop {r1}
- bx r1
- thumb_func_end sub_809CD48
-
- thumb_func_start nullsub_117
-nullsub_117:
- bx lr
- thumb_func_end nullsub_117
-
- thumb_func_start nullsub_118
-nullsub_118:
- bx lr
- thumb_func_end nullsub_118
-
- thumb_func_start sub_809CD68
-sub_809CD68:
- movs r2, 0
- str r2, [r0]
- str r2, [r0, 0x4]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x10]
- str r2, [r0, 0x14]
- str r2, [r0, 0x8]
- strb r2, [r0, 0x18]
- bx lr
- thumb_func_end sub_809CD68
-
- thumb_func_start sub_809CD7C
-sub_809CD7C:
- movs r2, 0
- str r2, [r0]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x10]
- str r2, [r0, 0x14]
- str r2, [r0, 0x8]
- bx lr
- thumb_func_end sub_809CD7C
-
- thumb_func_start sub_809CD8C
-sub_809CD8C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- cmp r4, 0x5
- bne _0809CD9E
- bl sub_809CD68
- str r4, [r5]
- b _0809CDB0
-_0809CD9E:
- ldr r0, [r5, 0x4]
- cmp r0, r4
- beq _0809CDB0
- str r4, [r5, 0x4]
- movs r0, 0x1
- negs r0, r0
- str r0, [r5, 0x10]
- movs r0, 0
- str r0, [r5, 0x14]
-_0809CDB0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_809CD8C
-
- thumb_func_start sub_809CDB8
-sub_809CDB8:
- push {lr}
- adds r1, r0, 0
- ldr r0, [r1, 0x4]
- cmp r0, 0
- bne _0809CDC4
- ldr r0, [r1]
-_0809CDC4:
- pop {r1}
- bx r1
- thumb_func_end sub_809CDB8
-
- thumb_func_start sub_809CDC8
-sub_809CDC8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- ldr r1, [sp, 0x24]
- movs r0, 0x1
- negs r0, r0
- str r0, [r3]
- ldr r0, [r4]
- cmp r0, 0x1
- beq _0809CDEA
- cmp r0, 0x2
- beq _0809CDFE
- b _0809CE12
-_0809CDEA:
- movs r0, 0x80
- lsls r0, 6
- ands r1, r0
- cmp r1, 0
- beq _0809CE12
- adds r0, r4, 0
- bl sub_809CD68
- movs r0, 0x2
- b _0809CE10
-_0809CDFE:
- movs r0, 0x80
- lsls r0, 6
- ands r1, r0
- cmp r1, 0
- bne _0809CE12
- adds r0, r4, 0
- bl sub_809CD68
- movs r0, 0x1
-_0809CE10:
- str r0, [r4]
-_0809CE12:
- ldr r0, [r4, 0x4]
- mov r8, r0
- cmp r0, 0
- bne _0809CE1E
- ldr r1, [r4]
- mov r8, r1
-_0809CE1E:
- mov r0, r8
- subs r0, 0x1
- cmp r0, 0x6
- bls _0809CE28
- b _0809CFCC
-_0809CE28:
- lsls r0, 2
- ldr r1, _0809CE34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809CE34: .4byte _0809CE38
- .align 2, 0
-_0809CE38:
- .4byte _0809CE54
- .4byte _0809CF74
- .4byte _0809CFCC
- .4byte _0809CFCC
- .4byte _0809CECC
- .4byte _0809CF5C
- .4byte _0809CF5C
-_0809CE54:
- ldr r0, _0809CE70
- ldrh r2, [r0]
- ldrh r1, [r0, 0x2]
- movs r0, 0xF0
- ands r0, r2
- cmp r0, 0
- beq _0809CE74
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0809CEA4
- movs r0, 0
- b _0809CEA8
- .align 2, 0
-_0809CE70: .4byte gUnknown_20255F0
-_0809CE74:
- movs r3, 0x2
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- beq _0809CE82
- movs r0, 0x14
- b _0809CEA8
-_0809CE82:
- ldr r0, [r4, 0x10]
- cmp r0, 0x1
- ble _0809CEA4
- subs r0, 0x1
- str r0, [r4, 0x10]
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- bne _0809CEAA
- movs r0, 0x13
- str r0, [r6]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strb r0, [r7]
- movs r0, 0x5
- b _0809CFDA
-_0809CEA4:
- movs r0, 0x1
- negs r0, r0
-_0809CEA8:
- str r0, [r4, 0x10]
-_0809CEAA:
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0809CEB6
- movs r0, 0xA
- b _0809CEC2
-_0809CEB6:
- ldr r0, [r4, 0x10]
- cmp r0, 0
- bne _0809CEC0
- movs r0, 0x8
- b _0809CEC2
-_0809CEC0:
- movs r0, 0x7
-_0809CEC2:
- str r0, [r6]
- adds r0, r2, 0
- bl sub_809CFE8
- b _0809CF4E
-_0809CECC:
- mov r0, sp
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- beq _0809CFCC
- ldr r0, _0809CEEC
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- cmp r0, 0
- bne _0809CEF0
- movs r0, 0x4
- bl sub_809C6CC
- b _0809CEF6
- .align 2, 0
-_0809CEEC: .4byte gUnknown_203B46C
-_0809CEF0:
- movs r0, 0x3
- bl sub_809C6CC
-_0809CEF6:
- bl nullsub_104
- adds r0, r4, 0
- bl sub_809CD7C
- movs r5, 0x1
- str r5, [r4]
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0809CF1E
- cmp r0, 0x2
- bgt _0809CF14
- cmp r0, 0x1
- beq _0809CF2A
- b _0809CF54
-_0809CF14:
- cmp r0, 0x3
- beq _0809CF2A
- cmp r0, 0x4
- beq _0809CF3C
- b _0809CF54
-_0809CF1E:
- movs r0, 0x4
- str r0, [r4]
- movs r0, 0x1E
- bl sub_8098D80
- b _0809CF46
-_0809CF2A:
- movs r0, 0x4
- str r0, [r4]
- str r5, [r6]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strb r0, [r7]
- movs r0, 0x4
- b _0809CFDA
-_0809CF3C:
- str r0, [r4]
- movs r0, 0x45
- movs r1, 0
- bl GroundMap_ExecuteEvent
-_0809CF46:
- str r5, [r6]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_0809CF4E:
- strb r0, [r7]
- ldr r0, [r4]
- b _0809CFDA
-_0809CF54:
- movs r0, 0x2
- bl sub_809D9B8
- b _0809CFCC
-_0809CF5C:
- add r0, sp, 0x4
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- beq _0809CFCC
- adds r0, r4, 0
- bl sub_809CD7C
- movs r0, 0x1
- str r0, [r4]
- b _0809CFDA
-_0809CF74:
- ldr r0, [r4, 0x8]
- cmp r0, 0
- ble _0809CF86
- subs r0, 0x1
- str r0, [r4, 0x8]
- movs r0, 0x9
- str r0, [r6]
- ldrb r0, [r4, 0xC]
- b _0809CFD6
-_0809CF86:
- ldr r0, _0809CFA0
- ldrh r1, [r0]
- movs r0, 0x9
- str r0, [r6]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _0809CFA4
- movs r0, 0x4
- b _0809CFB6
- .align 2, 0
-_0809CFA0: .4byte gUnknown_20255F0
-_0809CFA4:
- movs r0, 0x80
- ands r1, r0
- cmp r1, 0
- beq _0809CFB0
- strb r2, [r7]
- b _0809CFB8
-_0809CFB0:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_0809CFB6:
- strb r0, [r7]
-_0809CFB8:
- ldrb r0, [r7]
- strb r0, [r4, 0xC]
- lsls r0, 24
- movs r1, 0xFF
- lsls r1, 24
- cmp r0, r1
- beq _0809CFD8
- movs r0, 0x20
- str r0, [r4, 0x8]
- b _0809CFD8
-_0809CFCC:
- movs r0, 0
- str r0, [r6]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_0809CFD6:
- strb r0, [r7]
-_0809CFD8:
- mov r0, r8
-_0809CFDA:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809CDC8
-
- thumb_func_start sub_809CFE8
-sub_809CFE8:
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0809D014
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809D004
- movs r0, 0x3
- b _0809D052
-_0809D004:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0809D010
- movs r0, 0x5
- b _0809D052
-_0809D010:
- movs r0, 0x4
- b _0809D052
-_0809D014:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809D038
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809D028
- movs r0, 0x1
- b _0809D052
-_0809D028:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0809D034
- movs r0, 0x7
- b _0809D052
-_0809D034:
- movs r0, 0
- b _0809D052
-_0809D038:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809D044
- movs r0, 0x2
- b _0809D052
-_0809D044:
- movs r0, 0x20
- ands r2, r0
- cmp r2, 0
- bne _0809D050
- subs r0, 0x21
- b _0809D052
-_0809D050:
- movs r0, 0x6
-_0809D052:
- pop {r1}
- bx r1
- thumb_func_end sub_809CFE8
-
- thumb_func_start sub_809D058
-sub_809D058:
- push {lr}
- ldr r1, [r0, 0x4]
- cmp r1, 0x3F
- bgt _0809D076
- ldr r0, [r0]
- cmp r0, 0x67
- bgt _0809D06A
- movs r0, 0x5
- b _0809D0A6
-_0809D06A:
- cmp r0, 0x88
- ble _0809D072
- movs r0, 0x3
- b _0809D0A6
-_0809D072:
- movs r0, 0x4
- b _0809D0A6
-_0809D076:
- cmp r1, 0x60
- ble _0809D090
- ldr r0, [r0]
- cmp r0, 0x67
- bgt _0809D084
- movs r0, 0x7
- b _0809D0A6
-_0809D084:
- cmp r0, 0x88
- ble _0809D08C
- movs r0, 0x1
- b _0809D0A6
-_0809D08C:
- movs r0, 0
- b _0809D0A6
-_0809D090:
- ldr r0, [r0]
- cmp r0, 0x67
- bgt _0809D09A
- movs r0, 0x6
- b _0809D0A6
-_0809D09A:
- cmp r0, 0x88
- bgt _0809D0A4
- movs r0, 0x1
- negs r0, r0
- b _0809D0A6
-_0809D0A4:
- movs r0, 0x2
-_0809D0A6:
- pop {r1}
- bx r1
- thumb_func_end sub_809D058
-
- thumb_func_start sub_809D0AC
-sub_809D0AC:
- push {lr}
- bl sub_809D0BC
- pop {r0}
- bx r0
- thumb_func_end sub_809D0AC
-
- thumb_func_start nullsub_119
-nullsub_119:
- bx lr
- thumb_func_end nullsub_119
-
- thumb_func_start sub_809D0BC
-sub_809D0BC:
- push {r4,r5,lr}
- ldr r5, _0809D0F8
- ldr r1, _0809D0FC
- ldr r2, [r1]
- ldr r3, [r1, 0x4]
- str r2, [r5, 0x3C]
- str r3, [r5, 0x40]
- adds r0, r5, 0
- adds r0, 0x44
- movs r4, 0
- strb r4, [r0]
- movs r0, 0
- bl sub_809D158
- str r4, [r5, 0x8]
- str r4, [r5, 0xC]
- str r4, [r5, 0x10]
- movs r0, 0x1
- negs r0, r0
- str r0, [r5, 0x4]
- str r4, [r5, 0x24]
- str r4, [r5, 0x28]
- str r4, [r5, 0x2C]
- str r4, [r5, 0x30]
- str r4, [r5, 0x34]
- str r4, [r5, 0x38]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D0F8: .4byte gUnknown_20399E8
-_0809D0FC: .4byte gUnknown_8116478
- thumb_func_end sub_809D0BC
-
- thumb_func_start sub_809D100
-sub_809D100:
- push {lr}
- adds r2, r0, 0
- ldr r1, _0809D120
- ldr r0, [r1, 0x24]
- cmp r0, r2
- beq _0809D11A
- str r2, [r1, 0x24]
- movs r0, 0
- str r0, [r1, 0x28]
- str r0, [r1, 0x2C]
- str r0, [r1, 0x30]
- str r0, [r1, 0x34]
- str r0, [r1, 0x38]
-_0809D11A:
- pop {r0}
- bx r0
- .align 2, 0
-_0809D120: .4byte gUnknown_20399E8
- thumb_func_end sub_809D100
-
- thumb_func_start sub_809D124
-sub_809D124:
- push {r4,lr}
- adds r4, r0, 0
- ldr r3, _0809D144
- ldr r0, [r3, 0x24]
- cmp r0, r4
- beq _0809D13A
- str r4, [r3, 0x24]
- movs r0, 0
- str r0, [r3, 0x30]
- str r0, [r3, 0x34]
- str r0, [r3, 0x38]
-_0809D13A:
- str r1, [r3, 0x28]
- str r2, [r3, 0x2C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D144: .4byte gUnknown_20399E8
- thumb_func_end sub_809D124
-
-
.align 2,0 @ Don't pad with nop
diff --git a/asm/code_8098BDC.s b/asm/code_8098BDC.s
new file mode 100644
index 0000000..5c9a6fb
--- /dev/null
+++ b/asm/code_8098BDC.s
@@ -0,0 +1,8809 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8098D1C
+sub_8098D1C:
+ push {r4-r7,lr}
+ adds r7, r1, 0
+ adds r4, r2, 0
+ lsls r0, 16
+ asrs r5, r0, 16
+ ldr r6, _08098D34
+ ldr r0, [r6]
+ cmp r0, 0
+ beq _08098D38
+ movs r0, 0
+ b _08098D60
+ .align 2, 0
+_08098D34: .4byte gUnknown_20398A8
+_08098D38:
+ ldr r1, _08098D68
+ movs r0, 0
+ adds r2, r5, 0
+ adds r3, r4, 0
+ bl Log
+ movs r1, 0x1
+ str r1, [r6]
+ ldr r0, _08098D6C
+ str r1, [r0]
+ ldr r0, _08098D70
+ str r4, [r0]
+ ldr r1, _08098D74
+ movs r0, 0x2
+ str r0, [r1]
+ ldr r0, _08098D78
+ strh r5, [r0]
+ ldr r0, _08098D7C
+ str r7, [r0]
+ movs r0, 0x1
+_08098D60:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08098D68: .4byte gUnknown_8115F5C
+_08098D6C: .4byte gUnknown_20398AC
+_08098D70: .4byte gUnknown_20398B0
+_08098D74: .4byte gUnknown_20398B4
+_08098D78: .4byte gUnknown_20398BE
+_08098D7C: .4byte gUnknown_20398C0
+ thumb_func_end sub_8098D1C
+
+ thumb_func_start sub_8098D80
+sub_8098D80:
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r1, _08098DB8
+ ldr r0, [r1]
+ cmp r0, 0
+ bne _08098DC4
+ movs r0, 0x3
+ str r0, [r1]
+ ldr r1, _08098DBC
+ movs r0, 0x1
+ str r0, [r1]
+ ldr r0, _08098DC0
+ str r4, [r0]
+ bl sub_809C730
+ movs r0, 0xD
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ bne _08098DB2
+ lsls r0, r4, 16
+ lsrs r0, 16
+ bl sub_80118C4
+_08098DB2:
+ movs r0, 0x1
+ b _08098DC6
+ .align 2, 0
+_08098DB8: .4byte gUnknown_20398A8
+_08098DBC: .4byte gUnknown_20398AC
+_08098DC0: .4byte gUnknown_20398B0
+_08098DC4:
+ movs r0, 0
+_08098DC6:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8098D80
+
+ thumb_func_start sub_8098DCC
+sub_8098DCC:
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r1, _08098E04
+ ldr r0, [r1]
+ cmp r0, 0
+ bne _08098E10
+ movs r0, 0x4
+ str r0, [r1]
+ ldr r1, _08098E08
+ movs r0, 0x1
+ str r0, [r1]
+ ldr r0, _08098E0C
+ str r4, [r0]
+ bl sub_809C730
+ movs r0, 0xD
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ bne _08098DFE
+ lsls r0, r4, 16
+ lsrs r0, 16
+ bl sub_80118C4
+_08098DFE:
+ movs r0, 0x1
+ b _08098E12
+ .align 2, 0
+_08098E04: .4byte gUnknown_20398A8
+_08098E08: .4byte gUnknown_20398AC
+_08098E0C: .4byte gUnknown_20398B0
+_08098E10:
+ movs r0, 0
+_08098E12:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8098DCC
+
+ thumb_func_start sub_8098E18
+sub_8098E18:
+ push {r4-r6,lr}
+ adds r6, r1, 0
+ lsls r0, 16
+ asrs r2, r0, 16
+ adds r5, r2, 0
+ ldr r4, _08098E40
+ ldr r0, [r4]
+ cmp r0, 0
+ bne _08098EA8
+ ldr r1, _08098E44
+ movs r0, 0
+ adds r3, r6, 0
+ bl Log
+ ldr r0, _08098E48
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08098E4C
+ movs r0, 0x7
+ b _08098E8A
+ .align 2, 0
+_08098E40: .4byte gUnknown_20398A8
+_08098E44: .4byte gUnknown_8115F80
+_08098E48: .4byte gUnknown_203B49D
+_08098E4C:
+ ldr r0, _08098E74
+ ldrb r0, [r0]
+ ldr r1, _08098E78
+ cmp r0, 0
+ bne _08098E58
+ strh r5, [r1]
+_08098E58:
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ bl sub_80A2750
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ beq _08098E88
+ cmp r0, 0x2
+ bgt _08098E7C
+ cmp r0, 0x1
+ beq _08098E84
+ b _08098E8C
+ .align 2, 0
+_08098E74: .4byte gUnknown_203B49C
+_08098E78: .4byte gUnknown_20398C4
+_08098E7C:
+ cmp r0, 0x4
+ bne _08098E8C
+ movs r0, 0x8
+ b _08098E8A
+_08098E84:
+ movs r0, 0x5
+ b _08098E8A
+_08098E88:
+ movs r0, 0x6
+_08098E8A:
+ str r0, [r4]
+_08098E8C:
+ ldr r0, _08098EA0
+ movs r1, 0x1
+ str r1, [r0]
+ ldr r0, _08098EA4
+ str r6, [r0]
+ bl sub_809C730
+ movs r0, 0x1
+ b _08098EAA
+ .align 2, 0
+_08098EA0: .4byte gUnknown_20398AC
+_08098EA4: .4byte gUnknown_20398B0
+_08098EA8:
+ movs r0, 0
+_08098EAA:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8098E18
+
+ thumb_func_start sub_8098EB0
+sub_8098EB0:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r5, _08098EE4
+ ldr r0, [r5]
+ cmp r0, 0
+ bne _08098EF8
+ ldr r0, _08098EE8
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08098EF8
+ ldr r1, _08098EEC
+ movs r0, 0
+ adds r2, r4, 0
+ bl Log
+ movs r0, 0x7
+ str r0, [r5]
+ ldr r1, _08098EF0
+ movs r0, 0x1
+ str r0, [r1]
+ ldr r0, _08098EF4
+ str r4, [r0]
+ bl sub_809C730
+ movs r0, 0x1
+ b _08098EFA
+ .align 2, 0
+_08098EE4: .4byte gUnknown_20398A8
+_08098EE8: .4byte gUnknown_203B49D
+_08098EEC: .4byte gUnknown_8115FA4
+_08098EF0: .4byte gUnknown_20398AC
+_08098EF4: .4byte gUnknown_20398B0
+_08098EF8:
+ movs r0, 0
+_08098EFA:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8098EB0
+
+ thumb_func_start sub_8098F00
+sub_8098F00:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r5, _08098F10
+ ldr r0, [r5]
+ cmp r0, 0
+ beq _08098F14
+ movs r0, 0
+ b _08098F32
+ .align 2, 0
+_08098F10: .4byte gUnknown_20398A8
+_08098F14:
+ ldr r1, _08098F38
+ movs r0, 0
+ adds r2, r4, 0
+ bl Log
+ movs r0, 0x9
+ str r0, [r5]
+ ldr r1, _08098F3C
+ movs r0, 0x1
+ str r0, [r1]
+ ldr r0, _08098F40
+ str r4, [r0]
+ bl sub_809C730
+ movs r0, 0x1
+_08098F32:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08098F38: .4byte gUnknown_8115FC8
+_08098F3C: .4byte gUnknown_20398AC
+_08098F40: .4byte gUnknown_20398B0
+ thumb_func_end sub_8098F00
+
+ thumb_func_start sub_8098F44
+sub_8098F44:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r5, _08098F54
+ ldr r0, [r5]
+ cmp r0, 0
+ beq _08098F58
+ movs r0, 0
+ b _08098F76
+ .align 2, 0
+_08098F54: .4byte gUnknown_20398A8
+_08098F58:
+ ldr r1, _08098F7C
+ movs r0, 0
+ adds r2, r4, 0
+ bl Log
+ movs r0, 0xA
+ str r0, [r5]
+ ldr r1, _08098F80
+ movs r0, 0x1
+ str r0, [r1]
+ ldr r0, _08098F84
+ str r4, [r0]
+ bl sub_809C730
+ movs r0, 0x1
+_08098F76:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08098F7C: .4byte gUnknown_8115FE8
+_08098F80: .4byte gUnknown_20398AC
+_08098F84: .4byte gUnknown_20398B0
+ thumb_func_end sub_8098F44
+
+ thumb_func_start sub_8098F88
+sub_8098F88:
+ ldr r0, _08098F90
+ ldrb r0, [r0]
+ bx lr
+ .align 2, 0
+_08098F90: .4byte gUnknown_20398B9
+ thumb_func_end sub_8098F88
+
+ thumb_func_start sub_8098F94
+sub_8098F94:
+ ldr r0, _08098F9C
+ ldrb r0, [r0]
+ bx lr
+ .align 2, 0
+_08098F9C: .4byte gUnknown_20398BA
+ thumb_func_end sub_8098F94
+
+ thumb_func_start sub_8098FA0
+sub_8098FA0:
+ push {lr}
+ movs r0, 0
+ movs r1, 0x11
+ bl sub_8001658
+ lsls r0, 16
+ asrs r0, 16
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8098FA0
+
+ thumb_func_start sub_8098FB4
+sub_8098FB4:
+ push {lr}
+ movs r0, 0
+ movs r1, 0x11
+ bl sub_8001658
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_80A2B18
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8098FB4
+
+ thumb_func_start sub_8098FCC
+sub_8098FCC:
+ push {r4,lr}
+ movs r0, 0
+ movs r1, 0x13
+ bl sub_8001658
+ lsls r0, 16
+ asrs r1, r0, 16
+ adds r2, r1, 0
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _0809909E
+ cmp r1, 0x51
+ bne _08098FF6
+ movs r0, 0
+ movs r1, 0x14
+ bl sub_8001658
+ lsls r0, 16
+ asrs r0, 16
+ b _08098FF8
+_08098FF6:
+ adds r0, r2, 0
+_08098FF8:
+ bl sub_80A2608
+ adds r4, r0, 0
+ ldr r0, _0809900C
+ ldr r0, [r0]
+ cmp r0, 0x9
+ bne _08099010
+ movs r1, 0x2
+ ldrsh r0, [r4, r1]
+ b _080990B2
+ .align 2, 0
+_0809900C: .4byte gUnknown_20398B4
+_08099010:
+ ldrh r0, [r4, 0x4]
+ subs r0, 0xB2
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x17
+ bhi _080990AE
+ lsls r0, 2
+ ldr r1, _08099028
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08099028: .4byte _0809902C
+ .align 2, 0
+_0809902C:
+ .4byte _0809908C
+ .4byte _080990AE
+ .4byte _080990AE
+ .4byte _080990AE
+ .4byte _080990AE
+ .4byte _080990AE
+ .4byte _080990AE
+ .4byte _080990AE
+ .4byte _080990AE
+ .4byte _080990AE
+ .4byte _080990AE
+ .4byte _080990AE
+ .4byte _080990AE
+ .4byte _080990AE
+ .4byte _080990AE
+ .4byte _080990A2
+ .4byte _080990AE
+ .4byte _080990A2
+ .4byte _080990AE
+ .4byte _080990AE
+ .4byte _080990A2
+ .4byte _080990AE
+ .4byte _080990AE
+ .4byte _080990A2
+_0809908C:
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x3
+ movs r1, 0x2
+ bl sub_8001D44
+ lsls r0, 24
+ cmp r0, 0
+ beq _080990AE
+_0809909E:
+ movs r0, 0xC
+ b _080990B2
+_080990A2:
+ movs r0, 0x5
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809909E
+_080990AE:
+ movs r1, 0x4
+ ldrsh r0, [r4, r1]
+_080990B2:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8098FCC
+
+ thumb_func_start sub_80990B8
+sub_80990B8:
+ push {lr}
+ movs r0, 0xB
+ bl sub_8098FCC
+ lsls r0, 16
+ asrs r2, r0, 16
+ movs r0, 0x1
+ negs r0, r0
+ cmp r2, r0
+ bne _080990D2
+ bl sub_8098FB4
+ b _080990E4
+_080990D2:
+ ldr r1, _080990E8
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ movs r1, 0x2
+ ldrsh r0, [r0, r1]
+ bl sub_80A2B18
+_080990E4:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080990E8: .4byte gUnknown_811BAF4
+ thumb_func_end sub_80990B8
+
+ thumb_func_start sub_80990EC
+sub_80990EC:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x80
+ adds r7, r0, 0
+ lsls r1, 16
+ asrs r4, r1, 16
+ adds r0, r4, 0
+ bl sub_80A2608
+ mov r8, r0
+ ldrb r0, [r0, 0xC]
+ movs r5, 0
+ strb r0, [r7]
+ movs r0, 0x1
+ strb r0, [r7, 0x1]
+ strb r5, [r7, 0xC]
+ adds r0, r4, 0
+ bl sub_80A2750
+ lsls r0, 16
+ asrs r6, r0, 16
+ cmp r6, 0x2
+ beq _080991C8
+ cmp r6, 0x2
+ bgt _08099126
+ cmp r6, 0x1
+ beq _0809912C
+ b _080991CA
+_08099126:
+ cmp r6, 0x4
+ beq _080991C4
+ b _080991CA
+_0809912C:
+ movs r1, 0
+ strb r5, [r7, 0xB]
+ adds r0, r4, 0
+ subs r0, 0x25
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x2
+ bhi _0809913E
+ movs r1, 0x1
+_0809913E:
+ cmp r1, 0
+ beq _080991CA
+ strb r6, [r7, 0xC]
+ mov r0, sp
+ movs r1, 0x5B
+ bl sub_80A8EC0
+ add r4, sp, 0x18
+ adds r0, r4, 0
+ mov r1, sp
+ movs r2, 0xA
+ bl sub_8092310
+ add r5, sp, 0x30
+ str r4, [sp, 0x58]
+ add r1, sp, 0x5C
+ movs r2, 0
+ movs r0, 0x5E
+ strh r0, [r1]
+ mov r0, sp
+ adds r0, 0x5E
+ strb r2, [r0]
+ add r0, sp, 0x60
+ movs r1, 0x47
+ strb r1, [r0]
+ strb r2, [r0, 0x1]
+ add r1, sp, 0x64
+ movs r0, 0x82
+ lsls r0, 1
+ strh r0, [r1]
+ movs r0, 0xE0
+ strh r0, [r1, 0x2]
+ movs r0, 0xAC
+ strh r0, [r1, 0x4]
+ movs r0, 0xBE
+ strh r0, [r1, 0x6]
+ add r1, sp, 0x6C
+ movs r0, 0x50
+ strh r0, [r1]
+ mov r0, sp
+ adds r0, 0x6E
+ movs r2, 0xF
+ strh r2, [r0]
+ add r0, sp, 0x70
+ strh r6, [r0]
+ adds r0, 0x2
+ movs r1, 0x19
+ strh r1, [r0]
+ strh r1, [r0, 0x2]
+ adds r0, 0x4
+ strh r2, [r0]
+ strh r2, [r0, 0x2]
+ ldr r0, _080991C0
+ str r0, [sp, 0x7C]
+ add r1, sp, 0x58
+ adds r0, r5, 0
+ movs r2, 0x28
+ bl memcpy
+ adds r0, r7, 0
+ adds r0, 0x18
+ adds r1, r5, 0
+ bl sub_808D144
+ b _080991CA
+ .align 2, 0
+_080991C0: .4byte 0x000061a8
+_080991C4:
+ strb r5, [r7, 0xB]
+ b _080991CA
+_080991C8:
+ strb r6, [r7, 0xB]
+_080991CA:
+ movs r0, 0
+ strb r0, [r7, 0x4]
+ strb r0, [r7, 0xD]
+ mov r1, r8
+ ldrb r0, [r1, 0x11]
+ add sp, 0x80
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80990EC
+
+ thumb_func_start sub_80991E0
+sub_80991E0:
+ push {lr}
+ adds r2, r0, 0
+ ldr r3, _08099204
+ ldrh r0, [r3]
+ strh r0, [r1]
+ ldr r0, _08099208
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0809920C
+ movs r0, 0
+ ldrsh r1, [r3, r0]
+ adds r0, r2, 0
+ bl sub_80990EC
+ lsls r0, 24
+ lsrs r0, 24
+ b _08099218
+ .align 2, 0
+_08099204: .4byte gUnknown_20398C4
+_08099208: .4byte gUnknown_203B49C
+_0809920C:
+ ldr r1, _0809921C
+ adds r0, r2, 0
+ movs r2, 0x88
+ bl memcpy
+ movs r0, 0x1
+_08099218:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0809921C: .4byte gUnknown_20398C8
+ thumb_func_end sub_80991E0
+
+ thumb_func_start sub_8099220
+sub_8099220:
+ push {lr}
+ adds r2, r0, 0
+ lsls r1, 16
+ asrs r3, r1, 16
+ cmp r2, 0
+ beq _08099258
+ ldr r1, _08099248
+ movs r0, 0x1
+ strb r0, [r1]
+ ldr r1, _0809924C
+ movs r0, 0
+ strb r0, [r1]
+ ldr r0, _08099250
+ strh r3, [r0]
+ ldr r0, _08099254
+ adds r1, r2, 0
+ movs r2, 0x88
+ bl memcpy
+ b _0809926A
+ .align 2, 0
+_08099248: .4byte gUnknown_203B49C
+_0809924C: .4byte gUnknown_203B49D
+_08099250: .4byte gUnknown_20398C4
+_08099254: .4byte gUnknown_20398C8
+_08099258:
+ ldr r0, _08099270
+ strb r2, [r0]
+ ldr r0, _08099274
+ strb r2, [r0]
+ ldr r1, _08099278
+ movs r2, 0x1
+ negs r2, r2
+ adds r0, r2, 0
+ strh r0, [r1]
+_0809926A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08099270: .4byte gUnknown_203B49C
+_08099274: .4byte gUnknown_203B49D
+_08099278: .4byte gUnknown_20398C4
+ thumb_func_end sub_8099220
+
+ thumb_func_start sub_809927C
+sub_809927C:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r0, _080992CC
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, _080992D0
+ strb r1, [r0]
+ ldr r1, _080992D4
+ movs r0, 0x50
+ strh r0, [r1]
+ ldr r4, _080992D8
+ strb r5, [r4]
+ movs r0, 0
+ movs r1, 0x13
+ movs r2, 0x50
+ bl sub_80018D8
+ ldrb r2, [r4]
+ movs r0, 0
+ movs r1, 0x14
+ bl sub_80018D8
+ ldr r4, _080992DC
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8095494
+ subs r4, 0x10
+ movs r1, 0
+ movs r0, 0x1
+ strb r0, [r4, 0xB]
+ strb r1, [r4, 0xC]
+ strb r1, [r4, 0x4]
+ strb r1, [r4, 0xD]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080992CC: .4byte gUnknown_203B49C
+_080992D0: .4byte gUnknown_203B49D
+_080992D4: .4byte gUnknown_20398C4
+_080992D8: .4byte gUnknown_2039950
+_080992DC: .4byte gUnknown_20398D8
+ thumb_func_end sub_809927C
+
+ thumb_func_start sub_80992E0
+sub_80992E0:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ movs r0, 0
+ movs r1, 0x13
+ bl sub_8001658
+ lsls r0, 16
+ asrs r1, r0, 16
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _08099316
+ cmp r1, 0x50
+ beq _08099316
+ cmp r1, 0x51
+ beq _08099316
+ cmp r1, 0x52
+ beq _08099316
+ strh r1, [r4]
+ movs r0, 0
+ movs r1, 0x14
+ bl sub_8001658
+ strh r0, [r5]
+ movs r0, 0x1
+ b _08099322
+_08099316:
+ movs r1, 0x1
+ negs r1, r1
+ adds r0, r1, 0
+ strh r0, [r4]
+ strh r0, [r5]
+ movs r0, 0
+_08099322:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80992E0
+
+ thumb_func_start sub_8099328
+sub_8099328:
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0
+ movs r1, 0x13
+ bl sub_8001658
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x51
+ bne _08099358
+ movs r0, 0
+ movs r1, 0x14
+ bl sub_8001658
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_80A2608
+ ldrb r0, [r0, 0xC]
+ cmp r0, 0x3E
+ bhi _08099358
+ strb r0, [r4]
+ movs r0, 0x1
+ b _0809935A
+_08099358:
+ movs r0, 0
+_0809935A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8099328
+
+ thumb_func_start sub_8099360
+sub_8099360:
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0
+ movs r1, 0x13
+ bl sub_8001658
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x52
+ beq _08099378
+ movs r0, 0
+ b _0809938E
+_08099378:
+ movs r0, 0
+ movs r1, 0x14
+ bl sub_8001658
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_80A2608
+ ldrb r0, [r0, 0xC]
+ strb r0, [r4]
+ movs r0, 0x1
+_0809938E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8099360
+
+ thumb_func_start sub_8099394
+sub_8099394:
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0
+ movs r1, 0x13
+ bl sub_8001658
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x50
+ beq _080993AC
+ movs r0, 0
+ b _080993B8
+_080993AC:
+ movs r0, 0
+ movs r1, 0x14
+ bl sub_8001658
+ strb r0, [r4]
+ movs r0, 0x1
+_080993B8:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8099394
+
+ thumb_func_start sub_80993C0
+sub_80993C0:
+ push {lr}
+ lsls r0, 24
+ ldr r2, _080993D4
+ movs r1, 0
+ cmp r0, 0
+ bne _080993CE
+ movs r1, 0x1
+_080993CE:
+ strb r1, [r2]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080993D4: .4byte gUnknown_20398B8
+ thumb_func_end sub_80993C0
+
+ thumb_func_start sub_80993D8
+sub_80993D8:
+ push {lr}
+ bl sub_80A4B38
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80993D8
+
+ thumb_func_start sub_80993E4
+sub_80993E4:
+ push {lr}
+ bl sub_80A4B54
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80993E4
+
+ thumb_func_start sub_80993F0
+sub_80993F0:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x28
+ movs r0, 0
+ mov r10, r0
+ bl sub_801180C
+ movs r0, 0x10
+ bl sub_80118C4
+ ldr r1, _0809948C
+ ldr r2, _08099490
+ adds r0, r2, 0
+ strh r0, [r1]
+ movs r0, 0
+ bl xxx_update_some_bg_tiles
+ movs r0, 0
+ movs r1, 0x14
+ bl sub_80095CC
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ movs r0, 0
+ movs r1, 0x14
+ bl sub_8009408
+ bl sub_8099648
+ bl sub_809975C
+ bl sub_809D0AC
+ bl sub_8014144
+ movs r0, 0
+ movs r1, 0
+ bl sub_8005838
+ bl sub_80A4A7C
+ mov r7, sp
+ add r0, sp, 0x8
+ mov r8, r0
+_08099454:
+ bl sub_801D9E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809949C
+ mov r0, r10
+ bl sub_801DA58
+_08099464:
+ movs r0, 0
+ movs r1, 0
+ bl sub_8005838
+ movs r0, 0
+ bl sub_8012A18
+ bl sub_801DA78
+ cmp r0, 0x2
+ beq _08099494
+ cmp r0, 0x3
+ bne _08099464
+ bl sub_801DAC0
+ lsls r0, 16
+ asrs r0, 16
+ mov r10, r0
+ b _080994A2
+ .align 2, 0
+_0809948C: .4byte gUnknown_2026E4E
+_08099490: .4byte 0x00000808
+_08099494:
+ movs r1, 0x1
+ negs r1, r1
+ mov r10, r1
+ b _080994A2
+_0809949C:
+ movs r2, 0x1
+ negs r2, r2
+ mov r10, r2
+_080994A2:
+ bl sub_801DB0C
+ movs r0, 0x1
+ negs r0, r0
+ cmp r10, r0
+ bne _080994B0
+ b _08099624
+_080994B0:
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ bl sub_80A4AEC
+ bl sub_809D0BC
+ mov r0, r10
+ bl GroundMap_Select
+ mov r0, sp
+ mov r1, r8
+ bl sub_80A579C
+ ldr r0, [r7, 0x4]
+ movs r1, 0xC0
+ lsls r1, 4
+ adds r0, r1
+ str r0, [r7, 0x4]
+ mov r2, r8
+ ldr r0, [r2, 0x4]
+ adds r0, r1
+ str r0, [r2, 0x4]
+ ldr r0, [sp]
+ ldr r1, _08099520
+ adds r0, r1
+ str r0, [sp]
+ ldr r0, [r7, 0x4]
+ adds r0, r1
+ str r0, [r7, 0x4]
+ ldr r0, [sp, 0x8]
+ movs r2, 0x80
+ lsls r2, 3
+ adds r0, r2
+ str r0, [sp, 0x8]
+ mov r0, r8
+ ldr r1, [r0, 0x4]
+ adds r1, r2
+ str r1, [r0, 0x4]
+ ldr r2, [sp, 0x8]
+ ldr r0, [sp]
+ subs r0, r2, r0
+ str r0, [sp, 0x20]
+ ldr r0, [r7, 0x4]
+ subs r0, r1, r0
+ str r0, [sp, 0x24]
+ movs r4, 0
+ movs r5, 0
+ movs r0, 0x4
+ bl sub_80999E8
+ mov r9, r5
+ b _08099604
+ .align 2, 0
+_08099520: .4byte 0xfffffc00
+_08099524:
+ ldr r0, _0809953C
+ ldrh r1, [r0, 0x2]
+ ldrh r6, [r0]
+ movs r0, 0x4
+ ands r1, r0
+ cmp r1, 0
+ beq _08099540
+ bl sub_80999FC
+ movs r1, 0x1
+ mov r9, r1
+ b _080995AE
+ .align 2, 0
+_0809953C: .4byte gUnknown_20255F0
+_08099540:
+ adds r0, r6, 0
+ bl sub_809CFE8
+ lsls r0, 24
+ asrs r1, r0, 24
+ movs r2, 0x1
+ negs r2, r2
+ cmp r1, r2
+ beq _0809959A
+ add r0, sp, 0x10
+ movs r2, 0x80
+ lsls r2, 1
+ bl sub_8002BB8
+ ldr r2, [sp, 0x10]
+ ldr r3, [sp, 0x14]
+ movs r0, 0x2
+ ands r6, r0
+ cmp r6, 0
+ beq _0809956A
+ movs r0, 0x4
+_0809956A:
+ adds r1, r0, 0
+ muls r1, r2
+ adds r1, r4
+ adds r4, r1, 0
+ muls r0, r3
+ adds r5, r0
+ cmp r1, 0
+ bge _0809957E
+ movs r4, 0
+ b _08099588
+_0809957E:
+ ldr r0, [sp, 0x20]
+ cmp r4, r0
+ blt _08099588
+ adds r4, r0, 0
+ subs r4, 0x1
+_08099588:
+ cmp r5, 0
+ bge _08099590
+ movs r5, 0
+ b _0809959A
+_08099590:
+ ldr r1, [sp, 0x24]
+ cmp r5, r1
+ blt _0809959A
+ adds r5, r1, 0
+ subs r5, 0x1
+_0809959A:
+ ldr r0, [sp]
+ adds r0, r4
+ str r0, [sp, 0x18]
+ ldr r0, [r7, 0x4]
+ adds r0, r5
+ add r1, sp, 0x18
+ str r0, [r1, 0x4]
+ movs r0, 0
+ bl sub_809D158
+_080995AE:
+ bl sub_809D25C
+ bl sub_80A59DC
+ bl xxx_draw_string_80144C4
+ movs r0, 0
+ movs r1, 0
+ bl sub_8005838
+ bl sub_80060EC
+ ldr r0, _08099620
+ ldr r0, [r0]
+ ldrb r0, [r0, 0xA]
+ bl nullsub_8
+ bl sub_8005180
+ bl sub_8099BE4
+ bl sub_8099744
+ bl sub_8011860
+ bl sub_800CB20
+ bl sub_800485C
+ bl nullsub_120
+ bl sub_80A5E70
+ bl xxx_call_update_bg_vram
+ bl CopySpritesToOam
+ bl sub_8005304
+ bl sub_8099750
+ bl sub_8009908
+_08099604:
+ bl xxx_call_update_bg_sound_input
+ movs r0, 0
+ bl ResetSprites
+ mov r2, r9
+ cmp r2, 0
+ beq _08099524
+ bl sub_8099B94
+ lsls r0, 24
+ cmp r0, 0
+ bne _080995AE
+ b _08099454
+ .align 2, 0
+_08099620: .4byte gUnknown_203B46C
+_08099624:
+ movs r0, 0x10
+ bl sub_80118C4
+ bl sub_80A4AC4
+ bl sub_8099768
+ bl nullsub_103
+ add sp, 0x28
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80993F0
+
+ thumb_func_start sub_8099648
+sub_8099648:
+ push {lr}
+ bl sub_8003600
+ bl sub_809965C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8099648
+
+ thumb_func_start nullsub_103
+nullsub_103:
+ bx lr
+ thumb_func_end nullsub_103
+
+ thumb_func_start sub_809965C
+sub_809965C:
+ push {r4,lr}
+ movs r0, 0
+ bl sub_8099690
+ ldr r0, _08099688
+ ldr r1, _0809968C
+ bl OpenFileAndGetFileDataPtr
+ adds r4, r0, 0
+ movs r0, 0xF8
+ lsls r0, 1
+ ldr r1, [r4, 0x4]
+ movs r2, 0x10
+ bl sub_800388C
+ adds r0, r4, 0
+ bl CloseFile
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08099688: .4byte gUnknown_811601C
+_0809968C: .4byte gUnknown_8300500
+ thumb_func_end sub_809965C
+
+ thumb_func_start sub_8099690
+sub_8099690:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ ldr r0, _080996BC
+ ldr r1, _080996C0
+ bl OpenFileAndGetFileDataPtr
+ adds r6, r0, 0
+ cmp r4, 0x1
+ beq _080996CC
+ cmp r4, 0x2
+ beq _080996D4
+ ldr r0, _080996C4
+ ldr r0, [r0]
+ ldrb r0, [r0, 0xB]
+ ldr r4, _080996C8
+ cmp r0, 0
+ beq _080996D6
+ movs r0, 0x80
+ lsls r0, 1
+ adds r4, r0
+ b _080996D6
+ .align 2, 0
+_080996BC: .4byte gUnknown_8116028
+_080996C0: .4byte gUnknown_8300500
+_080996C4: .4byte gUnknown_203B46C
+_080996C8: .4byte gUnknown_202D078
+_080996CC:
+ ldr r4, _080996D0
+ b _080996D6
+ .align 2, 0
+_080996D0: .4byte gUnknown_202D1B8
+_080996D4:
+ ldr r4, _08099704
+_080996D6:
+ movs r0, 0xF0
+ adds r1, r4, 0
+ movs r2, 0x10
+ bl sub_800388C
+ adds r5, r4, 0
+ movs r4, 0
+_080996E4:
+ adds r0, r4, 0
+ adds r0, 0xF0
+ adds r1, r5, 0
+ adds r5, 0x4
+ bl nullsub_5
+ adds r4, 0x1
+ cmp r4, 0xF
+ ble _080996E4
+ adds r0, r6, 0
+ bl CloseFile
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08099704: .4byte gUnknown_202D1F8
+ thumb_func_end sub_8099690
+
+ thumb_func_start sub_8099708
+sub_8099708:
+ push {lr}
+ sub sp, 0x4
+ str r1, [sp]
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_8003810
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8099708
+
+ thumb_func_start sub_809971C
+sub_809971C:
+ push {r4-r6,lr}
+ adds r6, r1, 0
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r2, 0
+ ble _0809973E
+ adds r4, r2, 0
+_0809972A:
+ adds r0, r5, 0
+ adds r1, r0, 0x1
+ lsls r1, 16
+ lsrs r5, r1, 16
+ ldm r6!, {r1}
+ bl sub_8003810
+ subs r4, 0x1
+ cmp r4, 0
+ bne _0809972A
+_0809973E:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809971C
+
+ thumb_func_start sub_8099744
+sub_8099744:
+ push {lr}
+ bl sub_80039B8
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8099744
+
+ thumb_func_start sub_8099750
+sub_8099750:
+ push {lr}
+ bl TransferBGPaletteBuffer
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8099750
+
+ thumb_func_start sub_809975C
+sub_809975C:
+ push {lr}
+ bl sub_809977C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809975C
+
+ thumb_func_start sub_8099768
+sub_8099768:
+ push {lr}
+ bl sub_809977C
+ bl sub_8099744
+ bl sub_8099750
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8099768
+
+ thumb_func_start sub_809977C
+sub_809977C:
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ ldr r1, _080997DC
+ movs r0, 0
+ strb r0, [r1]
+ ldr r1, _080997E0
+ movs r0, 0
+ strh r0, [r1]
+ ldr r6, _080997E4
+ adds r0, r6, 0
+ bl sub_8099838
+ ldr r0, _080997E8
+ mov r8, r0
+ bl sub_8099838
+ ldr r4, _080997EC
+ adds r0, r4, 0
+ bl sub_8099838
+ subs r4, 0x8
+ movs r0, 0
+ str r0, [r4]
+ movs r5, 0x80
+ lsls r5, 1
+ strh r5, [r4, 0x14]
+ strh r0, [r6, 0xC]
+ bl sub_8099DD0
+ mov r0, r8
+ strh r5, [r0, 0xC]
+ adds r0, r5, 0
+ bl sub_8099E58
+ ldr r1, _080997F0
+ movs r2, 0
+ adds r0, r1, 0
+ adds r0, 0x40
+_080997CA:
+ strh r2, [r0]
+ subs r0, 0x2
+ cmp r0, r1
+ bge _080997CA
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080997DC: .4byte gUnknown_2039990
+_080997E0: .4byte gUnknown_2039992
+_080997E4: .4byte gUnknown_2039958
+_080997E8: .4byte gUnknown_2039968
+_080997EC: .4byte gUnknown_2039980
+_080997F0: .4byte gUnknown_2039998
+ thumb_func_end sub_809977C
+
+ thumb_func_start sub_80997F4
+sub_80997F4:
+ push {lr}
+ lsls r0, 16
+ ldr r2, _08099818
+ lsrs r0, 15
+ adds r0, r2
+ strh r1, [r0]
+ ldr r0, _0809981C
+ bl sub_8099848
+ ldr r0, _08099820
+ bl sub_8099848
+ ldr r0, _08099824
+ bl sub_8099848
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08099818: .4byte gUnknown_2039998
+_0809981C: .4byte gUnknown_2039958
+_08099820: .4byte gUnknown_2039968
+_08099824: .4byte gUnknown_2039980
+ thumb_func_end sub_80997F4
+
+ thumb_func_start sub_8099828
+sub_8099828:
+ lsls r0, 16
+ ldr r1, _08099834
+ lsrs r0, 15
+ adds r0, r1
+ ldrh r0, [r0]
+ bx lr
+ .align 2, 0
+_08099834: .4byte gUnknown_2039998
+ thumb_func_end sub_8099828
+
+ thumb_func_start sub_8099838
+sub_8099838:
+ movs r1, 0x1
+ str r1, [r0]
+ movs r1, 0
+ strh r1, [r0, 0xC]
+ strh r1, [r0, 0x4]
+ strh r1, [r0, 0x6]
+ bx lr
+ thumb_func_end sub_8099838
+
+ thumb_func_start sub_8099848
+sub_8099848:
+ push {lr}
+ adds r1, r0, 0
+ ldr r0, [r1]
+ cmp r0, 0
+ bne _08099856
+ movs r0, 0x1
+ str r0, [r1]
+_08099856:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8099848
+
+ thumb_func_start sub_809985C
+sub_809985C:
+ push {lr}
+ adds r2, r0, 0
+ cmp r1, 0
+ blt _08099872
+ cmp r1, 0
+ bne _08099874
+ movs r0, 0x80
+ lsls r0, 1
+ strh r0, [r2, 0xC]
+ movs r0, 0x1
+ b _08099876
+_08099872:
+ movs r1, 0x1E
+_08099874:
+ movs r0, 0x2
+_08099876:
+ str r0, [r2]
+ strh r1, [r2, 0x4]
+ strh r1, [r2, 0x6]
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809985C
+
+ thumb_func_start sub_8099880
+sub_8099880:
+ push {lr}
+ adds r2, r0, 0
+ cmp r1, 0
+ blt _08099892
+ cmp r1, 0
+ bne _08099894
+ strh r1, [r2, 0xC]
+ movs r0, 0x1
+ b _08099896
+_08099892:
+ movs r1, 0x1E
+_08099894:
+ movs r0, 0x3
+_08099896:
+ str r0, [r2]
+ strh r1, [r2, 0x4]
+ strh r1, [r2, 0x6]
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8099880
+
+ thumb_func_start sub_80998A0
+sub_80998A0:
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r2, 16
+ lsrs r2, 16
+ lsls r3, 16
+ lsrs r3, 16
+ cmp r1, 0
+ bge _080998B2
+ movs r1, 0x1E
+_080998B2:
+ cmp r2, r3
+ bls _080998BE
+ movs r0, 0x5
+ str r0, [r4]
+ subs r0, r2, r3
+ b _080998D0
+_080998BE:
+ cmp r2, r3
+ bcs _080998CA
+ movs r0, 0x4
+ str r0, [r4]
+ subs r0, r3, r2
+ b _080998D0
+_080998CA:
+ movs r0, 0x1
+ str r0, [r4]
+ movs r0, 0
+_080998D0:
+ strh r0, [r4, 0xA]
+ strh r1, [r4, 0x4]
+ strh r1, [r4, 0x6]
+ strh r2, [r4, 0xC]
+ strh r3, [r4, 0x8]
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80998A0
+
+ thumb_func_start sub_80998E0
+sub_80998E0:
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, [r4]
+ cmp r0, 0x5
+ bhi _080999CA
+ lsls r0, 2
+ ldr r1, _080998F4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080998F4: .4byte _080998F8
+ .align 2, 0
+_080998F8:
+ .4byte _080999CA
+ .4byte _080999C2
+ .4byte _08099910
+ .4byte _08099946
+ .4byte _08099976
+ .4byte _0809999A
+_08099910:
+ ldrh r0, [r4, 0x4]
+ subs r0, 0x1
+ strh r0, [r4, 0x4]
+ lsls r0, 16
+ cmp r0, 0
+ ble _08099940
+ movs r1, 0x4
+ ldrsh r0, [r4, r1]
+ lsls r0, 8
+ movs r2, 0x6
+ ldrsh r1, [r4, r2]
+ bl __divsi3
+ movs r2, 0x80
+ lsls r2, 1
+ adds r1, r2, 0
+ subs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ ldrh r0, [r4, 0xC]
+ cmp r0, r1
+ bcs _080999C6
+ strh r1, [r4, 0xC]
+ b _080999C6
+_08099940:
+ movs r0, 0x80
+ lsls r0, 1
+ b _080999C0
+_08099946:
+ ldrh r0, [r4, 0x4]
+ subs r0, 0x1
+ movs r1, 0
+ strh r0, [r4, 0x4]
+ lsls r0, 16
+ cmp r0, 0
+ ble _08099970
+ movs r1, 0x4
+ ldrsh r0, [r4, r1]
+ lsls r0, 8
+ movs r2, 0x6
+ ldrsh r1, [r4, r2]
+ bl __divsi3
+ lsls r0, 16
+ lsrs r1, r0, 16
+ ldrh r0, [r4, 0xC]
+ cmp r0, r1
+ bls _080999C6
+ strh r1, [r4, 0xC]
+ b _080999C6
+_08099970:
+ strh r1, [r4, 0xC]
+ str r1, [r4]
+ b _080999C6
+_08099976:
+ ldrh r0, [r4, 0x4]
+ subs r0, 0x1
+ strh r0, [r4, 0x4]
+ lsls r0, 16
+ cmp r0, 0
+ ble _080999BE
+ movs r0, 0x4
+ ldrsh r1, [r4, r0]
+ ldrh r0, [r4, 0xA]
+ muls r0, r1
+ movs r2, 0x6
+ ldrsh r1, [r4, r2]
+ bl __divsi3
+ ldrh r1, [r4, 0x8]
+ subs r1, r0
+ strh r1, [r4, 0xC]
+ b _080999C6
+_0809999A:
+ ldrh r0, [r4, 0x4]
+ subs r0, 0x1
+ strh r0, [r4, 0x4]
+ lsls r0, 16
+ cmp r0, 0
+ ble _080999BE
+ movs r0, 0x4
+ ldrsh r1, [r4, r0]
+ ldrh r0, [r4, 0xA]
+ muls r0, r1
+ movs r2, 0x6
+ ldrsh r1, [r4, r2]
+ bl __divsi3
+ ldrh r1, [r4, 0x8]
+ adds r1, r0
+ strh r1, [r4, 0xC]
+ b _080999C6
+_080999BE:
+ ldrh r0, [r4, 0x8]
+_080999C0:
+ strh r0, [r4, 0xC]
+_080999C2:
+ movs r0, 0
+ str r0, [r4]
+_080999C6:
+ movs r0, 0x1
+ b _080999CC
+_080999CA:
+ movs r0, 0
+_080999CC:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80998E0
+
+ thumb_func_start sub_80999D4
+sub_80999D4:
+ ldr r2, _080999E0
+ movs r1, 0x1
+ strb r1, [r2]
+ ldr r1, _080999E4
+ strh r0, [r1]
+ bx lr
+ .align 2, 0
+_080999E0: .4byte gUnknown_2039990
+_080999E4: .4byte gUnknown_2039992
+ thumb_func_end sub_80999D4
+
+ thumb_func_start sub_80999E8
+sub_80999E8:
+ push {lr}
+ adds r1, r0, 0
+ ldr r0, _080999F8
+ bl sub_809985C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080999F8: .4byte gUnknown_2039958
+ thumb_func_end sub_80999E8
+
+ thumb_func_start sub_80999FC
+sub_80999FC:
+ push {lr}
+ adds r1, r0, 0
+ ldr r0, _08099A0C
+ bl sub_8099880
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08099A0C: .4byte gUnknown_2039958
+ thumb_func_end sub_80999FC
+
+ thumb_func_start sub_8099A10
+sub_8099A10:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ adds r3, r2, 0
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r3, 16
+ lsrs r3, 16
+ ldr r0, _08099A30
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl sub_80998A0
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08099A30: .4byte gUnknown_2039958
+ thumb_func_end sub_8099A10
+
+ thumb_func_start sub_8099A34
+sub_8099A34:
+ push {lr}
+ adds r1, r0, 0
+ ldr r0, _08099A44
+ bl sub_809985C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08099A44: .4byte gUnknown_2039968
+ thumb_func_end sub_8099A34
+
+ thumb_func_start sub_8099A48
+sub_8099A48:
+ push {lr}
+ adds r1, r0, 0
+ ldr r0, _08099A58
+ bl sub_8099880
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08099A58: .4byte gUnknown_2039968
+ thumb_func_end sub_8099A48
+
+ thumb_func_start sub_8099A5C
+sub_8099A5C:
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ str r2, [sp]
+ ldr r0, _08099A88
+ str r4, [r0]
+ ldr r2, [sp]
+ str r2, [r0, 0x4]
+ movs r2, 0
+ strh r2, [r0, 0x14]
+ adds r0, 0x8
+ bl sub_809985C
+ subs r0, r4, 0x1
+ cmp r0, 0xD
+ bhi _08099AF0
+ lsls r0, 2
+ ldr r1, _08099A8C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08099A88: .4byte gUnknown_2039978
+_08099A8C: .4byte _08099A90
+ .align 2, 0
+_08099A90:
+ .4byte _08099AC8
+ .4byte _08099AF0
+ .4byte _08099AC8
+ .4byte _08099AF0
+ .4byte _08099AE8
+ .4byte _08099AF0
+ .4byte _08099AE8
+ .4byte _08099AF0
+ .4byte _08099AE0
+ .4byte _08099AF0
+ .4byte _08099AE0
+ .4byte _08099AF0
+ .4byte _08099AE8
+ .4byte _08099AE8
+_08099AC8:
+ ldr r0, _08099AD8
+ movs r1, 0x80
+ lsls r1, 1
+ strh r1, [r0, 0xC]
+ ldr r0, _08099ADC
+ strh r1, [r0, 0xC]
+ b _08099AF0
+ .align 2, 0
+_08099AD8: .4byte gUnknown_2039968
+_08099ADC: .4byte gUnknown_2039958
+_08099AE0:
+ ldr r1, _08099AE4
+ b _08099AEA
+ .align 2, 0
+_08099AE4: .4byte gUnknown_2039968
+_08099AE8:
+ ldr r1, _08099AF8
+_08099AEA:
+ movs r0, 0x80
+ lsls r0, 1
+ strh r0, [r1, 0xC]
+_08099AF0:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08099AF8: .4byte gUnknown_2039958
+ thumb_func_end sub_8099A5C
+
+ thumb_func_start sub_8099AFC
+sub_8099AFC:
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ str r2, [sp]
+ ldr r0, _08099B28
+ str r4, [r0]
+ ldr r2, [sp]
+ str r2, [r0, 0x4]
+ movs r2, 0x80
+ lsls r2, 1
+ strh r2, [r0, 0x14]
+ adds r0, 0x8
+ bl sub_8099880
+ subs r0, r4, 0x2
+ cmp r0, 0xC
+ bhi _08099B86
+ lsls r0, 2
+ ldr r1, _08099B2C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08099B28: .4byte gUnknown_2039978
+_08099B2C: .4byte _08099B30
+ .align 2, 0
+_08099B30:
+ .4byte _08099B64
+ .4byte _08099B86
+ .4byte _08099B64
+ .4byte _08099B86
+ .4byte _08099B80
+ .4byte _08099B86
+ .4byte _08099B80
+ .4byte _08099B86
+ .4byte _08099B78
+ .4byte _08099B86
+ .4byte _08099B78
+ .4byte _08099B80
+ .4byte _08099B80
+_08099B64:
+ ldr r0, _08099B70
+ movs r1, 0
+ strh r1, [r0, 0xC]
+ ldr r0, _08099B74
+ strh r1, [r0, 0xC]
+ b _08099B86
+ .align 2, 0
+_08099B70: .4byte gUnknown_2039968
+_08099B74: .4byte gUnknown_2039958
+_08099B78:
+ ldr r1, _08099B7C
+ b _08099B82
+ .align 2, 0
+_08099B7C: .4byte gUnknown_2039968
+_08099B80:
+ ldr r1, _08099B90
+_08099B82:
+ movs r0, 0
+ strh r0, [r1, 0xC]
+_08099B86:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08099B90: .4byte gUnknown_2039958
+ thumb_func_end sub_8099AFC
+
+ thumb_func_start sub_8099B94
+sub_8099B94:
+ push {lr}
+ ldr r0, _08099BA4
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08099BA8
+ movs r0, 0x1
+ b _08099BD6
+ .align 2, 0
+_08099BA4: .4byte gUnknown_2039990
+_08099BA8:
+ ldr r1, _08099BBC
+ ldr r0, [r1]
+ cmp r0, 0
+ beq _08099BC0
+ ldr r0, [r1, 0x8]
+ cmp r0, 0
+ beq _08099BD6
+ movs r0, 0x1
+ b _08099BD6
+ .align 2, 0
+_08099BBC: .4byte gUnknown_2039978
+_08099BC0:
+ movs r1, 0
+ ldr r0, _08099BDC
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08099BD2
+ ldr r0, _08099BE0
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _08099BD4
+_08099BD2:
+ movs r1, 0x1
+_08099BD4:
+ adds r0, r1, 0
+_08099BD6:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08099BDC: .4byte gUnknown_2039958
+_08099BE0: .4byte gUnknown_2039968
+ thumb_func_end sub_8099B94
+
+ thumb_func_start sub_8099BE4
+sub_8099BE4:
+ push {r4,r5,lr}
+ ldr r4, _08099C10
+ ldr r0, [r4]
+ cmp r0, 0
+ bne _08099BF6
+ ldr r0, [r4, 0x8]
+ cmp r0, 0
+ bne _08099BF6
+ b _08099D08
+_08099BF6:
+ adds r0, r4, 0
+ adds r0, 0x8
+ bl sub_80998E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08099C14
+ ldrh r0, [r4, 0x14]
+ ldr r1, [r4, 0x4]
+ bl sub_8099E80
+ b _08099DC0
+ .align 2, 0
+_08099C10: .4byte gUnknown_2039978
+_08099C14:
+ ldr r0, [r4, 0x8]
+ cmp r0, 0
+ beq _08099C1C
+ b _08099DC0
+_08099C1C:
+ ldr r0, [r4]
+ cmp r0, 0xE
+ bls _08099C24
+ b _08099DC0
+_08099C24:
+ lsls r0, 2
+ ldr r1, _08099C30
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08099C30: .4byte _08099C34
+ .align 2, 0
+_08099C34:
+ .4byte _08099DC0
+ .4byte _08099C70
+ .4byte _08099CD8
+ .4byte _08099C70
+ .4byte _08099CD8
+ .4byte _08099C70
+ .4byte _08099CD8
+ .4byte _08099C70
+ .4byte _08099CD8
+ .4byte _08099C70
+ .4byte _08099CD8
+ .4byte _08099C70
+ .4byte _08099CD8
+ .4byte _08099CD8
+ .4byte _08099CD8
+_08099C70:
+ ldr r0, _08099C80
+ ldrh r1, [r0, 0x14]
+ adds r3, r0, 0
+ cmp r1, 0xFF
+ bls _08099C84
+ movs r0, 0
+ str r0, [r3]
+ b _08099DC0
+ .align 2, 0
+_08099C80: .4byte gUnknown_2039978
+_08099C84:
+ ldr r0, _08099CA0
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08099C8E
+ b _08099DC0
+_08099C8E:
+ movs r2, 0
+ ldr r0, [r3]
+ cmp r0, 0x3
+ beq _08099CB2
+ cmp r0, 0x3
+ bhi _08099CA4
+ cmp r0, 0x1
+ beq _08099CAE
+ b _08099CBC
+ .align 2, 0
+_08099CA0: .4byte gUnknown_2039990
+_08099CA4:
+ cmp r0, 0x5
+ beq _08099CB6
+ cmp r0, 0x7
+ beq _08099CBA
+ b _08099CBC
+_08099CAE:
+ movs r2, 0x2
+ b _08099CC0
+_08099CB2:
+ movs r2, 0x4
+ b _08099CC0
+_08099CB6:
+ movs r2, 0x6
+ b _08099CC0
+_08099CBA:
+ movs r2, 0x8
+_08099CBC:
+ cmp r2, 0
+ beq _08099CD4
+_08099CC0:
+ ldr r0, _08099CD0
+ movs r4, 0
+ ldrsh r1, [r0, r4]
+ adds r0, r2, 0
+ ldr r2, [r3, 0x4]
+ bl sub_8099AFC
+ b _08099DC0
+ .align 2, 0
+_08099CD0: .4byte gUnknown_2039992
+_08099CD4:
+ str r2, [r3]
+ b _08099DC0
+_08099CD8:
+ ldr r2, _08099CE4
+ ldrh r0, [r2, 0x14]
+ cmp r0, 0
+ bne _08099CE8
+ str r0, [r2]
+ b _08099DC0
+ .align 2, 0
+_08099CE4: .4byte gUnknown_2039978
+_08099CE8:
+ ldr r0, _08099D00
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08099DC0
+ ldr r0, [r2]
+ ldr r1, _08099D04
+ movs r3, 0
+ ldrsh r1, [r1, r3]
+ ldr r2, [r2, 0x4]
+ bl sub_8099AFC
+ b _08099DC0
+ .align 2, 0
+_08099D00: .4byte gUnknown_2039990
+_08099D04: .4byte gUnknown_2039992
+_08099D08:
+ ldr r0, _08099D88
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08099D98
+ movs r5, 0x1
+ ldr r4, _08099D8C
+ ldrh r0, [r4, 0xC]
+ cmp r0, 0
+ bne _08099D20
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _08099D46
+_08099D20:
+ movs r5, 0
+ ldr r0, [r4]
+ cmp r0, 0x3
+ beq _08099D34
+ ldr r0, _08099D90
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ adds r0, r4, 0
+ bl sub_8099880
+_08099D34:
+ adds r0, r4, 0
+ bl sub_80998E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08099D46
+ ldrh r0, [r4, 0xC]
+ bl sub_8099DD0
+_08099D46:
+ ldr r4, _08099D94
+ ldrh r0, [r4, 0xC]
+ cmp r0, 0
+ bne _08099D54
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _08099D7A
+_08099D54:
+ movs r5, 0
+ ldr r0, [r4]
+ cmp r0, 0x3
+ beq _08099D68
+ ldr r0, _08099D90
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ adds r0, r4, 0
+ bl sub_8099880
+_08099D68:
+ adds r0, r4, 0
+ bl sub_80998E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08099D7A
+ ldrh r0, [r4, 0xC]
+ bl sub_8099E58
+_08099D7A:
+ cmp r5, 0
+ beq _08099DC0
+ ldr r1, _08099D88
+ movs r0, 0
+ strb r0, [r1]
+ b _08099DC0
+ .align 2, 0
+_08099D88: .4byte gUnknown_2039990
+_08099D8C: .4byte gUnknown_2039958
+_08099D90: .4byte gUnknown_2039992
+_08099D94: .4byte gUnknown_2039968
+_08099D98:
+ ldr r4, _08099DC8
+ adds r0, r4, 0
+ bl sub_80998E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08099DAC
+ ldrh r0, [r4, 0xC]
+ bl sub_8099DD0
+_08099DAC:
+ ldr r4, _08099DCC
+ adds r0, r4, 0
+ bl sub_80998E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08099DC0
+ ldrh r0, [r4, 0xC]
+ bl sub_8099E58
+_08099DC0:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08099DC8: .4byte gUnknown_2039958
+_08099DCC: .4byte gUnknown_2039968
+ thumb_func_end sub_8099BE4
+
+ thumb_func_start sub_8099DD0
+sub_8099DD0:
+ push {r4-r7,lr}
+ lsls r0, 16
+ lsrs r7, r0, 16
+ movs r4, 0
+ ldr r6, _08099DF4
+ movs r5, 0xD
+_08099DDC:
+ ldrh r1, [r6]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08099DF8
+ lsrs r0, r4, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _08099E00
+ .align 2, 0
+_08099DF4: .4byte gUnknown_2039998
+_08099DF8:
+ lsrs r0, r4, 16
+ adds r1, r7, 0
+ bl sub_8003664
+_08099E00:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r4, r0
+ adds r6, 0x2
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08099DDC
+ ldr r0, _08099E30
+ movs r4, 0x80
+ lsls r4, 13
+ adds r6, r0, 0
+ adds r6, 0x20
+ movs r5, 0xE
+_08099E1A:
+ ldrh r1, [r6]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08099E34
+ lsrs r0, r4, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _08099E3C
+ .align 2, 0
+_08099E30: .4byte gUnknown_2039998
+_08099E34:
+ lsrs r0, r4, 16
+ adds r1, r7, 0
+ bl sub_8003664
+_08099E3C:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r4, r0
+ adds r6, 0x2
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08099E1A
+ movs r0, 0x20
+ adds r1, r7, 0
+ bl sub_8003664
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8099DD0
+
+ thumb_func_start sub_8099E58
+sub_8099E58:
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ movs r0, 0xF
+ adds r1, r4, 0
+ bl sub_8003664
+ movs r0, 0xE
+ adds r1, r4, 0
+ bl sub_8003664
+ movs r0, 0x1F
+ adds r1, r4, 0
+ bl sub_8003664
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8099E58
+
+ thumb_func_start sub_8099E80
+sub_8099E80:
+ push {r4-r7,lr}
+ sub sp, 0x4
+ str r1, [sp]
+ lsls r0, 16
+ lsrs r6, r0, 16
+ ldr r0, _08099EA0
+ ldr r1, [r0]
+ adds r2, r0, 0
+ cmp r1, 0xE
+ bls _08099E96
+ b _0809A558
+_08099E96:
+ lsls r0, r1, 2
+ ldr r1, _08099EA4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08099EA0: .4byte gUnknown_2039978
+_08099EA4: .4byte _08099EA8
+ .align 2, 0
+_08099EA8:
+ .4byte _0809A558
+ .4byte _08099EE4
+ .4byte _0809A05A
+ .4byte _0809A1D2
+ .4byte _0809A34A
+ .4byte _08099FDE
+ .4byte _0809A156
+ .4byte _0809A2CE
+ .4byte _0809A4BC
+ .4byte _08099F5E
+ .4byte _0809A0D6
+ .4byte _0809A24E
+ .4byte _0809A3EA
+ .4byte _0809A48A
+ .4byte _0809A48A
+_08099EE4:
+ movs r4, 0
+ movs r5, 0
+ ldr r7, _08099F00
+_08099EEA:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08099F04
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _08099F0E
+ .align 2, 0
+_08099F00: .4byte gUnknown_2039998
+_08099F04:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80036AC
+_08099F0E:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0xF
+ ble _08099EEA
+ movs r4, 0x10
+ movs r5, 0x80
+ lsls r5, 13
+ ldr r0, _08099F40
+ adds r7, r0, 0
+ adds r7, 0x20
+_08099F28:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08099F44
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _08099F4E
+ .align 2, 0
+_08099F40: .4byte gUnknown_2039998
+_08099F44:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80036AC
+_08099F4E:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0x1F
+ ble _08099F28
+ b _0809A558
+_08099F5E:
+ movs r4, 0xE
+ movs r5, 0xE0
+ lsls r5, 12
+ ldr r0, _08099F80
+ adds r7, r0, 0
+ adds r7, 0x1C
+_08099F6A:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08099F84
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _08099F8E
+ .align 2, 0
+_08099F80: .4byte gUnknown_2039998
+_08099F84:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80036AC
+_08099F8E:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0xF
+ ble _08099F6A
+ movs r4, 0x1F
+ movs r5, 0xF8
+ lsls r5, 13
+ ldr r0, _08099FC0
+ adds r7, r0, 0
+ adds r7, 0x3E
+_08099FA8:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08099FC4
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _08099FCE
+ .align 2, 0
+_08099FC0: .4byte gUnknown_2039998
+_08099FC4:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80036AC
+_08099FCE:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0x1F
+ ble _08099FA8
+ b _0809A558
+_08099FDE:
+ movs r4, 0
+ movs r5, 0
+ ldr r7, _08099FFC
+_08099FE4:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A000
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A00A
+ .align 2, 0
+_08099FFC: .4byte gUnknown_2039998
+_0809A000:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80036AC
+_0809A00A:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0xD
+ ble _08099FE4
+ movs r4, 0x10
+ movs r5, 0x80
+ lsls r5, 13
+ ldr r0, _0809A03C
+ adds r7, r0, 0
+ adds r7, 0x20
+_0809A024:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A040
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A04A
+ .align 2, 0
+_0809A03C: .4byte gUnknown_2039998
+_0809A040:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80036AC
+_0809A04A:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0x1E
+ ble _0809A024
+ b _0809A558
+_0809A05A:
+ movs r4, 0
+ movs r5, 0
+ ldr r7, _0809A078
+_0809A060:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A07C
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A086
+ .align 2, 0
+_0809A078: .4byte gUnknown_2039998
+_0809A07C:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80036F4
+_0809A086:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0xF
+ ble _0809A060
+ movs r4, 0x10
+ movs r5, 0x80
+ lsls r5, 13
+ ldr r0, _0809A0B8
+ adds r7, r0, 0
+ adds r7, 0x20
+_0809A0A0:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A0BC
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A0C6
+ .align 2, 0
+_0809A0B8: .4byte gUnknown_2039998
+_0809A0BC:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80036F4
+_0809A0C6:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0x1F
+ ble _0809A0A0
+ b _0809A558
+_0809A0D6:
+ movs r4, 0xE
+ movs r5, 0xE0
+ lsls r5, 12
+ ldr r0, _0809A0F8
+ adds r7, r0, 0
+ adds r7, 0x1C
+_0809A0E2:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A0FC
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A106
+ .align 2, 0
+_0809A0F8: .4byte gUnknown_2039998
+_0809A0FC:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80036F4
+_0809A106:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0xF
+ ble _0809A0E2
+ movs r4, 0x1F
+ movs r5, 0xF8
+ lsls r5, 13
+ ldr r0, _0809A138
+ adds r7, r0, 0
+ adds r7, 0x3E
+_0809A120:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A13C
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A146
+ .align 2, 0
+_0809A138: .4byte gUnknown_2039998
+_0809A13C:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80036F4
+_0809A146:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0x1F
+ ble _0809A120
+ b _0809A558
+_0809A156:
+ movs r4, 0
+ movs r5, 0
+ ldr r7, _0809A174
+_0809A15C:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A178
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A182
+ .align 2, 0
+_0809A174: .4byte gUnknown_2039998
+_0809A178:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80036F4
+_0809A182:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0xD
+ ble _0809A15C
+ movs r4, 0x10
+ movs r5, 0x80
+ lsls r5, 13
+ ldr r0, _0809A1B4
+ adds r7, r0, 0
+ adds r7, 0x20
+_0809A19C:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A1B8
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A1C2
+ .align 2, 0
+_0809A1B4: .4byte gUnknown_2039998
+_0809A1B8:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80036F4
+_0809A1C2:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0x1E
+ ble _0809A19C
+ b _0809A558
+_0809A1D2:
+ movs r4, 0
+ movs r5, 0
+ ldr r7, _0809A1F0
+_0809A1D8:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A1F4
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A1FE
+ .align 2, 0
+_0809A1F0: .4byte gUnknown_2039998
+_0809A1F4:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_8003780
+_0809A1FE:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0xF
+ ble _0809A1D8
+ movs r4, 0x10
+ movs r5, 0x80
+ lsls r5, 13
+ ldr r0, _0809A230
+ adds r7, r0, 0
+ adds r7, 0x20
+_0809A218:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A234
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A23E
+ .align 2, 0
+_0809A230: .4byte gUnknown_2039998
+_0809A234:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_8003780
+_0809A23E:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0x1F
+ ble _0809A218
+ b _0809A558
+_0809A24E:
+ movs r4, 0xE
+ movs r5, 0xE0
+ lsls r5, 12
+ ldr r0, _0809A270
+ adds r7, r0, 0
+ adds r7, 0x1C
+_0809A25A:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A274
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A27E
+ .align 2, 0
+_0809A270: .4byte gUnknown_2039998
+_0809A274:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_8003780
+_0809A27E:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0xF
+ ble _0809A25A
+ movs r4, 0x1F
+ movs r5, 0xF8
+ lsls r5, 13
+ ldr r0, _0809A2B0
+ adds r7, r0, 0
+ adds r7, 0x3E
+_0809A298:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A2B4
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A2BE
+ .align 2, 0
+_0809A2B0: .4byte gUnknown_2039998
+_0809A2B4:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_8003780
+_0809A2BE:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0x1F
+ ble _0809A298
+ b _0809A558
+_0809A2CE:
+ movs r4, 0
+ movs r5, 0
+ ldr r7, _0809A2EC
+_0809A2D4:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A2F0
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A2FA
+ .align 2, 0
+_0809A2EC: .4byte gUnknown_2039998
+_0809A2F0:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_8003780
+_0809A2FA:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0xD
+ ble _0809A2D4
+ movs r4, 0x10
+ movs r5, 0x80
+ lsls r5, 13
+ ldr r0, _0809A32C
+ adds r7, r0, 0
+ adds r7, 0x20
+_0809A314:
+ ldrh r1, [r7]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A330
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A33A
+ .align 2, 0
+_0809A32C: .4byte gUnknown_2039998
+_0809A330:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_8003780
+_0809A33A:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r7, 0x2
+ adds r4, 0x1
+ cmp r4, 0x1E
+ ble _0809A314
+ b _0809A558
+_0809A34A:
+ movs r4, 0
+ movs r5, 0
+_0809A34E:
+ ldr r0, _0809A36C
+ lsls r1, r4, 1
+ adds r1, r0
+ ldrh r1, [r1]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A370
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A38C
+ .align 2, 0
+_0809A36C: .4byte gUnknown_2039998
+_0809A370:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A382
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ bl sub_8003664
+ b _0809A38C
+_0809A382:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80037C8
+_0809A38C:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r4, 0x1
+ cmp r4, 0xF
+ ble _0809A34E
+ movs r4, 0x10
+ movs r5, 0x80
+ lsls r5, 13
+_0809A39E:
+ ldr r0, _0809A3BC
+ lsls r1, r4, 1
+ adds r1, r0
+ ldrh r1, [r1]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A3C0
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A3DC
+ .align 2, 0
+_0809A3BC: .4byte gUnknown_2039998
+_0809A3C0:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A3D2
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ bl sub_8003664
+ b _0809A3DC
+_0809A3D2:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80037C8
+_0809A3DC:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r4, 0x1
+ cmp r4, 0x1F
+ ble _0809A39E
+ b _0809A558
+_0809A3EA:
+ movs r4, 0xE
+ movs r5, 0xE0
+ lsls r5, 12
+_0809A3F0:
+ ldr r0, _0809A40C
+ lsls r1, r4, 1
+ adds r1, r0
+ ldrh r1, [r1]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A410
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A42C
+ .align 2, 0
+_0809A40C: .4byte gUnknown_2039998
+_0809A410:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A422
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ bl sub_8003664
+ b _0809A42C
+_0809A422:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80037C8
+_0809A42C:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r4, 0x1
+ cmp r4, 0xF
+ ble _0809A3F0
+ movs r4, 0x1F
+ movs r5, 0xF8
+ lsls r5, 13
+_0809A43E:
+ ldr r0, _0809A45C
+ lsls r1, r4, 1
+ adds r1, r0
+ ldrh r1, [r1]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A460
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A47C
+ .align 2, 0
+_0809A45C: .4byte gUnknown_2039998
+_0809A460:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A472
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ bl sub_8003664
+ b _0809A47C
+_0809A472:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80037C8
+_0809A47C:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r4, 0x1
+ cmp r4, 0x1F
+ ble _0809A43E
+ b _0809A558
+_0809A48A:
+ ldr r0, [r2]
+ cmp r0, 0xD
+ beq _0809A496
+ cmp r0, 0xE
+ beq _0809A4AA
+ b _0809A4BC
+_0809A496:
+ mov r0, sp
+ movs r1, 0x90
+ strb r1, [r0]
+ strb r1, [r0, 0x1]
+ mov r1, sp
+ movs r0, 0xFF
+ strb r0, [r1, 0x2]
+ movs r0, 0x1
+ negs r0, r0
+ b _0809A4BA
+_0809A4AA:
+ mov r1, sp
+ movs r0, 0xFF
+ strb r0, [r1]
+ movs r0, 0xC0
+ strb r0, [r1, 0x1]
+ movs r0, 0x80
+ strb r0, [r1, 0x2]
+ subs r0, 0x81
+_0809A4BA:
+ strb r0, [r1, 0x3]
+_0809A4BC:
+ movs r4, 0
+ movs r5, 0
+_0809A4C0:
+ ldr r0, _0809A4DC
+ lsls r1, r4, 1
+ adds r1, r0
+ ldrh r1, [r1]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A4E0
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A4FC
+ .align 2, 0
+_0809A4DC: .4byte gUnknown_2039998
+_0809A4E0:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A4F2
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ bl sub_8003664
+ b _0809A4FC
+_0809A4F2:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80037C8
+_0809A4FC:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r4, 0x1
+ cmp r4, 0xD
+ ble _0809A4C0
+ movs r4, 0x10
+ movs r5, 0x80
+ lsls r5, 13
+_0809A50E:
+ ldr r0, _0809A52C
+ lsls r1, r4, 1
+ adds r1, r0
+ ldrh r1, [r1]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A530
+ lsrs r0, r5, 16
+ movs r1, 0x80
+ lsls r1, 1
+ bl sub_8003664
+ b _0809A54C
+ .align 2, 0
+_0809A52C: .4byte gUnknown_2039998
+_0809A530:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809A542
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ bl sub_8003664
+ b _0809A54C
+_0809A542:
+ lsrs r0, r5, 16
+ adds r1, r6, 0
+ ldr r2, [sp]
+ bl sub_80037C8
+_0809A54C:
+ movs r0, 0x80
+ lsls r0, 9
+ adds r5, r0
+ adds r4, 0x1
+ cmp r4, 0x1E
+ ble _0809A50E
+_0809A558:
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8099E80
+
+ thumb_func_start sub_809A560
+sub_809A560:
+ push {r4-r6,lr}
+ bl sub_8014144
+ ldr r6, _0809A5F4
+ movs r0, 0xB5
+ lsls r0, 3
+ movs r1, 0x6
+ bl MemoryAlloc
+ str r0, [r6]
+ movs r4, 0
+ str r4, [r0]
+ movs r5, 0x1
+ negs r5, r5
+ str r5, [r0, 0x4]
+ str r5, [r0, 0x8]
+ ldr r0, _0809A5F8
+ strh r4, [r0]
+ ldr r0, _0809A5FC
+ strh r4, [r0]
+ movs r0, 0
+ movs r1, 0x14
+ bl sub_80095CC
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ movs r0, 0
+ movs r1, 0x14
+ bl sub_8009408
+ bl sub_809B294
+ ldr r0, [r6]
+ ldr r2, _0809A600
+ adds r1, r0, r2
+ str r4, [r1]
+ adds r2, 0x4
+ adds r1, r0, r2
+ str r4, [r1]
+ adds r2, 0x4
+ adds r1, r0, r2
+ str r4, [r1]
+ adds r2, 0x4
+ adds r1, r0, r2
+ str r4, [r1]
+ adds r2, 0x4
+ adds r1, r0, r2
+ str r4, [r1]
+ adds r2, 0x4
+ adds r1, r0, r2
+ str r4, [r1]
+ adds r2, 0x4
+ adds r1, r0, r2
+ str r4, [r1]
+ adds r2, 0x4
+ adds r1, r0, r2
+ str r5, [r1]
+ ldr r1, _0809A604
+ adds r0, r1
+ str r5, [r0]
+ bl sub_809A7EC
+ ldr r0, [r6]
+ ldr r2, _0809A608
+ adds r0, r2
+ ldr r1, _0809A60C
+ strh r1, [r0]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809A5F4: .4byte gUnknown_3001B64
+_0809A5F8: .4byte gUnknown_20399DC
+_0809A5FC: .4byte gUnknown_20399DE
+_0809A600: .4byte 0x00000414
+_0809A604: .4byte 0x00000434
+_0809A608: .4byte 0x000005a4
+_0809A60C: .4byte 0x0000ffff
+ thumb_func_end sub_809A560
+
+ thumb_func_start sub_809A610
+sub_809A610:
+ push {r4,lr}
+ bl sub_809A62C
+ ldr r4, _0809A628
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809A628: .4byte gUnknown_3001B64
+ thumb_func_end sub_809A610
+
+ thumb_func_start sub_809A62C
+sub_809A62C:
+ push {r4,lr}
+ ldr r0, _0809A670
+ ldr r0, [r0]
+ movs r2, 0
+ str r2, [r0]
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0, 0x4]
+ str r1, [r0, 0x8]
+ ldr r0, _0809A674
+ strh r2, [r0]
+ ldr r0, _0809A678
+ strh r2, [r0]
+ movs r4, 0
+_0809A648:
+ lsls r0, r4, 16
+ asrs r0, 16
+ bl sub_809A83C
+ adds r4, 0x1
+ cmp r4, 0x9
+ ble _0809A648
+ ldr r0, _0809A670
+ ldr r0, [r0]
+ ldr r1, _0809A67C
+ adds r0, r1
+ movs r1, 0
+ str r1, [r0]
+ movs r0, 0
+ movs r1, 0x1
+ bl sub_809A680
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809A670: .4byte gUnknown_3001B64
+_0809A674: .4byte gUnknown_20399DC
+_0809A678: .4byte gUnknown_20399DE
+_0809A67C: .4byte 0x00000414
+ thumb_func_end sub_809A62C
+
+ thumb_func_start sub_809A680
+sub_809A680:
+ push {r4,lr}
+ adds r4, r0, 0
+ cmp r4, 0x4
+ bhi _0809A6C2
+ lsls r0, r4, 2
+ ldr r1, _0809A694
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0809A694: .4byte _0809A698
+ .align 2, 0
+_0809A698:
+ .4byte _0809A6AC
+ .4byte _0809A6BC
+ .4byte _0809A6BC
+ .4byte _0809A6BC
+ .4byte _0809A6BC
+_0809A6AC:
+ bl sub_809B294
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ b _0809A6D0
+_0809A6BC:
+ bl sub_809B294
+ b _0809A6D0
+_0809A6C2:
+ bl sub_809B294
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+_0809A6D0:
+ ldr r0, _0809A6E0
+ ldr r0, [r0]
+ str r4, [r0]
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0809A6E0: .4byte gUnknown_3001B64
+ thumb_func_end sub_809A680
+
+ thumb_func_start sub_809A6E4
+sub_809A6E4:
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r2, _0809A6F4
+ ldrh r1, [r2]
+ orrs r0, r1
+ strh r0, [r2]
+ bx lr
+ .align 2, 0
+_0809A6F4: .4byte gUnknown_20399DC
+ thumb_func_end sub_809A6E4
+
+ thumb_func_start sub_809A6F8
+sub_809A6F8:
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r2, _0809A708
+ ldrh r1, [r2]
+ bics r1, r0
+ strh r1, [r2]
+ bx lr
+ .align 2, 0
+_0809A708: .4byte gUnknown_20399DC
+ thumb_func_end sub_809A6F8
+
+ thumb_func_start sub_809A70C
+sub_809A70C:
+ ldr r0, _0809A714
+ ldrh r0, [r0]
+ bx lr
+ .align 2, 0
+_0809A714: .4byte gUnknown_20399DC
+ thumb_func_end sub_809A70C
+
+ thumb_func_start nullsub_209
+nullsub_209:
+ bx lr
+ thumb_func_end nullsub_209
+
+ thumb_func_start sub_809A71C
+sub_809A71C:
+ push {lr}
+ adds r1, r0, 0
+ ldr r0, _0809A734
+ ldr r0, [r0]
+ str r1, [r0, 0x4]
+ str r1, [r0, 0x8]
+ adds r0, r1, 0
+ bl sub_801416C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809A734: .4byte gUnknown_3001B64
+ thumb_func_end sub_809A71C
+
+ thumb_func_start sub_809A738
+sub_809A738:
+ push {lr}
+ ldr r2, _0809A74C
+ ldr r2, [r2]
+ str r0, [r2, 0x4]
+ str r1, [r2, 0x8]
+ bl sub_801416C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809A74C: .4byte gUnknown_3001B64
+ thumb_func_end sub_809A738
+
+ thumb_func_start sub_809A750
+sub_809A750:
+ push {lr}
+ ldr r0, _0809A764
+ ldr r0, [r0]
+ adds r0, 0xC
+ bl sub_809B40C
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0809A764: .4byte gUnknown_3001B64
+ thumb_func_end sub_809A750
+
+ thumb_func_start sub_809A768
+sub_809A768:
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_809A768
+
+ thumb_func_start sub_809A76C
+sub_809A76C:
+ push {lr}
+ ldr r0, _0809A78C
+ ldr r0, [r0]
+ ldr r1, [r0]
+ cmp r1, 0x1
+ bcc _0809A7A4
+ cmp r1, 0x2
+ bls _0809A790
+ cmp r1, 0x3
+ bne _0809A7A4
+ adds r0, 0xC
+ movs r2, 0x1
+ negs r2, r2
+ movs r1, 0x4
+ b _0809A798
+ .align 2, 0
+_0809A78C: .4byte gUnknown_3001B64
+_0809A790:
+ adds r0, 0xC
+ movs r2, 0x1
+ negs r2, r2
+ movs r1, 0x84
+_0809A798:
+ movs r3, 0
+ bl sub_809B2B8
+ lsls r0, 24
+ lsrs r0, 24
+ b _0809A7AE
+_0809A7A4:
+ movs r0, 0
+ movs r1, 0x1
+ bl sub_809A680
+ movs r0, 0
+_0809A7AE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809A76C
+
+ thumb_func_start sub_809A7B4
+sub_809A7B4:
+ push {lr}
+ ldr r0, _0809A7D8
+ ldr r0, [r0]
+ ldr r1, [r0]
+ cmp r1, 0x3
+ bhi _0809A7DC
+ cmp r1, 0x1
+ bcc _0809A7DC
+ adds r0, 0xC
+ movs r2, 0x1
+ negs r2, r2
+ movs r1, 0x4
+ movs r3, 0
+ bl sub_809B2B8
+ lsls r0, 24
+ lsrs r0, 24
+ b _0809A7E6
+ .align 2, 0
+_0809A7D8: .4byte gUnknown_3001B64
+_0809A7DC:
+ movs r0, 0
+ movs r1, 0x1
+ bl sub_809A680
+ movs r0, 0
+_0809A7E6:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809A7B4
+
+ thumb_func_start sub_809A7EC
+sub_809A7EC:
+ push {r4-r6,lr}
+ ldr r0, _0809A830
+ ldr r0, [r0]
+ ldr r2, _0809A834
+ adds r1, r0, r2
+ ldr r0, _0809A838
+ adds r6, r0, 0
+ movs r3, 0
+ movs r2, 0
+ movs r4, 0x9
+ movs r5, 0xFF
+_0809A802:
+ ldrh r0, [r1]
+ orrs r0, r6
+ strh r0, [r1]
+ strh r2, [r1, 0x2]
+ strb r3, [r1, 0x4]
+ strb r3, [r1, 0x5]
+ ldrb r0, [r1, 0x6]
+ orrs r0, r5
+ strb r0, [r1, 0x6]
+ strb r3, [r1, 0x7]
+ str r2, [r1, 0x8]
+ str r2, [r1, 0xC]
+ str r2, [r1, 0x10]
+ str r2, [r1, 0x14]
+ strb r3, [r1, 0x1C]
+ str r2, [r1, 0x20]
+ subs r4, 0x1
+ adds r1, 0x24
+ cmp r4, 0
+ bge _0809A802
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809A830: .4byte gUnknown_3001B64
+_0809A834: .4byte 0x0000043c
+_0809A838: .4byte 0x0000ffff
+ thumb_func_end sub_809A7EC
+
+ thumb_func_start sub_809A83C
+sub_809A83C:
+ push {r4-r7,lr}
+ lsls r0, 16
+ asrs r0, 16
+ ldr r2, _0809A8A0
+ lsls r1, r0, 3
+ adds r1, r0
+ lsls r1, 2
+ ldr r3, _0809A8A4
+ adds r1, r3
+ ldr r2, [r2]
+ adds r6, r2, r1
+ ldr r1, _0809A8A8
+ strh r1, [r6]
+ movs r2, 0
+ movs r7, 0
+ strh r7, [r6, 0x2]
+ strb r2, [r6, 0x4]
+ strb r2, [r6, 0x5]
+ movs r1, 0xFF
+ strb r1, [r6, 0x6]
+ strb r2, [r6, 0x7]
+ str r7, [r6, 0x8]
+ str r7, [r6, 0xC]
+ str r7, [r6, 0x10]
+ str r7, [r6, 0x14]
+ strb r2, [r6, 0x1C]
+ lsls r4, r0, 2
+ adds r4, r0
+ lsls r4, 4
+ ldr r0, _0809A8AC
+ adds r0, r4, r0
+ ldr r5, _0809A8B0
+ adds r1, r5, 0
+ bl strcpy
+ ldr r0, _0809A8B4
+ adds r4, r0
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl strcpy
+ ldr r0, [r6, 0x20]
+ cmp r0, 0
+ beq _0809A89A
+ bl CloseFile
+ str r7, [r6, 0x20]
+_0809A89A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809A8A0: .4byte gUnknown_3001B64
+_0809A8A4: .4byte 0x0000043c
+_0809A8A8: .4byte 0x0000ffff
+_0809A8AC: .4byte gUnknown_202DF98
+_0809A8B0: .4byte gUnknown_811615C
+_0809A8B4: .4byte gPlayerName
+ thumb_func_end sub_809A83C
+
+ thumb_func_start sub_809A8B8
+sub_809A8B8:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ lsls r0, 16
+ asrs r0, 16
+ mov r9, r0
+ mov r0, sp
+ strh r1, [r0]
+ ldr r1, _0809A928
+ mov r2, r9
+ lsls r0, r2, 3
+ add r0, r9
+ lsls r0, 2
+ ldr r2, _0809A92C
+ adds r0, r2
+ ldr r1, [r1]
+ adds r7, r1, r0
+ movs r0, 0x1
+ mov r10, r0
+ movs r1, 0
+ str r1, [sp, 0x4]
+ ldr r0, [r7, 0x20]
+ cmp r0, 0
+ beq _0809A8F6
+ bl CloseFile
+ ldr r2, [sp, 0x4]
+ str r2, [r7, 0x20]
+_0809A8F6:
+ mov r4, sp
+ adds r4, 0x2
+ mov r0, sp
+ adds r1, r4, 0
+ bl sub_80A7DDC
+ mov r0, sp
+ ldrh r0, [r0]
+ subs r0, 0xA
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x13
+ bhi _0809A9D6
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ bl sub_80A8D54
+ adds r5, r0, 0
+ cmp r5, 0
+ bne _0809A930
+ movs r2, 0
+ mov r10, r2
+ b _0809A9D6
+ .align 2, 0
+_0809A928: .4byte gUnknown_3001B64
+_0809A92C: .4byte 0x0000043c
+_0809A930:
+ bl sub_808D3BC
+ cmp r5, r0
+ bne _0809A940
+ mov r1, sp
+ movs r0, 0x21
+ strh r0, [r1]
+ b _0809A9D6
+_0809A940:
+ bl sub_808D3F8
+ cmp r5, r0
+ bne _0809A950
+ mov r1, sp
+ movs r0, 0x22
+ strh r0, [r1]
+ b _0809A9D6
+_0809A950:
+ ldrb r0, [r5, 0x4]
+ subs r0, 0x43
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ bhi _0809A990
+ movs r0, 0
+ ldrsh r1, [r4, r0]
+ ldr r0, _0809A978
+ cmp r1, r0
+ beq _0809A9D6
+ cmp r1, r0
+ ble _0809A97C
+ adds r0, 0x16
+ cmp r1, r0
+ bgt _0809A98A
+ subs r0, 0x1
+ cmp r1, r0
+ blt _0809A98A
+ b _0809A9D6
+ .align 2, 0
+_0809A978: .4byte 0x00000183
+_0809A97C:
+ movs r0, 0x82
+ lsls r0, 1
+ cmp r1, r0
+ beq _0809A9D6
+ adds r0, 0x2F
+ cmp r1, r0
+ beq _0809A9D6
+_0809A98A:
+ movs r1, 0
+ mov r10, r1
+ b _0809A9D6
+_0809A990:
+ movs r2, 0
+ ldrsh r1, [r4, r2]
+ movs r0, 0x87
+ lsls r0, 1
+ cmp r1, r0
+ bgt _0809A9B0
+ subs r0, 0x2
+ cmp r1, r0
+ bge _0809A9D6
+ cmp r1, 0x90
+ blt _0809A9D2
+ cmp r1, 0x92
+ ble _0809A9D6
+ cmp r1, 0x96
+ beq _0809A9D6
+ b _0809A9D2
+_0809A9B0:
+ movs r0, 0xCF
+ lsls r0, 1
+ cmp r1, r0
+ bgt _0809A9CC
+ subs r0, 0x4
+ cmp r1, r0
+ bge _0809A9D6
+ subs r0, 0x87
+ cmp r1, r0
+ bgt _0809A9D2
+ subs r0, 0x1
+ cmp r1, r0
+ blt _0809A9D2
+ b _0809A9D6
+_0809A9CC:
+ ldr r0, _0809A9F0
+ cmp r1, r0
+ beq _0809A9D6
+_0809A9D2:
+ movs r0, 0
+ mov r10, r0
+_0809A9D6:
+ mov r0, sp
+ ldrh r0, [r0]
+ subs r0, 0x1
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x21
+ bhi _0809AA98
+ lsls r0, 2
+ ldr r1, _0809A9F4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0809A9F0: .4byte 0x000001a7
+_0809A9F4: .4byte _0809A9F8
+ .align 2, 0
+_0809A9F8:
+ .4byte _0809AA80
+ .4byte _0809AA80
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA80
+ .4byte _0809AA80
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA98
+ .4byte _0809AA80
+ .4byte _0809AA80
+_0809AA80:
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ bl sub_80A8CF0
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809AA94
+ movs r2, 0x1
+ str r2, [sp, 0x4]
+ b _0809AA98
+_0809AA94:
+ movs r0, 0
+ mov r10, r0
+_0809AA98:
+ mov r0, sp
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _0809AB34
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ bl sub_80A7AE8
+ lsls r0, 16
+ asrs r1, r0, 16
+ cmp r1, 0
+ blt _0809AACE
+ mov r0, sp
+ ldrh r0, [r0]
+ movs r2, 0
+ mov r8, r2
+ movs r6, 0
+ strh r0, [r7]
+ adds r0, r1, 0
+ bl sub_80A8BFC
+ strh r0, [r7, 0x2]
+ b _0809AAE6
+_0809AACE:
+ ldrh r1, [r4]
+ movs r2, 0
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _0809AB34
+ mov r0, sp
+ ldrh r0, [r0]
+ movs r2, 0
+ mov r8, r2
+ movs r6, 0
+ strh r0, [r7]
+ strh r1, [r7, 0x2]
+_0809AAE6:
+ mov r0, r9
+ lsls r4, r0, 2
+ add r4, r9
+ lsls r4, 4
+ ldr r0, _0809AB28
+ adds r0, r4, r0
+ ldr r5, _0809AB2C
+ adds r1, r5, 0
+ bl strcpy
+ ldr r0, _0809AB30
+ adds r4, r0
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl strcpy
+ mov r1, r10
+ strb r1, [r7, 0x4]
+ mov r2, sp
+ ldrb r2, [r2, 0x4]
+ strb r2, [r7, 0x5]
+ movs r0, 0xFF
+ strb r0, [r7, 0x6]
+ mov r0, r8
+ strb r0, [r7, 0x7]
+ str r6, [r7, 0x8]
+ str r6, [r7, 0xC]
+ str r6, [r7, 0x10]
+ str r6, [r7, 0x14]
+ strb r0, [r7, 0x1C]
+ movs r0, 0x1
+ b _0809AB3C
+ .align 2, 0
+_0809AB28: .4byte gUnknown_202DF98
+_0809AB2C: .4byte gUnknown_811616C
+_0809AB30: .4byte gPlayerName
+_0809AB34:
+ mov r0, r9
+ bl sub_809A83C
+ movs r0, 0
+_0809AB3C:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809A8B8
+
+ thumb_func_start sub_809AB4C
+sub_809AB4C:
+ push {r4-r6,lr}
+ lsls r0, 16
+ asrs r5, r0, 16
+ lsls r1, 16
+ asrs r1, 16
+ ldr r2, _0809AB78
+ lsls r0, r5, 3
+ adds r0, r5
+ lsls r0, 2
+ ldr r3, _0809AB7C
+ adds r0, r3
+ ldr r2, [r2]
+ adds r6, r2, r0
+ adds r0, r5, 0
+ bl sub_809A8B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809AB80
+ movs r0, 0
+ b _0809ABA0
+ .align 2, 0
+_0809AB78: .4byte gUnknown_3001B64
+_0809AB7C: .4byte 0x0000043c
+_0809AB80:
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 4
+ ldr r0, _0809ABA8
+ adds r0, r4, r0
+ movs r2, 0x2
+ ldrsh r1, [r6, r2]
+ bl sub_808D908
+ ldr r0, _0809ABAC
+ adds r4, r0
+ ldr r1, _0809ABB0
+ adds r0, r4, 0
+ bl strcpy
+ movs r0, 0x1
+_0809ABA0:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0809ABA8: .4byte gUnknown_202DF98
+_0809ABAC: .4byte gPlayerName
+_0809ABB0: .4byte gUnknown_811617C
+ thumb_func_end sub_809AB4C
+
+ thumb_func_start sub_809ABB4
+sub_809ABB4:
+ push {r4-r6,lr}
+ lsls r0, 16
+ asrs r5, r0, 16
+ lsls r1, 16
+ asrs r1, 16
+ ldr r2, _0809ABE0
+ lsls r0, r5, 3
+ adds r0, r5
+ lsls r0, 2
+ ldr r3, _0809ABE4
+ adds r0, r3
+ ldr r2, [r2]
+ adds r6, r2, r0
+ adds r0, r5, 0
+ bl sub_809A8B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809ABE8
+ movs r0, 0
+ b _0809AC0A
+ .align 2, 0
+_0809ABE0: .4byte gUnknown_3001B64
+_0809ABE4: .4byte 0x0000043c
+_0809ABE8:
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 4
+ ldr r5, _0809AC10
+ adds r5, r4, r5
+ movs r0, 0x2
+ ldrsh r1, [r6, r0]
+ adds r0, r5, 0
+ bl sub_808D908
+ ldr r0, _0809AC14
+ adds r4, r0
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl strcpy
+ movs r0, 0x1
+_0809AC0A:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0809AC10: .4byte gUnknown_202DF98
+_0809AC14: .4byte gPlayerName
+ thumb_func_end sub_809ABB4
+
+ thumb_func_start sub_809AC18
+sub_809AC18:
+ push {r4-r6,lr}
+ lsls r0, 16
+ asrs r5, r0, 16
+ lsls r1, 16
+ asrs r1, 16
+ ldr r2, _0809AC44
+ lsls r0, r5, 3
+ adds r0, r5
+ lsls r0, 2
+ ldr r3, _0809AC48
+ adds r0, r3
+ ldr r2, [r2]
+ adds r6, r2, r0
+ adds r0, r5, 0
+ bl sub_809A8B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809AC4C
+ movs r0, 0
+ b _0809AC6E
+ .align 2, 0
+_0809AC44: .4byte gUnknown_3001B64
+_0809AC48: .4byte 0x0000043c
+_0809AC4C:
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 4
+ ldr r0, _0809AC74
+ adds r0, r4, r0
+ movs r2, 0x2
+ ldrsh r1, [r6, r2]
+ bl sub_808D908
+ ldr r0, _0809AC78
+ adds r4, r0
+ movs r3, 0
+ ldrsh r1, [r6, r3]
+ adds r0, r4, 0
+ bl sub_80A8EC0
+ movs r0, 0x1
+_0809AC6E:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0809AC74: .4byte gUnknown_202DF98
+_0809AC78: .4byte gPlayerName
+ thumb_func_end sub_809AC18
+
+ thumb_func_start sub_809AC7C
+sub_809AC7C:
+ push {r4-r6,lr}
+ lsls r0, 16
+ asrs r0, 16
+ lsls r1, 24
+ asrs r5, r1, 24
+ lsls r2, 24
+ lsrs r6, r2, 24
+ ldr r2, _0809AD10
+ lsls r1, r0, 3
+ adds r1, r0
+ lsls r1, 2
+ ldr r0, _0809AD14
+ adds r1, r0
+ ldr r0, [r2]
+ adds r4, r0, r1
+ ldr r0, [r4, 0x20]
+ cmp r0, 0
+ beq _0809ACA8
+ bl CloseFile
+ movs r0, 0
+ str r0, [r4, 0x20]
+_0809ACA8:
+ movs r0, 0x2
+ ldrsh r1, [r4, r0]
+ cmp r1, 0
+ bge _0809ACB2
+ b _0809ADC0
+_0809ACB2:
+ movs r0, 0x1
+ negs r0, r0
+ cmp r5, r0
+ bne _0809ACBC
+ b _0809ADC0
+_0809ACBC:
+ cmp r1, 0
+ bne _0809ACC2
+ b _0809ADC0
+_0809ACC2:
+ cmp r6, 0x15
+ beq _0809ACCE
+ movs r0, 0
+ strb r6, [r4, 0x7]
+ str r0, [r4, 0x8]
+ str r0, [r4, 0xC]
+_0809ACCE:
+ ldr r2, _0809AD18
+ ldrb r0, [r4, 0x7]
+ lsls r0, 3
+ adds r0, r2
+ ldr r1, [r4, 0x8]
+ ldrh r0, [r0]
+ adds r0, r1
+ movs r6, 0
+ movs r3, 0
+ strh r0, [r4, 0x18]
+ ldrb r0, [r4, 0x7]
+ lsls r0, 3
+ adds r0, r2
+ ldr r1, [r4, 0xC]
+ ldrh r0, [r0, 0x2]
+ adds r0, r1
+ strh r0, [r4, 0x1A]
+ ldrb r0, [r4, 0x7]
+ lsls r0, 3
+ adds r0, r2
+ ldrb r0, [r0, 0x4]
+ strb r0, [r4, 0x1D]
+ strb r6, [r4, 0x1E]
+ movs r0, 0x2
+ negs r0, r0
+ cmp r5, r0
+ bne _0809AD1C
+ strb r5, [r4, 0x6]
+ str r3, [r4, 0x10]
+ str r3, [r4, 0x14]
+ strb r6, [r4, 0x1C]
+ movs r0, 0
+ b _0809ADD2
+ .align 2, 0
+_0809AD10: .4byte gUnknown_3001B64
+_0809AD14: .4byte 0x0000043c
+_0809AD18: .4byte gUnknown_8116040
+_0809AD1C:
+ ldrb r0, [r4, 0x4]
+ cmp r0, 0
+ beq _0809ADC0
+ movs r1, 0x2
+ ldrsh r0, [r4, r1]
+ bl sub_808DD90
+ str r0, [r4, 0x20]
+ cmp r0, 0
+ beq _0809ADB6
+ strb r5, [r4, 0x6]
+ str r0, [r4, 0x10]
+ movs r1, 0
+ bl GetFileDataPtr
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x4D
+ beq _0809AD62
+ cmp r0, 0x4D
+ bgt _0809AD4C
+ cmp r0, 0x47
+ beq _0809AD56
+ b _0809ADA8
+_0809AD4C:
+ cmp r0, 0x53
+ beq _0809AD76
+ cmp r0, 0x73
+ beq _0809AD8A
+ b _0809ADA8
+_0809AD56:
+ movs r0, 0xF
+ ands r0, r5
+ cmp r0, 0x5
+ bgt _0809ADA8
+ adds r0, r5, 0x6
+ b _0809AD9C
+_0809AD62:
+ ldrb r0, [r4, 0x1D]
+ cmp r0, 0
+ beq _0809ADA8
+ movs r0, 0xF
+ ands r0, r5
+ cmp r0, 0x3
+ bgt _0809ADA8
+ strb r6, [r4, 0x1D]
+ adds r0, r5, 0x4
+ b _0809AD9C
+_0809AD76:
+ ldrb r0, [r4, 0x1D]
+ cmp r0, 0
+ beq _0809ADA8
+ movs r0, 0xF
+ ands r0, r5
+ cmp r0, 0
+ bgt _0809ADA8
+ strb r6, [r4, 0x1D]
+ adds r0, r5, 0x1
+ b _0809AD9C
+_0809AD8A:
+ ldrb r0, [r4, 0x1D]
+ cmp r0, 0
+ beq _0809ADA8
+ movs r0, 0xF
+ ands r0, r5
+ cmp r0, 0x1
+ bgt _0809ADA8
+ strb r6, [r4, 0x1D]
+ adds r0, r5, 0x2
+_0809AD9C:
+ lsls r0, 24
+ asrs r5, r0, 24
+ movs r0, 0x40
+ orrs r5, r0
+ lsls r0, r5, 24
+ asrs r5, r0, 24
+_0809ADA8:
+ ldr r0, [r4, 0x20]
+ ldr r0, [r0, 0x4]
+ str r0, [r4, 0x14]
+ movs r0, 0xF
+ ands r5, r0
+ strb r5, [r4, 0x1C]
+ b _0809ADBC
+_0809ADB6:
+ str r0, [r4, 0x10]
+ str r0, [r4, 0x14]
+ strb r6, [r4, 0x1C]
+_0809ADBC:
+ movs r0, 0x1
+ b _0809ADD2
+_0809ADC0:
+ movs r0, 0xFF
+ strb r0, [r4, 0x6]
+ movs r0, 0
+ strb r0, [r4, 0x7]
+ str r0, [r4, 0x8]
+ str r0, [r4, 0xC]
+ str r0, [r4, 0x10]
+ str r0, [r4, 0x14]
+ strb r0, [r4, 0x1C]
+_0809ADD2:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809AC7C
+
+ thumb_func_start sub_809ADD8
+sub_809ADD8:
+ push {r4,lr}
+ adds r4, r1, 0
+ lsls r0, 16
+ asrs r0, 16
+ ldr r2, _0809AE28
+ lsls r1, r0, 3
+ adds r1, r0
+ lsls r1, 2
+ ldr r0, _0809AE2C
+ adds r1, r0
+ ldr r0, [r2]
+ adds r3, r0, r1
+ movs r1, 0x2
+ ldrsh r0, [r3, r1]
+ cmp r0, 0
+ blt _0809AE34
+ cmp r0, 0
+ beq _0809AE34
+ ldr r0, [r4]
+ ldr r1, [r4, 0x4]
+ str r0, [r3, 0x8]
+ str r1, [r3, 0xC]
+ ldr r2, _0809AE30
+ ldrb r0, [r3, 0x7]
+ lsls r0, 3
+ adds r0, r2
+ ldr r1, [r3, 0x8]
+ ldrh r0, [r0]
+ adds r0, r1
+ strh r0, [r3, 0x18]
+ ldrb r0, [r3, 0x7]
+ lsls r0, 3
+ adds r0, r2
+ ldr r1, [r3, 0xC]
+ ldrh r0, [r0, 0x2]
+ adds r0, r1
+ strh r0, [r3, 0x1A]
+ movs r0, 0x1
+ b _0809AE36
+ .align 2, 0
+_0809AE28: .4byte gUnknown_3001B64
+_0809AE2C: .4byte 0x0000043c
+_0809AE30: .4byte gUnknown_8116040
+_0809AE34:
+ movs r0, 0
+_0809AE36:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809ADD8
+
+ thumb_func_start sub_809AE3C
+sub_809AE3C:
+ push {r4,lr}
+ lsls r0, 16
+ asrs r2, r0, 16
+ cmp r2, 0
+ blt _0809AE88
+ ldr r1, _0809AE80
+ lsls r0, r2, 3
+ adds r0, r2
+ lsls r0, 2
+ ldr r3, _0809AE84
+ adds r0, r3
+ ldr r1, [r1]
+ adds r4, r1, r0
+ movs r1, 0x2
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _0809AE74
+ movs r1, 0x6
+ ldrsb r1, [r4, r1]
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ bne _0809AE74
+ adds r0, r2, 0
+ movs r1, 0
+ movs r2, 0
+ bl sub_809AC7C
+_0809AE74:
+ ldr r0, [r4, 0x10]
+ cmp r0, 0
+ beq _0809AE88
+ adds r0, r4, 0
+ adds r0, 0x10
+ b _0809AE8A
+ .align 2, 0
+_0809AE80: .4byte gUnknown_3001B64
+_0809AE84: .4byte 0x0000043c
+_0809AE88:
+ movs r0, 0
+_0809AE8A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809AE3C
+
+ thumb_func_start sub_809AE90
+sub_809AE90:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r4, r2, 0
+ lsls r1, 16
+ asrs r6, r1, 16
+ cmp r4, 0
+ bne _0809AEA4
+ bl sub_809A76C
+ b _0809AEE0
+_0809AEA4:
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _0809AEDC
+ ldr r1, _0809AED0
+ lsls r0, r5, 2
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0
+ bl sub_809A680
+ ldr r0, _0809AED4
+ ldr r0, [r0]
+ adds r0, 0xC
+ ldr r2, _0809AED8
+ lsls r1, r5, 1
+ adds r1, r2
+ ldrh r1, [r1]
+ adds r2, r6, 0
+ adds r3, r4, 0
+ bl sub_809B2B8
+ b _0809AEE0
+ .align 2, 0
+_0809AED0: .4byte gUnknown_8116134
+_0809AED4: .4byte gUnknown_3001B64
+_0809AED8: .4byte gUnknown_8116148
+_0809AEDC:
+ bl sub_809A7B4
+_0809AEE0:
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809AE90
+
+ thumb_func_start sub_809AEEC
+sub_809AEEC:
+ push {r4,lr}
+ adds r4, r0, 0
+ cmp r4, 0
+ beq _0809AF1C
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _0809AF1C
+ movs r0, 0x2
+ movs r1, 0x1
+ bl sub_809A680
+ ldr r0, _0809AF18
+ ldr r0, [r0]
+ adds r0, 0xC
+ movs r2, 0x1
+ negs r2, r2
+ movs r1, 0xC2
+ adds r3, r4, 0
+ bl sub_809B2B8
+ b _0809AF20
+ .align 2, 0
+_0809AF18: .4byte gUnknown_3001B64
+_0809AF1C:
+ bl sub_809A76C
+_0809AF20:
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809AEEC
+
+ thumb_func_start sub_809AF2C
+sub_809AF2C:
+ push {r4,lr}
+ adds r4, r0, 0
+ cmp r4, 0
+ beq _0809AF5C
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _0809AF5C
+ movs r0, 0x2
+ movs r1, 0x1
+ bl sub_809A680
+ ldr r0, _0809AF58
+ ldr r0, [r0]
+ adds r0, 0xC
+ movs r2, 0x1
+ negs r2, r2
+ movs r1, 0xC2
+ adds r3, r4, 0
+ bl sub_809B2B8
+ b _0809AF60
+ .align 2, 0
+_0809AF58: .4byte gUnknown_3001B64
+_0809AF5C:
+ bl sub_809A76C
+_0809AF60:
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809AF2C
+
+ thumb_func_start sub_809AF6C
+sub_809AF6C:
+ push {r4,lr}
+ adds r4, r1, 0
+ cmp r4, 0
+ beq _0809AF9C
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _0809AF9C
+ movs r0, 0x3
+ movs r1, 0x1
+ bl sub_809A680
+ ldr r0, _0809AF98
+ ldr r0, [r0]
+ adds r0, 0xC
+ movs r2, 0x1
+ negs r2, r2
+ movs r1, 0x65
+ adds r3, r4, 0
+ bl sub_809B2B8
+ b _0809AFA0
+ .align 2, 0
+_0809AF98: .4byte gUnknown_3001B64
+_0809AF9C:
+ bl sub_809A76C
+_0809AFA0:
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809AF6C
+
+ thumb_func_start sub_809AFAC
+sub_809AFAC:
+ push {lr}
+ movs r1, 0
+ ldr r0, _0809AFC4
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x4
+ bne _0809AFBC
+ movs r1, 0x1
+_0809AFBC:
+ adds r0, r1, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0809AFC4: .4byte gUnknown_3001B64
+ thumb_func_end sub_809AFAC
+
+ thumb_func_start sub_809AFC8
+sub_809AFC8:
+ push {r4,r5,lr}
+ sub sp, 0x8
+ adds r5, r1, 0
+ adds r1, r2, 0
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 16
+ asrs r1, 16
+ ldr r4, _0809AFF8
+ negs r2, r0
+ orrs r2, r0
+ lsrs r2, 31
+ str r1, [sp]
+ str r3, [sp, 0x4]
+ adds r0, r4, 0
+ movs r1, 0
+ adds r3, r5, 0
+ bl sub_809B028
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809AFF8: .4byte gUnknown_81160E8
+ thumb_func_end sub_809AFC8
+
+ thumb_func_start sub_809AFFC
+sub_809AFFC:
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ mov r0, sp
+ bl sub_809B18C
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r4, 0
+ beq _0809B01C
+ movs r1, 0
+ ldr r0, [sp]
+ cmp r0, 0x1
+ bne _0809B01A
+ movs r1, 0x1
+_0809B01A:
+ strb r1, [r4]
+_0809B01C:
+ adds r0, r2, 0
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809AFFC
+
+ thumb_func_start sub_809B028
+sub_809B028:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x14
+ mov r8, r0
+ adds r7, r2, 0
+ adds r6, r3, 0
+ ldr r0, [sp, 0x2C]
+ lsls r1, 24
+ lsrs r5, r1, 24
+ lsls r0, 16
+ asrs r4, r0, 16
+ ldr r1, _0809B084
+ lsls r0, r6, 2
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0
+ bl sub_809A680
+ ldr r0, _0809B088
+ ldr r1, [r0]
+ ldr r0, _0809B08C
+ adds r2, r1, r0
+ movs r0, 0x1
+ str r0, [r2]
+ movs r0, 0x83
+ lsls r0, 3
+ adds r2, r1, r0
+ movs r0, 0
+ str r0, [r2]
+ ldr r2, _0809B090
+ adds r0, r1, r2
+ mov r2, r8
+ str r2, [r0]
+ movs r2, 0x84
+ lsls r2, 3
+ adds r0, r1, r2
+ movs r2, 0x2
+ str r2, [r0]
+ ldr r0, _0809B094
+ adds r1, r0
+ cmp r5, 0
+ beq _0809B098
+ str r2, [r1]
+ b _0809B09A
+ .align 2, 0
+_0809B084: .4byte gUnknown_8116134
+_0809B088: .4byte gUnknown_3001B64
+_0809B08C: .4byte 0x00000414
+_0809B090: .4byte 0x0000041c
+_0809B094: .4byte 0x00000424
+_0809B098:
+ str r5, [r1]
+_0809B09A:
+ ldr r0, _0809B0D4
+ ldr r0, [r0]
+ movs r1, 0x85
+ lsls r1, 3
+ adds r2, r0, r1
+ movs r1, 0
+ str r1, [r2]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r0, r2
+ str r7, [r0]
+ ldr r0, _0809B0D8
+ lsls r2, r6, 1
+ adds r0, r2, r0
+ ldrh r1, [r0]
+ movs r0, 0x80
+ lsls r0, 1
+ ands r0, r1
+ adds r5, r2, 0
+ cmp r0, 0
+ beq _0809B0F6
+ cmp r4, 0
+ bge _0809B0E4
+ ldr r0, _0809B0DC
+ ldr r1, _0809B0E0
+ bl strcpy
+ b _0809B0F6
+ .align 2, 0
+_0809B0D4: .4byte gUnknown_3001B64
+_0809B0D8: .4byte gUnknown_8116148
+_0809B0DC: .4byte gUnknown_202E5D8
+_0809B0E0: .4byte gUnknown_8116180
+_0809B0E4:
+ ldr r0, _0809B134
+ ldr r1, _0809B138
+ lsls r2, r4, 2
+ adds r2, r4
+ lsls r2, 4
+ ldr r3, _0809B13C
+ adds r2, r3
+ bl sub_800D158
+_0809B0F6:
+ adds r0, r4, 0
+ bl sub_809AE3C
+ ldr r4, _0809B140
+ movs r1, 0
+ str r1, [sp]
+ movs r3, 0x4
+ str r3, [sp, 0x4]
+ str r1, [sp, 0x8]
+ str r0, [sp, 0xC]
+ ldr r0, _0809B144
+ adds r0, r5, r0
+ ldrh r2, [r0]
+ movs r0, 0x80
+ lsls r0, 1
+ ands r0, r2
+ cmp r0, 0
+ beq _0809B11C
+ movs r1, 0xC
+_0809B11C:
+ movs r0, 0x80
+ lsls r0, 2
+ ands r0, r2
+ cmp r0, 0
+ beq _0809B128
+ orrs r1, r3
+_0809B128:
+ movs r0, 0x20
+ ands r0, r2
+ cmp r0, 0
+ beq _0809B148
+ movs r0, 0x21
+ b _0809B14A
+ .align 2, 0
+_0809B134: .4byte gUnknown_202E5D8
+_0809B138: .4byte gUnknown_8116188
+_0809B13C: .4byte gPlayerName
+_0809B140: .4byte sub_809B428
+_0809B144: .4byte gUnknown_8116148
+_0809B148:
+ movs r0, 0x1
+_0809B14A:
+ orrs r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ str r0, [sp, 0x10]
+ ldr r0, [sp, 0x30]
+ adds r1, r4, 0
+ adds r2, r7, 0
+ mov r3, r8
+ bl sub_8014248
+ ldr r0, _0809B184
+ ldr r0, [r0]
+ ldr r1, _0809B188
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _0809B176
+ movs r0, 0x1
+ bl sub_809A6E4
+_0809B176:
+ add sp, 0x14
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809B184: .4byte gUnknown_3001B64
+_0809B188: .4byte 0x00000424
+ thumb_func_end sub_809B028
+
+ thumb_func_start sub_809B18C
+sub_809B18C:
+ push {lr}
+ adds r1, r0, 0
+ ldr r2, _0809B1BC
+ cmp r1, 0
+ beq _0809B1A2
+ ldr r0, [r2]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ ldr r0, [r0]
+ str r0, [r1]
+_0809B1A2:
+ movs r1, 0
+ ldr r0, [r2]
+ movs r2, 0x84
+ lsls r2, 3
+ adds r0, r2
+ ldr r0, [r0]
+ cmp r0, 0x3
+ bne _0809B1B4
+ movs r1, 0x1
+_0809B1B4:
+ adds r0, r1, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0809B1BC: .4byte gUnknown_3001B64
+ thumb_func_end sub_809B18C
+
+ thumb_func_start sub_809B1C0
+sub_809B1C0:
+ push {lr}
+ adds r3, r2, 0
+ movs r2, 0
+ bl sub_809B1D4
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809B1C0
+
+ thumb_func_start sub_809B1D4
+sub_809B1D4:
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ adds r6, r2, 0
+ adds r7, r3, 0
+ cmp r4, 0xB
+ beq _0809B1E8
+ cmp r4, 0xC
+ beq _0809B1F0
+ b _0809B202
+_0809B1E8:
+ adds r0, r5, 0
+ bl sub_8021700
+ b _0809B1F8
+_0809B1F0:
+ bl sub_8001D88
+ bl sub_802FCF0
+_0809B1F8:
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809B202
+ movs r0, 0
+ b _0809B24C
+_0809B202:
+ movs r0, 0x4
+ movs r1, 0
+ bl sub_809A680
+ ldr r0, _0809B254
+ ldr r1, [r0]
+ ldr r2, _0809B258
+ adds r0, r1, r2
+ str r4, [r0]
+ movs r3, 0x83
+ lsls r3, 3
+ adds r0, r1, r3
+ movs r2, 0
+ str r2, [r0]
+ adds r3, 0x4
+ adds r0, r1, r3
+ str r2, [r0]
+ movs r0, 0x84
+ lsls r0, 3
+ adds r2, r1, r0
+ movs r0, 0x1
+ str r0, [r2]
+ ldr r2, _0809B25C
+ adds r0, r1, r2
+ str r5, [r0]
+ adds r3, 0xC
+ adds r0, r1, r3
+ str r6, [r0]
+ adds r2, 0x8
+ adds r0, r1, r2
+ str r7, [r0]
+ adds r3, 0x8
+ adds r1, r3
+ movs r0, 0x1
+ negs r0, r0
+ str r0, [r1]
+ movs r0, 0x1
+_0809B24C:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0809B254: .4byte gUnknown_3001B64
+_0809B258: .4byte 0x00000414
+_0809B25C: .4byte 0x00000424
+ thumb_func_end sub_809B1D4
+
+ thumb_func_start sub_809B260
+sub_809B260:
+ push {lr}
+ adds r1, r0, 0
+ ldr r2, _0809B290
+ cmp r1, 0
+ beq _0809B276
+ ldr r0, [r2]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ ldr r0, [r0]
+ str r0, [r1]
+_0809B276:
+ movs r1, 0
+ ldr r0, [r2]
+ movs r2, 0x84
+ lsls r2, 3
+ adds r0, r2
+ ldr r0, [r0]
+ cmp r0, 0x3
+ bne _0809B288
+ movs r1, 0x1
+_0809B288:
+ adds r0, r1, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0809B290: .4byte gUnknown_3001B64
+ thumb_func_end sub_809B260
+
+ thumb_func_start sub_809B294
+sub_809B294:
+ push {lr}
+ movs r0, 0x3
+ bl sub_80063D8
+ ldr r0, _0809B2B4
+ ldr r0, [r0]
+ adds r0, 0xC
+ movs r2, 0x1
+ negs r2, r2
+ movs r1, 0
+ movs r3, 0
+ bl sub_809B2B8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809B2B4: .4byte gUnknown_3001B64
+ thumb_func_end sub_809B294
+
+ thumb_func_start sub_809B2B8
+sub_809B2B8:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x14
+ adds r4, r0, 0
+ adds r7, r3, 0
+ lsls r1, 16
+ lsrs r5, r1, 16
+ lsls r2, 16
+ asrs r6, r2, 16
+ strh r5, [r4]
+ cmp r7, 0
+ bne _0809B2F6
+ cmp r5, 0
+ bne _0809B2DE
+ str r7, [r4, 0x4]
+ movs r0, 0
+ b _0809B3FC
+_0809B2DE:
+ movs r0, 0x4
+ ands r0, r5
+ cmp r0, 0
+ bne _0809B2E8
+ b _0809B3FA
+_0809B2E8:
+ bl sub_8014490
+ movs r0, 0
+ movs r1, 0x1
+ bl sub_809A680
+ b _0809B3FA
+_0809B2F6:
+ movs r0, 0x1
+ str r0, [r4, 0x4]
+ adds r0, 0xFF
+ ands r0, r5
+ cmp r0, 0
+ beq _0809B32A
+ cmp r6, 0
+ bge _0809B318
+ ldr r0, _0809B310
+ ldr r1, _0809B314
+ bl strcpy
+ b _0809B32A
+ .align 2, 0
+_0809B310: .4byte gUnknown_202E5D8
+_0809B314: .4byte gUnknown_8116180
+_0809B318:
+ ldr r0, _0809B3D0
+ ldr r1, _0809B3D4
+ lsls r2, r6, 2
+ adds r2, r6
+ lsls r2, 4
+ ldr r3, _0809B3D8
+ adds r2, r3
+ bl sub_800D158
+_0809B32A:
+ ldr r0, _0809B3DC
+ mov r8, r0
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x3
+ bne _0809B344
+ adds r4, 0x8
+ ldr r1, _0809B3E0
+ adds r0, r4, 0
+ adds r2, r7, 0
+ bl sub_800D158
+ adds r7, r4, 0
+_0809B344:
+ adds r0, r6, 0
+ bl sub_809AE3C
+ ldr r1, _0809B3E4
+ mov r9, r1
+ movs r1, 0x1
+ negs r1, r1
+ mov r12, r1
+ movs r2, 0
+ str r2, [sp]
+ movs r1, 0x3
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ str r0, [sp, 0xC]
+ movs r6, 0x80
+ lsls r6, 1
+ adds r0, r5, 0
+ ands r0, r6
+ movs r1, 0
+ cmp r0, 0
+ beq _0809B370
+ movs r1, 0xC
+_0809B370:
+ movs r4, 0x80
+ lsls r4, 2
+ adds r0, r5, 0
+ ands r0, r4
+ cmp r0, 0
+ beq _0809B380
+ movs r0, 0x4
+ orrs r1, r0
+_0809B380:
+ mov r0, r8
+ ldr r3, [r0]
+ ldr r2, [r3]
+ cmp r2, 0x3
+ bne _0809B38E
+ movs r0, 0x10
+ orrs r1, r0
+_0809B38E:
+ cmp r2, 0x2
+ bne _0809B396
+ movs r0, 0x10
+ orrs r1, r0
+_0809B396:
+ adds r2, r1, 0
+ movs r1, 0x20
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0809B3A4
+ orrs r2, r1
+_0809B3A4:
+ lsrs r1, r5, 6
+ movs r0, 0x1
+ ands r1, r0
+ orrs r1, r2
+ movs r0, 0x80
+ ands r0, r5
+ cmp r0, 0
+ beq _0809B3B6
+ orrs r1, r6
+_0809B3B6:
+ movs r0, 0x4
+ ands r0, r5
+ cmp r0, 0
+ beq _0809B3C0
+ orrs r1, r4
+_0809B3C0:
+ ldr r0, [r3, 0x4]
+ cmp r0, r12
+ beq _0809B3E8
+ movs r0, 0x2
+ orrs r0, r1
+ lsls r0, 16
+ b _0809B3EA
+ .align 2, 0
+_0809B3D0: .4byte gUnknown_202E5D8
+_0809B3D4: .4byte gUnknown_8116188
+_0809B3D8: .4byte gPlayerName
+_0809B3DC: .4byte gUnknown_3001B64
+_0809B3E0: .4byte gUnknown_8116190
+_0809B3E4: .4byte sub_809B428
+_0809B3E8:
+ lsls r0, r1, 16
+_0809B3EA:
+ lsrs r0, 16
+ str r0, [sp, 0x10]
+ adds r0, r7, 0
+ mov r1, r9
+ mov r2, r12
+ movs r3, 0
+ bl sub_8014248
+_0809B3FA:
+ movs r0, 0x1
+_0809B3FC:
+ add sp, 0x14
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809B2B8
+
+ thumb_func_start sub_809B40C
+sub_809B40C:
+ push {lr}
+ ldr r0, [r0, 0x4]
+ cmp r0, 0
+ beq _0809B41C
+ cmp r0, 0x3
+ bhi _0809B420
+ cmp r0, 0x2
+ bcc _0809B420
+_0809B41C:
+ movs r0, 0
+ b _0809B422
+_0809B420:
+ movs r0, 0x1
+_0809B422:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809B40C
+
+ thumb_func_start sub_809B428
+sub_809B428:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r2, 0
+ ldrb r0, [r5, 0x2]
+ cmp r0, 0x4F
+ beq _0809B44C
+ cmp r0, 0x4F
+ bgt _0809B43E
+ cmp r0, 0x49
+ beq _0809B444
+ b _0809B46A
+_0809B43E:
+ cmp r0, 0x57
+ beq _0809B454
+ b _0809B46A
+_0809B444:
+ movs r0, 0x1E
+ bl sub_8099A34
+ b _0809B462
+_0809B44C:
+ movs r0, 0x1E
+ bl sub_8099A48
+ b _0809B462
+_0809B454:
+ bl sub_8099B94
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809B462
+ adds r0, r5, 0
+ b _0809B46C
+_0809B462:
+ adds r1, r4, 0
+ adds r1, 0x21
+ movs r0, 0x1
+ strb r0, [r1]
+_0809B46A:
+ movs r0, 0
+_0809B46C:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809B428
+
+ thumb_func_start sub_809B474
+sub_809B474:
+ push {r4-r6,lr}
+ ldr r0, _0809B498
+ ldr r1, [r0]
+ ldr r2, [r1]
+ adds r6, r0, 0
+ cmp r2, 0x3
+ bls _0809B56E
+ cmp r2, 0x4
+ bne _0809B56E
+ movs r5, 0x84
+ lsls r5, 3
+ adds r0, r1, r5
+ ldr r0, [r0]
+ cmp r0, 0x1
+ beq _0809B49C
+ cmp r0, 0x2
+ beq _0809B508
+ b _0809B56E
+ .align 2, 0
+_0809B498: .4byte gUnknown_3001B64
+_0809B49C:
+ bl sub_809B648
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809B4B0
+ ldr r0, [r6]
+ adds r0, r5
+ movs r1, 0x3
+ str r1, [r0]
+ b _0809B4E8
+_0809B4B0:
+ ldr r0, [r6]
+ movs r1, 0x83
+ lsls r1, 3
+ adds r0, r1
+ ldr r4, [r0]
+ cmp r4, 0
+ beq _0809B4F8
+ ldr r0, [r4, 0x4]
+ cmp r0, 0
+ beq _0809B4F2
+ bl sub_809B294
+ ldr r0, [r4, 0x4]
+ bl _call_via_r0
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809B4F2
+ ldr r1, [r6]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r2, r1, r3
+ movs r0, 0x1
+ negs r0, r0
+ str r0, [r2]
+ adds r1, r5
+ movs r0, 0x3
+ str r0, [r1]
+_0809B4E8:
+ movs r0, 0
+ movs r1, 0x1
+ bl sub_809A680
+ b _0809B56E
+_0809B4F2:
+ ldrh r0, [r4]
+ bl sub_809A6E4
+_0809B4F8:
+ ldr r0, _0809B534
+ ldr r1, [r0]
+ movs r2, 0x84
+ lsls r2, 3
+ adds r1, r2
+ movs r2, 0x2
+ str r2, [r1]
+ adds r6, r0, 0
+_0809B508:
+ ldr r0, [r6]
+ movs r3, 0x83
+ lsls r3, 3
+ adds r0, r3
+ ldr r4, [r0]
+ cmp r4, 0
+ beq _0809B54E
+ ldr r0, [r4, 0xC]
+ bl _call_via_r0
+ adds r2, r0, 0
+ cmp r2, 0x1
+ bls _0809B56E
+ ldr r0, [r6]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r1, r0, r3
+ cmp r2, 0x2
+ bne _0809B538
+ movs r0, 0x1
+ negs r0, r0
+ b _0809B53A
+ .align 2, 0
+_0809B534: .4byte gUnknown_3001B64
+_0809B538:
+ movs r0, 0
+_0809B53A:
+ str r0, [r1]
+ ldr r0, [r4, 0x8]
+ cmp r0, 0
+ beq _0809B546
+ bl _call_via_r0
+_0809B546:
+ ldrh r0, [r4]
+ bl sub_809A6F8
+ b _0809B558
+_0809B54E:
+ bl sub_809B648
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809B56E
+_0809B558:
+ ldr r0, _0809B578
+ ldr r0, [r0]
+ movs r1, 0x84
+ lsls r1, 3
+ adds r0, r1
+ movs r1, 0x3
+ str r1, [r0]
+ movs r0, 0
+ movs r1, 0x1
+ bl sub_809A680
+_0809B56E:
+ bl sub_809B57C
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809B578: .4byte gUnknown_3001B64
+ thumb_func_end sub_809B474
+
+ thumb_func_start sub_809B57C
+sub_809B57C:
+ push {r4,r5,lr}
+ sub sp, 0x8
+ bl xxx_draw_string_80144C4
+ ldr r5, _0809B5C8
+ ldr r0, [r5]
+ ldr r1, [r0]
+ cmp r1, 0x3
+ bhi _0809B5E4
+ cmp r1, 0x1
+ bcc _0809B5E4
+ movs r4, 0x84
+ lsls r4, 3
+ adds r0, r4
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0809B5CC
+ cmp r0, 0x3
+ beq _0809B5CC
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0809B5E4
+ ldr r1, [sp]
+ movs r0, 0x1
+ bl sub_809D9E0
+ ldr r1, [r5]
+ adds r2, r1, r4
+ movs r0, 0x3
+ str r0, [r2]
+ movs r0, 0x86
+ lsls r0, 3
+ adds r1, r0
+ ldr r0, [sp]
+ str r0, [r1]
+ b _0809B5E4
+ .align 2, 0
+_0809B5C8: .4byte gUnknown_3001B64
+_0809B5CC:
+ add r0, sp, 0x4
+ bl sub_80144A4
+ adds r4, r0, 0
+ cmp r4, 0
+ bne _0809B5E4
+ movs r0, 0
+ bl sub_809D9B8
+ ldr r0, _0809B5FC
+ ldr r0, [r0]
+ str r4, [r0]
+_0809B5E4:
+ ldr r0, _0809B5FC
+ ldr r0, [r0]
+ ldr r1, _0809B600
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0
+ bge _0809B604
+ movs r0, 0
+ movs r1, 0
+ bl sub_8005838
+ b _0809B60C
+ .align 2, 0
+_0809B5FC: .4byte gUnknown_3001B64
+_0809B600: .4byte 0x00000434
+_0809B604:
+ movs r0, 0
+ movs r1, 0x5
+ bl sub_8005838
+_0809B60C:
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809B57C
+
+ thumb_func_start sub_809B614
+sub_809B614:
+ push {lr}
+ bl sub_80060EC
+ ldr r0, _0809B62C
+ ldr r2, _0809B630
+ ldrh r1, [r2]
+ strh r1, [r0]
+ ldr r0, _0809B634
+ ands r0, r1
+ strh r0, [r2]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809B62C: .4byte gUnknown_20399DE
+_0809B630: .4byte gUnknown_20399DC
+_0809B634: .4byte 0x0000fffd
+ thumb_func_end sub_809B614
+
+ thumb_func_start sub_809B638
+sub_809B638:
+ push {lr}
+ bl xxx_call_update_bg_vram
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809B638
+
+ thumb_func_start nullsub_210
+nullsub_210:
+ bx lr
+ thumb_func_end nullsub_210
+
+ thumb_func_start sub_809B648
+sub_809B648:
+ push {r4-r6,lr}
+ sub sp, 0x24
+ ldr r0, _0809B66C
+ ldr r1, [r0]
+ ldr r2, _0809B670
+ adds r1, r2
+ ldr r1, [r1]
+ subs r1, 0x2
+ adds r6, r0, 0
+ cmp r1, 0x2C
+ bls _0809B662
+ bl _0809C392
+_0809B662:
+ lsls r0, r1, 2
+ ldr r1, _0809B674
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0809B66C: .4byte gUnknown_3001B64
+_0809B670: .4byte 0x00000414
+_0809B674: .4byte _0809B678
+ .align 2, 0
+_0809B678:
+ .4byte _0809B72C
+ .4byte _0809B772
+ .4byte _0809B7AC
+ .4byte _0809B834
+ .4byte _0809B89C
+ .4byte _0809B8FC
+ .4byte _0809B91C
+ .4byte _0809B944
+ .4byte _0809B9D2
+ .4byte _0809BA2A
+ .4byte _0809BAA8
+ .4byte _0809BB66
+ .4byte _0809BBDA
+ .4byte _0809BBDA
+ .4byte _0809BC26
+ .4byte _0809BC68
+ .4byte _0809C1B4
+ .4byte _0809BC78
+ .4byte _0809C1C2
+ .4byte _0809C1C2
+ .4byte _0809C1C8
+ .4byte _0809BCBC
+ .4byte _0809BCBC
+ .4byte _0809BD1C
+ .4byte _0809BD64
+ .4byte _0809BDE8
+ .4byte _0809BE30
+ .4byte _0809BE40
+ .4byte _0809BE50
+ .4byte _0809BE60
+ .4byte _0809BE9C
+ .4byte _0809BEB8
+ .4byte _0809BED4
+ .4byte _0809BF70
+ .4byte _0809BFFC
+ .4byte _0809C072
+ .4byte _0809C0B8
+ .4byte _0809C0FC
+ .4byte _0809C148
+ .4byte _0809C158
+ .4byte _0809C168
+ .4byte _0809C204
+ .4byte _0809C238
+ .4byte _0809C280
+ .4byte _0809C32A
+_0809B72C:
+ ldr r2, [r6]
+ movs r3, 0x84
+ lsls r3, 3
+ adds r0, r2, r3
+ ldr r0, [r0]
+ cmp r0, 0x1
+ beq _0809B780
+ ldr r0, _0809B754
+ ldrh r0, [r0, 0x2]
+ movs r1, 0x3
+ ands r0, r1
+ cmp r0, 0
+ beq _0809B758
+ movs r0, 0x86
+ lsls r0, 3
+ adds r1, r2, r0
+ movs r0, 0x1
+ str r0, [r1]
+ bl _0809C392
+ .align 2, 0
+_0809B754: .4byte gUnknown_20255F0
+_0809B758:
+ bl sub_8094D14
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809B784
+ ldr r0, [r6]
+ movs r1, 0x86
+ lsls r1, 3
+ adds r0, r1
+ movs r1, 0x2
+ str r1, [r0]
+ bl _0809C392
+_0809B772:
+ ldr r0, [r6]
+ movs r2, 0x84
+ lsls r2, 3
+ adds r0, r2
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0809B78A
+_0809B780:
+ bl sub_809B294
+_0809B784:
+ movs r0, 0x1
+ bl _0809C394
+_0809B78A:
+ ldr r0, _0809B7A8
+ ldrh r1, [r0]
+ ldrh r0, [r0, 0x2]
+ movs r2, 0x2
+ ands r0, r2
+ cmp r0, 0
+ beq _0809B79C
+ bl _0809C392
+_0809B79C:
+ ands r1, r2
+ cmp r1, 0
+ bne _0809B784
+ bl _0809C392
+ .align 2, 0
+_0809B7A8: .4byte gUnknown_20255F0
+_0809B7AC:
+ ldr r0, [r6]
+ movs r3, 0x84
+ lsls r3, 3
+ adds r0, r3
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0809B7F4
+ bl sub_809B294
+ ldr r1, [r6]
+ ldr r2, _0809B7D8
+ adds r0, r1, r2
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _0809B7E0
+ ldr r3, _0809B7DC
+ adds r0, r1, r3
+ ldr r1, [r0]
+ movs r0, 0
+ bl sub_801602C
+ b _0809B784
+ .align 2, 0
+_0809B7D8: .4byte 0x00000424
+_0809B7DC: .4byte 0x0000042c
+_0809B7E0:
+ ldr r2, _0809B7F0
+ adds r0, r1, r2
+ ldr r1, [r0]
+ movs r0, 0x2
+ bl sub_801602C
+ b _0809B784
+ .align 2, 0
+_0809B7F0: .4byte 0x0000042c
+_0809B7F4:
+ bl sub_8016080
+ cmp r0, 0x3
+ bne _0809B80C
+ bl sub_80160D8
+ ldr r0, [r6]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ bl _0809C1BC
+_0809B80C:
+ cmp r0, 0x2
+ bne _0809B784
+ ldr r0, [r6]
+ ldr r1, _0809B830
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0809B784
+ bl sub_80160D8
+ ldr r0, [r6]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r0, r2
+_0809B828:
+ movs r1, 0
+ str r1, [r0]
+ bl _0809C392
+ .align 2, 0
+_0809B830: .4byte 0x00000424
+_0809B834:
+ ldr r0, [r6]
+ movs r3, 0x84
+ lsls r3, 3
+ adds r0, r3
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0809B85C
+ bl sub_809B294
+ ldr r0, [r6]
+ ldr r1, _0809B858
+ adds r0, r1
+ ldr r1, [r0]
+ movs r0, 0x1
+ bl sub_801602C
+ b _0809B784
+ .align 2, 0
+_0809B858: .4byte 0x0000042c
+_0809B85C:
+ bl sub_8016080
+ cmp r0, 0x3
+ bne _0809B874
+ bl sub_80160D8
+ ldr r0, [r6]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r0, r2
+ bl _0809C1BC
+_0809B874:
+ cmp r0, 0x2
+ beq _0809B87A
+ b _0809B784
+_0809B87A:
+ ldr r0, [r6]
+ ldr r3, _0809B898
+ adds r0, r3
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _0809B888
+ b _0809B784
+_0809B888:
+ bl sub_80160D8
+ ldr r0, [r6]
+ movs r1, 0x86
+ lsls r1, 3
+ adds r0, r1
+ b _0809B828
+ .align 2, 0
+_0809B898: .4byte 0x00000424
+_0809B89C:
+ ldr r0, [r6]
+ movs r2, 0x84
+ lsls r2, 3
+ adds r0, r2
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0809B8C4
+ bl sub_809B294
+ ldr r0, [r6]
+ ldr r3, _0809B8C0
+ adds r0, r3
+ ldr r1, [r0]
+ movs r0, 0x4
+ bl sub_80151C0
+ b _0809B784
+ .align 2, 0
+_0809B8C0: .4byte 0x0000042c
+_0809B8C4:
+ bl sub_80154F0
+ cmp r0, 0x3
+ bne _0809B8D4
+ bl sub_80155F0
+ bl _0809C1B4
+_0809B8D4:
+ cmp r0, 0x2
+ beq _0809B8DA
+ b _0809B784
+_0809B8DA:
+ ldr r0, [r6]
+ ldr r2, _0809B8F8
+ adds r0, r2
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _0809B8E8
+ b _0809B784
+_0809B8E8:
+ bl sub_80155F0
+ ldr r0, [r6]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ b _0809B828
+ .align 2, 0
+_0809B8F8: .4byte 0x00000424
+_0809B8FC:
+ ldr r0, [r6]
+ ldr r1, _0809B914
+ adds r0, r1
+ ldr r0, [r0]
+ bl sub_801D014
+ ldr r0, [r6]
+ movs r2, 0x83
+ lsls r2, 3
+ adds r0, r2
+ ldr r1, _0809B918
+ b _0809B932
+ .align 2, 0
+_0809B914: .4byte 0x0000042c
+_0809B918: .4byte gUnknown_81161A8
+_0809B91C:
+ ldr r0, [r6]
+ ldr r3, _0809B93C
+ adds r0, r3
+ ldr r0, [r0]
+ bl sub_801D014
+ ldr r0, [r6]
+ movs r1, 0x83
+ lsls r1, 3
+ adds r0, r1
+ ldr r1, _0809B940
+_0809B932:
+ str r1, [r0]
+ movs r0, 0x4
+ bl sub_80119D4
+ b _0809B784
+ .align 2, 0
+_0809B93C: .4byte 0x0000042c
+_0809B940: .4byte gUnknown_81161B8
+_0809B944:
+ bl sub_809B294
+ ldr r4, _0809B984
+ ldr r0, [r4]
+ movs r2, 0x84
+ lsls r2, 3
+ adds r0, r2
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0809B998
+ bl sub_809B294
+ ldr r0, [r4]
+ ldr r3, _0809B988
+ adds r0, r3
+ ldr r0, [r0]
+ ldr r1, _0809B98C
+ bl sub_8015080
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809B990
+ ldr r0, [r4]
+_0809B972:
+ movs r1, 0x86
+ lsls r1, 3
+ adds r0, r1
+_0809B978:
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0]
+ bl _0809C392
+ .align 2, 0
+_0809B984: .4byte gUnknown_3001B64
+_0809B988: .4byte 0x0000042c
+_0809B98C: .4byte gUnknown_811610C
+_0809B990:
+ movs r0, 0x4
+ bl sub_80119D4
+ b _0809B784
+_0809B998:
+ bl sub_801516C
+ cmp r0, 0x2
+ beq _0809B9BC
+ cmp r0, 0x3
+ beq _0809B9A6
+ b _0809B784
+_0809B9A6:
+ bl sub_8015198
+ ldr r1, [r4]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r1, r2
+ str r0, [r1]
+ bl sub_80151A4
+ bl _0809C392
+_0809B9BC:
+ ldr r0, [r4]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0]
+ bl sub_80151A4
+ bl _0809C392
+_0809B9D2:
+ bl sub_809B294
+ ldr r4, _0809BA08
+ ldr r0, [r4]
+ movs r1, 0x84
+ lsls r1, 3
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0809BA1C
+ bl sub_809B294
+ ldr r0, [r4]
+ ldr r2, _0809BA0C
+ adds r0, r2
+ ldr r0, [r0]
+ ldr r1, _0809BA10
+ bl sub_8015080
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809BA14
+ ldr r0, [r4]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ b _0809B978
+ .align 2, 0
+_0809BA08: .4byte gUnknown_3001B64
+_0809BA0C: .4byte 0x0000042c
+_0809BA10: .4byte gUnknown_811612C
+_0809BA14:
+ movs r0, 0x4
+ bl sub_80119D4
+ b _0809B784
+_0809BA1C:
+ bl sub_801516C
+ cmp r0, 0x2
+ beq _0809B9BC
+ cmp r0, 0x3
+ beq _0809B9A6
+ b _0809B784
+_0809BA2A:
+ ldr r0, [r6]
+ movs r1, 0x84
+ lsls r1, 3
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0809BA68
+ bl sub_809B294
+ ldr r0, [r6]
+ ldr r2, _0809BA5C
+ adds r0, r2
+ ldr r0, [r0]
+ movs r1, 0x3
+ bl sub_80211AC
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809BA60
+ ldr r0, [r6]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ b _0809B978
+ .align 2, 0
+_0809BA5C: .4byte 0x00000424
+_0809BA60:
+ movs r0, 0x4
+ bl sub_80119D4
+ b _0809B784
+_0809BA68:
+ movs r0, 0x1
+ bl sub_8021274
+ cmp r0, 0x2
+ beq _0809BA92
+ cmp r0, 0x3
+ beq _0809BA78
+ b _0809B784
+_0809BA78:
+ bl sub_802132C
+ ldr r1, [r6]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r1, r2
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [r1]
+ bl sub_80213A0
+ bl _0809C392
+_0809BA92:
+ ldr r0, [r6]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0]
+ bl sub_80213A0
+ bl _0809C392
+_0809BAA8:
+ ldr r0, [r6]
+ movs r1, 0x84
+ lsls r1, 3
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0809BB10
+ movs r0, 0
+ movs r1, 0x12
+ bl sub_8001658
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_80A2654
+ lsls r0, 16
+ asrs r4, r0, 16
+ bl sub_809B294
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0xA
+ movs r3, 0x1
+ bl sub_802F73C
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809BAEA
+ ldr r0, [r6]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r0, r2
+ b _0809B978
+_0809BAEA:
+ movs r5, 0x1
+ negs r5, r5
+ cmp r4, r5
+ beq _0809BB08
+ adds r0, r4, 0
+ bl sub_802F848
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809BB08
+ movs r0, 0
+ movs r1, 0x12
+ adds r2, r5, 0
+ bl sub_80018D8
+_0809BB08:
+ movs r0, 0x4
+ bl sub_80119D4
+ b _0809B784
+_0809BB10:
+ movs r0, 0x1
+ bl sub_802F8A0
+ cmp r0, 0x2
+ beq _0809BB50
+ cmp r0, 0x3
+ beq _0809BB20
+ b _0809B784
+_0809BB20:
+ bl sub_802F90C
+ adds r4, r0, 0
+ lsls r4, 16
+ asrs r4, 16
+ adds r0, r4, 0
+ bl sub_80A26B8
+ adds r2, r0, 0
+ lsls r2, 16
+ asrs r2, 16
+ movs r0, 0
+ movs r1, 0x12
+ bl sub_80018D8
+ ldr r0, [r6]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ str r4, [r0]
+ bl sub_802F974
+ bl _0809C392
+_0809BB50:
+ ldr r0, [r6]
+ movs r1, 0x86
+ lsls r1, 3
+ adds r0, r1
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0]
+ bl sub_802F974
+ bl _0809C392
+_0809BB66:
+ ldr r0, [r6]
+ movs r2, 0x84
+ lsls r2, 3
+ adds r0, r2
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0809BB9A
+ bl sub_809B294
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0xA
+ bl sub_80302E8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809BB92
+ ldr r0, [r6]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ b _0809B978
+_0809BB92:
+ movs r0, 0x4
+ bl sub_80119D4
+ b _0809B784
+_0809BB9A:
+ movs r0, 0x1
+ bl sub_80303AC
+ cmp r0, 0x2
+ beq _0809BBC4
+ cmp r0, 0x3
+ beq _0809BBAA
+ b _0809B784
+_0809BBAA:
+ bl sub_8030418
+ ldr r1, [r6]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r1, r2
+ lsls r0, 16
+ asrs r0, 16
+ str r0, [r1]
+ bl sub_8030480
+ bl _0809C392
+_0809BBC4:
+ ldr r0, [r6]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0]
+ bl sub_8030480
+ bl _0809C392
+_0809BBDA:
+ ldr r0, [r6]
+ movs r1, 0x84
+ lsls r1, 3
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0809BC14
+ bl sub_809B294
+ ldr r0, [r6]
+ ldr r2, _0809BC10
+ adds r0, r2
+ ldr r0, [r0]
+ cmp r0, 0xE
+ bne _0809BC02
+ movs r0, 0
+ movs r1, 0x18
+ movs r2, 0x1
+ bl sub_80018D8
+_0809BC02:
+ movs r0, 0x1
+ bl sub_8011C28
+ movs r0, 0
+ bl sub_8012574
+ b _0809B784
+ .align 2, 0
+_0809BC10: .4byte 0x00000414
+_0809BC14:
+ bl sub_8012600
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809BC20
+ b _0809B784
+_0809BC20:
+ bl sub_8012750
+ b _0809C392
+_0809BC26:
+ movs r0, 0x4
+ bl sub_80023E4
+ lsls r0, 24
+ lsrs r0, 24
+ negs r4, r0
+ orrs r4, r0
+ lsrs r4, 31
+ bl sub_809B294
+ adds r0, r4, 0
+ bl sub_8016C94
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809BC5C
+ ldr r0, _0809BC54
+ ldr r0, [r0]
+ movs r3, 0x83
+ lsls r3, 3
+ adds r0, r3
+ ldr r1, _0809BC58
+ b _0809C266
+ .align 2, 0
+_0809BC54: .4byte gUnknown_3001B64
+_0809BC58: .4byte gUnknown_81161C8
+_0809BC5C:
+ ldr r0, _0809BC64
+ ldr r0, [r0]
+ b _0809B972
+ .align 2, 0
+_0809BC64: .4byte gUnknown_3001B64
+_0809BC68:
+ ldr r0, [r6]
+ movs r2, 0x83
+ lsls r2, 3
+ adds r0, r2
+ ldr r1, _0809BC74
+ b _0809C266
+ .align 2, 0
+_0809BC74: .4byte gUnknown_81161D8
+_0809BC78:
+ movs r0, 0x4
+ bl sub_80023E4
+ lsls r0, 24
+ lsrs r0, 24
+ negs r4, r0
+ orrs r4, r0
+ lsrs r4, 31
+ bl sub_809B294
+ adds r0, r4, 0
+ bl sub_80162E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809BCB0
+ ldr r0, _0809BCA8
+ ldr r0, [r0]
+ movs r3, 0x83
+ lsls r3, 3
+ adds r0, r3
+ ldr r1, _0809BCAC
+ b _0809C266
+ .align 2, 0
+_0809BCA8: .4byte gUnknown_3001B64
+_0809BCAC: .4byte gUnknown_81161E8
+_0809BCB0:
+ ldr r0, _0809BCB8
+ ldr r0, [r0]
+ b _0809B972
+ .align 2, 0
+_0809BCB8: .4byte gUnknown_3001B64
+_0809BCBC:
+ movs r0, 0x4
+ bl sub_80023E4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_809B294
+ ldr r0, _0809BCE0
+ ldr r0, [r0]
+ ldr r2, _0809BCE4
+ adds r0, r2
+ ldr r0, [r0]
+ cmp r0, 0x17
+ bne _0809BCE8
+ negs r0, r4
+ orrs r0, r4
+ lsrs r0, 31
+ b _0809BCF0
+ .align 2, 0
+_0809BCE0: .4byte gUnknown_3001B64
+_0809BCE4: .4byte 0x00000414
+_0809BCE8:
+ movs r0, 0x2
+ cmp r4, 0
+ beq _0809BCF0
+ movs r0, 0x3
+_0809BCF0:
+ bl sub_8018B00
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809BD10
+ ldr r0, _0809BD08
+ ldr r0, [r0]
+ movs r3, 0x83
+ lsls r3, 3
+ adds r0, r3
+ ldr r1, _0809BD0C
+ b _0809C266
+ .align 2, 0
+_0809BD08: .4byte gUnknown_3001B64
+_0809BD0C: .4byte gUnknown_81161F8
+_0809BD10:
+ ldr r0, _0809BD18
+ ldr r0, [r0]
+ b _0809B972
+ .align 2, 0
+_0809BD18: .4byte gUnknown_3001B64
+_0809BD1C:
+ movs r0, 0x4
+ bl sub_80023E4
+ lsls r0, 24
+ lsrs r0, 24
+ negs r4, r0
+ orrs r4, r0
+ lsrs r4, 31
+ bl sub_809B294
+ adds r0, r4, 0
+ bl sub_801FB50
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809BD54
+ ldr r0, _0809BD4C
+ ldr r0, [r0]
+ movs r2, 0x83
+ lsls r2, 3
+ adds r0, r2
+ ldr r1, _0809BD50
+ b _0809C266
+ .align 2, 0
+_0809BD4C: .4byte gUnknown_3001B64
+_0809BD50: .4byte gUnknown_8116208
+_0809BD54:
+ ldr r0, _0809BD60
+ ldr r0, [r0]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ b _0809B978
+ .align 2, 0
+_0809BD60: .4byte gUnknown_3001B64
+_0809BD64:
+ ldr r0, [r6]
+ movs r1, 0x84
+ lsls r1, 3
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0809BD84
+ bl sub_809B294
+ movs r0, 0
+ movs r1, 0x39
+ bl sub_80015C0
+ bl sub_802465C
+ b _0809B784
+_0809BD84:
+ bl sub_80246F0
+ adds r4, r0, 0
+ movs r0, 0
+ movs r1, 0x39
+ bl sub_8001658
+ cmp r0, 0
+ bne _0809BDB2
+ bl sub_80247B4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809BDB2
+ movs r0, 0
+ movs r1, 0x39
+ movs r2, 0x1
+ bl sub_80018D8
+ movs r0, 0x46
+ movs r1, 0
+ bl GroundMap_ExecuteEvent
+_0809BDB2:
+ cmp r4, 0x3
+ bne _0809BDCC
+ bl sub_80247C0
+ ldr r0, _0809BDC8
+ ldr r0, [r0]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r0, r2
+ b _0809C1BC
+ .align 2, 0
+_0809BDC8: .4byte gUnknown_3001B64
+_0809BDCC:
+ cmp r4, 0x2
+ beq _0809BDD2
+ b _0809B784
+_0809BDD2:
+ bl sub_80247C0
+ ldr r0, _0809BDE4
+ ldr r0, [r0]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ b _0809B828
+ .align 2, 0
+_0809BDE4: .4byte gUnknown_3001B64
+_0809BDE8:
+ movs r0, 0x4
+ bl sub_80023E4
+ lsls r0, 24
+ lsrs r0, 24
+ negs r4, r0
+ orrs r4, r0
+ lsrs r4, 31
+ bl sub_809B294
+ adds r0, r4, 0
+ bl sub_8021B9C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809BE20
+ ldr r0, _0809BE18
+ ldr r0, [r0]
+ movs r1, 0x83
+ lsls r1, 3
+ adds r0, r1
+ ldr r1, _0809BE1C
+ b _0809C266
+ .align 2, 0
+_0809BE18: .4byte gUnknown_3001B64
+_0809BE1C: .4byte gUnknown_8116218
+_0809BE20:
+ ldr r0, _0809BE2C
+ ldr r0, [r0]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r0, r2
+ b _0809B978
+ .align 2, 0
+_0809BE2C: .4byte gUnknown_3001B64
+_0809BE30:
+ ldr r0, [r6]
+ movs r3, 0x83
+ lsls r3, 3
+ adds r0, r3
+ ldr r1, _0809BE3C
+ b _0809C266
+ .align 2, 0
+_0809BE3C: .4byte gUnknown_8116228
+_0809BE40:
+ ldr r0, [r6]
+ movs r1, 0x83
+ lsls r1, 3
+ adds r0, r1
+ ldr r1, _0809BE4C
+ b _0809C266
+ .align 2, 0
+_0809BE4C: .4byte gUnknown_8116238
+_0809BE50:
+ ldr r0, [r6]
+ movs r2, 0x83
+ lsls r2, 3
+ adds r0, r2
+ ldr r1, _0809BE5C
+ b _0809C266
+ .align 2, 0
+_0809BE5C: .4byte gUnknown_8116248
+_0809BE60:
+ bl sub_809B294
+ movs r0, 0x98
+ lsls r0, 1
+ bl sub_80314B4
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809BE84
+ ldr r0, _0809BE80
+ ldr r0, [r0]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ b _0809B978
+ .align 2, 0
+_0809BE80: .4byte gUnknown_3001B64
+_0809BE84:
+ ldr r0, _0809BE94
+ ldr r0, [r0]
+ movs r1, 0x83
+ lsls r1, 3
+ adds r0, r1
+ ldr r1, _0809BE98
+ b _0809C266
+ .align 2, 0
+_0809BE94: .4byte gUnknown_3001B64
+_0809BE98: .4byte gUnknown_8116258
+_0809BE9C:
+ movs r0, 0x4
+ bl sub_80119D4
+ ldr r0, _0809BEB0
+ ldr r0, [r0]
+ movs r2, 0x83
+ lsls r2, 3
+ adds r0, r2
+ ldr r1, _0809BEB4
+ b _0809C266
+ .align 2, 0
+_0809BEB0: .4byte gUnknown_3001B64
+_0809BEB4: .4byte gUnknown_8116268
+_0809BEB8:
+ movs r0, 0x4
+ bl sub_80119D4
+ ldr r0, _0809BECC
+ ldr r0, [r0]
+ movs r3, 0x83
+ lsls r3, 3
+ adds r0, r3
+ ldr r1, _0809BED0
+ b _0809C266
+ .align 2, 0
+_0809BECC: .4byte gUnknown_3001B64
+_0809BED0: .4byte gUnknown_8116278
+_0809BED4:
+ mov r0, sp
+ bl sub_8099328
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809BF4E
+ add r1, sp, 0x4
+ add r2, sp, 0x8
+ movs r0, 0x2
+ bl sub_8001B88
+ ldr r0, [sp, 0x8]
+ cmp r0, 0x7
+ bgt _0809BF4E
+ add r4, sp, 0xC
+_0809BEF2:
+ lsls r1, r0, 24
+ lsrs r1, 24
+ mov r0, sp
+ ldrb r2, [r0]
+ adds r0, r4, 0
+ bl sub_8096AF8
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _0809BF44
+ ldr r1, [sp, 0x4]
+ ldr r2, [sp, 0x8]
+ movs r0, 0x2
+ bl sub_8001BB4
+ ldr r0, _0809BF40
+ ldr r0, [r0]
+ movs r1, 0x86
+ lsls r1, 3
+ adds r2, r0, r1
+ ldrh r1, [r4, 0x2]
+ lsls r1, 16
+ asrs r1, 16
+ negs r0, r1
+ orrs r0, r1
+ lsrs r1, r0, 31
+ movs r3, 0x4
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ beq _0809BF30
+ adds r1, 0x2
+_0809BF30:
+ str r1, [r2]
+ cmp r1, 0
+ beq _0809BF38
+ b _0809C392
+_0809BF38:
+ movs r0, 0x3
+ str r0, [r2]
+ b _0809C392
+ .align 2, 0
+_0809BF40: .4byte gUnknown_3001B64
+_0809BF44:
+ ldr r0, [sp, 0x8]
+ adds r0, 0x1
+ str r0, [sp, 0x8]
+ cmp r0, 0x7
+ ble _0809BEF2
+_0809BF4E:
+ ldr r0, _0809BF6C
+ ldr r0, [r0]
+ movs r1, 0x86
+ lsls r1, 3
+ adds r0, r1
+ movs r1, 0
+ str r1, [r0]
+ bl sub_8096BD0
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ bl sub_8001BB4
+ b _0809C392
+ .align 2, 0
+_0809BF6C: .4byte gUnknown_3001B64
+_0809BF70:
+ mov r5, sp
+ adds r5, 0x1
+ adds r0, r5, 0
+ bl sub_8099328
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809BF82
+ b _0809C392
+_0809BF82:
+ add r1, sp, 0x14
+ add r2, sp, 0x18
+ movs r0, 0x2
+ bl sub_8001B88
+ add r4, sp, 0x1C
+ ldr r1, [sp, 0x18]
+ lsls r1, 24
+ lsrs r1, 24
+ ldrb r2, [r5]
+ adds r0, r4, 0
+ bl sub_8096AF8
+ ldrb r0, [r4]
+ cmp r0, 0
+ bne _0809BFA4
+ b _0809C392
+_0809BFA4:
+ ldr r0, [sp, 0x18]
+ lsls r0, 24
+ lsrs r0, 24
+ ldrb r1, [r5]
+ bl sub_802DB28
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809BFB8
+ b _0809C392
+_0809BFB8:
+ movs r0, 0
+ movs r1, 0x19
+ bl sub_8001658
+ cmp r0, 0x63
+ bgt _0809BFCE
+ adds r2, r0, 0x1
+ movs r0, 0
+ movs r1, 0x19
+ bl sub_80018D8
+_0809BFCE:
+ movs r0, 0
+ movs r1, 0x39
+ movs r2, 0x1
+ bl sub_80018D8
+ ldr r1, [sp, 0x14]
+ ldr r2, [sp, 0x18]
+ adds r2, 0x1
+ movs r0, 0x2
+ bl sub_8001BB4
+ ldr r0, _0809BFF4
+ ldr r0, [r0]
+ movs r2, 0x83
+ lsls r2, 3
+ adds r0, r2
+ ldr r1, _0809BFF8
+ b _0809C266
+ .align 2, 0
+_0809BFF4: .4byte gUnknown_3001B64
+_0809BFF8: .4byte gUnknown_8116288
+_0809BFFC:
+ ldr r0, [r6]
+ movs r3, 0x84
+ lsls r3, 3
+ adds r0, r3
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0809C036
+ movs r0, 0x4
+ bl sub_80023E4
+ lsls r0, 24
+ lsrs r0, 24
+ negs r4, r0
+ orrs r4, r0
+ asrs r4, 31
+ movs r0, 0x4
+ ands r4, r0
+ bl sub_809B294
+ adds r0, r4, 0
+ bl sub_802FD14
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809C032
+ bl _0809B784
+_0809C032:
+ ldr r0, [r6]
+ b _0809B972
+_0809C036:
+ bl sub_802FE58
+ cmp r0, 0x2
+ beq _0809C05E
+ cmp r0, 0x3
+ beq _0809C046
+ bl _0809B784
+_0809C046:
+ bl sub_802FED0
+ ldr r1, [r6]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r1, r2
+ lsls r0, 16
+ asrs r0, 16
+ str r0, [r1]
+ bl sub_802FEE0
+ b _0809C392
+_0809C05E:
+ ldr r0, [r6]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0]
+ bl sub_802FEE0
+ b _0809C392
+_0809C072:
+ movs r4, 0x1
+ movs r0, 0x4
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809C082
+ movs r4, 0x5
+_0809C082:
+ bl sub_809B294
+ adds r0, r4, 0
+ bl sub_802FD14
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809C0A8
+ ldr r0, _0809C0A0
+ ldr r0, [r0]
+ movs r1, 0x83
+ lsls r1, 3
+ adds r0, r1
+ ldr r1, _0809C0A4
+ b _0809C266
+ .align 2, 0
+_0809C0A0: .4byte gUnknown_3001B64
+_0809C0A4: .4byte gUnknown_8116298
+_0809C0A8:
+ ldr r0, _0809C0B4
+ ldr r0, [r0]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r0, r2
+ b _0809B978
+ .align 2, 0
+_0809C0B4: .4byte gUnknown_3001B64
+_0809C0B8:
+ movs r4, 0x2
+ movs r0, 0x4
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809C0C8
+ movs r4, 0x6
+_0809C0C8:
+ bl sub_809B294
+ adds r0, r4, 0
+ bl sub_802FD14
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809C0F0
+ ldr r0, _0809C0E8
+ ldr r0, [r0]
+ movs r3, 0x83
+ lsls r3, 3
+ adds r0, r3
+ ldr r1, _0809C0EC
+ b _0809C266
+ .align 2, 0
+_0809C0E8: .4byte gUnknown_3001B64
+_0809C0EC: .4byte gUnknown_81162A8
+_0809C0F0:
+ ldr r0, _0809C0F8
+ ldr r0, [r0]
+ b _0809B972
+ .align 2, 0
+_0809C0F8: .4byte gUnknown_3001B64
+_0809C0FC:
+ movs r4, 0x3
+ movs r0, 0x4
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809C10C
+ movs r4, 0x7
+_0809C10C:
+ bl sub_809B294
+ adds r0, r4, 0
+ bl sub_802FD14
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809C134
+ ldr r0, _0809C12C
+ ldr r0, [r0]
+ movs r2, 0x83
+ lsls r2, 3
+ adds r0, r2
+ ldr r1, _0809C130
+ b _0809C266
+ .align 2, 0
+_0809C12C: .4byte gUnknown_3001B64
+_0809C130: .4byte gUnknown_81162B8
+_0809C134:
+ ldr r0, _0809C144
+ ldr r0, [r0]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ bl _0809B978
+ .align 2, 0
+_0809C144: .4byte gUnknown_3001B64
+_0809C148:
+ ldr r0, [r6]
+ movs r1, 0x83
+ lsls r1, 3
+ adds r0, r1
+ ldr r1, _0809C154
+ b _0809C266
+ .align 2, 0
+_0809C154: .4byte gUnknown_81162C8
+_0809C158:
+ ldr r0, [r6]
+ movs r2, 0x83
+ lsls r2, 3
+ adds r0, r2
+ ldr r1, _0809C164
+ b _0809C266
+ .align 2, 0
+_0809C164: .4byte gUnknown_81162D8
+_0809C168:
+ bl sub_809B294
+ bl sub_803B050
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809C1A0
+ ldr r4, _0809C194
+ ldr r0, [r4]
+ ldr r3, _0809C198
+ adds r0, r3
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ bl sub_803B100
+ ldr r0, [r4]
+ movs r2, 0x83
+ lsls r2, 3
+ adds r0, r2
+ ldr r1, _0809C19C
+ b _0809C266
+ .align 2, 0
+_0809C194: .4byte gUnknown_3001B64
+_0809C198: .4byte 0x000005a4
+_0809C19C: .4byte gUnknown_81162E8
+_0809C1A0:
+ ldr r0, _0809C1B0
+ ldr r0, [r0]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ bl _0809B978
+ .align 2, 0
+_0809C1B0: .4byte gUnknown_3001B64
+_0809C1B4:
+ ldr r0, [r6]
+ movs r1, 0x86
+ lsls r1, 3
+ adds r0, r1
+_0809C1BC:
+ movs r1, 0x1
+ str r1, [r0]
+ b _0809C392
+_0809C1C2:
+ bl sub_809B294
+ b _0809C392
+_0809C1C8:
+ movs r0, 0x2
+ bl sub_80252F0
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809C1EC
+ ldr r0, _0809C1E4
+ ldr r0, [r0]
+ movs r2, 0x83
+ lsls r2, 3
+ adds r0, r2
+ ldr r1, _0809C1E8
+ b _0809C266
+ .align 2, 0
+_0809C1E4: .4byte gUnknown_3001B64
+_0809C1E8: .4byte gUnknown_81162F8
+_0809C1EC:
+ ldr r0, _0809C200
+ ldr r0, [r0]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ movs r1, 0x2
+ negs r1, r1
+ str r1, [r0]
+ b _0809C392
+ .align 2, 0
+_0809C200: .4byte gUnknown_3001B64
+_0809C204:
+ ldr r1, [r6]
+ ldr r2, _0809C230
+ adds r0, r1, r2
+ ldr r0, [r0]
+ movs r3, 0x85
+ lsls r3, 3
+ adds r1, r3
+ ldr r1, [r1]
+ bl sub_809CCDC
+ ldr r1, [r6]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r2, r1, r3
+ str r0, [r2]
+ movs r0, 0x83
+ lsls r0, 3
+ adds r1, r0
+ ldr r0, _0809C234
+ str r0, [r1]
+ bl _0809B784
+ .align 2, 0
+_0809C230: .4byte 0x00000424
+_0809C234: .4byte gUnknown_8116308
+_0809C238:
+ ldr r0, [r6]
+ movs r2, 0x85
+ lsls r2, 3
+ adds r1, r0, r2
+ ldr r5, [r1]
+ ldr r3, _0809C26C
+ adds r0, r3
+ ldrb r4, [r0]
+ bl sub_809B294
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0x1
+ bl sub_801B60C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809C274
+ ldr r0, [r6]
+ movs r1, 0x83
+ lsls r1, 3
+ adds r0, r1
+ ldr r1, _0809C270
+_0809C266:
+ str r1, [r0]
+ bl _0809B784
+ .align 2, 0
+_0809C26C: .4byte 0x00000424
+_0809C270: .4byte gUnknown_8116318
+_0809C274:
+ ldr r0, [r6]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r0, r2
+ bl _0809B978
+_0809C280:
+ ldr r0, [r6]
+ movs r3, 0x84
+ lsls r3, 3
+ adds r0, r3
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0809C2B8
+ bl sub_809B294
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809C2B2
+ bl _0809B784
+_0809C2B2:
+ ldr r0, [r6]
+ bl _0809B972
+_0809C2B8:
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x2
+ beq _0809C320
+ cmp r0, 0x3
+ beq _0809C2CA
+ bl _0809B784
+_0809C2CA:
+ bl sub_801A8AC
+ adds r5, r0, 0
+ ldr r0, _0809C304
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ adds r0, r1
+ ldrb r4, [r0, 0x2]
+ adds r0, r4, 0
+ bl sub_8091570
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809C30C
+ ldr r0, _0809C308
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_8090DC4
+ adds r0, r5, 0
+ bl sub_80911F8
+ ldr r0, [r6]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r0, r2
+ movs r1, 0x1
+ b _0809C318
+ .align 2, 0
+_0809C304: .4byte gUnknown_203B460
+_0809C308: .4byte gUnknown_202DE58
+_0809C30C:
+ ldr r0, [r6]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+_0809C314:
+ movs r1, 0x1
+ negs r1, r1
+_0809C318:
+ str r1, [r0]
+ bl sub_801A928
+ b _0809C392
+_0809C320:
+ ldr r0, [r6]
+ movs r1, 0x86
+ lsls r1, 3
+ adds r0, r1
+ b _0809C314
+_0809C32A:
+ adds r4, r6, 0
+ ldr r0, [r4]
+ movs r2, 0x84
+ lsls r2, 3
+ adds r0, r2
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0809C36C
+ bl sub_809B294
+ ldr r1, [r4]
+ ldr r3, _0809C368
+ adds r0, r1, r3
+ ldr r0, [r0]
+ movs r2, 0x85
+ lsls r2, 3
+ adds r1, r2
+ ldr r1, [r1]
+ bl sub_8035444
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809C35C
+ bl _0809B784
+_0809C35C:
+ ldr r0, [r4]
+ movs r3, 0x86
+ lsls r3, 3
+ adds r0, r3
+ bl _0809B978
+ .align 2, 0
+_0809C368: .4byte 0x00000424
+_0809C36C:
+ bl sub_8035574
+ cmp r0, 0x3
+ bls _0809C378
+ bl _0809B784
+_0809C378:
+ cmp r0, 0x2
+ bcs _0809C380
+ bl _0809B784
+_0809C380:
+ ldr r0, [r6]
+ movs r1, 0x86
+ lsls r1, 3
+ adds r0, r1
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0]
+ bl sub_803565C
+_0809C392:
+ movs r0, 0
+_0809C394:
+ add sp, 0x24
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809B648
+
+ thumb_func_start sub_809C39C
+sub_809C39C:
+ push {lr}
+ bl sub_801D178
+ ldr r1, _0809C3D4
+ ldr r1, [r1]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r1, r2
+ str r0, [r1]
+ cmp r0, 0x3
+ bne _0809C3CC
+ bl sub_801D1D4
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8002694
+ lsls r0, 16
+ asrs r0, 16
+ movs r2, 0x1
+ negs r2, r2
+ movs r1, 0
+ bl sub_8098D1C
+_0809C3CC:
+ bl sub_801D1E0
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809C3D4: .4byte gUnknown_3001B64
+ thumb_func_end sub_809C39C
+
+ thumb_func_start sub_809C3D8
+sub_809C3D8:
+ push {lr}
+ bl sub_801D178
+ ldr r1, _0809C410
+ ldr r1, [r1]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r1, r2
+ str r0, [r1]
+ cmp r0, 0x3
+ bne _0809C408
+ bl sub_801D1D4
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8002694
+ lsls r0, 16
+ asrs r0, 16
+ movs r2, 0x1
+ negs r2, r2
+ movs r1, 0
+ bl sub_8098D1C
+_0809C408:
+ bl sub_801D1E0
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809C410: .4byte gUnknown_3001B64
+ thumb_func_end sub_809C3D8
+
+ thumb_func_start sub_809C414
+sub_809C414:
+ push {lr}
+ bl sub_802540C
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ beq _0809C448
+ ldr r0, _0809C444
+ ldr r0, [r0]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r0, r2
+ str r1, [r0]
+ adds r0, r1, 0
+ bl sub_8002694
+ lsls r0, 16
+ asrs r0, 16
+ movs r2, 0x1
+ negs r2, r2
+ movs r1, 0
+ bl sub_8098D1C
+ b _0809C458
+ .align 2, 0
+_0809C444: .4byte gUnknown_3001B64
+_0809C448:
+ ldr r0, _0809C460
+ ldr r0, [r0]
+ movs r1, 0x86
+ lsls r1, 3
+ adds r0, r1
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0]
+_0809C458:
+ bl sub_8025418
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809C460: .4byte gUnknown_3001B64
+ thumb_func_end sub_809C414
+
+ thumb_func_start sub_809C464
+sub_809C464:
+ push {lr}
+ bl sub_803C850
+ bl sub_8001064
+ bl sub_809965C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809C464
+
+ thumb_func_start sub_809C478
+sub_809C478:
+ push {lr}
+ sub sp, 0x8
+ bl sub_80356A0
+ cmp r0, 0x3
+ bne _0809C492
+ ldr r0, _0809C4AC
+ bl sub_8011988
+ bl InitFlash
+ bl ClearFlashData
+_0809C492:
+ bl sub_8035758
+ add r2, sp, 0x4
+ movs r0, 0x3
+ mov r1, sp
+ bl sub_8001B88
+ movs r0, 0
+ bl sub_80993C0
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809C4AC: .4byte 0x00000313
+ thumb_func_end sub_809C478
+
+ thumb_func_start sub_809C4B0
+sub_809C4B0:
+ push {r4,r5,lr}
+ movs r4, 0x1
+ negs r4, r4
+ ldr r5, _0809C4FC
+ ldr r0, [r5]
+ movs r2, 0x86
+ lsls r2, 3
+ adds r1, r0, r2
+ ldr r0, [r1]
+ cmp r0, 0
+ bne _0809C4DE
+ bl sub_803B168
+ lsls r0, 16
+ ldr r1, [r5]
+ ldr r3, _0809C500
+ adds r2, r1, r3
+ asrs r4, r0, 16
+ lsrs r0, 16
+ strh r0, [r2]
+ movs r0, 0x86
+ lsls r0, 3
+ adds r1, r0
+_0809C4DE:
+ str r4, [r1]
+ bl sub_803B1BC
+ movs r0, 0x1
+ negs r0, r0
+ cmp r4, r0
+ beq _0809C4F4
+ adds r0, r4, 0
+ movs r1, 0
+ bl GroundMap_ExecuteEvent
+_0809C4F4:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809C4FC: .4byte gUnknown_3001B64
+_0809C500: .4byte 0x000005a4
+ thumb_func_end sub_809C4B0
+
+ thumb_func_start sub_809C504
+sub_809C504:
+ push {r4,lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80282DC
+ adds r4, r0, 0
+ cmp r4, 0x1
+ bne _0809C530
+ mov r0, sp
+ ldrb r0, [r0]
+ bl sub_809927C
+ ldr r0, _0809C52C
+ ldr r0, [r0]
+ movs r1, 0x86
+ lsls r1, 3
+ adds r0, r1
+ str r4, [r0]
+ b _0809C540
+ .align 2, 0
+_0809C52C: .4byte gUnknown_3001B64
+_0809C530:
+ ldr r0, _0809C54C
+ ldr r0, [r0]
+ movs r1, 0x86
+ lsls r1, 3
+ adds r0, r1
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0]
+_0809C540:
+ bl sub_80282FC
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809C54C: .4byte gUnknown_3001B64
+ thumb_func_end sub_809C504
+
+ thumb_func_start sub_809C550
+sub_809C550:
+ push {r4,r5,lr}
+ bl sub_802E90C
+ adds r4, r0, 0
+ movs r5, 0
+ bl sub_802E918
+ cmp r4, 0x2
+ beq _0809C586
+ cmp r4, 0x2
+ bhi _0809C56C
+ cmp r4, 0x1
+ beq _0809C572
+ b _0809C5AC
+_0809C56C:
+ cmp r4, 0x3
+ beq _0809C59A
+ b _0809C5AC
+_0809C572:
+ movs r0, 0x4
+ movs r1, 0x1D
+ movs r2, 0x3
+ bl sub_8001CC4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809C5AC
+ movs r5, 0x1
+ b _0809C5AC
+_0809C586:
+ movs r0, 0x4
+ movs r1, 0x1F
+ movs r2, 0x2
+ bl sub_8001CC4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809C5AC
+ movs r5, 0x2
+ b _0809C5AC
+_0809C59A:
+ movs r0, 0xB
+ movs r1, 0x33
+ movs r2, 0x8
+ bl sub_8001CC4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809C5AC
+ movs r5, 0x3
+_0809C5AC:
+ ldr r0, _0809C5C0
+ ldr r0, [r0]
+ movs r1, 0x86
+ lsls r1, 3
+ adds r0, r1
+ str r5, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809C5C0: .4byte gUnknown_3001B64
+ thumb_func_end sub_809C550
+
+ thumb_func_start sub_809C5C4
+sub_809C5C4:
+ push {r4,lr}
+ ldr r4, _0809C610
+ movs r0, 0x24
+ movs r1, 0x6
+ bl MemoryAlloc
+ str r0, [r4]
+ movs r2, 0
+ str r2, [r0]
+ str r2, [r0, 0x4]
+ movs r3, 0
+ strh r2, [r0, 0x8]
+ strh r2, [r0, 0xA]
+ strb r3, [r0, 0xD]
+ ldr r0, [r4]
+ strb r3, [r0, 0xE]
+ ldr r1, [r4]
+ str r2, [r1, 0x10]
+ ldr r0, _0809C614
+ strh r0, [r1, 0x14]
+ movs r0, 0x23
+ strh r0, [r1, 0x16]
+ strb r3, [r1, 0x18]
+ ldr r1, [r4]
+ movs r0, 0x3F
+ strb r0, [r1, 0x19]
+ ldr r0, [r4]
+ str r2, [r0, 0x1C]
+ adds r0, 0x20
+ strb r3, [r0]
+ bl nullsub_107
+ bl sub_809C63C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809C610: .4byte gUnknown_3001B68
+_0809C614: .4byte 0x0000ffff
+ thumb_func_end sub_809C5C4
+
+ thumb_func_start sub_809C618
+sub_809C618:
+ push {r4,lr}
+ bl sub_809C63C
+ bl nullsub_107
+ bl nullsub_108
+ ldr r4, _0809C638
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809C638: .4byte gUnknown_3001B68
+ thumb_func_end sub_809C618
+
+ thumb_func_start sub_809C63C
+sub_809C63C:
+ push {lr}
+ bl nullsub_108
+ ldr r0, _0809C654
+ ldr r0, [r0]
+ movs r1, 0
+ str r1, [r0, 0x1C]
+ adds r0, 0x20
+ strb r1, [r0]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809C654: .4byte gUnknown_3001B68
+ thumb_func_end sub_809C63C
+
+ thumb_func_start sub_809C658
+sub_809C658:
+ push {lr}
+ ldr r0, _0809C670
+ ldr r0, [r0]
+ ldrh r0, [r0, 0xA]
+ cmp r0, 0x5
+ bhi _0809C6C8
+ lsls r0, 2
+ ldr r1, _0809C674
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0809C670: .4byte gUnknown_3001B68
+_0809C674: .4byte _0809C678
+ .align 2, 0
+_0809C678:
+ .4byte _0809C6C0
+ .4byte _0809C6C0
+ .4byte _0809C6AC
+ .4byte _0809C690
+ .4byte _0809C69E
+ .4byte _0809C6B6
+_0809C690:
+ bl nullsub_111
+ bl nullsub_112
+ bl nullsub_113
+ b _0809C6C8
+_0809C69E:
+ bl nullsub_114
+ bl nullsub_115
+ bl nullsub_116
+ b _0809C6C8
+_0809C6AC:
+ bl nullsub_109
+ bl nullsub_110
+ b _0809C6C8
+_0809C6B6:
+ bl nullsub_107
+ bl nullsub_108
+ b _0809C6C8
+_0809C6C0:
+ bl nullsub_107
+ bl nullsub_108
+_0809C6C8:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809C658
+
+ thumb_func_start sub_809C6CC
+sub_809C6CC:
+ push {lr}
+ lsls r0, 16
+ lsrs r2, r0, 16
+ ldr r0, _0809C6E8
+ ldr r1, [r0]
+ ldrh r0, [r1, 0x8]
+ cmp r0, r2
+ beq _0809C6E2
+ movs r0, 0
+ strh r2, [r1, 0x8]
+ strb r0, [r1, 0xE]
+_0809C6E2:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809C6E8: .4byte gUnknown_3001B68
+ thumb_func_end sub_809C6CC
+
+ thumb_func_start sub_809C6EC
+sub_809C6EC:
+ push {lr}
+ bl sub_8098F88
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809C718
+ ldr r0, _0809C70C
+ ldr r0, [r0]
+ ldrb r0, [r0, 0xC]
+ cmp r0, 0
+ bne _0809C710
+ movs r0, 0x4
+ bl sub_809C6CC
+ b _0809C71E
+ .align 2, 0
+_0809C70C: .4byte gUnknown_203B46C
+_0809C710:
+ movs r0, 0x3
+ bl sub_809C6CC
+ b _0809C71E
+_0809C718:
+ movs r0, 0x5
+ bl sub_809C6CC
+_0809C71E:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809C6EC
+
+ thumb_func_start sub_809C724
+sub_809C724:
+ ldr r0, _0809C72C
+ ldr r0, [r0]
+ ldrh r0, [r0, 0x8]
+ bx lr
+ .align 2, 0
+_0809C72C: .4byte gUnknown_3001B68
+ thumb_func_end sub_809C724
+
+ thumb_func_start sub_809C730
+sub_809C730:
+ push {lr}
+ bl sub_809C740
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809C730
+
+ thumb_func_start sub_809C740
+sub_809C740:
+ push {lr}
+ ldr r0, _0809C750
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0809C754
+ movs r0, 0
+ b _0809C756
+ .align 2, 0
+_0809C750: .4byte gUnknown_3001B68
+_0809C754:
+ movs r0, 0x1
+_0809C756:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809C740
+
+ thumb_func_start nullsub_104
+nullsub_104:
+ bx lr
+ thumb_func_end nullsub_104
+
+ thumb_func_start sub_809C760
+sub_809C760:
+ ldr r0, _0809C76C
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0xE]
+ bx lr
+ .align 2, 0
+_0809C76C: .4byte gUnknown_3001B68
+ thumb_func_end sub_809C760
+
+ thumb_func_start sub_809C770
+sub_809C770:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 16
+ asrs r0, 16
+ mov r8, r0
+ lsls r1, 16
+ asrs r6, r1, 16
+ ldr r4, _0809C790
+ ldr r1, [r4]
+ ldrb r0, [r1, 0xE]
+ cmp r0, 0
+ beq _0809C794
+ movs r0, 0
+ strb r0, [r1, 0xE]
+ b _0809CA10
+ .align 2, 0
+_0809C790: .4byte gUnknown_3001B68
+_0809C794:
+ ldrh r0, [r1, 0x8]
+ cmp r0, 0
+ bne _0809C79E
+ bl sub_809C6EC
+_0809C79E:
+ ldr r0, [r4]
+ ldrb r5, [r0, 0x18]
+ ldrb r7, [r0, 0x19]
+ cmp r6, 0x26
+ bls _0809C7AA
+ b _0809C8C8
+_0809C7AA:
+ lsls r0, r6, 2
+ ldr r1, _0809C7B4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0809C7B4: .4byte _0809C7B8
+ .align 2, 0
+_0809C7B8:
+ .4byte _0809C868
+ .4byte _0809C868
+ .4byte _0809C868
+ .4byte _0809C868
+ .4byte _0809C868
+ .4byte _0809C868
+ .4byte _0809C868
+ .4byte _0809C868
+ .4byte _0809C868
+ .4byte _0809C854
+ .4byte _0809C868
+ .4byte _0809C868
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C8C8
+ .4byte _0809C86E
+ .4byte _0809C8C4
+ .4byte _0809C8C4
+ .4byte _0809C8C4
+_0809C854:
+ mov r0, r8
+ bl sub_8002658
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ bne _0809C864
+ b _0809CA10
+_0809C864:
+ movs r4, 0x1
+ b _0809C988
+_0809C868:
+ movs r4, 0x1
+ movs r5, 0
+ b _0809C988
+_0809C86E:
+ mov r0, r8
+ subs r0, 0xA4
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xD
+ bls _0809C87C
+ b _0809CA10
+_0809C87C:
+ lsls r0, 2
+ ldr r1, _0809C888
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0809C888: .4byte _0809C88C
+ .align 2, 0
+_0809C88C:
+ .4byte _0809C8C4
+ .4byte _0809C8C4
+ .4byte _0809CA10
+ .4byte _0809CA10
+ .4byte _0809C8C4
+ .4byte _0809C8C4
+ .4byte _0809C8C4
+ .4byte _0809CA10
+ .4byte _0809CA10
+ .4byte _0809CA10
+ .4byte _0809C8C4
+ .4byte _0809C8C4
+ .4byte _0809C8C4
+ .4byte _0809C8C4
+_0809C8C4:
+ movs r4, 0
+ b _0809C988
+_0809C8C8:
+ adds r0, r6, 0
+ subs r0, 0xC
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x16
+ bhi _0809C968
+ lsls r0, 2
+ ldr r1, _0809C8E0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0809C8E0: .4byte _0809C8E4
+ .align 2, 0
+_0809C8E4:
+ .4byte _0809C968
+ .4byte _0809C940
+ .4byte _0809C968
+ .4byte _0809C968
+ .4byte _0809C968
+ .4byte _0809C968
+ .4byte _0809C944
+ .4byte _0809C944
+ .4byte _0809C948
+ .4byte _0809C948
+ .4byte _0809C94C
+ .4byte _0809C968
+ .4byte _0809C950
+ .4byte _0809C950
+ .4byte _0809C954
+ .4byte _0809C954
+ .4byte _0809C958
+ .4byte _0809C958
+ .4byte _0809C95C
+ .4byte _0809C95C
+ .4byte _0809C960
+ .4byte _0809C960
+ .4byte _0809C964
+_0809C940:
+ movs r1, 0
+ b _0809C974
+_0809C944:
+ movs r1, 0x7
+ b _0809C974
+_0809C948:
+ movs r1, 0x9
+ b _0809C974
+_0809C94C:
+ movs r1, 0xA
+ b _0809C974
+_0809C950:
+ movs r1, 0xB
+ b _0809C974
+_0809C954:
+ movs r1, 0xD
+ b _0809C974
+_0809C958:
+ movs r1, 0xF
+ b _0809C974
+_0809C95C:
+ movs r1, 0x11
+ b _0809C974
+_0809C960:
+ movs r1, 0x13
+ b _0809C974
+_0809C964:
+ movs r1, 0x20
+ b _0809C974
+_0809C968:
+ movs r0, 0
+ movs r1, 0x13
+ bl sub_8001658
+ lsls r0, 16
+ asrs r1, r0, 16
+_0809C974:
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _0809CA10
+ adds r0, r1, 0
+ bl sub_80A2740
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r4, 0x2
+_0809C988:
+ ldr r0, _0809C99C
+ ldr r2, [r0]
+ ldr r1, [r2, 0x10]
+ adds r3, r0, 0
+ cmp r1, r4
+ beq _0809C9A0
+ movs r0, 0x2
+ str r0, [r2]
+ b _0809C9DE
+ .align 2, 0
+_0809C99C: .4byte gUnknown_3001B68
+_0809C9A0:
+ cmp r4, 0x1
+ bne _0809C9CC
+ ldrb r0, [r2, 0x18]
+ cmp r5, r0
+ bne _0809C9B2
+ movs r1, 0x14
+ ldrsh r0, [r2, r1]
+ cmp r0, r8
+ beq _0809C9BC
+_0809C9B2:
+ strb r4, [r2, 0xC]
+ ldr r0, [r3]
+ adds r0, 0x20
+ strb r4, [r0]
+ b _0809C9E8
+_0809C9BC:
+ cmp r5, 0
+ bne _0809C9E8
+ movs r1, 0x16
+ ldrsh r0, [r2, r1]
+ cmp r0, r6
+ beq _0809C9E8
+ strb r4, [r2, 0xC]
+ b _0809C9E8
+_0809C9CC:
+ cmp r4, 0x2
+ bne _0809C9E8
+ ldrb r0, [r2, 0x19]
+ cmp r7, r0
+ bne _0809C9DE
+ movs r1, 0x16
+ ldrsh r0, [r2, r1]
+ cmp r0, r6
+ beq _0809C9E8
+_0809C9DE:
+ movs r1, 0x1
+ strb r1, [r2, 0xC]
+ ldr r0, [r3]
+ adds r0, 0x20
+ strb r1, [r0]
+_0809C9E8:
+ ldr r1, [r3]
+ ldrb r0, [r1, 0xC]
+ cmp r0, 0
+ beq _0809CA10
+ str r4, [r1, 0x10]
+ movs r2, 0
+ mov r0, r8
+ strh r0, [r1, 0x14]
+ strh r6, [r1, 0x16]
+ strb r5, [r1, 0x18]
+ ldr r0, [r3]
+ strb r7, [r0, 0x19]
+ ldr r1, [r3]
+ ldrh r0, [r1, 0x8]
+ cmp r0, 0x4
+ beq _0809CA10
+ strb r2, [r1, 0xC]
+ ldr r0, [r3]
+ adds r0, 0x20
+ strb r2, [r0]
+_0809CA10:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809C770
+
+ thumb_func_start nullsub_105
+nullsub_105:
+ bx lr
+ thumb_func_end nullsub_105
+
+ thumb_func_start sub_809CA20
+sub_809CA20:
+ push {lr}
+ ldr r1, _0809CA74
+ ldr r2, [r1]
+ ldr r0, [r2]
+ cmp r0, 0
+ beq _0809CA38
+ movs r0, 0
+ str r0, [r2]
+ movs r0, 0x1F
+ str r0, [r2, 0x4]
+ movs r0, 0x1
+ strb r0, [r2, 0xC]
+_0809CA38:
+ ldr r1, [r1]
+ ldrb r0, [r1, 0xC]
+ cmp r0, 0
+ beq _0809CAE8
+ ldrh r0, [r1, 0x8]
+ strh r0, [r1, 0xA]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x4
+ bne _0809CA5E
+ ldr r2, [r1, 0x10]
+ cmp r2, 0
+ bne _0809CA5E
+ movs r0, 0x2
+ strh r0, [r1, 0xA]
+ str r2, [r1, 0x1C]
+ adds r1, 0x20
+ movs r0, 0
+ strb r0, [r1]
+_0809CA5E:
+ ldr r0, _0809CA74
+ ldr r0, [r0]
+ ldrh r0, [r0, 0xA]
+ cmp r0, 0x5
+ bhi _0809CADA
+ lsls r0, 2
+ ldr r1, _0809CA78
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0809CA74: .4byte gUnknown_3001B68
+_0809CA78: .4byte _0809CA7C
+ .align 2, 0
+_0809CA7C:
+ .4byte _0809CAD2
+ .4byte _0809CAD2
+ .4byte _0809CABE
+ .4byte _0809CA94
+ .4byte _0809CAB0
+ .4byte _0809CAC8
+_0809CA94:
+ bl nullsub_111
+ bl nullsub_113
+ bl nullsub_112
+ ldr r0, _0809CAAC
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0xD]
+ b _0809CADA
+ .align 2, 0
+_0809CAAC: .4byte gUnknown_3001B68
+_0809CAB0:
+ bl nullsub_114
+ bl nullsub_115
+ bl nullsub_116
+ b _0809CADA
+_0809CABE:
+ bl nullsub_109
+ bl nullsub_110
+ b _0809CADA
+_0809CAC8:
+ bl nullsub_107
+ bl nullsub_108
+ b _0809CADA
+_0809CAD2:
+ bl nullsub_107
+ bl nullsub_108
+_0809CADA:
+ ldr r0, _0809CAE4
+ ldr r1, [r0]
+ movs r0, 0
+ strb r0, [r1, 0xC]
+ b _0809CB1E
+ .align 2, 0
+_0809CAE4: .4byte gUnknown_3001B68
+_0809CAE8:
+ ldrh r0, [r1, 0xA]
+ cmp r0, 0x5
+ bhi _0809CB1E
+ lsls r0, 2
+ ldr r1, _0809CAF8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0809CAF8: .4byte _0809CAFC
+ .align 2, 0
+_0809CAFC:
+ .4byte _0809CB1E
+ .4byte _0809CB1E
+ .4byte _0809CB1E
+ .4byte _0809CB14
+ .4byte _0809CB1A
+ .4byte _0809CB1E
+_0809CB14:
+ bl nullsub_113
+ b _0809CB1E
+_0809CB1A:
+ bl nullsub_116
+_0809CB1E:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809CA20
+
+ thumb_func_start nullsub_106
+nullsub_106:
+ bx lr
+ thumb_func_end nullsub_106
+
+ thumb_func_start nullsub_107
+nullsub_107:
+ bx lr
+ thumb_func_end nullsub_107
+
+ thumb_func_start nullsub_108
+nullsub_108:
+ bx lr
+ thumb_func_end nullsub_108
+
+ thumb_func_start nullsub_109
+nullsub_109:
+ bx lr
+ thumb_func_end nullsub_109
+
+ thumb_func_start nullsub_110
+nullsub_110:
+ bx lr
+ thumb_func_end nullsub_110
+
+ thumb_func_start nullsub_111
+nullsub_111:
+ bx lr
+ thumb_func_end nullsub_111
+
+ thumb_func_start nullsub_112
+nullsub_112:
+ bx lr
+ thumb_func_end nullsub_112
+
+ thumb_func_start nullsub_113
+nullsub_113:
+ bx lr
+ thumb_func_end nullsub_113
+
+ thumb_func_start nullsub_114
+nullsub_114:
+ bx lr
+ thumb_func_end nullsub_114
+
+ thumb_func_start nullsub_115
+nullsub_115:
+ bx lr
+ thumb_func_end nullsub_115
+
+ thumb_func_start nullsub_116
+nullsub_116:
+ bx lr
+ thumb_func_end nullsub_116
+
+ thumb_func_start sub_809CB50
+sub_809CB50:
+ push {r4,lr}
+ ldr r4, _0809CB70
+ movs r0, 0xC
+ movs r1, 0x6
+ bl MemoryAlloc
+ str r0, [r4]
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0, 0x4]
+ movs r1, 0
+ str r1, [r0, 0x8]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809CB70: .4byte gUnknown_20399E0
+ thumb_func_end sub_809CB50
+
+ thumb_func_start sub_809CB74
+sub_809CB74:
+ push {r4,lr}
+ ldr r4, _0809CB88
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809CB88: .4byte gUnknown_20399E0
+ thumb_func_end sub_809CB74
+
+ thumb_func_start sub_809CB8C
+sub_809CB8C:
+ push {lr}
+ movs r0, 0
+ movs r1, 0x3B
+ bl sub_80015C0
+ movs r0, 0
+ movs r1, 0x3D
+ bl sub_80015C0
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809CB8C
+
+ thumb_func_start sub_809CBA4
+sub_809CBA4:
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8091130
+ cmp r0, 0
+ bge _0809CBB6
+ movs r0, 0
+ b _0809CBB8
+_0809CBB6:
+ movs r0, 0x1
+_0809CBB8:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809CBA4
+
+ thumb_func_start sub_809CBBC
+sub_809CBBC:
+ push {r4-r7,lr}
+ sub sp, 0x54
+ adds r4, r0, 0
+ adds r6, r1, 0
+ adds r5, r2, 0
+ adds r7, r3, 0
+ ldrb r1, [r4]
+ cmp r1, 0x69
+ bne _0809CC20
+ ldr r1, _0809CC0C
+ movs r0, 0x2
+ ldrsh r2, [r4, r0]
+ ldr r0, _0809CC10
+ ldr r0, [r0]
+ movs r3, 0xD2
+ lsls r3, 4
+ adds r0, r3
+ ldr r3, [r0]
+ mov r0, sp
+ bl sub_800D158
+ ldr r0, _0809CC14
+ ldr r0, [r0]
+ movs r1, 0x98
+ lsls r1, 2
+ adds r2, r0, r1
+ movs r3, 0x2
+ ldrsh r1, [r4, r3]
+ ldr r0, [r2]
+ adds r1, r0, r1
+ ldr r0, _0809CC18
+ cmp r1, r0
+ ble _0809CC1C
+ cmp r6, 0
+ beq _0809CC4E
+ movs r1, 0x1
+ negs r1, r1
+ movs r0, 0
+ adds r2, r6, 0
+ b _0809CC4A
+ .align 2, 0
+_0809CC0C: .4byte gUnknown_81163E4
+_0809CC10: .4byte gItemParametersFile + 4
+_0809CC14: .4byte gUnknown_203B460
+_0809CC18: .4byte 0x0001869f
+_0809CC1C:
+ str r1, [r2]
+ b _0809CC5E
+_0809CC20:
+ ldrb r0, [r4, 0x2]
+ lsls r1, 16
+ lsls r0, 8
+ orrs r0, r1
+ str r0, [sp, 0x50]
+ add r4, sp, 0x50
+ mov r0, sp
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_8090E14
+ bl sub_8090A34
+ cmp r0, 0x13
+ ble _0809CC52
+ cmp r5, 0
+ beq _0809CC4E
+ movs r1, 0x1
+ negs r1, r1
+ movs r0, 0
+ adds r2, r5, 0
+_0809CC4A:
+ bl sub_809AE90
+_0809CC4E:
+ movs r0, 0
+ b _0809CC82
+_0809CC52:
+ ldrb r0, [r4, 0x2]
+ movs r1, 0
+ bl sub_809124C
+ bl sub_80910B4
+_0809CC5E:
+ cmp r7, 0
+ beq _0809CC80
+ ldr r0, _0809CC8C
+ mov r1, sp
+ bl strcpy
+ movs r1, 0x1
+ negs r1, r1
+ movs r0, 0
+ adds r2, r7, 0
+ bl sub_809AE90
+ movs r1, 0x80
+ lsls r1, 1
+ movs r0, 0xCB
+ bl sub_8011974
+_0809CC80:
+ movs r0, 0x1
+_0809CC82:
+ add sp, 0x54
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0809CC8C: .4byte gUnknown_202DE58
+ thumb_func_end sub_809CBBC
+
+ thumb_func_start sub_809CC90
+sub_809CC90:
+ push {lr}
+ lsls r0, 2
+ ldr r1, _0809CCBC
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0x69
+ bne _0809CCC8
+ ldr r0, _0809CCC0
+ ldr r0, [r0]
+ movs r2, 0x98
+ lsls r2, 2
+ adds r0, r2
+ movs r2, 0x2
+ ldrsh r1, [r1, r2]
+ ldr r0, [r0]
+ adds r0, r1
+ ldr r1, _0809CCC4
+ cmp r0, r1
+ ble _0809CCD4
+ movs r0, 0x2
+ b _0809CCD6
+ .align 2, 0
+_0809CCBC: .4byte gUnknown_81163BC
+_0809CCC0: .4byte gUnknown_203B460
+_0809CCC4: .4byte 0x0001869f
+_0809CCC8:
+ bl sub_8090A34
+ cmp r0, 0x13
+ ble _0809CCD4
+ movs r0, 0x2
+ b _0809CCD6
+_0809CCD4:
+ movs r0, 0x1
+_0809CCD6:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809CC90
+
+ thumb_func_start sub_809CCDC
+sub_809CCDC:
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ adds r4, r1, 0
+ lsls r1, r6, 2
+ ldr r0, _0809CD20
+ adds r5, r1, r0
+ ldr r0, _0809CD24
+ ldr r1, [r0]
+ movs r0, 0x1
+ negs r0, r0
+ str r0, [r1, 0x4]
+ movs r0, 0
+ str r0, [r1, 0x8]
+ movs r0, 0x2
+ cmp r4, 0x63
+ bgt _0809CD04
+ movs r0, 0
+ cmp r4, 0x1
+ ble _0809CD04
+ movs r0, 0x1
+_0809CD04:
+ ldr r1, _0809CD28
+ ldr r2, _0809CD2C
+ ldr r3, _0809CD30
+ lsls r0, 2
+ adds r0, r3
+ ldr r3, [r0]
+ adds r0, r5, 0
+ bl sub_809CBBC
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809CD34
+ movs r0, 0x2
+ b _0809CD3E
+ .align 2, 0
+_0809CD20: .4byte gUnknown_81163BC
+_0809CD24: .4byte gUnknown_20399E0
+_0809CD28: .4byte gUnknown_81163F0
+_0809CD2C: .4byte gUnknown_811642C
+_0809CD30: .4byte gUnknown_203B4A0
+_0809CD34:
+ ldr r0, _0809CD44
+ ldr r0, [r0]
+ str r6, [r0, 0x4]
+ str r4, [r0, 0x8]
+ movs r0, 0x1
+_0809CD3E:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0809CD44: .4byte gUnknown_20399E0
+ thumb_func_end sub_809CCDC
+
+ thumb_func_start sub_809CD48
+sub_809CD48:
+ push {lr}
+ bl sub_809A750
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809CD58
+ movs r0, 0x3
+ b _0809CD5A
+_0809CD58:
+ movs r0, 0
+_0809CD5A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809CD48
+
+ thumb_func_start nullsub_117
+nullsub_117:
+ bx lr
+ thumb_func_end nullsub_117
+
+ thumb_func_start nullsub_118
+nullsub_118:
+ bx lr
+ thumb_func_end nullsub_118
+
+ thumb_func_start sub_809CD68
+sub_809CD68:
+ movs r2, 0
+ str r2, [r0]
+ str r2, [r0, 0x4]
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0, 0x10]
+ str r2, [r0, 0x14]
+ str r2, [r0, 0x8]
+ strb r2, [r0, 0x18]
+ bx lr
+ thumb_func_end sub_809CD68
+
+ thumb_func_start sub_809CD7C
+sub_809CD7C:
+ movs r2, 0
+ str r2, [r0]
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0, 0x10]
+ str r2, [r0, 0x14]
+ str r2, [r0, 0x8]
+ bx lr
+ thumb_func_end sub_809CD7C
+
+ thumb_func_start sub_809CD8C
+sub_809CD8C:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ cmp r4, 0x5
+ bne _0809CD9E
+ bl sub_809CD68
+ str r4, [r5]
+ b _0809CDB0
+_0809CD9E:
+ ldr r0, [r5, 0x4]
+ cmp r0, r4
+ beq _0809CDB0
+ str r4, [r5, 0x4]
+ movs r0, 0x1
+ negs r0, r0
+ str r0, [r5, 0x10]
+ movs r0, 0
+ str r0, [r5, 0x14]
+_0809CDB0:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809CD8C
+
+ thumb_func_start sub_809CDB8
+sub_809CDB8:
+ push {lr}
+ adds r1, r0, 0
+ ldr r0, [r1, 0x4]
+ cmp r0, 0
+ bne _0809CDC4
+ ldr r0, [r1]
+_0809CDC4:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809CDB8
+
+ thumb_func_start sub_809CDC8
+sub_809CDC8:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x8
+ adds r4, r0, 0
+ adds r6, r1, 0
+ adds r7, r2, 0
+ ldr r1, [sp, 0x24]
+ movs r0, 0x1
+ negs r0, r0
+ str r0, [r3]
+ ldr r0, [r4]
+ cmp r0, 0x1
+ beq _0809CDEA
+ cmp r0, 0x2
+ beq _0809CDFE
+ b _0809CE12
+_0809CDEA:
+ movs r0, 0x80
+ lsls r0, 6
+ ands r1, r0
+ cmp r1, 0
+ beq _0809CE12
+ adds r0, r4, 0
+ bl sub_809CD68
+ movs r0, 0x2
+ b _0809CE10
+_0809CDFE:
+ movs r0, 0x80
+ lsls r0, 6
+ ands r1, r0
+ cmp r1, 0
+ bne _0809CE12
+ adds r0, r4, 0
+ bl sub_809CD68
+ movs r0, 0x1
+_0809CE10:
+ str r0, [r4]
+_0809CE12:
+ ldr r0, [r4, 0x4]
+ mov r8, r0
+ cmp r0, 0
+ bne _0809CE1E
+ ldr r1, [r4]
+ mov r8, r1
+_0809CE1E:
+ mov r0, r8
+ subs r0, 0x1
+ cmp r0, 0x6
+ bls _0809CE28
+ b _0809CFCC
+_0809CE28:
+ lsls r0, 2
+ ldr r1, _0809CE34
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0809CE34: .4byte _0809CE38
+ .align 2, 0
+_0809CE38:
+ .4byte _0809CE54
+ .4byte _0809CF74
+ .4byte _0809CFCC
+ .4byte _0809CFCC
+ .4byte _0809CECC
+ .4byte _0809CF5C
+ .4byte _0809CF5C
+_0809CE54:
+ ldr r0, _0809CE70
+ ldrh r2, [r0]
+ ldrh r1, [r0, 0x2]
+ movs r0, 0xF0
+ ands r0, r2
+ cmp r0, 0
+ beq _0809CE74
+ movs r0, 0x2
+ ands r0, r2
+ cmp r0, 0
+ beq _0809CEA4
+ movs r0, 0
+ b _0809CEA8
+ .align 2, 0
+_0809CE70: .4byte gUnknown_20255F0
+_0809CE74:
+ movs r3, 0x2
+ adds r0, r1, 0
+ ands r0, r3
+ cmp r0, 0
+ beq _0809CE82
+ movs r0, 0x14
+ b _0809CEA8
+_0809CE82:
+ ldr r0, [r4, 0x10]
+ cmp r0, 0x1
+ ble _0809CEA4
+ subs r0, 0x1
+ str r0, [r4, 0x10]
+ adds r0, r2, 0
+ ands r0, r3
+ cmp r0, 0
+ bne _0809CEAA
+ movs r0, 0x13
+ str r0, [r6]
+ movs r1, 0x1
+ negs r1, r1
+ adds r0, r1, 0
+ strb r0, [r7]
+ movs r0, 0x5
+ b _0809CFDA
+_0809CEA4:
+ movs r0, 0x1
+ negs r0, r0
+_0809CEA8:
+ str r0, [r4, 0x10]
+_0809CEAA:
+ movs r0, 0x1
+ ands r1, r0
+ cmp r1, 0
+ beq _0809CEB6
+ movs r0, 0xA
+ b _0809CEC2
+_0809CEB6:
+ ldr r0, [r4, 0x10]
+ cmp r0, 0
+ bne _0809CEC0
+ movs r0, 0x8
+ b _0809CEC2
+_0809CEC0:
+ movs r0, 0x7
+_0809CEC2:
+ str r0, [r6]
+ adds r0, r2, 0
+ bl sub_809CFE8
+ b _0809CF4E
+_0809CECC:
+ mov r0, sp
+ bl sub_809B260
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809CFCC
+ ldr r0, _0809CEEC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0xC]
+ cmp r0, 0
+ bne _0809CEF0
+ movs r0, 0x4
+ bl sub_809C6CC
+ b _0809CEF6
+ .align 2, 0
+_0809CEEC: .4byte gUnknown_203B46C
+_0809CEF0:
+ movs r0, 0x3
+ bl sub_809C6CC
+_0809CEF6:
+ bl nullsub_104
+ adds r0, r4, 0
+ bl sub_809CD7C
+ movs r5, 0x1
+ str r5, [r4]
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0809CF1E
+ cmp r0, 0x2
+ bgt _0809CF14
+ cmp r0, 0x1
+ beq _0809CF2A
+ b _0809CF54
+_0809CF14:
+ cmp r0, 0x3
+ beq _0809CF2A
+ cmp r0, 0x4
+ beq _0809CF3C
+ b _0809CF54
+_0809CF1E:
+ movs r0, 0x4
+ str r0, [r4]
+ movs r0, 0x1E
+ bl sub_8098D80
+ b _0809CF46
+_0809CF2A:
+ movs r0, 0x4
+ str r0, [r4]
+ str r5, [r6]
+ movs r1, 0x1
+ negs r1, r1
+ adds r0, r1, 0
+ strb r0, [r7]
+ movs r0, 0x4
+ b _0809CFDA
+_0809CF3C:
+ str r0, [r4]
+ movs r0, 0x45
+ movs r1, 0
+ bl GroundMap_ExecuteEvent
+_0809CF46:
+ str r5, [r6]
+ movs r1, 0x1
+ negs r1, r1
+ adds r0, r1, 0
+_0809CF4E:
+ strb r0, [r7]
+ ldr r0, [r4]
+ b _0809CFDA
+_0809CF54:
+ movs r0, 0x2
+ bl sub_809D9B8
+ b _0809CFCC
+_0809CF5C:
+ add r0, sp, 0x4
+ bl sub_809B260
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809CFCC
+ adds r0, r4, 0
+ bl sub_809CD7C
+ movs r0, 0x1
+ str r0, [r4]
+ b _0809CFDA
+_0809CF74:
+ ldr r0, [r4, 0x8]
+ cmp r0, 0
+ ble _0809CF86
+ subs r0, 0x1
+ str r0, [r4, 0x8]
+ movs r0, 0x9
+ str r0, [r6]
+ ldrb r0, [r4, 0xC]
+ b _0809CFD6
+_0809CF86:
+ ldr r0, _0809CFA0
+ ldrh r1, [r0]
+ movs r0, 0x9
+ str r0, [r6]
+ movs r0, 0x40
+ ands r0, r1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0
+ beq _0809CFA4
+ movs r0, 0x4
+ b _0809CFB6
+ .align 2, 0
+_0809CFA0: .4byte gUnknown_20255F0
+_0809CFA4:
+ movs r0, 0x80
+ ands r1, r0
+ cmp r1, 0
+ beq _0809CFB0
+ strb r2, [r7]
+ b _0809CFB8
+_0809CFB0:
+ movs r1, 0x1
+ negs r1, r1
+ adds r0, r1, 0
+_0809CFB6:
+ strb r0, [r7]
+_0809CFB8:
+ ldrb r0, [r7]
+ strb r0, [r4, 0xC]
+ lsls r0, 24
+ movs r1, 0xFF
+ lsls r1, 24
+ cmp r0, r1
+ beq _0809CFD8
+ movs r0, 0x20
+ str r0, [r4, 0x8]
+ b _0809CFD8
+_0809CFCC:
+ movs r0, 0
+ str r0, [r6]
+ movs r1, 0x1
+ negs r1, r1
+ adds r0, r1, 0
+_0809CFD6:
+ strb r0, [r7]
+_0809CFD8:
+ mov r0, r8
+_0809CFDA:
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809CDC8
+
+ thumb_func_start sub_809CFE8
+sub_809CFE8:
+ push {lr}
+ lsls r0, 16
+ lsrs r1, r0, 16
+ adds r2, r1, 0
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _0809D014
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _0809D004
+ movs r0, 0x3
+ b _0809D052
+_0809D004:
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _0809D010
+ movs r0, 0x5
+ b _0809D052
+_0809D010:
+ movs r0, 0x4
+ b _0809D052
+_0809D014:
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _0809D038
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _0809D028
+ movs r0, 0x1
+ b _0809D052
+_0809D028:
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _0809D034
+ movs r0, 0x7
+ b _0809D052
+_0809D034:
+ movs r0, 0
+ b _0809D052
+_0809D038:
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _0809D044
+ movs r0, 0x2
+ b _0809D052
+_0809D044:
+ movs r0, 0x20
+ ands r2, r0
+ cmp r2, 0
+ bne _0809D050
+ subs r0, 0x21
+ b _0809D052
+_0809D050:
+ movs r0, 0x6
+_0809D052:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809CFE8
+
+ thumb_func_start sub_809D058
+sub_809D058:
+ push {lr}
+ ldr r1, [r0, 0x4]
+ cmp r1, 0x3F
+ bgt _0809D076
+ ldr r0, [r0]
+ cmp r0, 0x67
+ bgt _0809D06A
+ movs r0, 0x5
+ b _0809D0A6
+_0809D06A:
+ cmp r0, 0x88
+ ble _0809D072
+ movs r0, 0x3
+ b _0809D0A6
+_0809D072:
+ movs r0, 0x4
+ b _0809D0A6
+_0809D076:
+ cmp r1, 0x60
+ ble _0809D090
+ ldr r0, [r0]
+ cmp r0, 0x67
+ bgt _0809D084
+ movs r0, 0x7
+ b _0809D0A6
+_0809D084:
+ cmp r0, 0x88
+ ble _0809D08C
+ movs r0, 0x1
+ b _0809D0A6
+_0809D08C:
+ movs r0, 0
+ b _0809D0A6
+_0809D090:
+ ldr r0, [r0]
+ cmp r0, 0x67
+ bgt _0809D09A
+ movs r0, 0x6
+ b _0809D0A6
+_0809D09A:
+ cmp r0, 0x88
+ bgt _0809D0A4
+ movs r0, 0x1
+ negs r0, r0
+ b _0809D0A6
+_0809D0A4:
+ movs r0, 0x2
+_0809D0A6:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809D058
+
+ thumb_func_start sub_809D0AC
+sub_809D0AC:
+ push {lr}
+ bl sub_809D0BC
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809D0AC
+
+ thumb_func_start nullsub_119
+nullsub_119:
+ bx lr
+ thumb_func_end nullsub_119
+
+ thumb_func_start sub_809D0BC
+sub_809D0BC:
+ push {r4,r5,lr}
+ ldr r5, _0809D0F8
+ ldr r1, _0809D0FC
+ ldr r2, [r1]
+ ldr r3, [r1, 0x4]
+ str r2, [r5, 0x3C]
+ str r3, [r5, 0x40]
+ adds r0, r5, 0
+ adds r0, 0x44
+ movs r4, 0
+ strb r4, [r0]
+ movs r0, 0
+ bl sub_809D158
+ str r4, [r5, 0x8]
+ str r4, [r5, 0xC]
+ str r4, [r5, 0x10]
+ movs r0, 0x1
+ negs r0, r0
+ str r0, [r5, 0x4]
+ str r4, [r5, 0x24]
+ str r4, [r5, 0x28]
+ str r4, [r5, 0x2C]
+ str r4, [r5, 0x30]
+ str r4, [r5, 0x34]
+ str r4, [r5, 0x38]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809D0F8: .4byte gUnknown_20399E8
+_0809D0FC: .4byte gUnknown_8116478
+ thumb_func_end sub_809D0BC
+
+ thumb_func_start sub_809D100
+sub_809D100:
+ push {lr}
+ adds r2, r0, 0
+ ldr r1, _0809D120
+ ldr r0, [r1, 0x24]
+ cmp r0, r2
+ beq _0809D11A
+ str r2, [r1, 0x24]
+ movs r0, 0
+ str r0, [r1, 0x28]
+ str r0, [r1, 0x2C]
+ str r0, [r1, 0x30]
+ str r0, [r1, 0x34]
+ str r0, [r1, 0x38]
+_0809D11A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809D120: .4byte gUnknown_20399E8
+ thumb_func_end sub_809D100
+
+ thumb_func_start sub_809D124
+sub_809D124:
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r3, _0809D144
+ ldr r0, [r3, 0x24]
+ cmp r0, r4
+ beq _0809D13A
+ str r4, [r3, 0x24]
+ movs r0, 0
+ str r0, [r3, 0x30]
+ str r0, [r3, 0x34]
+ str r0, [r3, 0x38]
+_0809D13A:
+ str r1, [r3, 0x28]
+ str r2, [r3, 0x2C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809D144: .4byte gUnknown_20399E8
+ thumb_func_end sub_809D124
+
+ .align 2,0
diff --git a/ld_script.txt b/ld_script.txt
index 6b51a42..e6a94e5 100755
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -85,6 +85,8 @@ SECTIONS {
asm/save1.o(.text);
src/save1.o(.text);
asm/code_8012A18.o(.text);
+ src/code_801D760.o(.text);
+ asm/code_801D760.o(.text);
src/code_8027C84_pre.o(.text);
asm/code_8027C84.o(.text);
src/code_8027C84.o(.text);
@@ -111,6 +113,8 @@ SECTIONS {
src/code_8095014.o(.text);
asm/code_8095014.o(.text);
asm/code_8098468.o(.text);
+ src/code_8098BDC.o(.text);
+ asm/code_8098BDC.o(.text);
asm/code_809D148.o(.text);
asm/code_80A26CC.o(.text);
src/code_80A7714.o(.text);
diff --git a/src/code_801D760.c b/src/code_801D760.c
new file mode 100644
index 0000000..89cd661
--- /dev/null
+++ b/src/code_801D760.c
@@ -0,0 +1,60 @@
+#include "global.h"
+
+extern u32 sub_8022860();
+extern void sub_8022908();
+extern void sub_801D208(u8);
+extern void sub_8027168();
+extern u32 sub_80270A4();
+extern u32 sub_8025F68();
+extern u8 sub_802604C();
+extern void sub_8026058();
+
+struct unk_203B250
+{
+ u32 unk0;
+ u16 unk4;
+ u8 unk6;
+ u8 unk7;
+};
+
+struct unk_203B250 *gUnknown_203B250;
+
+void sub_801D760()
+{
+ u32 temp;
+ temp = sub_8022860();
+ if (temp <= 1)
+ return;
+ if (temp > 3)
+ return;
+ sub_8022908();
+ sub_801D208(1);
+
+}
+
+void sub_801D77C()
+{
+ u32 temp;
+ temp = sub_80270A4();
+ if (temp <= 1)
+ return;
+ if (temp > 3)
+ return;
+ sub_8027168();
+ sub_801D208(1);
+
+}
+
+void sub_801D798(void)
+{
+ u32 temp;
+ temp = sub_8025F68();
+ if (temp <= 1)
+ return;
+ if (temp > 3)
+ return;
+ if(sub_802604C() != 0)
+ gUnknown_203B250->unk7 = gUnknown_203B250->unk6;
+ sub_8026058();
+ sub_801D208(2);
+}
diff --git a/src/code_8098BDC.c b/src/code_8098BDC.c
new file mode 100644
index 0000000..bd56fb3
--- /dev/null
+++ b/src/code_8098BDC.c
@@ -0,0 +1,166 @@
+#include "global.h"
+
+extern u32 gUnknown_203B47C;
+
+extern void sub_809B57C();
+extern void GroundScript_Unlock();
+extern void sub_809D25C();
+extern void sub_80A59DC();
+extern void sub_809B614();
+extern void sub_809CA20();
+extern void sub_80A6E80();
+extern void sub_8099BE4();
+extern void sub_8099744();
+extern void sub_8011860();
+extern void sub_8094FB4(u32 r0);
+extern void sub_800CB20();
+extern void sub_800485C();
+extern void nullsub_120();
+extern void sub_80A5E70();
+extern void sub_809B638();
+extern void nullsub_106();
+extern void sub_80A73EC();
+extern void sub_8099750();
+extern void sub_8009908();
+extern void xxx_call_update_bg_sound_input();
+extern void sub_80A6E68();
+extern void GroundMap_Action();
+extern void nullsub_124();
+extern void GroundLives_Action();
+extern void GroundObject_Action();
+extern void GroundEffect_Action();
+
+extern s32 sub_8001658(u8, u8);
+extern s32 sub_8001784(u8, u8, u8);
+extern void sub_809CB8C();
+extern void sub_8001D88();
+extern void sub_80015C0(u8, u8);
+extern void sub_80018D8(u8, u8, u32);
+extern void sub_800199C(u8, u8, u8, s32);
+extern void sub_8098CC8();
+extern void sub_809674C();
+extern void sub_80961B4();
+extern void sub_8091FB4();
+extern u8 sub_8001CC4(u8, u8, u8);
+extern void sub_8091980(u32);
+
+void sub_8098BDC(void)
+{
+ sub_809B57C();
+ GroundScript_Unlock();
+ sub_809D25C();
+ sub_80A59DC();
+ sub_809B614();
+ sub_809CA20();
+ sub_80A6E80();
+ sub_8099BE4();
+ sub_8099744();
+ sub_8011860();
+ sub_8094FB4(gUnknown_203B47C);
+ sub_800CB20();
+ sub_800485C();
+ nullsub_120();
+ sub_80A5E70();
+ sub_809B638();
+ nullsub_106();
+ sub_80A73EC();
+ sub_8099750();
+ sub_8009908();
+ xxx_call_update_bg_sound_input();
+ sub_80A6E68();
+ GroundMap_Action();
+ nullsub_124();
+ GroundLives_Action();
+ GroundObject_Action();
+ GroundEffect_Action();
+}
+
+void sub_8098C58(void)
+{
+ s32 temp;
+ sub_80015C0(0, 0x36);
+ sub_80015C0(0, 0x39);
+ sub_809CB8C();
+ sub_8001D88();
+
+ if(sub_8001658(0, 0x2A) != 0)
+ {
+ temp = sub_8001658(0, 0x29);
+ temp++;
+ if(temp > 0xF){
+ temp = 0;
+ }
+ sub_80018D8(0, 0x29, temp);
+ sub_80018D8(0, 0x2A, 0);
+ }
+
+ // TODO this uses r2 but it should be r3
+ // Else this matches so nonmatch for now
+#ifdef NONMATCHING
+ temp = sub_8001784(0, 0x42, 0);
+ if(temp <= 0)
+ {
+ temp = 1;
+ }
+ sub_800199C(0, 0x42, 0, temp - 1);
+#else
+ asm_unified("\tmovs r0, 0\n"
+ "\tmovs r1, 0x42\n"
+ "\tmovs r2, 0\n"
+ "\tbl sub_8001784\n"
+ "\tadds r3, r0, 0\n"
+ "\tcmp r3, 0\n"
+ "\tbgt _08098CB4\n"
+ "\tmovs r3, 0x1\n"
+"_08098CB4:\n"
+ "\tsubs r3, 0x1\n"
+ "\tmovs r0, 0\n"
+ "\tmovs r1, 0x42\n"
+ "\tmovs r2, 0\n"
+ "\tbl sub_800199C");
+#endif
+
+ sub_8098CC8();
+}
+
+void sub_8098CC8(void)
+{
+ u32 temp;
+ if(sub_8001CC4(0x3, 0xB, 0) != 0)
+ {
+ temp = 0;
+ }
+ else if(sub_8001CC4(0x3, 0xF, 0) != 0)
+ {
+ temp = 1;
+ }
+ else if(sub_8001CC4(0x3, 0x12, 0) != 0)
+ {
+ temp = 2;
+ }
+ else
+ {
+ temp = 3;
+ }
+ sub_8091980(temp);
+ sub_809674C();
+ sub_80961B4();
+ sub_8091FB4();
+}
+
+// TODO lsrs should be asrs on my first arg
+//u8 sub_8098D1C(u16 r0, u32 r1, s32 r2)
+//{
+// if(gUnknown_20398A8 == 0)
+// {
+// Log(0, &gUnknown_8115F5C, r0, r2);
+// gUnknown_20398A8 = 1;
+// gUnknown_20398AC = 1;
+// gUnknown_20398B0 = r2;
+// gUnknown_20398B4 = 2;
+// gUnknown_20398BE = r0;
+// gUnknown_20398C0 = r1;
+// return 1;
+// }
+// return 0;
+//}