summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2020-10-15 11:50:49 -0500
committerSeth Barberee <seth.barberee@gmail.com>2020-10-15 11:50:49 -0500
commit6da3c8269f2ff4940f4ccf9ebf7ce99489aae080 (patch)
tree0abd81f02b375c32be7a69885a47919f94260a31
parent4409e37e7361e8731d1ac5cc1f336f13e62b28bd (diff)
decomp a few more funcs
-rw-r--r--asm/code_8094F88.s7226
-rw-r--r--asm/code_8095014.s7088
-rwxr-xr-xld_script.txt2
-rw-r--r--src/code_8095014.c87
4 files changed, 7177 insertions, 7226 deletions
diff --git a/asm/code_8094F88.s b/asm/code_8094F88.s
index f8a8bfb..2b58465 100644
--- a/asm/code_8094F88.s
+++ b/asm/code_8094F88.s
@@ -58,7230 +58,4 @@ _0809500A:
_08095010: .4byte 0x0000270f
thumb_func_end sub_8094FB4
- thumb_func_start sub_8095014
-sub_8095014:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- ldr r1, _08095030
- cmp r0, r1
- bgt _08095034
- str r0, [r5]
- ldrb r0, [r4, 0x2]
- str r0, [r2]
- ldrb r0, [r4, 0x3]
- b _0809503A
- .align 2, 0
-_08095030: .4byte 0x0000270f
-_08095034:
- str r1, [r5]
- movs r0, 0x3B
- str r0, [r2]
-_0809503A:
- str r0, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8095014
-
- thumb_func_start sub_8095044
-sub_8095044:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _0809507C
- ldr r1, [r4]
- adds r1, 0x4
- movs r2, 0x6
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x3
- adds r0, r5, 0
- movs r2, 0x6
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x2
- adds r0, r5, 0
- movs r2, 0x6
- bl sub_809488C
- ldr r1, [r4]
- adds r0, r5, 0
- movs r2, 0xE
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809507C: .4byte gUnknown_203B47C
- thumb_func_end sub_8095044
-
- thumb_func_start sub_8095080
-sub_8095080:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080950B8
- ldr r1, [r4]
- adds r1, 0x4
- movs r2, 0x6
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x3
- adds r0, r5, 0
- movs r2, 0x6
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x2
- adds r0, r5, 0
- movs r2, 0x6
- bl sub_8094924
- ldr r1, [r4]
- adds r0, r5, 0
- movs r2, 0xE
- bl sub_8094924
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080950B8: .4byte gUnknown_203B47C
- thumb_func_end sub_8095080
-
- thumb_func_start sub_80950BC
-sub_80950BC:
- ldr r1, _080950D8
- ldr r0, _080950DC
- str r0, [r1]
- ldr r1, _080950E0
- ldr r0, _080950E4
- str r0, [r1]
- ldr r1, _080950E8
- ldr r0, _080950EC
- str r0, [r1]
- ldr r1, _080950F0
- ldr r0, _080950F4
- str r0, [r1]
- bx lr
- .align 2, 0
-_080950D8: .4byte gUnknown_203B480
-_080950DC: .4byte gUnknown_2038C88
-_080950E0: .4byte gUnknown_203B484
-_080950E4: .4byte gUnknown_2039288
-_080950E8: .4byte gUnknown_203B488
-_080950EC: .4byte gUnknown_20392E8
-_080950F0: .4byte gUnknown_203B48C
-_080950F4: .4byte gUnknown_20393C0
- thumb_func_end sub_80950BC
-
- thumb_func_start sub_80950F8
-sub_80950F8:
- ldr r0, _080950FC
- bx lr
- .align 2, 0
-_080950FC: .4byte gUnknown_2038C88
- thumb_func_end sub_80950F8
-
- thumb_func_start sub_8095100
-sub_8095100:
- ldr r0, _08095104
- bx lr
- .align 2, 0
-_08095104: .4byte gUnknown_2039288
- thumb_func_end sub_8095100
-
- thumb_func_start sub_8095108
-sub_8095108:
- ldr r0, _0809510C
- bx lr
- .align 2, 0
-_0809510C: .4byte gUnknown_20392E8
- thumb_func_end sub_8095108
-
- thumb_func_start sub_8095110
-sub_8095110:
- ldr r0, _08095114
- bx lr
- .align 2, 0
-_08095114: .4byte gUnknown_20393C0
- thumb_func_end sub_8095110
-
- thumb_func_start sub_8095118
-sub_8095118:
- push {r4,lr}
- ldr r4, _0809517C
- ldr r0, [r4]
- movs r2, 0xC0
- lsls r2, 3
- movs r1, 0
- bl MemoryFill8
- ldr r0, _08095180
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0x5C
- bl MemoryFill8
- movs r2, 0
- movs r1, 0
- movs r3, 0x1F
-_0809513A:
- ldr r0, [r4]
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, r1
- adds r0, 0x22
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, r1
- adds r0, 0x2D
- strb r2, [r0]
- adds r1, 0x30
- subs r3, 0x1
- cmp r3, 0
- bge _0809513A
- ldr r2, _08095184
- ldr r1, [r2]
- movs r0, 0
- str r0, [r1]
- movs r3, 0
- movs r4, 0x1
- negs r4, r4
-_08095166:
- ldr r0, [r2]
- lsls r1, r3, 2
- adds r0, 0x4
- adds r0, r1
- str r4, [r0]
- adds r3, 0x1
- cmp r3, 0x1F
- ble _08095166
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809517C: .4byte gUnknown_203B480
-_08095180: .4byte gUnknown_203B484
-_08095184: .4byte gUnknown_203B48C
- thumb_func_end sub_8095118
-
- thumb_func_start nullsub_206
-nullsub_206:
- bx lr
- thumb_func_end nullsub_206
-
- thumb_func_start nullsub_207
-nullsub_207:
- bx lr
- thumb_func_end nullsub_207
-
- thumb_func_start sub_8095190
-sub_8095190:
- push {lr}
- movs r2, 0x2
- ldr r0, _080951A8
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x60
-_0809519C:
- ldrb r0, [r1]
- cmp r0, 0
- bne _080951AC
- adds r0, r2, 0
- b _080951B8
- .align 2, 0
-_080951A8: .4byte gUnknown_203B480
-_080951AC:
- adds r1, 0x30
- adds r2, 0x1
- cmp r2, 0x1F
- ble _0809519C
- movs r0, 0x1
- negs r0, r0
-_080951B8:
- pop {r1}
- bx r1
- thumb_func_end sub_8095190
-
- thumb_func_start sub_80951BC
-sub_80951BC:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8095190
- adds r2, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _080951F4
- ldr r0, _080951F0
- ldr r1, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 4
- adds r1, r0
- adds r0, r4, 0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r0, 0x1
- b _080951F6
- .align 2, 0
-_080951F0: .4byte gUnknown_203B480
-_080951F4:
- movs r0, 0
-_080951F6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80951BC
-
- thumb_func_start sub_80951FC
-sub_80951FC:
- push {r4,r5,lr}
- ldr r1, _08095224
- ldr r1, [r1]
- adds r1, 0x30
- ldrb r2, [r1]
- negs r3, r2
- orrs r3, r2
- lsrs r3, 31
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- adds r0, r3, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08095224: .4byte gUnknown_203B480
- thumb_func_end sub_80951FC
-
- thumb_func_start sub_8095228
-sub_8095228:
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0809523C
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- bx lr
- .align 2, 0
-_0809523C: .4byte gUnknown_203B480
- thumb_func_end sub_8095228
-
- thumb_func_start sub_8095240
-sub_8095240:
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _08095270
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 4
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x22
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08095270: .4byte gUnknown_203B480
- thumb_func_end sub_8095240
-
- thumb_func_start sub_8095274
-sub_8095274:
- push {lr}
- ldr r1, _08095294
- ldr r3, [r1]
- adds r2, r3, 0
- ldm r2!, {r1}
- lsls r1, 2
- adds r2, r1
- str r0, [r2]
- ldr r0, [r3]
- movs r1, 0
- cmp r0, 0x1E
- bgt _0809528E
- adds r1, r0, 0x1
-_0809528E:
- str r1, [r3]
- pop {r0}
- bx r0
- .align 2, 0
-_08095294: .4byte gUnknown_203B48C
- thumb_func_end sub_8095274
-
- thumb_func_start sub_8095298
-sub_8095298:
- push {lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r0, _080952B0
- ldr r0, [r0]
- adds r1, r0, 0x4
-_080952A4:
- ldr r0, [r1]
- cmp r0, r3
- bne _080952B4
- movs r0, 0x1
- b _080952BE
- .align 2, 0
-_080952B0: .4byte gUnknown_203B48C
-_080952B4:
- adds r1, 0x4
- adds r2, 0x1
- cmp r2, 0x1F
- ble _080952A4
- movs r0, 0
-_080952BE:
- pop {r1}
- bx r1
- thumb_func_end sub_8095298
-
- thumb_func_start sub_80952C4
-sub_80952C4:
- push {r4,lr}
- ldr r2, _080952EC
- ldr r1, [r2]
- movs r0, 0
- str r0, [r1]
- movs r3, 0
- adds r4, r2, 0
- movs r2, 0x1
- negs r2, r2
-_080952D6:
- ldr r0, [r4]
- lsls r1, r3, 2
- adds r0, 0x4
- adds r0, r1
- str r2, [r0]
- adds r3, 0x1
- cmp r3, 0x1F
- ble _080952D6
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080952EC: .4byte gUnknown_203B48C
- thumb_func_end sub_80952C4
-
- thumb_func_start sub_80952F0
-sub_80952F0:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r1, r0, 24
- movs r3, 0
- ldr r0, _08095310
- ldr r2, [r0]
-_080952FE:
- ldrb r0, [r2]
- cmp r0, r1
- bne _08095314
- ldr r0, [r2, 0x10]
- cmp r0, r4
- bne _08095314
- movs r0, 0x1
- b _0809531E
- .align 2, 0
-_08095310: .4byte gUnknown_203B480
-_08095314:
- adds r2, 0x30
- adds r3, 0x1
- cmp r3, 0x1F
- ble _080952FE
- movs r0, 0
-_0809531E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80952F0
-
- thumb_func_start sub_8095324
-sub_8095324:
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r3, 0
- ldr r0, _0809534C
- ldr r1, [r0]
- movs r2, 0x1F
-_08095332:
- ldrb r0, [r1]
- cmp r0, r4
- bne _0809533A
- adds r3, 0x1
-_0809533A:
- adds r1, 0x30
- subs r2, 0x1
- cmp r2, 0
- bge _08095332
- adds r0, r3, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809534C: .4byte gUnknown_203B480
- thumb_func_end sub_8095324
-
- thumb_func_start sub_8095350
-sub_8095350:
- push {lr}
- movs r3, 0
- ldr r0, _08095370
- ldr r1, [r0]
- movs r2, 0x1F
-_0809535A:
- ldrb r0, [r1]
- cmp r0, 0
- beq _08095362
- adds r3, 0x1
-_08095362:
- adds r1, 0x30
- subs r2, 0x1
- cmp r2, 0
- bge _0809535A
- adds r0, r3, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08095370: .4byte gUnknown_203B480
- thumb_func_end sub_8095350
-
- thumb_func_start sub_8095374
-sub_8095374:
- push {lr}
- movs r3, 0x1
- negs r3, r3
- movs r2, 0
- ldr r0, _08095398
- ldr r1, [r0]
-_08095380:
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _08095388
- adds r3, r2, 0
-_08095388:
- adds r1, 0x30
- adds r2, 0x1
- cmp r2, 0x1F
- ble _08095380
- adds r0, r3, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08095398: .4byte gUnknown_203B480
- thumb_func_end sub_8095374
-
- thumb_func_start sub_809539C
-sub_809539C:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r1, r0, 24
- movs r3, 0
- ldr r0, _080953BC
- ldr r2, [r0]
-_080953AA:
- ldrb r0, [r2]
- cmp r0, r1
- bne _080953C0
- ldr r0, [r2, 0x10]
- cmp r0, r4
- bne _080953C0
- adds r0, r3, 0
- b _080953CC
- .align 2, 0
-_080953BC: .4byte gUnknown_203B480
-_080953C0:
- adds r2, 0x30
- adds r3, 0x1
- cmp r3, 0x1F
- ble _080953AA
- movs r0, 0x1
- negs r0, r0
-_080953CC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809539C
-
- thumb_func_start sub_80953D4
-sub_80953D4:
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r0, _080953EC
- ldr r1, [r0]
-_080953E0:
- ldrb r0, [r1]
- cmp r0, r3
- bne _080953F0
- adds r0, r2, 0
- b _080953FC
- .align 2, 0
-_080953EC: .4byte gUnknown_203B480
-_080953F0:
- adds r1, 0x30
- adds r2, 0x1
- cmp r2, 0x1F
- ble _080953E0
- movs r0, 0x1
- negs r0, r0
-_080953FC:
- pop {r1}
- bx r1
- thumb_func_end sub_80953D4
-
- thumb_func_start sub_8095400
-sub_8095400:
- push {lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r0, _08095418
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x10
-_0809540E:
- ldr r0, [r1]
- cmp r0, r3
- bne _0809541C
- adds r0, r2, 0
- b _08095428
- .align 2, 0
-_08095418: .4byte gUnknown_203B480
-_0809541C:
- adds r1, 0x30
- adds r2, 0x1
- cmp r2, 0x1F
- ble _0809540E
- movs r0, 0x1
- negs r0, r0
-_08095428:
- pop {r1}
- bx r1
- thumb_func_end sub_8095400
-
- thumb_func_start sub_809542C
-sub_809542C:
- push {r4,lr}
- sub sp, 0x14
- ldr r4, _08095490
- ldr r2, [r4]
- movs r1, 0x1
- strb r1, [r2]
- ldr r2, [r4]
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2, 0x4]
- str r1, [r2, 0x8]
- bl Random
- bl sub_8094D28
- bl sub_8094E4C
- ldr r1, [r4]
- str r0, [r1, 0x10]
- bl sub_808D33C
- ldr r1, [r4]
- ldrh r0, [r0, 0x8]
- strh r0, [r1, 0xC]
- bl sub_808D33C
- adds r1, r0, 0
- mov r0, sp
- bl sub_808DA34
- ldr r0, [r4]
- adds r0, 0x14
- mov r1, sp
- bl sub_80922F4
- bl sub_8011C34
- ldr r1, [r4]
- str r0, [r1, 0x24]
- ldrb r0, [r1, 0x4]
- bl GetUnk3
- ldr r1, [r4]
- adds r1, 0x2C
- strb r0, [r1]
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08095490: .4byte gUnknown_203B480
- thumb_func_end sub_809542C
-
- thumb_func_start sub_8095494
-sub_8095494:
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _080954B0
- ldr r3, [r2]
- lsls r2, r1, 1
- adds r2, r1
- lsls r2, 4
- adds r3, r2
- ldr r1, [r3, 0x4]
- ldr r2, [r3, 0x8]
- str r1, [r0]
- str r2, [r0, 0x4]
- bx lr
- .align 2, 0
-_080954B0: .4byte gUnknown_203B480
- thumb_func_end sub_8095494
-
- thumb_func_start sub_80954B4
-sub_80954B4:
- push {lr}
- movs r0, 0x3
- bl sub_8095324
- cmp r0, 0
- bne _080954C4
- movs r0, 0
- b _080954C6
-_080954C4:
- movs r0, 0x1
-_080954C6:
- pop {r1}
- bx r1
- thumb_func_end sub_80954B4
-
- thumb_func_start sub_80954CC
-sub_80954CC:
- push {r4-r6,lr}
- sub sp, 0x10
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809485C
- ldr r6, _08095618
- movs r5, 0
- movs r4, 0x1F
-_080954E2:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8095774
- adds r5, 0x30
- subs r4, 0x1
- cmp r4, 0
- bge _080954E2
- ldr r4, _0809561C
- ldr r1, [r4]
- mov r0, sp
- movs r2, 0x20
- bl sub_8094924
- ldr r5, [r4]
- adds r4, r5, 0x4
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x58
- bl memset
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x2
- bl sub_8094924
- adds r1, r5, 0x6
- mov r0, sp
- movs r2, 0x1
- bl sub_8094924
- adds r1, r5, 0x7
- mov r0, sp
- movs r2, 0x7
- bl sub_8094924
- adds r4, 0x4
- mov r0, sp
- adds r1, r4, 0
- bl sub_8090314
- adds r1, r5, 0
- adds r1, 0xC
- mov r0, sp
- movs r2, 0x9
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x10
- mov r0, sp
- bl sub_808F410
- adds r1, r5, 0
- adds r1, 0x14
- mov r0, sp
- bl sub_808F410
- adds r1, r5, 0
- adds r1, 0x18
- mov r0, sp
- movs r2, 0xA
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x1A
- mov r0, sp
- movs r2, 0xA
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x1C
- mov r0, sp
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x1D
- mov r0, sp
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x1E
- mov r0, sp
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x1F
- mov r0, sp
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x20
- mov r0, sp
- movs r2, 0x18
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x24
- mov r0, sp
- movs r2, 0x18
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x28
- mov r0, sp
- movs r2, 0x4
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x2C
- mov r0, sp
- bl sub_8091DC0
- adds r1, r5, 0
- adds r1, 0x30
- mov r0, sp
- bl sub_8094128
- adds r1, r5, 0
- adds r1, 0x50
- mov r0, sp
- movs r2, 0x50
- bl sub_8094924
- ldr r4, _08095620
- ldr r1, [r4]
- mov r0, sp
- movs r2, 0x20
- bl sub_8094924
- adds r6, r4, 0
- movs r5, 0x4
- movs r4, 0x1F
-_080955F4:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- movs r2, 0x20
- bl sub_8094924
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _080955F4
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08095618: .4byte gUnknown_203B480
-_0809561C: .4byte gUnknown_203B484
-_08095620: .4byte gUnknown_203B48C
- thumb_func_end sub_80954CC
-
- thumb_func_start sub_8095624
-sub_8095624:
- push {r4-r6,lr}
- sub sp, 0x10
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809486C
- ldr r6, _08095768
- movs r5, 0
- movs r4, 0x1F
-_0809563A:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8095824
- adds r5, 0x30
- subs r4, 0x1
- cmp r4, 0
- bge _0809563A
- ldr r4, _0809576C
- ldr r1, [r4]
- mov r0, sp
- movs r2, 0x20
- bl sub_809488C
- ldr r5, [r4]
- adds r4, r5, 0x4
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x2
- bl sub_809488C
- adds r1, r5, 0x6
- mov r0, sp
- movs r2, 0x1
- bl sub_809488C
- adds r1, r5, 0x7
- mov r0, sp
- movs r2, 0x7
- bl sub_809488C
- adds r4, 0x4
- mov r0, sp
- adds r1, r4, 0
- bl sub_80902F4
- adds r1, r5, 0
- adds r1, 0xC
- mov r0, sp
- movs r2, 0x9
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x10
- mov r0, sp
- bl sub_808F41C
- adds r1, r5, 0
- adds r1, 0x14
- mov r0, sp
- bl sub_808F41C
- adds r1, r5, 0
- adds r1, 0x18
- mov r0, sp
- movs r2, 0xA
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x1A
- mov r0, sp
- movs r2, 0xA
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x1C
- mov r0, sp
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x1D
- mov r0, sp
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x1E
- mov r0, sp
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x1F
- mov r0, sp
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x20
- mov r0, sp
- movs r2, 0x18
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x24
- mov r0, sp
- movs r2, 0x18
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x28
- mov r0, sp
- movs r2, 0x4
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x2C
- mov r0, sp
- bl sub_8091DE0
- adds r1, r5, 0
- adds r1, 0x30
- mov r0, sp
- bl sub_8094108
- adds r1, r5, 0
- adds r1, 0x50
- mov r0, sp
- movs r2, 0x50
- bl sub_809488C
- ldr r4, _08095770
- ldr r1, [r4]
- mov r0, sp
- movs r2, 0x20
- bl sub_809488C
- adds r6, r4, 0
- movs r5, 0x4
- movs r4, 0x1F
-_08095742:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- movs r2, 0x20
- bl sub_809488C
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08095742
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08095768: .4byte gUnknown_203B480
-_0809576C: .4byte gUnknown_203B484
-_08095770: .4byte gUnknown_203B48C
- thumb_func_end sub_8095624
-
- thumb_func_start sub_8095774
-sub_8095774:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl sub_8094924
- adds r1, r5, 0x4
- adds r0, r4, 0
- bl sub_8090314
- adds r1, r5, 0
- adds r1, 0x8
- adds r0, r4, 0
- movs r2, 0x18
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0xC
- adds r0, r4, 0
- movs r2, 0x9
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x10
- adds r0, r4, 0
- movs r2, 0x20
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x14
- adds r0, r4, 0
- movs r2, 0x50
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x20
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x21
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x22
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x24
- adds r0, r4, 0
- movs r2, 0x20
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x28
- adds r0, r4, 0
- movs r2, 0x20
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x2C
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_8094924
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- mov r0, sp
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- adds r1, r5, 0
- adds r1, 0x2D
- strb r0, [r1]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8095774
-
- thumb_func_start sub_8095824
-sub_8095824:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r4, r1, 0
- movs r1, 0xFF
- mov r0, sp
- strb r1, [r0]
- mov r6, sp
- adds r6, 0x1
- movs r0, 0
- strb r0, [r6]
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x4
- bl sub_809488C
- adds r1, r4, 0x4
- adds r0, r5, 0
- bl sub_80902F4
- adds r1, r4, 0
- adds r1, 0x8
- adds r0, r5, 0
- movs r2, 0x18
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0xC
- adds r0, r5, 0
- movs r2, 0x9
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x10
- adds r0, r5, 0
- movs r2, 0x20
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x14
- adds r0, r5, 0
- movs r2, 0x50
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x20
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x21
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x22
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x24
- adds r0, r5, 0
- movs r2, 0x20
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x28
- adds r0, r5, 0
- movs r2, 0x20
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x2C
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_809488C
- adds r0, r4, 0
- adds r0, 0x2D
- ldrb r0, [r0]
- mov r1, sp
- cmp r0, 0
- bne _080958D2
- adds r1, r6, 0
-_080958D2:
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_809488C
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8095824
-
- thumb_func_start sub_80958E4
-sub_80958E4:
- str r1, [r0]
- bx lr
- thumb_func_end sub_80958E4
-
- thumb_func_start sub_80958E8
-sub_80958E8:
- ldr r1, _080958F0
- ldr r0, _080958F4
- str r0, [r1]
- bx lr
- .align 2, 0
-_080958F0: .4byte gUnknown_203B490
-_080958F4: .4byte gUnknown_2039448
- thumb_func_end sub_80958E8
-
- thumb_func_start sub_80958F8
-sub_80958F8:
- ldr r0, _080958FC
- bx lr
- .align 2, 0
-_080958FC: .4byte gUnknown_2039448
- thumb_func_end sub_80958F8
-
- thumb_func_start sub_8095900
-sub_8095900:
- push {r4-r7,lr}
- movs r4, 0
-_08095904:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096040
- adds r4, 0x1
- cmp r4, 0x3
- ble _08095904
- movs r4, 0
-_08095914:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80965B8
- adds r4, 0x1
- cmp r4, 0x7
- ble _08095914
- movs r4, 0
-_08095924:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096C3C
- adds r4, 0x1
- cmp r4, 0x7
- ble _08095924
- movs r4, 0
- ldr r3, _080959B8
- movs r2, 0xBC
- lsls r2, 2
- movs r1, 0
-_0809593C:
- ldr r0, [r3]
- adds r0, r2
- adds r0, r4
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x37
- ble _0809593C
- ldr r4, _080959B8
- ldr r0, [r4]
- movs r1, 0xCA
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- movs r7, 0xC8
- lsls r7, 1
- adds r0, r7
- movs r1, 0x28
- bl MemoryClear8
- ldr r0, [r4]
- movs r1, 0xDC
- lsls r1, 1
- adds r0, r1
- movs r1, 0x78
- bl MemoryClear8
- adds r3, r4, 0
- movs r5, 0
- movs r2, 0
- movs r6, 0x8C
- lsls r6, 2
- movs r4, 0xF
-_08095980:
- ldr r0, [r3]
- adds r0, r2
- adds r0, r6
- movs r1, 0x63
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, r2
- ldr r7, _080959BC
- adds r0, r7
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, [r3]
- adds r7, 0x3
- adds r0, r1, r7
- adds r0, r2
- str r5, [r0]
- adds r7, 0x4
- adds r0, r1, r7
- adds r0, r2
- str r5, [r0]
- adds r2, 0xC
- subs r4, 0x1
- cmp r4, 0
- bge _08095980
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080959B8: .4byte gUnknown_203B490
-_080959BC: .4byte 0x00000231
- thumb_func_end sub_8095900
-
- thumb_func_start sub_80959C0
-sub_80959C0:
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0x5
- bne _080959D6
- adds r0, r1, 0
- bl sub_80959DC
- lsls r0, 24
- lsrs r0, 24
- b _080959D8
-_080959D6:
- movs r0, 0
-_080959D8:
- pop {r1}
- bx r1
- thumb_func_end sub_80959C0
-
- thumb_func_start sub_80959DC
-sub_80959DC:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrb r0, [r5, 0x1]
- cmp r0, 0x4
- bls _080959E8
- b _08095B16
-_080959E8:
- cmp r0, 0x4
- bne _080959F8
- ldrb r0, [r5, 0x4]
- bl GetMaxItemCount
- cmp r0, 0
- bne _080959F8
- b _08095B16
-_080959F8:
- ldrb r0, [r5, 0x2]
- cmp r0, 0x9
- bls _08095A00
- b _08095B16
-_08095A00:
- ldrb r0, [r5, 0x4]
- bl sub_809095C
- lsls r0, 24
- cmp r0, 0
- beq _08095A0E
- b _08095B16
-_08095A0E:
- ldrb r4, [r5, 0x5]
- ldrb r0, [r5, 0x4]
- bl sub_8090298
- cmp r4, r0
- bge _08095B16
- adds r4, r5, 0x4
- adds r0, r4, 0
- bl sub_809017C
- lsls r0, 24
- adds r6, r4, 0
- cmp r0, 0
- bne _08095B16
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08095B16
- ldr r4, _08095B1C
- cmp r0, r4
- bgt _08095B16
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- bl sub_808E770
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- lsls r0, 16
- asrs r0, 16
- cmp r1, r0
- bne _08095B16
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- bl sub_803C0DC
- lsls r0, 24
- cmp r0, 0
- beq _08095B16
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r0, r4
- bgt _08095B16
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- bl sub_808E770
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- lsls r0, 16
- asrs r0, 16
- cmp r1, r0
- bne _08095B16
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- bl sub_803C0DC
- lsls r0, 24
- cmp r0, 0
- beq _08095B16
- ldrb r0, [r5, 0x1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08095A9C
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _08095B16
-_08095A9C:
- ldrb r0, [r5, 0x10]
- bl sub_8092040
- lsls r0, 24
- cmp r0, 0
- bne _08095B16
- ldrb r0, [r5, 0x10]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _08095B16
- ldrb r0, [r5, 0x10]
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _08095B16
- ldrb r0, [r5, 0x1]
- cmp r0, 0x3
- bne _08095AD4
- ldrb r0, [r5, 0x4]
- ldrb r1, [r5, 0x10]
- bl sub_8091E60
- lsls r0, 24
- cmp r0, 0
- beq _08095B16
-_08095AD4:
- ldrb r0, [r5, 0x11]
- cmp r0, 0x4
- beq _08095B16
- cmp r0, 0xA
- beq _08095B16
- cmp r0, 0xA
- bhi _08095B16
- ldrb r0, [r5, 0x12]
- bl sub_8092040
- lsls r0, 24
- cmp r0, 0
- bne _08095B16
- ldrb r0, [r5, 0x13]
- cmp r0, 0x39
- bhi _08095B16
- ldrb r0, [r5, 0x11]
- cmp r0, 0x9
- bne _08095B20
- ldrb r0, [r5, 0x13]
- bl sub_8092534
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08095B16
- ldrb r1, [r5, 0x1]
- adds r0, r6, 0
- bl sub_803C1D0
- lsls r0, 24
- cmp r0, 0
- bne _08095B20
-_08095B16:
- movs r0, 0
- b _08095B22
- .align 2, 0
-_08095B1C: .4byte 0x000001a7
-_08095B20:
- movs r0, 0x1
-_08095B22:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80959DC
-
- thumb_func_start sub_8095B28
-sub_8095B28:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, _08095B44
- add sp, r4
- adds r4, r0, 0
- bl sub_8095CE0
- lsls r0, 24
- cmp r0, 0
- bne _08095B48
- movs r0, 0
- b _08095CCC
- .align 2, 0
-_08095B44: .4byte 0xfffffcb0
-_08095B48:
- movs r0, 0x5
- strb r0, [r4]
- movs r0, 0x8
- bl RandomCapped
- ldr r1, _08095BC8
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r4, 0x1]
- cmp r0, 0x2
- bne _08095B6C
- bl sub_8092178
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08095B6C
- strb r0, [r4, 0x1]
-_08095B6C:
- movs r0, 0
- strb r0, [r4, 0x2]
- bl Random
- ldr r1, _08095BCC
- ands r1, r0
- str r1, [r4, 0x8]
- movs r7, 0
- movs r5, 0x1
- adds r0, r4, 0x4
- mov r8, r0
- movs r1, 0x12
- adds r1, r4
- mov r9, r1
- mov r6, sp
-_08095B8A:
- lsls r0, r5, 16
- asrs r0, 16
- bl sub_803C110
- lsls r0, 24
- cmp r0, 0
- beq _08095B9E
- strh r5, [r6]
- adds r6, 0x2
- adds r7, 0x1
-_08095B9E:
- adds r5, 0x1
- ldr r0, _08095BD0
- cmp r5, r0
- ble _08095B8A
- cmp r7, 0
- beq _08095BD4
- adds r0, r7, 0
- bl RandomCapped
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0xC]
- adds r0, r7, 0
- bl RandomCapped
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- b _08095BDC
- .align 2, 0
-_08095BC8: .4byte gUnknown_8109984
-_08095BCC: .4byte 0x00ffffff
-_08095BD0: .4byte 0x000001a7
-_08095BD4:
- movs r0, 0x10
- strh r0, [r4, 0xC]
- movs r0, 0x91
- lsls r0, 1
-_08095BDC:
- strh r0, [r4, 0xE]
- ldrb r0, [r4, 0x1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08095BEE
- ldrh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
-_08095BEE:
- ldrb r0, [r4, 0x4]
- bl sub_8095F28
- strb r0, [r4, 0x10]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08095C10
- strb r0, [r4, 0x1]
- ldrh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- adds r2, r4, 0
- adds r2, 0x10
- mov r0, r8
- movs r1, 0
- bl sub_803C37C
-_08095C10:
- ldrb r0, [r4, 0x4]
- bl GetMaxItemCount
- adds r1, r0, 0
- cmp r1, 0
- bne _08095C28
- ldrb r0, [r4, 0x1]
- cmp r0, 0x4
- bne _08095C28
- strb r1, [r4, 0x1]
- ldrh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
-_08095C28:
- ldrb r1, [r4, 0x1]
- mov r0, r8
- mov r2, r9
- bl sub_803C37C
- ldrb r0, [r4, 0x10]
- ldrb r1, [r4, 0x12]
- cmp r0, r1
- beq _08095C28
- movs r0, 0
- strb r0, [r4, 0x13]
- ldrb r0, [r4, 0x1]
- cmp r0, 0x2
- beq _08095C90
- cmp r0, 0x2
- bgt _08095C4E
- cmp r0, 0x1
- beq _08095C6C
- b _08095CCA
-_08095C4E:
- cmp r0, 0x4
- bgt _08095CCA
- bl Random
- adds r1, r0, 0
- movs r0, 0xE0
- lsls r0, 3
- ands r1, r0
- movs r0, 0xC0
- lsls r0, 2
- cmp r1, r0
- beq _08095CC4
- cmp r1, r0
- bgt _08095CB4
- b _08095CAA
-_08095C6C:
- bl Random
- adds r1, r0, 0
- movs r0, 0x70
- ands r1, r0
- cmp r1, 0x10
- beq _08095C80
- cmp r1, 0x30
- beq _08095C88
- b _08095CCA
-_08095C80:
- adds r0, r4, 0
- bl sub_803C3E0
- b _08095CCA
-_08095C88:
- adds r0, r4, 0
- bl sub_803C45C
- b _08095CCA
-_08095C90:
- bl Random
- movs r1, 0xC0
- lsls r1, 6
- ands r1, r0
- movs r0, 0x80
- lsls r0, 5
- cmp r1, r0
- bne _08095CCA
- adds r0, r4, 0
- bl sub_803C4F0
- b _08095CCA
-_08095CAA:
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- beq _08095CBC
- b _08095CCA
-_08095CB4:
- movs r0, 0xC0
- lsls r0, 3
- cmp r1, r0
- bne _08095CCA
-_08095CBC:
- adds r0, r4, 0
- bl sub_803C580
- b _08095CCA
-_08095CC4:
- adds r0, r4, 0
- bl sub_803C610
-_08095CCA:
- movs r0, 0x1
-_08095CCC:
- movs r3, 0xD4
- lsls r3, 2
- add sp, r3
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8095B28
-
- thumb_func_start sub_8095CE0
-sub_8095CE0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x60
- str r0, [sp, 0x44]
- mov r0, sp
- bl sub_80A29B0
- str r0, [sp, 0x4C]
- cmp r0, 0
- bne _08095D0C
- mov r0, sp
- add r1, sp, 0x4C
- ldrb r1, [r1]
- strb r1, [r0]
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r2, 0x2
- str r2, [sp, 0x4C]
-_08095D0C:
- ldr r0, [sp, 0x4C]
- bl RandomCapped
- mov r9, r0
- str r0, [sp, 0x48]
- mov r1, sp
- adds r1, 0x40
- str r1, [sp, 0x5C]
-_08095D1C:
- mov r0, sp
- add r0, r9
- ldrb r7, [r0]
- adds r0, r7, 0
- bl sub_8090298
- str r0, [sp, 0x58]
- lsrs r0, 31
- ldr r2, [sp, 0x58]
- adds r0, r2, r0
- asrs r0, 1
- str r0, [sp, 0x54]
- adds r1, r2, 0
- bl RandomRange
- adds r4, r0, 0
- str r4, [sp, 0x50]
-_08095D3E:
- movs r0, 0x1
- mov r8, r0
- ldr r1, _08095DF4
- ldr r0, [sp, 0x40]
- ands r0, r1
- orrs r0, r7
- lsls r2, r4, 24
- lsrs r2, 16
- ldr r1, _08095DF8
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x40]
- ldr r0, [sp, 0x5C]
- bl sub_809017C
- lsls r0, 24
- cmp r0, 0
- beq _08095D66
- movs r1, 0
- mov r8, r1
-_08095D66:
- ldr r2, _08095DFC
- mov r10, r2
- movs r6, 0
- movs r5, 0x3
-_08095D6E:
- mov r1, r10
- ldr r0, [r1]
- adds r0, r6
- adds r1, r7, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8095E38
- lsls r0, 24
- cmp r0, 0
- beq _08095D88
- movs r2, 0
- mov r8, r2
-_08095D88:
- adds r6, 0x14
- subs r5, 0x1
- cmp r5, 0
- bge _08095D6E
- ldr r0, _08095DFC
- mov r10, r0
- movs r6, 0x50
- movs r5, 0x7
-_08095D98:
- mov r1, r10
- ldr r0, [r1]
- adds r0, r6
- adds r1, r7, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8095E38
- lsls r0, 24
- cmp r0, 0
- beq _08095DB2
- movs r2, 0
- mov r8, r2
-_08095DB2:
- adds r6, 0x14
- subs r5, 0x1
- cmp r5, 0
- bge _08095D98
- ldr r0, _08095DFC
- mov r10, r0
- movs r6, 0xF0
- movs r5, 0x7
-_08095DC2:
- mov r1, r10
- ldr r0, [r1]
- adds r0, r6
- adds r1, r7, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8095E38
- lsls r0, 24
- cmp r0, 0
- beq _08095DDC
- movs r2, 0
- mov r8, r2
-_08095DDC:
- adds r6, 0x14
- subs r5, 0x1
- cmp r5, 0
- bge _08095DC2
- mov r0, r8
- cmp r0, 0
- beq _08095E00
- ldr r1, [sp, 0x44]
- strb r7, [r1, 0x4]
- strb r4, [r1, 0x5]
- movs r0, 0x1
- b _08095E28
- .align 2, 0
-_08095DF4: .4byte 0xffffff00
-_08095DF8: .4byte 0xffff00ff
-_08095DFC: .4byte gUnknown_203B490
-_08095E00:
- adds r4, 0x1
- ldr r2, [sp, 0x58]
- cmp r4, r2
- blt _08095E0A
- ldr r4, [sp, 0x54]
-_08095E0A:
- ldr r0, [sp, 0x50]
- cmp r4, r0
- bne _08095D3E
- movs r1, 0x1
- add r9, r1
- ldr r2, [sp, 0x4C]
- cmp r9, r2
- bne _08095E1E
- movs r0, 0
- mov r9, r0
-_08095E1E:
- ldr r1, [sp, 0x48]
- cmp r9, r1
- beq _08095E26
- b _08095D1C
-_08095E26:
- movs r0, 0
-_08095E28:
- add sp, 0x60
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8095CE0
-
- thumb_func_start sub_8095E38
-sub_8095E38:
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4]
- cmp r0, 0
- beq _08095E6E
- ldrb r0, [r4, 0x1]
- cmp r0, 0x2
- bne _08095E5E
- cmp r3, 0x1
- bne _08095E5E
- ldrb r0, [r4, 0x4]
- cmp r0, r1
- bne _08095E6E
- movs r0, 0x1
- b _08095E70
-_08095E5E:
- ldrb r0, [r4, 0x4]
- cmp r0, r1
- bne _08095E6E
- ldrb r0, [r4, 0x5]
- cmp r0, r2
- bne _08095E6E
- movs r0, 0x1
- b _08095E70
-_08095E6E:
- movs r0, 0
-_08095E70:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8095E38
-
- thumb_func_start sub_8095E78
-sub_8095E78:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x3C
- movs r6, 0
- movs r5, 0x1
-_08095E84:
- ldr r0, _08095F04
- ldr r0, [r0]
- adds r0, r5
- ldrb r0, [r0]
- adds r1, r5, 0x1
- mov r8, r1
- cmp r0, 0
- bne _08095EF6
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_8092534
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08095EF6
- movs r4, 0
- ldr r0, _08095F08
- ldr r1, [r0]
- movs r3, 0x3
-_08095EAC:
- ldrb r0, [r1]
- cmp r0, 0
- beq _08095EBA
- ldrb r0, [r1, 0x11]
- cmp r0, 0x9
- bne _08095EBA
- movs r4, 0x1
-_08095EBA:
- adds r1, 0x14
- subs r3, 0x1
- cmp r3, 0
- bge _08095EAC
- ldr r0, _08095F08
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0xF0
- adds r1, r0, 0
- movs r3, 0x7
-_08095ECE:
- ldrb r0, [r2]
- cmp r0, 0
- beq _08095EE0
- ldr r7, _08095F0C
- adds r0, r1, r7
- ldrb r0, [r0]
- cmp r0, 0x9
- bne _08095EE0
- movs r4, 0x1
-_08095EE0:
- adds r2, 0x14
- adds r1, 0x14
- subs r3, 0x1
- cmp r3, 0
- bge _08095ECE
- cmp r4, 0
- bne _08095EF6
- mov r1, sp
- adds r0, r1, r6
- strb r5, [r0]
- adds r6, 0x1
-_08095EF6:
- mov r5, r8
- cmp r5, 0x39
- ble _08095E84
- cmp r6, 0
- bne _08095F10
- movs r0, 0
- b _08095F1A
- .align 2, 0
-_08095F04: .4byte gUnknown_203B468
-_08095F08: .4byte gUnknown_203B490
-_08095F0C: .4byte 0x00000101
-_08095F10:
- adds r0, r6, 0
- bl RandomCapped
- add r0, sp
- ldrb r0, [r0]
-_08095F1A:
- add sp, 0x3C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8095E78
-
- thumb_func_start sub_8095F28
-sub_8095F28:
- push {r4-r7,lr}
- sub sp, 0xF0
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- movs r5, 0x1
-_08095F34:
- lsls r4, r5, 24
- cmp r7, 0x63
- beq _08095F48
- lsrs r1, r4, 24
- adds r0, r7, 0
- bl sub_8091E60
- lsls r0, 24
- cmp r0, 0
- beq _08095F6A
-_08095F48:
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _08095F6A
- adds r0, r4, 0
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _08095F6A
- mov r1, sp
- adds r0, r1, r6
- strb r5, [r0]
- adds r6, 0x1
-_08095F6A:
- adds r5, 0x1
- cmp r5, 0xEF
- ble _08095F34
- cmp r6, 0
- beq _08095F80
- adds r0, r6, 0
- bl RandomCapped
- add r0, sp
- ldrb r0, [r0]
- b _08095F82
-_08095F80:
- movs r0, 0
-_08095F82:
- add sp, 0xF0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8095F28
-
- thumb_func_start sub_8095F8C
-sub_8095F8C:
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0
-_08095F92:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096000
- lsls r0, 24
- cmp r0, 0
- bne _08095FA2
- adds r5, 0x1
-_08095FA2:
- adds r4, 0x1
- cmp r4, 0x3
- ble _08095F92
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095F8C
-
- thumb_func_start sub_8095FB0
-sub_8095FB0:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r3, 0
- ldr r5, _08095FD4
- movs r2, 0
-_08095FBA:
- ldr r0, [r5]
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _08095FD8
- adds r0, r4, 0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- movs r0, 0
- b _08095FE2
- .align 2, 0
-_08095FD4: .4byte gUnknown_203B490
-_08095FD8:
- adds r2, 0x14
- adds r3, 0x1
- cmp r3, 0x3
- ble _08095FBA
- movs r0, 0x1
-_08095FE2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095FB0
-
- thumb_func_start sub_8095FE8
-sub_8095FE8:
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08095FFC
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r0, r1
- bx lr
- .align 2, 0
-_08095FFC: .4byte gUnknown_203B490
- thumb_func_end sub_8095FE8
-
- thumb_func_start sub_8096000
-sub_8096000:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809601C
- ldr r2, [r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r2, r1
- ldrb r0, [r2]
- cmp r0, 0
- beq _08096020
- movs r0, 0
- b _08096022
- .align 2, 0
-_0809601C: .4byte gUnknown_203B490
-_08096020:
- movs r0, 0x1
-_08096022:
- pop {r1}
- bx r1
- thumb_func_end sub_8096000
-
- thumb_func_start sub_8096028
-sub_8096028:
- push {r4,lr}
- movs r4, 0
-_0809602C:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096040
- adds r4, 0x1
- cmp r4, 0x3
- ble _0809602C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8096028
-
- thumb_func_start sub_8096040
-sub_8096040:
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _08096074
- ldr r1, [r3]
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 2
- adds r1, r2
- movs r4, 0
- strb r4, [r1]
- ldr r0, [r3]
- adds r0, r2
- movs r1, 0x63
- strb r1, [r0, 0x4]
- ldr r0, [r3]
- adds r0, r2
- strb r4, [r0, 0x5]
- ldr r0, [r3]
- adds r0, r2
- movs r1, 0x5
- strb r1, [r0, 0x11]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096074: .4byte gUnknown_203B490
- thumb_func_end sub_8096040
-
- thumb_func_start sub_8096078
-sub_8096078:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r2, 0
- movs r3, 0
- ldr r0, _08096090
- mov r12, r0
- mov r8, r3
- movs r4, 0
- mov r9, r4
- b _080960B6
- .align 2, 0
-_08096090: .4byte gUnknown_203B490
-_08096094:
- cmp r2, r3
- ble _080960AA
- mov r1, r12
- ldr r0, [r1]
- mov r5, r8
- adds r1, r0, r5
- adds r0, r4
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r6,r7}
- stm r1!, {r6,r7}
-_080960AA:
- adds r4, 0x14
- movs r0, 0x14
- add r9, r0
- adds r2, 0x1
- add r8, r0
- adds r3, 0x1
-_080960B6:
- cmp r2, 0x3
- bgt _080960E2
- mov r1, r12
- ldr r0, [r1]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080960E2
- ldr r6, _08096110
- mov r1, r9
-_080960CA:
- adds r1, 0x14
- adds r4, 0x14
- movs r5, 0x14
- add r9, r5
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080960E2
- ldr r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080960CA
-_080960E2:
- cmp r2, 0x4
- bne _08096094
- cmp r3, 0x3
- bgt _08096102
- ldr r4, _08096110
- movs r2, 0
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 2
-_080960F4:
- ldr r0, [r4]
- adds r0, r1
- strb r2, [r0]
- adds r1, 0x14
- adds r3, 0x1
- cmp r3, 0x3
- ble _080960F4
-_08096102:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096110: .4byte gUnknown_203B490
- thumb_func_end sub_8096078
-
- thumb_func_start sub_8096114
-sub_8096114:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- movs r1, 0
-_08096122:
- adds r0, r1, 0x1
- mov r10, r0
- mov r8, r10
- cmp r0, 0x3
- bgt _08096198
- ldr r2, _080961B0
- mov r9, r2
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- mov r12, r0
- mov r3, r10
- lsls r0, r3, 2
- add r0, r10
- lsls r4, r0, 2
-_08096140:
- mov r5, r9
- ldr r1, [r5]
- adds r3, r1, r4
- ldrb r0, [r3]
- cmp r0, 0
- beq _0809618C
- mov r6, r12
- adds r2, r1, r6
- ldrb r1, [r2, 0x4]
- ldrb r0, [r3, 0x4]
- cmp r1, r0
- bhi _08096164
- cmp r1, r0
- bne _0809618C
- ldrb r0, [r2, 0x5]
- ldrb r7, [r3, 0x5]
- cmp r0, r7
- bls _0809618C
-_08096164:
- mov r1, sp
- adds r0, r2, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5,r6}
- stm r1!, {r5,r6}
- adds r1, r2, 0
- adds r0, r3, 0
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r5,r6}
- stm r1!, {r5,r6}
- mov r7, r9
- ldr r1, [r7]
- adds r1, r4
- mov r0, sp
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r6,r7}
- stm r1!, {r6,r7}
-_0809618C:
- adds r4, 0x14
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x3
- ble _08096140
-_08096198:
- mov r1, r10
- cmp r1, 0x2
- ble _08096122
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080961B0: .4byte gUnknown_203B490
- thumb_func_end sub_8096114
-
- thumb_func_start sub_80961B4
-sub_80961B4:
- push {lr}
- bl sub_8096E2C
- lsls r0, 24
- cmp r0, 0
- beq _080961CE
- ldr r0, _080961D4
- ldr r0, [r0]
- movs r1, 0xCA
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_080961CE:
- pop {r0}
- bx r0
- .align 2, 0
-_080961D4: .4byte gUnknown_203B490
- thumb_func_end sub_80961B4
-
- thumb_func_start sub_80961D8
-sub_80961D8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- bl sub_8095F8C
- adds r6, r0, 0
- movs r1, 0x4
- bl RandomRange
- mov r8, r0
- cmp r6, 0x3
- bgt _08096202
- ldr r4, _08096208
- ldr r0, [r4]
- movs r2, 0xCA
- lsls r2, 2
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _0809620C
-_08096202:
- movs r0, 0
- b _080963A8
- .align 2, 0
-_08096208: .4byte gUnknown_203B490
-_0809620C:
- strb r7, [r1]
- movs r5, 0x38
- movs r0, 0xA
- movs r1, 0x31
- movs r2, 0x1
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- beq _0809623A
- ldr r0, [r4]
- ldr r1, _08096328
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809623A
- movs r0, 0x35
- bl sub_8096E80
- lsls r0, 24
- cmp r0, 0
- bne _0809623A
- movs r5, 0x35
-_0809623A:
- movs r0, 0xF
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809629C
- ldr r0, _0809632C
- ldr r0, [r0]
- movs r2, 0xC9
- lsls r2, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08096264
- movs r0, 0x34
- bl sub_8096E80
- lsls r0, 24
- cmp r0, 0
- bne _08096264
- movs r5, 0x34
-_08096264:
- ldr r0, _0809632C
- ldr r0, [r0]
- ldr r1, _08096330
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08096280
- movs r0, 0x33
- bl sub_8096E80
- lsls r0, 24
- cmp r0, 0
- bne _08096280
- movs r5, 0x33
-_08096280:
- ldr r0, _0809632C
- ldr r0, [r0]
- ldr r2, _08096334
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809629C
- movs r0, 0x32
- bl sub_8096E80
- lsls r0, 24
- cmp r0, 0
- bne _0809629C
- movs r5, 0x32
-_0809629C:
- bl sub_8092178
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _080962C4
- ldr r0, _0809632C
- ldr r0, [r0]
- ldr r1, _08096338
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080962C4
- movs r0, 0x36
- bl sub_8096E80
- lsls r0, 24
- cmp r0, 0
- bne _080962C4
- movs r5, 0x36
-_080962C4:
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080962EC
- ldr r0, _0809632C
- ldr r0, [r0]
- ldr r2, _0809633C
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080962EC
- movs r0, 0x37
- bl sub_8096E80
- lsls r0, 24
- cmp r0, 0
- bne _080962EC
- movs r5, 0x37
-_080962EC:
- cmp r5, 0x38
- bne _08096310
- cmp r6, r8
- bgt _08096392
- bl sub_8096E2C
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0xE
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _0809630C
- cmp r5, 0x2
- bhi _0809638E
-_0809630C:
- cmp r5, 0x31
- bhi _0809638E
-_08096310:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_8095FE8
- adds r4, r0, 0
- movs r0, 0x1
- strb r0, [r4]
- movs r0, 0x62
- strb r0, [r4, 0x4]
- strb r5, [r4, 0x5]
- b _0809638A
- .align 2, 0
-_08096328: .4byte 0x00000325
-_0809632C: .4byte gUnknown_203B490
-_08096330: .4byte 0x00000323
-_08096334: .4byte 0x00000322
-_08096338: .4byte 0x00000326
-_0809633C: .4byte 0x00000327
-_08096340:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_8095FE8
- adds r4, r0, 0
- bl sub_8095B28
- lsls r0, 24
- cmp r0, 0
- beq _08096392
- bl sub_8095E78
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0x4
- ldrb r1, [r4, 0x1]
- bl sub_803C1D0
- lsls r0, 24
- cmp r0, 0
- bne _0809636C
- movs r5, 0
-_0809636C:
- movs r0, 0x5
- movs r1, 0xA
- bl RandomRange
- strb r0, [r4, 0x11]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bne _0809638A
- cmp r5, 0
- bne _08096388
- movs r0, 0x5
- strb r0, [r4, 0x11]
- b _0809638A
-_08096388:
- strb r5, [r4, 0x13]
-_0809638A:
- movs r7, 0x1
- adds r6, 0x1
-_0809638E:
- cmp r6, r8
- ble _08096340
-_08096392:
- bl sub_80963B4
- lsls r0, 24
- cmp r0, 0
- beq _0809639E
- movs r7, 0x1
-_0809639E:
- bl sub_8096078
- bl sub_8096114
- adds r0, r7, 0
-_080963A8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80961D8
-
- thumb_func_start sub_80963B4
-sub_80963B4:
- push {r4-r6,lr}
- movs r6, 0
- bl sub_8096E2C
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_8095F8C
- adds r4, r0, 0
- cmp r4, 0x3
- ble _080963CE
- movs r0, 0
- b _080963F4
-_080963CE:
- movs r0, 0xE
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080963F2
- cmp r5, 0x31
- bhi _080963F2
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8095FE8
- movs r1, 0x1
- strb r1, [r0]
- movs r1, 0x62
- strb r1, [r0, 0x4]
- strb r5, [r0, 0x5]
- movs r6, 0x1
-_080963F2:
- adds r0, r6, 0
-_080963F4:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80963B4
-
- thumb_func_start sub_80963FC
-sub_80963FC:
- push {r4-r6,lr}
- movs r6, 0
-_08096400:
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8095FE8
- adds r5, r0, 0
- ldrb r0, [r5]
- cmp r0, 0x1
- beq _08096418
- adds r0, r4, 0
- bl sub_8096040
-_08096418:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08096400
- bl sub_8096078
- bl sub_8095F8C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095FE8
- adds r5, r0, 0
- movs r0, 0
- movs r4, 0x5
- strb r4, [r5]
- strb r0, [r5, 0x1]
- strb r0, [r5, 0x2]
- movs r0, 0x2
- strb r0, [r5, 0x4]
- movs r0, 0x3
- strb r0, [r5, 0x5]
- bl Random
- ldr r1, _08096484
- ands r1, r0
- str r1, [r5, 0x8]
- movs r0, 0x10
- strh r0, [r5, 0xC]
- strh r0, [r5, 0xE]
- ldrb r0, [r5, 0x4]
- bl sub_8095F28
- strb r0, [r5, 0x10]
- strb r4, [r5, 0x11]
-_0809645C:
- ldrb r1, [r5, 0x1]
- adds r0, r5, 0x4
- adds r2, r5, 0
- adds r2, 0x12
- bl sub_803C37C
- ldrb r0, [r5, 0x10]
- ldrb r1, [r5, 0x12]
- cmp r0, r1
- beq _0809645C
- movs r0, 0
- strb r0, [r5, 0x13]
- bl sub_8096078
- bl sub_8096114
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08096484: .4byte 0x00ffffff
- thumb_func_end sub_80963FC
-
- thumb_func_start sub_8096488
-sub_8096488:
- push {r4,lr}
- movs r4, 0
-_0809648C:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096040
- adds r4, 0x1
- cmp r4, 0x3
- ble _0809648C
- movs r0, 0
- bl sub_8095FE8
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- movs r1, 0x62
- strb r1, [r0, 0x4]
- strb r2, [r0, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8096488
-
- thumb_func_start sub_80964B4
-sub_80964B4:
- push {lr}
- ldr r0, _080964D4
- ldr r0, [r0]
- ldr r1, _080964D8
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080964DC
- movs r0, 0x35
- bl sub_8096E80
- lsls r0, 24
- cmp r0, 0
- bne _080964DC
- movs r0, 0
- b _080964DE
- .align 2, 0
-_080964D4: .4byte gUnknown_203B490
-_080964D8: .4byte 0x00000325
-_080964DC:
- movs r0, 0x1
-_080964DE:
- pop {r1}
- bx r1
- thumb_func_end sub_80964B4
-
- thumb_func_start sub_80964E4
-sub_80964E4:
- push {lr}
- ldr r0, _08096504
- ldr r0, [r0]
- ldr r1, _08096508
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809650C
- movs r0, 0x36
- bl sub_8096E80
- lsls r0, 24
- cmp r0, 0
- bne _0809650C
- movs r0, 0
- b _0809650E
- .align 2, 0
-_08096504: .4byte gUnknown_203B490
-_08096508: .4byte 0x00000326
-_0809650C:
- movs r0, 0x1
-_0809650E:
- pop {r1}
- bx r1
- thumb_func_end sub_80964E4
-
- thumb_func_start sub_8096514
-sub_8096514:
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0
-_0809651A:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_809658C
- lsls r0, 24
- cmp r0, 0
- bne _0809652A
- adds r5, 0x1
-_0809652A:
- adds r4, 0x1
- cmp r4, 0x7
- ble _0809651A
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096514
-
- thumb_func_start sub_8096538
-sub_8096538:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r3, 0
- ldr r5, _08096560
- movs r2, 0
-_08096542:
- ldr r0, [r5]
- adds r0, r2
- adds r1, r0, 0
- adds r1, 0x50
- ldrb r0, [r1]
- cmp r0, 0
- bne _08096564
- adds r0, r4, 0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- movs r0, 0
- b _0809656E
- .align 2, 0
-_08096560: .4byte gUnknown_203B490
-_08096564:
- adds r2, 0x14
- adds r3, 0x1
- cmp r3, 0x7
- ble _08096542
- movs r0, 0x1
-_0809656E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096538
-
- thumb_func_start sub_8096574
-sub_8096574:
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08096588
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, 0x50
- ldr r0, [r2]
- adds r0, r1
- bx lr
- .align 2, 0
-_08096588: .4byte gUnknown_203B490
- thumb_func_end sub_8096574
-
- thumb_func_start sub_809658C
-sub_809658C:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080965AC
- ldr r2, [r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r2, r1
- adds r2, 0x50
- ldrb r0, [r2]
- cmp r0, 0
- beq _080965B0
- movs r0, 0
- b _080965B2
- .align 2, 0
-_080965AC: .4byte gUnknown_203B490
-_080965B0:
- movs r0, 0x1
-_080965B2:
- pop {r1}
- bx r1
- thumb_func_end sub_809658C
-
- thumb_func_start sub_80965B8
-sub_80965B8:
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080965F0
- ldr r1, [r4]
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 2
- adds r1, r2
- adds r1, 0x50
- movs r3, 0
- strb r3, [r1]
- ldr r0, [r4]
- adds r0, r2
- adds r0, 0x54
- movs r1, 0x63
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r2
- adds r0, 0x55
- strb r3, [r0]
- ldr r0, [r4]
- adds r0, r2
- adds r0, 0x61
- strb r3, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080965F0: .4byte gUnknown_203B490
- thumb_func_end sub_80965B8
-
- thumb_func_start sub_80965F4
-sub_80965F4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r2, 0
- movs r3, 0
- ldr r0, _0809660C
- mov r12, r0
- mov r8, r3
- movs r4, 0
- mov r9, r4
- b _08096636
- .align 2, 0
-_0809660C: .4byte gUnknown_203B490
-_08096610:
- cmp r2, r3
- ble _0809662A
- mov r1, r12
- ldr r0, [r1]
- mov r5, r8
- adds r1, r0, r5
- adds r0, r4
- adds r1, 0x50
- adds r0, 0x50
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r6,r7}
- stm r1!, {r6,r7}
-_0809662A:
- adds r4, 0x14
- movs r0, 0x14
- add r9, r0
- adds r2, 0x1
- add r8, r0
- adds r3, 0x1
-_08096636:
- cmp r2, 0x7
- bgt _08096666
- mov r1, r12
- ldr r0, [r1]
- adds r0, r4
- adds r0, 0x50
- ldrb r0, [r0]
- cmp r0, 0
- bne _08096666
- ldr r6, _08096694
- mov r1, r9
-_0809664C:
- adds r1, 0x14
- adds r4, 0x14
- movs r5, 0x14
- add r9, r5
- adds r2, 0x1
- cmp r2, 0x7
- bgt _08096666
- ldr r0, [r6]
- adds r0, r1
- adds r0, 0x50
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809664C
-_08096666:
- cmp r2, 0x8
- bne _08096610
- cmp r3, 0x7
- bgt _08096688
- ldr r4, _08096694
- movs r2, 0
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 2
-_08096678:
- ldr r0, [r4]
- adds r0, r1
- adds r0, 0x50
- strb r2, [r0]
- adds r1, 0x14
- adds r3, 0x1
- cmp r3, 0x7
- ble _08096678
-_08096688:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096694: .4byte gUnknown_203B490
- thumb_func_end sub_80965F4
-
- thumb_func_start sub_8096698
-sub_8096698:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- movs r1, 0
-_080966A6:
- adds r6, r1, 0x1
- mov r10, r6
- cmp r6, 0x7
- bgt _08096730
- ldr r0, _08096748
- mov r8, r0
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- mov r9, r0
- lsls r0, r6, 2
- adds r0, r6
- lsls r4, r0, 2
-_080966C0:
- mov r2, r8
- ldr r1, [r2]
- adds r3, r1, r4
- adds r5, r3, 0
- adds r5, 0x50
- ldrb r0, [r5]
- cmp r0, 0
- beq _08096724
- add r1, r9
- mov r12, r1
- mov r0, r12
- adds r0, 0x54
- adds r1, r3, 0
- adds r1, 0x54
- ldrb r2, [r0]
- ldrb r0, [r1]
- cmp r2, r0
- bhi _080966F6
- cmp r2, r0
- bne _08096724
- mov r0, r12
- adds r0, 0x55
- adds r1, 0x1
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _08096724
-_080966F6:
- mov r1, sp
- mov r0, r12
- adds r0, 0x50
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r3,r7}
- stm r1!, {r3,r7}
- mov r1, r12
- adds r1, 0x50
- adds r0, r5, 0
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r7}
- stm r1!, {r2,r7}
- mov r3, r8
- ldr r1, [r3]
- adds r1, r4
- adds r1, 0x50
- mov r0, sp
- ldm r0!, {r2,r5,r7}
- stm r1!, {r2,r5,r7}
- ldm r0!, {r3,r5}
- stm r1!, {r3,r5}
-_08096724:
- adds r4, 0x14
- movs r7, 0x1
- add r10, r7
- mov r0, r10
- cmp r0, 0x7
- ble _080966C0
-_08096730:
- adds r1, r6, 0
- cmp r1, 0x6
- ble _080966A6
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096748: .4byte gUnknown_203B490
- thumb_func_end sub_8096698
-
- thumb_func_start sub_809674C
-sub_809674C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r0, 0x4
- movs r1, 0x8
- bl RandomRange
- mov r8, r0
- ldr r3, _08096864
- movs r2, 0
- movs r1, 0
- movs r7, 0x7
-_08096764:
- ldr r0, [r3]
- adds r0, r1
- adds r0, 0x50
- strb r2, [r0]
- adds r1, 0x14
- subs r7, 0x1
- cmp r7, 0
- bge _08096764
- movs r7, 0
- movs r0, 0xE
- bl sub_8097318
- lsls r0, 24
- cmp r0, 0
- beq _080967C0
- movs r0, 0
- bl sub_8096574
- adds r5, r0, 0
- movs r4, 0x2
- strb r4, [r5]
- movs r0, 0x6
- strb r0, [r5, 0x1]
- movs r0, 0x1
- strb r0, [r5, 0x2]
- movs r0, 0x2A
- strb r0, [r5, 0x4]
- movs r0, 0xA
- strb r0, [r5, 0x5]
- bl Random
- ldr r1, _08096868
- ands r1, r0
- str r1, [r5, 0x8]
- movs r1, 0
- movs r0, 0xC2
- lsls r0, 1
- strh r0, [r5, 0xC]
- movs r0, 0x38
- strh r0, [r5, 0xE]
- strb r1, [r5, 0x10]
- strb r4, [r5, 0x11]
- movs r0, 0x3A
- strb r0, [r5, 0x12]
- strb r1, [r5, 0x13]
- movs r7, 0x1
-_080967C0:
- movs r0, 0xF
- bl sub_8097318
- lsls r0, 24
- cmp r0, 0
- beq _0809680A
- lsls r0, r7, 24
- lsrs r0, 24
- bl sub_8096574
- adds r5, r0, 0
- movs r0, 0x3
- strb r0, [r5]
- movs r0, 0x6
- strb r0, [r5, 0x1]
- movs r4, 0x2
- strb r4, [r5, 0x2]
- movs r0, 0x35
- strb r0, [r5, 0x4]
- movs r0, 0xF
- strb r0, [r5, 0x5]
- bl Random
- ldr r1, _08096868
- ands r1, r0
- str r1, [r5, 0x8]
- movs r1, 0
- movs r0, 0x82
- lsls r0, 1
- strh r0, [r5, 0xC]
- strh r0, [r5, 0xE]
- strb r1, [r5, 0x10]
- strb r4, [r5, 0x11]
- movs r0, 0x3A
- strb r0, [r5, 0x12]
- strb r1, [r5, 0x13]
- adds r7, 0x1
-_0809680A:
- movs r0, 0x1C
- bl sub_8097318
- lsls r0, 24
- cmp r0, 0
- beq _08096854
- lsls r0, r7, 24
- lsrs r0, 24
- bl sub_8096574
- adds r5, r0, 0
- movs r0, 0x4
- strb r0, [r5]
- movs r0, 0x6
- strb r0, [r5, 0x1]
- movs r0, 0x3
- strb r0, [r5, 0x2]
- movs r0, 0x1A
- strb r0, [r5, 0x4]
- movs r0, 0x14
- strb r0, [r5, 0x5]
- bl Random
- ldr r1, _08096868
- ands r1, r0
- str r1, [r5, 0x8]
- movs r1, 0
- ldr r0, _0809686C
- strh r0, [r5, 0xC]
- strh r0, [r5, 0xE]
- strb r1, [r5, 0x10]
- movs r0, 0x2
- strb r0, [r5, 0x11]
- movs r0, 0x3A
- strb r0, [r5, 0x12]
- strb r1, [r5, 0x13]
- adds r7, 0x1
-_08096854:
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 2
- adds r5, r0, 0
- adds r5, 0x50
- adds r4, r0, 0
- b _08096886
- .align 2, 0
-_08096864: .4byte gUnknown_203B490
-_08096868: .4byte 0x00ffffff
-_0809686C: .4byte 0x0000014d
-_08096870:
- movs r0, 0
- movs r1, 0x4
- bl RandomRange
- ldr r1, [r6]
- adds r1, r4
- adds r1, 0x61
- strb r0, [r1]
- adds r5, 0x14
- adds r4, 0x14
- adds r7, 0x1
-_08096886:
- cmp r7, r8
- bgt _0809689A
- ldr r6, _080968AC
- ldr r0, [r6]
- adds r0, r5
- bl sub_8095B28
- lsls r0, 24
- cmp r0, 0
- bne _08096870
-_0809689A:
- bl sub_80965F4
- bl sub_8096698
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080968AC: .4byte gUnknown_203B490
- thumb_func_end sub_809674C
-
- thumb_func_start sub_80968B0
-sub_80968B0:
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r4, 0
- ldr r0, _08096928
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0xF0
-_080968BE:
- ldrb r0, [r2]
- cmp r0, 0
- beq _0809692C
- ldrb r0, [r3, 0x1]
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- bne _0809692C
- ldrb r0, [r3, 0x2]
- ldrb r5, [r2, 0x2]
- cmp r0, r5
- bne _0809692C
- ldrb r0, [r3, 0x4]
- ldrb r1, [r2, 0x4]
- cmp r0, r1
- bne _0809692C
- ldrb r0, [r3, 0x5]
- ldrb r5, [r2, 0x5]
- cmp r0, r5
- bne _0809692C
- ldr r1, [r3, 0x8]
- ldr r0, [r2, 0x8]
- cmp r1, r0
- bne _0809692C
- movs r0, 0xC
- ldrsh r1, [r3, r0]
- movs r5, 0xC
- ldrsh r0, [r2, r5]
- cmp r1, r0
- bne _0809692C
- movs r0, 0xE
- ldrsh r1, [r3, r0]
- movs r5, 0xE
- ldrsh r0, [r2, r5]
- cmp r1, r0
- bne _0809692C
- ldrb r0, [r3, 0x10]
- ldrb r1, [r2, 0x10]
- cmp r0, r1
- bne _0809692C
- ldrb r0, [r3, 0x11]
- ldrb r5, [r2, 0x11]
- cmp r0, r5
- bne _0809692C
- ldrb r0, [r3, 0x12]
- ldrb r1, [r2, 0x12]
- cmp r0, r1
- bne _0809692C
- ldrb r0, [r3, 0x13]
- ldrb r5, [r2, 0x13]
- cmp r0, r5
- bne _0809692C
- movs r0, 0x1
- b _08096936
- .align 2, 0
-_08096928: .4byte gUnknown_203B490
-_0809692C:
- adds r2, 0x14
- adds r4, 0x1
- cmp r4, 0x7
- ble _080968BE
- movs r0, 0
-_08096936:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80968B0
-
- thumb_func_start sub_809693C
-sub_809693C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- ldrb r0, [r4, 0x4]
- mov r9, r0
- ldrb r0, [r4, 0x5]
- mov r8, r0
- movs r7, 0
- adds r0, r4, 0
- bl sub_80959C0
- lsls r0, 24
- cmp r0, 0
- bne _08096962
- b _0809699A
-_0809695E:
- movs r0, 0x1
- b _0809699C
-_08096962:
- ldrb r0, [r4, 0x1]
- cmp r0, 0x2
- bne _0809696A
- movs r7, 0x1
-_0809696A:
- movs r6, 0
- movs r5, 0xF0
- movs r4, 0
-_08096970:
- ldr r0, _080969A8
- ldr r1, [r0]
- adds r0, r1, r4
- adds r0, 0xF0
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _08096990
- adds r0, r1, r5
- mov r1, r9
- mov r2, r8
- adds r3, r7, 0
- bl sub_8095E38
- lsls r0, 24
- cmp r0, 0
- bne _0809695E
-_08096990:
- adds r5, 0x14
- adds r4, 0x14
- adds r6, 0x1
- cmp r6, 0x7
- ble _08096970
-_0809699A:
- movs r0, 0
-_0809699C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080969A8: .4byte gUnknown_203B490
- thumb_func_end sub_809693C
-
- thumb_func_start sub_80969AC
-sub_80969AC:
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0
-_080969B2:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096ACC
- lsls r0, 24
- cmp r0, 0
- bne _080969C2
- adds r5, 0x1
-_080969C2:
- adds r4, 0x1
- cmp r4, 0x7
- ble _080969B2
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80969AC
-
- thumb_func_start sub_80969D0
-sub_80969D0:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r4, 0
-_080969DA:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096AB4
- adds r1, r0, 0
- ldrb r0, [r1, 0x4]
- cmp r0, r6
- bne _080969FA
- ldrb r0, [r1]
- cmp r0, 0x6
- beq _080969F8
- cmp r0, 0x8
- beq _080969F8
- cmp r0, 0x9
- bne _080969FA
-_080969F8:
- adds r5, 0x1
-_080969FA:
- adds r4, 0x1
- cmp r4, 0x7
- ble _080969DA
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80969D0
-
- thumb_func_start sub_8096A08
-sub_8096A08:
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
-_08096A14:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096AB4
- adds r2, r0, 0
- ldrb r0, [r2, 0x4]
- cmp r0, r5
- bne _08096A68
- ldrb r0, [r2]
- cmp r0, 0x6
- bne _08096A68
- ldrb r0, [r2, 0x1]
- cmp r0, 0x2
- bne _08096A68
- ldr r1, _08096A60
- ldr r0, [sp, 0x8]
- ands r0, r1
- movs r1, 0x4A
- orrs r0, r1
- ldr r1, _08096A64
- ands r0, r1
- movs r1, 0x80
- lsls r1, 1
- orrs r0, r1
- str r0, [sp, 0x8]
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- add r0, sp, 0x8
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_808CFD0
- movs r0, 0x1
- b _08096A70
- .align 2, 0
-_08096A60: .4byte 0xffffff00
-_08096A64: .4byte 0xffff00ff
-_08096A68:
- adds r4, 0x1
- cmp r4, 0x7
- ble _08096A14
- movs r0, 0
-_08096A70:
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8096A08
-
- thumb_func_start sub_8096A78
-sub_8096A78:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r3, 0
- ldr r5, _08096AA0
- movs r2, 0
-_08096A82:
- ldr r0, [r5]
- adds r0, r2
- adds r1, r0, 0
- adds r1, 0xF0
- ldrb r0, [r1]
- cmp r0, 0
- bne _08096AA4
- adds r0, r4, 0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- movs r0, 0
- b _08096AAE
- .align 2, 0
-_08096AA0: .4byte gUnknown_203B490
-_08096AA4:
- adds r2, 0x14
- adds r3, 0x1
- cmp r3, 0x7
- ble _08096A82
- movs r0, 0x1
-_08096AAE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096A78
-
- thumb_func_start sub_8096AB4
-sub_8096AB4:
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08096AC8
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, 0xF0
- ldr r0, [r2]
- adds r0, r1
- bx lr
- .align 2, 0
-_08096AC8: .4byte gUnknown_203B490
- thumb_func_end sub_8096AB4
-
- thumb_func_start sub_8096ACC
-sub_8096ACC:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08096AEC
- ldr r2, [r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r2, r1
- adds r2, 0xF0
- ldrb r0, [r2]
- cmp r0, 0
- beq _08096AF0
- movs r0, 0
- b _08096AF2
- .align 2, 0
-_08096AEC: .4byte gUnknown_203B490
-_08096AF0:
- movs r0, 0x1
-_08096AF2:
- pop {r1}
- bx r1
- thumb_func_end sub_8096ACC
-
- thumb_func_start sub_8096AF8
-sub_8096AF8:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r0, r1, 0
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- bl sub_8096AB4
- adds r3, r0, 0
- movs r1, 0
- strb r1, [r5]
- ldrh r0, [r3, 0xC]
- strh r0, [r5, 0x2]
- strh r1, [r5, 0x4]
- ldrb r0, [r3, 0x4]
- cmp r0, r4
- bne _08096B92
- ldrb r0, [r3, 0x1]
- cmp r0, 0x4
- bhi _08096B92
- lsls r0, 2
- ldr r1, _08096B30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08096B30: .4byte _08096B34
- .align 2, 0
-_08096B34:
- .4byte _08096B78
- .4byte _08096B84
- .4byte _08096B84
- .4byte _08096B48
- .4byte _08096B78
-_08096B48:
- ldrb r0, [r3]
- cmp r0, 0x6
- bne _08096B92
- ldr r0, _08096B74
- movs r6, 0x1
- ldr r2, [r0]
- movs r4, 0x13
-_08096B56:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08096B6A
- ldrb r0, [r2, 0x2]
- ldrb r1, [r3, 0x10]
- cmp r0, r1
- bne _08096B6A
- strb r6, [r5]
-_08096B6A:
- adds r2, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08096B56
- b _08096B92
- .align 2, 0
-_08096B74: .4byte gUnknown_203B460
-_08096B78:
- ldrb r0, [r3]
- cmp r0, 0x9
- bne _08096B92
- movs r0, 0x1
- strb r0, [r5]
- b _08096B92
-_08096B84:
- ldrb r0, [r3]
- cmp r0, 0x9
- bne _08096B92
- movs r0, 0x1
- strb r0, [r5]
- ldrh r0, [r3, 0xE]
- strh r0, [r5, 0x4]
-_08096B92:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8096AF8
-
- thumb_func_start sub_8096B98
-sub_8096B98:
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
-_08096BA0:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096AB4
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0x6
- bne _08096BC2
- ldrb r0, [r1, 0x1]
- cmp r0, 0x2
- bne _08096BC2
- ldrb r0, [r1, 0x4]
- cmp r0, r5
- bne _08096BC2
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- b _08096BCA
-_08096BC2:
- adds r4, 0x1
- cmp r4, 0x7
- ble _08096BA0
- movs r0, 0
-_08096BCA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096B98
-
- thumb_func_start sub_8096BD0
-sub_8096BD0:
- push {r4,r5,lr}
- ldr r0, _08096C04
- ldr r0, [r0]
- adds r5, r0, 0
- adds r5, 0xF0
- movs r4, 0
-_08096BDC:
- ldrb r0, [r5]
- cmp r0, 0x9
- bgt _08096BEE
- cmp r0, 0x7
- blt _08096BEE
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096C3C
-_08096BEE:
- adds r5, 0x14
- adds r4, 0x1
- cmp r4, 0x7
- ble _08096BDC
- bl sub_8096C80
- bl sub_8096D24
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08096C04: .4byte gUnknown_203B490
- thumb_func_end sub_8096BD0
-
- thumb_func_start sub_8096C08
-sub_8096C08:
- push {lr}
- adds r3, r0, 0
- ldr r0, _08096C28
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xF0
- movs r2, 0
-_08096C16:
- ldrb r0, [r1]
- cmp r0, 0x4
- bls _08096C2C
- ldrb r0, [r1, 0x2]
- cmp r0, 0x4
- bne _08096C2C
- strb r2, [r3]
- movs r0, 0x1
- b _08096C36
- .align 2, 0
-_08096C28: .4byte gUnknown_203B490
-_08096C2C:
- adds r1, 0x14
- adds r2, 0x1
- cmp r2, 0x7
- ble _08096C16
- movs r0, 0
-_08096C36:
- pop {r1}
- bx r1
- thumb_func_end sub_8096C08
-
- thumb_func_start sub_8096C3C
-sub_8096C3C:
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _08096C78
- ldr r1, [r3]
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 2
- adds r1, r2
- adds r1, 0xF0
- movs r4, 0
- strb r4, [r1]
- ldr r0, [r3]
- adds r0, r2
- adds r0, 0xF4
- movs r1, 0x63
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, r2
- adds r0, 0xF5
- strb r4, [r0]
- ldr r0, [r3]
- adds r0, r2
- ldr r2, _08096C7C
- adds r1, r0, r2
- movs r0, 0x5
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096C78: .4byte gUnknown_203B490
-_08096C7C: .4byte 0x00000101
- thumb_func_end sub_8096C3C
-
- thumb_func_start sub_8096C80
-sub_8096C80:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r2, 0
- movs r3, 0
- ldr r0, _08096C98
- mov r12, r0
- mov r8, r3
- movs r4, 0
- mov r9, r4
- b _08096CC2
- .align 2, 0
-_08096C98: .4byte gUnknown_203B490
-_08096C9C:
- cmp r2, r3
- ble _08096CB6
- mov r1, r12
- ldr r0, [r1]
- mov r5, r8
- adds r1, r0, r5
- adds r0, r4
- adds r1, 0xF0
- adds r0, 0xF0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r6,r7}
- stm r1!, {r6,r7}
-_08096CB6:
- adds r4, 0x14
- movs r0, 0x14
- add r9, r0
- adds r2, 0x1
- add r8, r0
- adds r3, 0x1
-_08096CC2:
- cmp r2, 0x7
- bgt _08096CF2
- mov r1, r12
- ldr r0, [r1]
- adds r0, r4
- adds r0, 0xF0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08096CF2
- ldr r6, _08096D20
- mov r1, r9
-_08096CD8:
- adds r1, 0x14
- adds r4, 0x14
- movs r5, 0x14
- add r9, r5
- adds r2, 0x1
- cmp r2, 0x7
- bgt _08096CF2
- ldr r0, [r6]
- adds r0, r1
- adds r0, 0xF0
- ldrb r0, [r0]
- cmp r0, 0
- beq _08096CD8
-_08096CF2:
- cmp r2, 0x8
- bne _08096C9C
- cmp r3, 0x7
- bgt _08096D14
- ldr r4, _08096D20
- movs r2, 0
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 2
-_08096D04:
- ldr r0, [r4]
- adds r0, r1
- adds r0, 0xF0
- strb r2, [r0]
- adds r1, 0x14
- adds r3, 0x1
- cmp r3, 0x7
- ble _08096D04
-_08096D14:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096D20: .4byte gUnknown_203B490
- thumb_func_end sub_8096C80
-
- thumb_func_start sub_8096D24
-sub_8096D24:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- movs r1, 0
-_08096D32:
- adds r6, r1, 0x1
- mov r10, r6
- cmp r6, 0x7
- bgt _08096DBC
- ldr r0, _08096DD4
- mov r8, r0
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- mov r9, r0
- lsls r0, r6, 2
- adds r0, r6
- lsls r4, r0, 2
-_08096D4C:
- mov r1, r8
- ldr r2, [r1]
- adds r3, r2, r4
- adds r5, r3, 0
- adds r5, 0xF0
- str r5, [sp, 0x14]
- ldrb r0, [r5]
- cmp r0, 0
- beq _08096DB0
- add r2, r9
- mov r12, r2
- mov r0, r12
- adds r0, 0xF4
- adds r1, r3, 0
- adds r1, 0xF4
- ldrb r2, [r0]
- ldrb r0, [r1]
- cmp r2, r0
- bhi _08096D84
- cmp r2, r0
- bne _08096DB0
- mov r0, r12
- adds r0, 0xF5
- adds r1, 0x1
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _08096DB0
-_08096D84:
- mov r2, r12
- adds r2, 0xF0
- mov r1, sp
- adds r0, r2, 0
- ldm r0!, {r3,r5,r7}
- stm r1!, {r3,r5,r7}
- ldm r0!, {r3,r7}
- stm r1!, {r3,r7}
- ldr r0, [sp, 0x14]
- ldm r0!, {r1,r5,r7}
- stm r2!, {r1,r5,r7}
- ldm r0!, {r3,r5}
- stm r2!, {r3,r5}
- mov r7, r8
- ldr r1, [r7]
- adds r1, r4
- adds r1, 0xF0
- mov r0, sp
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r7}
- stm r1!, {r2,r7}
-_08096DB0:
- adds r4, 0x14
- movs r3, 0x1
- add r10, r3
- mov r5, r10
- cmp r5, 0x7
- ble _08096D4C
-_08096DBC:
- adds r1, r6, 0
- cmp r1, 0x6
- ble _08096D32
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096DD4: .4byte gUnknown_203B490
- thumb_func_end sub_8096D24
-
- thumb_func_start sub_8096DD8
-sub_8096DD8:
- ldr r0, _08096DE4
- ldr r0, [r0]
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r1
- bx lr
- .align 2, 0
-_08096DE4: .4byte gUnknown_203B490
- thumb_func_end sub_8096DD8
-
- thumb_func_start sub_8096DE8
-sub_8096DE8:
- ldr r0, _08096DF4
- ldr r0, [r0]
- movs r1, 0xDC
- lsls r1, 1
- adds r0, r1
- bx lr
- .align 2, 0
-_08096DF4: .4byte gUnknown_203B490
- thumb_func_end sub_8096DE8
-
- thumb_func_start sub_8096DF8
-sub_8096DF8:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08096E10
- ldr r1, [r1]
- movs r2, 0xBC
- lsls r2, 2
- adds r1, r2
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .align 2, 0
-_08096E10: .4byte gUnknown_203B490
- thumb_func_end sub_8096DF8
-
- thumb_func_start sub_8096E14
-sub_8096E14:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08096E28
- ldr r1, [r1]
- movs r2, 0xBC
- lsls r2, 2
- adds r1, r2
- adds r1, r0
- ldrb r0, [r1]
- bx lr
- .align 2, 0
-_08096E28: .4byte gUnknown_203B490
- thumb_func_end sub_8096E14
-
- thumb_func_start sub_8096E2C
-sub_8096E2C:
- push {lr}
- movs r3, 0
- ldr r0, _08096E70
- ldr r1, [r0]
- movs r2, 0x3
-_08096E36:
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _08096E48
- ldrb r0, [r1, 0x5]
- cmp r3, r0
- bgt _08096E48
- cmp r0, 0x31
- bhi _08096E48
- adds r3, r0, 0x1
-_08096E48:
- adds r1, 0x14
- subs r2, 0x1
- cmp r2, 0
- bge _08096E36
- adds r2, r3, 0
- cmp r2, 0x31
- bgt _08096E7A
- ldr r0, _08096E70
- ldr r0, [r0]
- movs r3, 0xBC
- lsls r3, 2
- adds r1, r0, r3
-_08096E60:
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08096E74
- lsls r0, r2, 24
- lsrs r0, 24
- b _08096E7C
- .align 2, 0
-_08096E70: .4byte gUnknown_203B490
-_08096E74:
- adds r2, 0x1
- cmp r2, 0x31
- ble _08096E60
-_08096E7A:
- movs r0, 0x38
-_08096E7C:
- pop {r1}
- bx r1
- thumb_func_end sub_8096E2C
-
- thumb_func_start sub_8096E80
-sub_8096E80:
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r0, _08096E9C
- ldr r1, [r0]
-_08096E8C:
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _08096EA0
- ldrb r0, [r1, 0x5]
- cmp r3, r0
- bne _08096EA0
- movs r0, 0x1
- b _08096EAA
- .align 2, 0
-_08096E9C: .4byte gUnknown_203B490
-_08096EA0:
- adds r1, 0x14
- adds r2, 0x1
- cmp r2, 0x3
- ble _08096E8C
- movs r0, 0
-_08096EAA:
- pop {r1}
- bx r1
- thumb_func_end sub_8096E80
-
- thumb_func_start sub_8096EB0
-sub_8096EB0:
- ldrb r1, [r0, 0x2]
- ldrb r2, [r0, 0x1]
- adds r1, r2
- ldrb r3, [r0, 0x4]
- adds r2, r1, r3
- ldrb r1, [r0, 0x5]
- adds r2, r1
- ldr r1, [r0, 0x8]
- lsls r1, 8
- adds r2, r1
- movs r3, 0xC
- ldrsh r1, [r0, r3]
- lsls r1, 12
- adds r2, r1
- movs r3, 0xE
- ldrsh r1, [r0, r3]
- lsls r1, 16
- adds r2, r1
- ldrb r1, [r0, 0x10]
- lsls r1, 24
- adds r1, r2, r1
- ldrb r3, [r0, 0x11]
- adds r2, r1, r3
- ldrb r1, [r0, 0x12]
- adds r1, r2, r1
- ldrb r0, [r0, 0x13]
- adds r2, r1, r0
- adds r0, r2, 0
- bx lr
- thumb_func_end sub_8096EB0
-
- thumb_func_start sub_8096EEC
-sub_8096EEC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r12, r0
- movs r3, 0xF
- ldr r5, _08096F4C
- mov r8, r5
- movs r4, 0x8C
- lsls r4, 2
-_08096EFE:
- mov r0, r8
- ldr r2, [r0]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r1, r2, r1
- subs r3, 0x1
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r2, r0
- adds r1, r4
- adds r2, r4
- ldm r2!, {r0,r6,r7}
- stm r1!, {r0,r6,r7}
- cmp r3, 0
- bgt _08096EFE
- ldr r2, [r5]
- movs r3, 0x8C
- lsls r3, 2
- adds r2, r3
- mov r6, r12
- ldr r0, [r6, 0x4]
- ldr r1, [r6, 0x8]
- str r0, [r2]
- str r1, [r2, 0x4]
- mov r0, r12
- bl sub_8096EB0
- ldr r1, [r5]
- movs r7, 0x8E
- lsls r7, 2
- adds r1, r7
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096F4C: .4byte gUnknown_203B490
- thumb_func_end sub_8096EEC
-
- thumb_func_start sub_8096F50
-sub_8096F50:
- push {r4-r7,lr}
- adds r4, r0, 0
- bl sub_8096EB0
- mov r12, r0
- movs r5, 0
- ldr r0, _08096F8C
- ldr r7, [r0]
- ldrb r6, [r4, 0x4]
- movs r3, 0
-_08096F64:
- movs r1, 0x8C
- lsls r1, 2
- adds r0, r3, r1
- adds r2, r7, r0
- ldrb r0, [r2]
- cmp r0, r6
- bne _08096F90
- ldrb r0, [r2, 0x1]
- ldrb r1, [r4, 0x5]
- cmp r0, r1
- bne _08096F90
- ldr r1, [r2, 0x4]
- ldr r0, [r4, 0x8]
- cmp r1, r0
- bne _08096F90
- ldr r0, [r2, 0x8]
- cmp r0, r12
- bne _08096F90
- movs r0, 0x1
- b _08096F9A
- .align 2, 0
-_08096F8C: .4byte gUnknown_203B490
-_08096F90:
- adds r3, 0xC
- adds r5, 0x1
- cmp r5, 0xF
- ble _08096F64
- movs r0, 0
-_08096F9A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8096F50
-
- thumb_func_start sub_8096FA0
-sub_8096FA0:
- push {r4-r7,lr}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809485C
- add r7, sp, 0x10
- ldr r6, _08097020
- movs r5, 0
- movs r4, 0x3
-_08096FB8:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_80971EC
- adds r5, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _08096FB8
- ldr r6, _08097020
- movs r5, 0x50
- movs r4, 0x7
-_08096FD0:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_80971EC
- adds r5, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _08096FD0
- ldr r6, _08097020
- movs r5, 0xF0
- movs r4, 0x7
-_08096FE8:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_80971EC
- adds r5, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _08096FE8
- movs r4, 0
- movs r6, 0x1
- ldr r5, _08097020
-_08097000:
- mov r0, sp
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_8094924
- ldr r1, [sp, 0x10]
- ands r1, r6
- cmp r1, 0
- beq _08097024
- ldr r0, [r5]
- movs r1, 0xBC
- lsls r1, 2
- adds r0, r1
- adds r0, r4
- strb r6, [r0]
- b _08097030
- .align 2, 0
-_08097020: .4byte gUnknown_203B490
-_08097024:
- ldr r0, [r5]
- movs r2, 0xBC
- lsls r2, 2
- adds r0, r2
- adds r0, r4
- strb r1, [r0]
-_08097030:
- adds r4, 0x1
- cmp r4, 0x37
- ble _08097000
- mov r0, sp
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_8094924
- ldr r1, [sp, 0x10]
- movs r2, 0x1
- ands r1, r2
- cmp r1, 0
- beq _0809705C
- ldr r0, _08097058
- ldr r0, [r0]
- movs r1, 0xCA
- lsls r1, 2
- adds r0, r1
- strb r2, [r0]
- b _08097068
- .align 2, 0
-_08097058: .4byte gUnknown_203B490
-_0809705C:
- ldr r0, _080970D4
- ldr r0, [r0]
- movs r2, 0xCA
- lsls r2, 2
- adds r0, r2
- strb r1, [r0]
-_08097068:
- ldr r4, _080970D4
- ldr r1, [r4]
- movs r0, 0xC8
- lsls r0, 1
- adds r1, r0
- movs r2, 0xA0
- lsls r2, 1
- mov r0, sp
- bl sub_8094924
- ldr r1, [r4]
- movs r2, 0xDC
- lsls r2, 1
- adds r1, r2
- movs r2, 0xF0
- lsls r2, 2
- mov r0, sp
- bl sub_8094924
- adds r6, r4, 0
- movs r5, 0x8C
- lsls r5, 2
- movs r4, 0xF
-_08097096:
- ldr r1, [r6]
- adds r1, r5
- adds r1, 0x8
- mov r0, sp
- movs r2, 0x20
- bl sub_8094924
- ldr r1, [r6]
- adds r1, r5
- adds r1, 0x4
- mov r0, sp
- movs r2, 0x18
- bl sub_8094924
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8090314
- adds r5, 0xC
- subs r4, 0x1
- cmp r4, 0
- bge _08097096
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080970D4: .4byte gUnknown_203B490
- thumb_func_end sub_8096FA0
-
- thumb_func_start sub_80970D8
-sub_80970D8:
- push {r4-r7,lr}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809486C
- add r7, sp, 0x10
- ldr r6, _080971E8
- movs r5, 0
- movs r4, 0x3
-_080970F0:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8097270
- adds r5, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _080970F0
- ldr r6, _080971E8
- movs r5, 0x50
- movs r4, 0x7
-_08097108:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8097270
- adds r5, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _08097108
- ldr r6, _080971E8
- movs r5, 0xF0
- movs r4, 0x7
-_08097120:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8097270
- adds r5, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _08097120
- movs r4, 0
-_08097134:
- ldr r0, _080971E8
- ldr r0, [r0]
- movs r1, 0xBC
- lsls r1, 2
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809714A
- movs r0, 0x1
- negs r0, r0
-_0809714A:
- str r0, [sp, 0x10]
- mov r0, sp
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_809488C
- adds r4, 0x1
- cmp r4, 0x37
- ble _08097134
- ldr r0, _080971E8
- ldr r0, [r0]
- movs r1, 0xCA
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08097170
- movs r0, 0x1
- negs r0, r0
-_08097170:
- str r0, [sp, 0x10]
- mov r0, sp
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r4, _080971E8
- ldr r1, [r4]
- movs r0, 0xC8
- lsls r0, 1
- adds r1, r0
- movs r2, 0xA0
- lsls r2, 1
- mov r0, sp
- bl sub_809488C
- ldr r1, [r4]
- movs r0, 0xDC
- lsls r0, 1
- adds r1, r0
- movs r2, 0xF0
- lsls r2, 2
- mov r0, sp
- bl sub_809488C
- adds r6, r4, 0
- movs r5, 0x8C
- lsls r5, 2
- movs r4, 0xF
-_080971AA:
- ldr r1, [r6]
- adds r1, r5
- adds r1, 0x8
- mov r0, sp
- movs r2, 0x20
- bl sub_809488C
- ldr r1, [r6]
- adds r1, r5
- adds r1, 0x4
- mov r0, sp
- movs r2, 0x18
- bl sub_809488C
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_80902F4
- adds r5, 0xC
- subs r4, 0x1
- cmp r4, 0
- bge _080971AA
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080971E8: .4byte gUnknown_203B490
- thumb_func_end sub_80970D8
-
- thumb_func_start sub_80971EC
-sub_80971EC:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl sub_8094924
- adds r1, r5, 0x1
- adds r0, r4, 0
- movs r2, 0x3
- bl sub_8094924
- adds r1, r5, 0x2
- adds r0, r4, 0
- movs r2, 0x4
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0xC
- adds r0, r4, 0
- movs r2, 0x9
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0xE
- adds r0, r4, 0
- movs r2, 0x9
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x10
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x11
- adds r0, r4, 0
- movs r2, 0x4
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x12
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x13
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x8
- adds r0, r4, 0
- movs r2, 0x18
- bl sub_8094924
- adds r1, r5, 0x4
- adds r0, r4, 0
- bl sub_8090314
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80971EC
-
- thumb_func_start sub_8097270
-sub_8097270:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl sub_809488C
- adds r1, r5, 0x1
- adds r0, r4, 0
- movs r2, 0x3
- bl sub_809488C
- adds r1, r5, 0x2
- adds r0, r4, 0
- movs r2, 0x4
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0xC
- adds r0, r4, 0
- movs r2, 0x9
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0xE
- adds r0, r4, 0
- movs r2, 0x9
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x10
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x11
- adds r0, r4, 0
- movs r2, 0x4
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x12
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x13
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x8
- adds r0, r4, 0
- movs r2, 0x18
- bl sub_809488C
- adds r1, r5, 0x4
- adds r0, r4, 0
- bl sub_80902F4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8097270
-
- thumb_func_start sub_80972F4
-sub_80972F4:
- push {lr}
- movs r0, 0
- movs r1, 0x2B
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x2C
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x2D
- bl sub_80015C0
- pop {r0}
- bx r0
- thumb_func_end sub_80972F4
-
- thumb_func_start nullsub_128
-nullsub_128:
- bx lr
- thumb_func_end nullsub_128
-
- thumb_func_start sub_8097318
-sub_8097318:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- bne _08097326
- movs r0, 0
- b _08097338
-_08097326:
- lsls r2, r0, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x2B
- bl sub_8001784
- cmp r0, 0
- beq _08097338
- movs r0, 0x1
-_08097338:
- pop {r1}
- bx r1
- thumb_func_end sub_8097318
-
- thumb_func_start sub_809733C
-sub_809733C:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r4, 0xD
- beq _0809737C
- lsls r0, r4, 16
- lsrs r5, r0, 16
- movs r0, 0
- movs r1, 0x2C
- adds r2, r5, 0
- bl sub_8001784
- cmp r0, 0
- bne _0809737C
- movs r0, 0
- movs r1, 0x2B
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_800199C
- cmp r6, 0
- beq _0809737C
- cmp r4, 0xE
- blt _0809737C
- cmp r4, 0xF
- ble _08097378
- cmp r4, 0x1C
- bne _0809737C
-_08097378:
- bl sub_809674C
-_0809737C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_809733C
-
- thumb_func_start sub_8097384
-sub_8097384:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- bne _08097392
- movs r0, 0
- b _080973A4
-_08097392:
- lsls r2, r0, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x2C
- bl sub_8001784
- cmp r0, 0
- beq _080973A4
- movs r0, 0x1
-_080973A4:
- pop {r1}
- bx r1
- thumb_func_end sub_8097384
-
- thumb_func_start sub_80973A8
-sub_80973A8:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r0, 0xD
- beq _080973EE
- lsls r5, r0, 16
- cmp r6, 0
- beq _080973E2
- bl sub_80A26B8
- lsls r0, 16
- asrs r4, r0, 16
- lsrs r2, r5, 16
- movs r0, 0
- movs r1, 0x2B
- movs r3, 0
- bl sub_800199C
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _080973E2
- movs r0, 0
- movs r1, 0x12
- adds r2, r4, 0
- bl sub_80018D8
-_080973E2:
- lsrs r2, r5, 16
- movs r0, 0
- movs r1, 0x2C
- adds r3, r6, 0
- bl sub_800199C
-_080973EE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80973A8
-
- thumb_func_start sub_80973F4
-sub_80973F4:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- bne _08097402
- movs r0, 0
- b _08097414
-_08097402:
- lsls r2, r0, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x2D
- bl sub_8001784
- cmp r0, 0
- beq _08097414
- movs r0, 0x1
-_08097414:
- pop {r1}
- bx r1
- thumb_func_end sub_80973F4
-
- thumb_func_start sub_8097418
-sub_8097418:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r5, 0xD
- beq _08097470
- lsls r6, r5, 16
- cmp r7, 0
- beq _08097464
- lsrs r2, r6, 16
- movs r0, 0
- movs r1, 0x2C
- movs r3, 0
- bl sub_800199C
- cmp r5, 0x1E
- bgt _08097464
- lsls r0, r5, 3
- ldr r1, _08097478
- adds r4, r0, r1
- ldrb r0, [r4, 0x4]
- cmp r0, 0xFF
- beq _0809744C
- bl sub_8097FA8
-_0809744C:
- ldrb r0, [r4, 0x5]
- cmp r0, 0xFF
- beq _08097456
- bl sub_8097FA8
-_08097456:
- cmp r5, 0x9
- bne _08097460
- movs r0, 0x1F
- bl sub_8097FA8
-_08097460:
- bl sub_8097FF8
-_08097464:
- lsrs r2, r6, 16
- movs r0, 0
- movs r1, 0x2D
- adds r3, r7, 0
- bl sub_800199C
-_08097470:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08097478: .4byte gStoryMissionText
- thumb_func_end sub_8097418
-
- thumb_func_start sub_809747C
-sub_809747C:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- beq _08097494
- bl sub_80A270C
- lsls r0, 24
- lsrs r0, 24
- bl GetDungeonName1
- b _08097496
-_08097494:
- ldr r0, _0809749C
-_08097496:
- pop {r1}
- bx r1
- .align 2, 0
-_0809749C: .4byte gDummyScenarioText
- thumb_func_end sub_809747C
-
- thumb_func_start sub_80974A0
-sub_80974A0:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- beq _080974B8
- bl sub_80A270C
- lsls r0, 24
- lsrs r0, 24
- bl GetDungeonName1
- b _080974BA
-_080974B8:
- ldr r0, _080974C0
-_080974BA:
- pop {r1}
- bx r1
- .align 2, 0
-_080974C0: .4byte gDummyScenarioText
- thumb_func_end sub_80974A0
-
- thumb_func_start sub_80974C4
-sub_80974C4:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _080974D8
- ldr r0, _080974D4
- b _080974E0
- .align 2, 0
-_080974D4: .4byte gUnknown_8109CC0
-_080974D8:
- lsls r0, 3
- ldr r1, _080974E4
- adds r0, r1
- ldr r0, [r0]
-_080974E0:
- pop {r1}
- bx r1
- .align 2, 0
-_080974E4: .4byte gStoryMissionText
- thumb_func_end sub_80974C4
-
- thumb_func_start sub_80974E8
-sub_80974E8:
- push {lr}
- movs r0, 0
- movs r1, 0x2E
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x2F
- bl sub_80015C0
- pop {r0}
- bx r0
- thumb_func_end sub_80974E8
-
- thumb_func_start nullsub_208
-nullsub_208:
- bx lr
- thumb_func_end nullsub_208
-
- thumb_func_start sub_8097504
-sub_8097504:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- adds r1, r0, 0
- cmp r0, 0x10
- bgt _08097568
- cmp r0, 0xE
- bhi _08097580
- lsls r0, 2
- ldr r1, _08097520
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08097520: .4byte _08097524
- .align 2, 0
-_08097524:
- .4byte _08097564
- .4byte _08097564
- .4byte _08097560
- .4byte _08097580
- .4byte _08097580
- .4byte _08097564
- .4byte _08097580
- .4byte _08097564
- .4byte _08097580
- .4byte _08097564
- .4byte _08097560
- .4byte _08097560
- .4byte _08097560
- .4byte _08097574
- .4byte _08097564
-_08097560:
- movs r0, 0xE
- b _08097576
-_08097564:
- movs r0, 0xF
- b _08097576
-_08097568:
- cmp r1, 0x16
- bgt _08097584
- cmp r1, 0x16
- beq _08097584
- cmp r1, 0x15
- beq _08097584
-_08097574:
- movs r0, 0x6
-_08097576:
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _08097584
-_08097580:
- movs r0, 0x1
- b _08097586
-_08097584:
- movs r0, 0
-_08097586:
- pop {r1}
- bx r1
- thumb_func_end sub_8097504
-
- thumb_func_start sub_809758C
-sub_809758C:
- push {lr}
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x2E
- bl sub_8001784
- cmp r0, 0
- beq _080975A2
- movs r0, 0x1
-_080975A2:
- pop {r1}
- bx r1
- thumb_func_end sub_809758C
-
- thumb_func_start sub_80975A8
-sub_80975A8:
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x2E
- bl sub_800199C
- pop {r0}
- bx r0
- thumb_func_end sub_80975A8
-
- thumb_func_start sub_80975C4
-sub_80975C4:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2728
- lsls r0, 24
- lsrs r0, 24
- bl GetDungeonName1
- pop {r1}
- bx r1
- thumb_func_end sub_80975C4
-
- thumb_func_start sub_80975DC
-sub_80975DC:
- push {lr}
- lsls r0, 16
- ldr r1, _08097600
- adds r0, r1
- lsrs r0, 16
- cmp r0, 0x1
- bhi _08097610
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0xE
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- beq _08097608
- ldr r0, _08097604
- b _08097612
- .align 2, 0
-_08097600: .4byte 0xffe90000
-_08097604: .4byte gMeetNinetalesText
-_08097608:
- ldr r0, _0809760C
- b _08097612
- .align 2, 0
-_0809760C: .4byte gAvoidCaptureText
-_08097610:
- ldr r0, _08097618
-_08097612:
- pop {r1}
- bx r1
- .align 2, 0
-_08097618: .4byte gFinalScenarioText
- thumb_func_end sub_80975DC
-
- thumb_func_start sub_809761C
-sub_809761C:
- push {r4,lr}
- movs r4, 0
-_08097620:
- lsls r0, r4, 16
- asrs r0, 16
- bl sub_809758C
- lsls r0, 24
- cmp r0, 0
- bne _08097632
- movs r0, 0
- b _0809763A
-_08097632:
- adds r4, 0x1
- cmp r4, 0x10
- ble _08097620
- movs r0, 0x1
-_0809763A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809761C
-
- thumb_func_start sub_8097640
-sub_8097640:
- push {lr}
- movs r0, 0
- movs r1, 0x2E
- movs r2, 0x1F
- bl sub_8001784
- cmp r0, 0
- bne _0809766A
- bl sub_809761C
- lsls r0, 24
- cmp r0, 0
- beq _0809766A
- movs r0, 0
- movs r1, 0x2E
- movs r2, 0x1F
- movs r3, 0x1
- bl sub_800199C
- movs r0, 0x1
- b _0809766C
-_0809766A:
- movs r0, 0
-_0809766C:
- pop {r1}
- bx r1
- thumb_func_end sub_8097640
-
- thumb_func_start sub_8097670
-sub_8097670:
- ldr r1, _08097678
- ldr r0, _0809767C
- str r0, [r1]
- bx lr
- .align 2, 0
-_08097678: .4byte gUnknown_203B494
-_0809767C: .4byte gUnknown_2039778
- thumb_func_end sub_8097670
-
- thumb_func_start sub_8097680
-sub_8097680:
- ldr r0, _08097684
- bx lr
- .align 2, 0
-_08097684: .4byte gUnknown_2039778
- thumb_func_end sub_8097680
-
- thumb_func_start sub_8097688
-sub_8097688:
- ldr r3, _08097698
- ldr r2, [r3]
- ldrb r1, [r0]
- strb r1, [r2, 0x10]
- ldr r1, [r3]
- ldrb r0, [r0, 0x1]
- strb r0, [r1, 0x11]
- bx lr
- .align 2, 0
-_08097698: .4byte gUnknown_203B494
- thumb_func_end sub_8097688
-
- thumb_func_start sub_809769C
-sub_809769C:
- ldr r0, _080976A4
- ldr r0, [r0]
- adds r0, 0x10
- bx lr
- .align 2, 0
-_080976A4: .4byte gUnknown_203B494
- thumb_func_end sub_809769C
-
- thumb_func_start sub_80976A8
-sub_80976A8:
- push {r4,lr}
- ldr r3, _080976F4
- ldr r1, [r3]
- movs r0, 0
- str r0, [r1]
- strh r0, [r1, 0x14]
- strh r0, [r1, 0x16]
- strh r0, [r1, 0x18]
- adds r2, r1, 0
- adds r2, 0xC0
- str r0, [r2]
- str r0, [r1, 0x8]
- str r0, [r1, 0xC]
- movs r2, 0
- adds r4, r3, 0
- movs r3, 0
-_080976C8:
- ldr r0, [r4]
- lsls r1, r2, 2
- adds r0, 0x1C
- adds r0, r1
- str r3, [r0]
- adds r2, 0x1
- cmp r2, 0xD
- ble _080976C8
- movs r2, 0
- ldr r4, _080976F4
- movs r3, 0
-_080976DE:
- ldr r0, [r4]
- lsls r1, r2, 2
- adds r0, 0x8C
- adds r0, r1
- str r3, [r0]
- adds r2, 0x1
- cmp r2, 0xC
- ble _080976DE
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080976F4: .4byte gUnknown_203B494
- thumb_func_end sub_80976A8
-
- thumb_func_start sub_80976F8
-sub_80976F8:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809770C
- ldr r2, [r1]
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- bx lr
- .align 2, 0
-_0809770C: .4byte gUnknown_203B494
- thumb_func_end sub_80976F8
-
- thumb_func_start sub_8097710
-sub_8097710:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809772C
- ldr r2, [r1]
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- ands r0, r1
- cmp r0, 0
- bne _08097730
- movs r0, 0
- b _08097732
- .align 2, 0
-_0809772C: .4byte gUnknown_203B494
-_08097730:
- movs r0, 0x1
-_08097732:
- pop {r1}
- bx r1
- thumb_func_end sub_8097710
-
- thumb_func_start sub_8097738
-sub_8097738:
- lsls r0, 24
- ldr r1, _08097744
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08097744: .4byte gTeamRanks
- thumb_func_end sub_8097738
-
- thumb_func_start sub_8097748
-sub_8097748:
- ldr r0, _08097754
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1, 0x4]
- bx lr
- .align 2, 0
-_08097754: .4byte gUnknown_203B494
- thumb_func_end sub_8097748
-
- thumb_func_start sub_8097758
-sub_8097758:
- push {lr}
- ldr r0, _08097770
- ldr r1, [r0]
- ldr r0, [r1, 0x4]
- adds r0, 0x1
- str r0, [r1, 0x4]
- ldr r2, _08097774
- cmp r0, r2
- ble _0809776C
- str r2, [r1, 0x4]
-_0809776C:
- pop {r0}
- bx r0
- .align 2, 0
-_08097770: .4byte gUnknown_203B494
-_08097774: .4byte 0x0001869f
- thumb_func_end sub_8097758
-
- thumb_func_start sub_8097778
-sub_8097778:
- ldr r0, _08097780
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bx lr
- .align 2, 0
-_08097780: .4byte gUnknown_203B494
- thumb_func_end sub_8097778
-
- thumb_func_start sub_8097784
-sub_8097784:
- ldr r1, _0809778C
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bx lr
- .align 2, 0
-_0809778C: .4byte gUnknown_203B494
- thumb_func_end sub_8097784
-
- thumb_func_start sub_8097790
-sub_8097790:
- push {lr}
- ldr r0, _080977B0
- ldr r1, [r0]
- ldr r0, [r1, 0x8]
- adds r0, 0x1
- str r0, [r1, 0x8]
- ldr r2, _080977B4
- cmp r0, r2
- ble _080977A4
- str r2, [r1, 0x8]
-_080977A4:
- movs r0, 0x8
- bl sub_80976F8
- pop {r0}
- bx r0
- .align 2, 0
-_080977B0: .4byte gUnknown_203B494
-_080977B4: .4byte 0x0001869f
- thumb_func_end sub_8097790
-
- thumb_func_start sub_80977B8
-sub_80977B8:
- ldr r0, _080977C0
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_080977C0: .4byte gUnknown_203B494
- thumb_func_end sub_80977B8
-
- thumb_func_start sub_80977C4
-sub_80977C4:
- ldr r1, _080977CC
- ldr r1, [r1]
- str r0, [r1, 0x8]
- bx lr
- .align 2, 0
-_080977CC: .4byte gUnknown_203B494
- thumb_func_end sub_80977C4
-
- thumb_func_start sub_80977D0
-sub_80977D0:
- push {lr}
- ldr r0, _080977F0
- ldr r1, [r0]
- ldr r0, [r1, 0xC]
- adds r0, 0x1
- str r0, [r1, 0xC]
- ldr r2, _080977F4
- cmp r0, r2
- ble _080977E4
- str r2, [r1, 0xC]
-_080977E4:
- movs r0, 0x9
- bl sub_80976F8
- pop {r0}
- bx r0
- .align 2, 0
-_080977F0: .4byte gUnknown_203B494
-_080977F4: .4byte 0x0001869f
- thumb_func_end sub_80977D0
-
- thumb_func_start sub_80977F8
-sub_80977F8:
- ldr r0, _08097800
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- bx lr
- .align 2, 0
-_08097800: .4byte gUnknown_203B494
- thumb_func_end sub_80977F8
-
- thumb_func_start sub_8097804
-sub_8097804:
- ldr r1, _0809780C
- ldr r1, [r1]
- str r0, [r1, 0xC]
- bx lr
- .align 2, 0
-_0809780C: .4byte gUnknown_203B494
- thumb_func_end sub_8097804
-
- thumb_func_start sub_8097810
-sub_8097810:
- push {lr}
- ldr r0, _08097830
- ldr r2, [r0]
- ldrh r3, [r2, 0x14]
- movs r0, 0x14
- ldrsh r1, [r2, r0]
- ldr r0, _08097834
- cmp r1, r0
- bgt _08097826
- adds r0, r3, 0x1
- strh r0, [r2, 0x14]
-_08097826:
- movs r0, 0xB
- bl sub_80976F8
- pop {r0}
- bx r0
- .align 2, 0
-_08097830: .4byte gUnknown_203B494
-_08097834: .4byte 0x0000270e
- thumb_func_end sub_8097810
-
- thumb_func_start sub_8097838
-sub_8097838:
- ldr r0, _08097844
- ldr r0, [r0]
- movs r1, 0x14
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08097844: .4byte gUnknown_203B494
- thumb_func_end sub_8097838
-
- thumb_func_start sub_8097848
-sub_8097848:
- push {lr}
- ldr r0, _08097868
- ldr r2, [r0]
- ldrh r3, [r2, 0x16]
- movs r0, 0x16
- ldrsh r1, [r2, r0]
- ldr r0, _0809786C
- cmp r1, r0
- bgt _0809785E
- adds r0, r3, 0x1
- strh r0, [r2, 0x16]
-_0809785E:
- movs r0, 0xA
- bl sub_80976F8
- pop {r0}
- bx r0
- .align 2, 0
-_08097868: .4byte gUnknown_203B494
-_0809786C: .4byte 0x0000270e
- thumb_func_end sub_8097848
-
- thumb_func_start sub_8097870
-sub_8097870:
- ldr r0, _0809787C
- ldr r0, [r0]
- movs r1, 0x16
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0809787C: .4byte gUnknown_203B494
- thumb_func_end sub_8097870
-
- thumb_func_start sub_8097880
-sub_8097880:
- ldr r0, _0809788C
- ldr r0, [r0]
- movs r1, 0x18
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0809788C: .4byte gUnknown_203B494
- thumb_func_end sub_8097880
-
- thumb_func_start sub_8097890
-sub_8097890:
- push {lr}
- ldr r0, _080978B0
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0xC0
- ldr r1, [r2]
- ldr r0, _080978B4
- cmp r1, r0
- bgt _080978A6
- adds r0, r1, 0x1
- str r0, [r2]
-_080978A6:
- movs r0, 0xC
- bl sub_80976F8
- pop {r0}
- bx r0
- .align 2, 0
-_080978B0: .4byte gUnknown_203B494
-_080978B4: .4byte 0x0001869e
- thumb_func_end sub_8097890
-
- thumb_func_start sub_80978B8
-sub_80978B8:
- ldr r0, _080978C4
- ldr r0, [r0]
- adds r0, 0xC0
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080978C4: .4byte gUnknown_203B494
- thumb_func_end sub_80978B8
-
- thumb_func_start sub_80978C8
-sub_80978C8:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_808E858
- lsls r0, 16
- asrs r3, r0, 16
- ldr r0, _080978FC
- ldr r2, [r0]
- adds r0, r3, 0
- cmp r3, 0
- bge _080978E2
- adds r0, 0x1F
-_080978E2:
- asrs r0, 5
- lsls r1, r0, 2
- adds r2, 0x54
- adds r2, r1
- lsls r0, 5
- subs r0, r3, r0
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_080978FC: .4byte gUnknown_203B494
- thumb_func_end sub_80978C8
-
- thumb_func_start sub_8097900
-sub_8097900:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_808E858
- lsls r0, 16
- asrs r3, r0, 16
- ldr r0, _08097938
- ldr r2, [r0]
- adds r0, r3, 0
- cmp r3, 0
- bge _0809791A
- adds r0, 0x1F
-_0809791A:
- asrs r0, 5
- lsls r1, r0, 2
- adds r2, 0x1C
- adds r2, r1
- lsls r0, 5
- subs r0, r3, r0
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- ands r0, r1
- cmp r0, 0
- bne _0809793C
- movs r0, 0
- b _0809793E
- .align 2, 0
-_08097938: .4byte gUnknown_203B494
-_0809793C:
- movs r0, 0x1
-_0809793E:
- pop {r1}
- bx r1
- thumb_func_end sub_8097900
-
- thumb_func_start sub_8097944
-sub_8097944:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r0, 0x1
- str r0, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- movs r0, 0xD
- bl sub_8097710
- lsls r0, 24
- cmp r0, 0
- bne _08097974
- bl sub_8092614
- lsls r0, 24
- cmp r0, 0
- beq _08097974
- movs r0, 0xD
- bl sub_80976F8
-_08097974:
- movs r4, 0
- ldr r0, _08097B5C
- mov r10, r0
- mov r8, r4
-_0809797C:
- ldr r1, _08097B60
- ldr r0, [r1]
- mov r1, r8
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080979F6
- movs r0, 0x8
- ldrsh r3, [r2, r0]
- mov r1, r10
- ldr r2, [r1]
- adds r0, r3, 0
- cmp r3, 0
- bge _0809799E
- adds r0, 0x1F
-_0809799E:
- asrs r0, 5
- lsls r1, r0, 2
- adds r2, 0x1C
- adds r2, r1
- lsls r0, 5
- subs r0, r3, r0
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- ldr r0, _08097B60
- mov r9, r0
- mov r12, r8
- movs r7, 0x1
- movs r6, 0x2C
- movs r5, 0x3
-_080979C0:
- mov r1, r9
- ldr r0, [r1]
- add r0, r12
- adds r3, r0, r6
- ldrb r1, [r3]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _080979EE
- mov r0, r10
- ldr r2, [r0]
- ldrh r3, [r3, 0x2]
- lsrs r0, r3, 5
- lsls r0, 2
- adds r2, 0x8C
- adds r2, r0
- movs r0, 0x1F
- ands r3, r0
- adds r1, r7, 0
- lsls r1, r3
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
-_080979EE:
- adds r6, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _080979C0
-_080979F6:
- movs r1, 0x58
- add r8, r1
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _0809797C
- movs r4, 0
- ldr r1, _08097B64
-_08097A08:
- cmp r4, 0
- bne _08097A0E
- b _08097B80
-_08097A0E:
- ldr r0, _08097B68
- cmp r4, r0
- bne _08097A16
- b _08097B80
-_08097A16:
- adds r0, 0x1
- cmp r4, r0
- bne _08097A1E
- b _08097B80
-_08097A1E:
- adds r0, 0x1
- cmp r4, r0
- bne _08097A26
- b _08097B80
-_08097A26:
- adds r0, 0x26
- cmp r4, r0
- bne _08097A2E
- b _08097B80
-_08097A2E:
- adds r0, 0x1
- cmp r4, r0
- bne _08097A36
- b _08097B80
-_08097A36:
- adds r0, 0x1
- cmp r4, r0
- bne _08097A3E
- b _08097B80
-_08097A3E:
- adds r0, 0x1
- cmp r4, r0
- bne _08097A46
- b _08097B80
-_08097A46:
- adds r0, 0x1
- cmp r4, r0
- bne _08097A4E
- b _08097B80
-_08097A4E:
- adds r0, 0x1
- cmp r4, r0
- bne _08097A56
- b _08097B80
-_08097A56:
- cmp r4, r1
- bne _08097A5C
- b _08097B80
-_08097A5C:
- ldr r0, _08097B5C
- ldr r5, [r0]
- adds r0, r4, 0
- cmp r4, 0
- bge _08097A68
- adds r0, 0x1F
-_08097A68:
- asrs r0, 5
- lsls r3, r0, 2
- adds r1, r5, 0
- adds r1, 0x54
- adds r1, r3
- lsls r0, 5
- subs r0, r4, r0
- movs r2, 0x1
- lsls r2, r0
- ldr r0, [r1]
- ands r0, r2
- cmp r0, 0
- bne _08097A86
- movs r0, 0
- str r0, [sp, 0x4]
-_08097A86:
- adds r0, r5, 0
- adds r0, 0x1C
- adds r0, r3
- ldr r0, [r0]
- ands r0, r2
- cmp r0, 0
- beq _08097B7C
- cmp r4, 0x92
- bne _08097A9E
- movs r0, 0x10
- bl sub_80976F8
-_08097A9E:
- cmp r4, 0x91
- bne _08097AA8
- movs r0, 0x11
- bl sub_80976F8
-_08097AA8:
- cmp r4, 0x90
- bne _08097AB2
- movs r0, 0x12
- bl sub_80976F8
-_08097AB2:
- movs r0, 0xCF
- lsls r0, 1
- cmp r4, r0
- bne _08097AC0
- movs r0, 0x13
- bl sub_80976F8
-_08097AC0:
- ldr r0, _08097B6C
- cmp r4, r0
- bne _08097ACC
- movs r0, 0x14
- bl sub_80976F8
-_08097ACC:
- movs r0, 0x86
- lsls r0, 1
- cmp r4, r0
- bne _08097ADA
- movs r0, 0x15
- bl sub_80976F8
-_08097ADA:
- movs r0, 0x87
- lsls r0, 1
- cmp r4, r0
- bne _08097AE8
- movs r0, 0x16
- bl sub_80976F8
-_08097AE8:
- ldr r0, _08097B70
- cmp r4, r0
- bne _08097AF4
- movs r0, 0x17
- bl sub_80976F8
-_08097AF4:
- movs r0, 0xCD
- lsls r0, 1
- cmp r4, r0
- bne _08097B02
- movs r0, 0x18
- bl sub_80976F8
-_08097B02:
- ldr r0, _08097B74
- cmp r4, r0
- bne _08097B0E
- movs r0, 0x19
- bl sub_80976F8
-_08097B0E:
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bne _08097B1C
- movs r0, 0x1A
- bl sub_80976F8
-_08097B1C:
- movs r0, 0x89
- lsls r0, 1
- cmp r4, r0
- bne _08097B2A
- movs r0, 0x1B
- bl sub_80976F8
-_08097B2A:
- movs r0, 0x8A
- lsls r0, 1
- cmp r4, r0
- bne _08097B38
- movs r0, 0x1C
- bl sub_80976F8
-_08097B38:
- cmp r4, 0x97
- bne _08097B42
- movs r0, 0x1D
- bl sub_80976F8
-_08097B42:
- cmp r4, 0x96
- bne _08097B4C
- movs r0, 0x1E
- bl sub_80976F8
-_08097B4C:
- ldr r0, _08097B78
- cmp r4, r0
- bne _08097B80
- movs r0, 0x1F
- bl sub_80976F8
- b _08097B80
- .align 2, 0
-_08097B5C: .4byte gUnknown_203B494
-_08097B60: .4byte gUnknown_203B45C
-_08097B64: .4byte 0x000001a7
-_08097B68: .4byte 0x00000179
-_08097B6C: .4byte 0x0000010d
-_08097B70: .4byte 0x00000113
-_08097B74: .4byte 0x0000019b
-_08097B78: .4byte 0x0000019d
-_08097B7C:
- movs r1, 0
- str r1, [sp]
-_08097B80:
- adds r4, 0x1
- ldr r1, _08097C0C
- cmp r4, r1
- bgt _08097B8A
- b _08097A08
-_08097B8A:
- ldr r0, [sp]
- cmp r0, 0
- beq _08097B96
- movs r0, 0xF
- bl sub_80976F8
-_08097B96:
- ldr r1, [sp, 0x4]
- cmp r1, 0
- beq _08097BA2
- movs r0, 0xE
- bl sub_80976F8
-_08097BA2:
- movs r3, 0
- movs r4, 0
-_08097BA6:
- cmp r4, 0
- beq _08097BE2
- ldr r0, _08097C10
- cmp r4, r0
- beq _08097BE2
- adds r0, 0x1
- cmp r4, r0
- beq _08097BE2
- adds r0, 0x1
- cmp r4, r0
- beq _08097BE2
- ldr r0, _08097C14
- ldr r2, [r0]
- adds r0, r4, 0
- cmp r4, 0
- bge _08097BC8
- adds r0, 0x1F
-_08097BC8:
- asrs r0, 5
- lsls r1, r0, 2
- adds r2, 0x8C
- adds r2, r1
- lsls r0, 5
- subs r0, r4, r0
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- ands r0, r1
- cmp r0, 0
- beq _08097BE2
- adds r3, 0x1
-_08097BE2:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _08097BA6
- cmp r3, 0
- beq _08097BFC
- ldr r0, _08097C14
- ldr r0, [r0]
- strh r3, [r0, 0x18]
- movs r0, 0x7
- bl sub_80976F8
-_08097BFC:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08097C0C: .4byte 0x000001a7
-_08097C10: .4byte 0x00000163
-_08097C14: .4byte gUnknown_203B494
- thumb_func_end sub_8097944
-
- thumb_func_start sub_8097C18
-sub_8097C18:
- push {r4-r6,lr}
- adds r5, r0, 0
- bl sub_8097944
- ldr r4, _08097CBC
- ldr r1, [r4]
- adds r1, 0x4
- adds r0, r5, 0
- movs r2, 0x11
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x8
- adds r0, r5, 0
- movs r2, 0x11
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0xC
- adds r0, r5, 0
- movs r2, 0x11
- bl sub_809488C
- ldr r1, [r4]
- adds r0, r5, 0
- movs r2, 0x20
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x14
- adds r0, r5, 0
- movs r2, 0xE
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x16
- adds r0, r5, 0
- movs r2, 0xE
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x18
- adds r0, r5, 0
- movs r2, 0x9
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0xC0
- adds r0, r5, 0
- movs r2, 0x11
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x1C
- movs r6, 0xE0
- lsls r6, 1
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x54
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x8C
- movs r2, 0xD0
- lsls r2, 1
- adds r0, r5, 0
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x10
- adds r0, r5, 0
- bl sub_80902F4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08097CBC: .4byte gUnknown_203B494
- thumb_func_end sub_8097C18
-
- thumb_func_start sub_8097CC0
-sub_8097CC0:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _08097D5C
- ldr r1, [r4]
- adds r1, 0x4
- movs r2, 0x11
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x8
- adds r0, r5, 0
- movs r2, 0x11
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0xC
- adds r0, r5, 0
- movs r2, 0x11
- bl sub_8094924
- ldr r1, [r4]
- adds r0, r5, 0
- movs r2, 0x20
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x14
- adds r0, r5, 0
- movs r2, 0xE
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x16
- adds r0, r5, 0
- movs r2, 0xE
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x18
- adds r0, r5, 0
- movs r2, 0x9
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0xC0
- adds r0, r5, 0
- movs r2, 0x11
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x1C
- movs r6, 0xE0
- lsls r6, 1
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x54
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x8C
- movs r2, 0xD0
- lsls r2, 1
- adds r0, r5, 0
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x10
- adds r0, r5, 0
- bl sub_8090314
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08097D5C: .4byte gUnknown_203B494
- thumb_func_end sub_8097CC0
-
- thumb_func_start sub_8097D60
-sub_8097D60:
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809486C
- mov r0, sp
- bl sub_8094A44
- mov r0, sp
- bl sub_8095044
- mov r0, sp
- bl sub_8097C18
- mov r0, sp
- bl sub_8098248
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x10
- pop {r1}
- bx r1
- thumb_func_end sub_8097D60
-
- thumb_func_start sub_8097D98
-sub_8097D98:
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809485C
- mov r0, sp
- bl sub_8094B18
- mov r0, sp
- bl sub_8095080
- mov r0, sp
- bl sub_8097CC0
- mov r0, sp
- bl sub_8098308
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x10
- pop {r1}
- bx r1
- thumb_func_end sub_8097D98
-
- thumb_func_start sub_8097DD0
-sub_8097DD0:
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- ldr r1, [r2]
- ldr r0, [r3]
- cmp r1, r0
- bne _08097DEA
- ldr r1, [r2, 0x4]
- ldr r0, [r3, 0x4]
- cmp r1, r0
- bne _08097DEA
- movs r0, 0x1
- b _08097DEC
-_08097DEA:
- movs r0, 0
-_08097DEC:
- pop {r1}
- bx r1
- thumb_func_end sub_8097DD0
-
- thumb_func_start sub_8097DF0
-sub_8097DF0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1F8
- mov r8, r0
- str r1, [sp, 0x1F0]
- movs r0, 0
- mov r9, r0
- movs r7, 0
- ldr r1, _08097E3C
- ldr r0, [r1]
- cmp r0, 0
- beq _08097E6E
-_08097E0E:
- movs r4, 0
- lsls r5, r7, 3
- lsls r1, r7, 2
- mov r10, r1
- adds r6, r7, 0x1
- ldr r2, _08097E3C
- adds r3, r5, r2
- add r1, sp, 0x18C
-_08097E1E:
- ldr r0, [r3]
- adds r0, r4
- ldrb r2, [r0]
- cmp r2, 0x23
- bne _08097E40
- ldrb r0, [r0, 0x1]
- cmp r0, 0x72
- bne _08097E40
- strb r2, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0
- strb r0, [r1]
- b _08097E50
- .align 2, 0
-_08097E3C: .4byte gStatusDescriptions
-_08097E40:
- ldr r0, [r3]
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, 0x1
- adds r4, 0x1
- cmp r4, 0x63
- ble _08097E1E
-_08097E50:
- add r0, sp, 0x18C
- bl strlen
- mov r1, sp
- add r1, r10
- str r0, [r1]
- adds r7, r6, 0
- cmp r6, 0x62
- bgt _08097E6E
- lsls r0, r6, 3
- ldr r1, _08097EB4
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _08097E0E
-_08097E6E:
- mov r2, r8
- ldrb r0, [r2]
- cmp r0, 0
- beq _08097F2C
- ldr r3, _08097EB4
-_08097E78:
- cmp r0, 0x23
- bne _08097F08
- movs r7, 0
- adds r1, r3, 0
- ldr r0, [r1]
- cmp r0, 0
- beq _08097F20
- mov r2, r9
- lsls r0, r2, 2
- ldr r2, [sp, 0x1F0]
- adds r0, r2
- mov r10, r0
-_08097E90:
- lsls r4, r7, 3
- adds r0, r4, r1
- ldr r0, [r0]
- lsls r1, r7, 2
- add r1, sp
- ldr r2, [r1]
- mov r1, r8
- str r3, [sp, 0x1F4]
- bl sub_800B2D4
- lsls r0, 24
- adds r5, r4, 0
- adds r6, r7, 0x1
- ldr r3, [sp, 0x1F4]
- cmp r0, 0
- bne _08097EF0
- movs r4, 0
- b _08097EBA
- .align 2, 0
-_08097EB4: .4byte gStatusDescriptions
-_08097EB8:
- adds r4, 0x1
-_08097EBA:
- cmp r4, r9
- bge _08097ED6
- adds r0, r5, r3
- lsls r1, r4, 2
- ldr r2, [sp, 0x1F0]
- adds r1, r2
- ldr r1, [r1]
- str r3, [sp, 0x1F4]
- bl sub_8097DD0
- lsls r0, 24
- ldr r3, [sp, 0x1F4]
- cmp r0, 0
- beq _08097EB8
-_08097ED6:
- cmp r4, r9
- bne _08097EF0
- mov r0, r9
- cmp r0, 0x3
- bgt _08097EF0
- adds r0, r5, r3
- mov r1, r10
- adds r1, 0x4
- mov r10, r1
- subs r1, 0x4
- stm r1!, {r0}
- movs r2, 0x1
- add r9, r2
-_08097EF0:
- adds r7, r6, 0
- cmp r6, 0x62
- bgt _08097F20
- ldr r1, _08097F04
- lsls r0, r6, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _08097E90
- b _08097F20
- .align 2, 0
-_08097F04: .4byte gStatusDescriptions
-_08097F08:
- mov r0, r8
- ldrb r1, [r0]
- adds r0, r1, 0
- adds r0, 0x7F
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _08097F1C
- cmp r1, 0x87
- bne _08097F20
-_08097F1C:
- movs r1, 0x1
- add r8, r1
-_08097F20:
- movs r2, 0x1
- add r8, r2
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0
- bne _08097E78
-_08097F2C:
- mov r0, r9
- add sp, 0x1F8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8097DF0
-
- thumb_func_start sub_8097F40
-sub_8097F40:
- push {lr}
- movs r2, 0
- ldr r1, _08097F58
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08097F50
- movs r2, 0x1
-_08097F50:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08097F58: .4byte gUnknown_810ACC0
- thumb_func_end sub_8097F40
-
- thumb_func_start sub_8097F5C
-sub_8097F5C:
- ldr r1, _08097F64
- ldr r0, _08097F68
- str r0, [r1]
- bx lr
- .align 2, 0
-_08097F64: .4byte gUnknown_203B498
-_08097F68: .4byte gUnknown_2039840
- thumb_func_end sub_8097F5C
-
- thumb_func_start sub_8097F6C
-sub_8097F6C:
- ldr r0, _08097F70
- bx lr
- .align 2, 0
-_08097F70: .4byte gUnknown_2039840
- thumb_func_end sub_8097F6C
-
- thumb_func_start sub_8097F74
-sub_8097F74:
- push {r4,lr}
- ldr r4, _08097FA0
- ldr r0, [r4]
- movs r1, 0
- movs r2, 0x64
- bl memset
- movs r2, 0
- ldr r3, _08097FA4
-_08097F86:
- ldr r0, [r4]
- adds r0, 0x58
- adds r0, r2
- ldrb r1, [r3, 0x2]
- strb r1, [r0]
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, 0xB
- ble _08097F86
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097FA0: .4byte gUnknown_203B498
-_08097FA4: .4byte gUnknown_810AD0C
- thumb_func_end sub_8097F74
-
- thumb_func_start sub_8097FA8
-sub_8097FA8:
- lsls r0, 24
- ldr r1, _08097FCC
- ldr r3, [r1]
- lsrs r1, r0, 29
- lsls r1, 2
- adds r3, 0x48
- adds r3, r1
- movs r1, 0xF8
- lsls r1, 21
- ands r1, r0
- lsrs r1, 24
- movs r2, 0x1
- lsls r2, r1
- ldr r0, [r3]
- orrs r0, r2
- str r0, [r3]
- bx lr
- .align 2, 0
-_08097FCC: .4byte gUnknown_203B498
- thumb_func_end sub_8097FA8
-
- thumb_func_start sub_8097FD0
-sub_8097FD0:
- lsls r0, 24
- ldr r1, _08097FF4
- ldr r3, [r1]
- lsrs r1, r0, 29
- lsls r1, 2
- adds r3, 0x3C
- adds r3, r1
- movs r1, 0xF8
- lsls r1, 21
- ands r1, r0
- lsrs r1, 24
- movs r2, 0x1
- lsls r2, r1
- ldr r0, [r3]
- orrs r0, r2
- str r0, [r3]
- bx lr
- .align 2, 0
-_08097FF4: .4byte gUnknown_203B498
- thumb_func_end sub_8097FD0
-
- thumb_func_start sub_8097FF8
-sub_8097FF8:
- push {r4-r7,lr}
- movs r4, 0
- ldr r6, _08098040
- movs r7, 0x1
-_08098000:
- ldr r5, [r6]
- adds r0, r4, 0
- cmp r4, 0
- bge _0809800A
- adds r0, 0x1F
-_0809800A:
- asrs r0, 5
- lsls r3, r0, 2
- adds r1, r5, 0
- adds r1, 0x48
- adds r1, r3
- lsls r0, 5
- subs r0, r4, r0
- adds r2, r7, 0
- lsls r2, r0
- ldr r0, [r1]
- ands r0, r2
- cmp r0, 0
- beq _08098030
- adds r1, r5, 0
- adds r1, 0x3C
- adds r1, r3
- ldr r0, [r1]
- orrs r0, r2
- str r0, [r1]
-_08098030:
- adds r4, 0x1
- cmp r4, 0x3F
- ble _08098000
- bl sub_8098080
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08098040: .4byte gUnknown_203B498
- thumb_func_end sub_8097FF8
-
- thumb_func_start sub_8098044
-sub_8098044:
- push {r4,r5,lr}
- lsls r0, 24
- ldr r1, _0809807C
- ldr r3, [r1]
- lsrs r5, r0, 29
- lsls r5, 2
- adds r4, r3, 0
- adds r4, 0x3C
- adds r4, r5
- movs r1, 0xF8
- lsls r1, 21
- ands r1, r0
- lsrs r1, 24
- movs r2, 0x1
- lsls r2, r1
- mvns r2, r2
- ldr r0, [r4]
- ands r0, r2
- str r0, [r4]
- adds r3, 0x48
- adds r3, r5
- ldr r0, [r3]
- ands r0, r2
- str r0, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809807C: .4byte gUnknown_203B498
- thumb_func_end sub_8098044
-
- thumb_func_start sub_8098080
-sub_8098080:
- push {r4,lr}
- movs r2, 0
- ldr r4, _080980A0
- movs r3, 0
-_08098088:
- ldr r0, [r4]
- lsls r1, r2, 2
- adds r0, 0x48
- adds r0, r1
- str r3, [r0]
- adds r2, 0x1
- cmp r2, 0x2
- ble _08098088
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080980A0: .4byte gUnknown_203B498
- thumb_func_end sub_8098080
-
- thumb_func_start sub_80980A4
-sub_80980A4:
- ldr r0, _080980B0
- ldr r2, [r0]
- ldrb r0, [r2]
- movs r1, 0x1
- strb r1, [r2]
- bx lr
- .align 2, 0
-_080980B0: .4byte gUnknown_203B498
- thumb_func_end sub_80980A4
-
- thumb_func_start sub_80980B4
-sub_80980B4:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r3, r1, 0
- ldr r0, _080980F8
- cmp r1, r0
- beq _080980F4
- adds r0, 0x1
- cmp r1, r0
- beq _080980F4
- adds r0, 0x1
- cmp r1, r0
- beq _080980F4
- ldr r0, _080980FC
- ldr r2, [r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _080980DA
- adds r0, 0x1F
-_080980DA:
- asrs r0, 5
- lsls r1, r0, 2
- adds r2, 0x4
- adds r2, r1
- lsls r0, 5
- subs r0, r3, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
-_080980F4:
- pop {r0}
- bx r0
- .align 2, 0
-_080980F8: .4byte 0x000001a5
-_080980FC: .4byte gUnknown_203B498
- thumb_func_end sub_80980B4
-
- thumb_func_start sub_8098100
-sub_8098100:
- push {lr}
- lsls r1, r0, 24
- lsrs r3, r1, 24
- cmp r3, 0x3F
- bls _0809810E
- movs r0, 0
- b _0809812C
-_0809810E:
- ldr r0, _08098130
- ldr r2, [r0]
- lsrs r0, r1, 29
- lsls r0, 2
- adds r2, 0x3C
- adds r2, r0
- movs r0, 0x1F
- ands r0, r3
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- ands r0, r1
- cmp r0, 0
- beq _0809812C
- movs r0, 0x1
-_0809812C:
- pop {r1}
- bx r1
- .align 2, 0
-_08098130: .4byte gUnknown_203B498
- thumb_func_end sub_8098100
-
- thumb_func_start sub_8098134
-sub_8098134:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r3, r1, 0
- ldr r0, _0809816C
- ldr r2, [r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _08098148
- adds r0, 0x1F
-_08098148:
- asrs r0, 5
- lsls r1, r0, 2
- adds r2, 0x4
- adds r2, r1
- lsls r0, 5
- subs r0, r3, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- ands r0, r1
- cmp r0, 0
- beq _08098166
- movs r0, 0x1
-_08098166:
- pop {r1}
- bx r1
- .align 2, 0
-_0809816C: .4byte gUnknown_203B498
- thumb_func_end sub_8098134
-
- thumb_func_start sub_8098170
-sub_8098170:
- push {lr}
- adds r3, r0, 0
- ldr r0, _0809819C
- ldr r2, [r0]
- adds r0, r3, 0
- cmp r3, 0
- bge _08098180
- adds r0, 0x1F
-_08098180:
- asrs r0, 5
- lsls r1, r0, 2
- adds r2, 0x54
- adds r2, r1
- lsls r0, 5
- subs r0, r3, r0
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_0809819C: .4byte gUnknown_203B498
- thumb_func_end sub_8098170
-
- thumb_func_start sub_80981A0
-sub_80981A0:
- push {lr}
- adds r3, r0, 0
- cmp r3, 0x1E
- ble _080981AC
- movs r0, 0
- b _080981D4
-_080981AC:
- ldr r0, _080981D8
- ldr r2, [r0]
- adds r1, r3, 0
- cmp r3, 0
- bge _080981B8
- adds r1, 0x1F
-_080981B8:
- asrs r1, 5
- lsls r0, r1, 2
- adds r2, 0x54
- adds r2, r0
- lsls r1, 5
- subs r1, r3, r1
- movs r0, 0x1
- lsls r0, r1
- ldr r2, [r2]
- ands r2, r0
- cmp r2, 0
- beq _080981D2
- movs r2, 0x1
-_080981D2:
- adds r0, r2, 0
-_080981D4:
- pop {r1}
- bx r1
- .align 2, 0
-_080981D8: .4byte gUnknown_203B498
- thumb_func_end sub_80981A0
-
- thumb_func_start sub_80981DC
-sub_80981DC:
- push {r4,r5,lr}
- lsls r0, 16
- asrs r3, r0, 16
- movs r1, 0
- ldr r4, _080981FC
- ldr r2, _08098200
-_080981E8:
- movs r5, 0
- ldrsh r0, [r2, r5]
- cmp r0, r3
- bne _08098204
- ldr r0, [r4]
- adds r0, 0x58
- adds r0, r1
- ldrb r0, [r0]
- b _0809820E
- .align 2, 0
-_080981FC: .4byte gUnknown_203B498
-_08098200: .4byte gUnknown_810AD0C
-_08098204:
- adds r2, 0x4
- adds r1, 0x1
- cmp r1, 0xB
- ble _080981E8
- movs r0, 0x1
-_0809820E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80981DC
-
- thumb_func_start sub_8098214
-sub_8098214:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r3, r0, 16
- movs r1, 0
- ldr r5, _08098240
- movs r4, 0x1
- ldr r2, _08098244
-_08098222:
- movs r6, 0
- ldrsh r0, [r2, r6]
- cmp r0, r3
- bne _08098232
- ldr r0, [r5]
- adds r0, 0x58
- adds r0, r1
- strb r4, [r0]
-_08098232:
- adds r2, 0x4
- adds r1, 0x1
- cmp r1, 0xB
- ble _08098222
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08098240: .4byte gUnknown_203B498
-_08098244: .4byte gUnknown_810AD0C
- thumb_func_end sub_8098214
-
- thumb_func_start sub_8098248
-sub_8098248:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r7, r0, 0
- mov r5, sp
- adds r5, 0x3
- movs r0, 0xFF
- strb r0, [r5]
- add r4, sp, 0x4
- movs r0, 0
- strb r0, [r4]
- ldr r0, _08098300
- ldr r1, [r0]
- adds r0, r7, 0
- movs r2, 0x1
- bl sub_809488C
- movs r6, 0
- mov r9, r5
- mov r8, r4
- mov r4, sp
- adds r4, 0x1
- mov r5, sp
- adds r5, 0x2
-_0809827C:
- lsls r0, r6, 16
- asrs r0, 16
- bl sub_8098134
- mov r1, sp
- strb r0, [r1]
- adds r0, r7, 0
- movs r2, 0x1
- bl sub_809488C
- adds r6, 0x1
- ldr r0, _08098304
- cmp r6, r0
- ble _0809827C
- movs r6, 0
-_0809829A:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_8098100
- strb r0, [r4]
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_809488C
- adds r6, 0x1
- cmp r6, 0x3F
- ble _0809829A
- movs r6, 0
- adds r4, r5, 0
-_080982B8:
- adds r0, r6, 0
- bl sub_80981A0
- strb r0, [r4]
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_809488C
- adds r6, 0x1
- cmp r6, 0x1E
- ble _080982B8
- movs r6, 0
-_080982D2:
- ldr r0, _08098300
- ldr r0, [r0]
- adds r0, 0x58
- adds r0, r6
- ldrb r0, [r0]
- mov r1, r8
- cmp r0, 0
- beq _080982E4
- mov r1, r9
-_080982E4:
- adds r0, r7, 0
- movs r2, 0x1
- bl sub_809488C
- adds r6, 0x1
- cmp r6, 0xB
- ble _080982D2
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08098300: .4byte gUnknown_203B498
-_08098304: .4byte 0x000001a7
- thumb_func_end sub_8098248
-
- thumb_func_start sub_8098308
-sub_8098308:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r4, _080983D0
- ldr r0, [r4]
- movs r1, 0
- movs r2, 0x64
- bl memset
- ldr r1, [r4]
- adds r0, r6, 0
- movs r2, 0x1
- bl sub_8094924
- movs r4, 0
- mov r5, sp
- adds r5, 0x1
- mov r7, sp
- adds r7, 0x2
- movs r0, 0x3
- add r0, sp
- mov r8, r0
-_08098338:
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- beq _08098352
- lsls r0, r4, 16
- asrs r0, 16
- bl sub_80980B4
-_08098352:
- adds r4, 0x1
- ldr r0, _080983D4
- cmp r4, r0
- ble _08098338
- movs r4, 0
-_0809835C:
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8094924
- ldrb r0, [r5]
- cmp r0, 0
- beq _08098374
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8097FA8
-_08098374:
- adds r4, 0x1
- cmp r4, 0x3F
- ble _0809835C
- movs r4, 0
- adds r5, r7, 0
-_0809837E:
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8094924
- ldrb r0, [r5]
- cmp r0, 0
- beq _08098394
- adds r0, r4, 0
- bl sub_8098170
-_08098394:
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809837E
- movs r4, 0
-_0809839C:
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0x1
- bl sub_8094924
- ldr r0, _080983D0
- ldr r1, [r0]
- adds r1, 0x58
- adds r1, r4
- mov r0, sp
- adds r0, 0x3
- ldrb r2, [r0]
- movs r0, 0x1
- ands r0, r2
- strb r0, [r1]
- adds r4, 0x1
- cmp r4, 0xB
- ble _0809839C
- bl sub_8097FF8
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080983D0: .4byte gUnknown_203B498
-_080983D4: .4byte 0x000001a7
- thumb_func_end sub_8098308
-
- thumb_func_start sub_80983D8
-sub_80983D8:
- push {r4,lr}
- movs r2, 0
- ldrsh r3, [r1, r2]
- movs r4, 0
- ldrsh r2, [r0, r4]
- subs r2, r3, r2
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- subs r1, r0
- cmp r2, 0
- bne _080983FA
- cmp r1, 0
- bne _080983FA
- movs r0, 0
- b _08098428
-_080983FA:
- cmp r2, 0
- ble _08098400
- movs r2, 0x1
-_08098400:
- cmp r1, 0
- ble _08098406
- movs r1, 0x1
-_08098406:
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- bgt _08098410
- adds r2, r0, 0
-_08098410:
- cmp r1, r0
- bgt _08098416
- adds r1, r0, 0
-_08098416:
- ldr r3, _08098430
- adds r2, 0x1
- adds r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
-_08098428:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08098430: .4byte gUnknown_8115E94
- thumb_func_end sub_80983D8
-
- thumb_func_start sub_8098434
-sub_8098434:
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- movs r0, 0
- ldrsh r1, [r3, r0]
- movs r2, 0
- ldrsh r0, [r4, r2]
- subs r2, r1, r0
- cmp r2, 0
- bge _0809844A
- negs r2, r2
-_0809844A:
- movs r0, 0x2
- ldrsh r1, [r3, r0]
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- subs r0, r1, r0
- cmp r0, 0
- bge _0809845A
- negs r0, r0
-_0809845A:
- cmp r0, r2
- bge _08098460
- adds r0, r2, 0
-_08098460:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8098434
-
.align 2,0
diff --git a/asm/code_8095014.s b/asm/code_8095014.s
new file mode 100644
index 0000000..4765d4d
--- /dev/null
+++ b/asm/code_8095014.s
@@ -0,0 +1,7088 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8095118
+sub_8095118:
+ push {r4,lr}
+ ldr r4, _0809517C
+ ldr r0, [r4]
+ movs r2, 0xC0
+ lsls r2, 3
+ movs r1, 0
+ bl MemoryFill8
+ ldr r0, _08095180
+ ldr r0, [r0]
+ movs r1, 0
+ movs r2, 0x5C
+ bl MemoryFill8
+ movs r2, 0
+ movs r1, 0
+ movs r3, 0x1F
+_0809513A:
+ ldr r0, [r4]
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r0, r1
+ adds r0, 0x22
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r0, r1
+ adds r0, 0x2D
+ strb r2, [r0]
+ adds r1, 0x30
+ subs r3, 0x1
+ cmp r3, 0
+ bge _0809513A
+ ldr r2, _08095184
+ ldr r1, [r2]
+ movs r0, 0
+ str r0, [r1]
+ movs r3, 0
+ movs r4, 0x1
+ negs r4, r4
+_08095166:
+ ldr r0, [r2]
+ lsls r1, r3, 2
+ adds r0, 0x4
+ adds r0, r1
+ str r4, [r0]
+ adds r3, 0x1
+ cmp r3, 0x1F
+ ble _08095166
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809517C: .4byte gUnknown_203B480
+_08095180: .4byte gUnknown_203B484
+_08095184: .4byte gUnknown_203B48C
+ thumb_func_end sub_8095118
+
+ thumb_func_start nullsub_206
+nullsub_206:
+ bx lr
+ thumb_func_end nullsub_206
+
+ thumb_func_start nullsub_207
+nullsub_207:
+ bx lr
+ thumb_func_end nullsub_207
+
+ thumb_func_start sub_8095190
+sub_8095190:
+ push {lr}
+ movs r2, 0x2
+ ldr r0, _080951A8
+ ldr r0, [r0]
+ adds r1, r0, 0
+ adds r1, 0x60
+_0809519C:
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _080951AC
+ adds r0, r2, 0
+ b _080951B8
+ .align 2, 0
+_080951A8: .4byte gUnknown_203B480
+_080951AC:
+ adds r1, 0x30
+ adds r2, 0x1
+ cmp r2, 0x1F
+ ble _0809519C
+ movs r0, 0x1
+ negs r0, r0
+_080951B8:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095190
+
+ thumb_func_start sub_80951BC
+sub_80951BC:
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8095190
+ adds r2, r0, 0
+ movs r0, 0x1
+ negs r0, r0
+ cmp r2, r0
+ beq _080951F4
+ ldr r0, _080951F0
+ ldr r1, [r0]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 4
+ adds r1, r0
+ adds r0, r4, 0
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ movs r0, 0x1
+ b _080951F6
+ .align 2, 0
+_080951F0: .4byte gUnknown_203B480
+_080951F4:
+ movs r0, 0
+_080951F6:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80951BC
+
+ thumb_func_start sub_80951FC
+sub_80951FC:
+ push {r4,r5,lr}
+ ldr r1, _08095224
+ ldr r1, [r1]
+ adds r1, 0x30
+ ldrb r2, [r1]
+ negs r3, r2
+ orrs r3, r2
+ lsrs r3, 31
+ ldm r0!, {r2,r4,r5}
+ stm r1!, {r2,r4,r5}
+ ldm r0!, {r2,r4,r5}
+ stm r1!, {r2,r4,r5}
+ ldm r0!, {r2,r4,r5}
+ stm r1!, {r2,r4,r5}
+ ldm r0!, {r2,r4,r5}
+ stm r1!, {r2,r4,r5}
+ adds r0, r3, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08095224: .4byte gUnknown_203B480
+ thumb_func_end sub_80951FC
+
+ thumb_func_start sub_8095228
+sub_8095228:
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0809523C
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 4
+ ldr r0, [r2]
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_0809523C: .4byte gUnknown_203B480
+ thumb_func_end sub_8095228
+
+ thumb_func_start sub_8095240
+sub_8095240:
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, _08095270
+ lsls r4, r0, 1
+ adds r4, r0
+ lsls r4, 4
+ ldr r0, [r5]
+ adds r0, r4
+ movs r1, 0
+ movs r2, 0x30
+ bl MemoryFill8
+ ldr r0, [r5]
+ adds r0, r4
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r0, r4
+ adds r0, 0x22
+ strb r1, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08095270: .4byte gUnknown_203B480
+ thumb_func_end sub_8095240
+
+ thumb_func_start sub_8095274
+sub_8095274:
+ push {lr}
+ ldr r1, _08095294
+ ldr r3, [r1]
+ adds r2, r3, 0
+ ldm r2!, {r1}
+ lsls r1, 2
+ adds r2, r1
+ str r0, [r2]
+ ldr r0, [r3]
+ movs r1, 0
+ cmp r0, 0x1E
+ bgt _0809528E
+ adds r1, r0, 0x1
+_0809528E:
+ str r1, [r3]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08095294: .4byte gUnknown_203B48C
+ thumb_func_end sub_8095274
+
+ thumb_func_start sub_8095298
+sub_8095298:
+ push {lr}
+ adds r3, r0, 0
+ movs r2, 0
+ ldr r0, _080952B0
+ ldr r0, [r0]
+ adds r1, r0, 0x4
+_080952A4:
+ ldr r0, [r1]
+ cmp r0, r3
+ bne _080952B4
+ movs r0, 0x1
+ b _080952BE
+ .align 2, 0
+_080952B0: .4byte gUnknown_203B48C
+_080952B4:
+ adds r1, 0x4
+ adds r2, 0x1
+ cmp r2, 0x1F
+ ble _080952A4
+ movs r0, 0
+_080952BE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095298
+
+ thumb_func_start sub_80952C4
+sub_80952C4:
+ push {r4,lr}
+ ldr r2, _080952EC
+ ldr r1, [r2]
+ movs r0, 0
+ str r0, [r1]
+ movs r3, 0
+ adds r4, r2, 0
+ movs r2, 0x1
+ negs r2, r2
+_080952D6:
+ ldr r0, [r4]
+ lsls r1, r3, 2
+ adds r0, 0x4
+ adds r0, r1
+ str r2, [r0]
+ adds r3, 0x1
+ cmp r3, 0x1F
+ ble _080952D6
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080952EC: .4byte gUnknown_203B48C
+ thumb_func_end sub_80952C4
+
+ thumb_func_start sub_80952F0
+sub_80952F0:
+ push {r4,lr}
+ adds r4, r1, 0
+ lsls r0, 24
+ lsrs r1, r0, 24
+ movs r3, 0
+ ldr r0, _08095310
+ ldr r2, [r0]
+_080952FE:
+ ldrb r0, [r2]
+ cmp r0, r1
+ bne _08095314
+ ldr r0, [r2, 0x10]
+ cmp r0, r4
+ bne _08095314
+ movs r0, 0x1
+ b _0809531E
+ .align 2, 0
+_08095310: .4byte gUnknown_203B480
+_08095314:
+ adds r2, 0x30
+ adds r3, 0x1
+ cmp r3, 0x1F
+ ble _080952FE
+ movs r0, 0
+_0809531E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80952F0
+
+ thumb_func_start sub_8095324
+sub_8095324:
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r3, 0
+ ldr r0, _0809534C
+ ldr r1, [r0]
+ movs r2, 0x1F
+_08095332:
+ ldrb r0, [r1]
+ cmp r0, r4
+ bne _0809533A
+ adds r3, 0x1
+_0809533A:
+ adds r1, 0x30
+ subs r2, 0x1
+ cmp r2, 0
+ bge _08095332
+ adds r0, r3, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0809534C: .4byte gUnknown_203B480
+ thumb_func_end sub_8095324
+
+ thumb_func_start sub_8095350
+sub_8095350:
+ push {lr}
+ movs r3, 0
+ ldr r0, _08095370
+ ldr r1, [r0]
+ movs r2, 0x1F
+_0809535A:
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08095362
+ adds r3, 0x1
+_08095362:
+ adds r1, 0x30
+ subs r2, 0x1
+ cmp r2, 0
+ bge _0809535A
+ adds r0, r3, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08095370: .4byte gUnknown_203B480
+ thumb_func_end sub_8095350
+
+ thumb_func_start sub_8095374
+sub_8095374:
+ push {lr}
+ movs r3, 0x1
+ negs r3, r3
+ movs r2, 0
+ ldr r0, _08095398
+ ldr r1, [r0]
+_08095380:
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ bne _08095388
+ adds r3, r2, 0
+_08095388:
+ adds r1, 0x30
+ adds r2, 0x1
+ cmp r2, 0x1F
+ ble _08095380
+ adds r0, r3, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08095398: .4byte gUnknown_203B480
+ thumb_func_end sub_8095374
+
+ thumb_func_start sub_809539C
+sub_809539C:
+ push {r4,lr}
+ adds r4, r1, 0
+ lsls r0, 24
+ lsrs r1, r0, 24
+ movs r3, 0
+ ldr r0, _080953BC
+ ldr r2, [r0]
+_080953AA:
+ ldrb r0, [r2]
+ cmp r0, r1
+ bne _080953C0
+ ldr r0, [r2, 0x10]
+ cmp r0, r4
+ bne _080953C0
+ adds r0, r3, 0
+ b _080953CC
+ .align 2, 0
+_080953BC: .4byte gUnknown_203B480
+_080953C0:
+ adds r2, 0x30
+ adds r3, 0x1
+ cmp r3, 0x1F
+ ble _080953AA
+ movs r0, 0x1
+ negs r0, r0
+_080953CC:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809539C
+
+ thumb_func_start sub_80953D4
+sub_80953D4:
+ push {lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ movs r2, 0
+ ldr r0, _080953EC
+ ldr r1, [r0]
+_080953E0:
+ ldrb r0, [r1]
+ cmp r0, r3
+ bne _080953F0
+ adds r0, r2, 0
+ b _080953FC
+ .align 2, 0
+_080953EC: .4byte gUnknown_203B480
+_080953F0:
+ adds r1, 0x30
+ adds r2, 0x1
+ cmp r2, 0x1F
+ ble _080953E0
+ movs r0, 0x1
+ negs r0, r0
+_080953FC:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80953D4
+
+ thumb_func_start sub_8095400
+sub_8095400:
+ push {lr}
+ adds r3, r0, 0
+ movs r2, 0
+ ldr r0, _08095418
+ ldr r0, [r0]
+ adds r1, r0, 0
+ adds r1, 0x10
+_0809540E:
+ ldr r0, [r1]
+ cmp r0, r3
+ bne _0809541C
+ adds r0, r2, 0
+ b _08095428
+ .align 2, 0
+_08095418: .4byte gUnknown_203B480
+_0809541C:
+ adds r1, 0x30
+ adds r2, 0x1
+ cmp r2, 0x1F
+ ble _0809540E
+ movs r0, 0x1
+ negs r0, r0
+_08095428:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095400
+
+ thumb_func_start sub_809542C
+sub_809542C:
+ push {r4,lr}
+ sub sp, 0x14
+ ldr r4, _08095490
+ ldr r2, [r4]
+ movs r1, 0x1
+ strb r1, [r2]
+ ldr r2, [r4]
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [r2, 0x4]
+ str r1, [r2, 0x8]
+ bl Random
+ bl sub_8094D28
+ bl sub_8094E4C
+ ldr r1, [r4]
+ str r0, [r1, 0x10]
+ bl sub_808D33C
+ ldr r1, [r4]
+ ldrh r0, [r0, 0x8]
+ strh r0, [r1, 0xC]
+ bl sub_808D33C
+ adds r1, r0, 0
+ mov r0, sp
+ bl sub_808DA34
+ ldr r0, [r4]
+ adds r0, 0x14
+ mov r1, sp
+ bl sub_80922F4
+ bl sub_8011C34
+ ldr r1, [r4]
+ str r0, [r1, 0x24]
+ ldrb r0, [r1, 0x4]
+ bl GetUnk3
+ ldr r1, [r4]
+ adds r1, 0x2C
+ strb r0, [r1]
+ add sp, 0x14
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08095490: .4byte gUnknown_203B480
+ thumb_func_end sub_809542C
+
+ thumb_func_start sub_8095494
+sub_8095494:
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, _080954B0
+ ldr r3, [r2]
+ lsls r2, r1, 1
+ adds r2, r1
+ lsls r2, 4
+ adds r3, r2
+ ldr r1, [r3, 0x4]
+ ldr r2, [r3, 0x8]
+ str r1, [r0]
+ str r2, [r0, 0x4]
+ bx lr
+ .align 2, 0
+_080954B0: .4byte gUnknown_203B480
+ thumb_func_end sub_8095494
+
+ thumb_func_start sub_80954B4
+sub_80954B4:
+ push {lr}
+ movs r0, 0x3
+ bl sub_8095324
+ cmp r0, 0
+ bne _080954C4
+ movs r0, 0
+ b _080954C6
+_080954C4:
+ movs r0, 0x1
+_080954C6:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80954B4
+
+ thumb_func_start sub_80954CC
+sub_80954CC:
+ push {r4-r6,lr}
+ sub sp, 0x10
+ adds r3, r0, 0
+ adds r2, r1, 0
+ mov r0, sp
+ adds r1, r3, 0
+ bl sub_809485C
+ ldr r6, _08095618
+ movs r5, 0
+ movs r4, 0x1F
+_080954E2:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_8095774
+ adds r5, 0x30
+ subs r4, 0x1
+ cmp r4, 0
+ bge _080954E2
+ ldr r4, _0809561C
+ ldr r1, [r4]
+ mov r0, sp
+ movs r2, 0x20
+ bl sub_8094924
+ ldr r5, [r4]
+ adds r4, r5, 0x4
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0x58
+ bl memset
+ mov r0, sp
+ adds r1, r4, 0
+ movs r2, 0x2
+ bl sub_8094924
+ adds r1, r5, 0x6
+ mov r0, sp
+ movs r2, 0x1
+ bl sub_8094924
+ adds r1, r5, 0x7
+ mov r0, sp
+ movs r2, 0x7
+ bl sub_8094924
+ adds r4, 0x4
+ mov r0, sp
+ adds r1, r4, 0
+ bl sub_8090314
+ adds r1, r5, 0
+ adds r1, 0xC
+ mov r0, sp
+ movs r2, 0x9
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x10
+ mov r0, sp
+ bl sub_808F410
+ adds r1, r5, 0
+ adds r1, 0x14
+ mov r0, sp
+ bl sub_808F410
+ adds r1, r5, 0
+ adds r1, 0x18
+ mov r0, sp
+ movs r2, 0xA
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x1A
+ mov r0, sp
+ movs r2, 0xA
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x1C
+ mov r0, sp
+ movs r2, 0x8
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x1D
+ mov r0, sp
+ movs r2, 0x8
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x1E
+ mov r0, sp
+ movs r2, 0x8
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x1F
+ mov r0, sp
+ movs r2, 0x8
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x20
+ mov r0, sp
+ movs r2, 0x18
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x24
+ mov r0, sp
+ movs r2, 0x18
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x28
+ mov r0, sp
+ movs r2, 0x4
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x2C
+ mov r0, sp
+ bl sub_8091DC0
+ adds r1, r5, 0
+ adds r1, 0x30
+ mov r0, sp
+ bl sub_8094128
+ adds r1, r5, 0
+ adds r1, 0x50
+ mov r0, sp
+ movs r2, 0x50
+ bl sub_8094924
+ ldr r4, _08095620
+ ldr r1, [r4]
+ mov r0, sp
+ movs r2, 0x20
+ bl sub_8094924
+ adds r6, r4, 0
+ movs r5, 0x4
+ movs r4, 0x1F
+_080955F4:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ movs r2, 0x20
+ bl sub_8094924
+ adds r5, 0x4
+ subs r4, 0x1
+ cmp r4, 0
+ bge _080955F4
+ mov r0, sp
+ bl nullsub_102
+ ldr r0, [sp, 0x8]
+ add sp, 0x10
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08095618: .4byte gUnknown_203B480
+_0809561C: .4byte gUnknown_203B484
+_08095620: .4byte gUnknown_203B48C
+ thumb_func_end sub_80954CC
+
+ thumb_func_start sub_8095624
+sub_8095624:
+ push {r4-r6,lr}
+ sub sp, 0x10
+ adds r3, r0, 0
+ adds r2, r1, 0
+ mov r0, sp
+ adds r1, r3, 0
+ bl sub_809486C
+ ldr r6, _08095768
+ movs r5, 0
+ movs r4, 0x1F
+_0809563A:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_8095824
+ adds r5, 0x30
+ subs r4, 0x1
+ cmp r4, 0
+ bge _0809563A
+ ldr r4, _0809576C
+ ldr r1, [r4]
+ mov r0, sp
+ movs r2, 0x20
+ bl sub_809488C
+ ldr r5, [r4]
+ adds r4, r5, 0x4
+ mov r0, sp
+ adds r1, r4, 0
+ movs r2, 0x2
+ bl sub_809488C
+ adds r1, r5, 0x6
+ mov r0, sp
+ movs r2, 0x1
+ bl sub_809488C
+ adds r1, r5, 0x7
+ mov r0, sp
+ movs r2, 0x7
+ bl sub_809488C
+ adds r4, 0x4
+ mov r0, sp
+ adds r1, r4, 0
+ bl sub_80902F4
+ adds r1, r5, 0
+ adds r1, 0xC
+ mov r0, sp
+ movs r2, 0x9
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x10
+ mov r0, sp
+ bl sub_808F41C
+ adds r1, r5, 0
+ adds r1, 0x14
+ mov r0, sp
+ bl sub_808F41C
+ adds r1, r5, 0
+ adds r1, 0x18
+ mov r0, sp
+ movs r2, 0xA
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x1A
+ mov r0, sp
+ movs r2, 0xA
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x1C
+ mov r0, sp
+ movs r2, 0x8
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x1D
+ mov r0, sp
+ movs r2, 0x8
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x1E
+ mov r0, sp
+ movs r2, 0x8
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x1F
+ mov r0, sp
+ movs r2, 0x8
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x20
+ mov r0, sp
+ movs r2, 0x18
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x24
+ mov r0, sp
+ movs r2, 0x18
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x28
+ mov r0, sp
+ movs r2, 0x4
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x2C
+ mov r0, sp
+ bl sub_8091DE0
+ adds r1, r5, 0
+ adds r1, 0x30
+ mov r0, sp
+ bl sub_8094108
+ adds r1, r5, 0
+ adds r1, 0x50
+ mov r0, sp
+ movs r2, 0x50
+ bl sub_809488C
+ ldr r4, _08095770
+ ldr r1, [r4]
+ mov r0, sp
+ movs r2, 0x20
+ bl sub_809488C
+ adds r6, r4, 0
+ movs r5, 0x4
+ movs r4, 0x1F
+_08095742:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ movs r2, 0x20
+ bl sub_809488C
+ adds r5, 0x4
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08095742
+ mov r0, sp
+ bl nullsub_102
+ ldr r0, [sp, 0x8]
+ add sp, 0x10
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08095768: .4byte gUnknown_203B480
+_0809576C: .4byte gUnknown_203B484
+_08095770: .4byte gUnknown_203B48C
+ thumb_func_end sub_8095624
+
+ thumb_func_start sub_8095774
+sub_8095774:
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ adds r5, r1, 0
+ movs r2, 0x4
+ bl sub_8094924
+ adds r1, r5, 0x4
+ adds r0, r4, 0
+ bl sub_8090314
+ adds r1, r5, 0
+ adds r1, 0x8
+ adds r0, r4, 0
+ movs r2, 0x18
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0xC
+ adds r0, r4, 0
+ movs r2, 0x9
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x10
+ adds r0, r4, 0
+ movs r2, 0x20
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x14
+ adds r0, r4, 0
+ movs r2, 0x50
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x20
+ adds r0, r4, 0
+ movs r2, 0x8
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x21
+ adds r0, r4, 0
+ movs r2, 0x8
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x22
+ adds r0, r4, 0
+ movs r2, 0x8
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x24
+ adds r0, r4, 0
+ movs r2, 0x20
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x28
+ adds r0, r4, 0
+ movs r2, 0x20
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x2C
+ adds r0, r4, 0
+ movs r2, 0x8
+ bl sub_8094924
+ adds r0, r4, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_8094924
+ mov r0, sp
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ adds r1, r5, 0
+ adds r1, 0x2D
+ strb r0, [r1]
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8095774
+
+ thumb_func_start sub_8095824
+sub_8095824:
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ adds r4, r1, 0
+ movs r1, 0xFF
+ mov r0, sp
+ strb r1, [r0]
+ mov r6, sp
+ adds r6, 0x1
+ movs r0, 0
+ strb r0, [r6]
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0x4
+ bl sub_809488C
+ adds r1, r4, 0x4
+ adds r0, r5, 0
+ bl sub_80902F4
+ adds r1, r4, 0
+ adds r1, 0x8
+ adds r0, r5, 0
+ movs r2, 0x18
+ bl sub_809488C
+ adds r1, r4, 0
+ adds r1, 0xC
+ adds r0, r5, 0
+ movs r2, 0x9
+ bl sub_809488C
+ adds r1, r4, 0
+ adds r1, 0x10
+ adds r0, r5, 0
+ movs r2, 0x20
+ bl sub_809488C
+ adds r1, r4, 0
+ adds r1, 0x14
+ adds r0, r5, 0
+ movs r2, 0x50
+ bl sub_809488C
+ adds r1, r4, 0
+ adds r1, 0x20
+ adds r0, r5, 0
+ movs r2, 0x8
+ bl sub_809488C
+ adds r1, r4, 0
+ adds r1, 0x21
+ adds r0, r5, 0
+ movs r2, 0x8
+ bl sub_809488C
+ adds r1, r4, 0
+ adds r1, 0x22
+ adds r0, r5, 0
+ movs r2, 0x8
+ bl sub_809488C
+ adds r1, r4, 0
+ adds r1, 0x24
+ adds r0, r5, 0
+ movs r2, 0x20
+ bl sub_809488C
+ adds r1, r4, 0
+ adds r1, 0x28
+ adds r0, r5, 0
+ movs r2, 0x20
+ bl sub_809488C
+ adds r1, r4, 0
+ adds r1, 0x2C
+ adds r0, r5, 0
+ movs r2, 0x8
+ bl sub_809488C
+ adds r0, r4, 0
+ adds r0, 0x2D
+ ldrb r0, [r0]
+ mov r1, sp
+ cmp r0, 0
+ bne _080958D2
+ adds r1, r6, 0
+_080958D2:
+ adds r0, r5, 0
+ movs r2, 0x1
+ bl sub_809488C
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8095824
+
+ thumb_func_start sub_80958E4
+sub_80958E4:
+ str r1, [r0]
+ bx lr
+ thumb_func_end sub_80958E4
+
+ thumb_func_start sub_80958E8
+sub_80958E8:
+ ldr r1, _080958F0
+ ldr r0, _080958F4
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_080958F0: .4byte gUnknown_203B490
+_080958F4: .4byte gUnknown_2039448
+ thumb_func_end sub_80958E8
+
+ thumb_func_start sub_80958F8
+sub_80958F8:
+ ldr r0, _080958FC
+ bx lr
+ .align 2, 0
+_080958FC: .4byte gUnknown_2039448
+ thumb_func_end sub_80958F8
+
+ thumb_func_start sub_8095900
+sub_8095900:
+ push {r4-r7,lr}
+ movs r4, 0
+_08095904:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096040
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _08095904
+ movs r4, 0
+_08095914:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_80965B8
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _08095914
+ movs r4, 0
+_08095924:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096C3C
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _08095924
+ movs r4, 0
+ ldr r3, _080959B8
+ movs r2, 0xBC
+ lsls r2, 2
+ movs r1, 0
+_0809593C:
+ ldr r0, [r3]
+ adds r0, r2
+ adds r0, r4
+ strb r1, [r0]
+ adds r4, 0x1
+ cmp r4, 0x37
+ ble _0809593C
+ ldr r4, _080959B8
+ ldr r0, [r4]
+ movs r1, 0xCA
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, [r4]
+ movs r7, 0xC8
+ lsls r7, 1
+ adds r0, r7
+ movs r1, 0x28
+ bl MemoryClear8
+ ldr r0, [r4]
+ movs r1, 0xDC
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0x78
+ bl MemoryClear8
+ adds r3, r4, 0
+ movs r5, 0
+ movs r2, 0
+ movs r6, 0x8C
+ lsls r6, 2
+ movs r4, 0xF
+_08095980:
+ ldr r0, [r3]
+ adds r0, r2
+ adds r0, r6
+ movs r1, 0x63
+ strb r1, [r0]
+ ldr r0, [r3]
+ adds r0, r2
+ ldr r7, _080959BC
+ adds r0, r7
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r1, [r3]
+ adds r7, 0x3
+ adds r0, r1, r7
+ adds r0, r2
+ str r5, [r0]
+ adds r7, 0x4
+ adds r0, r1, r7
+ adds r0, r2
+ str r5, [r0]
+ adds r2, 0xC
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08095980
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080959B8: .4byte gUnknown_203B490
+_080959BC: .4byte 0x00000231
+ thumb_func_end sub_8095900
+
+ thumb_func_start sub_80959C0
+sub_80959C0:
+ push {lr}
+ adds r1, r0, 0
+ ldrb r0, [r1]
+ cmp r0, 0x5
+ bne _080959D6
+ adds r0, r1, 0
+ bl sub_80959DC
+ lsls r0, 24
+ lsrs r0, 24
+ b _080959D8
+_080959D6:
+ movs r0, 0
+_080959D8:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80959C0
+
+ thumb_func_start sub_80959DC
+sub_80959DC:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldrb r0, [r5, 0x1]
+ cmp r0, 0x4
+ bls _080959E8
+ b _08095B16
+_080959E8:
+ cmp r0, 0x4
+ bne _080959F8
+ ldrb r0, [r5, 0x4]
+ bl GetMaxItemCount
+ cmp r0, 0
+ bne _080959F8
+ b _08095B16
+_080959F8:
+ ldrb r0, [r5, 0x2]
+ cmp r0, 0x9
+ bls _08095A00
+ b _08095B16
+_08095A00:
+ ldrb r0, [r5, 0x4]
+ bl sub_809095C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095A0E
+ b _08095B16
+_08095A0E:
+ ldrb r4, [r5, 0x5]
+ ldrb r0, [r5, 0x4]
+ bl sub_8090298
+ cmp r4, r0
+ bge _08095B16
+ adds r4, r5, 0x4
+ adds r0, r4, 0
+ bl sub_809017C
+ lsls r0, 24
+ adds r6, r4, 0
+ cmp r0, 0
+ bne _08095B16
+ movs r1, 0xC
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ beq _08095B16
+ ldr r4, _08095B1C
+ cmp r0, r4
+ bgt _08095B16
+ movs r2, 0xC
+ ldrsh r0, [r5, r2]
+ bl sub_808E770
+ movs r2, 0xC
+ ldrsh r1, [r5, r2]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r1, r0
+ bne _08095B16
+ movs r1, 0xC
+ ldrsh r0, [r5, r1]
+ bl sub_803C0DC
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095B16
+ movs r2, 0xE
+ ldrsh r0, [r5, r2]
+ cmp r0, r4
+ bgt _08095B16
+ movs r1, 0xE
+ ldrsh r0, [r5, r1]
+ bl sub_808E770
+ movs r2, 0xE
+ ldrsh r1, [r5, r2]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r1, r0
+ bne _08095B16
+ movs r1, 0xE
+ ldrsh r0, [r5, r1]
+ bl sub_803C0DC
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095B16
+ ldrb r0, [r5, 0x1]
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _08095A9C
+ movs r2, 0xE
+ ldrsh r1, [r5, r2]
+ movs r2, 0xC
+ ldrsh r0, [r5, r2]
+ cmp r1, r0
+ bne _08095B16
+_08095A9C:
+ ldrb r0, [r5, 0x10]
+ bl sub_8092040
+ lsls r0, 24
+ cmp r0, 0
+ bne _08095B16
+ ldrb r0, [r5, 0x10]
+ bl sub_8090A60
+ lsls r0, 24
+ cmp r0, 0
+ bne _08095B16
+ ldrb r0, [r5, 0x10]
+ bl sub_8091524
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095B16
+ ldrb r0, [r5, 0x1]
+ cmp r0, 0x3
+ bne _08095AD4
+ ldrb r0, [r5, 0x4]
+ ldrb r1, [r5, 0x10]
+ bl sub_8091E60
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095B16
+_08095AD4:
+ ldrb r0, [r5, 0x11]
+ cmp r0, 0x4
+ beq _08095B16
+ cmp r0, 0xA
+ beq _08095B16
+ cmp r0, 0xA
+ bhi _08095B16
+ ldrb r0, [r5, 0x12]
+ bl sub_8092040
+ lsls r0, 24
+ cmp r0, 0
+ bne _08095B16
+ ldrb r0, [r5, 0x13]
+ cmp r0, 0x39
+ bhi _08095B16
+ ldrb r0, [r5, 0x11]
+ cmp r0, 0x9
+ bne _08095B20
+ ldrb r0, [r5, 0x13]
+ bl sub_8092534
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bne _08095B16
+ ldrb r1, [r5, 0x1]
+ adds r0, r6, 0
+ bl sub_803C1D0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08095B20
+_08095B16:
+ movs r0, 0
+ b _08095B22
+ .align 2, 0
+_08095B1C: .4byte 0x000001a7
+_08095B20:
+ movs r0, 0x1
+_08095B22:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80959DC
+
+ thumb_func_start sub_8095B28
+sub_8095B28:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ ldr r4, _08095B44
+ add sp, r4
+ adds r4, r0, 0
+ bl sub_8095CE0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08095B48
+ movs r0, 0
+ b _08095CCC
+ .align 2, 0
+_08095B44: .4byte 0xfffffcb0
+_08095B48:
+ movs r0, 0x5
+ strb r0, [r4]
+ movs r0, 0x8
+ bl RandomCapped
+ ldr r1, _08095BC8
+ adds r0, r1
+ ldrb r0, [r0]
+ strb r0, [r4, 0x1]
+ cmp r0, 0x2
+ bne _08095B6C
+ bl sub_8092178
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _08095B6C
+ strb r0, [r4, 0x1]
+_08095B6C:
+ movs r0, 0
+ strb r0, [r4, 0x2]
+ bl Random
+ ldr r1, _08095BCC
+ ands r1, r0
+ str r1, [r4, 0x8]
+ movs r7, 0
+ movs r5, 0x1
+ adds r0, r4, 0x4
+ mov r8, r0
+ movs r1, 0x12
+ adds r1, r4
+ mov r9, r1
+ mov r6, sp
+_08095B8A:
+ lsls r0, r5, 16
+ asrs r0, 16
+ bl sub_803C110
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095B9E
+ strh r5, [r6]
+ adds r6, 0x2
+ adds r7, 0x1
+_08095B9E:
+ adds r5, 0x1
+ ldr r0, _08095BD0
+ cmp r5, r0
+ ble _08095B8A
+ cmp r7, 0
+ beq _08095BD4
+ adds r0, r7, 0
+ bl RandomCapped
+ lsls r0, 1
+ add r0, sp
+ ldrh r0, [r0]
+ strh r0, [r4, 0xC]
+ adds r0, r7, 0
+ bl RandomCapped
+ lsls r0, 1
+ add r0, sp
+ ldrh r0, [r0]
+ b _08095BDC
+ .align 2, 0
+_08095BC8: .4byte gUnknown_8109984
+_08095BCC: .4byte 0x00ffffff
+_08095BD0: .4byte 0x000001a7
+_08095BD4:
+ movs r0, 0x10
+ strh r0, [r4, 0xC]
+ movs r0, 0x91
+ lsls r0, 1
+_08095BDC:
+ strh r0, [r4, 0xE]
+ ldrb r0, [r4, 0x1]
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _08095BEE
+ ldrh r0, [r4, 0xC]
+ strh r0, [r4, 0xE]
+_08095BEE:
+ ldrb r0, [r4, 0x4]
+ bl sub_8095F28
+ strb r0, [r4, 0x10]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _08095C10
+ strb r0, [r4, 0x1]
+ ldrh r0, [r4, 0xC]
+ strh r0, [r4, 0xE]
+ adds r2, r4, 0
+ adds r2, 0x10
+ mov r0, r8
+ movs r1, 0
+ bl sub_803C37C
+_08095C10:
+ ldrb r0, [r4, 0x4]
+ bl GetMaxItemCount
+ adds r1, r0, 0
+ cmp r1, 0
+ bne _08095C28
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x4
+ bne _08095C28
+ strb r1, [r4, 0x1]
+ ldrh r0, [r4, 0xC]
+ strh r0, [r4, 0xE]
+_08095C28:
+ ldrb r1, [r4, 0x1]
+ mov r0, r8
+ mov r2, r9
+ bl sub_803C37C
+ ldrb r0, [r4, 0x10]
+ ldrb r1, [r4, 0x12]
+ cmp r0, r1
+ beq _08095C28
+ movs r0, 0
+ strb r0, [r4, 0x13]
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x2
+ beq _08095C90
+ cmp r0, 0x2
+ bgt _08095C4E
+ cmp r0, 0x1
+ beq _08095C6C
+ b _08095CCA
+_08095C4E:
+ cmp r0, 0x4
+ bgt _08095CCA
+ bl Random
+ adds r1, r0, 0
+ movs r0, 0xE0
+ lsls r0, 3
+ ands r1, r0
+ movs r0, 0xC0
+ lsls r0, 2
+ cmp r1, r0
+ beq _08095CC4
+ cmp r1, r0
+ bgt _08095CB4
+ b _08095CAA
+_08095C6C:
+ bl Random
+ adds r1, r0, 0
+ movs r0, 0x70
+ ands r1, r0
+ cmp r1, 0x10
+ beq _08095C80
+ cmp r1, 0x30
+ beq _08095C88
+ b _08095CCA
+_08095C80:
+ adds r0, r4, 0
+ bl sub_803C3E0
+ b _08095CCA
+_08095C88:
+ adds r0, r4, 0
+ bl sub_803C45C
+ b _08095CCA
+_08095C90:
+ bl Random
+ movs r1, 0xC0
+ lsls r1, 6
+ ands r1, r0
+ movs r0, 0x80
+ lsls r0, 5
+ cmp r1, r0
+ bne _08095CCA
+ adds r0, r4, 0
+ bl sub_803C4F0
+ b _08095CCA
+_08095CAA:
+ movs r0, 0x80
+ lsls r0, 1
+ cmp r1, r0
+ beq _08095CBC
+ b _08095CCA
+_08095CB4:
+ movs r0, 0xC0
+ lsls r0, 3
+ cmp r1, r0
+ bne _08095CCA
+_08095CBC:
+ adds r0, r4, 0
+ bl sub_803C580
+ b _08095CCA
+_08095CC4:
+ adds r0, r4, 0
+ bl sub_803C610
+_08095CCA:
+ movs r0, 0x1
+_08095CCC:
+ movs r3, 0xD4
+ lsls r3, 2
+ add sp, r3
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095B28
+
+ thumb_func_start sub_8095CE0
+sub_8095CE0:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x60
+ str r0, [sp, 0x44]
+ mov r0, sp
+ bl sub_80A29B0
+ str r0, [sp, 0x4C]
+ cmp r0, 0
+ bne _08095D0C
+ mov r0, sp
+ add r1, sp, 0x4C
+ ldrb r1, [r1]
+ strb r1, [r0]
+ mov r1, sp
+ movs r0, 0x1
+ strb r0, [r1, 0x1]
+ movs r2, 0x2
+ str r2, [sp, 0x4C]
+_08095D0C:
+ ldr r0, [sp, 0x4C]
+ bl RandomCapped
+ mov r9, r0
+ str r0, [sp, 0x48]
+ mov r1, sp
+ adds r1, 0x40
+ str r1, [sp, 0x5C]
+_08095D1C:
+ mov r0, sp
+ add r0, r9
+ ldrb r7, [r0]
+ adds r0, r7, 0
+ bl sub_8090298
+ str r0, [sp, 0x58]
+ lsrs r0, 31
+ ldr r2, [sp, 0x58]
+ adds r0, r2, r0
+ asrs r0, 1
+ str r0, [sp, 0x54]
+ adds r1, r2, 0
+ bl RandomRange
+ adds r4, r0, 0
+ str r4, [sp, 0x50]
+_08095D3E:
+ movs r0, 0x1
+ mov r8, r0
+ ldr r1, _08095DF4
+ ldr r0, [sp, 0x40]
+ ands r0, r1
+ orrs r0, r7
+ lsls r2, r4, 24
+ lsrs r2, 16
+ ldr r1, _08095DF8
+ ands r0, r1
+ orrs r0, r2
+ str r0, [sp, 0x40]
+ ldr r0, [sp, 0x5C]
+ bl sub_809017C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095D66
+ movs r1, 0
+ mov r8, r1
+_08095D66:
+ ldr r2, _08095DFC
+ mov r10, r2
+ movs r6, 0
+ movs r5, 0x3
+_08095D6E:
+ mov r1, r10
+ ldr r0, [r1]
+ adds r0, r6
+ adds r1, r7, 0
+ adds r2, r4, 0
+ movs r3, 0x1
+ bl sub_8095E38
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095D88
+ movs r2, 0
+ mov r8, r2
+_08095D88:
+ adds r6, 0x14
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08095D6E
+ ldr r0, _08095DFC
+ mov r10, r0
+ movs r6, 0x50
+ movs r5, 0x7
+_08095D98:
+ mov r1, r10
+ ldr r0, [r1]
+ adds r0, r6
+ adds r1, r7, 0
+ adds r2, r4, 0
+ movs r3, 0x1
+ bl sub_8095E38
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095DB2
+ movs r2, 0
+ mov r8, r2
+_08095DB2:
+ adds r6, 0x14
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08095D98
+ ldr r0, _08095DFC
+ mov r10, r0
+ movs r6, 0xF0
+ movs r5, 0x7
+_08095DC2:
+ mov r1, r10
+ ldr r0, [r1]
+ adds r0, r6
+ adds r1, r7, 0
+ adds r2, r4, 0
+ movs r3, 0x1
+ bl sub_8095E38
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095DDC
+ movs r2, 0
+ mov r8, r2
+_08095DDC:
+ adds r6, 0x14
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08095DC2
+ mov r0, r8
+ cmp r0, 0
+ beq _08095E00
+ ldr r1, [sp, 0x44]
+ strb r7, [r1, 0x4]
+ strb r4, [r1, 0x5]
+ movs r0, 0x1
+ b _08095E28
+ .align 2, 0
+_08095DF4: .4byte 0xffffff00
+_08095DF8: .4byte 0xffff00ff
+_08095DFC: .4byte gUnknown_203B490
+_08095E00:
+ adds r4, 0x1
+ ldr r2, [sp, 0x58]
+ cmp r4, r2
+ blt _08095E0A
+ ldr r4, [sp, 0x54]
+_08095E0A:
+ ldr r0, [sp, 0x50]
+ cmp r4, r0
+ bne _08095D3E
+ movs r1, 0x1
+ add r9, r1
+ ldr r2, [sp, 0x4C]
+ cmp r9, r2
+ bne _08095E1E
+ movs r0, 0
+ mov r9, r0
+_08095E1E:
+ ldr r1, [sp, 0x48]
+ cmp r9, r1
+ beq _08095E26
+ b _08095D1C
+_08095E26:
+ movs r0, 0
+_08095E28:
+ add sp, 0x60
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095CE0
+
+ thumb_func_start sub_8095E38
+sub_8095E38:
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r3, 24
+ lsrs r3, 24
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _08095E6E
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x2
+ bne _08095E5E
+ cmp r3, 0x1
+ bne _08095E5E
+ ldrb r0, [r4, 0x4]
+ cmp r0, r1
+ bne _08095E6E
+ movs r0, 0x1
+ b _08095E70
+_08095E5E:
+ ldrb r0, [r4, 0x4]
+ cmp r0, r1
+ bne _08095E6E
+ ldrb r0, [r4, 0x5]
+ cmp r0, r2
+ bne _08095E6E
+ movs r0, 0x1
+ b _08095E70
+_08095E6E:
+ movs r0, 0
+_08095E70:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095E38
+
+ thumb_func_start sub_8095E78
+sub_8095E78:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x3C
+ movs r6, 0
+ movs r5, 0x1
+_08095E84:
+ ldr r0, _08095F04
+ ldr r0, [r0]
+ adds r0, r5
+ ldrb r0, [r0]
+ adds r1, r5, 0x1
+ mov r8, r1
+ cmp r0, 0
+ bne _08095EF6
+ lsls r0, r5, 24
+ lsrs r0, 24
+ bl sub_8092534
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bne _08095EF6
+ movs r4, 0
+ ldr r0, _08095F08
+ ldr r1, [r0]
+ movs r3, 0x3
+_08095EAC:
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08095EBA
+ ldrb r0, [r1, 0x11]
+ cmp r0, 0x9
+ bne _08095EBA
+ movs r4, 0x1
+_08095EBA:
+ adds r1, 0x14
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08095EAC
+ ldr r0, _08095F08
+ ldr r0, [r0]
+ adds r2, r0, 0
+ adds r2, 0xF0
+ adds r1, r0, 0
+ movs r3, 0x7
+_08095ECE:
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _08095EE0
+ ldr r7, _08095F0C
+ adds r0, r1, r7
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bne _08095EE0
+ movs r4, 0x1
+_08095EE0:
+ adds r2, 0x14
+ adds r1, 0x14
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08095ECE
+ cmp r4, 0
+ bne _08095EF6
+ mov r1, sp
+ adds r0, r1, r6
+ strb r5, [r0]
+ adds r6, 0x1
+_08095EF6:
+ mov r5, r8
+ cmp r5, 0x39
+ ble _08095E84
+ cmp r6, 0
+ bne _08095F10
+ movs r0, 0
+ b _08095F1A
+ .align 2, 0
+_08095F04: .4byte gUnknown_203B468
+_08095F08: .4byte gUnknown_203B490
+_08095F0C: .4byte 0x00000101
+_08095F10:
+ adds r0, r6, 0
+ bl RandomCapped
+ add r0, sp
+ ldrb r0, [r0]
+_08095F1A:
+ add sp, 0x3C
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095E78
+
+ thumb_func_start sub_8095F28
+sub_8095F28:
+ push {r4-r7,lr}
+ sub sp, 0xF0
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r6, 0
+ movs r5, 0x1
+_08095F34:
+ lsls r4, r5, 24
+ cmp r7, 0x63
+ beq _08095F48
+ lsrs r1, r4, 24
+ adds r0, r7, 0
+ bl sub_8091E60
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095F6A
+_08095F48:
+ lsrs r4, 24
+ adds r0, r4, 0
+ bl sub_8090A60
+ lsls r0, 24
+ cmp r0, 0
+ bne _08095F6A
+ adds r0, r4, 0
+ bl sub_8091524
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095F6A
+ mov r1, sp
+ adds r0, r1, r6
+ strb r5, [r0]
+ adds r6, 0x1
+_08095F6A:
+ adds r5, 0x1
+ cmp r5, 0xEF
+ ble _08095F34
+ cmp r6, 0
+ beq _08095F80
+ adds r0, r6, 0
+ bl RandomCapped
+ add r0, sp
+ ldrb r0, [r0]
+ b _08095F82
+_08095F80:
+ movs r0, 0
+_08095F82:
+ add sp, 0xF0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095F28
+
+ thumb_func_start sub_8095F8C
+sub_8095F8C:
+ push {r4,r5,lr}
+ movs r5, 0
+ movs r4, 0
+_08095F92:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096000
+ lsls r0, 24
+ cmp r0, 0
+ bne _08095FA2
+ adds r5, 0x1
+_08095FA2:
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _08095F92
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095F8C
+
+ thumb_func_start sub_8095FB0
+sub_8095FB0:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r3, 0
+ ldr r5, _08095FD4
+ movs r2, 0
+_08095FBA:
+ ldr r0, [r5]
+ adds r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _08095FD8
+ adds r0, r4, 0
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2,r3}
+ stm r1!, {r2,r3}
+ movs r0, 0
+ b _08095FE2
+ .align 2, 0
+_08095FD4: .4byte gUnknown_203B490
+_08095FD8:
+ adds r2, 0x14
+ adds r3, 0x1
+ cmp r3, 0x3
+ ble _08095FBA
+ movs r0, 0x1
+_08095FE2:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095FB0
+
+ thumb_func_start sub_8095FE8
+sub_8095FE8:
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08095FFC
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 2
+ ldr r0, [r2]
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_08095FFC: .4byte gUnknown_203B490
+ thumb_func_end sub_8095FE8
+
+ thumb_func_start sub_8096000
+sub_8096000:
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _0809601C
+ ldr r2, [r1]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 2
+ adds r2, r1
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _08096020
+ movs r0, 0
+ b _08096022
+ .align 2, 0
+_0809601C: .4byte gUnknown_203B490
+_08096020:
+ movs r0, 0x1
+_08096022:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096000
+
+ thumb_func_start sub_8096028
+sub_8096028:
+ push {r4,lr}
+ movs r4, 0
+_0809602C:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096040
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _0809602C
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8096028
+
+ thumb_func_start sub_8096040
+sub_8096040:
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, _08096074
+ ldr r1, [r3]
+ lsls r2, r0, 2
+ adds r2, r0
+ lsls r2, 2
+ adds r1, r2
+ movs r4, 0
+ strb r4, [r1]
+ ldr r0, [r3]
+ adds r0, r2
+ movs r1, 0x63
+ strb r1, [r0, 0x4]
+ ldr r0, [r3]
+ adds r0, r2
+ strb r4, [r0, 0x5]
+ ldr r0, [r3]
+ adds r0, r2
+ movs r1, 0x5
+ strb r1, [r0, 0x11]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096074: .4byte gUnknown_203B490
+ thumb_func_end sub_8096040
+
+ thumb_func_start sub_8096078
+sub_8096078:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ movs r2, 0
+ movs r3, 0
+ ldr r0, _08096090
+ mov r12, r0
+ mov r8, r3
+ movs r4, 0
+ mov r9, r4
+ b _080960B6
+ .align 2, 0
+_08096090: .4byte gUnknown_203B490
+_08096094:
+ cmp r2, r3
+ ble _080960AA
+ mov r1, r12
+ ldr r0, [r1]
+ mov r5, r8
+ adds r1, r0, r5
+ adds r0, r4
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r6,r7}
+ stm r1!, {r6,r7}
+_080960AA:
+ adds r4, 0x14
+ movs r0, 0x14
+ add r9, r0
+ adds r2, 0x1
+ add r8, r0
+ adds r3, 0x1
+_080960B6:
+ cmp r2, 0x3
+ bgt _080960E2
+ mov r1, r12
+ ldr r0, [r1]
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080960E2
+ ldr r6, _08096110
+ mov r1, r9
+_080960CA:
+ adds r1, 0x14
+ adds r4, 0x14
+ movs r5, 0x14
+ add r9, r5
+ adds r2, 0x1
+ cmp r2, 0x3
+ bgt _080960E2
+ ldr r0, [r6]
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080960CA
+_080960E2:
+ cmp r2, 0x4
+ bne _08096094
+ cmp r3, 0x3
+ bgt _08096102
+ ldr r4, _08096110
+ movs r2, 0
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r1, r0, 2
+_080960F4:
+ ldr r0, [r4]
+ adds r0, r1
+ strb r2, [r0]
+ adds r1, 0x14
+ adds r3, 0x1
+ cmp r3, 0x3
+ ble _080960F4
+_08096102:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096110: .4byte gUnknown_203B490
+ thumb_func_end sub_8096078
+
+ thumb_func_start sub_8096114
+sub_8096114:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ movs r1, 0
+_08096122:
+ adds r0, r1, 0x1
+ mov r10, r0
+ mov r8, r10
+ cmp r0, 0x3
+ bgt _08096198
+ ldr r2, _080961B0
+ mov r9, r2
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 2
+ mov r12, r0
+ mov r3, r10
+ lsls r0, r3, 2
+ add r0, r10
+ lsls r4, r0, 2
+_08096140:
+ mov r5, r9
+ ldr r1, [r5]
+ adds r3, r1, r4
+ ldrb r0, [r3]
+ cmp r0, 0
+ beq _0809618C
+ mov r6, r12
+ adds r2, r1, r6
+ ldrb r1, [r2, 0x4]
+ ldrb r0, [r3, 0x4]
+ cmp r1, r0
+ bhi _08096164
+ cmp r1, r0
+ bne _0809618C
+ ldrb r0, [r2, 0x5]
+ ldrb r7, [r3, 0x5]
+ cmp r0, r7
+ bls _0809618C
+_08096164:
+ mov r1, sp
+ adds r0, r2, 0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5,r6}
+ stm r1!, {r5,r6}
+ adds r1, r2, 0
+ adds r0, r3, 0
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r5,r6}
+ stm r1!, {r5,r6}
+ mov r7, r9
+ ldr r1, [r7]
+ adds r1, r4
+ mov r0, sp
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r6,r7}
+ stm r1!, {r6,r7}
+_0809618C:
+ adds r4, 0x14
+ movs r0, 0x1
+ add r8, r0
+ mov r1, r8
+ cmp r1, 0x3
+ ble _08096140
+_08096198:
+ mov r1, r10
+ cmp r1, 0x2
+ ble _08096122
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080961B0: .4byte gUnknown_203B490
+ thumb_func_end sub_8096114
+
+ thumb_func_start sub_80961B4
+sub_80961B4:
+ push {lr}
+ bl sub_8096E2C
+ lsls r0, 24
+ cmp r0, 0
+ beq _080961CE
+ ldr r0, _080961D4
+ ldr r0, [r0]
+ movs r1, 0xCA
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0x1
+ strb r1, [r0]
+_080961CE:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080961D4: .4byte gUnknown_203B490
+ thumb_func_end sub_80961B4
+
+ thumb_func_start sub_80961D8
+sub_80961D8:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r7, 0
+ bl sub_8095F8C
+ adds r6, r0, 0
+ movs r1, 0x4
+ bl RandomRange
+ mov r8, r0
+ cmp r6, 0x3
+ bgt _08096202
+ ldr r4, _08096208
+ ldr r0, [r4]
+ movs r2, 0xCA
+ lsls r2, 2
+ adds r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _0809620C
+_08096202:
+ movs r0, 0
+ b _080963A8
+ .align 2, 0
+_08096208: .4byte gUnknown_203B490
+_0809620C:
+ strb r7, [r1]
+ movs r5, 0x38
+ movs r0, 0xA
+ movs r1, 0x31
+ movs r2, 0x1
+ bl sub_8001D08
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809623A
+ ldr r0, [r4]
+ ldr r1, _08096328
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0809623A
+ movs r0, 0x35
+ bl sub_8096E80
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809623A
+ movs r5, 0x35
+_0809623A:
+ movs r0, 0xF
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809629C
+ ldr r0, _0809632C
+ ldr r0, [r0]
+ movs r2, 0xC9
+ lsls r2, 2
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08096264
+ movs r0, 0x34
+ bl sub_8096E80
+ lsls r0, 24
+ cmp r0, 0
+ bne _08096264
+ movs r5, 0x34
+_08096264:
+ ldr r0, _0809632C
+ ldr r0, [r0]
+ ldr r1, _08096330
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08096280
+ movs r0, 0x33
+ bl sub_8096E80
+ lsls r0, 24
+ cmp r0, 0
+ bne _08096280
+ movs r5, 0x33
+_08096280:
+ ldr r0, _0809632C
+ ldr r0, [r0]
+ ldr r2, _08096334
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0809629C
+ movs r0, 0x32
+ bl sub_8096E80
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809629C
+ movs r5, 0x32
+_0809629C:
+ bl sub_8092178
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x6
+ bne _080962C4
+ ldr r0, _0809632C
+ ldr r0, [r0]
+ ldr r1, _08096338
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080962C4
+ movs r0, 0x36
+ bl sub_8096E80
+ lsls r0, 24
+ cmp r0, 0
+ bne _080962C4
+ movs r5, 0x36
+_080962C4:
+ movs r0, 0x6
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _080962EC
+ ldr r0, _0809632C
+ ldr r0, [r0]
+ ldr r2, _0809633C
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080962EC
+ movs r0, 0x37
+ bl sub_8096E80
+ lsls r0, 24
+ cmp r0, 0
+ bne _080962EC
+ movs r5, 0x37
+_080962EC:
+ cmp r5, 0x38
+ bne _08096310
+ cmp r6, r8
+ bgt _08096392
+ bl sub_8096E2C
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r0, 0xE
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809630C
+ cmp r5, 0x2
+ bhi _0809638E
+_0809630C:
+ cmp r5, 0x31
+ bhi _0809638E
+_08096310:
+ lsls r0, r6, 24
+ lsrs r0, 24
+ bl sub_8095FE8
+ adds r4, r0, 0
+ movs r0, 0x1
+ strb r0, [r4]
+ movs r0, 0x62
+ strb r0, [r4, 0x4]
+ strb r5, [r4, 0x5]
+ b _0809638A
+ .align 2, 0
+_08096328: .4byte 0x00000325
+_0809632C: .4byte gUnknown_203B490
+_08096330: .4byte 0x00000323
+_08096334: .4byte 0x00000322
+_08096338: .4byte 0x00000326
+_0809633C: .4byte 0x00000327
+_08096340:
+ lsls r0, r6, 24
+ lsrs r0, 24
+ bl sub_8095FE8
+ adds r4, r0, 0
+ bl sub_8095B28
+ lsls r0, 24
+ cmp r0, 0
+ beq _08096392
+ bl sub_8095E78
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r4, 0x4
+ ldrb r1, [r4, 0x1]
+ bl sub_803C1D0
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809636C
+ movs r5, 0
+_0809636C:
+ movs r0, 0x5
+ movs r1, 0xA
+ bl RandomRange
+ strb r0, [r4, 0x11]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x9
+ bne _0809638A
+ cmp r5, 0
+ bne _08096388
+ movs r0, 0x5
+ strb r0, [r4, 0x11]
+ b _0809638A
+_08096388:
+ strb r5, [r4, 0x13]
+_0809638A:
+ movs r7, 0x1
+ adds r6, 0x1
+_0809638E:
+ cmp r6, r8
+ ble _08096340
+_08096392:
+ bl sub_80963B4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809639E
+ movs r7, 0x1
+_0809639E:
+ bl sub_8096078
+ bl sub_8096114
+ adds r0, r7, 0
+_080963A8:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80961D8
+
+ thumb_func_start sub_80963B4
+sub_80963B4:
+ push {r4-r6,lr}
+ movs r6, 0
+ bl sub_8096E2C
+ lsls r0, 24
+ lsrs r5, r0, 24
+ bl sub_8095F8C
+ adds r4, r0, 0
+ cmp r4, 0x3
+ ble _080963CE
+ movs r0, 0
+ b _080963F4
+_080963CE:
+ movs r0, 0xE
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _080963F2
+ cmp r5, 0x31
+ bhi _080963F2
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8095FE8
+ movs r1, 0x1
+ strb r1, [r0]
+ movs r1, 0x62
+ strb r1, [r0, 0x4]
+ strb r5, [r0, 0x5]
+ movs r6, 0x1
+_080963F2:
+ adds r0, r6, 0
+_080963F4:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80963B4
+
+ thumb_func_start sub_80963FC
+sub_80963FC:
+ push {r4-r6,lr}
+ movs r6, 0
+_08096400:
+ lsls r0, r6, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl sub_8095FE8
+ adds r5, r0, 0
+ ldrb r0, [r5]
+ cmp r0, 0x1
+ beq _08096418
+ adds r0, r4, 0
+ bl sub_8096040
+_08096418:
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08096400
+ bl sub_8096078
+ bl sub_8095F8C
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8095FE8
+ adds r5, r0, 0
+ movs r0, 0
+ movs r4, 0x5
+ strb r4, [r5]
+ strb r0, [r5, 0x1]
+ strb r0, [r5, 0x2]
+ movs r0, 0x2
+ strb r0, [r5, 0x4]
+ movs r0, 0x3
+ strb r0, [r5, 0x5]
+ bl Random
+ ldr r1, _08096484
+ ands r1, r0
+ str r1, [r5, 0x8]
+ movs r0, 0x10
+ strh r0, [r5, 0xC]
+ strh r0, [r5, 0xE]
+ ldrb r0, [r5, 0x4]
+ bl sub_8095F28
+ strb r0, [r5, 0x10]
+ strb r4, [r5, 0x11]
+_0809645C:
+ ldrb r1, [r5, 0x1]
+ adds r0, r5, 0x4
+ adds r2, r5, 0
+ adds r2, 0x12
+ bl sub_803C37C
+ ldrb r0, [r5, 0x10]
+ ldrb r1, [r5, 0x12]
+ cmp r0, r1
+ beq _0809645C
+ movs r0, 0
+ strb r0, [r5, 0x13]
+ bl sub_8096078
+ bl sub_8096114
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096484: .4byte 0x00ffffff
+ thumb_func_end sub_80963FC
+
+ thumb_func_start sub_8096488
+sub_8096488:
+ push {r4,lr}
+ movs r4, 0
+_0809648C:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096040
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _0809648C
+ movs r0, 0
+ bl sub_8095FE8
+ movs r2, 0
+ movs r1, 0x1
+ strb r1, [r0]
+ movs r1, 0x62
+ strb r1, [r0, 0x4]
+ strb r2, [r0, 0x5]
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8096488
+
+ thumb_func_start sub_80964B4
+sub_80964B4:
+ push {lr}
+ ldr r0, _080964D4
+ ldr r0, [r0]
+ ldr r1, _080964D8
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080964DC
+ movs r0, 0x35
+ bl sub_8096E80
+ lsls r0, 24
+ cmp r0, 0
+ bne _080964DC
+ movs r0, 0
+ b _080964DE
+ .align 2, 0
+_080964D4: .4byte gUnknown_203B490
+_080964D8: .4byte 0x00000325
+_080964DC:
+ movs r0, 0x1
+_080964DE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80964B4
+
+ thumb_func_start sub_80964E4
+sub_80964E4:
+ push {lr}
+ ldr r0, _08096504
+ ldr r0, [r0]
+ ldr r1, _08096508
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0809650C
+ movs r0, 0x36
+ bl sub_8096E80
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809650C
+ movs r0, 0
+ b _0809650E
+ .align 2, 0
+_08096504: .4byte gUnknown_203B490
+_08096508: .4byte 0x00000326
+_0809650C:
+ movs r0, 0x1
+_0809650E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80964E4
+
+ thumb_func_start sub_8096514
+sub_8096514:
+ push {r4,r5,lr}
+ movs r5, 0
+ movs r4, 0
+_0809651A:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_809658C
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809652A
+ adds r5, 0x1
+_0809652A:
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _0809651A
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096514
+
+ thumb_func_start sub_8096538
+sub_8096538:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r3, 0
+ ldr r5, _08096560
+ movs r2, 0
+_08096542:
+ ldr r0, [r5]
+ adds r0, r2
+ adds r1, r0, 0
+ adds r1, 0x50
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _08096564
+ adds r0, r4, 0
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2,r3}
+ stm r1!, {r2,r3}
+ movs r0, 0
+ b _0809656E
+ .align 2, 0
+_08096560: .4byte gUnknown_203B490
+_08096564:
+ adds r2, 0x14
+ adds r3, 0x1
+ cmp r3, 0x7
+ ble _08096542
+ movs r0, 0x1
+_0809656E:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096538
+
+ thumb_func_start sub_8096574
+sub_8096574:
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08096588
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 2
+ adds r1, 0x50
+ ldr r0, [r2]
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_08096588: .4byte gUnknown_203B490
+ thumb_func_end sub_8096574
+
+ thumb_func_start sub_809658C
+sub_809658C:
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080965AC
+ ldr r2, [r1]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 2
+ adds r2, r1
+ adds r2, 0x50
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _080965B0
+ movs r0, 0
+ b _080965B2
+ .align 2, 0
+_080965AC: .4byte gUnknown_203B490
+_080965B0:
+ movs r0, 0x1
+_080965B2:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809658C
+
+ thumb_func_start sub_80965B8
+sub_80965B8:
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r4, _080965F0
+ ldr r1, [r4]
+ lsls r2, r0, 2
+ adds r2, r0
+ lsls r2, 2
+ adds r1, r2
+ adds r1, 0x50
+ movs r3, 0
+ strb r3, [r1]
+ ldr r0, [r4]
+ adds r0, r2
+ adds r0, 0x54
+ movs r1, 0x63
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, r2
+ adds r0, 0x55
+ strb r3, [r0]
+ ldr r0, [r4]
+ adds r0, r2
+ adds r0, 0x61
+ strb r3, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080965F0: .4byte gUnknown_203B490
+ thumb_func_end sub_80965B8
+
+ thumb_func_start sub_80965F4
+sub_80965F4:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ movs r2, 0
+ movs r3, 0
+ ldr r0, _0809660C
+ mov r12, r0
+ mov r8, r3
+ movs r4, 0
+ mov r9, r4
+ b _08096636
+ .align 2, 0
+_0809660C: .4byte gUnknown_203B490
+_08096610:
+ cmp r2, r3
+ ble _0809662A
+ mov r1, r12
+ ldr r0, [r1]
+ mov r5, r8
+ adds r1, r0, r5
+ adds r0, r4
+ adds r1, 0x50
+ adds r0, 0x50
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r6,r7}
+ stm r1!, {r6,r7}
+_0809662A:
+ adds r4, 0x14
+ movs r0, 0x14
+ add r9, r0
+ adds r2, 0x1
+ add r8, r0
+ adds r3, 0x1
+_08096636:
+ cmp r2, 0x7
+ bgt _08096666
+ mov r1, r12
+ ldr r0, [r1]
+ adds r0, r4
+ adds r0, 0x50
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08096666
+ ldr r6, _08096694
+ mov r1, r9
+_0809664C:
+ adds r1, 0x14
+ adds r4, 0x14
+ movs r5, 0x14
+ add r9, r5
+ adds r2, 0x1
+ cmp r2, 0x7
+ bgt _08096666
+ ldr r0, [r6]
+ adds r0, r1
+ adds r0, 0x50
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0809664C
+_08096666:
+ cmp r2, 0x8
+ bne _08096610
+ cmp r3, 0x7
+ bgt _08096688
+ ldr r4, _08096694
+ movs r2, 0
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r1, r0, 2
+_08096678:
+ ldr r0, [r4]
+ adds r0, r1
+ adds r0, 0x50
+ strb r2, [r0]
+ adds r1, 0x14
+ adds r3, 0x1
+ cmp r3, 0x7
+ ble _08096678
+_08096688:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096694: .4byte gUnknown_203B490
+ thumb_func_end sub_80965F4
+
+ thumb_func_start sub_8096698
+sub_8096698:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ movs r1, 0
+_080966A6:
+ adds r6, r1, 0x1
+ mov r10, r6
+ cmp r6, 0x7
+ bgt _08096730
+ ldr r0, _08096748
+ mov r8, r0
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 2
+ mov r9, r0
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r4, r0, 2
+_080966C0:
+ mov r2, r8
+ ldr r1, [r2]
+ adds r3, r1, r4
+ adds r5, r3, 0
+ adds r5, 0x50
+ ldrb r0, [r5]
+ cmp r0, 0
+ beq _08096724
+ add r1, r9
+ mov r12, r1
+ mov r0, r12
+ adds r0, 0x54
+ adds r1, r3, 0
+ adds r1, 0x54
+ ldrb r2, [r0]
+ ldrb r0, [r1]
+ cmp r2, r0
+ bhi _080966F6
+ cmp r2, r0
+ bne _08096724
+ mov r0, r12
+ adds r0, 0x55
+ adds r1, 0x1
+ ldrb r0, [r0]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bls _08096724
+_080966F6:
+ mov r1, sp
+ mov r0, r12
+ adds r0, 0x50
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r3,r7}
+ stm r1!, {r3,r7}
+ mov r1, r12
+ adds r1, 0x50
+ adds r0, r5, 0
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r7}
+ stm r1!, {r2,r7}
+ mov r3, r8
+ ldr r1, [r3]
+ adds r1, r4
+ adds r1, 0x50
+ mov r0, sp
+ ldm r0!, {r2,r5,r7}
+ stm r1!, {r2,r5,r7}
+ ldm r0!, {r3,r5}
+ stm r1!, {r3,r5}
+_08096724:
+ adds r4, 0x14
+ movs r7, 0x1
+ add r10, r7
+ mov r0, r10
+ cmp r0, 0x7
+ ble _080966C0
+_08096730:
+ adds r1, r6, 0
+ cmp r1, 0x6
+ ble _080966A6
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096748: .4byte gUnknown_203B490
+ thumb_func_end sub_8096698
+
+ thumb_func_start sub_809674C
+sub_809674C:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r0, 0x4
+ movs r1, 0x8
+ bl RandomRange
+ mov r8, r0
+ ldr r3, _08096864
+ movs r2, 0
+ movs r1, 0
+ movs r7, 0x7
+_08096764:
+ ldr r0, [r3]
+ adds r0, r1
+ adds r0, 0x50
+ strb r2, [r0]
+ adds r1, 0x14
+ subs r7, 0x1
+ cmp r7, 0
+ bge _08096764
+ movs r7, 0
+ movs r0, 0xE
+ bl sub_8097318
+ lsls r0, 24
+ cmp r0, 0
+ beq _080967C0
+ movs r0, 0
+ bl sub_8096574
+ adds r5, r0, 0
+ movs r4, 0x2
+ strb r4, [r5]
+ movs r0, 0x6
+ strb r0, [r5, 0x1]
+ movs r0, 0x1
+ strb r0, [r5, 0x2]
+ movs r0, 0x2A
+ strb r0, [r5, 0x4]
+ movs r0, 0xA
+ strb r0, [r5, 0x5]
+ bl Random
+ ldr r1, _08096868
+ ands r1, r0
+ str r1, [r5, 0x8]
+ movs r1, 0
+ movs r0, 0xC2
+ lsls r0, 1
+ strh r0, [r5, 0xC]
+ movs r0, 0x38
+ strh r0, [r5, 0xE]
+ strb r1, [r5, 0x10]
+ strb r4, [r5, 0x11]
+ movs r0, 0x3A
+ strb r0, [r5, 0x12]
+ strb r1, [r5, 0x13]
+ movs r7, 0x1
+_080967C0:
+ movs r0, 0xF
+ bl sub_8097318
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809680A
+ lsls r0, r7, 24
+ lsrs r0, 24
+ bl sub_8096574
+ adds r5, r0, 0
+ movs r0, 0x3
+ strb r0, [r5]
+ movs r0, 0x6
+ strb r0, [r5, 0x1]
+ movs r4, 0x2
+ strb r4, [r5, 0x2]
+ movs r0, 0x35
+ strb r0, [r5, 0x4]
+ movs r0, 0xF
+ strb r0, [r5, 0x5]
+ bl Random
+ ldr r1, _08096868
+ ands r1, r0
+ str r1, [r5, 0x8]
+ movs r1, 0
+ movs r0, 0x82
+ lsls r0, 1
+ strh r0, [r5, 0xC]
+ strh r0, [r5, 0xE]
+ strb r1, [r5, 0x10]
+ strb r4, [r5, 0x11]
+ movs r0, 0x3A
+ strb r0, [r5, 0x12]
+ strb r1, [r5, 0x13]
+ adds r7, 0x1
+_0809680A:
+ movs r0, 0x1C
+ bl sub_8097318
+ lsls r0, 24
+ cmp r0, 0
+ beq _08096854
+ lsls r0, r7, 24
+ lsrs r0, 24
+ bl sub_8096574
+ adds r5, r0, 0
+ movs r0, 0x4
+ strb r0, [r5]
+ movs r0, 0x6
+ strb r0, [r5, 0x1]
+ movs r0, 0x3
+ strb r0, [r5, 0x2]
+ movs r0, 0x1A
+ strb r0, [r5, 0x4]
+ movs r0, 0x14
+ strb r0, [r5, 0x5]
+ bl Random
+ ldr r1, _08096868
+ ands r1, r0
+ str r1, [r5, 0x8]
+ movs r1, 0
+ ldr r0, _0809686C
+ strh r0, [r5, 0xC]
+ strh r0, [r5, 0xE]
+ strb r1, [r5, 0x10]
+ movs r0, 0x2
+ strb r0, [r5, 0x11]
+ movs r0, 0x3A
+ strb r0, [r5, 0x12]
+ strb r1, [r5, 0x13]
+ adds r7, 0x1
+_08096854:
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 2
+ adds r5, r0, 0
+ adds r5, 0x50
+ adds r4, r0, 0
+ b _08096886
+ .align 2, 0
+_08096864: .4byte gUnknown_203B490
+_08096868: .4byte 0x00ffffff
+_0809686C: .4byte 0x0000014d
+_08096870:
+ movs r0, 0
+ movs r1, 0x4
+ bl RandomRange
+ ldr r1, [r6]
+ adds r1, r4
+ adds r1, 0x61
+ strb r0, [r1]
+ adds r5, 0x14
+ adds r4, 0x14
+ adds r7, 0x1
+_08096886:
+ cmp r7, r8
+ bgt _0809689A
+ ldr r6, _080968AC
+ ldr r0, [r6]
+ adds r0, r5
+ bl sub_8095B28
+ lsls r0, 24
+ cmp r0, 0
+ bne _08096870
+_0809689A:
+ bl sub_80965F4
+ bl sub_8096698
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080968AC: .4byte gUnknown_203B490
+ thumb_func_end sub_809674C
+
+ thumb_func_start sub_80968B0
+sub_80968B0:
+ push {r4,r5,lr}
+ adds r3, r0, 0
+ movs r4, 0
+ ldr r0, _08096928
+ ldr r0, [r0]
+ adds r2, r0, 0
+ adds r2, 0xF0
+_080968BE:
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _0809692C
+ ldrb r0, [r3, 0x1]
+ ldrb r1, [r2, 0x1]
+ cmp r0, r1
+ bne _0809692C
+ ldrb r0, [r3, 0x2]
+ ldrb r5, [r2, 0x2]
+ cmp r0, r5
+ bne _0809692C
+ ldrb r0, [r3, 0x4]
+ ldrb r1, [r2, 0x4]
+ cmp r0, r1
+ bne _0809692C
+ ldrb r0, [r3, 0x5]
+ ldrb r5, [r2, 0x5]
+ cmp r0, r5
+ bne _0809692C
+ ldr r1, [r3, 0x8]
+ ldr r0, [r2, 0x8]
+ cmp r1, r0
+ bne _0809692C
+ movs r0, 0xC
+ ldrsh r1, [r3, r0]
+ movs r5, 0xC
+ ldrsh r0, [r2, r5]
+ cmp r1, r0
+ bne _0809692C
+ movs r0, 0xE
+ ldrsh r1, [r3, r0]
+ movs r5, 0xE
+ ldrsh r0, [r2, r5]
+ cmp r1, r0
+ bne _0809692C
+ ldrb r0, [r3, 0x10]
+ ldrb r1, [r2, 0x10]
+ cmp r0, r1
+ bne _0809692C
+ ldrb r0, [r3, 0x11]
+ ldrb r5, [r2, 0x11]
+ cmp r0, r5
+ bne _0809692C
+ ldrb r0, [r3, 0x12]
+ ldrb r1, [r2, 0x12]
+ cmp r0, r1
+ bne _0809692C
+ ldrb r0, [r3, 0x13]
+ ldrb r5, [r2, 0x13]
+ cmp r0, r5
+ bne _0809692C
+ movs r0, 0x1
+ b _08096936
+ .align 2, 0
+_08096928: .4byte gUnknown_203B490
+_0809692C:
+ adds r2, 0x14
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _080968BE
+ movs r0, 0
+_08096936:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80968B0
+
+ thumb_func_start sub_809693C
+sub_809693C:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r4, r0, 0
+ ldrb r0, [r4, 0x4]
+ mov r9, r0
+ ldrb r0, [r4, 0x5]
+ mov r8, r0
+ movs r7, 0
+ adds r0, r4, 0
+ bl sub_80959C0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08096962
+ b _0809699A
+_0809695E:
+ movs r0, 0x1
+ b _0809699C
+_08096962:
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x2
+ bne _0809696A
+ movs r7, 0x1
+_0809696A:
+ movs r6, 0
+ movs r5, 0xF0
+ movs r4, 0
+_08096970:
+ ldr r0, _080969A8
+ ldr r1, [r0]
+ adds r0, r1, r4
+ adds r0, 0xF0
+ ldrb r0, [r0]
+ cmp r0, 0x6
+ bne _08096990
+ adds r0, r1, r5
+ mov r1, r9
+ mov r2, r8
+ adds r3, r7, 0
+ bl sub_8095E38
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809695E
+_08096990:
+ adds r5, 0x14
+ adds r4, 0x14
+ adds r6, 0x1
+ cmp r6, 0x7
+ ble _08096970
+_0809699A:
+ movs r0, 0
+_0809699C:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080969A8: .4byte gUnknown_203B490
+ thumb_func_end sub_809693C
+
+ thumb_func_start sub_80969AC
+sub_80969AC:
+ push {r4,r5,lr}
+ movs r5, 0
+ movs r4, 0
+_080969B2:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096ACC
+ lsls r0, 24
+ cmp r0, 0
+ bne _080969C2
+ adds r5, 0x1
+_080969C2:
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _080969B2
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80969AC
+
+ thumb_func_start sub_80969D0
+sub_80969D0:
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r5, 0
+ movs r4, 0
+_080969DA:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096AB4
+ adds r1, r0, 0
+ ldrb r0, [r1, 0x4]
+ cmp r0, r6
+ bne _080969FA
+ ldrb r0, [r1]
+ cmp r0, 0x6
+ beq _080969F8
+ cmp r0, 0x8
+ beq _080969F8
+ cmp r0, 0x9
+ bne _080969FA
+_080969F8:
+ adds r5, 0x1
+_080969FA:
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _080969DA
+ adds r0, r5, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80969D0
+
+ thumb_func_start sub_8096A08
+sub_8096A08:
+ push {r4-r6,lr}
+ sub sp, 0xC
+ adds r6, r1, 0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+_08096A14:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096AB4
+ adds r2, r0, 0
+ ldrb r0, [r2, 0x4]
+ cmp r0, r5
+ bne _08096A68
+ ldrb r0, [r2]
+ cmp r0, 0x6
+ bne _08096A68
+ ldrb r0, [r2, 0x1]
+ cmp r0, 0x2
+ bne _08096A68
+ ldr r1, _08096A60
+ ldr r0, [sp, 0x8]
+ ands r0, r1
+ movs r1, 0x4A
+ orrs r0, r1
+ ldr r1, _08096A64
+ ands r0, r1
+ movs r1, 0x80
+ lsls r1, 1
+ orrs r0, r1
+ str r0, [sp, 0x8]
+ movs r0, 0xC
+ ldrsh r1, [r2, r0]
+ add r0, sp, 0x8
+ str r0, [sp]
+ movs r0, 0
+ str r0, [sp, 0x4]
+ adds r0, r6, 0
+ movs r2, 0
+ movs r3, 0
+ bl sub_808CFD0
+ movs r0, 0x1
+ b _08096A70
+ .align 2, 0
+_08096A60: .4byte 0xffffff00
+_08096A64: .4byte 0xffff00ff
+_08096A68:
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _08096A14
+ movs r0, 0
+_08096A70:
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096A08
+
+ thumb_func_start sub_8096A78
+sub_8096A78:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r3, 0
+ ldr r5, _08096AA0
+ movs r2, 0
+_08096A82:
+ ldr r0, [r5]
+ adds r0, r2
+ adds r1, r0, 0
+ adds r1, 0xF0
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _08096AA4
+ adds r0, r4, 0
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2,r3}
+ stm r1!, {r2,r3}
+ movs r0, 0
+ b _08096AAE
+ .align 2, 0
+_08096AA0: .4byte gUnknown_203B490
+_08096AA4:
+ adds r2, 0x14
+ adds r3, 0x1
+ cmp r3, 0x7
+ ble _08096A82
+ movs r0, 0x1
+_08096AAE:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096A78
+
+ thumb_func_start sub_8096AB4
+sub_8096AB4:
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08096AC8
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 2
+ adds r1, 0xF0
+ ldr r0, [r2]
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_08096AC8: .4byte gUnknown_203B490
+ thumb_func_end sub_8096AB4
+
+ thumb_func_start sub_8096ACC
+sub_8096ACC:
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _08096AEC
+ ldr r2, [r1]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 2
+ adds r2, r1
+ adds r2, 0xF0
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _08096AF0
+ movs r0, 0
+ b _08096AF2
+ .align 2, 0
+_08096AEC: .4byte gUnknown_203B490
+_08096AF0:
+ movs r0, 0x1
+_08096AF2:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096ACC
+
+ thumb_func_start sub_8096AF8
+sub_8096AF8:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r0, r1, 0
+ adds r4, r2, 0
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_8096AB4
+ adds r3, r0, 0
+ movs r1, 0
+ strb r1, [r5]
+ ldrh r0, [r3, 0xC]
+ strh r0, [r5, 0x2]
+ strh r1, [r5, 0x4]
+ ldrb r0, [r3, 0x4]
+ cmp r0, r4
+ bne _08096B92
+ ldrb r0, [r3, 0x1]
+ cmp r0, 0x4
+ bhi _08096B92
+ lsls r0, 2
+ ldr r1, _08096B30
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08096B30: .4byte _08096B34
+ .align 2, 0
+_08096B34:
+ .4byte _08096B78
+ .4byte _08096B84
+ .4byte _08096B84
+ .4byte _08096B48
+ .4byte _08096B78
+_08096B48:
+ ldrb r0, [r3]
+ cmp r0, 0x6
+ bne _08096B92
+ ldr r0, _08096B74
+ movs r6, 0x1
+ ldr r2, [r0]
+ movs r4, 0x13
+_08096B56:
+ ldrb r1, [r2]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08096B6A
+ ldrb r0, [r2, 0x2]
+ ldrb r1, [r3, 0x10]
+ cmp r0, r1
+ bne _08096B6A
+ strb r6, [r5]
+_08096B6A:
+ adds r2, 0x4
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08096B56
+ b _08096B92
+ .align 2, 0
+_08096B74: .4byte gUnknown_203B460
+_08096B78:
+ ldrb r0, [r3]
+ cmp r0, 0x9
+ bne _08096B92
+ movs r0, 0x1
+ strb r0, [r5]
+ b _08096B92
+_08096B84:
+ ldrb r0, [r3]
+ cmp r0, 0x9
+ bne _08096B92
+ movs r0, 0x1
+ strb r0, [r5]
+ ldrh r0, [r3, 0xE]
+ strh r0, [r5, 0x4]
+_08096B92:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8096AF8
+
+ thumb_func_start sub_8096B98
+sub_8096B98:
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+_08096BA0:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096AB4
+ adds r1, r0, 0
+ ldrb r0, [r1]
+ cmp r0, 0x6
+ bne _08096BC2
+ ldrb r0, [r1, 0x1]
+ cmp r0, 0x2
+ bne _08096BC2
+ ldrb r0, [r1, 0x4]
+ cmp r0, r5
+ bne _08096BC2
+ movs r2, 0xE
+ ldrsh r0, [r1, r2]
+ b _08096BCA
+_08096BC2:
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _08096BA0
+ movs r0, 0
+_08096BCA:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096B98
+
+ thumb_func_start sub_8096BD0
+sub_8096BD0:
+ push {r4,r5,lr}
+ ldr r0, _08096C04
+ ldr r0, [r0]
+ adds r5, r0, 0
+ adds r5, 0xF0
+ movs r4, 0
+_08096BDC:
+ ldrb r0, [r5]
+ cmp r0, 0x9
+ bgt _08096BEE
+ cmp r0, 0x7
+ blt _08096BEE
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096C3C
+_08096BEE:
+ adds r5, 0x14
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _08096BDC
+ bl sub_8096C80
+ bl sub_8096D24
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096C04: .4byte gUnknown_203B490
+ thumb_func_end sub_8096BD0
+
+ thumb_func_start sub_8096C08
+sub_8096C08:
+ push {lr}
+ adds r3, r0, 0
+ ldr r0, _08096C28
+ ldr r0, [r0]
+ adds r1, r0, 0
+ adds r1, 0xF0
+ movs r2, 0
+_08096C16:
+ ldrb r0, [r1]
+ cmp r0, 0x4
+ bls _08096C2C
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0x4
+ bne _08096C2C
+ strb r2, [r3]
+ movs r0, 0x1
+ b _08096C36
+ .align 2, 0
+_08096C28: .4byte gUnknown_203B490
+_08096C2C:
+ adds r1, 0x14
+ adds r2, 0x1
+ cmp r2, 0x7
+ ble _08096C16
+ movs r0, 0
+_08096C36:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096C08
+
+ thumb_func_start sub_8096C3C
+sub_8096C3C:
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, _08096C78
+ ldr r1, [r3]
+ lsls r2, r0, 2
+ adds r2, r0
+ lsls r2, 2
+ adds r1, r2
+ adds r1, 0xF0
+ movs r4, 0
+ strb r4, [r1]
+ ldr r0, [r3]
+ adds r0, r2
+ adds r0, 0xF4
+ movs r1, 0x63
+ strb r1, [r0]
+ ldr r0, [r3]
+ adds r0, r2
+ adds r0, 0xF5
+ strb r4, [r0]
+ ldr r0, [r3]
+ adds r0, r2
+ ldr r2, _08096C7C
+ adds r1, r0, r2
+ movs r0, 0x5
+ strb r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096C78: .4byte gUnknown_203B490
+_08096C7C: .4byte 0x00000101
+ thumb_func_end sub_8096C3C
+
+ thumb_func_start sub_8096C80
+sub_8096C80:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ movs r2, 0
+ movs r3, 0
+ ldr r0, _08096C98
+ mov r12, r0
+ mov r8, r3
+ movs r4, 0
+ mov r9, r4
+ b _08096CC2
+ .align 2, 0
+_08096C98: .4byte gUnknown_203B490
+_08096C9C:
+ cmp r2, r3
+ ble _08096CB6
+ mov r1, r12
+ ldr r0, [r1]
+ mov r5, r8
+ adds r1, r0, r5
+ adds r0, r4
+ adds r1, 0xF0
+ adds r0, 0xF0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r6,r7}
+ stm r1!, {r6,r7}
+_08096CB6:
+ adds r4, 0x14
+ movs r0, 0x14
+ add r9, r0
+ adds r2, 0x1
+ add r8, r0
+ adds r3, 0x1
+_08096CC2:
+ cmp r2, 0x7
+ bgt _08096CF2
+ mov r1, r12
+ ldr r0, [r1]
+ adds r0, r4
+ adds r0, 0xF0
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08096CF2
+ ldr r6, _08096D20
+ mov r1, r9
+_08096CD8:
+ adds r1, 0x14
+ adds r4, 0x14
+ movs r5, 0x14
+ add r9, r5
+ adds r2, 0x1
+ cmp r2, 0x7
+ bgt _08096CF2
+ ldr r0, [r6]
+ adds r0, r1
+ adds r0, 0xF0
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08096CD8
+_08096CF2:
+ cmp r2, 0x8
+ bne _08096C9C
+ cmp r3, 0x7
+ bgt _08096D14
+ ldr r4, _08096D20
+ movs r2, 0
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r1, r0, 2
+_08096D04:
+ ldr r0, [r4]
+ adds r0, r1
+ adds r0, 0xF0
+ strb r2, [r0]
+ adds r1, 0x14
+ adds r3, 0x1
+ cmp r3, 0x7
+ ble _08096D04
+_08096D14:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096D20: .4byte gUnknown_203B490
+ thumb_func_end sub_8096C80
+
+ thumb_func_start sub_8096D24
+sub_8096D24:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x18
+ movs r1, 0
+_08096D32:
+ adds r6, r1, 0x1
+ mov r10, r6
+ cmp r6, 0x7
+ bgt _08096DBC
+ ldr r0, _08096DD4
+ mov r8, r0
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 2
+ mov r9, r0
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r4, r0, 2
+_08096D4C:
+ mov r1, r8
+ ldr r2, [r1]
+ adds r3, r2, r4
+ adds r5, r3, 0
+ adds r5, 0xF0
+ str r5, [sp, 0x14]
+ ldrb r0, [r5]
+ cmp r0, 0
+ beq _08096DB0
+ add r2, r9
+ mov r12, r2
+ mov r0, r12
+ adds r0, 0xF4
+ adds r1, r3, 0
+ adds r1, 0xF4
+ ldrb r2, [r0]
+ ldrb r0, [r1]
+ cmp r2, r0
+ bhi _08096D84
+ cmp r2, r0
+ bne _08096DB0
+ mov r0, r12
+ adds r0, 0xF5
+ adds r1, 0x1
+ ldrb r0, [r0]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bls _08096DB0
+_08096D84:
+ mov r2, r12
+ adds r2, 0xF0
+ mov r1, sp
+ adds r0, r2, 0
+ ldm r0!, {r3,r5,r7}
+ stm r1!, {r3,r5,r7}
+ ldm r0!, {r3,r7}
+ stm r1!, {r3,r7}
+ ldr r0, [sp, 0x14]
+ ldm r0!, {r1,r5,r7}
+ stm r2!, {r1,r5,r7}
+ ldm r0!, {r3,r5}
+ stm r2!, {r3,r5}
+ mov r7, r8
+ ldr r1, [r7]
+ adds r1, r4
+ adds r1, 0xF0
+ mov r0, sp
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r7}
+ stm r1!, {r2,r7}
+_08096DB0:
+ adds r4, 0x14
+ movs r3, 0x1
+ add r10, r3
+ mov r5, r10
+ cmp r5, 0x7
+ ble _08096D4C
+_08096DBC:
+ adds r1, r6, 0
+ cmp r1, 0x6
+ ble _08096D32
+ add sp, 0x18
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096DD4: .4byte gUnknown_203B490
+ thumb_func_end sub_8096D24
+
+ thumb_func_start sub_8096DD8
+sub_8096DD8:
+ ldr r0, _08096DE4
+ ldr r0, [r0]
+ movs r1, 0xC8
+ lsls r1, 1
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_08096DE4: .4byte gUnknown_203B490
+ thumb_func_end sub_8096DD8
+
+ thumb_func_start sub_8096DE8
+sub_8096DE8:
+ ldr r0, _08096DF4
+ ldr r0, [r0]
+ movs r1, 0xDC
+ lsls r1, 1
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_08096DF4: .4byte gUnknown_203B490
+ thumb_func_end sub_8096DE8
+
+ thumb_func_start sub_8096DF8
+sub_8096DF8:
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _08096E10
+ ldr r1, [r1]
+ movs r2, 0xBC
+ lsls r2, 2
+ adds r1, r2
+ adds r1, r0
+ movs r0, 0x1
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_08096E10: .4byte gUnknown_203B490
+ thumb_func_end sub_8096DF8
+
+ thumb_func_start sub_8096E14
+sub_8096E14:
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _08096E28
+ ldr r1, [r1]
+ movs r2, 0xBC
+ lsls r2, 2
+ adds r1, r2
+ adds r1, r0
+ ldrb r0, [r1]
+ bx lr
+ .align 2, 0
+_08096E28: .4byte gUnknown_203B490
+ thumb_func_end sub_8096E14
+
+ thumb_func_start sub_8096E2C
+sub_8096E2C:
+ push {lr}
+ movs r3, 0
+ ldr r0, _08096E70
+ ldr r1, [r0]
+ movs r2, 0x3
+_08096E36:
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ bne _08096E48
+ ldrb r0, [r1, 0x5]
+ cmp r3, r0
+ bgt _08096E48
+ cmp r0, 0x31
+ bhi _08096E48
+ adds r3, r0, 0x1
+_08096E48:
+ adds r1, 0x14
+ subs r2, 0x1
+ cmp r2, 0
+ bge _08096E36
+ adds r2, r3, 0
+ cmp r2, 0x31
+ bgt _08096E7A
+ ldr r0, _08096E70
+ ldr r0, [r0]
+ movs r3, 0xBC
+ lsls r3, 2
+ adds r1, r0, r3
+_08096E60:
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08096E74
+ lsls r0, r2, 24
+ lsrs r0, 24
+ b _08096E7C
+ .align 2, 0
+_08096E70: .4byte gUnknown_203B490
+_08096E74:
+ adds r2, 0x1
+ cmp r2, 0x31
+ ble _08096E60
+_08096E7A:
+ movs r0, 0x38
+_08096E7C:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096E2C
+
+ thumb_func_start sub_8096E80
+sub_8096E80:
+ push {lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ movs r2, 0
+ ldr r0, _08096E9C
+ ldr r1, [r0]
+_08096E8C:
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ bne _08096EA0
+ ldrb r0, [r1, 0x5]
+ cmp r3, r0
+ bne _08096EA0
+ movs r0, 0x1
+ b _08096EAA
+ .align 2, 0
+_08096E9C: .4byte gUnknown_203B490
+_08096EA0:
+ adds r1, 0x14
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _08096E8C
+ movs r0, 0
+_08096EAA:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096E80
+
+ thumb_func_start sub_8096EB0
+sub_8096EB0:
+ ldrb r1, [r0, 0x2]
+ ldrb r2, [r0, 0x1]
+ adds r1, r2
+ ldrb r3, [r0, 0x4]
+ adds r2, r1, r3
+ ldrb r1, [r0, 0x5]
+ adds r2, r1
+ ldr r1, [r0, 0x8]
+ lsls r1, 8
+ adds r2, r1
+ movs r3, 0xC
+ ldrsh r1, [r0, r3]
+ lsls r1, 12
+ adds r2, r1
+ movs r3, 0xE
+ ldrsh r1, [r0, r3]
+ lsls r1, 16
+ adds r2, r1
+ ldrb r1, [r0, 0x10]
+ lsls r1, 24
+ adds r1, r2, r1
+ ldrb r3, [r0, 0x11]
+ adds r2, r1, r3
+ ldrb r1, [r0, 0x12]
+ adds r1, r2, r1
+ ldrb r0, [r0, 0x13]
+ adds r2, r1, r0
+ adds r0, r2, 0
+ bx lr
+ thumb_func_end sub_8096EB0
+
+ thumb_func_start sub_8096EEC
+sub_8096EEC:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ mov r12, r0
+ movs r3, 0xF
+ ldr r5, _08096F4C
+ mov r8, r5
+ movs r4, 0x8C
+ lsls r4, 2
+_08096EFE:
+ mov r0, r8
+ ldr r2, [r0]
+ lsls r1, r3, 1
+ adds r1, r3
+ lsls r1, 2
+ adds r1, r2, r1
+ subs r3, 0x1
+ lsls r0, r3, 1
+ adds r0, r3
+ lsls r0, 2
+ adds r2, r0
+ adds r1, r4
+ adds r2, r4
+ ldm r2!, {r0,r6,r7}
+ stm r1!, {r0,r6,r7}
+ cmp r3, 0
+ bgt _08096EFE
+ ldr r2, [r5]
+ movs r3, 0x8C
+ lsls r3, 2
+ adds r2, r3
+ mov r6, r12
+ ldr r0, [r6, 0x4]
+ ldr r1, [r6, 0x8]
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ mov r0, r12
+ bl sub_8096EB0
+ ldr r1, [r5]
+ movs r7, 0x8E
+ lsls r7, 2
+ adds r1, r7
+ str r0, [r1]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096F4C: .4byte gUnknown_203B490
+ thumb_func_end sub_8096EEC
+
+ thumb_func_start sub_8096F50
+sub_8096F50:
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ bl sub_8096EB0
+ mov r12, r0
+ movs r5, 0
+ ldr r0, _08096F8C
+ ldr r7, [r0]
+ ldrb r6, [r4, 0x4]
+ movs r3, 0
+_08096F64:
+ movs r1, 0x8C
+ lsls r1, 2
+ adds r0, r3, r1
+ adds r2, r7, r0
+ ldrb r0, [r2]
+ cmp r0, r6
+ bne _08096F90
+ ldrb r0, [r2, 0x1]
+ ldrb r1, [r4, 0x5]
+ cmp r0, r1
+ bne _08096F90
+ ldr r1, [r2, 0x4]
+ ldr r0, [r4, 0x8]
+ cmp r1, r0
+ bne _08096F90
+ ldr r0, [r2, 0x8]
+ cmp r0, r12
+ bne _08096F90
+ movs r0, 0x1
+ b _08096F9A
+ .align 2, 0
+_08096F8C: .4byte gUnknown_203B490
+_08096F90:
+ adds r3, 0xC
+ adds r5, 0x1
+ cmp r5, 0xF
+ ble _08096F64
+ movs r0, 0
+_08096F9A:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096F50
+
+ thumb_func_start sub_8096FA0
+sub_8096FA0:
+ push {r4-r7,lr}
+ sub sp, 0x14
+ adds r3, r0, 0
+ adds r2, r1, 0
+ mov r0, sp
+ adds r1, r3, 0
+ bl sub_809485C
+ add r7, sp, 0x10
+ ldr r6, _08097020
+ movs r5, 0
+ movs r4, 0x3
+_08096FB8:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_80971EC
+ adds r5, 0x14
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08096FB8
+ ldr r6, _08097020
+ movs r5, 0x50
+ movs r4, 0x7
+_08096FD0:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_80971EC
+ adds r5, 0x14
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08096FD0
+ ldr r6, _08097020
+ movs r5, 0xF0
+ movs r4, 0x7
+_08096FE8:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_80971EC
+ adds r5, 0x14
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08096FE8
+ movs r4, 0
+ movs r6, 0x1
+ ldr r5, _08097020
+_08097000:
+ mov r0, sp
+ adds r1, r7, 0
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r1, [sp, 0x10]
+ ands r1, r6
+ cmp r1, 0
+ beq _08097024
+ ldr r0, [r5]
+ movs r1, 0xBC
+ lsls r1, 2
+ adds r0, r1
+ adds r0, r4
+ strb r6, [r0]
+ b _08097030
+ .align 2, 0
+_08097020: .4byte gUnknown_203B490
+_08097024:
+ ldr r0, [r5]
+ movs r2, 0xBC
+ lsls r2, 2
+ adds r0, r2
+ adds r0, r4
+ strb r1, [r0]
+_08097030:
+ adds r4, 0x1
+ cmp r4, 0x37
+ ble _08097000
+ mov r0, sp
+ adds r1, r7, 0
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r1, [sp, 0x10]
+ movs r2, 0x1
+ ands r1, r2
+ cmp r1, 0
+ beq _0809705C
+ ldr r0, _08097058
+ ldr r0, [r0]
+ movs r1, 0xCA
+ lsls r1, 2
+ adds r0, r1
+ strb r2, [r0]
+ b _08097068
+ .align 2, 0
+_08097058: .4byte gUnknown_203B490
+_0809705C:
+ ldr r0, _080970D4
+ ldr r0, [r0]
+ movs r2, 0xCA
+ lsls r2, 2
+ adds r0, r2
+ strb r1, [r0]
+_08097068:
+ ldr r4, _080970D4
+ ldr r1, [r4]
+ movs r0, 0xC8
+ lsls r0, 1
+ adds r1, r0
+ movs r2, 0xA0
+ lsls r2, 1
+ mov r0, sp
+ bl sub_8094924
+ ldr r1, [r4]
+ movs r2, 0xDC
+ lsls r2, 1
+ adds r1, r2
+ movs r2, 0xF0
+ lsls r2, 2
+ mov r0, sp
+ bl sub_8094924
+ adds r6, r4, 0
+ movs r5, 0x8C
+ lsls r5, 2
+ movs r4, 0xF
+_08097096:
+ ldr r1, [r6]
+ adds r1, r5
+ adds r1, 0x8
+ mov r0, sp
+ movs r2, 0x20
+ bl sub_8094924
+ ldr r1, [r6]
+ adds r1, r5
+ adds r1, 0x4
+ mov r0, sp
+ movs r2, 0x18
+ bl sub_8094924
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_8090314
+ adds r5, 0xC
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08097096
+ mov r0, sp
+ bl nullsub_102
+ ldr r0, [sp, 0x8]
+ add sp, 0x14
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080970D4: .4byte gUnknown_203B490
+ thumb_func_end sub_8096FA0
+
+ thumb_func_start sub_80970D8
+sub_80970D8:
+ push {r4-r7,lr}
+ sub sp, 0x14
+ adds r3, r0, 0
+ adds r2, r1, 0
+ mov r0, sp
+ adds r1, r3, 0
+ bl sub_809486C
+ add r7, sp, 0x10
+ ldr r6, _080971E8
+ movs r5, 0
+ movs r4, 0x3
+_080970F0:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_8097270
+ adds r5, 0x14
+ subs r4, 0x1
+ cmp r4, 0
+ bge _080970F0
+ ldr r6, _080971E8
+ movs r5, 0x50
+ movs r4, 0x7
+_08097108:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_8097270
+ adds r5, 0x14
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08097108
+ ldr r6, _080971E8
+ movs r5, 0xF0
+ movs r4, 0x7
+_08097120:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_8097270
+ adds r5, 0x14
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08097120
+ movs r4, 0
+_08097134:
+ ldr r0, _080971E8
+ ldr r0, [r0]
+ movs r1, 0xBC
+ lsls r1, 2
+ adds r0, r1
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0809714A
+ movs r0, 0x1
+ negs r0, r0
+_0809714A:
+ str r0, [sp, 0x10]
+ mov r0, sp
+ adds r1, r7, 0
+ movs r2, 0x1
+ bl sub_809488C
+ adds r4, 0x1
+ cmp r4, 0x37
+ ble _08097134
+ ldr r0, _080971E8
+ ldr r0, [r0]
+ movs r1, 0xCA
+ lsls r1, 2
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08097170
+ movs r0, 0x1
+ negs r0, r0
+_08097170:
+ str r0, [sp, 0x10]
+ mov r0, sp
+ adds r1, r7, 0
+ movs r2, 0x1
+ bl sub_809488C
+ ldr r4, _080971E8
+ ldr r1, [r4]
+ movs r0, 0xC8
+ lsls r0, 1
+ adds r1, r0
+ movs r2, 0xA0
+ lsls r2, 1
+ mov r0, sp
+ bl sub_809488C
+ ldr r1, [r4]
+ movs r0, 0xDC
+ lsls r0, 1
+ adds r1, r0
+ movs r2, 0xF0
+ lsls r2, 2
+ mov r0, sp
+ bl sub_809488C
+ adds r6, r4, 0
+ movs r5, 0x8C
+ lsls r5, 2
+ movs r4, 0xF
+_080971AA:
+ ldr r1, [r6]
+ adds r1, r5
+ adds r1, 0x8
+ mov r0, sp
+ movs r2, 0x20
+ bl sub_809488C
+ ldr r1, [r6]
+ adds r1, r5
+ adds r1, 0x4
+ mov r0, sp
+ movs r2, 0x18
+ bl sub_809488C
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_80902F4
+ adds r5, 0xC
+ subs r4, 0x1
+ cmp r4, 0
+ bge _080971AA
+ mov r0, sp
+ bl nullsub_102
+ ldr r0, [sp, 0x8]
+ add sp, 0x14
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080971E8: .4byte gUnknown_203B490
+ thumb_func_end sub_80970D8
+
+ thumb_func_start sub_80971EC
+sub_80971EC:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ movs r2, 0x4
+ bl sub_8094924
+ adds r1, r5, 0x1
+ adds r0, r4, 0
+ movs r2, 0x3
+ bl sub_8094924
+ adds r1, r5, 0x2
+ adds r0, r4, 0
+ movs r2, 0x4
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0xC
+ adds r0, r4, 0
+ movs r2, 0x9
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0xE
+ adds r0, r4, 0
+ movs r2, 0x9
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x10
+ adds r0, r4, 0
+ movs r2, 0x8
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x11
+ adds r0, r4, 0
+ movs r2, 0x4
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x12
+ adds r0, r4, 0
+ movs r2, 0x8
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x13
+ adds r0, r4, 0
+ movs r2, 0x6
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x8
+ adds r0, r4, 0
+ movs r2, 0x18
+ bl sub_8094924
+ adds r1, r5, 0x4
+ adds r0, r4, 0
+ bl sub_8090314
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80971EC
+
+ thumb_func_start sub_8097270
+sub_8097270:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ movs r2, 0x4
+ bl sub_809488C
+ adds r1, r5, 0x1
+ adds r0, r4, 0
+ movs r2, 0x3
+ bl sub_809488C
+ adds r1, r5, 0x2
+ adds r0, r4, 0
+ movs r2, 0x4
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0xC
+ adds r0, r4, 0
+ movs r2, 0x9
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0xE
+ adds r0, r4, 0
+ movs r2, 0x9
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x10
+ adds r0, r4, 0
+ movs r2, 0x8
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x11
+ adds r0, r4, 0
+ movs r2, 0x4
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x12
+ adds r0, r4, 0
+ movs r2, 0x8
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x13
+ adds r0, r4, 0
+ movs r2, 0x6
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x8
+ adds r0, r4, 0
+ movs r2, 0x18
+ bl sub_809488C
+ adds r1, r5, 0x4
+ adds r0, r4, 0
+ bl sub_80902F4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8097270
+
+ thumb_func_start sub_80972F4
+sub_80972F4:
+ push {lr}
+ movs r0, 0
+ movs r1, 0x2B
+ bl sub_80015C0
+ movs r0, 0
+ movs r1, 0x2C
+ bl sub_80015C0
+ movs r0, 0
+ movs r1, 0x2D
+ bl sub_80015C0
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80972F4
+
+ thumb_func_start nullsub_128
+nullsub_128:
+ bx lr
+ thumb_func_end nullsub_128
+
+ thumb_func_start sub_8097318
+sub_8097318:
+ push {lr}
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xD
+ bne _08097326
+ movs r0, 0
+ b _08097338
+_08097326:
+ lsls r2, r0, 16
+ lsrs r2, 16
+ movs r0, 0
+ movs r1, 0x2B
+ bl sub_8001784
+ cmp r0, 0
+ beq _08097338
+ movs r0, 0x1
+_08097338:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8097318
+
+ thumb_func_start sub_809733C
+sub_809733C:
+ push {r4-r6,lr}
+ lsls r0, 16
+ asrs r4, r0, 16
+ lsls r1, 24
+ lsrs r6, r1, 24
+ cmp r4, 0xD
+ beq _0809737C
+ lsls r0, r4, 16
+ lsrs r5, r0, 16
+ movs r0, 0
+ movs r1, 0x2C
+ adds r2, r5, 0
+ bl sub_8001784
+ cmp r0, 0
+ bne _0809737C
+ movs r0, 0
+ movs r1, 0x2B
+ adds r2, r5, 0
+ adds r3, r6, 0
+ bl sub_800199C
+ cmp r6, 0
+ beq _0809737C
+ cmp r4, 0xE
+ blt _0809737C
+ cmp r4, 0xF
+ ble _08097378
+ cmp r4, 0x1C
+ bne _0809737C
+_08097378:
+ bl sub_809674C
+_0809737C:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809733C
+
+ thumb_func_start sub_8097384
+sub_8097384:
+ push {lr}
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xD
+ bne _08097392
+ movs r0, 0
+ b _080973A4
+_08097392:
+ lsls r2, r0, 16
+ lsrs r2, 16
+ movs r0, 0
+ movs r1, 0x2C
+ bl sub_8001784
+ cmp r0, 0
+ beq _080973A4
+ movs r0, 0x1
+_080973A4:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8097384
+
+ thumb_func_start sub_80973A8
+sub_80973A8:
+ push {r4-r6,lr}
+ lsls r0, 16
+ asrs r0, 16
+ lsls r1, 24
+ lsrs r6, r1, 24
+ cmp r0, 0xD
+ beq _080973EE
+ lsls r5, r0, 16
+ cmp r6, 0
+ beq _080973E2
+ bl sub_80A26B8
+ lsls r0, 16
+ asrs r4, r0, 16
+ lsrs r2, r5, 16
+ movs r0, 0
+ movs r1, 0x2B
+ movs r3, 0
+ bl sub_800199C
+ movs r0, 0x1
+ negs r0, r0
+ cmp r4, r0
+ beq _080973E2
+ movs r0, 0
+ movs r1, 0x12
+ adds r2, r4, 0
+ bl sub_80018D8
+_080973E2:
+ lsrs r2, r5, 16
+ movs r0, 0
+ movs r1, 0x2C
+ adds r3, r6, 0
+ bl sub_800199C
+_080973EE:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80973A8
+
+ thumb_func_start sub_80973F4
+sub_80973F4:
+ push {lr}
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xD
+ bne _08097402
+ movs r0, 0
+ b _08097414
+_08097402:
+ lsls r2, r0, 16
+ lsrs r2, 16
+ movs r0, 0
+ movs r1, 0x2D
+ bl sub_8001784
+ cmp r0, 0
+ beq _08097414
+ movs r0, 0x1
+_08097414:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80973F4
+
+ thumb_func_start sub_8097418
+sub_8097418:
+ push {r4-r7,lr}
+ lsls r0, 16
+ asrs r5, r0, 16
+ lsls r1, 24
+ lsrs r7, r1, 24
+ cmp r5, 0xD
+ beq _08097470
+ lsls r6, r5, 16
+ cmp r7, 0
+ beq _08097464
+ lsrs r2, r6, 16
+ movs r0, 0
+ movs r1, 0x2C
+ movs r3, 0
+ bl sub_800199C
+ cmp r5, 0x1E
+ bgt _08097464
+ lsls r0, r5, 3
+ ldr r1, _08097478
+ adds r4, r0, r1
+ ldrb r0, [r4, 0x4]
+ cmp r0, 0xFF
+ beq _0809744C
+ bl sub_8097FA8
+_0809744C:
+ ldrb r0, [r4, 0x5]
+ cmp r0, 0xFF
+ beq _08097456
+ bl sub_8097FA8
+_08097456:
+ cmp r5, 0x9
+ bne _08097460
+ movs r0, 0x1F
+ bl sub_8097FA8
+_08097460:
+ bl sub_8097FF8
+_08097464:
+ lsrs r2, r6, 16
+ movs r0, 0
+ movs r1, 0x2D
+ adds r3, r7, 0
+ bl sub_800199C
+_08097470:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08097478: .4byte gStoryMissionText
+ thumb_func_end sub_8097418
+
+ thumb_func_start sub_809747C
+sub_809747C:
+ push {lr}
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xD
+ beq _08097494
+ bl sub_80A270C
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetDungeonName1
+ b _08097496
+_08097494:
+ ldr r0, _0809749C
+_08097496:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0809749C: .4byte gDummyScenarioText
+ thumb_func_end sub_809747C
+
+ thumb_func_start sub_80974A0
+sub_80974A0:
+ push {lr}
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xD
+ beq _080974B8
+ bl sub_80A270C
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetDungeonName1
+ b _080974BA
+_080974B8:
+ ldr r0, _080974C0
+_080974BA:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080974C0: .4byte gDummyScenarioText
+ thumb_func_end sub_80974A0
+
+ thumb_func_start sub_80974C4
+sub_80974C4:
+ push {lr}
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1E
+ ble _080974D8
+ ldr r0, _080974D4
+ b _080974E0
+ .align 2, 0
+_080974D4: .4byte gUnknown_8109CC0
+_080974D8:
+ lsls r0, 3
+ ldr r1, _080974E4
+ adds r0, r1
+ ldr r0, [r0]
+_080974E0:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080974E4: .4byte gStoryMissionText
+ thumb_func_end sub_80974C4
+
+ thumb_func_start sub_80974E8
+sub_80974E8:
+ push {lr}
+ movs r0, 0
+ movs r1, 0x2E
+ bl sub_80015C0
+ movs r0, 0
+ movs r1, 0x2F
+ bl sub_80015C0
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80974E8
+
+ thumb_func_start nullsub_208
+nullsub_208:
+ bx lr
+ thumb_func_end nullsub_208
+
+ thumb_func_start sub_8097504
+sub_8097504:
+ push {lr}
+ lsls r0, 16
+ asrs r0, 16
+ adds r1, r0, 0
+ cmp r0, 0x10
+ bgt _08097568
+ cmp r0, 0xE
+ bhi _08097580
+ lsls r0, 2
+ ldr r1, _08097520
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08097520: .4byte _08097524
+ .align 2, 0
+_08097524:
+ .4byte _08097564
+ .4byte _08097564
+ .4byte _08097560
+ .4byte _08097580
+ .4byte _08097580
+ .4byte _08097564
+ .4byte _08097580
+ .4byte _08097564
+ .4byte _08097580
+ .4byte _08097564
+ .4byte _08097560
+ .4byte _08097560
+ .4byte _08097560
+ .4byte _08097574
+ .4byte _08097564
+_08097560:
+ movs r0, 0xE
+ b _08097576
+_08097564:
+ movs r0, 0xF
+ b _08097576
+_08097568:
+ cmp r1, 0x16
+ bgt _08097584
+ cmp r1, 0x16
+ beq _08097584
+ cmp r1, 0x15
+ beq _08097584
+_08097574:
+ movs r0, 0x6
+_08097576:
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08097584
+_08097580:
+ movs r0, 0x1
+ b _08097586
+_08097584:
+ movs r0, 0
+_08097586:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8097504
+
+ thumb_func_start sub_809758C
+sub_809758C:
+ push {lr}
+ adds r2, r0, 0
+ lsls r2, 16
+ lsrs r2, 16
+ movs r0, 0
+ movs r1, 0x2E
+ bl sub_8001784
+ cmp r0, 0
+ beq _080975A2
+ movs r0, 0x1
+_080975A2:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809758C
+
+ thumb_func_start sub_80975A8
+sub_80975A8:
+ push {lr}
+ adds r2, r0, 0
+ adds r3, r1, 0
+ lsls r3, 24
+ lsrs r3, 24
+ lsls r2, 16
+ lsrs r2, 16
+ movs r0, 0
+ movs r1, 0x2E
+ bl sub_800199C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80975A8
+
+ thumb_func_start sub_80975C4
+sub_80975C4:
+ push {lr}
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_80A2728
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetDungeonName1
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80975C4
+
+ thumb_func_start sub_80975DC
+sub_80975DC:
+ push {lr}
+ lsls r0, 16
+ ldr r1, _08097600
+ adds r0, r1
+ lsrs r0, 16
+ cmp r0, 0x1
+ bhi _08097610
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x3
+ movs r1, 0xE
+ bl sub_8001D08
+ lsls r0, 24
+ cmp r0, 0
+ beq _08097608
+ ldr r0, _08097604
+ b _08097612
+ .align 2, 0
+_08097600: .4byte 0xffe90000
+_08097604: .4byte gMeetNinetalesText
+_08097608:
+ ldr r0, _0809760C
+ b _08097612
+ .align 2, 0
+_0809760C: .4byte gAvoidCaptureText
+_08097610:
+ ldr r0, _08097618
+_08097612:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08097618: .4byte gFinalScenarioText
+ thumb_func_end sub_80975DC
+
+ thumb_func_start sub_809761C
+sub_809761C:
+ push {r4,lr}
+ movs r4, 0
+_08097620:
+ lsls r0, r4, 16
+ asrs r0, 16
+ bl sub_809758C
+ lsls r0, 24
+ cmp r0, 0
+ bne _08097632
+ movs r0, 0
+ b _0809763A
+_08097632:
+ adds r4, 0x1
+ cmp r4, 0x10
+ ble _08097620
+ movs r0, 0x1
+_0809763A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809761C
+
+ thumb_func_start sub_8097640
+sub_8097640:
+ push {lr}
+ movs r0, 0
+ movs r1, 0x2E
+ movs r2, 0x1F
+ bl sub_8001784
+ cmp r0, 0
+ bne _0809766A
+ bl sub_809761C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809766A
+ movs r0, 0
+ movs r1, 0x2E
+ movs r2, 0x1F
+ movs r3, 0x1
+ bl sub_800199C
+ movs r0, 0x1
+ b _0809766C
+_0809766A:
+ movs r0, 0
+_0809766C:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8097640
+
+ thumb_func_start sub_8097670
+sub_8097670:
+ ldr r1, _08097678
+ ldr r0, _0809767C
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_08097678: .4byte gUnknown_203B494
+_0809767C: .4byte gUnknown_2039778
+ thumb_func_end sub_8097670
+
+ thumb_func_start sub_8097680
+sub_8097680:
+ ldr r0, _08097684
+ bx lr
+ .align 2, 0
+_08097684: .4byte gUnknown_2039778
+ thumb_func_end sub_8097680
+
+ thumb_func_start sub_8097688
+sub_8097688:
+ ldr r3, _08097698
+ ldr r2, [r3]
+ ldrb r1, [r0]
+ strb r1, [r2, 0x10]
+ ldr r1, [r3]
+ ldrb r0, [r0, 0x1]
+ strb r0, [r1, 0x11]
+ bx lr
+ .align 2, 0
+_08097698: .4byte gUnknown_203B494
+ thumb_func_end sub_8097688
+
+ thumb_func_start sub_809769C
+sub_809769C:
+ ldr r0, _080976A4
+ ldr r0, [r0]
+ adds r0, 0x10
+ bx lr
+ .align 2, 0
+_080976A4: .4byte gUnknown_203B494
+ thumb_func_end sub_809769C
+
+ thumb_func_start sub_80976A8
+sub_80976A8:
+ push {r4,lr}
+ ldr r3, _080976F4
+ ldr r1, [r3]
+ movs r0, 0
+ str r0, [r1]
+ strh r0, [r1, 0x14]
+ strh r0, [r1, 0x16]
+ strh r0, [r1, 0x18]
+ adds r2, r1, 0
+ adds r2, 0xC0
+ str r0, [r2]
+ str r0, [r1, 0x8]
+ str r0, [r1, 0xC]
+ movs r2, 0
+ adds r4, r3, 0
+ movs r3, 0
+_080976C8:
+ ldr r0, [r4]
+ lsls r1, r2, 2
+ adds r0, 0x1C
+ adds r0, r1
+ str r3, [r0]
+ adds r2, 0x1
+ cmp r2, 0xD
+ ble _080976C8
+ movs r2, 0
+ ldr r4, _080976F4
+ movs r3, 0
+_080976DE:
+ ldr r0, [r4]
+ lsls r1, r2, 2
+ adds r0, 0x8C
+ adds r0, r1
+ str r3, [r0]
+ adds r2, 0x1
+ cmp r2, 0xC
+ ble _080976DE
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080976F4: .4byte gUnknown_203B494
+ thumb_func_end sub_80976A8
+
+ thumb_func_start sub_80976F8
+sub_80976F8:
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _0809770C
+ ldr r2, [r1]
+ movs r1, 0x1
+ lsls r1, r0
+ ldr r0, [r2]
+ orrs r0, r1
+ str r0, [r2]
+ bx lr
+ .align 2, 0
+_0809770C: .4byte gUnknown_203B494
+ thumb_func_end sub_80976F8
+
+ thumb_func_start sub_8097710
+sub_8097710:
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _0809772C
+ ldr r2, [r1]
+ movs r1, 0x1
+ lsls r1, r0
+ ldr r0, [r2]
+ ands r0, r1
+ cmp r0, 0
+ bne _08097730
+ movs r0, 0
+ b _08097732
+ .align 2, 0
+_0809772C: .4byte gUnknown_203B494
+_08097730:
+ movs r0, 0x1
+_08097732:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8097710
+
+ thumb_func_start sub_8097738
+sub_8097738:
+ lsls r0, 24
+ ldr r1, _08097744
+ lsrs r0, 22
+ adds r0, r1
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+_08097744: .4byte gTeamRanks
+ thumb_func_end sub_8097738
+
+ thumb_func_start sub_8097748
+sub_8097748:
+ ldr r0, _08097754
+ ldr r1, [r0]
+ movs r0, 0
+ str r0, [r1, 0x4]
+ bx lr
+ .align 2, 0
+_08097754: .4byte gUnknown_203B494
+ thumb_func_end sub_8097748
+
+ thumb_func_start sub_8097758
+sub_8097758:
+ push {lr}
+ ldr r0, _08097770
+ ldr r1, [r0]
+ ldr r0, [r1, 0x4]
+ adds r0, 0x1
+ str r0, [r1, 0x4]
+ ldr r2, _08097774
+ cmp r0, r2
+ ble _0809776C
+ str r2, [r1, 0x4]
+_0809776C:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08097770: .4byte gUnknown_203B494
+_08097774: .4byte 0x0001869f
+ thumb_func_end sub_8097758
+
+ thumb_func_start sub_8097778
+sub_8097778:
+ ldr r0, _08097780
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ bx lr
+ .align 2, 0
+_08097780: .4byte gUnknown_203B494
+ thumb_func_end sub_8097778
+
+ thumb_func_start sub_8097784
+sub_8097784:
+ ldr r1, _0809778C
+ ldr r1, [r1]
+ str r0, [r1, 0x4]
+ bx lr
+ .align 2, 0
+_0809778C: .4byte gUnknown_203B494
+ thumb_func_end sub_8097784
+
+ thumb_func_start sub_8097790
+sub_8097790:
+ push {lr}
+ ldr r0, _080977B0
+ ldr r1, [r0]
+ ldr r0, [r1, 0x8]
+ adds r0, 0x1
+ str r0, [r1, 0x8]
+ ldr r2, _080977B4
+ cmp r0, r2
+ ble _080977A4
+ str r2, [r1, 0x8]
+_080977A4:
+ movs r0, 0x8
+ bl sub_80976F8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080977B0: .4byte gUnknown_203B494
+_080977B4: .4byte 0x0001869f
+ thumb_func_end sub_8097790
+
+ thumb_func_start sub_80977B8
+sub_80977B8:
+ ldr r0, _080977C0
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ bx lr
+ .align 2, 0
+_080977C0: .4byte gUnknown_203B494
+ thumb_func_end sub_80977B8
+
+ thumb_func_start sub_80977C4
+sub_80977C4:
+ ldr r1, _080977CC
+ ldr r1, [r1]
+ str r0, [r1, 0x8]
+ bx lr
+ .align 2, 0
+_080977CC: .4byte gUnknown_203B494
+ thumb_func_end sub_80977C4
+
+ thumb_func_start sub_80977D0
+sub_80977D0:
+ push {lr}
+ ldr r0, _080977F0
+ ldr r1, [r0]
+ ldr r0, [r1, 0xC]
+ adds r0, 0x1
+ str r0, [r1, 0xC]
+ ldr r2, _080977F4
+ cmp r0, r2
+ ble _080977E4
+ str r2, [r1, 0xC]
+_080977E4:
+ movs r0, 0x9
+ bl sub_80976F8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080977F0: .4byte gUnknown_203B494
+_080977F4: .4byte 0x0001869f
+ thumb_func_end sub_80977D0
+
+ thumb_func_start sub_80977F8
+sub_80977F8:
+ ldr r0, _08097800
+ ldr r0, [r0]
+ ldr r0, [r0, 0xC]
+ bx lr
+ .align 2, 0
+_08097800: .4byte gUnknown_203B494
+ thumb_func_end sub_80977F8
+
+ thumb_func_start sub_8097804
+sub_8097804:
+ ldr r1, _0809780C
+ ldr r1, [r1]
+ str r0, [r1, 0xC]
+ bx lr
+ .align 2, 0
+_0809780C: .4byte gUnknown_203B494
+ thumb_func_end sub_8097804
+
+ thumb_func_start sub_8097810
+sub_8097810:
+ push {lr}
+ ldr r0, _08097830
+ ldr r2, [r0]
+ ldrh r3, [r2, 0x14]
+ movs r0, 0x14
+ ldrsh r1, [r2, r0]
+ ldr r0, _08097834
+ cmp r1, r0
+ bgt _08097826
+ adds r0, r3, 0x1
+ strh r0, [r2, 0x14]
+_08097826:
+ movs r0, 0xB
+ bl sub_80976F8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08097830: .4byte gUnknown_203B494
+_08097834: .4byte 0x0000270e
+ thumb_func_end sub_8097810
+
+ thumb_func_start sub_8097838
+sub_8097838:
+ ldr r0, _08097844
+ ldr r0, [r0]
+ movs r1, 0x14
+ ldrsh r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_08097844: .4byte gUnknown_203B494
+ thumb_func_end sub_8097838
+
+ thumb_func_start sub_8097848
+sub_8097848:
+ push {lr}
+ ldr r0, _08097868
+ ldr r2, [r0]
+ ldrh r3, [r2, 0x16]
+ movs r0, 0x16
+ ldrsh r1, [r2, r0]
+ ldr r0, _0809786C
+ cmp r1, r0
+ bgt _0809785E
+ adds r0, r3, 0x1
+ strh r0, [r2, 0x16]
+_0809785E:
+ movs r0, 0xA
+ bl sub_80976F8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08097868: .4byte gUnknown_203B494
+_0809786C: .4byte 0x0000270e
+ thumb_func_end sub_8097848
+
+ thumb_func_start sub_8097870
+sub_8097870:
+ ldr r0, _0809787C
+ ldr r0, [r0]
+ movs r1, 0x16
+ ldrsh r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_0809787C: .4byte gUnknown_203B494
+ thumb_func_end sub_8097870
+
+ thumb_func_start sub_8097880
+sub_8097880:
+ ldr r0, _0809788C
+ ldr r0, [r0]
+ movs r1, 0x18
+ ldrsh r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_0809788C: .4byte gUnknown_203B494
+ thumb_func_end sub_8097880
+
+ thumb_func_start sub_8097890
+sub_8097890:
+ push {lr}
+ ldr r0, _080978B0
+ ldr r0, [r0]
+ adds r2, r0, 0
+ adds r2, 0xC0
+ ldr r1, [r2]
+ ldr r0, _080978B4
+ cmp r1, r0
+ bgt _080978A6
+ adds r0, r1, 0x1
+ str r0, [r2]
+_080978A6:
+ movs r0, 0xC
+ bl sub_80976F8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080978B0: .4byte gUnknown_203B494
+_080978B4: .4byte 0x0001869e
+ thumb_func_end sub_8097890
+
+ thumb_func_start sub_80978B8
+sub_80978B8:
+ ldr r0, _080978C4
+ ldr r0, [r0]
+ adds r0, 0xC0
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_080978C4: .4byte gUnknown_203B494
+ thumb_func_end sub_80978B8
+
+ thumb_func_start sub_80978C8
+sub_80978C8:
+ push {lr}
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_808E858
+ lsls r0, 16
+ asrs r3, r0, 16
+ ldr r0, _080978FC
+ ldr r2, [r0]
+ adds r0, r3, 0
+ cmp r3, 0
+ bge _080978E2
+ adds r0, 0x1F
+_080978E2:
+ asrs r0, 5
+ lsls r1, r0, 2
+ adds r2, 0x54
+ adds r2, r1
+ lsls r0, 5
+ subs r0, r3, r0
+ movs r1, 0x1
+ lsls r1, r0
+ ldr r0, [r2]
+ orrs r0, r1
+ str r0, [r2]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080978FC: .4byte gUnknown_203B494
+ thumb_func_end sub_80978C8
+
+ thumb_func_start sub_8097900
+sub_8097900:
+ push {lr}
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_808E858
+ lsls r0, 16
+ asrs r3, r0, 16
+ ldr r0, _08097938
+ ldr r2, [r0]
+ adds r0, r3, 0
+ cmp r3, 0
+ bge _0809791A
+ adds r0, 0x1F
+_0809791A:
+ asrs r0, 5
+ lsls r1, r0, 2
+ adds r2, 0x1C
+ adds r2, r1
+ lsls r0, 5
+ subs r0, r3, r0
+ movs r1, 0x1
+ lsls r1, r0
+ ldr r0, [r2]
+ ands r0, r1
+ cmp r0, 0
+ bne _0809793C
+ movs r0, 0
+ b _0809793E
+ .align 2, 0
+_08097938: .4byte gUnknown_203B494
+_0809793C:
+ movs r0, 0x1
+_0809793E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8097900
+
+ thumb_func_start sub_8097944
+sub_8097944:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ movs r0, 0x1
+ str r0, [sp]
+ movs r1, 0x1
+ str r1, [sp, 0x4]
+ movs r0, 0xD
+ bl sub_8097710
+ lsls r0, 24
+ cmp r0, 0
+ bne _08097974
+ bl sub_8092614
+ lsls r0, 24
+ cmp r0, 0
+ beq _08097974
+ movs r0, 0xD
+ bl sub_80976F8
+_08097974:
+ movs r4, 0
+ ldr r0, _08097B5C
+ mov r10, r0
+ mov r8, r4
+_0809797C:
+ ldr r1, _08097B60
+ ldr r0, [r1]
+ mov r1, r8
+ adds r2, r1, r0
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080979F6
+ movs r0, 0x8
+ ldrsh r3, [r2, r0]
+ mov r1, r10
+ ldr r2, [r1]
+ adds r0, r3, 0
+ cmp r3, 0
+ bge _0809799E
+ adds r0, 0x1F
+_0809799E:
+ asrs r0, 5
+ lsls r1, r0, 2
+ adds r2, 0x1C
+ adds r2, r1
+ lsls r0, 5
+ subs r0, r3, r0
+ movs r1, 0x1
+ lsls r1, r0
+ ldr r0, [r2]
+ orrs r0, r1
+ str r0, [r2]
+ ldr r0, _08097B60
+ mov r9, r0
+ mov r12, r8
+ movs r7, 0x1
+ movs r6, 0x2C
+ movs r5, 0x3
+_080979C0:
+ mov r1, r9
+ ldr r0, [r1]
+ add r0, r12
+ adds r3, r0, r6
+ ldrb r1, [r3]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080979EE
+ mov r0, r10
+ ldr r2, [r0]
+ ldrh r3, [r3, 0x2]
+ lsrs r0, r3, 5
+ lsls r0, 2
+ adds r2, 0x8C
+ adds r2, r0
+ movs r0, 0x1F
+ ands r3, r0
+ adds r1, r7, 0
+ lsls r1, r3
+ ldr r0, [r2]
+ orrs r0, r1
+ str r0, [r2]
+_080979EE:
+ adds r6, 0x8
+ subs r5, 0x1
+ cmp r5, 0
+ bge _080979C0
+_080979F6:
+ movs r1, 0x58
+ add r8, r1
+ adds r4, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r4, r0
+ ble _0809797C
+ movs r4, 0
+ ldr r1, _08097B64
+_08097A08:
+ cmp r4, 0
+ bne _08097A0E
+ b _08097B80
+_08097A0E:
+ ldr r0, _08097B68
+ cmp r4, r0
+ bne _08097A16
+ b _08097B80
+_08097A16:
+ adds r0, 0x1
+ cmp r4, r0
+ bne _08097A1E
+ b _08097B80
+_08097A1E:
+ adds r0, 0x1
+ cmp r4, r0
+ bne _08097A26
+ b _08097B80
+_08097A26:
+ adds r0, 0x26
+ cmp r4, r0
+ bne _08097A2E
+ b _08097B80
+_08097A2E:
+ adds r0, 0x1
+ cmp r4, r0
+ bne _08097A36
+ b _08097B80
+_08097A36:
+ adds r0, 0x1
+ cmp r4, r0
+ bne _08097A3E
+ b _08097B80
+_08097A3E:
+ adds r0, 0x1
+ cmp r4, r0
+ bne _08097A46
+ b _08097B80
+_08097A46:
+ adds r0, 0x1
+ cmp r4, r0
+ bne _08097A4E
+ b _08097B80
+_08097A4E:
+ adds r0, 0x1
+ cmp r4, r0
+ bne _08097A56
+ b _08097B80
+_08097A56:
+ cmp r4, r1
+ bne _08097A5C
+ b _08097B80
+_08097A5C:
+ ldr r0, _08097B5C
+ ldr r5, [r0]
+ adds r0, r4, 0
+ cmp r4, 0
+ bge _08097A68
+ adds r0, 0x1F
+_08097A68:
+ asrs r0, 5
+ lsls r3, r0, 2
+ adds r1, r5, 0
+ adds r1, 0x54
+ adds r1, r3
+ lsls r0, 5
+ subs r0, r4, r0
+ movs r2, 0x1
+ lsls r2, r0
+ ldr r0, [r1]
+ ands r0, r2
+ cmp r0, 0
+ bne _08097A86
+ movs r0, 0
+ str r0, [sp, 0x4]
+_08097A86:
+ adds r0, r5, 0
+ adds r0, 0x1C
+ adds r0, r3
+ ldr r0, [r0]
+ ands r0, r2
+ cmp r0, 0
+ beq _08097B7C
+ cmp r4, 0x92
+ bne _08097A9E
+ movs r0, 0x10
+ bl sub_80976F8
+_08097A9E:
+ cmp r4, 0x91
+ bne _08097AA8
+ movs r0, 0x11
+ bl sub_80976F8
+_08097AA8:
+ cmp r4, 0x90
+ bne _08097AB2
+ movs r0, 0x12
+ bl sub_80976F8
+_08097AB2:
+ movs r0, 0xCF
+ lsls r0, 1
+ cmp r4, r0
+ bne _08097AC0
+ movs r0, 0x13
+ bl sub_80976F8
+_08097AC0:
+ ldr r0, _08097B6C
+ cmp r4, r0
+ bne _08097ACC
+ movs r0, 0x14
+ bl sub_80976F8
+_08097ACC:
+ movs r0, 0x86
+ lsls r0, 1
+ cmp r4, r0
+ bne _08097ADA
+ movs r0, 0x15
+ bl sub_80976F8
+_08097ADA:
+ movs r0, 0x87
+ lsls r0, 1
+ cmp r4, r0
+ bne _08097AE8
+ movs r0, 0x16
+ bl sub_80976F8
+_08097AE8:
+ ldr r0, _08097B70
+ cmp r4, r0
+ bne _08097AF4
+ movs r0, 0x17
+ bl sub_80976F8
+_08097AF4:
+ movs r0, 0xCD
+ lsls r0, 1
+ cmp r4, r0
+ bne _08097B02
+ movs r0, 0x18
+ bl sub_80976F8
+_08097B02:
+ ldr r0, _08097B74
+ cmp r4, r0
+ bne _08097B0E
+ movs r0, 0x19
+ bl sub_80976F8
+_08097B0E:
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r4, r0
+ bne _08097B1C
+ movs r0, 0x1A
+ bl sub_80976F8
+_08097B1C:
+ movs r0, 0x89
+ lsls r0, 1
+ cmp r4, r0
+ bne _08097B2A
+ movs r0, 0x1B
+ bl sub_80976F8
+_08097B2A:
+ movs r0, 0x8A
+ lsls r0, 1
+ cmp r4, r0
+ bne _08097B38
+ movs r0, 0x1C
+ bl sub_80976F8
+_08097B38:
+ cmp r4, 0x97
+ bne _08097B42
+ movs r0, 0x1D
+ bl sub_80976F8
+_08097B42:
+ cmp r4, 0x96
+ bne _08097B4C
+ movs r0, 0x1E
+ bl sub_80976F8
+_08097B4C:
+ ldr r0, _08097B78
+ cmp r4, r0
+ bne _08097B80
+ movs r0, 0x1F
+ bl sub_80976F8
+ b _08097B80
+ .align 2, 0
+_08097B5C: .4byte gUnknown_203B494
+_08097B60: .4byte gUnknown_203B45C
+_08097B64: .4byte 0x000001a7
+_08097B68: .4byte 0x00000179
+_08097B6C: .4byte 0x0000010d
+_08097B70: .4byte 0x00000113
+_08097B74: .4byte 0x0000019b
+_08097B78: .4byte 0x0000019d
+_08097B7C:
+ movs r1, 0
+ str r1, [sp]
+_08097B80:
+ adds r4, 0x1
+ ldr r1, _08097C0C
+ cmp r4, r1
+ bgt _08097B8A
+ b _08097A08
+_08097B8A:
+ ldr r0, [sp]
+ cmp r0, 0
+ beq _08097B96
+ movs r0, 0xF
+ bl sub_80976F8
+_08097B96:
+ ldr r1, [sp, 0x4]
+ cmp r1, 0
+ beq _08097BA2
+ movs r0, 0xE
+ bl sub_80976F8
+_08097BA2:
+ movs r3, 0
+ movs r4, 0
+_08097BA6:
+ cmp r4, 0
+ beq _08097BE2
+ ldr r0, _08097C10
+ cmp r4, r0
+ beq _08097BE2
+ adds r0, 0x1
+ cmp r4, r0
+ beq _08097BE2
+ adds r0, 0x1
+ cmp r4, r0
+ beq _08097BE2
+ ldr r0, _08097C14
+ ldr r2, [r0]
+ adds r0, r4, 0
+ cmp r4, 0
+ bge _08097BC8
+ adds r0, 0x1F
+_08097BC8:
+ asrs r0, 5
+ lsls r1, r0, 2
+ adds r2, 0x8C
+ adds r2, r1
+ lsls r0, 5
+ subs r0, r4, r0
+ movs r1, 0x1
+ lsls r1, r0
+ ldr r0, [r2]
+ ands r0, r1
+ cmp r0, 0
+ beq _08097BE2
+ adds r3, 0x1
+_08097BE2:
+ adds r4, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r4, r0
+ ble _08097BA6
+ cmp r3, 0
+ beq _08097BFC
+ ldr r0, _08097C14
+ ldr r0, [r0]
+ strh r3, [r0, 0x18]
+ movs r0, 0x7
+ bl sub_80976F8
+_08097BFC:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08097C0C: .4byte 0x000001a7
+_08097C10: .4byte 0x00000163
+_08097C14: .4byte gUnknown_203B494
+ thumb_func_end sub_8097944
+
+ thumb_func_start sub_8097C18
+sub_8097C18:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ bl sub_8097944
+ ldr r4, _08097CBC
+ ldr r1, [r4]
+ adds r1, 0x4
+ adds r0, r5, 0
+ movs r2, 0x11
+ bl sub_809488C
+ ldr r1, [r4]
+ adds r1, 0x8
+ adds r0, r5, 0
+ movs r2, 0x11
+ bl sub_809488C
+ ldr r1, [r4]
+ adds r1, 0xC
+ adds r0, r5, 0
+ movs r2, 0x11
+ bl sub_809488C
+ ldr r1, [r4]
+ adds r0, r5, 0
+ movs r2, 0x20
+ bl sub_809488C
+ ldr r1, [r4]
+ adds r1, 0x14
+ adds r0, r5, 0
+ movs r2, 0xE
+ bl sub_809488C
+ ldr r1, [r4]
+ adds r1, 0x16
+ adds r0, r5, 0
+ movs r2, 0xE
+ bl sub_809488C
+ ldr r1, [r4]
+ adds r1, 0x18
+ adds r0, r5, 0
+ movs r2, 0x9
+ bl sub_809488C
+ ldr r1, [r4]
+ adds r1, 0xC0
+ adds r0, r5, 0
+ movs r2, 0x11
+ bl sub_809488C
+ ldr r1, [r4]
+ adds r1, 0x1C
+ movs r6, 0xE0
+ lsls r6, 1
+ adds r0, r5, 0
+ adds r2, r6, 0
+ bl sub_809488C
+ ldr r1, [r4]
+ adds r1, 0x54
+ adds r0, r5, 0
+ adds r2, r6, 0
+ bl sub_809488C
+ ldr r1, [r4]
+ adds r1, 0x8C
+ movs r2, 0xD0
+ lsls r2, 1
+ adds r0, r5, 0
+ bl sub_809488C
+ ldr r1, [r4]
+ adds r1, 0x10
+ adds r0, r5, 0
+ bl sub_80902F4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08097CBC: .4byte gUnknown_203B494
+ thumb_func_end sub_8097C18
+
+ thumb_func_start sub_8097CC0
+sub_8097CC0:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r4, _08097D5C
+ ldr r1, [r4]
+ adds r1, 0x4
+ movs r2, 0x11
+ bl sub_8094924
+ ldr r1, [r4]
+ adds r1, 0x8
+ adds r0, r5, 0
+ movs r2, 0x11
+ bl sub_8094924
+ ldr r1, [r4]
+ adds r1, 0xC
+ adds r0, r5, 0
+ movs r2, 0x11
+ bl sub_8094924
+ ldr r1, [r4]
+ adds r0, r5, 0
+ movs r2, 0x20
+ bl sub_8094924
+ ldr r1, [r4]
+ adds r1, 0x14
+ adds r0, r5, 0
+ movs r2, 0xE
+ bl sub_8094924
+ ldr r1, [r4]
+ adds r1, 0x16
+ adds r0, r5, 0
+ movs r2, 0xE
+ bl sub_8094924
+ ldr r1, [r4]
+ adds r1, 0x18
+ adds r0, r5, 0
+ movs r2, 0x9
+ bl sub_8094924
+ ldr r1, [r4]
+ adds r1, 0xC0
+ adds r0, r5, 0
+ movs r2, 0x11
+ bl sub_8094924
+ ldr r1, [r4]
+ adds r1, 0x1C
+ movs r6, 0xE0
+ lsls r6, 1
+ adds r0, r5, 0
+ adds r2, r6, 0
+ bl sub_8094924
+ ldr r1, [r4]
+ adds r1, 0x54
+ adds r0, r5, 0
+ adds r2, r6, 0
+ bl sub_8094924
+ ldr r1, [r4]
+ adds r1, 0x8C
+ movs r2, 0xD0
+ lsls r2, 1
+ adds r0, r5, 0
+ bl sub_8094924
+ ldr r1, [r4]
+ adds r1, 0x10
+ adds r0, r5, 0
+ bl sub_8090314
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08097D5C: .4byte gUnknown_203B494
+ thumb_func_end sub_8097CC0
+
+ thumb_func_start sub_8097D60
+sub_8097D60:
+ push {lr}
+ sub sp, 0x10
+ adds r3, r0, 0
+ adds r2, r1, 0
+ mov r0, sp
+ adds r1, r3, 0
+ bl sub_809486C
+ mov r0, sp
+ bl sub_8094A44
+ mov r0, sp
+ bl sub_8095044
+ mov r0, sp
+ bl sub_8097C18
+ mov r0, sp
+ bl sub_8098248
+ mov r0, sp
+ bl nullsub_102
+ ldr r0, [sp, 0x8]
+ add sp, 0x10
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8097D60
+
+ thumb_func_start sub_8097D98
+sub_8097D98:
+ push {lr}
+ sub sp, 0x10
+ adds r3, r0, 0
+ adds r2, r1, 0
+ mov r0, sp
+ adds r1, r3, 0
+ bl sub_809485C
+ mov r0, sp
+ bl sub_8094B18
+ mov r0, sp
+ bl sub_8095080
+ mov r0, sp
+ bl sub_8097CC0
+ mov r0, sp
+ bl sub_8098308
+ mov r0, sp
+ bl nullsub_102
+ ldr r0, [sp, 0x8]
+ add sp, 0x10
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8097D98
+
+ thumb_func_start sub_8097DD0
+sub_8097DD0:
+ push {lr}
+ adds r2, r0, 0
+ adds r3, r1, 0
+ ldr r1, [r2]
+ ldr r0, [r3]
+ cmp r1, r0
+ bne _08097DEA
+ ldr r1, [r2, 0x4]
+ ldr r0, [r3, 0x4]
+ cmp r1, r0
+ bne _08097DEA
+ movs r0, 0x1
+ b _08097DEC
+_08097DEA:
+ movs r0, 0
+_08097DEC:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8097DD0
+
+ thumb_func_start sub_8097DF0
+sub_8097DF0:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x1F8
+ mov r8, r0
+ str r1, [sp, 0x1F0]
+ movs r0, 0
+ mov r9, r0
+ movs r7, 0
+ ldr r1, _08097E3C
+ ldr r0, [r1]
+ cmp r0, 0
+ beq _08097E6E
+_08097E0E:
+ movs r4, 0
+ lsls r5, r7, 3
+ lsls r1, r7, 2
+ mov r10, r1
+ adds r6, r7, 0x1
+ ldr r2, _08097E3C
+ adds r3, r5, r2
+ add r1, sp, 0x18C
+_08097E1E:
+ ldr r0, [r3]
+ adds r0, r4
+ ldrb r2, [r0]
+ cmp r2, 0x23
+ bne _08097E40
+ ldrb r0, [r0, 0x1]
+ cmp r0, 0x72
+ bne _08097E40
+ strb r2, [r1]
+ adds r1, 0x1
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0
+ strb r0, [r1]
+ b _08097E50
+ .align 2, 0
+_08097E3C: .4byte gStatusDescriptions
+_08097E40:
+ ldr r0, [r3]
+ adds r0, r4
+ ldrb r0, [r0]
+ strb r0, [r1]
+ adds r1, 0x1
+ adds r4, 0x1
+ cmp r4, 0x63
+ ble _08097E1E
+_08097E50:
+ add r0, sp, 0x18C
+ bl strlen
+ mov r1, sp
+ add r1, r10
+ str r0, [r1]
+ adds r7, r6, 0
+ cmp r6, 0x62
+ bgt _08097E6E
+ lsls r0, r6, 3
+ ldr r1, _08097EB4
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08097E0E
+_08097E6E:
+ mov r2, r8
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _08097F2C
+ ldr r3, _08097EB4
+_08097E78:
+ cmp r0, 0x23
+ bne _08097F08
+ movs r7, 0
+ adds r1, r3, 0
+ ldr r0, [r1]
+ cmp r0, 0
+ beq _08097F20
+ mov r2, r9
+ lsls r0, r2, 2
+ ldr r2, [sp, 0x1F0]
+ adds r0, r2
+ mov r10, r0
+_08097E90:
+ lsls r4, r7, 3
+ adds r0, r4, r1
+ ldr r0, [r0]
+ lsls r1, r7, 2
+ add r1, sp
+ ldr r2, [r1]
+ mov r1, r8
+ str r3, [sp, 0x1F4]
+ bl sub_800B2D4
+ lsls r0, 24
+ adds r5, r4, 0
+ adds r6, r7, 0x1
+ ldr r3, [sp, 0x1F4]
+ cmp r0, 0
+ bne _08097EF0
+ movs r4, 0
+ b _08097EBA
+ .align 2, 0
+_08097EB4: .4byte gStatusDescriptions
+_08097EB8:
+ adds r4, 0x1
+_08097EBA:
+ cmp r4, r9
+ bge _08097ED6
+ adds r0, r5, r3
+ lsls r1, r4, 2
+ ldr r2, [sp, 0x1F0]
+ adds r1, r2
+ ldr r1, [r1]
+ str r3, [sp, 0x1F4]
+ bl sub_8097DD0
+ lsls r0, 24
+ ldr r3, [sp, 0x1F4]
+ cmp r0, 0
+ beq _08097EB8
+_08097ED6:
+ cmp r4, r9
+ bne _08097EF0
+ mov r0, r9
+ cmp r0, 0x3
+ bgt _08097EF0
+ adds r0, r5, r3
+ mov r1, r10
+ adds r1, 0x4
+ mov r10, r1
+ subs r1, 0x4
+ stm r1!, {r0}
+ movs r2, 0x1
+ add r9, r2
+_08097EF0:
+ adds r7, r6, 0
+ cmp r6, 0x62
+ bgt _08097F20
+ ldr r1, _08097F04
+ lsls r0, r6, 3
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08097E90
+ b _08097F20
+ .align 2, 0
+_08097F04: .4byte gStatusDescriptions
+_08097F08:
+ mov r0, r8
+ ldrb r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x7F
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ bls _08097F1C
+ cmp r1, 0x87
+ bne _08097F20
+_08097F1C:
+ movs r1, 0x1
+ add r8, r1
+_08097F20:
+ movs r2, 0x1
+ add r8, r2
+ mov r1, r8
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _08097E78
+_08097F2C:
+ mov r0, r9
+ add sp, 0x1F8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8097DF0
+
+ thumb_func_start sub_8097F40
+sub_8097F40:
+ push {lr}
+ movs r2, 0
+ ldr r1, _08097F58
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _08097F50
+ movs r2, 0x1
+_08097F50:
+ adds r0, r2, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08097F58: .4byte gUnknown_810ACC0
+ thumb_func_end sub_8097F40
+
+ thumb_func_start sub_8097F5C
+sub_8097F5C:
+ ldr r1, _08097F64
+ ldr r0, _08097F68
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_08097F64: .4byte gUnknown_203B498
+_08097F68: .4byte gUnknown_2039840
+ thumb_func_end sub_8097F5C
+
+ thumb_func_start sub_8097F6C
+sub_8097F6C:
+ ldr r0, _08097F70
+ bx lr
+ .align 2, 0
+_08097F70: .4byte gUnknown_2039840
+ thumb_func_end sub_8097F6C
+
+ thumb_func_start sub_8097F74
+sub_8097F74:
+ push {r4,lr}
+ ldr r4, _08097FA0
+ ldr r0, [r4]
+ movs r1, 0
+ movs r2, 0x64
+ bl memset
+ movs r2, 0
+ ldr r3, _08097FA4
+_08097F86:
+ ldr r0, [r4]
+ adds r0, 0x58
+ adds r0, r2
+ ldrb r1, [r3, 0x2]
+ strb r1, [r0]
+ adds r3, 0x4
+ adds r2, 0x1
+ cmp r2, 0xB
+ ble _08097F86
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08097FA0: .4byte gUnknown_203B498
+_08097FA4: .4byte gUnknown_810AD0C
+ thumb_func_end sub_8097F74
+
+ thumb_func_start sub_8097FA8
+sub_8097FA8:
+ lsls r0, 24
+ ldr r1, _08097FCC
+ ldr r3, [r1]
+ lsrs r1, r0, 29
+ lsls r1, 2
+ adds r3, 0x48
+ adds r3, r1
+ movs r1, 0xF8
+ lsls r1, 21
+ ands r1, r0
+ lsrs r1, 24
+ movs r2, 0x1
+ lsls r2, r1
+ ldr r0, [r3]
+ orrs r0, r2
+ str r0, [r3]
+ bx lr
+ .align 2, 0
+_08097FCC: .4byte gUnknown_203B498
+ thumb_func_end sub_8097FA8
+
+ thumb_func_start sub_8097FD0
+sub_8097FD0:
+ lsls r0, 24
+ ldr r1, _08097FF4
+ ldr r3, [r1]
+ lsrs r1, r0, 29
+ lsls r1, 2
+ adds r3, 0x3C
+ adds r3, r1
+ movs r1, 0xF8
+ lsls r1, 21
+ ands r1, r0
+ lsrs r1, 24
+ movs r2, 0x1
+ lsls r2, r1
+ ldr r0, [r3]
+ orrs r0, r2
+ str r0, [r3]
+ bx lr
+ .align 2, 0
+_08097FF4: .4byte gUnknown_203B498
+ thumb_func_end sub_8097FD0
+
+ thumb_func_start sub_8097FF8
+sub_8097FF8:
+ push {r4-r7,lr}
+ movs r4, 0
+ ldr r6, _08098040
+ movs r7, 0x1
+_08098000:
+ ldr r5, [r6]
+ adds r0, r4, 0
+ cmp r4, 0
+ bge _0809800A
+ adds r0, 0x1F
+_0809800A:
+ asrs r0, 5
+ lsls r3, r0, 2
+ adds r1, r5, 0
+ adds r1, 0x48
+ adds r1, r3
+ lsls r0, 5
+ subs r0, r4, r0
+ adds r2, r7, 0
+ lsls r2, r0
+ ldr r0, [r1]
+ ands r0, r2
+ cmp r0, 0
+ beq _08098030
+ adds r1, r5, 0
+ adds r1, 0x3C
+ adds r1, r3
+ ldr r0, [r1]
+ orrs r0, r2
+ str r0, [r1]
+_08098030:
+ adds r4, 0x1
+ cmp r4, 0x3F
+ ble _08098000
+ bl sub_8098080
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08098040: .4byte gUnknown_203B498
+ thumb_func_end sub_8097FF8
+
+ thumb_func_start sub_8098044
+sub_8098044:
+ push {r4,r5,lr}
+ lsls r0, 24
+ ldr r1, _0809807C
+ ldr r3, [r1]
+ lsrs r5, r0, 29
+ lsls r5, 2
+ adds r4, r3, 0
+ adds r4, 0x3C
+ adds r4, r5
+ movs r1, 0xF8
+ lsls r1, 21
+ ands r1, r0
+ lsrs r1, 24
+ movs r2, 0x1
+ lsls r2, r1
+ mvns r2, r2
+ ldr r0, [r4]
+ ands r0, r2
+ str r0, [r4]
+ adds r3, 0x48
+ adds r3, r5
+ ldr r0, [r3]
+ ands r0, r2
+ str r0, [r3]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809807C: .4byte gUnknown_203B498
+ thumb_func_end sub_8098044
+
+ thumb_func_start sub_8098080
+sub_8098080:
+ push {r4,lr}
+ movs r2, 0
+ ldr r4, _080980A0
+ movs r3, 0
+_08098088:
+ ldr r0, [r4]
+ lsls r1, r2, 2
+ adds r0, 0x48
+ adds r0, r1
+ str r3, [r0]
+ adds r2, 0x1
+ cmp r2, 0x2
+ ble _08098088
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080980A0: .4byte gUnknown_203B498
+ thumb_func_end sub_8098080
+
+ thumb_func_start sub_80980A4
+sub_80980A4:
+ ldr r0, _080980B0
+ ldr r2, [r0]
+ ldrb r0, [r2]
+ movs r1, 0x1
+ strb r1, [r2]
+ bx lr
+ .align 2, 0
+_080980B0: .4byte gUnknown_203B498
+ thumb_func_end sub_80980A4
+
+ thumb_func_start sub_80980B4
+sub_80980B4:
+ push {lr}
+ lsls r0, 16
+ asrs r1, r0, 16
+ adds r3, r1, 0
+ ldr r0, _080980F8
+ cmp r1, r0
+ beq _080980F4
+ adds r0, 0x1
+ cmp r1, r0
+ beq _080980F4
+ adds r0, 0x1
+ cmp r1, r0
+ beq _080980F4
+ ldr r0, _080980FC
+ ldr r2, [r0]
+ adds r0, r1, 0
+ cmp r1, 0
+ bge _080980DA
+ adds r0, 0x1F
+_080980DA:
+ asrs r0, 5
+ lsls r1, r0, 2
+ adds r2, 0x4
+ adds r2, r1
+ lsls r0, 5
+ subs r0, r3, r0
+ lsls r0, 16
+ asrs r0, 16
+ movs r1, 0x1
+ lsls r1, r0
+ ldr r0, [r2]
+ orrs r0, r1
+ str r0, [r2]
+_080980F4:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080980F8: .4byte 0x000001a5
+_080980FC: .4byte gUnknown_203B498
+ thumb_func_end sub_80980B4
+
+ thumb_func_start sub_8098100
+sub_8098100:
+ push {lr}
+ lsls r1, r0, 24
+ lsrs r3, r1, 24
+ cmp r3, 0x3F
+ bls _0809810E
+ movs r0, 0
+ b _0809812C
+_0809810E:
+ ldr r0, _08098130
+ ldr r2, [r0]
+ lsrs r0, r1, 29
+ lsls r0, 2
+ adds r2, 0x3C
+ adds r2, r0
+ movs r0, 0x1F
+ ands r0, r3
+ movs r1, 0x1
+ lsls r1, r0
+ ldr r0, [r2]
+ ands r0, r1
+ cmp r0, 0
+ beq _0809812C
+ movs r0, 0x1
+_0809812C:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08098130: .4byte gUnknown_203B498
+ thumb_func_end sub_8098100
+
+ thumb_func_start sub_8098134
+sub_8098134:
+ push {lr}
+ lsls r0, 16
+ asrs r1, r0, 16
+ adds r3, r1, 0
+ ldr r0, _0809816C
+ ldr r2, [r0]
+ adds r0, r1, 0
+ cmp r1, 0
+ bge _08098148
+ adds r0, 0x1F
+_08098148:
+ asrs r0, 5
+ lsls r1, r0, 2
+ adds r2, 0x4
+ adds r2, r1
+ lsls r0, 5
+ subs r0, r3, r0
+ lsls r0, 16
+ asrs r0, 16
+ movs r1, 0x1
+ lsls r1, r0
+ ldr r0, [r2]
+ ands r0, r1
+ cmp r0, 0
+ beq _08098166
+ movs r0, 0x1
+_08098166:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0809816C: .4byte gUnknown_203B498
+ thumb_func_end sub_8098134
+
+ thumb_func_start sub_8098170
+sub_8098170:
+ push {lr}
+ adds r3, r0, 0
+ ldr r0, _0809819C
+ ldr r2, [r0]
+ adds r0, r3, 0
+ cmp r3, 0
+ bge _08098180
+ adds r0, 0x1F
+_08098180:
+ asrs r0, 5
+ lsls r1, r0, 2
+ adds r2, 0x54
+ adds r2, r1
+ lsls r0, 5
+ subs r0, r3, r0
+ movs r1, 0x1
+ lsls r1, r0
+ ldr r0, [r2]
+ orrs r0, r1
+ str r0, [r2]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809819C: .4byte gUnknown_203B498
+ thumb_func_end sub_8098170
+
+ thumb_func_start sub_80981A0
+sub_80981A0:
+ push {lr}
+ adds r3, r0, 0
+ cmp r3, 0x1E
+ ble _080981AC
+ movs r0, 0
+ b _080981D4
+_080981AC:
+ ldr r0, _080981D8
+ ldr r2, [r0]
+ adds r1, r3, 0
+ cmp r3, 0
+ bge _080981B8
+ adds r1, 0x1F
+_080981B8:
+ asrs r1, 5
+ lsls r0, r1, 2
+ adds r2, 0x54
+ adds r2, r0
+ lsls r1, 5
+ subs r1, r3, r1
+ movs r0, 0x1
+ lsls r0, r1
+ ldr r2, [r2]
+ ands r2, r0
+ cmp r2, 0
+ beq _080981D2
+ movs r2, 0x1
+_080981D2:
+ adds r0, r2, 0
+_080981D4:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080981D8: .4byte gUnknown_203B498
+ thumb_func_end sub_80981A0
+
+ thumb_func_start sub_80981DC
+sub_80981DC:
+ push {r4,r5,lr}
+ lsls r0, 16
+ asrs r3, r0, 16
+ movs r1, 0
+ ldr r4, _080981FC
+ ldr r2, _08098200
+_080981E8:
+ movs r5, 0
+ ldrsh r0, [r2, r5]
+ cmp r0, r3
+ bne _08098204
+ ldr r0, [r4]
+ adds r0, 0x58
+ adds r0, r1
+ ldrb r0, [r0]
+ b _0809820E
+ .align 2, 0
+_080981FC: .4byte gUnknown_203B498
+_08098200: .4byte gUnknown_810AD0C
+_08098204:
+ adds r2, 0x4
+ adds r1, 0x1
+ cmp r1, 0xB
+ ble _080981E8
+ movs r0, 0x1
+_0809820E:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80981DC
+
+ thumb_func_start sub_8098214
+sub_8098214:
+ push {r4-r6,lr}
+ lsls r0, 16
+ asrs r3, r0, 16
+ movs r1, 0
+ ldr r5, _08098240
+ movs r4, 0x1
+ ldr r2, _08098244
+_08098222:
+ movs r6, 0
+ ldrsh r0, [r2, r6]
+ cmp r0, r3
+ bne _08098232
+ ldr r0, [r5]
+ adds r0, 0x58
+ adds r0, r1
+ strb r4, [r0]
+_08098232:
+ adds r2, 0x4
+ adds r1, 0x1
+ cmp r1, 0xB
+ ble _08098222
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08098240: .4byte gUnknown_203B498
+_08098244: .4byte gUnknown_810AD0C
+ thumb_func_end sub_8098214
+
+ thumb_func_start sub_8098248
+sub_8098248:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x8
+ adds r7, r0, 0
+ mov r5, sp
+ adds r5, 0x3
+ movs r0, 0xFF
+ strb r0, [r5]
+ add r4, sp, 0x4
+ movs r0, 0
+ strb r0, [r4]
+ ldr r0, _08098300
+ ldr r1, [r0]
+ adds r0, r7, 0
+ movs r2, 0x1
+ bl sub_809488C
+ movs r6, 0
+ mov r9, r5
+ mov r8, r4
+ mov r4, sp
+ adds r4, 0x1
+ mov r5, sp
+ adds r5, 0x2
+_0809827C:
+ lsls r0, r6, 16
+ asrs r0, 16
+ bl sub_8098134
+ mov r1, sp
+ strb r0, [r1]
+ adds r0, r7, 0
+ movs r2, 0x1
+ bl sub_809488C
+ adds r6, 0x1
+ ldr r0, _08098304
+ cmp r6, r0
+ ble _0809827C
+ movs r6, 0
+_0809829A:
+ lsls r0, r6, 24
+ lsrs r0, 24
+ bl sub_8098100
+ strb r0, [r4]
+ adds r0, r7, 0
+ adds r1, r4, 0
+ movs r2, 0x1
+ bl sub_809488C
+ adds r6, 0x1
+ cmp r6, 0x3F
+ ble _0809829A
+ movs r6, 0
+ adds r4, r5, 0
+_080982B8:
+ adds r0, r6, 0
+ bl sub_80981A0
+ strb r0, [r4]
+ adds r0, r7, 0
+ adds r1, r4, 0
+ movs r2, 0x1
+ bl sub_809488C
+ adds r6, 0x1
+ cmp r6, 0x1E
+ ble _080982B8
+ movs r6, 0
+_080982D2:
+ ldr r0, _08098300
+ ldr r0, [r0]
+ adds r0, 0x58
+ adds r0, r6
+ ldrb r0, [r0]
+ mov r1, r8
+ cmp r0, 0
+ beq _080982E4
+ mov r1, r9
+_080982E4:
+ adds r0, r7, 0
+ movs r2, 0x1
+ bl sub_809488C
+ adds r6, 0x1
+ cmp r6, 0xB
+ ble _080982D2
+ add sp, 0x8
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08098300: .4byte gUnknown_203B498
+_08098304: .4byte 0x000001a7
+ thumb_func_end sub_8098248
+
+ thumb_func_start sub_8098308
+sub_8098308:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ adds r6, r0, 0
+ ldr r4, _080983D0
+ ldr r0, [r4]
+ movs r1, 0
+ movs r2, 0x64
+ bl memset
+ ldr r1, [r4]
+ adds r0, r6, 0
+ movs r2, 0x1
+ bl sub_8094924
+ movs r4, 0
+ mov r5, sp
+ adds r5, 0x1
+ mov r7, sp
+ adds r7, 0x2
+ movs r0, 0x3
+ add r0, sp
+ mov r8, r0
+_08098338:
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_8094924
+ mov r0, sp
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08098352
+ lsls r0, r4, 16
+ asrs r0, 16
+ bl sub_80980B4
+_08098352:
+ adds r4, 0x1
+ ldr r0, _080983D4
+ cmp r4, r0
+ ble _08098338
+ movs r4, 0
+_0809835C:
+ adds r0, r6, 0
+ adds r1, r5, 0
+ movs r2, 0x1
+ bl sub_8094924
+ ldrb r0, [r5]
+ cmp r0, 0
+ beq _08098374
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8097FA8
+_08098374:
+ adds r4, 0x1
+ cmp r4, 0x3F
+ ble _0809835C
+ movs r4, 0
+ adds r5, r7, 0
+_0809837E:
+ adds r0, r6, 0
+ adds r1, r5, 0
+ movs r2, 0x1
+ bl sub_8094924
+ ldrb r0, [r5]
+ cmp r0, 0
+ beq _08098394
+ adds r0, r4, 0
+ bl sub_8098170
+_08098394:
+ adds r4, 0x1
+ cmp r4, 0x1E
+ ble _0809837E
+ movs r4, 0
+_0809839C:
+ adds r0, r6, 0
+ mov r1, r8
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r0, _080983D0
+ ldr r1, [r0]
+ adds r1, 0x58
+ adds r1, r4
+ mov r0, sp
+ adds r0, 0x3
+ ldrb r2, [r0]
+ movs r0, 0x1
+ ands r0, r2
+ strb r0, [r1]
+ adds r4, 0x1
+ cmp r4, 0xB
+ ble _0809839C
+ bl sub_8097FF8
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080983D0: .4byte gUnknown_203B498
+_080983D4: .4byte 0x000001a7
+ thumb_func_end sub_8098308
+
+ thumb_func_start sub_80983D8
+sub_80983D8:
+ push {r4,lr}
+ movs r2, 0
+ ldrsh r3, [r1, r2]
+ movs r4, 0
+ ldrsh r2, [r0, r4]
+ subs r2, r3, r2
+ movs r3, 0x2
+ ldrsh r1, [r1, r3]
+ movs r4, 0x2
+ ldrsh r0, [r0, r4]
+ subs r1, r0
+ cmp r2, 0
+ bne _080983FA
+ cmp r1, 0
+ bne _080983FA
+ movs r0, 0
+ b _08098428
+_080983FA:
+ cmp r2, 0
+ ble _08098400
+ movs r2, 0x1
+_08098400:
+ cmp r1, 0
+ ble _08098406
+ movs r1, 0x1
+_08098406:
+ movs r0, 0x1
+ negs r0, r0
+ cmp r2, r0
+ bgt _08098410
+ adds r2, r0, 0
+_08098410:
+ cmp r1, r0
+ bgt _08098416
+ adds r1, r0, 0
+_08098416:
+ ldr r3, _08098430
+ adds r2, 0x1
+ adds r1, 0x1
+ lsls r0, r1, 1
+ adds r0, r1
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r3
+ ldr r0, [r0]
+_08098428:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08098430: .4byte gUnknown_8115E94
+ thumb_func_end sub_80983D8
+
+ thumb_func_start sub_8098434
+sub_8098434:
+ push {r4,lr}
+ adds r3, r0, 0
+ adds r4, r1, 0
+ movs r0, 0
+ ldrsh r1, [r3, r0]
+ movs r2, 0
+ ldrsh r0, [r4, r2]
+ subs r2, r1, r0
+ cmp r2, 0
+ bge _0809844A
+ negs r2, r2
+_0809844A:
+ movs r0, 0x2
+ ldrsh r1, [r3, r0]
+ movs r3, 0x2
+ ldrsh r0, [r4, r3]
+ subs r0, r1, r0
+ cmp r0, 0
+ bge _0809845A
+ negs r0, r0
+_0809845A:
+ cmp r0, r2
+ bge _08098460
+ adds r0, r2, 0
+_08098460:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8098434
+
+ .align 2,0
diff --git a/ld_script.txt b/ld_script.txt
index b8f9021..8ecdc86 100755
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -107,6 +107,8 @@ SECTIONS {
asm/code_8092334.o(.text);
src/code_8094F88.o(.text);
asm/code_8094F88.o(.text);
+ src/code_8095014.o(.text);
+ asm/code_8095014.o(.text);
asm/code_8098468.o(.text);
asm/code_809D148.o(.text);
asm/code_80A26CC.o(.text);
diff --git a/src/code_8095014.c b/src/code_8095014.c
new file mode 100644
index 0000000..7f3fb05
--- /dev/null
+++ b/src/code_8095014.c
@@ -0,0 +1,87 @@
+#include "global.h"
+
+struct unk_8094FB4
+{
+ s16 unk0;
+ u8 unk2;
+ u8 unk3;
+ u8 unk4;
+};
+
+
+extern u32 *gUnknown_203B480;
+extern u32 *gUnknown_203B484;
+extern u32 *gUnknown_203B488;
+extern u32 *gUnknown_203B48C;
+
+extern u32 gUnknown_203B47C;
+extern u32 gUnknown_2038C88;
+extern u32 gUnknown_2039288;
+extern u32 gUnknown_20392E8;
+extern u32 gUnknown_20393C0;
+
+extern void sub_809488C(u32, u32, u32);
+extern void sub_8094924(u32, u32, u32);
+
+void sub_8095014(struct unk_8094FB4 *r0, u32 *r1, u32 *r2, u32 *r3)
+{
+ u32 temp;
+ if(r0->unk0 <= 0x270f)
+ {
+ *r1 = r0->unk0;
+ *r2 = r0->unk2;
+ temp = r0->unk3;
+ }
+ else
+ {
+ *r1 = 0x270f;
+ *r2 = 0x3B;
+ temp = 0x3B;
+ }
+ *r3 = temp;
+}
+
+void sub_8095044(u32 r0)
+{
+ sub_809488C(r0, gUnknown_203B47C + 4, 0x6);
+ sub_809488C(r0, gUnknown_203B47C + 3, 0x6);
+ sub_809488C(r0, gUnknown_203B47C + 2, 0x6);
+ sub_809488C(r0, gUnknown_203B47C, 0xE);
+}
+
+void sub_8095080(u32 r0)
+{
+ sub_8094924(r0, gUnknown_203B47C + 4, 0x6);
+ sub_8094924(r0, gUnknown_203B47C + 3, 0x6);
+ sub_8094924(r0, gUnknown_203B47C + 2, 0x6);
+ sub_8094924(r0, gUnknown_203B47C, 0xE);
+}
+
+void sub_80950BC(void)
+{
+ gUnknown_203B480 = &gUnknown_2038C88;
+ gUnknown_203B484 = &gUnknown_2039288;
+ gUnknown_203B488 = &gUnknown_20392E8;
+ gUnknown_203B48C = &gUnknown_20393C0;
+}
+
+u32 *sub_80950F8(void)
+{
+ return &gUnknown_2038C88;
+}
+
+u32 *sub_8095100(void)
+{
+ return &gUnknown_2039288;
+}
+
+u32 *sub_8095108(void)
+{
+ return &gUnknown_20392E8;
+}
+
+u32 *sub_8095110(void)
+{
+ return &gUnknown_20393C0;
+}
+